Seibel: From your vantage point on this stone wall, do you feel there isenough going back and forth between the academy and industry?
Allen: Well, NSF published a wonderful report with a one-page graph a fewyears ago which showed where several billion-dollar industries come from,like graphics, the Internet, high-performance computing, transistors. Thesebillion-dollar industries were down the y-axis and on the x-axis was atimeline showing when it started, what was the role of industry, by lab, andwhat was the role of academia.
Some started in industry; some started in academia. Together, these twoentities had contributed pretty much equally into building these multiplebillion-dollar industries. I think the real important thing is to protect theinterplay so that there’s a lot of cross-channeling of ideas, and oftechnologies, and methods, and investments to see it continuing.
Right now, with the focus that the U.S. has on maintaining innovation, andthe importance of it, I think we’re doing pretty well in terms of interaction,working together, and solving problems together. And solving the problemsthat keep us from solving problems—intellectual property being one ofthem.
Seibel: IBM is not exactly blameless there.
Allen: Not at all.
Seibel: You must have your name on patents.
Allen: No, none. Part of it is that software wasn’t patentable. The otherthing was that I was often working at the leading edge of things and the bestway to get it into IBM was to publish it and some other company would pickit up. I was much more interested in getting it into products than to gettinga patent on things.
Seibel: So that was easier than convincing someone within IBM to build aproduct based on your research?
Allen: We have a much better way of doing things now. But there was along way, sometimes, between a good idea in research and a product.
Seibel: Since receiving the Turing Award has caused you to reflect a bit onyour whole career, is there anything that you’ve realized ties it all together?
Allen: I think my career and the way I do things—the one word that kindof sums it up is “exploring.” I love exploring the edges—of ideas, ofprojects, and the physical earth, whatever it is—people too—and that I findvery exciting.
But there’s a flip side in that I’m a starter, not a finisher. I get attracted tonew things. The field of compilers was just a marvelous field because thecomputers continued to present challenges. And the problems being solvedcontinued to be increasingly challenging.
Bernie Cosell
In 1969 when the first two nodes of the ARPANET—the network that wouldbecome the core of the Internet—came on line, every packet that flowed over 50kilobit/second leased lines was routed through two specialized computers calledInterface Message Processors, or IMPs. The IMPs were designed and built by BoltBeranek and Newman (BBN), and the software that ran the IMPs had beenwritten by a team of three programmers, one of whom was Bernie Cosell, who hadleft MIT three years before, at the beginning of his junior year, to join BBN.
Originally hired as an application programmer on a project building one of theearliest timesharing systems, Cosell quickly moved to the systems programmingside of things and was soon “czar of the PDP-1 timesharing system” responsiblefor finishing the operating-system code and keeping the system running.
Over a 26-year career at BBN, Cosell would work on a little bit of everything,earning a reputation within BBN as a master debugger and “fixer” who could bethrown onto a struggling project to make the software work. And he hacked justfor fun: to hone his Lisp skills he wrote DOCTOR, a version of JosephWeizenbaum’s ELIZA, based on Weizenbaum’s description in a journal article.Written in BBN-LISP, which spread around the ARPANET along with the TENEXoperating system, Cosell’s version of DOCTOR also had a wide distribution—widerthan Weizenbaum’s original—inspiring new implementations and relatedprograms.
In 1991 Cosell left BBN and bought a sheep farm in Virginia, where he nowlives with his wife Lynn, three dogs, innumerable cats, and lots of sheep. Hedoes some programming for a local ISP, hacks a bit on his own projects, andteaches a few courses in programming and computer security but is glad he nolonger works as a full-time programmer. Ironically, as a result of his move tothe country, Cosell—one of the fathers of the Internet—now has only dial-upaccess from his home.
In this interview we talked about how he won his reputation as a master debugger,the importance of writing clear code, and how he convinced the otherprogrammers on the IMP project to stop patching the binary.
Seibel: When did you first get involved with programming?
Cosell: In high school. I don’t know if it was true or not but the rumor wasthat our high school was the first high school in the country to actually haveits own computer. IBM donated a 1620 to our high school. I think it arrivedeither the year before I arrived, or the year I arrived at high school in ’59.
Seibel: And what high school was it?
Cosell: Bronx High School of Science in New York. I believe the previousgeneration of students were using Columbia University’s 650. But the headof the math department was very pleased that he had his own computer. Infact, he was writing a book on programming and this was back when thereweren’t many books on programming. I ended up debugging all of hisexamples. Almost the only thing I remember about high school is learning toprogram.
Seibel: What were you programming then? Assembly on punch cards?
Cosell: Yeah. Well, it was punch cards but the 1620 also had a console. Ithad an IBM Selectric typewriter that was the input/output console, and youcould input programs from that. To show you the era it was, they chose notto put arithmetic hardware in it. It had table-lookup arithmetic: there wasan area of memory and when you wanted to do an addition, one digit gaveyou the row, one digit gave you the column, and the value was there. Andpart of every program was loading that part of memory with the additionand multiplication tables.
So you could actually type from the typewriter but mostly we punchedcards and loaded them in. There was a Fortran for it but I never did verymuch Fortran. Mostly, I programmed in 1620 assembler.
The other thing I learned in high school is how to wire plug boards.Someplace along the route, we had something like an old 403 calculatingprinters and I learned how to wire a plug board. It was such a primitive art,even at the time, but it turned out to be useful. At BBN, like ten years afterI was in high school, we actually needed somebody to wire a plug board andI just said, “Oh, give me the manual on that thing.” And I read the manualand made an old standalone accounting-machine printer do a primitiveprotocol to serve as a line printer on our PDP-1.
Seibel: And in between high school and BBN you went to MIT?
Cosell: I graduated from high school and entered MIT in ’63. I was a solidmath major at MIT, taking an odd computer course. Computers were stillan occasional class taught out of the electrical engineering department; youcouldn’t major in computer science. Folks were just starting to build thefirst time-sharing systems on the 709 or 7094, whatever they had at thecomputer center, but I was pretty busy doing math.
I took some EE courses and logic courses and I took the odd computercourse and seemed to be OK at it. I didn’t understand what the really goodprogrammers did because I was just a little kid. But I seemed to be able toprogram.