Sorting out what exec does in Bourne shell pipelines

Today, I was revising a Bourne shell script. The original shell scriptended by running rsync with an exec like this:

exec rsync ...

(I don't think the exec was there for any good reason; it's areflex .)

I was adding some filtering of errors from rsync , so I fed itsstandard error to egrep and in the process I removed the exec ,so it became:

rsync ... 2>&1 | egrep -v '^(...

I've now received my first spam email over IPv6

One of the machines that I run my sinkhole SMTP server on has an IPv6 address,one that's currently present in DNS as the target of an MX record(not literally, of course, it's the AAAA record of the host that'sthe MX target). Back in October, in a somewhat different DNS setup, it saw its first IPv6 probe , and has seen anumber since then. A bit over a week ago it got its first actualspam email over IPv6


How switching to uMatrix for JavaScript blocking has improved my web experience

I'm a long-term advocate of not running JavaScript .Over the years I've used a number of Firefox (and also Chrome)addons to do this, starting with a relatively simple one and thenupgrading to NoScript. Recently I switched over to uMatrix for variousreasons, which has generally been going well . When I switched, I didn't expectmy experience of the modern web to really change, but to my surpriseuMatrix is slowly enticing me into making it a clearly nicerexperience. What


Some consumer SSDs are moving to a 4k 'advance format' physical block size

Earlier this month I wrote an entry about consumer SSD nominalphysical block sizes , because I'd noticed thatalmost all of the recent SSDs we had advertised a 512 byte physicalblock size (the exceptions were Intel 'DC' SSDs). In that entry, Ispeculated that consumer SSD vendors might have settled on justadvertising them as 512n devices and we'd see this on future SSDstoo, since the advertised 'physical block size' on SSDs is relativelyarbitrary anyways.

Every so


Memories of MGR

I recently got into a discussion of MGR on Twitter ( via ), which definitelybrings back memories. MGR is an early Unix windowing system, originally dating from 1987 to1989 (depending on whether you go from the Usenix presentation,when people got to hear about it, to the comp.sources.unix, whenpeople could get their hands on it). If you know the dates forUnix windowing systems you know that this overlaps with X (bothX10 and then


Using lsblk to get extremely useful information about disks

Every so often I need to know the serial number of a disk, generallybecause it's the only way to identify one particular disk out oftwo (or more) identical ones. As one example, perhaps I need toreplace a failed drive that's one of a pair. You can get this information from the disksthrough smartctl , but the process is somewhat annoying if youjust want the serial number, especially if you want it for multipledisks.

(Sometimes you have a dead disk so you


How I tend to label bad hardware

Every so often I wind up dealing with some piece of hardware that'sbad, questionable, or apparently flaky. Hard disks are certainlythe most common thing, but the most recent case was a 10G-T networkcard that didn't like coming up at 10G. For a long time I was sortof casual about how I handled these; generally I'd set them asidewith at most a postit note or the like. As you might suspect, thisdidn't always


DTrace being GPL (and thrown into a Linux kernel) is just the start

The exciting news of the recent time interval comes from Mark J.Wielaard's dtrace for linux; Oracle does the right thing .To summarize the big news, I'll just quote from the Oracle kernelcommit message :

This changeset integrates DTrace module sources into the main kernelsource tree under the GPLv2 license. [...]

This is exciting news and I don't want to rain on anyone's parade,but it's pretty unlikely that we're going to see DTrace in


Some things about ZFS block allocation and ZFS (file) record sizes

As I wound up experimentally verifying ,in ZFS all files are stored as a single block of varying size upto the filesystem's recordsize , or using multiple recordsizeblocks. For a file under the recordsize, the block size turnsout to be in a multiple of 512 bytes , regardlessof the pool's ashift or the physical sector size of the drivesthe pool is using.

Well, sort of.While everything I've written is true, it also turns out to bedangerously imprecise (


Writing my first addon for Firefox wasn't too hard or annoying

I prefer the non-JavaScript version of Google search results , but they have an annoyance, which is thatGoogle rewrites all the URLs to indirect through themselves (withtracking numbers, but that's a lesser annoyance for me than theloss of knowing what I've already read ).The Firefox 56 version of NoScript magically fixed this up, but I've now switched to uMatrix .

(The pre-WebExtensions NoScript does a lot of magic, which hasgood and bad aspects. uMatrix is a