Jez Higgins

Freelance software grandad
software created
extended or repaired


Follow me on Mastodon
Applications, Libraries, Code
Talks & Presentations

Hire me
Contact

Older posts are available in the archive or through tags.

Feed

A Lightning Dash Through Typesetting With Brian W Kernighan : Yr olygfa o Hescwm Uchaf, rhif 11

The lightning talk[1] sessions are always a really fun part of the ACCU Conference. I gave one this year on favourite topic of mine - an (abbreviated) history of Brian Kernighan typesetting his own books

Typesetting with Brian Kernighan

Brian Kernighan, looking friendly and wise and Canadian

Here’s Brian Kernighan, looking all kind and wise and Canadian.

The C Programming Language

When you hear the name Brian Kernighan, you probably think immediately of this book, The C Programming Language.

The C Programming Language, 2nd Edition

Of course if you’re a little bit younger, like me, you probably think of this book, the The C Programming Language, 2nd Edition.

It really is a terrific book, almost the platonic ideal of a programming language reference. While the C language was all Dennis Ritchie, I think I’m right in saying the text of the book is all Brian Kernighan.

In addition to this book, with which he has become synonymous, Brian Kernighan has written or co-written over a dozen other books. He’s not just written them though. He has typeset them. He has typeset all of them.

It’s often forgotten that typesetting was the excuse for the Unix[2] project in the first place. Bell Labs had a spare machine sitting in a corner, and Ken Thompson, Dennis Ritchie, et al, were able to secure it by undertaking to develop a computer typesetting system. Bell Telephone produced an awful lot of documentation, both internal and external, and a reliable typesetting system would be a huge benefit to the organisation.

The Elements of Programming Style

This book was set in Times Roman and News Gothic Condensed by the authors, using a Graphic Systems phototypesetter driven by a PDP 11/45 running under the UNIX operating system.

The Elements of Programming Style, Kernighan’s first book, was published in 1974. He cowrote it with Bill Plauger, who’s a fine author in his own right. It’s a book about code review and refactoring, both terms some decades away from being coined.

The book was typeset using a Graphic System phototypesetter and a PDP 11/45. Now, this is a bit of brag, but at the same time it’s also a promise. We typeset our own book, and you, too, can do your own typesetting.

A big old PDP-11

Well, you can do your own typesetting if you’ve got a computer like this.

The C Programming Language

The book was set in Times Roman and Courier 12 by the authors, using a Graphic Systems phototypesetter driven by a PDP-11/70 running under the UNIX operating system.

Stepping forward four years to 1978, we have the first edition of The C Programming Language. They’ve had an upgrade, and are now using a PDP-11/70. I don’t know how computers were evolving in the mid-70s, so I’ve no idea if that was physically a bigger or smaller machine.

Software Tools in Pascal

This book was set in Times Roman and Courier by the authors, using a Mergenthaler Linotron 202 phototypesetter driven by a PDP-11/70 running under the UNIX operating system.

Stepping forward another three years we arrive at Software Tools in Pascal, published in 1981. If you’re reading this you probably already know I’m a colossal fan of this book, and I think every programmer should read it. It’s still in print, but ruinously expensive so get yourself a second hand copy. It’s really, really good.

Now, they’re using this Mergenthaler Linotron 202, which was an interesting machine. Very high quality typesetter, apparently, but rather lacking in documentation. It had a proprietary font format, that Kernighan and colleagues reverse engineered. Ken Thompson, a pioneer of computer chess, contributed a chess board and pieces to the font set, which is kind of lovely.

The C Programming Language, 2nd Edition

The book was typeset (pic|tbl|eqn|troff -ms) in Times Roman and Courier by the authors, using an Autologic APS-5 phototypesetter and a DEC VAX 8550 running the 9th Edition of the UNIX operating system.

1988 now, and look, now we have a shell pipeline - pic|tbl|eqn|troff -ms. troff is the typesetting program, originally written by Joe Ossanna in the PDP-11 assembly and then in C. Ossanna unfortunately died quite young, and development of troff was taken over by Kernighan, Lorinda Cherry, Mike Lesk, and others. pic, tbl, and eqn are troff preprocessors, providing markup for line drawings, tabular data, and equations & formulae respectively.

The Practice of Programming

This book was typeset (grap|pic|tbl|eqn|troff -mpm) in Times New Roman and Lucida Sans Typewriter by the authors.

Big jump forward now to 1998. Kernighan’s about to head off to teach at Princeton. The Practice of Programming, cowritten with Rob Pike, is another terrific book. Now, look, we can do this on commodity hardware. We don’t need to say what the typesetter was - it’s not important anymore. Kernighan has popped another little troff preprocessor into his pipeline, grap, which provides a language for typesetting graphs.

UNIX - A History and a Memoir

Camera-ready copy for this book was produced by the author in Times Roman and Helvetica, using groff, ghostscript, and other open source Unix tools.

Leap forward another twenty years, to 2020, and this book UNIX - A History and a Memoir, which is just delightful. Kernighan did this on his laptop. He’s now using groff, which the GNU troff replacement originally developed by James Clark[3] He’s using ghostscript, the free postscript renderer, and "other open source Unix tools". Hmm, for "other open source Unix tools" we can read "Linux". He’s travelled that journey from proprietary Unix back then, to free software now.

The AWK Programming Language

This book was formatted by the authors in Times Roman, Courier and Helvetica, using Groff, Ghostscript and other open source Unix tools.

Just at the end of last year, Kernighan published The AWK Programming Language 2nd Edition. This is a big update to a book first published in 1988, about a language first developed in 1977, prompted, in part, by the fact that a man in his 80s decided to put full Unicode support into a 40 year old programming.

What a gangster.

Brian Kernighan, with his feet up on the desk

Ossana and Kernighan’s Troff User’s Manual does not say how it was typeset.

A blot on an otherwise exemplary career.


1. ACCU’s lightning talks are 5 minutes long, with a hard deadline. Overrun, and the mic gets cut and you’re gonged off the stage. Some lightning talks are highly technical, some are responses to conference sessions, quite a lot of them are just plain fun.
2. A name, if not necessarily a spelling, coined by Kernighan.
3. Clark is another titan of text processing who’s worked on SGML, XML, the Expat parser, and more.

Tagged brian-kernighan, typesetting, accu-conference, and talk


Jez Higgins

Freelance software grandad
software created
extended or repaired

Follow me on Mastodon
Applications, Libraries, Code
Talks & Presentations

Hire me
Contact

Older posts are available in the archive or through tags.

Feed