On Dreamhost freaking out because they can’t get Rails deployed reliably.
Great set of tips for eking out disk performance on MacOS X, like disabling last access time tracking. These are just as useful in non-SSD configs.
Dustin Sallings lays out a nice list of simple, non-pid-polling process supervision techniques available on various Unix and Linux environments. Great reference. I’m pretty sure the /etc/inittab respawn directive is one of the most underrated utilities in Linux server environments.
I’ve dumped MacPorts for pkgsrc. This quick tutorial helped me get going and this package browser is awesome.
Nice little self-contained perl script that shows a basic memcached top display for a list of servers.
$ curl http://memcache-top.googlecode.com/files/memcache-top-v0.6 >
~/bin/memcache-top
$ chmod +x ~/bin/memcache-top
$ memcache-top --sleep 1 --instances memcache1,memcache2,memcache3
That gives you this:

Nifty.
Prime number browser and generator for all primes smaller than 10,000,000,000 (so called “small” primes). Enter a number and find the prime that follows it — super useful in a variety of server administration and manual cryptography tasks. Also, “there’s totally 455,042,511 prime numbers.” Neat.
Dump the stack trace of all threads in a running ruby process by signaling with -QUIT. Requires patching the ruby interpreter, which sucks because I need it for a process running right now.
Alexander Sandler’s get-up-and-running guide to the tcpdump packet sniffer.
I’m more than a little embarased that I’ve never heard of this utility. I think most modern kernels prioritize IO with normal nice, though…
Superbly explained and with extremely useful circly diagrams. Bravo.
I thought I had a few more months. Dammit. This is going to be a huge time-sink.
Uggghhh. I just spent 30 minutes hunting some arcane tcsh bug caused by coreutils dircolors. This is my revenge. I don’t even know I had any csh code running on this machine. It turns out that MacOS X’s /usr/bin/which is implemented in csh. Dumb.
Constantly updates the the process title ($0) with something like: “mongrel_rails [10010/2/358]: handling 127.0.0.1: HEAD /feed/calendar/global/91/6de4”. Let’s you monitor backends with ps and top.
“… adds a chroot(2) facility to sshd, controlled by a new sshd_config(5) option ‘ChrootDirectory’. This can be used to ‘jail’ users into a limited view of the filesystem, such as their home directory …”
I have a strange fetish for init systems (sysv, rc, launchd, etc). This is the first quick introduction to Ubuntu’s new init system (Upstart) I’ve seen. Nice examples of using the initctl command and writing job files.
Runs on Linux and FreeBSD (with linproc mounted on /compat/linux/proc). I’ve always wondered why top(1) just kind of stopped being developed 10 years ago.
Peter Cooper scratches the deployment problem itch.
pv can be inserted into any normal pipeline between two processes to give a visual indication of how quickly data is passing through, how long it has taken, and an estimate of how long it will be until completion.
“… even if you have a single server, a proxy in front can help performance significantly. Through the simple expedient of buffering, your heavyweight processes don’t waste time serving every request for the entire length of time the client is connected”
Dennis Ritchie: “There was a facility that would execute a bunch of commands stored in a file; it was called runcom for ‘run commands’, and the file began to be called ‘a runcom’. rc in Unix is a fossil from that usage.”
Bob Ippolito wrote up some pros and cons to reverse proxy implementations in different servers a few months back. I don’t think much of it is out of date at this point but nginx isn’t represented.
Ian takes a look at some of the attributes of PHP’s deployment model, why they work so well (for PHP), and why other environments have such a hard time duplicating them.
“The constraints, the instability, and the unpredictability of a shared hosting environment are a big part of the reason why the web hosting business is moving towards virtualization everywhere you look. Big kids need their own sandboxes to play in.”
Schneier advocates running an open wireless network at home. I’ve been doing this for about a year because I couldn’t get the Wii to work with security enabled. When I thought about it, I came to many of the same conclussions Bruce does in the article.
I can never remember nmap args for some reason…
Manual page URL handler for Safari (e.g., “man:bash”, “man:sort” in URL box). References to other man pages are hyperlinked very nicely and the pages themselves are formatted quite nicely.
Starting with absolutely no configuration file. This is why I’ve prefered lighttpd, because I can put together a separate config in about five minutes. httpd’s sprawling default config has always scared the crap out of me.
Some detail on rsync’s “rolling checksum” algorithm invented by Andrew Tridgell.
Very nice look at different methods (good and bad) for handling the command line in sh scripts.
“… cron’s pathological behavior has be petrified into the Unix standards. So if it isn’t broken, it isn’t cron.”
Nifty combo.
Awesome look at using advanced features of ipfw(8) on OS X.
Slashdot has become a horrible discussion forum for most topics. Disk theory and UNIX sysadmin type stuff is an exception, though. This story on ZFS might have the most informational comments I’ve seen in years.