Advent of Computing - Episode 174 - The Bell Model I

Episode Date: January 12, 2026

We are getting back to the actual digital family tree. In 1937 George Stibitz built a tiny binary adding circuit on his kitchen table using scraps he "liberated" from his job at Bell Labs. In 1940 he ...demonstrated a machine he called a computer. That research forms one of the foundations of modern computing. It also forms a weird temporal phenomenon that I have yet to name. Maybe the Curse of '37? Selected Sources: Zeroth Generation by George Stibitz (NOW WITH A 2nd EDITION!) http://www.bitsavers.org/magazines/Datamation/196704.pdf - Stibitz in Datamation  

Transcript
Discussion (0)
Starting point is 00:00:00 When does the history of digital computing begin? Can you even put a time on it? I love this question because there isn't a correct answer. Computing as a concept is old. It's durable and it's nearly chimeric in nature. Ever since humans moved beyond simply counting, we've needed a way to crunch numbers. That process, computing, has always been a huge hassle.
Starting point is 00:00:30 As such, new and very diverse technologies have sprung up over the years to make that hassle a little more manageable. It's also interesting to note how computing and pure mathematics are very cleanly split. Mathematics is the realm of symbol manipulation. If you start actually calculating the results of operations using numbers, then, well, that's not math anymore. That's computing. The distinction is a little muddy early on, but if you take any college-level mathematics, the riff becomes very obvious. Many mathematicians I know can't even do arithmetic anymore. That's just a different discipline. I gotta get back on topic before I get too
Starting point is 00:01:15 carried away. With such a long history, what should we pick as the starting point for digital computation? Is there some point where the human tradition of number crunches, reaches some special threshold? Do you get some specific technology that pushes us over the line into some new period? I think it's a lot more subtle than that, which is why the question is so fun to consider. If you want an example, look no further than books on the subject. Most books on computer history, be they broad-focused or more specifically focused on one topic, have some section covering the early days of computing.
Starting point is 00:02:00 Humans just love to pick out a first. One of the earliest computer history texts, 1953's Faster Than Thought, pegs the start of computation to 5,000 years ago in Mesopotamia. Digital computing, by their reckoning, starts with the abacus, that device being created in Samaria some 4,500 years ago. I've seen other texts claim that digital computing doesn't really start until the machines around 1945, ENIAC, the Harvard Mark I, or the Colossus, if you're feeling British. Others will take a middle ground and claim, well, everything really starts with Babbage in the
Starting point is 00:02:43 early 19th century. The neat thing is each of these claims has an amount of credibility. You can make an argument for 3,000 BCE, or 1820, or 1920, or not. 1945. My favorite argument, however, is tucked in between. I like to think of 1937 as the start of the digital age. Why? Well, it just feels like a good year. And besides, in 37, Iowa is a dry state, which is, for some reason, very crucial to the development of the digital discipline. Welcome back to advent of computing. I'm your host, Sean Hass, and this is episode 174 The Bell Model 1.
Starting point is 00:03:36 For the last few episodes, well, really for the last few months, I've kind of been on a detached branch of the family tree. I've been in this rut of looking at technologies that, well, they don't exactly go nowhere, but they also don't exactly link up with the main thread of computer development. I tend to get into these kind of ruts where my inscrutable train of thought leads me down more and more obscure branches. Today, I'm jolting myself back onto the main line. I'm taking this back to basics to cover something that is, undoubtedly, directly on the lineage
Starting point is 00:04:16 of modern computing. So we're going to be talking about George Stibbitts and his complex number computer. Stibbitts holds a place as one of the founding lights of digital computing. He was one of perhaps three or four researchers in the same. the 1930s, it figured out the full potential of digital circuits. That initial realization would lead to a series of increasingly sophisticated machines. The first of these machines was called the complex number computer, sometimes called the complex number calculator, or the Bell Model 1. And this machine did it all. At least, it did a lot. It could crunch
Starting point is 00:04:57 numbers, handle multiple inputs, and even be controlled remotely. What's not to love. Today, we'll be following Stibbitt's work up to the C&C, or the Model 1. There's interchangeable names. Along the way, I want to stop and look at a few fundamental questions. First of all, how did Stibbitts happen upon digital circuits in the first place? How does that fit into other contemporary advances? Second of all, I want to understand the C in C&C. Why is it computer sometimes, other times, calculator. I know the CNC wasn't the most advanced thing, but just how primitive was it?
Starting point is 00:05:39 Are we talking about an early computer or something closer to an ancestor of the digital machines we all know and love? Our story begins in 1937. Now, that is a long time ago. Crucially, this puts us in the odd interwar period. I say odd because this is really the primordial period for digital computer.
Starting point is 00:06:05 or at least electronic digital computers. Let's be careful and specific, shall we? The Second World War would lead to massive investment in computing research. This happened mainly in the United States and England and to a lesser extent in Germany. By lesser extent, I mean Conrad Zeus was able to escape frontline service and get a little bit of money and be put in a position where he could loot certain material from Berlin. but that's a whole different story. Before that infusion of support, we get some weird stuff.
Starting point is 00:06:41 There are basically no standards yet established, no work to expand on, no giant's shoulders to stand on. In this period, we had a few forms of computing devices, but they weren't really in the digital lineage. We had analog machines, which I'm not going to say anything about. I swear. We had mechanical desktop calculators like the Marchant, which could do simple arithmetic operations. These were mainly used to help with ad hoc and repetitive work.
Starting point is 00:07:12 Really, it's best to think of a desktop calculator as a force multiplier. They helped human computers do more work faster, but the work was still manual. The only other calculating devices on offer were punch card tabulators. This is another thing I've kind of talked to. about to death, or at least, they show up in enough episodes that we've talked a lot about tabulators. Here is what's important. Tabulators couldn't do very sophisticated calculations.
Starting point is 00:07:45 They were basically accounting machines. You could do payroll, you could do analysis of certain types of problems, but there were limits to what you could do. And those limits were pretty restrictive. They were so restrictive, in fact, that John at Nasoth went on a late-night Joy Ride, stopped at a roadside hockey talk, and came up with the foundations of a digital computer while drinking. He then drove home, perhaps drunk, and would build one of the first digital computers based off his bar room notes. This entire debacle was prompted by the fact that
Starting point is 00:08:19 At Nassoff wanted to do math that a tabulator just couldn't handle. I like to think of John At Nassoff as truly the first person to conceive of a modern-looking electronic digital computer. My reasoning is I like his story. I mean, come on. How fitting is it that the idea of a modern computer came as the result of reckless driving
Starting point is 00:08:43 and late-night binge drinking because you were upset about IBM? That fits a little bit too well in some kind of cosmic sense. But the reality is far more strange and, sadly, perhaps, far more nuanced. Stibbitts himself, writing in his autobiographical work, Zeroth Generation, points out the fact that it's impossible to find a true origin point
Starting point is 00:09:09 for the idea of an electronic digital computer. A number of folk fell upon the idea at nearly the same time in 1937. At Nassoff was one, Claude Shannon was another, yet another was Conrad Zeus, and George Stibbitts made four. I very deeply suspect there were more that have simply been lost to time. I back up my assertation with an interesting fact. That's the sheer difference in documentation between all of these individuals. At Nasoff will be pulled into a lawsuit over early computer patents in the 1950s.
Starting point is 00:09:49 So, as a result, there is a trove of information about, the origins of his thinking on binary logic. Zeus kept meticulous journals in this period, and he escaped Berlin with many of those journals intact. Later in life, he wrote a highly detailed autobiography, which made use of those journals and notes taken by his colleagues. As a result, we have very detailed information on Zeus's ideas on binary logic. That includes a very concrete timeline. Stibbitts, on the other hand, is a little more enigmatic. In the 1990s, near the end of his life,
Starting point is 00:10:29 he wrote and published an autobiography. That's the aforementioned zeroth generation. The title is a tongue-in-cheek reference to the fact that he was working prior to the first generation of digital computers. That book was self-published and was very, very hard to get a hold of. I've seen first edition copies selling for upwards of $1,000, which is wild. I'm all for investment in my research, but that's a little rich for my blood. Luckily, a few years ago, Stibbitts's descendants digitized the book, edited it, and released a second edition.
Starting point is 00:11:06 That costs a whopping $15. I can't say how heavy the editing process was, given that I don't have access to a first edition copy, but Zeroth Generation is a treasure trove of information. And, come on, you got to love a sale. right? The only issue with this text is, well, Stibbitt's himself. The man doesn't exactly have a way with words. The book is less a book and more a collection of short recollections that Stibbitt's has strung together in a kind of rambly chain of thought. There are even headers every few paragraphs to let you know the idea has shifted and get ready for a change. It's also impossible to count the number of times
Starting point is 00:11:51 Stibbitt starts an idea and then says, oh, but that'll be discussed more in some parts of chapter two and later parts of chapter three. So I'm not going to say anything else here. Let's go on to the next idea. Hedder. The result is a book that's not exactly a breeze to read that said, it really is a trove of information. I recommend getting yourself a copy,
Starting point is 00:12:11 if not just to support the publication of this book. It's my main source for this episode, along with a series of article slash interviews that Stibbitts did for data. Emation in the 1960s. Stibbitts earned his PhD from Cornell in 1930, specializing in what he called mathematical physics. He then immediately took a job at Bell Labs, working as, again, what he would call, a mathematical engineer. This was something like an applied mathematician or an electrical engineer, perhaps.
Starting point is 00:12:46 Basically, it shook out that Stibitz was doing a lot more engineering work than his mathematically-minded colleagues. At Bell, he worked under Dr. Thornton-Fry's mathematics group. And I kind of dig the organizational structure here. Fry managed a group of mathematicians and computists. That is, men with math degrees and women with desktop calculators, and sometimes also math degrees. This was in 1930s, so this was kind of how labor ended up being divided in research for
Starting point is 00:13:20 I'd say for better or worse, but mainly for worse. The interesting part is how work was doled out. A researcher within Bell Labs would come to Fry with a project. Fry would then assign mathematicians and computists to work on that project. In that sense, the group functioned almost like an internal contracting firm. As a result, the Folken Fry's group would end up working on a very wide range of different projects. That, to me, sounds like a fun job since you get some real variety to test your skills with. At a point in the mid-30s, Stibbitt is assigned a project to model magnetism within relays.
Starting point is 00:14:03 Bell Labs did a wide variety of things, but sometimes projects did relate back to telephone. Bell was a telephone company after all. Relays were crucially important because they were used to switch and route. phone calls across the nation. Stibbitts points out that the relay itself actually broke Bell's telephone work into two categories, communications and switching. Communications covered anything that traveled through the phone network. That included voice and telegraph, which was, by its very nature, analog. All the theory and mathematics used on that side of the house was continuous, since, You know, we're talking about analog after all.
Starting point is 00:14:51 Switching covered just switching, as in how communications were routed on the network and the hardware that did that. That ends up requiring a totally different set of tools. The biggest difference turns out to be mathematical. Switching engineers, the folk that worked with switches, had to use discontinuous mathematics. What, you may ask, is the difference? It all comes down to discontinuities, of course. Simple. A continuous function is something like a sine wave.
Starting point is 00:15:23 It's smooth. There may be lumps or bumps, but there are no jumps in values. A discontinuity would show up as a jump. Think of a line with a sudden vertical step in it, or a square wave is actually a perfect example of a discontinuous function. Now, a discontinuous function can take a few forms. It can look very similar to a common. continuous function only with some discontinuities included. Think of a sine wave that has some
Starting point is 00:15:52 jagged steps. Or it could be a function that only has one value, and it only has that value for a specific set of inputs. Relays are modeled as the latter. No current passes through a relay until a certain trigger voltage is applied to its coil. Once that threshold is reached, current will flow. That made modeling relays a little tricky, or at least quite a bit different than modeling communications equipment. On its own, that presents an interesting challenge. Sibbitt is then further baited by, well, let's call it an annoyance. So, Bell Telephone is broken into two sides. each side has their own engineers. Stibbitts was working on this relay project with switching engineers.
Starting point is 00:16:45 At the time, switching engineers had a very particular way to model relay systems. This came in two parts, a diagram and a math model. The diagram was a literal wiring diagram. Bell had big switching systems, so these diagrams were big. Stibbitts recalls huge scrolls covered in arcane ruins and lines. Needless to say, a little unwieldy, but it did describe a system in full. The math models used at this point were primitive. Stibbitts doesn't give much detail here, but apparently he just didn't like him.
Starting point is 00:17:25 He figured there had to be a better way to model relay systems, so he's set to work finding that way. Stibbitt started by working up a set of functions to model the discontinuous behavior of relays. The functions, given a value, would return either on or off. It's not clear if he was using ones or zeros at this point, but his later recollections say these functions returned ones and zeros. From there, he started building up equations to describe how relays interacted. But it turns out he was actually retreading older work and didn't even know it. After a few months of this, Stibbitt's office mate, one Sergei Schlechnov, leaned over and said something to the effect of,
Starting point is 00:18:11 Hey, have you really never heard this guy called George Buhl? Turns out that Stibbitts had not. In the sciences, recreating the wheel is a time-honored tradition. In the 19th century, Buhl had developed a system of algebra that dealt with binary information. There are only two values in this Boolean algebra, true and false. This was the connection that Stibbitts was missing. It turns out that he was, by accident, trying to recreate bullying algebra from the physical side. Learning that fact threw him directly into the rabbit hole.
Starting point is 00:18:54 This is important for the same reason that I often harp on about turning completeness. Once you're hooked into an established body of mathematical work, you get access to many more tools. In this case, Stibbets now knew that relay circuits were just physical representations of Boolean algebra. That means they adhered to all the properties and laws of Boolean algebra. A relay circuit could be converted into an equation. You could simplify and manipulate that equation, and then, convert it back to a switching circuit. Best of all, that circuit would do the same thing before and after the transformation. That is, you know, assuming your math was correct.
Starting point is 00:19:42 And here's the wild part. You can define arithmetic operations using Boolean algebra. If you represent numbers in specific ways and restrict yourself to only certain types of numbers, you can write a Boolean expression that can add, subtract, or multiply those numbers. If you flip it, that means you can use relays to create circuits that can multiply. That is a massive realization. What does Stibbets do with this flash of insight? Why, he decides to commit an act of theft. Now, I just want to point out how oddly universal this season.
Starting point is 00:20:26 seems to be. It's pretty common to get a flash of digital inspiration, get, you know, bit by the computing bug, and then decide, well, the only way to advance my goals is to steal. Is there a connection with digital mathematics and theft? Perhaps yes. But anyway, this is the point where we get the usual stippet story from datamation. Quote, I liberated some relays from a scrap pilot Bell Laboratories, where I then worked, and took them home to start what I thought of as a play project. I had observed the similarity between the circuit paths through relays and the binary notation for numbers, and had an idea I wanted to work out. That weakened, I fastened two of the relays to a board, cut strips from a tobacco can, and nailed them to the board for input,
Starting point is 00:21:21 bought a dry cell and a few flashlight bulbs for output and wired up a binary adder. I wired the relays to give the binary digits of the sum of two one-digit binary numbers, which were entered into the arithmetic unit by pressing switches made of the metal strips. The two flashlight bulb output lighted up to indicate a binary one and remain dark for a binary zero. This very early binary adder is known to history. as the Model K. However, that's an anachronism. At the time, it doesn't sound like Stibbitts had a name for the thing at all. It was later, after model names were applied to some of Stibbitt's machines, that his wife recommended he called this earlier model the model K. Model, because at that point, Stibbitts had
Starting point is 00:22:13 completed machines called the Model 1 and Model 2. K for Kitchen Table. The location where the machine was constructed and operated. Today, the Model K is seen as the predecessor to modern digital computers. You can find recreations of it, some of them made by Stivvitz himself, in museums around the world. But at the time, it was seen as something like a toy. He would show it off around the office, but it didn't exactly wow the audience. It was neat, just not impactful, to quote Zero's Generation.
Starting point is 00:22:48 When the boys at the Bell Labs had seen the Model K, they had jokingly questioned whether a binary desktop calculator would be worth attempting. They didn't really doubt it was possible, but they seriously questioned whether it was practicable, end quote. Stibbitts went on to other work. It's not entirely known what happened to the original Model K. I think it was likely scrapped for parts, probably by Stibbitts himself. He was a handy guy and always working up some strange,
Starting point is 00:23:18 weakened project. Relays, light bulbs, and batteries would have been useful for all kinds of things. But as a result of this device, plus his more official work, it sounds like Stibbitts became that weird relay math guy around the office. In the coming years, that reputation would lead to a fascinating opportunity. In 1940, the world bore witness to a truly amazing demo. At the At that year's meeting of the American Mathematics Society, Stibbitts and his colleague, Sam Williams, debuted a new device they called a computer. Stibbitts did the talking while Williams operated the machine. From later accounts, it sounds like the room was electric, or at least a good number of the
Starting point is 00:24:11 audience were captivated. Norbert Winer, the founding father of the field of cybernetics, was in the crowd. Stibbitts recalls, quote, Members of the audience were invited to submit problems to the computer, and I recall Norbert Winer was one who tried to stump it unsuccessfully. This was Winer's first introduction to the computer concept. End quote. John Mouchley, of the two Johns who later developed Inniak, was also in the crowd.
Starting point is 00:24:38 Sadly, we don't have a fun recollection for him, but undoubtedly this was the first time seeing an electronic digital computer forum. There were simply no earlier public demos of an electronic digital machine, and few knew of at Nasov or Zeus's work at this point in America. Now, have you spotted the truly wild part of this demo? The AMS meeting was held at Dartmouth College in New Hampshire. Bell Labs was in New York. How is the demo even possible?
Starting point is 00:25:12 Did Stibbitts and Williams move the machine across state lines? Well, the entire demo was carried out using teletype connected to a phone line. Questions were sent to the computer remotely, and responses followed. It was all done over remote phone lines. That, in 1940, would have been truly wild to behold. I also just need to slide in a small point of order here. It's unclear if Williams or Fry was the one operating the computer. at this meeting, I'm going with Williams just because that seems to be the one mentioned in
Starting point is 00:25:53 most of Stibitz's accounts, but if you're reading around, you'll see both mentioned as being the person in the room punching the buttons. Anyway, back to the point. How is this demo possible? How did Stivots go from a kitchen table model to a working computer with remote terminals in the span of three years. Well, it all started with his boss, Fry, trying to deal with a problem in the mathematics group. This episode is heavy on math for a good reason. Computers are initially developed as tools for mathematics.
Starting point is 00:26:30 That can lead to a bit of an issue in nomenclature. When is a machine a computer and when is a machine a calculator? That gets tough when computers were first built as better calculators. Keep this in mind as we go forward. I want to work out if Stibbitts' marvelous machine was in the contemporary period seen as a computer or a calculator. So are any of you familiar with the field of complex mathematics? If you think by complex I mean complicated, then, well, your answer is no. To a mathematician, complex has a very specific meaning.
Starting point is 00:27:07 A complex number is one that has a real and an imaginary part. What's real? What's imaginary? Well, I'm glad you asked. Real numbers are the numbers we use every day. Examples include 1, 2, 0, even 1.2. Imaginary numbers are different. An imaginary number takes the form of a real number multiplied by I, the imaginary unit. A complex number is denoted as a real number plus an imaginary number. This usually takes the form of A plus B, I, where A is the real component, B is the imaginary component. Clear? Good. Now, I know that. That doesn't really make any sense without context. Complex numbers fill a similar role as a coordinate. You can think of that complex form as
Starting point is 00:28:04 somewhat similar to the X and Y of a Cartesian coordinate system. The real and imaginary parts of a complex number are operated on separately, and complex numbers are often plotted on an X, Y, coordinate plane. Complex numbers have handy mathematical properties that make them, in some cases, nicer to work with than Cartesian coordinates. Complex numbers are used in physics to describe electromagnetism. If you're dealing with currents or magnetic fields, then you'll often see some eyes mixed into your equations. Bell dealt in electrons, so they dealt with those eyes with a lot of regularity.
Starting point is 00:28:49 The same properties that make complex numbers handy also makes them a bear to deal with. Operations can be repetitive, and with a desktop calculator, repetitive operations are slow and error-prone. That was a problem facing Fry's core of computists, which meant it was a problem facing all of Bell Labs. In the words of Stivvitz, quote, computers working at such computations for long periods and at high speed can hardly be blamed for making occasional slips, end quote. Those words come to us from the 1940 paper that accompanied the Dartmouth demo. And it's true. Doing these kinds of calculations by hand can suck.
Starting point is 00:29:33 so Fry went looking for a solution and landed on Stibbets. He had been doing that weird relay stuff after all. Perhaps Stibbets could make a better desktop calculator, one that could do complex math all on its own. The finer details of this story are kind of funny. So specifically, Fry was after a complex number calculator that could do multiplication and division. Those two operations are most tedious,
Starting point is 00:30:03 and require the most work. This is because, simply put, addition and subtraction treat the real and imaginary parts separately. Multiplication and division have cross terms, meaning you have to deal with a link between the real and imaginary parts. This wasn't exactly a new issue. In fact, Fry had shopped the problem around Bell Labs for a bit at this point. One researcher had even given him a solution, or at least an idea. There are two issues at play here. One is how annoying complex math is. The other is human-cause transcription errors.
Starting point is 00:30:41 Desktop calculators in this period were awful to use. When you did an operation, the result would be displayed, which would then be written down, pin-and-paper style, for later use. Many errors were introduced via this copy-and-paste step. These calculators didn't have memory. They could only store one number at a time. One Bell researcher suggested a pretty straightforward solution. Hook two calculators together, specifically hook up their input and output reels and use some kind of clutch to connect them.
Starting point is 00:31:18 That way a number could be stored in a second calculator, operated on, and then transferred to the first. It's viable. At the time this idea is going around, there just weren't many options. the only other route using existing equipment would be to rig up some horrifying contraption with an IBM tabulator. But John at Nassoff tried to do that and received a cease and desist letter from Big Blue. It was found years later that IBM actually kept a file on John at Nassoff after he tried that play. Fry brought the dual calculator idea to Stibbitts for review. Frye just wanted to know if it was even viable. To paraphrase
Starting point is 00:32:04 0th generation, Stibbitts said, sure, it would function as a calculator, but there's a better way. The counteroffer he came back with was a relay calculator that could handle complex mathematics. Stibbitts had been working on other things that fell, at least during the day. In the off hours, he had kept thinking about relay circuits and Boolean algebra. In the months, after demonstrating the Model K, Stibbitts had designed full circuits for addition. That was the heart of his plan for a larger relay calculator. The trick and the big difference between these more complete circuits and the Model K was carrying. The Model K added two one-bit numbers and output a two-bit number.
Starting point is 00:32:52 That kept everything safe and within bounds, but it's very special purpose. The circuit Stibbitts used could only handle two one-bit numbers. He generalized this circuit into what would later be called a full one-bit adder. The full circuit has three inputs. It takes two
Starting point is 00:33:12 one-bit numbers to add, it takes a carry flag, and then it outputs the sum of those two numbers and a carry flag. The point of the carry is simple. In a binary system, you can only have two possible output values, one and zero.
Starting point is 00:33:28 If the adder would output something, greater than one than it outputs one and sets the carry flag. The one-bit adding circuit can be used to construct any size adder. You can chain them together, just looping the output carry wire from one adder to the input carry of the next. That's much more general purpose. This full adder is more complex than a fully custom adding circuit, but it becomes more simple as you build things up. The one-bit adder basically becomes a building block you can use
Starting point is 00:34:03 to make more complex logic. This would be the most complex math circuit in Stivitz's machine. The thing could only add. He would build up all other operations using some logic wired around these adding circuits. Multiplication is the most obvious here. To multiply two numbers, he would just add together numbers in a loop. Multiplying two by five is the same as adding two to some register five times. Subtraction and division worked thanks to some prickly binary encoding, but we're going to get to that later. Suffice to say, Stibbitts was really just planning a very tricky adding machine.
Starting point is 00:34:47 Stibbitts had a fairly well-developed plan drafted, but there were some issues from datamation, quote, These were highly unusual, since I knew nothing of the language of symbols of the well-developed switching art, and my sketches must have amused the switching engineers. But there was Sam Williams, end quote. Fry assigned Williams to look over Stibbitt's work to see if it, you know, was real, see if you could make heads or tails of it. What we're seeing is, what appears to be, a pretty healthy peer review process.
Starting point is 00:35:23 Stibbitt's got into the whole mess, because he was asked to review another researcher's work. It's only fair that Stibbitts had some oversight himself. Williams was chosen because he was a switching engineer. He knew the realities of working with relays and could hammer Stibbitt's slightly unusual designs into something more legible. Williams came to the conclusion that, yes, there really was a relay computer hidden inside these odd designs.
Starting point is 00:35:51 In doing so, his fate was sealed. Stibbitts and William became a duo and set about building this wild machine. I think this is a good place to pause and note a few things about the story. This is at the very beginning of the digital age, so everything is impactful. A lot of our folklore still draws from this period. Computers, by necessity, come out of scrappy places. Stibbitts builds his first circuit on a kitchen table and then works up from there. He has to convince his coworkers that he has a good idea.
Starting point is 00:36:27 Even then, he's only working with a team of two. Small, scrappy, individualistic geniuses, right? I think we can recognize echoes of that in a pile of other stories about computers. Apple is started by two guys in a garage with a soldering iron and a dream, after all. But there's a reality here that's often forgotten. These kinds of scrappy outfits are backed up with nurturing support. Apple got off the ground with the help of the Homebrew Computer Club. Stibbitts wouldn't have gotten very far if Bell Labs didn't give him support and space to do research.
Starting point is 00:37:07 He was working in the context of a larger community, and he was working off the back of existing research. Giants, shoulders and all that, even at the very start. The machine that Stibbitts and Williams build goes by a few names. It's called the complex number calculator, the complex number computer, and the Model 1. I'm going to kind of be mixing these up in the episode just for variety, but do know that the name Model 1 comes a little bit later, so it's a bit of an anachronism to use it when talking about this early period. Now, that said, the Model 1 is interesting for a lot of reasons.
Starting point is 00:37:48 One huge one is the fact that it's made from relays and relays alone. Later machines use a mix of elements, usually keeping with switching elements like relays or tubes for logic and using something different from memory. The Model 1, though, was relays all the way down. This was possible because the Model 1 had very little memory. It had a few registers for input values and working space, but that was. is it. As for actual size, well, that gets a little bit tricky. The Model 1 stored 10-digit numbers internally. That's 10 decimal digits. The machine did a slide of hand where data was
Starting point is 00:38:32 stored encoded as binary internally. When a user entered a number, it was converted from decimal to binary, and then back again for output. Each decimal digit was encoded as four binary bits, meaning that 10 digits required 40 bits of storage. There were four registers giving us a grand total of 160 bits of memory. That's not much, so it wasn't all too bad to use relays for all of that memory. This choice would prove to be a pretty good one. Stippets at one point wanted to use rotary switches to try and limit the number of components in safe cost. But Williams stopped that line of thinking.
Starting point is 00:39:16 From 0th generation, quote, I proposed to reduce cost by replacing the binary relays with functionally equivalent rotary switches. These stepping switches had 10 states and used a decimal notation. My mistake was corrected immediately and the relays replaced in my plans when Sam Williams, an experienced switching engineer, pointed out that while the cost of the computer would be reduced
Starting point is 00:39:40 by introducing rotary switches, the maintenance, speed, and reliability would be affected unfavorably, end quote. By using just one technology, and a well-loved one at that, the overall cost associated with the machine would be better, and it would work better, too. Bell Labs had access to some very reliable relays, so it just made more sense to stick with their strong suit. That would pay off. Okay, I've been pointing this off long enough, but I think it's time we actually talk about
Starting point is 00:40:14 how numbers were represented in the machine, because it's odd and it's important. And this is really a point where the complex computer shows its antiquity. Converting between binary and decimal numbers has been a well-defined operation since, well, actually, I'm not quite sure. The concept of base 2 has been around in some form since antiquity. Binary encoding has been using ones and zeros and looking pretty modern since at least Leibniz. It's not a computer thing back in the day. It's just an abstract math thing that is adopted for use with computers.
Starting point is 00:40:57 Actually, here's something fun. Did you know you can count to 123 on your fingers using binary? This is something I learned in adolescence from some textbook, and I use it whenever I'm doing low-level programming. Try it out sometime. I tend to use my right pinky for the least significant digit and count up from there. All fingers on your right-hand count up to 31. It's a neat trick, but the point is binary isn't restricted to computers.
Starting point is 00:41:26 Stibbitts, however, doesn't use the established binary counting system. I've already hinted at this. The complex computer uses what Stivots called XS3 encoding. It's something he came up with on his own, and it's mighty strange. Let me walk you through it one step at a time. First off, numbers are represented as binary-coded decimals. That means that each decimal digit is represented as its own unit. Specifically, one decimal digit becomes a 4-bit binary number.
Starting point is 00:42:04 That's how we got that register size. 10 digits means 40 bits since you need 4 bits for each digit. Now, if we're dealing with normal binary coded decimals, then a 0 would just be 0-0-0-0. 9 would be 1-0-0. You can fill in the numbers between those two extremes. But Stibbitts pulls a trick. Every binary decimal is shifted up by 3.
Starting point is 00:42:34 0 becomes 011. That's equivalent to the decimal number 3. 9 becomes 1.11. Again, you can fill in the blank. To make this easy, the teletypes that feed data into the complex computer are wired, so a press of a zero button since 0-1-1. That printer works the same way, so conversion is trivial, but why? I get that it's easy, well, why would you do this?
Starting point is 00:43:06 Remember how I said the model one is really just an adding machine in a trench coat? That should answer all your questions. It doesn't have a subtraction circuit. It can only add. So then, how do you subtract? Well, XS3 encoding is surprisingly the answer. Now, this part took me a while to convince myself of. It has to do with compliments.
Starting point is 00:43:32 Here, I'm pulling heavily from Stibbitts's 1940 paper on the complex computer, which, incidentally, that paper is just called computer. I spent a while reading his explanation of XS3 and then spent more time trying to prove it to myself with pen and paper. If you have a number that's represented by a fixed number of digits, then you can subtract using addition. You start with the number you want to subtract from.
Starting point is 00:44:02 Then you take the number you want to subtract and take its complement. There are a few ways this can be done. Sibbitt explains it using substitution. The complement of 1 is 8, the complement of 0 is 9, so on. Take the complement, add it to your first number, add 1, and then you get your result. So it's really saying something like x minus y is the same as x plus the complement of y plus one. You then have to truncate anything that goes over your fixed number of digits. So if you're using four digit numbers and your result is five digits, you drop the fifth.
Starting point is 00:44:45 This is gross and clunky and decimal because the complement thing doesn't make much sense. And we also don't really restrict the number of decimal digits we work with very often. At least, both of those things for decimal don't make any sense in my head. It becomes a lot more clear in binary because you only have two compliments. The complement of one is zero, and the complement of zero is one. So to subtract, you just have to flip all the bits of one of your numbers, then add one. crucially, it's not one, one, it's actually the XS3 version of one. I got stuck on that for a while.
Starting point is 00:45:26 So again, why? Why go to all this trouble? Well, it was easier than implementing a separate circuit for subtraction. Making the complement is very, very simple, electrically speaking. It's one relay. That's as simple as you can get. This process also works with a full adder. or at least with the full adder that Stibbitts developed.
Starting point is 00:45:51 Because of the 4-bit binary-coded decimal thing, the full adder was a little odd. There's math involved with the carrying between decimals that I don't want to really deal with. Suffice to say, Stibbitts is also using XS3 encoding because it makes carrying between digits work correctly. Okay, so deep breath.
Starting point is 00:46:17 What's the point of all this number weirdness? Well, the weirdness is kind of the point. There is no established way to make a circuit that stores or operates on a binary number. Stibbitts has some space, funding, and support to make one, but he does not have limitless resources. He wants to make something in a reasonable amount of time for a reasonable cost. The result is that during designing, he made some choices that would make the computer more attainable, more possible. A circuit could be devised that would convert any decimal
Starting point is 00:46:53 number into a straight binary number, but that would be more complex. It would be easier to convert things one digit at a time and then store them as binary coded decimals. In the same way, it was possible to make a subtraction circuit, but he already had an adding circuit. He would just have to add some tricky logic to do subtraction. That would take fewer relays and be faster to develop. Even in this very early and very primitive design, we can still see fundamentals emerge. One is how Stibbitts made a huge concession to performance. You know how I said the model one is just a fancy adding machine in a trench coat? Actually, that's not true. It's two fancy adding machines in a trench coat. There are two separate adding circuits, one for the real part of a complex number,
Starting point is 00:47:44 and one for the imaginary part. That means that operations can be carried out in parallel. And that parallelism goes pretty deep. Those two adding circuits are wide. They're each 40 bits wide. That allows for bit-level parallelism. So a single addition is actually fast, and two can be done at once.
Starting point is 00:48:04 That's the kind of design you'd expect in much later machines. That's the heart of the complex computer, but what about the reality? How was it built? How was it used and was it even well liked? Older computers are much more influenced by their environment than more modern machines. I mean, sure. Humidity would hurt ENIAC more than it would hurt my laptop. Ha ha.
Starting point is 00:48:36 But what I'm getting at, however, is more the design side of things. One factor that made the complex computer unique is its use of real. There are actually very few computers ever constructed from relays. In this case, relays are chosen because Bell is a relay-based shop. It's just the raw material for the phone grid. The design of the computer is completed in 1938, and then it moves onto construction. Williams translated all of Stivitt's chicken scratch into standard relay wiring diagrams. you know, the scrolls of arcane symbols.
Starting point is 00:49:19 These diagrams were understandable to any engineer that worked with relays at Bell. That matters because Stibbitton Williams didn't physically construct the complex computer. It was built by a manufacturing team at Western Electric, the company that did all of Bell's manufacturing at the time. From 0th generation, quote, Because of SOP, standard operating procedures, the crew of wiremen with Sam's drawings in hand were able to set up the frames, mount the relays, and string the wiring with speed and accuracy. Because we chose standard telephone relays and followed the SOP,
Starting point is 00:49:58 many well-trained workmen were available at every stage of the construction and maintenance of Model 1, end quote. The machine was really just a peculiar telephone switch. it could be described following established protocols and constructed in standard ways. That's good and bad, right? This adherence to standards meant the thing could actually be built, it could be real, but it also boxed in that reality. It had to be made from standard relays in very standard ways to hook into this whole environment. The machine was done and tested by the end of 1939.
Starting point is 00:50:39 That's three years from concept to working machine that could be showed off to a room full of math nerds. The final touch and perhaps a slightly out-of-time feature was the user interface. Despite being such an early computer, the Model 1 was controlled via remote teletype terminals. Note the plural. Terminals were connected over a phone line. The user, the computist, simply had to type in. a complex math problem, and the computer would calculate the result. These terminals were custom, which is how encoding was handled.
Starting point is 00:51:18 There were special buttons for I, the imaginary unit, and all the math operations. There was special formatting for signals, the works. These terminals also look kind of crazy. They are, first off, pretty big, which was the custom of the time, but they only have 20 keys. Looks like a head without a chin, or head with a very, small gen. There were some quirks here, however. The computer didn't do decimals, just integer math. That was easy to get around. A user would simply have to scale their numbers up and then scale them back down after the computer was done. The Model 1 also didn't respond to requests for
Starting point is 00:51:57 complex addition or subtraction. Not at first. It would only do multiplication and division since that was viewed as the real problem that needed fixing. Stibbets thought that addition and subtraction were trivial, so why would a computist need any help? That was a faulty assumption. The circuits to allow requests for adding and subtracting were the first modifications made to the computer and its terminals. Then we get to that plural that I pointed out.
Starting point is 00:52:30 The Model 1 handled three terminals at once. It was time-shared, or at least it could act that way. It worked on a first-come-first-crunched basis, so if someone submitted a problem, the computer would be busy and unresponsive until that problem was solved. That could take up to a minute or so. In practice, that meant that three people could use the thing at once, assuming no one was hammering away constantly. That's how the Dartmouth demo was carried out.
Starting point is 00:53:01 These terminals could be remote. In fact, Bell had one normally set up in an office down the street from the complex computer. So it was just a matter of running a circuit from Dartmouth to Bell. That was pretty doable, especially since Bell controlled the whole phone grid. Behold, the impact of environment on design and use of a computer. The machine would see a good deal of use inside Bell. In fact, the three terminals are a testament to that. It started with one terminal, then expanded to two as there was more demand, then eventually
Starting point is 00:53:36 three. It was a useful machine in so much as it was an advancement over desktop calculators, pins, and paper. It seems that it had solved Fry's initial challenge. That's the general story, so I think it's time to come to the most challenging question. Was this really a computer? And perhaps more importantly, does that distinction matter? We know that at the time Stibbitt's called to a computer because that's literally the title of his 1940 paper on the machine. But does it actually measure up?
Starting point is 00:54:11 By traditional measurements, the complex number computer should be called the complex number calculator. It can't be programmed. It can only be given expressions to evaluate. It can't do conditional execution because it's not executing anything. Therefore, it's not turning complete. therefore not a computer, at least strictly speaking. With that said, let me make a mess of things. Just to be clear, I'm not really arguing that everything is a computer.
Starting point is 00:54:41 I don't like to do that. I think it misses the point. There is nothing wrong with a complicated device, not being a computer. In the case of the Model 1, it's super clear that it's a precursor to modern electronic digital computers. It's approaching a full-on programmable computer, but it's not quite there yet. That doesn't mean it's garbage or flawed. It just means it's a step. The Model 1, like other precursors, has many ideas and designs that show up in later machines. One of those is the conditional.
Starting point is 00:55:16 Note that I don't say conditional execution. Remember how the thing does multiplication? It uses repeated additions. This is controlled by a counter. To multiply 2 times 5, add 2 to a register 5 times. To do that, it has to check how many times the operation has been carried out and then terminate that loop once the correct number is reached. That's a conditional.
Starting point is 00:55:40 This isn't the magical conditional execution required for turning completeness. This is hardwired into the Model 1's circuits. But it's the same idea. The core difference is that stored program computers would offer this feature as code, while the Model 1 does so with wires. A stored program computer is more general, the Model 1's special purpose. In fact, that's one of the core differences between the 0th generation of machines and the first generation of computers we see in the 40s.
Starting point is 00:56:11 As I look more and more at really early machines, I think I've started to crack up a little bit. I've started to form some, let's call them theories. Maybe get a feel for the period. Let me try to explain where my thinking is right now. It seems to me that digital computing pre-1945 is characterized by a certain disconnectedness. I don't really want to say isolation. Stibbitts offers a perfect example of this.
Starting point is 00:56:44 He doesn't know what Boolean algebra is until his office mate tells him about it. He doesn't know about the earlier groundwork done by Charles Babbage until years later. There are points where he does come into contact with contemporary works. In 1938, he reads Claude Shannon's dissertation, which describes how relays can be used to simulate Boolean algebra. You know, exactly what Stibbitts is doing in 1938. It made almost no impact on Stibbitts. He barely even remembered reading the paper.
Starting point is 00:57:17 In fact, in his autobiography, Stibbets only brings up Shannon's dissertation because he found a reference to it in some of his old notes from 38. That mirrors a later story that Zeus tells in his autobiography. During the Second World War, Conrad Zeus was building one of his computers. The, I forget it, Z3 or the Z4 at this point. He was told that espionage had uncovered some information about a computing machine being developed in America.
Starting point is 00:57:47 He was even shown an intelligence report on this machine, the Harvard Mark I. His response? Complete lack of interest. He was doing his own thing. That can't possibly be applicable to him. Once we get to the mid-40s, especially in America, we see that kind of disconnectedness start to break. That's in part due to federally backed projects. Inniac is created by a large team. So is the Harvard Mark I. After 1945, isolation breaks down completely. Academic papers are published.
Starting point is 00:58:19 There is actual disclosure about digital computers that were built in secret. Folk across different teams work with each other. Information flows more readily. A community forms, a body of research develops, and we get a new scientific field. But be careful with this part of the narrative. It can make it sound like the earliest machines were the result of rogue geniuses working in total isolation. That's not exactly true. I know, a flip for a flop, right?
Starting point is 00:58:53 What I mean is early machines weren't made without help. Stivis is working in a larger community. So is at Nasoff, so is Shannon, so is Zeus. It's just that those communities didn't really communicate. You don't have Bell Labs folk over at Iowa State College for coffee and debate, and they're not exchanging letters with some guy in Berlin. This, to me, gives us a few big morals to the story. One is that thinking outside the box is hugely important
Starting point is 00:59:23 and that we need to give support to people that want to push the edges of that box. The other is the importance of wide-scale collaboration. We don't get computers at all without dreamers, and those dreams don't go anywhere if everyone works alone. This also feeds into my strange views on turning completeness. Researchers don't just prove that theory is applicable to different systems for fun. Stibbitts is able to build his machine because he realized, with some help, that relays could
Starting point is 00:59:58 model Boolean algebra. That gave him a body of work to work with. The whole point of proving a system is turning complete is that it also gives you a body of work to, well, work with. That means that turning completeness becomes more valuable over time as a certain completeness. a body of work forms. In 1937, there are no electronic digital computers. There is no body of work to pull from. In 1947, well, there's some. By 2007, there's a lot. Turn completeness is just less important the further back we go. It becomes important as that community, as the field of
Starting point is 01:00:36 computer science develops. We never get that effect. We never get computer science at all, if it's not for these early, not quite computers. For the field to grow to where turning completeness actually matters, we need these machines to exist. So in a funny way, there's all these non-turning complete machines that make turning completeness, that make the strictest mathematical definition of a computer actually matter. How's that for a bit of a pretzel to twist your brain into? All right. That does it for today's episode. We've seen how. how Stibbitts went from an idle idea to one of the earliest electronic digital calculators, if not computers.
Starting point is 01:01:27 Really, the distinction depends on how you want to look at it. The funny thing here is the year. 1937, for some reason, was just the year for this kind of breakthrough. I still can't exactly put my finger on why, but now we've looked at two such events, Stibbitts and at Nasoff. Zeus also kind of can't. counts here, although he was more working around this whole period and more on the mechanical side.
Starting point is 01:01:56 Claw Shannon is the last on the list of well-known 37ers that we haven't covered, and I'm going to fix that eventually. If you are a loved one know anyone who was active around 1937 and wrote down the idea of using electronic switching elements to carry out binary mathematics, then please get in touch. I seriously do think there are bound to be more lesser-known events out there. If it happened three or four times, then I don't think it's much of a stretch to guess it happened five or six times. Anyway, thanks for listening to Avenue Computing. I'll be back in a little more than two weeks' time.
Starting point is 01:02:34 I'm taking a vacation between this episode and next episode, so my recording window might be a few days late. Until then, you can find links to Patreon and everything else at Avernofcomputing.com. And as always, have a great rest of your day.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.