Ken Thompson Recalls Unix’s Rowdy, Lock-Picking Origins

๐Ÿ’ฅ Explore this awesome post from Hacker News ๐Ÿ“–

๐Ÿ“‚ Category:

๐Ÿ“Œ Main takeaway:

The 82-year-old Ken Thompson has some amazing memories about the earliest days of the Unix operating system โ€” and the rowdy room full of geeks who built it.

This month Silicon Valleyโ€™s Computer History Museum released a special four-and-a-half-hour oral history, in partnership with the Association for Computing Machinery, recorded 18 months ago by technology historian David C. Brock. And Thompson dutifully recalled many of his career highlights โ€” from his work on the C programming language and Unix to the โ€œPlan 9 from Bell Labsโ€ operating system and the Go programming language.

But what comes through is his gratefulness for the people heโ€™d worked with, and the opportunity theyโ€™d had to all experiment together in an open environment to explore the limits of new and emerging technologies. Itโ€™s a tale of curiosity, a playful sense of serendipity and the enduring value of a community.

And along the way, Thompson also tells the story of raising a baby alligator that a friend sent to his office at Bell Labs. (โ€œIt just showed up in the mailโ€ฆ Theyโ€™re not the sweetest of pets.โ€)

The Accidental Birth of Unix

Travel back in time to 1966, when 23-year-old Thompsonโ€™s first project at Bell Labs was the ill-fated Multics, a collaboration with MIT and General Electric which Thompson remembers as โ€œhorribleโ€ฆ big and slow and ugly and very expensive,โ€ requiring a giant specially-built computer just to run and โ€œjust destined to be dead before it started.โ€

But when the Multics project died, โ€œthe computer became completely available โ€” this one-of-a-kind monster computerโ€ฆ and so I took advantage.โ€

Thompson had wanted to work with CRAM, a data storage device with a high-speed drum memory, but like disk storage of the time, it was slow to read from memory.

Drum memory

A magnetic โ€œdrum memoryโ€ data storage device

Thompson thought heโ€™d improve the situation with simultaneous (and overlapping) memory reads, but of course this required programs for testing, plus a way to load and run them.

โ€œAnd suddenly, without knowing it โ€” I mean, this is sneaking up on meโ€ฆ. Suddenly itโ€™s an operating system!โ€ Thompsonโ€™s initial memory-reading work became โ€œthe disk partโ€ for Unixโ€™s filesystem. He still needed a text editor and a user-switching multiplexing layer (plus a compiler and an assembler for programs), but it already had a filesystem, a disk driver and I/O peripherals.

Thompson wondered if it took so long to recognize its potential because heโ€™d been specifically told not to work on operating systems. Multics โ€œwas a bad experienceโ€ for Bell Labs, heโ€™d been told. โ€œWe spent a ton of money on it, and we got nothing out of it!โ€

โ€œI actually got reprimands saying, โ€˜Donโ€™t work on operating systems. Bell Labs is out of operating systems!โ€

One-Digit User IDs

But now Unix had its first user community โ€” future legends like Dennis Ritchie, Doug McIlroy, Robert Morris and occasionally Brian Kernighan. (โ€œAll the user IDs were one digit. That definitely put a limit on it.โ€) Thompson remembers designing the Unix filesystem on a blackboard in an office with Rudd Canaday โ€” using a special Bell Labs phone number that took dictation and delivered a typed-up transcript the next day. And Joe Ossanna โ€œgot things doneโ€ with a special talent for navigating Bell Labsโ€™ bureaucracy that ultimately procured a crucial PDP-11 for the Unix team to work on.

โ€œWe were being told no, โ€˜because we donโ€™t deal in operating systems.’โ€ But Ossanna knew the patent department was evaluating a third-party system for preparing documents โ€” and Ossanna proposed an in-house alternative. โ€œSo we got our first PDP-11 to do word processing.โ€

Ken Thompson (sitting) and Dennis Ritchie at PDP-11

Ken Thompson (sitting) and Dennis Ritchie at PDP-11

And history shows that it happened partly because the department paying for it โ€œhad extra money, and if they didnโ€™t spend it, theyโ€™d lose it the next yearโ€ฆโ€

So the young Unix community picked up somewhere between five and eight new users, Thompson remembers, โ€œthe secretaries for the Patent Department, writing patents on our system!โ€

The Fellowship of the Unix Room

That PDP-11 wound up in โ€œa spot on the sixth floor where we cleaned out a vending machine and a couple of cages of stored junk from 1920,โ€ Thompson remembered. They eventually installed a second PDP-11, which turned the room into โ€œa hotbed of things,โ€ with discussions about networking โ€” and an upcoming typesetter for documents. Thompson calls it the Unix room, and most of them eventually had extensions for their phones wired into the room. (It even had its own call-switching PBX โ€ฆ)

There was camaraderie and some laughter. He adds later, almost as an aside, that โ€œin the Unix room, we used to pick locks a lot and steal things.โ€ (When one of the secretaries discovered security had affixed a โ€œparking bootโ€ to her car that was parked in the wrong zone, โ€œwe went down there, and we picked the lock and stole the boot. And after that, slowly, we picked up all four boots, and we hid them under the raised floor of the Unix roomโ€ฆโ€)

The punchline? โ€œThe head of security came around and pleaded with us. โ€˜We wonโ€™t pick on your secretaries if you give us back our boots.’โ€

And the deal was accepted.

Ken_Thompson_and_Dennis_Ritchie--1973 (public domain via Wikipedia)

Dennis Ritchie (left) later said their motivation was to build a system โ€œaround which a fellowship could form,โ€ but Thompson says thatโ€™s more of a description of what transpired than an actual design goal.

Thompson remembers things like gathering for a regular โ€œUnix lunchโ€ in the Bell Labs lunchroom, which โ€œcaused a symbiosis of thought and things. It was great.โ€ Although it always seemed to happen just minutes after the lunchroom stopped serving food. โ€œIf I was late, Iโ€™d buy McDonaldโ€™s and sit down at the lunchroom with my McDonaldโ€™s. They used to get mad at me for that โ€ฆโ€

Growing From Community

Looking back, Thompson credited the success of C and Unix to Bell Labs and its no-pressure/no users environment. โ€œIt was essentially a โ€˜whatever you want to doโ€™ atmosphere, and โ€˜for anybody you wanted to do it forโ€™โ€ฆ Bell Labs was by far the biggest contributor to this whole type of programming.โ€

Bell Labs was an eclectic mix, but this community paid unexpected dividends. While Lee McMahon was originally hired as a linguistics researcher, he was ultimately the one who procured machine-readable dictionaries for the Unix team, along with machine-readable version of the Federalist Papers. (When the whole text wouldnโ€™t fit into their text editor ed, Thompson famously created the line-by-line pattern-scanning tool grep.)

And in the end Thompson says Unix grew from there for one simple fact: People liked it. It spread within Bell Labs, at first for โ€œthe administrative kind of stuff, typing in trouble ticketsโ€ฆโ€ But this being a phone company, โ€œthen it started actually doing some switching, and stuff like that. It was getting deeper and deeper into the guts of the Bell System and becoming very popular.โ€

Open Before Open Source

Thompson credits Richard Stallman with developing much more of the open source philosophy. โ€œBut Unix had a bit of that.โ€ Maybe it grew out of what Dennis Ritchie was remembering, that fellowship that formed around Unix. โ€œFor some reason, and I think itโ€™s just because of me and Dennis, everything was openโ€ฆโ€

It was just the way they operated. โ€œWe had protection on files โ€” if you didnโ€™t want somebody to read it, you could set some bits and then nobody could read them, right? But nobody set those permissions on anything โ€ฆ All of the source was writable, by anybody! It was just open โ€ฆ

โ€œIf you had an idea for an editor, youโ€™d pull the editor out and youโ€™d write on it and put it back โ€ฆ There was a mantra going around that, โ€˜You touch it, you own it.’โ€

Thompson provides an example: Bell Labs co-worker P. J. Plauger, with whom he later wrote the 1974 book โ€œElements of Programming Style.โ€ Plauger was also a professional science fiction writer, Thompson remembers, โ€œAnd whatever he was writing on was in his directory, right? So, weโ€™d all go in there and be reading it as heโ€™s writing it โ€ฆ and weโ€™d all write back, โ€˜You ought to kill this guy, and move him over here and turn him green!โ€™ or something.

โ€œAnd he didnโ€™t mind it, because thatโ€™s just the theory of Unix in those days โ€ฆ

โ€œI think that generated a fellowship. Just the fact that it was like writing on a blackboard โ€” everybody read it.โ€

And more of their Bell Labs experiments found their way into the world when some work on the later Plan 9 operating system found its way into the UTF-8 standard, which underlies most of todayโ€™s web connections.

After Bell Labs

Thompson left Bell Labs in 2000, after the breakup of the Bell system. (โ€œIt had changed; it was really different โ€ฆ You had to justify what you were doing, which is way above my pay grade.โ€) But his three decades there seemed to shine an influence over the rest of his life.

Thompson first moved on to a networking equipment company called Entrisphere, where he worked for six years โ€” and a move to Google was the natural next step. The head at Entrisphere had already moved to Google, and was urging Thompson to follow him โ€” and it turned out that Google CEO Eric Schmidt was an old friend whoโ€™s actually worked at Bell Labs in 1975. (Thompson says Google made him โ€œan exceedingly good offerโ€โ€ฆ)

At Google Thompson worked โ€œa little bitโ€ on Android security. (โ€œI found a couple of specific problems, but by and large, it was very well doneโ€.) But eventually Thompson joined the three-person team that would create the programming language Go.

And he was doing the work with Rob Pike, who was one of his old comrades from Bell Labs nearly 30 years before!


Group Created with Sketch.

Tell us your thoughts in comments! Tell us your thoughts in comments!

#๏ธโƒฃ #Ken #Thompson #Recalls #Unixs #Rowdy #LockPicking #Origins

๐Ÿ•’ Posted on 1761549344

By

Leave a Reply

Your email address will not be published. Required fields are marked *