Go back

History of Programming: Babbage to Hopper (ft. Uncle Bob)

86m 40s

History of Programming: Babbage to Hopper (ft. Uncle Bob)

In a discussion about his new book on computing history, Uncle Bob explains he wrote it to give programmers a technically detailed account of their field's origins, contrasting with existing books that overlook such specifics. He shares stories of key figures like Charles Babbage and Ada Lovelace, describing Babbage as a visionary socialite who initiated groundbreaking computing concepts but often left projects unfinished. The relationship between Babbage and Lovelace is portrayed as deeply collaborative, with both contributing to the idea of machines processing symbols, not just numbers, countering narratives that credit Lovelace exclusively. The conversation also reflects on how historical reactions to Babbage's mechanical calculators mirror contemporary fascination with AI, as each generation is stunned when machines replicate human capabilities. The dialogue underscores the value of understanding computing's roots to appreciate the challenges and contexts that shaped today's technology.

Transcription

13508 Words, 72124 Characters

English
One of my favorite things to read about is the history of computing and Uncle Bob just released a book called We programmers that actually chronicles all the way from Babbage to present day about computing and its history. And today Uncle Bob sat down with us and talked about the greats of computing history from Babbage and Ada to Von Newman, Alan Turing and even Grace Hopper. And their stories are absolutely fascinating. Today's video is sponsored by Code Rabbit which has semantic analysis and AI-powered code review and sensory. The best way to track your errors, not that I actually have any. More on both those sponsors later. And now Uncle Bob. Well today we have Uncle Bob the legendary Uncle Bob on our stream today. And I think something that makes this unique is that typically this is around like say a technology that has recently come out or you've been building something really really neat where us today we're going to be talking more about history which is kind of a I guess a more unusual one on this channel. So you just recently wrote a book that's kind of chronically through really the very origins of computation all the way through modern day from pretty much every legendary figure that is imaginable. At all the classic ones I learned about through college are in there and more so it is quite the amazing story. And so do you have by the way just I guess to kind of really start this off. Why even start writing a book on history? Why not continue down all the technical stuff because that's really like what people do. You sell technical books for people who want to learn so why do something so far outside of the traditional tech route. It's something of a trademark of mine that at the beginning of every hour that I teach a class I open it with a science lecture or a history lecture or something that that programmers would be interested in hearing that'll clear their brain so they can get ready for the next lecture. I also use it to get everybody to sit down and shut up after a break. And I accumulated enough material doing that that I thought you know there's a lot of programmers that just do not know what their roots are and what it was like in those very early days and I think it's something that programmers would appreciate. And the problem with that was that the books that are out there that sort of do that gloss over all the technical details and I wanted to do the opposite. I wanted to put those technical details in your face so that if you're a programmer you can identify with these people and the problems they were having at the time. So that was kind of the goal behind it all. Yeah I thought it was really interesting. You can tell from from reading it and it's like a very fun read I do have to say like as you're going that it's from the perspective of someone who has you know debugged software before but now we're imagining this like when we had mechanical levers that needed to spin or punch cards that needed to get fed into a machine and just thinking about that and imagining the 24/7 nature of this and everyone breathing down your neck because it's you know World War II or something is sort of like oh there's a lot going on there. Really I never considered before. It is kind of it's such a different world in the sense that when you know back back with both TJ and I were fully and gainfully employed. You know like the breathing down the neck was hey we have a quarter project we're going to want to get done and also hey we're going to go play botchy ball later right like it's not the same feeling as like if you don't finish this in a week we might lose a war. You got a hustle. And the roots the roots like I'm under 10. The process are the equations that model the implosion of a plutonium core don't ask us why. We just want to know what would happen. It's just a math problem we're interested in that you need to solve right now or else. We're also the government. We're definitely known for just doing fun research trust me we're all having fun now. TJ did build a very beautiful roadmap for all the things we should talk about and the very first one we should talk about is kind of you know I wouldn't say it's like a passion project of mine but it is definitely something that I feel is most slated out of out of everybody which is Charles Babbage I feel like he just has the greatest slight against all programming because he just always gets immediately foreshadowed by the person he ultimately hired to work with him ate a loveless. And so I'm very happy that the book starts off here and really kind of talks about the relationship between these two and really emphasizes and shows like how amazing both of them really were. They were both remarkable people Babbage if you could fault him it's because he couldn't finish anything and you know we've all known people like this you know where you had halfway through the project and you lose kind of interest in it because there's a better project that you can do and Babbage was kind of that guy over and over and over again so he built castles in the air and he built half the machines sort of and then all of the people that he had convinced to help fund him and stuff would bail out on him in the end and he he was really left with this kind of half career or half set of projects with nothing ever done nothing ever finished just this trail of detritus long away a few little machines here a few ideas there some grand beautiful ideas but none of them ever brought to fruition that's not to say he never finished anything there were other things he did we wrote some books and he did some other projects like that but the big things in his life he left half finished or less than half it very interesting guy yeah that's a big guy I'm like anyone we know right Brian I don't know anybody who wouldn't finish a project I definitely not me I could tell you that I'm just wondering was Charles Babbage a twitch streamer or like you know he was a social butterflies whether he was so if there had been twitch at the time he would have had on it but he had all the big names in in Victorian England at the time you know he knew people like like oh crack the name who wrote the Christmas Carol Charles Dickens he knew Charles Dickens he knew Wheatstone who knew George Bull he knew all these guys he knew Michael Faraday you know he knew all these guys from that era and they would all go to each other's parties and he had mammoth blowout parties and he would go to mammoth blowout party he was he was a social character very successful in that but then he had this itch to build something technical to solve this really interesting technical problem which I think once he had solved it in his brain he wasn't really so interested in finishing I can relate heavily to that would you say that would you say that in some sense Charles Babbage was like the modern software engineer trying to get VCs to invest in projects comes up with the great idea get some money ported comes up with the next idea get some money's ported yeah except that he never did do us you know sell out there it was no exit strategy for the guy I mean he got a lot of money good a lot of his own money into it too but he got a lot of money for the thing and you know blew a decade on it and then everybody finally abandoned it even his friends yeah it was very embarrassing he had he had wrangled a whole bunch of his friends to help out with that and then they all said never mind we don't actually need the machine anyway I do think maybe for some of the people who aren't as aware of like what the machine is maybe we can start with a little bit of background I was like I knew that people you know of course before we had you know TI-84's right people had to hand right down calculations and everything obviously right but like what was the original problem Babbage is trying to solve because I had never heard it you know laid out so clearly in the book imagine these two guys sitting out having a picnic and the task that they've set before them is to validate a series of tables created by two separate teams the two separate teams are supposed to create the same tables the tables are tables of like 60 digit numbers something absurd like that and the one guy reads a 60 digit number and the other guy looks to make sure it's the same number right and then then they just keep on doing that over and over four thousands of them and at the end of it Babbage exclaims I wish to God these things had been computed by steam and that sets the thing motion that sets the motion in his hand he was going to do it by steam in the end he didn't have a steam engine he had a crank but yeah the idea let's mechanize this the the goal was to solve Taylor expansions you need to know the sign of an angle you do a Taylor expansion Taylor expansions just along polynomial long polynomial can be solved through the method of differences which you know read the book to see a really nice example of that which I did in closure on on my laptop but there you can reduce the problem to a number of additions. Instead of calculating each of those pollinable polynomials with factor oils and stuff like that, you can reduce the problem down to a bunch of additions. And that's what was on that, the sheets of paper that they were validating. The mathematicians had come up with the formula that handed over to hairdressers who could add when these hairdressers were thousands of additions of 60-degrees numbers. And then it was up to Babuchin his buddy to validate them. Just one of the, one of the instigators of this machine of his, his machine was going to be doing all those additions. That's really all it was. There's a great big adding machine with a bunch of memory in it. And I didn't realize the sort of range of things that they were using, you know, like sign calculations for that were like, oh, we need it for like navigating and boats and like for building stuff or like for, and we're like, oh, so these, you know, this was like a real job. (laughing) - This was just like, yeah. - And I mean, this is where computer, was it originally with Babuch or was it later that they had this job title of computer? - The word computer in those days referred to a human. - Right. - Yeah, we did it start as the job title in Babuchin's time, or was that later? - Oh, that's a really good question. I don't know if they called them computers in Babuchin's day. They were, they were very low paid, menial manual laborers. And they used hairdressers because the French Revolution caused a lot of unemployed hairdressers. So, I don't know if they called them. - Can we just back up? What do you mean the French Revolution caused a lot of unemployed hairdressers? They caused a lot of unemployed everybody and hairdressers were particularly good in addition or was it specifically hairdressing that really got hit the hardest? - Let's just say that they were fewer heads. (laughing) - It all makes a lot of sense, all the sudden. - What's the thing about this? (laughing) - I like that one. I'm definitely stealing that one for later. - I don't know how you're gonna steal that exceptionally specific piece of knowledge for later. - I'm gonna bring it up just randomly to my wife and then she won't get it and won't laugh. (laughing) Hey, Prime. - Yeah. - Have you heard of today's sponsor, CodeRabbit? - Let me guess. It's an AI code review tool that people actually use and is good. - Yeah, that's correct. - Let me guess. CodeRabbit's being used in over a million repositories and has reviewed more than a five million poll requests. - Oh, okay. Two in a row, that's a little weird. - Let me guess. It's not just AI, but there's tools built on top such as AST Grep, Linters and More. - Are you Steph Curry because you're hitting every-- - Ah, let me guess. It works on every major platform. It has enterprise features such as SOC2 and it has pluggable LLMs. - Okay, are you that Turkish guy, Mr. Shooter? If you know so much about CodeRabbit, what should our listeners do? - They should click the link in the description and install CodeRabbit in their open source repos for free. (buzzer) But seriously, check out CodeRabbit, it's actually really good. - In the description. So I think, you know, in this period of Babbage, I think the, I love this quote from the books. I'll just read this and then we can talk a little bit about this. I think before we end up talking a little bit about ADA as well. But there's something magical about the idea that by simply applying a physical force to a machine, the machine would do something that had previously belonged to the domain of thinking, which when like for us, it's so commonplace, right? That like I press buttons on the machine and it gets out the right numbers. Like, you know, we just like type in these little numbers but and then outcomes new numbers. But man, that must have been crazy for them at the time. - Well, you can, there's good analogy here. I mean, we are currently amazed by large language models, right? - Yeah. - These things are behaving in ways that we find startling. That was the same with them. I mean, you could add two numbers with the machine. What? Only humans could do that. And all of a sudden you have a machine doing it. So it's the same thing. It's just at a different scale. Yeah, I was about to say during the Charles Babbage part when he was doing the night or the parties and inviting people over and then he showed this kind of, you know, magical machine off that people would say like, oh my gosh, the machines are thinking. Like they use that type of phrase, right? And so it's like there is a very strong relation between what Charles Babbage and his people during that day were experiencing, you know, maybe we could say that ours is different, but either way, our perception of it is fairly similar in the sense that we're looking at machines thinking. - Doing things that only humans had done before. - Yeah. - And that's really the issue. Now, you know, give us a couple of years and we'll look at CHETGBT and large language models as just machines. Yeah. But, you know, there's that moment when you think, wow, that thing did that. And then later on, it's like, okay, it's still little machines who cares. (laughing) That day does need to come soon. - Yeah, that's a lot better. - Well, that's true for some of us. (laughing) - Okay, so I want to transition kind of to Ada Lovelace as well, but I want to kind of ask more of a contentious question. What do you think is the primary reason why people attribute so much success to Ada? And it almost seems like Babbage is more of an afterthought or like, ah, he was there. And like that's about it. - Well, you want my personal opinion there. There's a, has been for many decades now, a societal need to promote one gender over another. And that's really the motive there. All of a sudden you see, oh, the very first programmer was a woman. Well, okay, it's not quite true. But you can understand why people would want to promote that, people with a certain agenda. - Can you kind of explain? - Oh, sorry, go on, DJ. - No, I was just saying. - I think we see pretty clearly like Babbage, and you mentioned it in your book as well. Like he doesn't think of it as only manipulating numbers. So I mean, like, it's truly never finishes anything. So I mean, maybe he's not the first programmer to finish (laughing) British or project, which maybe makes him, you know, more programmer, right? How many of us have never done that? (laughing) - Mark, what true programmer is, do you not finish anything? (laughing) It's fair, pretty fair. - But it does seem sometimes he gets a little bit shorted in this aspect of like, he only was concerned with numbers, but he was thinking of quite a few things in some level of symbolic nature. - Oh, my goodness, yes. I mean, he was contemplating having these machines play chess, right? He had worked out a machine to play Tic Tacco, not some crosses, right? He had worked all that out. So he was well-being on the idea that these machines were simply numerical processors. He was well into the old symbolic idea. And there have been a number of publications out there that have credited that entirely to Ada, and that's just not fair. That's not the case. Babbage and Ada shared a lot of ideas. They were intensely communicative. They wrote letters back and forth to each other. They sent messages to each other. They met all kinds of times. They were pair programmers. They worked really closely when they could. And so any idea that one hand would get cross-fertilized in the other and back and forth. - So would you, would it be more fair? Like if the record were corrected into like maybe a proper historical perspective is that they both shared and created this idea of the symbolic nature of computing. And it's not just numbers that they were able to co-create this idea of being able to create a machine that could actually do something more than just add to numbers. - I think they fed the idea back and forth to each other. But the original concept was Babbage. Babbage was thinking about playing chess and playing games long before Ada got involved. Now I once said, "It did get involved. There was a lot more cross-pollination." She just loved the idea. She was one of those remarkable people who has a deep insight from the bearest possible evidence. She saw one of Babbage's mock-up machines. And it just kind of sprang into her brain. Like, oh my God, what could be possible here? She was completely over the moon with the idea of a machine that could follow a set of instructions. Moving data from memory to processing and back to memory, she had it down. If she had been born a hundred years later, she would have been a significant program. - Let's say, all fun fact, Ada Loveless, right? She was very connected in the world, right in the sense. So is she Lord Byron's? What was her story? Lord Byron's daughter for those that don't know Lord Byron influence Shelby to write Frankenstein in his summer mansions way back, right? Like it's like a really oddly connected group of people and she was a part of this odd connection that exists. This was the middle-level nobility of Victorian England. He was the lord of something or other. I can't even remember what it was, but he was also a jerk. He was, he was the word "lutherio" does not do him justice. He was a gambler, a drunkard, he nailed every woman he could get his hands on, including some of his relatives. He was not a great guy. This was also the author of Don Juan, the author of Don Juan, the Hebrew melodies, very, very accomplished poet and a really nasty guy. He wrangled Aedus mother to Mariam and he sired the one child and the child was female and that really bothered him. Through one set of quasi-rapes, after another he was finally ejected from both his home and the country, never returned to England and never saw his baby daughter more than once or twice. Yet she wanted to be buried next to him and named her children after him. Very strange stuff going on. It was a good fusing time. We like to say that the 60s were a wild time, but I think the 1860s might have been a lot more wild back then. There were definitely things going on. The story with Mary Sallie was fascinating because this was the year of a big volcanic explosion and it was called the year without a summer. So you had crops failing all over Europe and all over America and freezing temperatures in July throughout most of the continents. These guys hid out in the mansions because they were very rich. So this was Mary Sallie connection. It was fascinating. They were all hiding out because it was cold and yachty and rainy and they would tell ghost stories and it was Lord Byron who challenged everybody to write a ghost story and Mary Sallie used that opportunity to write Frankenstein or the beginnings of Frankenstein. So we have this lovely connection from Charles Babich all the way to Frankenstein. And lobehold, a summer at Avila, at Avila was gave us a birth to the what's called modern sci-fi category. Kind of wild to think about. A volcano that caused the world to be in winter. Caused by. Get, commit best feature ever. Get push. Get pull rebase best feature. Cedri can't fix this but it can speed up slowdowns and prevent crashes with just five lines of code. So you can fix what really matters even if you can't fix everything else. I do think one of the interesting things though that like I wasn't aware of when I was first reading about Ada was just how much she and Babich were talking and communicating and some of the work she did and originally translating and then adding more stuff to his original difference in analytical machine. Could you talk a little bit about that? Well, Babich went on a tour at one point. He was invited to give a talk. He was the only talk he gave on the analytical engine and he gave it in in Turin, Italy and he had extracted a promise from the conference organizer that the conference organizer would write up a document about this but the organizer did not for two years. And then finally delegated it off to a young lieutenant. The young lieutenant wrote up conference notes in French and Babich got them but just like okay what do I do with this now? And Ada was there and Ada knew French very well so Ada decided to translate them into English and while that was going on and that was actually a gift, a surprise present between Ada and Weetzdon who had decided to present Babich with the translated notes and Babich was so impressed with the translated notes that he told Ada you know you're capable of writing a paper on your own. Why don't you write your own and if you don't want to do that, then just add some stuff to this one and Ada then went on to write the famous you know annotations that describe the analytical analytical engine from her point of view and boy does she get effusive in those notes. She's she's like glowing and talking about all the great things that could possibly happen well is that on the other thing. She goes over the moon over this. So they're all just doing the VC work out there really is what you're trying to tell me. You know he I don't think they had any thought that they were going to get funding. Babich was pretty convinced by that time that nobody was going to give him anymore money. You know that the prime minister was walking around saying how do I get rid of this guy. He's such a nuisance. So I think he'd blown all of his credibility by then. But they did they did spend a lot of time planning that machine. Babich went deep into the design of it. You know it was how the gears would mesh and how things would move and he had invented this entire dynamic notation that nobody had ever thought about before right because machines usually were pretty simple. These machines were complicated. They had steps. They were actually like finite state machines. And he had to he invented this notation that was allowing to track from moment to moment to moment to moment to moment which year would move and which clutch would season which lever with this way so that he could model out the behavior of a very complex machine. But then unfortunately like many other Babich projects he doesn't finish and spends a lot of money in the process. And it kind of lays like somewhat I don't know dormant in a way for quite a while. And then maybe the next year. Yeah maybe the next interesting character to bring on the scene would be maybe John Van Numen. Maybe you want to give us a little intro on on him and how he sort of comes into this world of computing because it's quite a quite a fun story how he gets started here. John Van Numen might might have been the smartest person ever born. I mean you'd have to put that title on Van Numen or Charles or Einstein or Maxwell. Somebody like that. This guy was a soaring it all. He got involved with relativity, general relativity. He got involved with quantum mechanics in the early days. He got involved in nuclear physics and nuclear reactions. And he got involved with computing just a remarkable guy. And he again he said like a refugee from from from Europe because of Jewish. So you know the anti-Semitic winds were blowing pretty hard and he bailed out real fast. Got into the United States got to Princeton was one of the first guys to get into the advanced institutes studies in Princeton and then brought a whole bunch of others over you know like why do you invite Einstein? Why don't you invite all these guys get all these guys over here and a lot of them came. And then in then it's World War II right and and Van Numen because he's a math guy he's really good at math. He he starts to work for the ballistics people the ballistics lab and they're trying to figure out how to calculate the trajectory of a of a ballistic shell. No cannon shell as it as he travels through the stratosphere because now these things were going 10 15 miles high and they were they were going 45 40 50 miles down range. Oh okay like this is World War II and the big ships on the big gun the big guns on the big ships they could fire well over the horizon. How do you plan that how do you plan that trajectory right because these these shells are going up into the stratosphere where there's different trajectory different pressures different temperatures whole different regimes and the only way to do that properly is to get right you've got to break it up into tiny little segments and walk your way through the atmosphere and then back down to calculate where they're going to be. So the computational load for modern warfare grew well outside the bounds of human beings and you know they tried to solve that by having armies of humans armed with desca calculators that could do add subtract and even multiply and divide but you'd still need too many of them and then they got to the IBM card machines these card readers really early card stuff that you could program to do a simple addition it would read a field from a card it would do an addition it would punch the result on another card and then you could move these batches of cards from machine to machine to machine to machine as they went through very detailed calculations and von Newman was at the heart of that and he was he was trying to do these trajectory computation he was also trying to do blast computations what is the best out there? to to explode a high explosive at. And it's not on the ground, then it's not too high in the air. You've got to find the best place for the maximum destruction. So he was doing all of those calculations, right? And then he gets this phone call. Fun him is over in England at one point. And the war is raging already. And he's looking at all the fancy little machines they've got over there. NCR had a cube machine that could add and subtract and stuff like that. And he's over there and he gets this phone call. And he says, you know what, we need you back here. And the phone call is from J. Robert Oppenheimer. Nobody knows what's going on at that point, but we need you over here. Van Numen was the only scientist, the only human, as far as I'm aware, who had the right to enter and leave the Manhattan Project at will. He could come. He could go. Nobody else had that privilege. I'm not even sure Oppenheimer had that privilege. But Van Numen did because he had to keep working for the the ballistics people. And he needed to work on the Manhattan Project to help them calculate the implosion characteristics of a plutonian corps. One of the guys who was working with a young man at the time was Richard Feynman. Working on those card machines, moving cards around, they had those card machines running 24/7 week after week after week, just to do the calculations. And in the crudest possible way, and Van Numen was at the heart and Van Numen's looking at this going, this is not sustainable. We're not going to be able to design these weapons with punch card machines. And he went on an exploratory tour. Where can I find the machine that will help me? And he saw Howard Ackin's Mark I, big machine that was an awful lot like Babuch's Analytical Engine. And he saw the Antiac, which is very typical electronic machine. And none of those worked. None of those would have been good enough. And he conceived with the help of the guys who designed the Antiac, he conceived of the idea that data memory and program memory need to be the same memory, because that's the only way you can get speed. You have to have high speed program memory to cycle the instructions quickly. You have to have high speed data memory to get the data in and out fast. And you can't ever sacrifice one for the other. And that was the great insight that led to the Van Numen architecture, which we all use today. As I was reading this section in the book, I was cracking up because the last sort of phrase you do when you're talking about this was saying the program had to be data. And I was like, oh, OK, Mr. Closure. Like, oh, yeah. We're letting your information guys easily here. OK. I'll be right through you on this one. Oh, I was laughing at that. Although I get it, yes, he was right about that. But maybe this took it too far. You know? Something that kind of took-- I guess the part that I remember the most clear was, I guess I didn't think about the consequences of these machines in the sense that people had to work 24 hours a day on these machines, either debugging or attempting to get them to work. There was no indirect access to memory. It was like the thing you always worked on. There's no such thing as a pointer, any of that. But the part that kind of blew my mind is that the rooms in which they worked in were over 100 degrees Fahrenheit, whatever that is in fake land. I forget what it's called. Celcius. I'm going to get some angry comments. That was just me fishing for comments, really. But it was like, it was extremely hot in those rooms. And people being there for hours, like as a sweatbox, just like trying to make these things work to actually have this be successful. That is just mind-boggling to me that it was that hot. That was actually the Univac. Was that the Univac? What about that? That was the Mark I. Well, the Mark I was a great big machine too. But the Univac ones, when they built the Univac, Univac had memory. And the memory was columns of mercury that carried sound waves. But the mercury had to be kept at 40 degrees C in order to get the right speed of sound. So they had heaters in those mercury tanks that would heat them up to 110 degrees Fahrenheit, 40 degrees C, something like that. And of course, they radiated like crazy. So the room would get hot. They didn't have air conditioning. So they're working in this room with these hot tanks of mercury, no air conditioning. And they're trying to debug these machines. They're trying to wire up these machines and debug them. And they wound up wearing nothing but shorts and went shirtless and doused themselves with buckets of water just to keep working in that environment. My chair's not ergonomic enough. [LAUGHTER] Actually, my first thought was like, they don't even have a keyboard or a chair. They didn't even like those two weren't even things yet. OK, sorry. I jumped a little ahead in the story. OK, it was the Univact that did. OK. My bad. Sorry. It was a very exciting moment. Just to think that-- just trying to relate, I have no relation to this part of the story in some sense. I don't think the last time I thought about the reliability of memory of any kind. I don't think I've ever thought of RAM being unreliable. It's just not a facet of my thought process, let alone the ability not to have a pointer, let alone the ability to work in a room that is my room is nicely temperature controlled. And it feels good. I'm wearing a hoodie because it's not 100 plus degrees in this room. And so like that whole notion, this stuff that had to work with, it was just mind-boggling comparatively to what we had. The viability of memory, the accuracy of memory was a problem. It actually still is a problem. It's just a problem. So well, nobody thinks about it. But in the early days, it was a huge problem, because the dropout of a bit was significant. It was not uncommon for a bit to just not be there. And when you're running a program, you can't have the bit dropout. So there had to be a way to recover. And they invented all kinds of schemes, parity schemes. In the early days of core memory, every byte had an extra cord and length bit, which was the parity bit. Some of them had two extra cords so that you could recompute in case one of them dropped out. There was a lot of that stuff going on, especially and in the early days of dynamic RAM, there was a lot of that stuff going on. Probably still is, but it's buried so much now that we don't need to think about it. So I think it's-- So I know Prime skipped ahead. Oh, go ahead. Prime, sorry. I was about to say, since I skipped ahead-- sorry, TJ. I took that one right from you. But I think we're going to probably enter into the figures that I think most people probably have at least minimally heard of, and that they're very, very familiar with. Would you mind-- because this is a huge historical figure at least during my college and all that-- would you mind kind of giving a brief introduction to the next character in this little character walk? We're doing Alan Turing. Alan Turing, what an interesting fella he was. Sorry. So the one thing everybody knows about Alan Turing is that he was gay. Let's get that out of the way. He was a brilliant young man, as Adolescent as a child, very smart, and yet in only very narrow ways, he was mathematically oriented. He like maps. He like recipes. He like chemistry. But any other topic, and he just wasn't there, couldn't deal with it. He was nearly expelled from school, because he wouldn't deal with social issues or anything-- anything outside of a very narrow focus. If he was interested in it, he was deep. He went really deep. So fascinating guy eventually manages to become a significant mathematician. And there was this problem that mathematicians were working on at the time. David Hilbert, the great German mathematician, had posed to these problems. And the problems were about mathematics itself. Is mathematics consistent? Is it decidable? All these really interesting deep questions. And Kurt Goodle, blew him out of the water pretty early on. Mathematics is neither complete nor consistent as Giddle proved. And then it was touring and came along. And touring proved the last of these, which was the decidability problem. You can't even decide if a mathematical problem is solvable or not. There's no algorithm that you can run to prove this. And the way touring set about to prove that was by inventing a machine. We call them nowadays touring machines. But it was just a thought exercise machine. You imagine a machine with an infinite tape. And it's got a single window. You can move the tape left or right one cell at a time. In this window, you can read a symbol or write a symbol, it doesn't matter. And the operator is a human being. And the human being does all of the operations according to a very simple script, which in our parlance is just a finite state machine. If the symbol is this, then do that. It's very, very simple. And using that machine, it's the most remarkable paper to read. If you've never read touring's 1936 paper, on uncomputable numbers, it is just a remarkable paper to read, because the man starts with that very paper. basic idea and then invent the assembling language and macros and everything so that in the end we can prove that there are certain problems that have no algorithmic solution. Proving that Tilbert's last question was no mathematics is not even decided. It was in the pursuit of Tilbert's three questions that modern computing was born and Hilbert saw all of his goals defeated and yet in that defeat came our modern industry and computation just fascinating. Touring goes on, you know, you write that paper, print paper on Newman reads the paper, that's really cool, he invites touring to Princeton, they couple up for a while, then touring goes back to England and gets involved with code breaking and it's all of this computational ability that allows him to participate so potentially in code breaking but he's not satisfied. He wants, he wants Babich's analytical and he doesn't say that outright but that's clue he wants. He wants a machine like that and participate through the design and the programming of the first one or two such machines ever to be built. Like his life goes on and there's of course the whole gay thing where the government persecutes him for being gay and they use chemical castration which doesn't really work on him, he just goes to Europe. And then in the end they find him dead in his bed with a partially eaten apple next to him and he's been very clearly poisoned by cyanide. And the rap is that he committed suicide but his mother says no no way, he did not commit suicide. He was working on it with gold, he was at gold plating exercises and cyanide is one of the chemicals you use in that process and she believes that he in a moment of carelessness got a little cyanide on that apple and when he ate the apple he started to recognize the symptoms and he knew there was no hope so we laid on in the bed. And that's his mother's view, I actually adopt that view, I don't think Alan Turing was going to think about killing himself in any sense. He had a lot to live for, he was on the cusp of some great stuff. So I think his mother's view is the better view. I had not heard that alternate proposal for it which is both options are very sad. You know what I mean? It's very sad either way but yeah I hadn't heard that one. In the one case you could at least say the man died doing what he looked. And okay, you can imagine being somebody that smart and all of a sudden you're starting to get symptoms and you look at the apple and you think, oh damn it. Yeah, come on, what was I thinking? And then okay, well I know what's going to happen next might as well lie down make myself comfortable. Not much I can do about it. Yeah. It's, it definitely changes a lot. I mean I've never heard this either until this moment. I can't believe you're just now sprinkling this on me. I don't remember that in the book. This is like, this is mind blowing right now but it just, it changes so much about it because it's like. It almost in some sense like feels way more sad. It wasn't even a self choice. It was just, it sounds like an accident like there's a whole world that exists in which he could have continued to produce amazing things that we just miss out on right by sheer oopsie daisy. It sounds like. Well, that that would be my preferred view. I think I probably gave you guys a draft. Yeah, I copy this. I'm not going to be able to do that. There's nothing about computation in general. Aiken says, "I want you to calculate the interpolation coefficients for arc tangents and you've got a week." It's a 23 digits answer, isn't it? As you got a week. And by the way, the machine is busy. So don't buy them to the programmers. And maybe we can sneak some time on it, but you're not going to get a lot of time. Which she pulls off. She pulls it off. And begins to learn how to get real things done on this cantankerous, but kind of a loud machine that's impossibly slow from our standards, but the fastest calculator alive at the time. And she begins to learn how to do it. And she, with her two companions, work out the disciplines for writing code, notating from comment code for punching accurately, for saving routines that they could reuse over and over. They called them subroutines. They began to put together what you and I would consider the most primitive parts of a programming discipline, but there was none then. And she was the one who was instrumental in that. She wrote the first programming manual ever. She taught the first programming course ever. She invented turns. She came up with a glossary of terms, terms that we use now without even thinking about it, terms like address and pointer and debug, terms that we now just kind of toss around, bite, bit, all of these things. She wrote down, she drove the community. As the programming community grew, she was the one driving it. She came up with the first user groups. She came up with the first computer conferences. She was there at the heart of it all. And in the midst of all this, the machines were getting better and better. At first, her first one was electromechanical. You couldn't even do a loop. I mean, you could put the tape in a loop, a physical loop. But there were no jump instructions. There were no gift instructions. So-- Yeah. If you did, actually do that. Takes a loop. It looks sometimes, but usually not. Usually, they run instructions to the operators about how to reposition the tape. If the registers are this, otherwise, position it over here if the registers are that. So the gift statements in the loop were actually executed by the operators at 3 in the morning, as they shunted through the computations. But later on, she got involved with the electronic machines. She was deeply involved in Univac and started really programming. These were-- the Univac machines were a Von Numan architecture machines. They had memory, the data, and the programs were stored in memory. She was writing in the assembly language at the time-- I was actually the machine language at the time. The machine language was not numeric. It was alpha numeric. And so the instructions were kind of mnemonic, sort of. She got involved with that. She began to realize-- oh, this would be like 1950. She began to realize that the bottleneck in computation was going to be finding enough programmers. That had not been the problem early. But it was starting to become a problem. We needed to find more programmers. And most programmers weren't going to tolerate the primitive conditions that she had begun to enjoy. So they are-- She recognized the sushi dinners who are super important as we were trying to say, right away, she saw it. So she had a ping pong table everywhere. Is that the blue? Yeah, that's right. Yeah. Yeah, we need play areas for the kids. All of that stuff. No, she was really focused on the language. She said, there must be a better way to phrase these languages. There must be a simpler way. It's not quite as complicated. And she came up with a number of different levels. And with each level, they got more and more advanced. Now, she wasn't the only one working on this. Other people were working in languages, too. But she was the most dedicated, the most disciplined. She had fought through the issues more than most people had. So in the end, she came up with this idea for the language, the language to own all other languages, and in the darkness of lying to them. And came up with probably the worst language ever conceived, which was co-op. Her view-- her concept was glorious. Let's use English. Let's use English. It's our language. Why can't we use English as our language? And then everyone will understand it, which didn't work. So question did it not work? Because there were-- because there's a lot of things that become popular because they become popular. There's the whole phrase, C++ is largely popular because Bjorn was just so forceful with its popularity that he helped make it popular by his own willpower. Was her language-- because it's hard for me to say her language was bad, because I never programmed a computer back in those days. So it had to be a great leap forward comparatively to its counterparts at that time period. But at the same time, other languages were coming. Why was Cobal not successful? Is it purely just championing? What is it? It was certainly a great leap forward. There's no doubt about that. Nobody had ever put together a compiler of that complexity. Then it was competing with Fortran at the time, but very, very impressive kind of language. The problem of the language was the motive for creating it in the first place. She believed that business would not be interested in computation if business did not understand the programs. And business used English. And she was adamant about this. She actually, at one point, threatened to walk off the committee. He never talked to anybody again if they did not adopt English as the language. She was determined about this. Other people wanted to see mathematical formulas, sort of like Fortran. We used today in Java and C and C++ in languages like that. But she would have none of it. We're not going to use mathematical formula. We are going to use English. Multiply A by B giving C rounded period. That's how I have always wished I could write programs that way. That just sounds so much more-- Yeah, me too. And I wrote some Cobal. And fortunately, my brains survived. But it was a harrowing experience. It's so inefficient. And the data model is just so bad. And then you've got to write these English statements. And they're so wordy. So you can tell that I like the language a lot. I think it was a great mistake to build the language that way. But they did, and the language was wildly successful. And we still have Cobal programs running today. Can't fault it for that. Is it successful? Because if I remember correctly, very integrated with IBM and IBM really integrated with all the banks. And then the banks were all trapped on Cobal. And then no one can translate. It's like, we're forever here because that's ATMs. And that's just what we all live on for the rest of our lives. It was not just IBM. Back in those days, there were a lot of companies that were making computers. So there was GE. There was NCR. There was IBM. There was Univac. And they all had languages that were kind of similar to Cobal. And in fact, Cobal took from a lot of those languages and integrated it. So they were all ready to accept it. So Cobal went in a lot of different directions. It wasn't just IBM. Now, if you add a few years to that, IBM dominates. But at the time, Cobal came out, IBM was a significant player. But it wasn't clear that they were going to be the dominant one. Awesome. Well, this is where I wanted to stop for this episode. And people have to read the book if they want to know about more of the history. And/or maybe we can have you back on and we can cover the next era of computing, like a little bit later in Grace Hopper's career and as a few other people sort of show up on the scene. So we're going to transition into our Q&A section. So-- Going to have a quick pause there. Could you kind of elaborate to everybody? Things we didn't even-- like you don't elaborate any sort of detail. But things we didn't even talk about that we didn't cover during this time period. Because there's quite a bit more. We just kind of really glossed over that. Oh, my. We did not talk at all about Dennis Richie Ken Thompson, the inventions of Unix and C. What a story that is. C, when he Christmas. You would expect something like C would have been invented by serious people. These guys invented C. So they could play space war. It's just a tremendously funny story. And they changed the world. They changed these guys just to play space war. They changed the world. Wonderful, wonderful story. We did not talk about John Bacchus, the inventor of Forkren. What an interesting character, John Bacchus, complete and air-duel. It could not-- did not have any interest in success or life or any. He just wanted the party and had a good time and magically he becomes-- the most consummate project leader to date for that time. Just remarkable. There's a lot of stories that we did not tell in this session. But they're in there and they're fun. Very much so. It was such a good read. Now we can go to the Q&A part. Flip to the Q&A. I have a question. I have moderators prerogative here. One of the movies you reference in the book is the Forbidden Project, which is a ridiculously good and underrated movie. In my opinion, not very well known. What's your favorite programmer or like computer movie? My favorite computer movie has to be 2001. Nice. How 9000. There's chat GVT for you. Take a look at the way that computer moves through that script. And other than the self-motivated part, how was self-motivated? Other than that, you could see chat GVT doing just about all that stuff. All these large language models and big learning machines, they could easily have been doing a lot of that work. It's really interesting to me. I think of all of the movies about computers. That one is the most accurate as far as looking into the future. Got the dates wrong. But other than that, a how 9000 kind of device seems to me to be feasible. Yeah, I mean, that's a different like oh one really is just giving it more power to keep on running itself. You're just kind of like let a wild loop happen around chat chippity and you can get yourself into a how 9000 situation. I'm not convinced it's as simple as that. Self-motivation is a complicated problem to understand. How do you come up with a machine that queries itself, meaningfully? It's pretty interesting. But another one of the machines, the movies that I liked and awful lot from a computer point of view was Jurassic Park. Because that was real, except for the one moment where she says, I know this. This is a unique system, but everything else was great because the needy was a terrific character. It's just wonderful. And the other guy, right? I hate this. I mean, we still got the meme today. Look at this guy. Look at this. Look at this guy. He uses Vim. Nobody cares. Still love that. All right. Let me start polling some questions because I think one of the first ones right out the gate is actually pretty good. So he says, considering the journey from Ada to AI, if you look 15 years ahead, what path do you think software programming will take? Do we think we will have more frameworks and large software systems built entirely by AI? Or will the user wants factor remain beyond AI's reach? The user wants features will remain well outside of AI's reach because they remain well outside of most programmers reach as well. It's very difficult to build a system that a user wants because you have to decide what to ignore that the user said and how better to address the user's needs. And we don't have large language models that can get anywhere near that. The human will be involved in writing code for the foreseeable future as far as I'm concerned. It will get easier. We'll get these things will be a good assistance. They're already kind of fair assistance sort of sometimes. But I think they will get better. That would become good assistance. You could give them a task and say, hey, write this up for me. And then you'd better check it because I'll get it wrong. So you could think of them as a college students or something like that. But I think that will be a growth in utilitarianism, but not a growth in insight or creativity or human ingenuity. I don't think that's coming anytime soon. We're going to get closer to Grace Hopper's future, right? More programming with English, maybe at least for some small parts of your system. But the query, the query language will probably shift more towards towards English. Although my suspicion is that it will formalize now will become a formal query language much much much like lawyers use that certain words have certain meanings and certain phrases have to be used in certain ways. And then we'll end up with programs that read legal documents and will be just as impenetrable of the labor. That sounds like the worst possible future. Thank you for making me actually hate my life. I changed my mind. I want the I want the AI to take my job. I got one. I like this one a lot. So did switching over to functional programming with closure change or soft in any of your views on things like solid principles or test driven development. Oh, no, not at all. And even the idea that it was a switchovers isn't quite right. I didn't switch over to closure. I just started using pleasure. And was there a fundamental shift in the way I thought no, there was a minor shift because I had not been used to immutable variables. And that was that was kind of interesting for me to get my hands around and you know it's not quite fair to say that I wasn't used to it because they had used other languages that this was a more significant shift. That's just a small thing in the panoply of software. Holy cow, most of the stuff I do in closure, I used to do in Java, I used to do it in C++, used to do it in C. Most of software remains the same. Just okay, it's a little more convenient in culture. And that's really really all it comes down to. Do I still do test driven development? Yes. I still use the design principles absolutely. I still use design patterns. Yes, I do. In fact, I wrote a book about that topic, functional design. Okay, this one's not meant to make you feel old. But what was it like growing up at that time period was the attitudes similar to how people see AI nowadays. Not exactly sure which time period she's saying, but I assume it just means the ever increasing amount of languages and expertise kind of falling away the I think what it's called something like real men don't eat Keesh. There's that whole topic about program real programmers don't eat Keesh is just like we use spinning drum memory piece we can program it the most efficiently and all that. I saw my very first computer at age 12. It was a plastic machine that had three flip flops six and gates. You could do three bit problems with it. And it was just a little plastic thing that I could hold in my hands and manipulate and I completely fell in love. Not just with that little machine, but with the concept of the machine. And it's very much that at that point, I made the career decision of my life. I knew what I wanted to be. I could see the possibilities well beyond that three bit dot little machine. And I started getting into electronics. I build some stuff out of electronics. I put together machines that could add and subtract multiply the vides in electronics. Back in those days, it was pretty easy because we had begun to get integrated circuits of wearing things together. It wasn't too hard. I got my father would take me to me and my buddy to the digital equipment sales office, which was about 30 miles away. And those guys let us play on their PDP eights and PDP 10s and we would go like every weekend summer. Summer planner didn't matter. We'd be doing around on the PDP eights and the PDP 10s and in those offices teaching ourselves assembly language teaching ourselves binary teaching all this stuff. I was absolutely committed to it. It was my life. I was going to do this period. And the viewpoint at the time, just in general, was unlimited possibility. That wasn't just me. That was everybody involved in the industry. Unlimited possibility. We could see more as well. We could see that exponential growth. We were experiencing it in the small, but we could see where it was going. And that was an exponential curve that we could we all knew we all knew we were going to ride that roller coaster to the top. So, and it was a hell of a ride. You know, back in those days, I don't know if you experienced this. You could get a computer. You had to get a new computer every every year or every two years. Because the old one was so slow and so small that it just wouldn't run any of the new software. It was just it was a wild wild time. I started out with machines that had 4k of core. And I thought that was a lot. And it was every year. Oh, 8k 16k 32k and megabyte two megabytes 12 megabytes. The discs that this could have maybe a megabyte on the maybe. It's depending on the disc and they were great big things and then you know the disc gets smaller, but they get bigger inside. All of a sudden you've got 20 megabyte discs and and then you know 100 megabyte discs and then a gigabyte. I got a game and I remember seeing my first game. Ah, those were very heavy days. You know, I got to, I luckily got to grow up in some of that era. I remember installing doom and unreal tournament and having to buy like graphics cards. And then when I went to Unreal Tournament, or I went from Unreal to Unreal Tournament, it's like I have to get a new computer to be able to run the next generation of games in every computer. I was like 300 or 100 makerhertz, 200, 400, 800. I just thought I was going to go, like I was too young to know about Moore's Law. And I remember in high school, like seeing the decline in like sophomore year, or yeah, something like that, where it's like 1.6 and the next year was like 2.2. And I was like, "Can that stop as fast as it's been?" And it also says like 2.5. And it was like just kept on not doing it. I was like, "What the hell's happening here? What happened all by. " Like what happened to this? I thought we were going forever. Not going forever. Yeah, I mean programmers today are going to live in a very different world than I live. They're going to live on the plateau. Now it's a hell of a good plateau. But it is a plateau. And that takes a different mindset, I think. So sorry, some of the people in this chat are born in this century, unfortunately. I can't relate. But so their question is, what's the most unhinged fact you found researching the book? It like, I don't know if you use unhinged. It's just kind of like absurd. The most absurd tale in the book. And I'm going to say it's absurd and yet it's completely believable. Was the past that Ken Thompson took to AT&T. Ken Thompson was a college student. That's all he ever wanted to be. Didn't want to graduate. Didn't want to leave school. He loved it at school. He knew the he had he had command of the big computer room. And that was his. You know, he was the operator. He was everything. Nobody touched the machine if he didn't say so. And he would use that as his toy computer at three in the morning. He he decided he was going to stay there forever. His professors eventually had to fill out the form so that he could go into graduate school, which he kind of reluctantly did. His professors had to call of AT&T and said, "You really need this guy." And the AT&T guy comes out and you know, Thompson doesn't want to talk to him. Just blows him off a couple of times. On the third time, AT&T guy says, "You know, I'd really like to talk to you." And Thompson feeds him. What was it? Fig newtons and apple cider or something like that. And the guy says, "We're going to pay your way out to Bell Labs." He says, "I don't want to go." "Well, come on. We'll pay your way out." And Thompson says, "Well, I do have some friends I could visit out there." "Well, yeah, visit your friends and come out to Bell Labs." He says, "Yeah, but I'm not taking a job." "Not taking a job." And he goes out to Bell Labs and he's very impressed with some of the names he sees on the cubicles. Oh, he knew some of those names. But he went to visit his friends anyway. And the offer letter followed him somehow, followed him to his friends on the east coast. And he got the offer letter and he opened the nothings. You know, maybe I'll take the job. It's just completely ridiculous. So if you want to talk about Unhinged, there's a guy, and that particular story is just one of many, where you think, "Okay, that's the guy that changed the world." Okay. That's actually pretty fair. It's shocking that he literally changed the world in the sense that C is now the most mainstay language of potentially all time. And we're sitting there. You couldn't even get out of college. That's, man, I can relate to this guy so much except for the whole success part. When I was reading it, since I'm going to join in on this one, I can't remember who it was. So you're going to have to refresh my memory. But there was a beard club to identify if you were or were not working on a specific project, because IBM, I believe, did not allow beards. And there was the beard cult. And I was just like, "This is a strange story I have ever heard that there was. " That was nice. That was right, dude. That was so good. I don't give any details away. It was so good because it was just too good. All right. TJ, pick another one. So this one's from Code Girl. Thanks, Code Girl. "After seeing so much evolution in computers, does it feel ridiculous what computers are now? Do you have the same fascination now as you did when you were younger?" I am an absolute law of these machines. Here we are. I'm talking. I'm going to. Well, I get a start of one. It's like 80. Okay, fine. I am using this machine. And it is doing things that I could only imagine in my wildest dream 30 years ago. Right, here we are. And okay, we've got some problems. You know, it drops out from time to time because the internet was never designed to do anything like this. Of course. But I'm an absolute law. These machines are miracles. And even the fact that we're on the plateau now, right? And the machines aren't actually getting, you know, better by a factor of two every year or so. They're still miracles. Look at our society. We carry these things around with it. We've got phones. We got AirPods. The AirPods have more computer power than, you know, the NASA ad. When we went to the moon, right? I mean, the ability to compute is just so incredible. That we throw it away. We've just burned it in crazy configurations. We program in languages like closure, which is 30 times less efficient than sea. But who cares? We've got the cycles to burn. It's a remarkable time right now. And I am in awe of all of these machines. I hope that all continues. Yeah, so I have three little kids and I like always think about how my kids expect to be able to talk to any screen and have it do something, right? They like expect that if they say like pause, something will pause. Because they hear me say like pause the music, right? And it pauses, right? Or like they just they've never had a world where they like the computers can't speak back to them and like respond and do something and play in English. And that it just like magically works like my kids don't think about Wi-Fi. Like they're four, you know, I have four to a newborn. Okay, so they're not thinking about Wi-Fi. I'd use, but I say, you know, like they're not thinking like, oh, it's cool that I don't have to plug this into the wall and listen to like that's me. I'm thinking of dial up, you know, and then like my kids, yes, just crazy to think their expectation is like all computers talk and understand my words and do something, which is wild. I still think about this thing all the time, which is that I used to play this online game that had a 30 megabyte client that I had to download. And this would take an enormous amount of time. And to this day, every single time I see a download bar, I still think back to that 30 megabyte download bar going, this is like, I'm watching that game download every second. And it's just like, how is this not like the greatest thing in the universe? I still get like all pumped up by download speeds, which is just it feels trivial and ridiculous, but to me, that's just like the coolest thing in the universe. I feel so grateful for it. I don't know. We live in ancient miracles. The best the best the most you can feel about that is credit. Speaking of gratitude, what like I feel like there's a lot of, you know, just like angst, especially around the job market, especially as a junior engineer. What are like some words or something that you could help kind of kind of bolster them up? Because obviously you are on one side of your career. They're on one side of their career. And there's maybe feels less tenuous or less achievable than perhaps your side did. Maybe I don't even know if that's true or not. But what can you kind of tell them to pave the way for the next 20 years, shall we say? Yeah, one thing is, you know, COVID kind of threw a big, big, boldness into the job market. So we're trying to get over that. And I think we will very quickly. The demand for programaries is very likely to continue to skyrocket for at least the next 10 years. You know, I think we double the programming staff in the world every five years. So we can probably continue to do that for a while. I don't think we're going to have a problem with employment. If you're a programmer and you want to become a better programmer, you need to read a lot. You need to try things a lot. You need to experiment a lot. You need to play a lot. Think of yourself like Ken Thompson, right? You're going to play Space War and that's going to leave the Unix and C. That's it. Play a lot. Get into it. Enjoy the hell out of yourself. Don't get fixed in one spot. And I don't mean by that an employer. I mean by a language or a system kind. You know, spread yourself around a little bit. Learn a little bit about financial systems. Learn a little bit about robotic systems. Learn a little bit about real-time systems. Yet there's a lot of really fun stuff to learn in that environment. And the more you learn of different environments, the more general you become. The more you see the relationships between them and the differences between them and the more you can cross-pollinate. So that's very important. Also learn more than one language. Learn a lot. So make sure there are different kinds of languages. You know, a job is fine if you're a job-up programmer. Maybe you're using roster, maybe you're using Go. Who cares? But then find some language that's completely different, right? Like, learn fourth. (laughs) Learn fourth. What a really interesting language that is. Learn prologue. Nobody uses prologue anymore, but learn it anyway. That's really interesting language. And if you've never programmed and see, you should program and see just a little bit just to get to your roots. Just to get to your roots. If you've never done any assembly language, you should probably spend an afternoon doing some assembly language and then pray to God, you never have to do it. (laughs) It's pretty, it's pretty primitive. Do all these things, read, learn how to write, and I don't mean write code. Learn how to write your language, English or whatever it is. Learn how to communicate, right? Learn how to organize your thoughts into a nice, a nice deliverable that you can hand to other people and they can go, oh, I see what you're saying. That will help you a great deal with your career. And learn how to teach. Because in the end, the best way to learn is to teach. You will learn faster and harder than you've ever learned anything in your life. If you find yourself having to teach it. So there's a whole bunch of advice I can throw on on the table. (laughs) - That's really good. - Yeah, I love it. - That was all W's in the chat. - Yeah, those are very similar to a lot of the things we like telling people. I think there's like a big fear for some reason that you might spend a weekend on something and it's not like it doesn't go anywhere or like it's not good. And it's just like, but that's okay. Plus like the alternative is probably like you're complaining to somebody on Reddit or something. Like it's not like you're so optimized with your time anyways that you couldn't afford to waste it. Like you're probably wasting it anyways. You might as well waste it trying something new. Like who cares? And I think there is this feeling like, oh, I spent the weekend on the wrong language. And now my career's over. You know? (laughs) - You know, it's very true. One of the biggest mentalities I see right now is that it's like if you're not on the whole modern web, whatever it is and you're not constantly making some great modern web app. If you're not becoming the most specialized, most awesome, hyper, you know, focused on this one technology. You know, this is just taking Twitter for example. Then you're just falling behind. Like, in lieu of the fact that most programming isn't web. Like web is just one slice of many different forms of programming yet. And like, foisted on many young, new incoming programmers that this is the end all or the be all of programming. And it just causes this weird, disproportionate view that if I'm not progressing in this one narrow vertical, I therefore am failing and I can see everybody else fall. You know, this guy may doom capture and I just failed at this thing. Therefore I'm the worst programmer. I was just like, ah, well, really? You learn, that's the big thing. - The web is going to go lay. - Okay, that's like the biggest thing. - Web is going to be the worst people going. - Okay, all right, yeah. So the web is going to go away and when the web goes away, it will go away very fast. Because something better will come along and it will sweep through like a storm. So, are you ready for that storm? It's coming. Don't know when, but it's coming. - That's a very interesting perspective because I guess for whatever reason, I, this is the same thing that happened to me in high school. It's the same thing that happened to me in several aspects of life as I look at certain moments or time periods as like a journal. Like this is the end, this will be the thing that will always be around. But you know, life already has taught me that that has never been true. But I guess I've never thought about the web ever going away. - I'm gonna have to think about that one. - Yeah. - You just ruined my day. Thanks, Uncle Bob. - We'll pick a happy question. We'll pick a happy question and said, what is Uncle Bob's favorite aha moment he's had in programming? Like get up and have a happy dance, level of aha happy moment. (laughing) - Well, it was probably when I was 12 and that dumb little computer that I was talking about was 3D flip flops and 6D dates. I could not figure out how that worked. It was magic to me. You know, I could put the programming elements on it. I could cycle it. I could see the bits change. Didn't know how or why it worked. And I got the advanced programming manual, which they sent me for a dollar, I think, took six weeks to get to my house. And I read through that, taught me Boolean algebra and it taught me basic stuff, de Morgan's theorem and so on. And then I was able to write programs for this little machine. And that was a big aha moment for me. 'Cause all of a sudden I could see, not just the inner workings of the machine. But I could see how to make bigger such machines and better such machines. And I began to understand what it would take and where this industry was going. So I guess that's the biggest aha moment for me. - Awesome. Well, I, in less than you have another question, you'll probably wrap up. Okay, awesome. - That's our time to wrap up. - Well, yeah. Thanks Bob for coming on and really appreciated. Maybe you can plug the book one more time, tell people where the best place is to get it. We'll put a link in the description too for when people watch the slides. - We programmers, that's the title of the book. We programmers, I wanted it to be we that programmers. But the publisher thought that might be too political. So we programmers. And that's a little take off on Isaac Asmoth, Irova. So okay, kind of get that idea. And you can get it on Amazon and you can, I've probably a whole bunch of other places too. I don't know. I do know it's being delivered. So I've seen them out there, although I don't have a copy of myself yet. My publisher will probably get it for me soon. (laughing) - And by we programmers, you don't mean OUI, right? Not like we be programmers. - We, oh yeah. - Program. (laughing) - Not we. - Awesome. Well, thanks Bob. It's been a lot of fun. And we might have to have you back on. Like I said, to discuss more towards the later parts of the book too would be fun. - Sure. Sure anything.

Podcast Summary

Key Points:

  1. Uncle Bob discusses his new book on computing history, explaining his motivation was to provide technical details often glossed over in other histories, helping programmers connect with past innovators.
  2. The conversation highlights Charles Babbage and Ada Lovelace, emphasizing their collaborative relationship and correcting the misconception that Lovelace alone pioneered symbolic computing; Babbage conceived many ideas but struggled to complete projects.
  3. The discussion draws parallels between historical awe over mechanical computation and modern amazement with AI, noting how each era experiences similar wonder at machines performing tasks once thought uniquely human.

Summary:

In a discussion about his new book on computing history, Uncle Bob explains he wrote it to give programmers a technically detailed account of their field's origins, contrasting with existing books that overlook such specifics. He shares stories of key figures like Charles Babbage and Ada Lovelace, describing Babbage as a visionary socialite who initiated groundbreaking computing concepts but often left projects unfinished. The relationship between Babbage and Lovelace is portrayed as deeply collaborative, with both contributing to the idea of machines processing symbols, not just numbers, countering narratives that credit Lovelace exclusively.

The conversation also reflects on how historical reactions to Babbage's mechanical calculators mirror contemporary fascination with AI, as each generation is stunned when machines replicate human capabilities. The dialogue underscores the value of understanding computing's roots to appreciate the challenges and contexts that shaped today's technology.

FAQs

He wanted to provide technical details often glossed over in other books, helping programmers connect with the pioneers and understand their challenges.

Babbage aimed to automate complex calculations, like Taylor expansions, by building a mechanical adding machine to reduce human error and labor.

She is celebrated for her insights into symbolic computation and programming concepts, though she collaborated closely with Babbage on these ideas.

They shared ideas on symbolic processing, such as machines playing games, with Babbage initiating the concepts and Lovelace expanding on them through collaboration.

In the early days, 'computer' referred to a human, often a low-paid manual laborer performing calculations, like the hairdressers used by Babbage.

He was inspired after manually validating lengthy numerical tables and exclaimed a wish to automate the process, leading to his mechanical designs.

Chat with AI

Loading...

Pro features

Go deeper with this episode

Unlock creator-grade tools that turn any transcript into show notes and subtitle files.