Howard Trickey did one of the earliest ports of TeX to Unix.
Dave Walden, interviewer: Please give me a bit of background prior to your attending Stanford.
Howard Trickey, interviewee: I grew up in Toronto and started programming in 1972: FORTRAN on punchcards on an IBM 1130 in my high school. I found I enjoyed it a lot and, throughout my University of Toronto Engineering Science undergraduate degree, took every opportunity to program for fun. I also liked document preparation by computer, and used ATS [Administrative Terminal System for mechanizing engineering documentation] on an IBM/360 with lineprinter output for my bachelor's thesis. I did a Masters at U of T too, on parsing, and got to use Unix and troff to typeset it — what a difference! In 1980, I headed off to Stanford for a PhD in Computer Science. Even before heading off, I remember buying and reading TeX: A System for Technical Text, which described TeX 78.
DW: Tell me about your time at Stanford.
HT: While my thesis advisor was Jeff Ullman and my thesis topic was silicon compilation, I continued to enjoy programming for fun and typesetting. Don Knuth was in the middle of a complete rewrite of the TeX program from Sail into Pascal, and he was taking the opportunity to update the language some as well. But his favorite computer was still a big DEC machine running the Stanford SAIL operating system. I was a Unix guy, and really wanted to run TeX, but wanted to run it on Unix, but Don's code did not compile on Unix. There were two reasons: first, some adaption was needed to use the operating system services (file reading, writing, etc.); and, second, Don needed to use an extension to Pascal: a default clause in case statements. The Unix Pascal compiler on BSD Unix (which we were all using) did not have that extension. So, beauty of Unix and a BSD source license, the source code to the compiler was available, and I modified it to add a default clause. I also made the operating system utility changes, and voila, we had TeX on Unix.
I later discovered somehow that Pavel Curtis (at Cornell) had independently done something very similar, and we joined forces and for a while were the maintainers of the Unix TeX changefile. Later, of course, the approach of translating Don's Pascal into C obsoleted our efforts, though remnants of the operating system service changes remained.
DW: I've read your TeX site report with Curtis in TUGboat issue 4:1, April 1983.
HT: I just reread that, and it reminded me of some of the other nasty things that had to be addressed, such as getting reals to fit in 32 bits, and getting TANGLE not to emit uppercase keywords. It was also fun to be reminded of how a “memory rich system” back then might be able to afford 500,000 bytes for TeX's memory allocation array.
Don had a weekly informal group where he talked about his progress on TeX, and I usually attended and kibitzed. Maybe something I said in those meetings had some small effect on the language, I'm not sure.
Unrelated to TeX, I also had the pleasure of TAing an advanced algorithms course taught by Don. One of the privileges that came with that was a weekly lunch with him.
Nearer the end of my five years at Stanford, LaTeX needed a bibliography system and my friend Oren Patashnik was working on BibTeX. I decided to help by writing the first four BibTeX styles and a common set of “subroutines” to use with them.
DW: I've heard Oren say that Joe Weening and Frank Yellin also participated in those informal weekly discussions with Knuth. Were there other people involved that you remember, and what do you think Knuth's purpose was in holding those meetings?
HT: John Hobby was probably there too. Don was writing the new TeXbook and also fine tuning the language. I suppose part of what he wanted was readers for TeXbook drafts, and also our reactions to language changes. One discussion I remember was whether to keep single letter font names. I think Don liked them because they made for a nice compact memory layout, but I and many others argued that 256 fonts (including style and size variations) was just too limiting for the future, and he was persuaded to change to multicharacter names.
DW: Also, what was the actual title of your PhD thesis?
HT: Compiling Pascal Programs into Silicon.
DW: What have you been doing since you left Stanford?
HT: I went from Stanford to AT&T Bell Labs Research (which morphed into Lucent Bell Labs Research), where I worked on a wide range of computer research — graph drawing, operating systems, compilers, databases, wireless optimization, and software quality. During the first couple of years, I brought our lab into the TeX world by making dvi drivers for the various printers we had. I even, for fun, ported TeX to a Cray that we had.
DW: I see that some specific project areas are mentioned on your website.
What happened next?
HT: After 20 years at Bell Labs, I moved to Google (the New York office), where I've been working on Google Maps for four years, first as a programmer, later as a manager.
DW: Can you say a word about how the previous computer activities you mentioned fit into what you do for Google, or is what you are doing at Google quite a new activity for you?
HT: I suppose one theme of my career has been understanding complex software systems and modifying them to do something new. Modifying the Berkeley Pascal compiler for TeX was an example of that, in a small way. My first activity at Google was a completely new subject for me — I worked on a rewrite of the business search ranking on maps — but it also had some of the flavor of understanding a complex system (the infrastructure on which search is built) and making it do something new.
DW: Please tell me what you think of TeX all these years after its creation.
HT: TeX was clearly the best typesetting system around, and remains so for pure beauty of output (especially for math). I am proud to have been a part of helping spread its use.
DW: Thank you very much, Howard, for participating in our interview series.