Interview: Henry Spencer

Interview: Henry Spencer, Part1

Henry Spencer
Henry Spencer 2006

From Wikipedia

Henry Spencer is a co-author of C News and The Ten Commandments for C Programmers. Whilst working at the University of Toronto he ran the first active Usenet site outside the US, starting in 1981. His records from that period were eventually acquired by Google to provide an archive of Usenet in the 1980s.

The first international Usenet site was run in Ottawa, in 1981; however, it is generally not remembered, as it served merely as a read-only medium. Later in 1981, Henry acquired a Usenet feed from Duke University, and brought "utzoo" online; the earliest public archives of Usenet date from May 1981 as a result.

The small size of Usenet in its youthful days, and Henry's early involvement, made him a well-recognised participant; among other things, this is commemorated in Vernor Vinge's 1992 novel A Fire Upon the Deep. The novel featured a communications medium remarkably similar to Usenet, down to the author including spurious message headers; one of the characters who appeared solely through postings to this was modelled on Henry (and, slightly obliquely, named for him).

Henry is also the author of regex, from which the original Tcl and Perl regular expressions were derived. He was technical lead on the FreeS/WAN project, implementing an IPsec cryptographic protocol stack for Linux.

Henry is one of the founding members of the Canadian Space Society, and has served on its Board of Directors several times since 1984. He did mission analysis (planning of launch and orbits) for the CSS's Canadian Solar Sail project (now defunct), and was Software Architect for MOST, a Canadian science microsatellite dedicated to studying variable light from stars and extrasolar planets launched by Eurockot in the first quarter of 2003.

He is a highly regarded space enthusiast and historian, and is a familiar and respected presence on several space forums, including Usenet and the Internet. His knowledge of space history is such that the "I Corrected Henry Spencer" virtual T-shirt award was created as a reward for anyone who can catch him in an error of fact. Thus far, there are few winners.

1.Can you describe what it was like to be a part of the early Canadian IT community? What schools or institutions were involved? What other individuals were involved and why?

Well, the Canadian IT community goes back to the 50s, and I wasn't around quite *that* early! But that was the mainframe world. I *was* part of the early Canadian Unix community, and also the early Canadian networking community (there'd been a very little bit of earlier networking stuff, but with availability so restricted that it hardly counts), which I expect is what you were thinking of.

In the beginning, the Canadian Unix community as a whole was a bit tenuous; the people you actually interacted with most of the time were the locals. Each educational institution that had an early Unix licence was the center of an expanding local Unix community, as people who'd had experience with Unix at school moved out into local companies and other schools, and spread the word as they went. That was just starting to happen at U of Saskatchewan as I finished my BSc and left for Toronto.

At U of T, things had started earlier and more aggressively, and there was also some local Unix background at Northern Telecom (which had been part of the Bell empire relatively recently and hence had some internal Unix systems before commercial Unix licences existed). And Waterloo, not far away, was another early licensee. So there was a lot more local activity, but still somewhat fragmented because each site was still its own little world, with no electronic networking. In hindsight, I'm surprised that there wasn't an organized local Unix user's group, because there were plenty of interested people, but I guess nobody'd had the combination of
inspiration and energy to announce one and start holding meetings.

Even without networking, there were informal contacts with the rest of the Unix world, and U of T's opinion was respected. This was at a time when Unix support was still strictly a do-it-yourself operation -- Bell/AT&T sent you a distribution tape and wanted nothing more to do with you -- and that encouraged community cooperation. I still remember being all by
myself in the big grad-student room one day and getting a phone call from folks at Carnegie Mellon who wanted to know whether a particular kernel trick they had in mind would work. But it was all very informal; even what later became the Usenix conferences were just getting started.

Mind you, the Usenix conferences got established quickly, because there was such a need for community contacts. A few years later, when one of the U of T Unix sites had system problems at just the wrong time, they had a devil of a time finding anyone on hand who could diagnose the trouble -- *all* the local experts were at Usenix that week.

Similarly, the number-one thing that spread Usenet far and wide in the early days was the prospect of help with Unix problems, and being plugged into the grapevine for Unix bug fixes.

Zoology ended up being the first (active) Usenet site in Canada mostly by historical accident. The people who should logically have been most interested in networking -- the computer center and the CS department -- had their sights set on some combination of the Arpanet and LANs --
continuous connectivity at relatively high speeds. Store-and-forward networking over slow dialup modems (1200 baud was a fast modem then) didn't stir up much interest. But I was interested in doing it, and so was my boss, and we had vaguely-suitable hardware and were about to install suitable software.

So we got it going -- initially at 300 baud! -- and now we had news and email connectivity to the outside world. It was clumsy, and slow because (especially after we got an autodialing modem) the long-haul calls got made only after midnight to save phone bills, but any connection was lots better than none. Once they heard we had email, the computer center and the CS department immediately set up connections to us, and then started getting their own autodialing modems and setting up their own long-haul connections. Other sites in the area mostly hooked up to one of the three; early attempts to draw maps of the Toronto network topology tended
to omit Zoology, the computer center, and the CS department, because so many sites had connections to one or more of us that it made the map an impossible tangle.

2. What are you doing now from a technical perspective, both professionally and personally? What would you like to be doing?

Professionally, I'm a freelance consultant doing a wide range of software stuff. Somewhat to my surprise, I also seem to have developed a sideline in spacecraft engineering: I was involved in the software side of the MOST astronomy satellite -- Canada's first scientific satellite in many
years -- and have branched out into overall design and mission planning for some follow-on projects. I'd like to be doing more of this, but it's hard getting funding for it.

Personally, I've got far more private projects than I could ever find time to do justice to. One that's been eating up a lot of time recently is exploring some new ideas in programming-language design; it's too early to tell just how it's going to come out.

3. I see that you've posted the the Toronto Linux User Group mailing list in the past. Is Linux your operating system of choice these days? If yes, can you provide some details about your personal environment? If not, what are you using and why?

Yes, Linux tends to be my system of choice now. I've still got one old machine running BSDI -- a vanished commercial counterpart of FreeBSD -- but everything else runs Linux. I've been using fairly old Red Hat releases for quite a while, but really need to switch to something more
modern; I've quite recently started exploring the options. I'm not enthusiastic about either the Fedora Of The Month Club or paying for RHE, so I'm looking at alternatives to Red Hat.

My home network is centered on one big machine -- the one on my desk -- with a scattering of auxiliary machines (firewall, a couple of test machines, some specialized servers) plus a laptop or two. I may well end up with one distribution on the desktop and laptop (that is, the
interactive machines) and something else on the auxiliaries. I'm leaning toward Debian stable for the auxiliaries, which mostly are supposed to quietly do their jobs and not bother me, but might want something else (SuSE?) for the interactive systems. I take a fairly pragmatic attitude to the "free software" religious wars, and find it useful to have some items of not-entirely-free software (e.g. Acrobat Reader) on the interactive machines.

NOTE: If anyone would like to ask Henry questions for Part II of this interview, please email me directly [btraynor at] or post questions as comments below.