The irritation of single-instance applications

There is a certain habit in applications these days of onlyallowing you to run one copy of themselves; for example, Firefox . I find myself more and moreirritated by this, because it is usually implemented sloppily.

A good implementation must hide the fact that it is not actuallyrunning a second copy of the application. Sloppy implementations failto completely hide this fact, generally by missing various differencesbetween the environment that the original version of the application isrunning in and the environment that the second copy is running in.


Wireless, machine rooms, and the Asus Eee PC

I want to note for the record that the combination of an Asus EEE PCand a wireless network in your machine room is a great idea. For bestresults, make sure that your wireless network does not depend on much ofyour overall infrastructure.

(Yes, we actually put a wireless access point in our machine room.Since the core wireless gateway is also in the machine room, this isfar less crazy than it might seem.)

Also, the Eee is smaller than my current lab notebook , which is


How our automounter replacement works

As I've mentioned in passing , at one point we gotso irritated with peculiar automounter issues that we wrote our ownreplacement that does what we want . It turned outto be fairly simple, because what we want is just to keep each system'smounted NFS filesystems in sync with a master list.

Since this is basically diff , you could clearly do this in a shellscript. I opted to write the core of the system in Python so that itwould be easier to handle an existing mount changing


Coding paralysis

DWiki 's comment system is acceptable as it stands (the proof is in thepudding, in that some people are willing to use it), but it needs to beimproved. Specifically, it's been clear to me for a while that thereshould be 'your name' and 'your website' fields so that people canconveniently identify themselves.

(And so I can have a better idea of who's leaving comments. The current DWiki comment system dates to when it was a half-hearted


ZFS versus SANs: where do you put the RAID?

Here is an issue I have been thinking about recently: how do you want tohandle ZFS in a SAN environment, especially one in with relatively lowdata rates such as, oh, anything based on gigabit Ethernet?

The problem is that ZFS and SANs have a small conflict. ZFS wants totalk to raw disks and do RAID internally so that it can do its specialmagic, but SANs want you to let the backends do as much RAID work aspossible to preserve overall bandwidth. If you do mirroring in ZFS


The only way you can stop spam with money

The corollary of the funding capture issue isthat the only way for an anti-spam scheme involving money to work is forthe people receiving email to pay for it; only then are the economicinterests kept aligned. Naturally this is not very popular with peoplegetting spammed, which helps to explain the enduring popularity ofproposed schemes where someone else pays.

Unfortunately, this creates a perverse incentive that's familiarfrom the anti-virus world: if spam goes away, so do the anti-spamorganizations. Their


A weird routing mystery

Once upon a time, we had a machine that wound up with a default routethat pointed straight to the local network, basically what you'd get ifyou did route add default dev eth0 .

(Disclaimer: I have no idea if your system would actually accept that route command or if it would demand a gateway.)

That this worked to some degree is not too surprising in retrospect;there actually is a straightforward meaning to this, namely to arp for alldestinations on the local Ethernet, and that


Why does anyone buy iSCSI TOE network cards?

We're (still) looking for a new SAN , so I haverecently been doing some work with a homebrew iSCSI testing environmentbuilt from ordinary servers. The experience leaves me with a simplequestion: why does anyone buy special iSCSI accelerator networkcards?

(These are sometimes called 'iSCSI HBA cards'.)

I ask because my ordinary test environment, with commodity server NICsand no tuning besides 9,000 byte jumbo frames, can basically saturategigabit Ethernet doing bulk reads over iSCSI. Through the


A consequence of Python's 'computer science' nature

Here is a thesis: Python being a very 'computer science' language is a good part of the polarized reactions it often gets.

The necessary flipside of being regular and predictable is that Pythonis also rigid and what I will call 'solid': it is not just rigid inseparate, independent pieces, it is rigid all through, which comesnaturally from the rigorous expansion of its core concepts through thelanguage (and from how they tend to interlock).

If the core concepts resonate with you, then the


A small annoyance with HTML