06.22

The following is an excerpt from an article in Computerworld magazine, Unix turns 40: The past, present and future of a revolutionary OS:
In August 1969, Ken Thompson, a programmer at AT&T subsidiary Bell Laboratories, saw the month-long departure of his wife and young son as an opportunity to put his ideas for a new operating system into practice. He wrote the first version of Unix in assembly language for a wimpy Digital Equipment Corp. (DEC) PDP-7 minicomputer, spending one week each on the operating system, a shell, an editor and an assembler.
So the guy who created Unix, Ken Thompson (pictured above, at left), did it in just one month. That’s pretty damn impressive for something that became one of the worlds’ finest operating systems and that heavily influenced just about every major OS that followed. But it’s not entirely accurate.
The story of how Ken Thompson actually spent that month is a lot more illuminating. Even from the beginning you can see many aspects of the *nix F/OSS culture already beginning to form:
Days 1-3: Write kernel, and think of really confusing versioning scheme for it. Version 0.1.4.5-a is born! (codename: Gnarly Neckbeard)
Day 4: Write shell.
Days 5-7: Write really cool default prompt for shell, with like 18 colors and a sweet bell tone, and the current time in 24-hour format, and KEN_THOMPSON_ROOLS!!!!! in all caps right before the prompt character.
Day 8: Show Unix to colleague. Dialog follows:
Ken Thompson: “Hey, check this out, I got Unix running on this box!”
Colleague: “What’s Unix? Is it like OS/360?”
Ken Thompson: *scoffs* “Ha! It’s waaaay better than OS/360, which is obviously bad because it’s proprietary software. Did you see my cool prompt?”
Colleague: “Can it print?”
Ken Thompson: “Um, No. I haven’t tried to get that working yet. But it’s really easy to do.”

Days 9-15: Tries to get printing working.
Day 16: Finally gets printing working, but it prints everything kind of fuzzy, and only works when he restarts the computer beforehand.
Day 17: Writes angry letter to printer company demanding that they write drivers immediately for Unix. Quietly predicts that manufacturer will soon be bankrupt due to their outrageous treatment of a massive part of their customer base.
Day 18: Writes text editor.
Days 19-21: Writes really cool high-contrast colored theme for text editor.
Day 22: Calls colleague to office.
Ken Thompson: “Hey, so remember when you said Unix was worthless because it couldn’t print?”
Colleague: “What’s Unix?”
Ken Thompson: “What’s Unix!? I explained this all to you just two weeks ago!”
Colleague: “Hey, those colors are pretty cool! It really makes you feel like you’re a hacker. Can I try this Unix thing?”
Ken Thompson: *elated* “Sure”!
Colleague: “Oh, and Ken, did you get those reports done that we’ve been waiting on? The guys down in hardware are still waiting on them so they can get started”
Ken Thompson: “Let me burn you a disc!”

Days 24-29: Tries to burn disc, but isn’t able to because of really confusing command line flags. Finally realizes that CD-Rs haven’t been invented yet.
Day 30: Netboots Unix on his colleagues’ machine. Marvels at the awesomeness of this feat. But it turns out that his colleagues’ computer uses different hardware from vendors who, surprisingly, are also blindingly ignorant to the massive Unix userbase. Installation goes no farther than the BIOS screen.
Day 31: Exceedingly proud of his achievement. Has a strange sense that he has created something incredibly important. Picks family up at airport. Surprises them with Unix installs on all their home PCs! Son asks if it can play his video games.


