In ZFS’s Defense

Based on the fact that three of them have visited this site to defend their baby from what they see as attacks by yours truly, I imagine that the ZFS folks at Sun think I’m public enemy #1. I find that amusing because I happen to think ZFS is great. I think that there’s some misplaced emphasis on what’s great about it, there are some decisions (e.g. collapsed layering) that I believe are ill-considered, and there’s either an excess of zeal or a touch of astroturf in how it’s being touted, but simply on its technical merits and in the right context it’s great. It’s pretty darn close to the filesystem I would have written if I felt like writing a local filesystem (instead of e.g. a cluster/WAN filesystem or something completely different like what I do at Revivio) and that’s pretty much the highest praise I can offer. It’s really a shame that that gets lost in all the noise, so I’m glad of a chance to make some amends.

Paul Murphy compares ZFS to Apple’s Xserve RAID, and finds ZFS wanting. Here’s the problem: his comparison is idiotic. First, he doesn’t do any performance comparisons, or anything that even touches on the scale or data-integrity advantages that ZFS provides. His comparison is solely about ease of administration and cost, and with regard to the latter he misses something crucial.

Since I have this hangup about warranties and surprises I really don’t want to buy a no brand JBOD for this and therefore look at the Sun 3511 FC array with two pairs of 500GB drives and a standby for a total of $20,495.

What that misses is that providing the same data-integrity guarantees with cheap disks as with disk arrays is one of the cool things about ZFS. I don’t think that’s quite as earth-shaking as the ZFS folks do, for reasons explained in the second half of this comment on one of my previous threads, but it’s still cool and it bears significantly on Murphy’s comparison. The point is that for the specified application you could afford to use the cheap JBOD and get the same amount of storage in an external enclosure for about $5K — half the price of the Xserve solution. For various reasons (e.g. hot-swap capability, cache, more ports or better multi-initiator support for clusters) many people considering similar applications might want to go with at least a low-end RAID box for just a couple of grand more &mdash still well below the Xserve price. It’s just not fair to compare the Xserve to ZFS (which could run on the Xserve) plus a storage system geared toward a completely different (and less cost-sensitive) class of users. Paul Murphy thinks he’s a hacker, but he’s really just a hack.


One of the odd quirks of this site is that I do most of my technical writing just after a period of intense hands-on technical work, not during one. When I’m deep down in the nitty-gritty, as now, I tend to become so focused on the code in front of me that I can’t focus on other technical stuff enough to write coherently about it. Somehow that effect doesn’t extend to non-technical writing, though, so I guess folks will have to put up with a bit more philosophy before I get back to the bits and bytes.

Accusations of elitism are one of my pet peeves. There was a time, I think, when it was safe to use uncommon words or sentences with more than one clause or literary allusions without being accused of being an elitist or an intellectual snob. Those who were articulate invoked envy and imitation, not resentment or derision. People – everyone, not just academics and such – strove upwards intellectually. Nowadays, though, the striving is downward. Politicians and others strive to hide any sign of learning or deep thought, thinking it makes them more “authentic” and better able to connect with the general populace. George W. Bush’s anti-intellectualism is only one example of this attitude and approach.

Personally, though, I think that dumbing everything down in order to connect with the man in the street is an insult to that man in the street. It assumes that he can do no better, when in fact he can. Elitism is about separation between the elite and everyone else. It’s not elitism when you believe that everyone (or just about everyone) can learn to think and express themselves better, often simply by trying. Who’s the true elitist – the person who tries to engage with others as fellow adults capable of complex thought, or the one who talks down to them using the crudest slogans and soundbites?

Logical Inversion

A recent exchange on It Affects You made me realize that a great many of my most frustrating moments online are related to a single family of logic errors. Many people seem to have trouble with the idea that “A implies B” is not the same as “B implies A” and that refuting the latter (by showing an example of “B but not A”) does not refute the former. Similarly, saying that A causes B is not the same as saying that only A causes B. Here are some more concrete examples.

  • Statement: human activity promotes global warming
    Misinterpretation: all global warming is caused by human activity
    Pseudo-refutation: global warming exists on Mars without human activity, so human activity is irrelevant to global warming
  • Statement: this crash was caused by X, which I fixed
    Misinterpretation: all crashes like this are caused by X
    Pseudo-refutation: I just saw a crash without going anywhere near X, so your fix doesn’t work
  • Statement: lack of access to education prevents people from getting off welfare
    Misinterpretation: education is a sure route to getting off welfare
    Pseudo-refutation: Joe Bloggs had access to education but ended up on welfare anyway

This kind of argument is in one sense a kind of strawman, attacking a claim that was actually never made, but “strawman” is a general term that can apply to several kinds of logic errors if you look at them the right way. A little more specifically, many such arguments can be recognized by the original claim being about some X while the response assumes all or none. One term for it is denying the antecedent but people who have trouble understanding implication/causation or some/all/none won’t exactly understand why that’s wrong. I therefore suggest “inversion” as a term for this particular (il)logical construct.

Neurological Party Tricks

Almost all of these (via GeekPress) look useful, but some more than others. I’ve definitely been in situations where #1 would have been handy, and I might well be giving #5 a try today.