In a moment of genius, our BOFH -- sorry, "system administrator" -- Gary realised that however big a disk he put the sales and marketing department accounts on, within a month they'd have filled it with multiple copies of multi-meg PowerPoint presentations and core dumps and be bitching at him for more room. Correctly reasoning that they'd never notice how big a disk they'd managed to fill, he put all their accounts on tobias, a 6 year old unsupported SunOS box with about enough disk space to store their .cshrc files and mailboxes. The volume of complaints didn't change a whit. Pretty soon anyone who didn't know df from rm -rf was on the same machine.
The upshot of this is that, for the first time in ages, the technical staff had the fast and spacious machines all to themselves. Gary configured the network maildaemons to reject anything from tobias that hadn't been sent three times, thereby filtering out most of the crap from the sales staff, and enjoyed a permanent state of not having to buy beer from "The Breakpoint", our local pub.
Unfortunately, this didn't change Solaris's prediliction for falling over in a heap of smoking bytes at the slightest provocation. Gary claims to have the same concern as us, but it's noticeable that his working account is on a non-shared disk of claire which is a Debian Linux box with an uptime measured in months; the only reboots seem to coincide with issue dates of experimental kernels. No staff other than company PFY Kyra are allowed on it -- "security concerns" apparently.
This time, however, I'm in luck. The Exceed session connects with no more problems than usual and I'm able to look at the ratshit project directory (Ruritanian Area Tramway System -- High Integrity Transport.) Our project manager spent most of last week setting up the CVS area, and downloaded the first system software issue from a tape. It's my job to pick apart the archive, file it away appropriately, and work out where to start.
A cold feeling crawls up my spine, places its tentacles on my shoulders, and whacks the back of my head a few times. The filenames have semicolons and numbers at the end. This can only mean one thing -- those twisted bastards at DCI have coded it on a VAX. Yes, in the decade that brought supercomputing power to the masses, DCI are expending all their coding effort on a machine which probably outputs to clay tablets rather than to a CRT. Even worse, they've not done a purge before dumping the data onto tape, so each file has about five versions. No wonder the archive is so big.
Cursing fluently (Swahili today) I unzip the code, and hack together a small Perl script to sort the most recent versions into one directory and the rest to another until we can figure out what, if anything, to do with them. This time, I remember to check the results of opendir and throw away the .. entry. Last time I forgot this, a recursive deletion script turned out to be 1200% effective.
"Ah Euan, glad to have caught you," he says amiably. My instincts instantly go on nuclear alert. "DCI have just sent me their project coding standards. I'll forward them to you. We've agreed to make any formatting changes required ourselves, rather than have the overhead of sending them to DCI. Never let it be said that I'm not flexible."
Well, that sounds OK... oh no. A thought strikes me, causing localised bruising.
"Erm, Chris -- when did you agree this?"
"Oh, a few months back when they were about to start coding." He ambles off. Oh shit, fsck and bugger. The DCI coders won't have made any attempt to stick to the standards if they know that we're the ones who will have to do the fixes.
I manage to dig out the main program (the code is in Ada) and have got a basic idea of the structure by the time that my mailbox blinks. The email is from Chris, and has what appears to be a very large Word document attached. I save and open it.
For a moment I think that someone has poured a flask of liquid nitrogen down my back. Then I wish that that had in fact been the cause of the feeling. The document specifies, in minute detail, eight different file formatting styles depending on the criticality and type of code. None of the styles bears more than a superficial resemblance to the files I've seen so far.
I bring up my mailer again and start composing a memo to ratshit-team. We need to talk.