Remembering Warren Teitelman
 
Share your thoughts, memories, and stories of Warren.
Sign Guestbook
View Guestbook

Request for photos:

If you have pictures of Warren that you would like to share with us, please mail them here and we will add them to our photo album

Photos from his time at BBN and Xerox park (etc.) would be much appreciated!

The following is an excerpt from Warren's book, "Memoirs of a Geek."

 

ARPANET

 

 

In 2004, Bob Kahn would share the Turing award with Vint Cerf “For pioneering work on internetworking, including the design and implementation of the Internet's basic communications protocols, TCP/IP, and for inspired leadership in networking.” Bob and Vint would also be awarded the Presidential Medal of Freedom for their work on TCP-IP, the Internet's basic communications protocols. Vint Cerf is the person most often called the father of the Internet (sorry, Al Gore), but I think Bob deserves just as much credit.

 

I first met Bob at BBN in the late 60s. He joined BBN a year or two after I did. Bob would often come into my office to bounce ideas off me. At one point he came in to discuss a problem he was having trying to work out some combinatoric issues with regard to the ARPANET that was just being implemented. The issue had to do with how you connected up n nodes. Did each node have to connect to each other? Should there be some “hubs” as with the airline industry? Etc.

 

I had taken a course in Combinatorial Analysis from Marshall Hall[1] when at Caltech and we touched on a discipline called Block Design. I told Bob that his problem sounded like a problem in Block Design and suggested he consult Marshall Hall’s book on Block Design. He came back a day or so later and told me that I had just saved him months of work.

 

Bob gave me a much more interesting assignment when he came to me on another occasion and asked if I would write a program in BBN LISP that simulated traffic on the ARPANET – at that time, there were only about a dozen sites! – in order to enable him to study various important aspects of networking. He was especially interested in the ways in which networks become clogged. He also wanted to experiment with various algorithms and heuristics for unclogging them.

 

The idea was that Bob could specify various policies for dealing with outages, traffic, etc., and then we would inject packets into the simulated net and watch what happened. For example, if a packet was going from L.A. to Boston, we might pull Denver off line and see – on the display – whether the packet would automatically reroute to Salt Lake City and go around Denver. When the packet got to Salt Lake City and discovered that the line to Chicago was very congested, would it automatically reroute to St. Louis? Could we create situations in which a packet would loop around in a circle because it would keep changing its mind about what was the shortest path?

 

We actually observed some scenarios in which the network seemed to deadlock. We weren’t quite sure whether or not to believe my simulation program, but indeed, a year or so later when we were able to actually field test the ARPANET, we found that the simulation program had in fact accurately predicted this behavior.

 

I gave a talk about my ARPANET simulation program at the Third Princeton Conference on Information Sciences and Systems in 1969. The talk was well received, and the abstract of the talk subsequently received a lot of citations. (See Figure 33.) I’m sorry that we didn’t write a full paper, and even more so that I don’t have any screen shots. It was a lot of fun, though.


For these activities, as well as my work on BBN LISP, I would be considered an ARPANET Pioneer and invited to participate in the celebration of the 25th anniversary of the ARPANET in 1994 (see Figure 34).

 

From a professional perspective, I consider myself fortunate and honored to what little degree I was able to help Bob in his early efforts. But Bob and I also became friends outside of work. We frequently playing squash, tennis, and went skiing together. I also managed to lure him once into a dog sledding outing. That’s Bob with Korak and Orc, Ken Ledeen’s dog, in Figure 35. Bob was 30 at the time.

 

Bob introduced me to golf. Bob was an excellent golfer, and had played on the varsity golf team in college. He would address the ball, and I could tell he was thinking something like, “Would I rather be 240 yards out on the left or 260 yards out on the right?” When I got up to address the ball, I would be thinking “I sure hope I don’t miss the ball entirely!”

 

In addition to playing the full size course at Stow, Bob introduced me and Danny Bobrow to the Powderhorn Par-3 Course in Lexington. On one of my first outings, I had hit my ball into a sand trap that was elevated about eight feet above the green. I knew from reading Sports Illustrated that I was supposed to hit behind the ball and “explode” it out of the sand. However, with the typical beginner’s reluctance to hit the ground, I skulled my shot.

 

On a skulled shot, the leading edge of the club hits the ball near the ball's middle, sending the ball screaming off on a low trajectory with little or no spin. A skull often travels farther than expected or desired, especially on skulled shots around the green.

 

This was certainly the case with my shot. It went rocketing across the green and probably would have come to rest a hundred yards away. Instead, the ball hit the flag, and dropped neatly into the cup! Since this was only my second or third time playing, I turned to Bob and innocently asked, “Does that happen often?” Bob just shook his head in disgust several times and walked away.

I was the Principal Investigator on BBN’s ARPA contract. One benefit derived from this  was that I got to attend the meeting of all of the ARPA PI’s that was held at Alta Ski area! The Alta conference was the best boondoggle I ever got to attend (although a conference I went to at Capri, Italy in 1982 was a close second). I guess it wasn’t really a boondoggle in that we did do useful work. We would meet in the mornings and evenings, but we would get to ski in the afternoons!

 

Bob Taylor hosted the conference. Bob Taylor had run ARPA for a number of years in the 60s. He would later be my boss when I went to Xerox PARC. But at this point in time, he was decompressing at nearby University of Utah.

 

The PI’s [Principal Investigator] met and discussed various ongoing ARPA research projects in our meetings. The atmosphere was very casual, and also thin! This was my first time at a high altitude. Although it was only a modest 8500 feet, nevertheless the atmosphere had quite an effect on me. I remember midway down my second or third ski run on the first day almost overcome by the desire to ski off to the side and take a nap. Serious oxygen debt. I didn’t realize I had to make a conscious effort to breathe. And one time in a meeting, somebody said something funny, and I started laughing and couldn’t stop. I was rolling around on the floor and everybody was looking at me in amazement. I’m sure it was the altitude.

 

I met a number of people at the Alta Conference that would later play an important part in my professional life, including Alan Kay, Jim Mitchell, and Bob Balzer.

I was invited to join the International Federation for Information Processing Working Group 2.3 in 1968. I am not sure quite how and why I was invited, but it sounded prestigious and I got to travel to Europe, so how could I refuse? IFIP WG 2.3 was a working group on Programming Methodology, which covered a pretty wide area as I would find out.

 

The first meeting I attended was in Rome in 1968. (This was where I had my adventure at St. Peter’s with the two schoolteachers discussed earlier.) I gave a talk about the work I had been doing with BBN LISP aimed at making it easier for developers to find and fix bugs quickly. I explained how users could put in breakpoints, examine the state of their program, edit the program and continue with the computation. If an error occurred, the program would automatically go into a break in which the user could examine the current state of their program variables and data. They could reset these variables or modify data structures, could edit their source program, and continue the computation with their changes taking immediate effect.

While I was talking, one of the more famous computer scientists in the world, Edsger Dijkstra began shaking his head from side to side in disapproval and frowning. Dijkstra is considered to be the father of structured programming. He was a determined crusader against the use of GOTO statements in programs. He considered these to be inherently evil, arguing they should be replaced by structured control constructs such as the while loop. He would win the Turing award in 1972. The citation reads: He is one of the principal proponents of the science and art of programming languages in general, and has greatly contributed to our understanding of their structure, representation, and implementation.  And Dijkstra was clearly very unhappy with me.

 

He was sitting in one of the first few rows, so it was hard for me to ignore his obvious disapproval of what I was saying. Finally, he stood up and raised his hand. I had to recognize him and he began a little speech. He told the gathering that he felt that making it easier for programmers to recover from errors was basically the devil’s work, and encouraged sloppy thinking. That when one of his students found a bug in a program, he made them go into an empty room with a blank sheet of paper and rethink the program’s logic. Dijkstra could on occasion be somewhat arrogant and pretentious.

 

Dijkstra then made a somewhat sarcastic reference to me as an “internationally renowned software entomologist.” He finished his impromptu diatribe by dramatically asking the audience, “Just how many bugs are we going to tolerate in our programs?”

 

Alan Kay (inventor of Smalltalk and a good friend – more on Alan later), who got along well with Dijkstra, once said that “Arrogance in Computer Science is measured in nano-Dijkstras.” Dijkstra enjoyed sparring about all things, especially those he could pontificate about. He would often write what he called “complaints.” For example, he wrote a piece entitled "On The Fact That The Atlantic Has Two Sides." Its central premise was that "real math" was only done on his side of the Atlantic. That on the other side of the Atlantic math was woefully lacking, especially in computing. In response, Alan wrote a rebuttal entitled "On The Fact That Most Software Is Written On One Side Of The Atlantic.” Alan’s counterargument was that computing wasn't like classical math, but constituted a new kind of math. Part of the newness was that because of the expansion of degrees of freedom with computing, we didn’t get to prove very much but had to *debug* our theories!

 

“Edsger was very amusing in his snottiness and snootiness,” said Alan.[2]

 

But back in 1968, I didn’t find Dijkstra amusing at all! I was 27 at the time, but I knew when I was being punked. Something in me made me blurt out in response to his rhetorical question about how many bugs were acceptable: “Seven!”

 

And the audience broke into laughter.

 

I don’t think Dijkstra ever forgave me for that. I shudder to think how he would have reacted to me if this encounter had occurred a couple of years later after I had implemented DWIM, which automatically corrected spelling errors in programs.



[1] Marshall Hall was my undergraduate math adviser at Caltech. He was also Don Knuth’s Ph.D. adviser when he matriculated at Caltech.

[2] Personal communication.

Figure 33: A Network Simulation and Display Program – Abstract (1969)


Figure 34: ARPANET 25th Anniversary Celebration (1994)


Figure35: Bob Kahn joins me and Korak for dog sledding (1968)