Bell-Labs

In April of 1977, the end of my junior year at Princeton, I applied for a summer intern position with Bell Labs.  Bell Labs had a high-volume internship program – lots of people from lots of places going into lots of different departments and locations. I really wanted to get into Center 127 which was the heart of UNIX development, but as a research department they didn’t really participate as much in the summer intern program. And I could have leveraged people at Princeton who also worked with Bell Labs, but I was clueless.

So I ended up applying to the normal intern program and I was brought in to interview. When asking around about how I could get there, I learned that Prof. Jeffrey Ullman went up there frequently so I was able to hitch a ride with him. The gentleman that I interviewed with and who would have been my hiring manager was Dr. Gottfried Luderer.  I don’t remember exactly what his group did – it certainly involved UNIX but it was not the main UNIX group.  Gottfried somehow convinced Ken Thompson to have lunch with us that fateful day, and I was able to tell Ken all about my work with UNIX on the IBM 370.  Coincidentally, the UNIX guys had just begun a port of UNIX to an Interdata 8/32 minicomputer, whose architecture was quite similar to the 370.

Center127Ken then launched my career by stealing me from Gottfried for the rest of the day and indeed I ended up working in Center 127 for the summer.  After I got my job offer, a friend at school asked me “How does it feel to be set for life?” I didn’t know it then, but I certainly was!

I worked most closely with Dennis Ritchie and Steve Johnson – Steve was very much my mentor. The goal of the Interdata project was not just to port UNIX to the Interdata, but to create a portable UNIX which could easily go to many machines. By the time I arrived, the Interdata kernel and shell were functional and I dove in to make many of the user programs portable – tweaking and testing them with both Interdata and PDP-11.

Interns were required to write a technical note at the end of the summer describing their work. I hated writing with a passion but managed to crank out this note about Inter-UNIX_Portability.  [Update: I just found that my paper was distributed more broadly within Bell Labs in a memo by B.A. Tague]

My work was cited in Johnson & Ritchie’s paper “Portability of C Programs and the UNIX System“.  Version 7 of UNIX was released to the world in 1979 with the portability work in it and I receive credit in the preface of its manual. UNIX was thereafter ported to every major computer architecture.

Continue to part 2 for more about the people of Bell Labs.