Skip to content

Unix room

Lessons from the Unix Room

thumb|Ken Thompson and Dennis Ritchie I was looking for a quote by Ken Thompson about his #1 failure with Unix's design (leaving the 'e' off the creat system call) and found this interview response with Rob Pike (fellow co-conspirator in the invention of Unix):

One odd detail that I think was vital to how the group functioned was a result of the first Unix being run on a clunky minicomputer with terminals in the machine room. People working on the system congregated in the room - to use the computer, you pretty much had to be there. (This idea didn't seem odd back then; it was a natural evolution of the old hour-at-a-time way of booking machines like the IBM 7090.)

The folks liked working that way, so when the machine was moved to a different room from the terminals, even when it was possible to connect from your private office, there was still a `Unix room' with a bunch of terminals where people would congregate, code, design, and just hang out. (The coffee machine was there too.)

The Unix room still exists, and it may be the greatest cultural reason for the success of Unix as a technology. More groups could profit from its lesson, but it's really hard to add a Unix-room-like space to an existing organization. You need the culture to encourage people not to hide in their offices, you need a way of using systems that makes a public machine a viable place to work - typically by storing the data somewhere other than the 'desktop' - and you need people like Ken and Dennis (and Brian Kernighan and Doug McIlroy and Mike Lesk and Stu Feldman and Greg Chesson and ...) hanging out in the room, but if you can make it work, it's magical.

I find that I miss the communal machine room environment and shared machine Unix machines. These days everyone has Unix in their pocket (hello, iPhone and Android!) and private Unix laptops (hello, MacBooks!), so it is far too easy to hide in the office, the cafe or at home rather than work together with fellow geeks.

It also made it easier for new users to become inculculated into the ways of doing things so that everyone had a shared culture. The global Usenet culture was worlds different than the fractured web-forum world, even after the beginning of the Eternal September. Anyone who posted "FIRST!!1!" to Usenet would have received a stern talking to from a local wheel user, rather than being able to flame-away from the privacy of their own home.

In many ways, I wonder if the creation of spaces like NYC Resistor and other hackerspaces have more to do with a return to the communal environment. It isn't pair programming in the XP sense, but perhaps more communal discovery rather than communal development.

Essays 2014 Programming

Last update: November 8, 2020