Tag Archives: Unix

Comments on the Thompson Hack

I’ve written several times (1, 2, 3) about Ken Thompson’s beautiful if terrifying hack that invisibly inserted a back door into all programs generated with the C compiler. “Invisibly” here means that there’s nothing in the C compiler’s source code … Continue reading

Posted in General | Tagged , | Leave a comment

You Are Not Expected to Understand This

I recently came across a post that explains the famous comment in the 6th Edition Unix source code: * You are not expected to understand this. I haven’t seen or thought about this for years but it was once quite … Continue reading

Posted in General | Tagged | Leave a comment

Tail Recursion in gawk

Once you’ve used Lisp—especially Scheme—you come to regard tail recursion as a natural and necessary technique. Perhaps even a God given right. Sadly, leave the Lisp world and you’re pretty much out of luck. Of course, you can always make … Continue reading

Posted in General | Tagged , | Leave a comment

The Vacation Memo

In the summer of 1979, Bell Labs purchased a Mergenthaler Linotron 202 typesetter so they could typeset their own documents. The Mergenthaler was an example of the generation of typesetters just previous to laser printers. They were hideously complex and … Continue reading

Posted in General | Tagged | Leave a comment

A Chat with Brian Kernighan

Arguably, the third most famous member of the Unix pantheon is Brian Kernighan. Although he did not, in fact, work on the development of the C language (he was the co-author along with Ritchie of the definitive book on C) … Continue reading

Posted in General | Tagged | 4 Comments

Remembering Dennis Ritchie

Jason Perlow over at ZD Net has a nice piece on Dennis Ritchie. Ritchie died a four years ago, about the same time as Steve Jobs. Everyone knows who Jobs was but most of the population—and sadly, some of our … Continue reading

Posted in General | Tagged | Leave a comment

The Origin of STDERR

Most (all?) modern operating systems have the notion of STDERR, a separate output channel that programs can use to output error messages. It’s especially important for Operating Systems that have some notion of “pipe” where the output of one program … Continue reading

Posted in General | Tagged | Leave a comment

A Wonderful Piece of Unix History

Unix is widely extolled as the first portable operating system but many don’t know how that came about. By the time of Version 6, Unix had been licensed to many universities but it still ran only on the PDP-11 family … Continue reading

Posted in General | Tagged | Leave a comment

History of BSD Unix

I just stumbled across a nice Salon article on the history of BSD Unix. The article is from 2000 but still very interesting and relevant. Although it examines many of the key players in project, especially Bill Joy, the theme … Continue reading

Posted in General | Tagged | Leave a comment

Kernel Source

The other day, I wrote about using the BSD Unix sources to learn from the masters. Even though I’ve read through most of those resources, I’m always on the lookout for more. Happily, I’ve come across another great resource, The … Continue reading

Posted in Programming | Tagged | Leave a comment