The attraction of the milter protocol
I've already touched on my interest in milterprograms, but one might sensibly wonder why the milter protocol is ofso much interest to a lot of people. Many mailers have had support forplugins and user hooks for some time, and if you want general filteringyou can always write it using SMTP (either as a proxy or as a generalrelaying agent; a proxy is simpler, since you don't have to worry aboutpersisting anything on the disk).
At one level, the milter protocol was
How big our fileserver environment is (part 2)
Yesterday I counted up (or ran down) the hardware side ofhow big our fileserver environment is.Today I'll cover the amount of disk space we have.
Our raw disk space is simple to compute, impressive sounding, and highlymisleading. With four backends of 750 GB disks and five backends of 1 TBdisks, we have 96 TB (of disk vendor terabytes) of raw space available,or 60 TB for the production backends only. However, all of our space ismirrored
How big our fileserver environment is (part 1)
I've said before that I call us a midsized environment(for a number of reasons, including that we're clearly not smalland also nowhere near the size of large environments). Now Ifeel like sharing some actual numbers on how big and not-big weare. Today's entry is about the hardware of our fileserver environment ; a future one will cover data size.
(This is necessarily a snapshot in time and is likely to change in thefuture.)
Our fileserver environment is made
Why visited links being visible is important for blog usability
One of the annoying things that some websites do is make it impossibleto see the difference between visited links and unvisited links. This isnot just irritating, I maintain that it is somewhere between a bad ideaand a terrible one for real blog usability ; howbad it is depends on how densely interlinked your writing is.
To summarize, for real blog usability you want to encourage people toexplore your site; having landed on one page through a search or aninbound link from somewhere, you want them to keep reading
Why non-linear directories have not been popular in filesystems
You might wonder why non-linear directories are so complicated that they haven'tbeen used for most of Unix's history.
Computer science has a lot of data structures that are much better forboth lookup and updates than unordered linear arrays. However, prettymuch all of them are designed with the assumption that they're livingin RAM, and even today RAM has very different characteristics fromdisks. Specifically, in RAM both fine-grained lookups and fine-grainedshuffling of entries are relatively inexpensive. Neither
The Unix directory problem and the history of directories
Back in the beginning, Unix was a surprisingly simple, straightforward,and limited operating system. Many things were implemented in prettymuch the most straightforward way possible, including the filesystemand especially including directories.
In V7, directories were very simple. Directory entries were 16-bytestructures with 2 bytes for the inode number and 14 for the filename. Directories were just a linear array of some size of thesestructures (stored in a series of disk blocks like a regular file);unused entries had
Fixing Upstart's coupling of startup script presence and activation
While Upstart has the problem of joining together the idea of astartup script being present and it being active (per my earlierentry ), there is a relatively simple way ofdistributions to fix this while preserving all of the benefits ofUpstart.
Although Upstart sort of apes traditional runlevels, it really operatesbased on events; services declare what events they depend on, and theystart when those events happen. Upstart events are completely abstract(although it has some built in ones), and they can be generated byhand
An illustration of how careful and clever spammers are today
I recently found an interesting illustration of how clever and dedicatedmodern blog spammers are. The spammer in question had (it appears) founda vulnerable Wordpress-based blog and compromised it, but not in theusual straightforward and obvious way; instead, they had opted to be muchless obvious about it.
The website acted like this:
- If you directly visited the site with Firefox (and likely Chrome, IE,Safari, Opera, or any other mainline browser) everything you saw wasnormal and just what you expected
Why I am unhappy with Upstart right now
Upstart has a little problem: it erases the difference between somethinghaving a startup script and whether that script is activated ornot. There is no equivalent in Upstart to the distinction between /etc/init.d and /etc/rc?.d ; everyone puts startup configurationsdirectly in /etc/init , where Upstart will process them. This matters quite a lot to me, because there are plentyof packages that we want installed without having their daemons beactive.
Editing the /etc/init file is
In universities, you often buy hardware when you can
I like to dream that in a real company , you cango out and just buy server hardware when it's needed. Around here,sadly, it doesn't work that way.
At least in my section of the university, one of the problems is thatmoney for hardware can be what I'll call 'bursty'. We don't have anongoing hardware budget; instead, we usually get one-time money sort ofat random, when funds can be found or liberated from grant