What sucks, who sucks and you suck

My Glorious Career (Part 1)

2010-08-12

July 1992. I was on the point of graduating from the University of Wales, Aberystwyth with a 2(i) in Computer Science. Three years earlier, I’d entered university studying Geology, with CompSci as an accessory or possibly a joint degree; I hadn’t been too sure. Geology was ostensibly what I’d been educated to A Level for (my school hadn’t offered Computer Science); computers were actually where my interest lay. It quickly turned out that Geology wasn’t. One of the first things you are taught is that everything you learnt at O and A Level was to be discarded and relearnt from scratch. You could not simply pick up a piece of granite and identify it as granite, even though you knew irrefutably it was granite the same as the blue stuff above you was “sky” - you had to go through the motions of analysing it first. Much as I had enjoyed A Level geology, I had not signed up to repeat it. More pressingly, the summer field trip was upcoming and, having already experienced one week of staring at wet rocks in the rain, I wasn’t keen for two weeks of the same while solo camping in the wild. So I applied to change my degree and, after a show of prevarication from the Geology department (along the lines of them not being seen to lose out while some other department gained), the switch duly occurred. Fortunately, one of my contemporaries in CompSci wanted to go the other way, so I think a straight swap was arranged (dawn in the Geography concourse; tense negotiations; the two captives each ordered to march towards the opposite side and not stop; etc). I like to think that CompSci got the better deal; the other guy was surely 2(ii) material…?

Two years later, I had a computer science degree. I was also applying for, respectively, a departmental post as Student Tutor and a PhD in the department to study…um…something to do with networking (possibly). In truth, the primary consideration was to extend my time at Aber and uni a little longer, or maybe a lot longer, and thereby postpone ejection into the real world, for which I had made no preparation at all. At some point over the summer break, while I kicked around idly at home, I was offered a research assistant post on a departmental EU-funded project, BIRD (Better Infrastructure for Rural Development). Of course, I said, sounds interesting. Happy to help. (Thinks: whahey, I can be back in Aber before September!) Although you understand I’ve applied for a couple of other things and am waiting to hear…? I was assured this was fine and would not be a problem. In retrospect, I guess everyone but me knew that I would not be the new Tutor, a pastoral role for which I was lamentably and self-evidently unqualified and unsuitable, or receiving a grant to study…some sort of networky stuff. I doubt hubris and cynicism are attractive qualities in applicants. By the time the grant rejection came through, I was earning a princely 12K a year doing “research” already and didn’t give much of a damn.

Best thing that ever happened. I dread to think how little of a PhD I would have accomplished, while wearing the regulation badly-knitted secondhand jumper and earning precisely bugger all.

My colleagues in BIRD were: David Price, one of the department’s longstanding cadre of mercurial but somewhat disorganised geniuses; Brian, a middle-aged chap who commuted weekly from Brum and whose main technical qualification appeared to be coding and selling FoxPro database solutions to small businesses; and Tim Harris, a classmate who frequently appeared rather vague and woolly, if not flat-out stoned, but who had easily trounced my II(i) with a I. Brian, Tim and I shared a spartan but roomy office in the Physics block, while Dave remained in his narrow burrow on the top floor of the department, which he had carefully tunnelled out of old research papers and text books over many years. BIRD itself provided the department with the grant money and kudos of a European project (the EU was like an open wallet from which all involved might partake freely of the riches therein), even though gritty networking and telecomms didn’t fit much with their favoured research portfolio of sexy AI & Robotics or stolid, dependable software engineering.

It was sometimes said of Dave that his talents would best be realised by an army of junior researchers following him around with notepads and pens and, as each wild leap of imagination sprang from his lips, the one at the head of the queue would scribble it down and rush off to pursue it to fruition while Dave continued his madcap careen through academic enquiry. Dave had taught a half module in C programming during my degree, which was one of the few truly vocational topics for the majority of undergrads who would not be going into the aerospace or defence industries. In my inverted snobbery, I considered that this made him one of the real techie computer scientists (as opposed to a “software engineer”, who seemed to know lots about waterfall diagrams and nothing about QWERTY). It’s fair to say that Dave’s style of project management was conducted at arms length. He would blow into the office in a cloud of papers and documents, ignore or brush off whatever the current debate or sticking point was and point ecstatically towards some new horizon for profitable inquiry. And then disappear on his next crazed mission, while the rest of us were left trying to figure out where he’d been pointing and whether “up” was still in the vague direction of the ceiling. Unfortunately, the additional energy he injected would usually dissipate in his subsequent absence.

To be frank, I hadn’t much idea what “research” involved, other than perhaps reading lots of papers, thinking Big Thoughts for a while and then writing more papers - boring. For Brian and Tim, it appeared to consist of long, speculative discussions about the economics of telecomm roll-outs in rural areas, to which I could contribute little and barely kept up. It seemed that the problems were all economic and not much at all technological. (The eventual conclusion always seemed to be that one of the TV cable companies would sooner or later connect mid-Wales with fibre under market imperatives, and therefore any attempt to encourage or stimulate this on the part of the EU or the project would be wasted effort. “It’s a done deal!” Brian would exclaim, sitting back satisfied as if we could knock off early.) I concentrated instead on fixing the office PC, assisting with Microsoft Office and performing some rudimentary route-finding with a GIS application to show how useful it might (not) be in cabling the boondocks (I really hadn’t a clue what I was doing with it). As it turned out, I became quite good at fixing the PC. In the meantime, we had a few project field trips: a day trip to Tregaron for the thrill of spotting a Rabbit network antenna; a visit to see the GIS at British Gas; a conference in Tipperary where I discovered that the project couldn’t even agree on a standard approach to email communication (“But ve are on Compuserve!”); and a project meeting hosted by us in Aber. Don’t ask me what was discussed at these meetings, I understood approximately ten percent of it, and that was mostly the menus - the meals were excellent. It rapidly became clear that computer science research was not my metier. In the event, I had bailed before the next meeting in Finland, the highlight of which was threatened to be a rough massage in the snow from a large Finnish lady.

I was chatting to Steve Kingston, who was part of the CompSci Systems Support team, one day when he casually mentioned that he would be leaving the team for a new role and hinted strongly that I would be in a favourable position to fill the gap. Hacking UNIX! Full time! No more telecom industry economics! No “research”! I had one serious rival at interview, a CompSci contemporary looking to make a similar soft landing in Aber, but fortunately I negotiated the key question successfully (“Why are PCs difficult to manage?” Answer: no rlogind). After nine months of BIRD, I joined Systems Support as their newest “Computer Assistant” in time for the new academic year.

The team was managed by Tim Cairnes (who had inherited the role from Dave Price before he went on to higher things). Tim shared the general departmental ethos for quietly giddy enthusiasm, as if sharing the joke of how marvellously wonderful all this technology was, and was generally unflappable, although he could rise to a kind of nervous kinetic energy in a crisis. He maintained an approachable demeanour to all comers, and was happy to explain the detailed technicalities of any particular issue, whether to a student, a colleague or a professor. While my official title was Assistant, in Tim’s view we all shared his title of “Computer Officer” and thus held equal responsibility for the department systems. Together with Clive King, he looked after the department’s Sun servers and workstations, a room of aging Sun 3s for student use (the “Sun Lounge”) and various troublesome Windows 3.1 clients running PC-NFS that were quietly multiplying in staff offices. Clive was an extremely capable UNIX hacker whose apparently taciturn or even dour mood on first acquaintance belied a helpful nature, and who had a clear idea of the Right Way and Wrong Way to proceed for any given task. Doing something the Wrong Way, or at least the Obstructive To Clive Way, would often result in your efforts being silently but firmly undone or disabled by the following day. It quickly became clear that upsetting Clive was not a path to career happiness. (Upsetting Tim did not seem possible without an effort of will, although he did once politely but insistently quash my idea for an online user satisfaction survey on the grounds that users are never satisfied and the results would become a political club to beat us with.) On the other hand, if you showed promise then Clive was happy to bring you along, with the result that you may get your name on something published. Publishing and research, felt Clive, were going to be more important in the long run than cool command line tricks. In fact, about a year later, Clive moved across to full time research and Tom Lucas became the new junior member of Support, which meant having a PC-NFS manual tossed at him and being wished good luck. Rounding us out was Ian Izett, who had an office in the Microelectronics lab over in Physics and generally looked after anything that involved wires, co-ax connectors and soldering. (Nowadays, he builds machines to hurl wellies in his spare time.)

Clive and I shared an office, and Tim had the adjoining room, an ideal environment for concentrated effort that has sadly not prevailed in any of my later employments. The shelves were filled end-to-end with Sun manuals and technical documentation. There was an informal open door policy, and we would resolve user problems for anyone from the newest fresher to the head of the department; the variety was refreshing. (The most common user problem? Using the wrong mouse mat for the early optical mice in the Sun Lounge; each mouse was calibrated to the grid resolution of its accompanying mat, and swapping it for a larger mat just didn’t work.) User account management under UNIX - in the sense of having individual users who actually logged in and typed commands - became an increasingly rare concern as my career progressed but here we had the full panoply: NIS, NFS and automounting (Clive was big on the latter) provided a consistent working environment to users. We had a full TeX installation, a moderate set of GNU utilities and a number of obscure academic packages (such as an Ada compiler). The UNIX offering was far better managed than a number of commercial installations I saw later. Servers were named after mythological gods, one of a number of informal naming schemes commonly found in UNIX environments of the eighties: the main file server and student compute engine was Thor; the research groups had Artemis and Saturn; and the infrastructure ran on Odin and Athene, an elderly Sun 3 tower of critical importance (i.e. the NIS master) that we didn’t dare touch and that I became convinced would one day fail and land us all squarely in the mire (it never did, during my time at least). The network was cabled with 10base2; the lengths of co-ax cable snaking their way around the desks and benches (and occasionally across ceilings), interrupted by the occasional T-piece joiner, were a common sight. With today’s switched networks, most people have probably forgotten that ethernet is a collision detection protocol, but back then you cared a lot about your collision rates on the wire - one of the fastest ways to detect a faulty adapter. On one occasion, someone in the Physics block connected 240V to a metal plate on which was lying a stray T-piece; the resulting surge blew out the network cards of every PC on that segment (but left the Suns unscathed); we joked that it was worth repeating the experiment on a weekly basis. The predominant OS was SunOS 4.1.3, although there was one rather unstable - and thus lightly loaded - SPARC server running Solaris 2.1 and we later installed a new student lab (called the Solarium) of Classics running 2.4. My own workstation was a Sun 3/80, effectively the last gen Sun architecture in a modern “pizza box” enclosure. Frankly, you haven’t seen life until you’ve upgraded the OS on a sun3 architecture from QIC tape. (Back in the days before Sunsolve and Google, you requested patches and upgrades from the vendor’s support line, and they were despatched on QIC tape with an envelope for return when done; a bit like online DVD rental, only without an evening’s entertainment as reward.)

There was a lot to learn, and most of it so rewarding that I would come into the department on my evenings and weekends. Now I am older and perhaps know - or have seen anyway - too much, that only happens when out of hours work is required, but back then in a uni setting, there was no “out of hours” working. Reboot the file server at lunch time? Sure, send an email, make an announcement in the Sun Lounge and hit the enter key: everyone would go for a coffee and come back in thirty. (Nevertheless, good practice and professional pride dictated that we only did this when there was no alternative, but it was at least less pressurised when people were so accepting of the process.)

CompSci staff and postgrads had access to a staff coffee room on the ground floor, which sounds like a crazy indulgence in an industry used to high office rents and maximal use of property. There wasn’t much to do there apart from drink coffee, but the conversation was, if not entirely rarefied, at least free of sport and prime time television, the two subjects that make up the majority of discussion in other workplaces. Usually, it could be informative or interesting and failing that, gossipy (you’re never short of gossip when surrounded by undergraduates). Other organisations have company football teams and paintball outings; we held a chess ladder.

However, this egalitarian atmosphere was in wider respects merely skin-deep. There was a clear hierarchy within the department: postgrads and research assistants; admin staff; new or visiting lecturers; mid-term lecturers on their way up but still lacking the gravitas of age; and at the top, senior professors of long tenure, either jostling for top dog, enjoying being top dog, or gently subsiding towards retirement but still wielding remnants of their former top dog status. On a good day, a postgrad might receive a civil greeting in passing from a senior professor, but it wasn’t guaranteed and rather depended on their preoccupations at the time. In general, dialogue of any importance occurred within the groups rather than between them, and never more so than at the executive level. As the System Support group, I suspect it was felt that our work was rather infra dig, which may partly explain Clive’s motivation to become a fully-fledged researcher.

Consider the Computer Society. This was relaunched by the students with enthusiastic support from the department, and the maiden lecture was given by Professor Mike Tedd, the most senior and respected figure within. The great and the good of the department duly trooped out to be seen attending. For the following lecture, the society chose a member of the UNIX hacker crowd who had close links to the society board. UNIX and “hacking” were probably not the most conducive topics to those pursuing high-flown “software engineering”, who probably considered them too much like getting your hands dirty in the trenches, if not downright suspect. Furthermore, two leading lights of that particular crowd had been booted off their degrees after being caught letting their curiosity about other people’s systems get the better of them, and were distinctly persona non grata on campus. (One of them is now an extremely well known and distinctive Linux kernel developer; I would hope the department might have seen the sense in building bridges and co-opting some of the open source kudos he has acquired in the intervening period, but I doubt it has happened.) For this second lecture, the department staff almost pointedly stayed away en masse: one of their own was not presenting, and the lecture was irrelevant to all their courses and their research, therefore there was no obligation on them to attend. (Indeed, attendance might have sent quite the wrong message.)

I had seen the symptoms of this elitism previously on one other occasion, during my final year when one of more radical, off-message lecturers deviated from the course material to insert his own rant into an otherwise typical module. He did not distribute hand-outs, for he said that what he was about to say would be somewhat contentious with “other members of the department”. He then proceeded to carefully dismantle the precepts and assumptions behind software engineering as taught to us during the past three years: no one uses Ada, almost no one writes proper specs, certainly nobody bothers with the waterfall diagram and your managers will always seek to pass the blame lower down the chain when it all goes wrong. It was, frankly, the most brilliant hour of the entire degree course, unless you count that Professional Issues lecture that myself and a mate attended while pissed on cider. (Last I heard, he had been outflanked yet again in his quest for a Chair by one of the senior mafia of the time. It is often the quietly-spoken, more diffident academics who turn out to be most devious in their pursuit of the limited power and glory available within a university setting.)

Sometime in 1993/4, I became the maintainer and keen user of our Mosaic browser installation, a program that users were warned not to use too heavily as “it could saturate our Internet feed” (ah, naive innocence). I’d like to claim credit for the first install, but in truth I don’t remember where it came from. I know I did install and set up the first department web site using NCSA httpd, just as the university Computer Unit next door were proudly unveiling their Gopher site (ask your parents). There was some rising interest elsewhere in the department; one of the lecturers began keenly transferring his course notes to HTML via an arcane m4 templating system of his own devising, and others started to fill in the blank sections. Eventually, there was a general consensus in a remarkably short time that the dept web “looked good” (i.e. it had a stylish logo banner on a watery background) and had value. I distinctly remember browsing Q magazine in the coffee room, and coming across an advert for the new Stone Roses album complete with a URL at the bottom; one of the lecturers remarked that for a URL to appear with no explanation necessary in a mainstream publication must indicate that the Web was approaching the level of the everyday. But day to day Internet activities still revolved around USENET, email and FTP downloads. I can remember my opposite number in the Unit posting to alt.sysadmin that his idea of a good day’s work was “0 unread articles remaining”, for which he received a carpeting when it was brought to the attention of his manager by Tim (who in turn heard about it from…someone else). Most of my career education came from comp.unix.solaris (certainly a far larger proportion of the practicalities than I ever gained from my degree course), particularly Casper Dik’s postings.

I “got” the Web because it was merely a graphical extension of the bulletin boards, FTP sites and newgroups that I’d used in my spare time as a student, and yet at the same time this prevented me from visualising what it might become, because I was too tied into the existing paradigms. There was a fair amount on the Web in the early nineties, but arguably not much that was really useful beyond “home pages” and certainly no effective search engine. Generally, you followed links or URLs posted to USENET until you landed on a more general index page that collated “useful links”, and then you retained that in your bookmarks until something more comprehensive came along. (Hence the crap that has built up in my bookmarks over the past twenty years. Although I’m strangely gratified to find that “C J Silverio” is still journalling, but somewhat disconcerted to realise after all this time that Ceej is actually female.) But everyone agreed that it was “cool” to visit a German university or a North American town virtually; FTP sites were merely characters on a terminal, but this somehow felt as if your presence had actually crossed an ocean to a foreign site. (Of course, once there you immediately followed a link on to somewhere else.)

I made a few goofs while learning my trade. Taking down the only network interface while remotely logged in to the main file server? Yep, did that. “Sorry, Tim” I muttered miserably as we stood at the console while it rebooted (the path to becoming Yet Another Arrogant SySadmin is simply to stop apologising for your mistakes). “Not to worry!” he replied cheerfully, and told me about the keyboard with the dodgy hyphen key he’d once used, so that “kill -1” became “kill 1” - it took three attempts and subsequent reboots before it clicked. On another occasion, I had to tell a visiting lecturer that the hard drive containing her thesis and research results had “disappeared” and we’d lost the contents - “you’ve got backups, right?”. “Oh! Oh no! Oh, oh, oh!” she cried, and fled the room in some distress. A short while later, I realised I’d overlooked something and merely mislaid the filesystem, which was still intact. She was pathetically grateful and relieved when I told her, rather than throttling the life out of me in the way I richly deserved for putting her through that ordeal. Similarly, when a colleague asked where the XXX Research Group data had gone, I was able to wave my arms around vaguely while stuttering “It’s….er…” before pointing definitively at a large, disconnected SCSI enclosure on my desk - “there!”

So I was working in a uni, enjoying all the staff perks and culture while living like a student in a shared house and drinking in student pubs with student friends, learning all the UNIX I wanted from two generous, highly-experienced mentors and a permanent fast Internet connection, and being paid fifteen grand for this chore! Obviously, after two years, I decided it was time to move on.