Why programs traditionally used sparse files on Unix
Unix has had sparse files for a very long time, and periodically they cause confusion andheartburn. At a low level, the possibility for sparse files is moreor less inherent in the ability to have files that are not physicallycontiguous on disk; once you have non-contiguous files you need away to map from file offsets to disk blocks, and once you have thisyou can have sections that don't map to any blocks at all. All ofthat's fine, but a more interesting question
Trust betrayed: a story of modern email
Recently, I was in the market for some moving supplies. I found anInternet supplier with good rates and made an order. Being an Internetplace they wanted an email address, so I gave them one. Of course whenI filled in their forms I made sure to unselect (and not select) anytick-box that said 'please send me promotional offers etc etc'. Theyshipped my stuff, I was happy, that was it.
Of course, you can guess what showed up in my email
What tools I use to deal with email
The most important thing I do to deal with my email is that I am noton any high-volume mailing lists. As far as I'm concerned, that's what gmane.org (or some equivalent) is for, plus agood newsreader. I sometimes temporarily subscribe to such mailinglists, but only when I'm going to send email to them. This one decisionmeans that I don't need a mail environment that's designed to cope witha huge volume of email,
What we did to get iSCSI multipathing working on Solaris 10 update 8
I've mentioned in the past that we usemultipathing in our fileserver setup , but I'venever written down what we needed to do to get this working for us.
First, we're using Solaris MPxIO, not iSCSI's own multipathing;neither Solaris nor (I believe) our Linux backends support MC/S.Also, see my earlier notes .
To start with, each iSCSI backend has two different IP addresses on twodifferent networks. Then:
- we had to configure MPxIO so that it
Why feed readers have been a geek flash in the pan
People have been bemoaning the slow decline of syndication feed readersfor a while now. While I think that there are many causes of this, inmy view one of these are that syndication feed readers are inherentlyan interface with a limited, geeky appeal.
To see why, you only have to describe the sales pitch for feed readers:they present a minimal and essentially unstyled and un-designedinterface (or at least a generic one) to browsing, but not skimming , through a lot of information.This is
My personal hard drive capacity curve inflection point
It's not news that hard drives have been rapidly growing in capacityfor, oh, the last two decades or more, all the while dropping in price.This affected everyone differently, but for me the inflection pointwhere this made things really change was around 2006, or somewhat beforeit, and it changed in a really concrete way.
When I got a new machine in 2006, it was the first time that I wound upwith enough hard drive space to swallow my old
What terminal emulators I use when
Recently I mentioned in passing that I use severaldifferent X Windows terminal emulators, depending on the circumstances.A commentator sensibly asked what the circumstances were. Iroutinely use three different terminal emulators; xterm, 9term (which is more of anon-terminal emulator), and gnome-terminal.
Gnome-terminal gets used when I need something that is completely set upfor UTF-8 or modern character graphics. I don't like it as much as theother two alternatives (and the Gnome people keep
A fun Linux kernel pty problem, or maybe it's not a problem
Every so often I run into a Linux kernel 'bug' where I am not sure ifit actually is a bug, or at least where I am not sure if the Linuxkernel people would agree with me about it being a bug. Recently, onecame up with the pty handling code in recent kernel versions (I don'tknow how far back it goes, but it's present in 2.6.32 in at least someconfigurations).
FastCGI's encoding mistakes and how not to design a wire protocol
One of the things that FastCGI needs totransfer between the web server and the FastCGI server are a bunch ofname/value pairs; this is used, for example, to transfer the traditionalCGI environment variables for a request to the FastCGI server. FastCGIbeing FastCGI, it has defined a binary record for this; each name/valuepair is encoded as the length of the name, the length of the value, andthen the name and value as bytes (with no terminating zero).
In order to reduce
Why I call FastCGI complex and SCGI much simpler
In a comment on this entry , DanielMartin took issue with with my description of SCGI as much simpler than FastCGI . As it happens, I have astraightforward reason for describing FastCGI this way: it's aprotocol that uses encoded binary structures.
Any protocol that uses encoded binary structures requires you towrite decoders and encoders, or at least a protocol description foryour encoder/decoder generator. This is annoying even with simplefixed-format binary structures; it is an outright pain in the rear ifthe protocol