VCF East: Ken Thompson interviewed by Brian Kernighan
Vintage Computer Federation11 HN recommenders · 2019–2025
417K views · interview · evergreen · Uploaded 2019-05-06
Brian Kernighan interviews Unix co-creator Ken Thompson at VCF East 2019. Thompson recounts how he was hired at Bell Labs, writing the Unix kernel in about three weeks, the origins of B and TMG, pipes, and other anecdotes.
HN commenters recommend it for Thompson's funny, first-hand Unix history stories, some of which even Kernighan had not heard.
28:03AT&T Archives: Similiarities of Wave Behavior (Bonus Edition)
AT&T Tech Channel
1:24:13Micro Men - 720p (2009)
gimpymoo
47:18The Tragedy of systemd
linux.conf.au
1:00:43Jim Simons (full length interview) - Numberphile
Numberphile2
1:21:22Light Years Ahead | The 1969 Apollo Guidance Computer
TNMoC
14:34Steve Jobs Stanford Commencement Speech 2005
JoshuaG
41:53Mechanical Computer (All Parts) - Basic Mechanisms In Fire Control Computers
Excelsior10000
56:09Project Code Rush - The Beginnings of Netscape / Mozilla Documentary
The Documentary Network
18 comments from Hacker News
The interview starts at [VIDEO] Brian Kernighan coined the word “Unix” and is the “K” in K&R (co-author of the The C Programming Language book). Ken Thompson co-invented Unix. Full of funny anecdotes like needing 3 weeks to write the kernel and serendipitously his wife was going on vacation for 3 weeks.
Videos of Ken Thompson and Rob Pike telling Unix history stories: Ken Thompson (interviewed by Brian Kernighan, 2019, starts after 7m38s): [VIDEO] Rob Pike (Unix History presentation, 2018, starts after 3m40s): [LINK]
Looking forward to reading this! Had the pleasure of seeing Brian Kernighan and Ken Thompson speak at VCF East earlier this year, totally worth a watch: [VIDEO] I highly recommend hitting up a Vintage Computer Festival if you've got the opportunity ( [LINK] ). Not only did Kernighan and Thompson speak, but also Joe Decuir of Atari & Amiga fame.
Also I found these fascinating: The Unix-Haters Handbook (1994) has a lot of history and takes you back in time.. [LINK] Brian Kernighan 'interviews' Ken Thompson (2019) - Ken telling stories. They're both very funny, a very entertaining video, some stories I (and even Brian) hadn't heard. [VIDEO] UNIX: Making Computers Easier To Use (1982) [LINK] Also the other day I read in the AWK book that it was mainly inspired by SNOBOL4, so looked at some SNOBOL4 books from archive.org, from 1970-2 and just before, slightly earlier than Unix history takes you back. One tells you how to organize your punch cards to feed in the program.. Another had a bibliography with many dozens of SNOBOL books. It was widely used by people in the humanities apparently; like AWK it was at home dealing with words and text.
Two of the most interesting ones I've seen this year: Brian Kernighan (of K&R fame, and much more) interviewing Ken Thompson (initial author of UNIX, though you probably already knew both of these): lots of interesting anecdotes, like getting a chess machine seized by the US government: [VIDEO] Drew DeVault, (sway/sr.ht/much more author) hacking on his Wayland VR desktop inside of his Wayland VR desktop (don't believe the people who say you can't do programming inside of VR yet!): [LINK] NB. the second video is on a PeerTube instance. PeerTube is a federated and decentralized YouTube alternative.
This comment has produced one of the geekiest t-shirts of all time. In [1] Brian Kernighan interviews Ken Thompson, who's wearing a t-shirt which contains the relevant snippet along with a comment "ΕΠΙΤΕΛΟΥΣ ΤΟ ΚΑΤΑΛΑΒΑ!" (greek for 'I finally understood it!'). [1] [VIDEO]
One of my favorite moments from the birth of UNIX is Ken Thompson's telling (in this interview with Brian Kernighan) of how he got hired to work at Bell Labs: [VIDEO] (starting at about 11 minutes in to the video)
> Brian is super modest and claims to be a horrible programmer but he is comparing himself to Ken Thompson, who he thinks is just incredible. Ken once wrote a disassembler, assembler and B interpreter for a mini-computer that ran a printer they were struggling with, in a couple of days, so that they could get it printing again. This blew Brian's mind. For the next level up here's Ken (in a very interesting conversation with Brian Kernighan about the history of Unix) describing McIlroy: > McIlroy keeps coming up. He's the smartest of all of us and the least remembered (or written down)... McIlroy sat there and wrote ---on a piece of paper, now, not on a computer--- TMG [a proprietary yacc-like program] written in TMG... And then! He now has TMG written in TMG, he decided to give his piece of paper to his piece of paper and write down what came out (the code). Which he did. And then he came over to my editor and he typed in his code, assembled it, and (I won't say without error, but with so few errors you'd be astonished) he came up with a TMG compiler, on the PDP-7, written in TMG. And it's the most basic, bare, impressive self-compilation I've ever seen in my life. This story, by the way, leads into how Ken created B (and how that was eventually improved by Dennis Ritchie into C). [0] [VIDEO]
I found Kernighan's book quite riveting. If you want the short version (this might spoil some of the book) this talk is quite something: [VIDEO]
As one of few authors of an implementation of `dc` and `bc`, but one who never actually met Lorinda Cherry, perhaps I have a slightly different perspective of her work. I've read the closest thing we have to the original sources of `dc` and `bc`: the source bundled with Plan 9. It didn't take me long to read the entirety of the source because they were simple and concise. That immensely impressed me. However, I hate to say that my youth (compared to Ms. Cherry, at least) caused me to look at the source with disdain, mostly from a lack of handling errors caused by user mistakes. It took several days for me to think more carefully about the context. She was writing for herself and other programmers, who would probably be able to recognize when they made a mistake and fix it. The code has a simple elegance that mine will never have. Sure, you might call mine "industrial strength," but I think a quote by ** Gabriel sums up the difference between Ms. Cherry's code and mine: "I'm always delighted by the light touch and stillness of early programming languages. Not much text; a lot gets done. Old programs read like quiet conversations between a well-spoken research worker and a well-studied mechanical colleague, not as a debate with a compiler. Who'd have guessed sophistication bought such noise?" [1] And that says nothing of the design of her software. `dc` was, and in many ways still is, the simplest calculator that could ever exist. It was the simplest shell too, with the `!` com
See Ken Thompson's monologue about creating Unix in 3 weeks: [VIDEO] Programmers used to be pretty damn productive.
Ken Thompson interviewed by Brian Kernighan at VCF East 2019 (min 39, sec 46) [VIDEO] Describes how Douglas McIlroy designed a language, wrote a compiler in the language that he designed that didn't exist yet and hand converted this compiler to assembly. Ken Thompson says it's one of the most impressive things he's ever seen in his life.
This isn't specifically PDP-8-related, but the story of Bell Labs going to extraordinary lengths to hire Ken Thompson is a hoot: [VIDEO] ...not to mention Ken's story of Doug McIlroy writing a compiler for TCG on a sheet of paper, then using it to compile itself - by hand - thus "feeding his sheet of paper his sheet of paper."
Not sure if it's based on this, but Ken also talked about a similar, but multiplayer game, to play with random people at Bell Labs which sounded fun. [VIDEO] I wonder if the source code for that exists too.
> Has the rise of these memory safe languages caused any shift in the proficiencies of the average developer? That's a good question, but I have no answer for it. AFAIK the data is missing or is inconsistent. But I can link to you the obligatory Ken Thompson's "three weeks away from an OS" [VIDEO]
The question that I'm curious about is "why does POSIX require unary negation to have a higher precedence?" Was it a "this is the way that bc worked in the 70s because it was easier to write a parser for it?" or was there some more underlying reason for the "this problem gets really icky if unary negation has lower precedence than the binary operators and makes for other expressions that become less reasonable?" It's like the Logical XOR issue ( [LINK] ) ... and I'm of the opinion that there's a real reason why this design choice was made. (Aside: Some other historical "why things work that way" touching on dc's place in history: Ken Thompson interviewed by Brian Kernighan at VCF East 2019 [VIDEO] - it goes on to pipes and dc makes an appearance there again)
The interview is here: [VIDEO] One hour long, and Thompson tells a lot of entertaining stories. Kernighan does a good job of just letting Thompson speak.
The article provides ancillary hyperlinks to nearly every topic mentioned, but fails to link the actual video of Kernighan speaking. Here it is: [LINK] In reality the subject of the talk is Kernighan’s perspective of the history of Unix at Bell Labs. The questions covered in the article are the least interesting part, and make up about six minutes at the very end—a small fraction not just of the 70-minute video, but even of the 30-minute Q&A session. In short, the headline and article are disappointing clickbait, but the video itself is worth watching for Kernighan’s relating of history and his theories about what confluence of factors made Unix successful (collegial environment, good management, overall mission…). Another worthwhile video from the same conference (in a different year) is Kernighan’s interview of Ken Thompson: [VIDEO]