Memories of my Early Days with Computers (1951--1954)


The following is the slightly edited text,  and some of the slides, from a talk I gave at the University of Bergen (Bergen, Norway) in 1993. Some new pictures were added in 2001 in preparation for a talk at NWPT'01.
 

1951 through 1953

In the fall of 1951 I was in my third year in college at Harvard university as a physics major. I was aware of computers at the time because of being an avid reader of science fiction. At that time Asimov was writing some of his early robot stories and an author named Jack Williamson was writing stories about ``the humanoids'' -- a particularly troublesome bunch of robots that essentially took over and destroyed human society by being overly helpful. While the picture painted by Williamson did not encourage one to like robots it did fire my imagination and get me started thinking about what is now called artificial intelligence. It also made me interested in ``giant brains'' as computers were then called in the popular press on the rare occasions when they received any attention at all. One day in the the library I came across a book by Edmund C. Berkeley about actual computers.   Berkeley's book was possibly the first book on computers for the lay reader. It had, as I recall, a lot of material on analog computers and computers based on electro-mechanical technology, but there was some material on electronic technology. This lead me to look for more material, but the only other source of written information were a British electronics journal which I found in the library and a couple of rather technical books that I found in local bookstores. Despite this dearth of information I became very interested in computers and artificial intelligence (a direct result of reading science fiction).

By Christmas of that year I decided that I was sufficiently interested in the subject to apply the government to get a summer job as a ``student aid trainee'' in a government computer laboratory. Over the Christmas vacation I took a civil service examination that qualified me to seek such a position. More about that later.

Another important event was that I discovered that Harvard had a computation Laboratory headed by a then famous computer scientist named Howard Aiken. Aiken was a very imposing looking person with a personality to match. He was commonly called ``the Tiger'', but  not to his face. 
My understanding was that Aiken felt he had invented the computer and was not receiving adequate recognition for his work. At that time Harvard had two computers: the Harvard Mark I 
and the Harvard Mark IV (actually, the Mark III may have been there when I first visited the laboratory, but the Mark IV was at least under construction). The Mark I had been jointly developed with IBM and in IBM literature it is referred to as the ``IBM automatic sequence controlled calculator'' However Aiken had had a falling out with IBM and I was advised never to mention IBM in his presence. The Mark I had been built in 1944 and was not really a computer in the modern sense, in particular it lacked the ability to manipulate its program -- it was a decimal machine made out of ten position stepping relays, and was programmed by means of paper tapes that were the width of IBM cards and were thus, I assume, read by IBM card readers. It has been designed to compute tables for such things as naval ordnance and Bessel functions. It did a grand total of three operations a second with considerable accompanying noise.  The Mark IV was a more modern computer which I'll discuss a little later.

I also discovered at this time that there was a course about ``modern computer design '' offered by the University and that the course would be taught that spring. I have forgotten the name of the professor who was offering the course. I do remember that it was not Aiken, this was fortunate as I had enough trouble building up the courage to ask the professor if I might sit in on the course for free. He was happy to have me sit in and to include me on the various field trips that were part of the course. This was just before the invention of the transistor so the state of the art was vacuum tubes and semi-conductor diodes. The big problem was memory. A computer memory built out of vacuum tubes is very expensive. I can't remember  what was done on the Mark IV but I do remember taking a field trip during that course where we saw a computer under development at, I believe, the Raytheon corporation. In that computer the memory consisted of mercury delay lines. These were boxes filled with mercury with, in effect, a loudspeaker at one end and a microphone at the other, the contents of the memory was a sequence of sound pulses that were sent through the box. That computer had something on the order of a memory for several hundred thirty-six or so bit words. Physically the memory consisted of a mercury delay line for each bit -- that is, thirty six boxes operating in parallel.   They were very proud of this memory even though it was not operating correctly on the day of our visit. And, I should add, we were also very impressed.

On the basis of my score on the civil service exam and on the basis of having audited the above mentioned class I received a number of job offers for that summer and accepted one at the Bureau of Standards in Washington DC as a student aid trainee in their computation laboratory. Because of my major in physics I was given a position in their components research group. My job was not all that interesting as it consisted largely of collecting data on the aging of semiconductor diodes, but the place as a whole was very interesting. Their computer at that time was the SEAC computer -- Standards Eastern Automatic computer (There was also a SWAC somewhere out on the west coast). I was not allowed to use the computer -- it was a very delicate machine with all its I/O on paper tapes. It was very temperature sensitive and as a result all the air conditioning in the building was dedicated to cooling the computer. Washington is very hot and humid in the summer -- without air conditioning one tends to be covered with a thin layer of perspiration all summer long. I was particularly aware of this as I received a very large number of electric shock from my apparatus for testing the semiconductor diodes. There was considerable emphasis on memory at NBS. The main emphasis was on Williams tube storage -- this is a system where cathode ray tubes are used for storage. Again, as with the mercury delay lines, you have a CRT tube for each bit with the ith bit of many words appearing on the ith CRT. You have a bright spot for a 1 and a blank spot for a 0. A conducting film on the face of the tube is able to detect whether the spot being scanned is bright or blank. Of course you have to continually scan and refresh the image and, as with the delay lines, you may have to wait until the scanners get to the desired word. They were also working on magnetic core memory but with very large cores about the size of my thumbnail. This was an exciting summer but by the end of it I realized that I was more interested in the design of computers than in the physics of components .

That fall I got a part time job in the chemistry department as a ``computer'' (How many people in this field can claim to have been a computer?). What I did was solve  sets of eight linear equations eight unknowns for some chemists who were trying to determine the exact shape of a particular tetrahedral molecule . The procedure was that they would do an experiment and produce data in the form of the coefficients for the equations and I would then invert the matrix using a  Marchant mechanical calculator and taking about 8 hours at $2 per hour. Fortunately for me, they had a lot of trouble with their data collection and the computations never produced a reasonable shape for the molecule (typically, on a scale where the base triangle formed by three of the atoms would be about 10 cm on a side, the fourth atom would be computed as being about a kilometer away). This paid part of my way through college and was more interesting than being a waiter in a restaurant -- my occupation during my first three years in college.   . By the way that the Marchant machine cost about $800 ($5000 NOK) you can get a better machine today for 1/100 the cost.

That fall, when I returned to college I decided learn about the use of computers and so enrolled in a course in numerical analysis that included learning how to program the Mark IV. The programming part of the course was taught by Ken Iverson who later on developed the programming language APL. One of the course requirements was that we would have to write a program and run it on the Mark IV -- I decided to program matrix inversion for 8x8 matrices. Programming the Mark IV was very difficult by today's standards. For starters the programming as done completely in machine language. Instruction were just strings of digits -- the first couple of digits represented the operation codes and the remaining digits indicated which locations in the memory were to be employed. there were no mnemonics or other aids -- all addresses were absolute (what you wrote was what you got). Also there were no index registers  so in order to add together the contents of memory locations 100 through 200 you had to either write 100 addition instructions or write codes that directly modified your program as it ran. One saving grace in all this is that the computer was decimal rather than binary so all these computations were carried out in ordinary everyday familiar arithmetic. Another complication was that the machine went through its instructions at a fixed rate -- and if you did a division say at step 10 the result would not be available until something like 10 times steps later i.e., at step 20 of the program. The programmer thus had a choice of either leaving those steps blank or doing addition, subtraction and shift operations during that time. Since the memory was rather small it was important to try to be efficient and do things during these divisions and multiply gaps -- actually this problem still exists today on some machines but it is taken care of by the compiler and so we never have to contend with it as long as we avoid writing. compilers. The writing of the program to be run on the Mark IV was one of the last events in the course. Despite having had months to work on it I did most of the programming the night before the program was to be run -- it was the only time in college when I actually stayed up for the whole night. But, as you can see, all night hacking is not a recent development The thing that made the project particularly difficult was the manner of entering a program into the computer, The input was done on magnetic tape . The problem was getting the program onto the magnetic tape. This was done using on what I hope was one of the most primitive devices in the history of computing. What you did was mount a tape on a device that (relying on my memory of an event that took place forty years ago) looked something like this slide.

Then yoiur took your program and entered the instructions one by one (number by number) by punching these keys -- as your punched the keys the digits came up in these little window (a mechanical display -- no electronics) if you entered a wrong digit you pushed the erase and started the line over again -- if you got it right you pushed record and it was written on the tape. There was no way to correct for a missed line except by writing in a patch. At three or four n the morning it is extremely hard to operate such a device and I was there for a long, long time. However, after a very fast breakfast, I finally go on the machine. We mounted the tape on the Mark IV, pushed the start button and, of course, got the wrong answer, bugs have also been there since the beginning of computing. However, working on the machine we (Iverson and I) were able to pinpoint all the bugs and it was possible, once the program was in the machine , to modify the contents of locations, and so, after about fifteen minutes I got the correct answer. I knew it was correct since it was a matrix that I had inverted for the chemists somewhat earlier (of course the molecule was still an impossible shape). What did impress me considerably is that, once debugged the program took less than a minute (30 seconds) to run. It was clear that I did not have much of a future as a computer per se. since that made the Mark IV about 500 to 1000 times as fast as I was .

During that same last year of college I also pursued my original interest in AI like aspects of the subject -- I took a course on the physiology of the nervous system and I took a course of probability and statistics in the hope that these subjects would provide the necessary tools for making some real progress in the area. I didn't find these courses to be very encouraging even though they were interesting. However, I also took a course in logic from Willard Quine and that was both interesting and useful. For one thing it clearly provided tools that would be useful in the logical design of computers and secondly it stimulated me to design a very small relay computer for evaluating logical expressions. This activity in logical design coupled with the need to get a job stimulated me to look for a position in the then fledgling computer industry. I applied to a number of companies but it was clear to me that IBM was the leader in the industry at that time. When I accepted the position at IBM I recall telling Iverson about it and his immediate remark was to be sure not to tell Howard Aiken about it (I heeded this advice and so lived on to work at IBM).
 

1953 ...

I arrived at IBM  at 8:30 in the morning on June 15, 1953. :IBM was a much smaller company in those days and it was still under the direction of Thomas J. Watson Sr -- the founder of the company.
At that time IBM's major business was in tabulating machines , card punches, card readers, typewriters, time clocks, and other such mechanical devices. However it was becoming obvious to IBM management that there was a lot of potential in the computer market. I was told that the real decision to go into computers was not made by Thomas J. Watson Sr. but rather by his son, Thomas J. Watson Jr. Part of the story is that he decided that it would be very good for the company's prestige and that, with a little luck, they might sell as many as thirty-five computers. Whether or not that story is true is hard to say, but certainly there were many people around at that time who did not believe that computers were going to be much than special toys and tools for scientists.

A good solid, reliable product in those days was electromechanical and consisted of parts such as the following:

By the time I got to IBM they had pretty well accepted the idea that there was money to be made in the computer business. They were already offering the IBM 701 as a product and I'll have more to say about that shortly. But I was hired to work, as a logical designer on the SAGE computer. This was a big project done jointly by IBM and MIT . At the time I joined the project the computer was called something like the ANFSQ7 -- but later on it was renamed the SAGE computer ( I have said for years that this stood for Simulated Air Ground Environment -- and this may have been true at some time but the official translation is somewhat different and despite having read it last week I forgotten the last two words -- but it started out as Sequenced Automatic something something). The purpose of the computer was to be able to track all the airplanes in an area the size of the NE US in the event of a Soviet air strike. However, Before describing the SAGE let me give you some more idea about its precursors.

Of course there were some business machines around before my time at IBM that were predecessors of the computer. One that I never saw was the Selective Sequence Electronic Calculator that came out in 1948 -- I think they only made one (and it may have also been done in collaboration with Harvard -- but I couldn't tell from the literature of the time). That computer had 20,000 words of paper tape storage (66 readers reading loops of papers tape of the width of IBM cards. 150 words of relay memory and 8, yes eight, words of electronic memory. It could perform a multiplication in 20 milliseconds. The significance of this machine is that it was ``the first operating computer with instructions treated like data. '' That is actually a quote from some IBM literature and I think that the word ``operating'' is probably very significant as John von Neuman is generally regarded as having designed the first computer in which instructions were treated like data and this was not the SSEC but the ``Jonniac '' at the Institute for advanced study in Princeton.

One of the precursors I did get to see and program during my first summer at IBM, this was the IBM 604 -- this was a n actual product. It had the capability of performing a program with 60 three address instructions. The program was first designed on a piece of paper that looked like this and was then wired into the computer using a wiring panel or plug board that looked like this. To figure out the wiring one used a piece of paper that could be laid over the plug board after one had drawn the wires on it. Here is an actual one from forty years ago with my wired program on it.
[Sorry,  I couldn't get my program to copy properly -- but here is an example from the  manual for  the IBM 604].  It is easy to see that this way of programming is very messy -- it makes GOTOs look positively benevolent. 

The 604 was superseded by the 607. Here is a picture of this worthy device
and here is an article about it from an edition of The IBM Record from April (?) 1953.  I have underlined some of the material that is particularly interesting.

 

If you read the material with the red underline, I think you see  some reflection of the belief , widely held at that time, that there was not much of a market for really large computers.

However, the first of the real IBM computers came out essentially at the same time as I joined IBM. This was the 701. While cleaning out my office  prior to retiring from IBM I found an advertising flier for the 701. Here is the picture of it from that flier (I have edited the background to make it a uniform color and I have removed text that was impossible to read).

As you can see , this is a physically large machine. with many parts. There are eleven different boxes, from left to right we have: Two Magnetic tape drives, Magnetic drum storage, power supply, electrostatic storage (Williams tube), power control and distribution, computing and control, operator panel, card reader, printer and card punch. However, if we look closer we find that, by today's standards, this machine is very small.  According to the brocure,
Each reel of magnetic tape can "store more than 2,000,000 digits", each magnetic drum can "store 40,960 digits" and the William's tube storage can "store 10,240 digits".
Another way of looking at the size of the Williams tube storage is that is consisted of 2048 "words" each consisting of 36 bits.   The fast storage, the Williams tubes, had an access time of 12 one-millionths of a second. i.e. 12 micro-seconds per cycle. Addition took 5 cycles and multiplication and division both took 38. However, despite the fact that 701  did not have index registers nor  an assembly language of any consequence, it was much easier to program than the Mark IV largely because of the use of IBM cards as an input medium.

There were some shortcomings however. These early computers were not very reliable. There was no internal checking and programs had to contain lots of checking and also had to print out intermediate results so that not all would be lost in the event of a hardware failure. The degree of unreliability is illustrated by the following:

The williams tube storage was very photogenic. 
The motion of the dots of storage gave ;you a picture of the computer in operation that intrigued visiting dignitaries. As a result it was the practice at IBM's main office in New York to photograph such visiting dignitaries in front of the williams tube storage. The computer was so generally unreliable, and broke down so frequently, that it was some time before they realized that each time they took such a photograph the flash of the flash bulb completely erased the williams storage.
The 701 was a vacuum tube computer and the tubes were gathered in modules a long way from a modern silicon chip.  But it does explain why the computer took up so much space.

SAGE

The SAGE (Semi-Automatic Ground Environment) computer was both IBM's first really big computer project and also its last vacuum tube computer. The purpose of the computer was to track airplanes in the event of a Soviet attach on the United States.  These computers we also known as the AN/FSQ-7 computers, for Army-Navy Fixed Special eQuipment.  Each duplex system contained over 50,000 vacuum tubes, weighed 250 tons and occupied over an acre of floor space, and drove over 100 consoles.. It was built out of modules (called "pluggable units") that were 1.5 feet long, a foot high and 2.5 inches wide (about half a meter by a third  of a meter by 6 cm). each of which contained six to nine vacuum tubes. I was in a group that designed the control circuitry and that contained over one thousand vacuum tubes  For reasons of reliability, the computer was designed with two of everything.
.
The picture shows the arrangement of the two computers making up a typical installation. The building also contained three other floors containing other parts of the overall system.   With fifty thousand vacuum tubes all going at once there must have been quite a problem keeping it cool. However the tubes had one advantage over transistors, when the machine went down the most common problem was a burned out tube and that could be detected by turning out the lights and looking for a tube that was not glowing . The redundant design, by the way, was very successful, the true down-time when the whole machine was down was very very low, generally hardware failure in half of the dual machine could be detected and corrected before the other half developed a problem.  The memory consisted of magnetic cores  wired together in planes consisting of 4096 magnetic cores:  little ferrite donuts inside  dimensions 50 mil and outside dimension 80 mil (1 mil = 1/1000 of an inch =  0.00254 cm).The picture shows a corner of one of the planes with a U.S. dime resting on it.  Four wires pass through each ferrite core. Four wires passes through each core.   I was told, at the time, that the cores were all wired by women since they had more patience than men, and that it took three months to wire a plane and that after completing a plane they were give a month of vacation.

As I said above, I worked on the design of the control circuitry. I found that my knowledge of logic was useful in logical design and that designing a computer had a lot of satisfactions. But I also felt that there were many problems of a theoretical nature that were more interesting than the day to day problems of engineering design. While logic was useful, minimization was very difficult and eventually it was thinking about this problem that lead me to become a researcher rather than an engineer. There were also lots of other problems of design . One that was answered shortly after that time was how to handle the endless drawing and redrawing of logical diagrams.  This took a lot of time and was a very boring job for the draftsmen since the drawing consisted of nothing but little boxes with arrows connecting them.   The answer of course was to let the computer do it rather than a small army of bored draftsmen.. A much more difficult problem was the laying out of wiring on the back panels of the computer. Unless you have tried it you can barely imagine the feeling of frustration one has when you lay out several hundred wires and and discover that there are still five more wires to put in and the only feasible thing to do is to start over.  One of my co-worker became so tense from doing wiring layouts that he began constantly losing things such as his wallet, his car keys, his pen, etc.  and was finally sent on vacation.

  To be on the project we all had to get government clearance.  The first level of clearance, confidential clearance, did not take long to get.  However, we were then  required to get secret clearance.  That took a long time and caused problems because something we had designed could be classified secret and then we were not supposed to know anything about it. In particular, it is very frustrating when, as the inventor of some part of the computer,  you are not allowed to read the documents you have written about it   People had this problem the whole time I was on the project  (from June 1953 until April 1954).   I left the project  when I was drafted into the United States Army.   My clearance came though after I went into the Army, where, of course, I didn't need it.

Upon my release from the army I returned to IBM, but as a researcher on Switching Theory in their newly formed IBM Research Division.  This lead to IBM sending me to graduate school at Columbia for a PhD in Mathematics.   From there I returned to IBM where I stayed until I retired in 1993.  I continue to do  mathematical research in theoretical computer science.

Revised 2 September 2001