THE STORY OF CACO
An epic saga of the revivication of a sickly and intractable base unit, in several parts. Here's part one. If you came here, saw the title and thought the page hadn't changed, you're an idiot.
2. Disaster Strikes
Let's recap. It's mid-July. I have sitting next to my current workstation 'anARCHy' a hot and noisy base unit with the hostname 'goatse'. It contains two network cards; the one supplied with the box itself and another one which I added. The former is plugged into the cable modem and the latter is connected to 'anARCHy'. 'goatse' is functioning successfully as a NAT router and firewall. iptables is cool.
FROM GOATSE TO CACO
First problem clearly was the choice of hostnames themselves. There could be no other goatse than goatse and the joke was rapidly wearing thin. Furthermore I needed a naming scheme that was extendable and related to something I liked and cared about. I had considered Simpsons characters, South Park characters, random stuff from SA and other things before the solution hit me and when it did I wondered why I hadn't thought of it before because it was perfect.
Doom! Specifically, the monster names.
"homer" is a proper noun, the name of a cartoon character. "goatse" has the same problem, it's a proper noun, the name of a website. But in Doom there isn't actually a monster named Imp, there is just a particular type known as an imp. "The brown thing in the cage is an imp", "Imps are fun to kill one by one with the shotgun", "On Hell Revealed map09, when you pick up the key, over a hundred imps teleport in" etc.
Which monsters to use for names took some thought but eventually 'anARCHy' became baron and 'goatse' became caco. I guess technically it should be 'cacodemon' but who'd be arsed with typing 'ssh cacodemon'?
At some point I decided to try to get the whole thing to configure itself by DHCP. I put dhcpd on caco. Then, baron, with absolutely no modification whatsoever, was instantly able to get itself configured. However, despite initial successes like a nice workaround for Debian Woody's ifupdown to be able to run dhclient on two interfaces without horribly confusing the process IDs, I couldn't get caco to configure itself. The events as described in /var/log/daemon.log went something like this; I might have the protocol slightly wrong but you get the idea
Time Event 0 dhclient broadcasts a DISCOVER for an address. dhcpd broadcasts an OFFER. dhclient broadcasts a REQUEST and dhcpd ACKs it. All is well, until... 0.5 dhclient starts trying to renew the lease by REQUEST. dhcpd appears to fail to hear them or at least doesn't respond. 0.75 dhclient gives up sending directly and starts broadcasting REQUESTs. All of a sudden dhcpd can hear but it responds directly. dhclient doesn't appear to receive the response. 1 dhclient gives up and we return back to time 0 after a small time in which the interface is deconfigured.
Time is in days or more generally in multiples of the default lease time. I have no idea why dhclient and dhcpd can't send to each other, but can hear each other's broadcasts. Thinking about it now I don't know if you can have two different processes listening on the same port so perhaps dhcpd and the two copies of dhclient were blocking each other. I gave up and configured the whole thing statically.
FROM STABILITY TO SCRAP
caco ran for three weeks without fault, during some of the hottest weather this country has ever seen. Despite my concerns over noise and temperature it appeared to be stable. Of course that didn't do much for my room temperature, but I like ridiculous heat.
Now it was very loud, but it was a regular, constant sound that didn't keep me awake, especially since at the time I was necessarily pursuing a policy of going to sleep only when I'd been awake for so long I was losing consciousness involuntarily. However, a noise developed that even the proud owner of three clocks with very loud ticks couldn't sleep through.
It was a kind of intermittent rattle. It would start, get louder and louder, then there'd be a clonk or a scrunch and it'd shut up, but begin again five minutes later. For a while I thought to my horror that it was the hard disc but eventually I traced it to a thin, flat fan below. It was a strange device that screwed onto the bottom of your hard disc and which the previous owner had clearly thought necessary.
I thought maybe it had some dust or something in it. It really was annoying even when I wasn't trying to sleep. So, I decided to take caco offline and give all the fans a clean. That was easy. Take the side off, take out some cables, undo some screws, you know, not necessarily in that order, do your thing then put it all back together and turn it back on.
It didn't boot.
Seriously, the screen stayed black. I couldn't get to the BIOS. Nothing. Not exactly in the best of mental states already I instantly concluded that technology was turning against me too. I think I screamed and lugged the whole thing into the back room out of sight, then collapsed sobbing into a corner. I'd taken something troublesome but beautiful into my life and then had it without warning forsake me and take itself away, forever. Not again!
What next for caco? Is it dead? More importantly, can I stop being so melodramatic? Until next time...