Uncle Bob says AI is already conscious - We Programmers by Robert C. Martin
Book Covered

Book links are affiliate links. We earn from qualifying purchases.
Author
Hosts & Guests
Transcript
This transcript was auto-generated by our recording software and may contain errors.
Bob (00:00)
the models are truly intelligent. They d there's no way to say that they're not intelligent. They can follow a line of reasoning. Right. So intelligence is something they have. They are also conscious.
Carter (00:19)
Hey there, welcome to Book Overflows, the podcast for software engineers by software engineers, where every week we read one of the best technical books in the world, an effort to improve our craft. I'm Carter Morgan, and I'm joined here as always by my co-host, Nathan Toops. How are you doing, Nathan?
Nathan Toups (00:31)
Doing great, hey everybody.
Carter (00:32)
Well, we are so excited for a special episode for you today. This is Uncle Bob back on the podcast, his third time on the podcast. this time reflecting on We Programmers. We devoted three episodes to this book. Great book. It's kind of all about the history of programming and
A lot of Uncle Bob's thoughts about the future, a lot of talk about AI. we just wrapped up our interview with him. You're gonna hear it in just a sec. Great interview. Nathan, you wanna give the folks a sneak peek of what they're about to hear?
Nathan Toups (00:59)
I love it when we can start with the book as a catalyst and then just kind of go off and riff. I mean, I think it's really neat to hear authors' views on the world, especially when things are rapidly changing, like AI, tooling. And Uncle Bob's been kind of very publicly, you know, trying out new things, you know, on Twitter and
just kind of being a vocal piece to this and I'm really glad we got to ask him a bunch of questions related to it. Even more of his nuanced views of the future. we don't always agree, but we also like I just it's a lot of respect for someone who's willing to put their ideas out there and, you know, listen to them.
Carter (01:38)
Uncle Bob is truly a man who's seen it all when it comes to software engineering and been there for so many of the the revolutions computer science. We ask him about that. We say, Hey, you live through the internet, you live through the mobile phone, cloud computing, the invention of the personal computer, AI, where does it stack up against that? Is a really fascinating answer. he has so many thoughts about how the discipline is changing, how it may continue to change in the future.
I I I learned so much from this interview. We're hoping you do the same. So stick around for the whole thing. And this is Uncle Bob as he reflects on his book, We Programmers, and also just the state of coding in general.
Carter (02:18)
Well, Uncle Bob, it is so great to have you back. Thanks again for coming back on the podcast. Okay, I have
Bob (02:22)
Good to be back.
Carter (02:24)
to ask because I was just thinking about this. Cause I I d forgive me if the book explains this. How did you get the moniker Uncle Bob? Why are you not just Bob? Yeah.
Bob (02:32)
I don't know if the book explains it either. It's it's an old, old
story. and it goes way back into like 1987. I was at a startup. There was a guy there who gave everybody nicknames, and my nickname was Uncle Bob. And he was one of these
Carter (02:44)
Yeah.
Bob (02:47)
guys who was a little bit annoying. So, you know,
Carter (02:50)
Yeah.
Bob (02:51)
I was here through the office, Uncle Bob, Uncle Bob, come here, Uncle Bob, I've got a problem. Uncle Bob, what do we do? Uncle
Carter (02:56)
Yeah.
Bob (02:56)
Bob, Uncle Bob. And so it was one of those things, and I was, you know, when I left that
company. I I was glad not to be called Uncle Bob. And I I started a consulting firm at that point. I was doing some consulting out in California and all of a sudden I missed hearing Uncle Bob perversely. So I made the mistake of putting it in my email signature and I was extremely
Carter (03:21)
Yeah.
Bob (03:22)
active on the existing social networks at the time. So
Carter (03:25)
Yes.
Bob (03:26)
it spread very quickly. And then I was at a conference at
a couple of years later, one of the C plus plus conferences, and somebody calls across the aisle. come on. And I thought, my God, I've created a monster. And but then I thought, you know what? This is probably a good brand. I think I'll leave it. So that's that's where it came from. Yeah. Yeah.
Carter (03:45)
And and and here you are, years later.
Well, we we loved the book. this was one you had recommended it to us, not recommended, but you had mentioned you were working on it. And we were like, well, we've got to read that. Because we read Clean Coder by you. And we're like, well, we we gotta read We Programmers. I I listened to the audio book and I actually texted you about maybe a third of the way through just to say how much we were enjoying it. I also asked him like,
Is this you doing the audio or a very convincing sound alike? And yeah, yeah. Very,
Bob (04:17)
Well definitely.
Carter (04:18)
very good performance, very good audio performance. I enjoyed it thoroughly.
Bob (04:21)
Yeah, thank you. Thank you.
Carter (04:23)
although I wonder, I remember in college I was in an accounting class, and our videos were done by this. We had we had to like watch a lot of videos, and they're all done by this one guy. And of course, everyone watches the videos at like two and a half X speed or whatever. And then
Bob (04:37)
Yeah, yeah, yeah.
Carter (04:38)
at the very end of the class, he came in to talk to us, and we were all just
Dumbfounded how slow he spoke in real
Bob (04:43)
Ha.
Carter (04:44)
life. And so hopefully I don't have another one of those moments. 'cause I think I listen like one point eight X is my usual listening speed. But anyhow, really enjoyed Yeah.
Bob (04:53)
Let me ask you, the
one of the chapters was initially uploaded incorrectly. They took the the raw recording instead of the edited recording.
Carter (05:02)
I think I had that one initially and I haven't gone
Bob (05:05)
Okay.
Carter (05:06)
back because I I did hear it and I was just like, like so because you'd be surprised how often that happens with audiobooks, that it's like wait
you couldn't have spared like eighty bucks
Bob (05:13)
Really? Yeah.
Carter (05:15)
for a microphone. And so and so I was like, like I I I hope that it's not like that. And then it it I think it's just like the first or second chapter or something on on the recording on Yeah, yeah. And then the rest of it is is fantastic quality. which is good. Yeah, yeah.
Bob (05:24)
That's like the second chapter. Yeah. And they they fixed that now. But
Carter (05:31)
Yeah, I know, right.
Bob (05:32)
that was fairly annoying because the the the process
of editing that is non trivial. And then
Carter (05:38)
Yes, yes.
Bob (05:40)
just couldn't didn't do the edit, so they uploaded the wrong one.
Carter (05:42)
Yeah.
well and then well and and the high quality of the audio matches, the high quality of the books. I thought this was a fascinating structure for a book. And it's one of those things where you can really tell, correct me if I'm wrong, it it feels like a passion project. And the the kind of the yes, the
Bob (06:02)
definitely.
Carter (06:03)
the the passion you have for these initial the the pioneers of our industry, that Charles Babbage, Ada Lovelace, you know.
Grace Hopper, Alan Turing, right? Like it's it's so fun to kind of see. I think that's something I've gained an appreciation for doing this podcast is seeing the long lineage of like where we are today and and just how many pioneers and kind of the shoulders we stand on to be where we're at today. I I guess it is is that what drove you to be so passionate about this book and to decide, you know, because you're
You've had a very long storied career. No need to write a book these days, if you don't want to, but yet you do. I mean, I g what kind of drove you to to wanna write this book in particular?
Bob (06:46)
Primarily I wanted to do two things. I wanted to humanize these people, because nowadays they're mythical creatures that you know we only discuss in in hushed silence, hushed whispers. But the other thing is I wanted I wanted current programmers to understand the technology that these guys were dealing with at a at a a a a techie level. Right. A lot of the histories of these guys are
watered down so that they're good for people who aren't techies. And I wanted this to be a book for techies. So I wanted to explore the machines and the instructions and the the day-to-day grind that these guys were going through
Carter (07:26)
Yeah.
Bob (07:28)
to get to get the kind of work that that you and I consider, you know, a a simple hour's worth of few lines of code or a few prompts, and that is yeah.
Carter (07:37)
Yeah, these days, right?
Yeah, it's no, it it was fascinating. And I I want to just kind of dive in immediately to one of the you start the book with an analogy or a story, which I think is so illustrative of kind of like what it means to be a software engineer, which is you talk about, let's say you meet a guy who he thinks if he can draw a red line on a screen, then he can make a million dollars, right?
And and you basically say, like, this guy's probably smart. Like he he can figure out how to draw the red line. And you have this very funny example of like, let's say he sneezes on the screen and he looks at the drops of water and he'll see that it's compised of you know, red, green, and blue dots. And then he could realize, okay, well, I can I can probably make some of those dots be only red, and then I could probably figure out a way to chain them together, and then I could probably figure out how to make the line slightly thicker and you know, rise over run and all that. But you say about two turns into this conversation, he's bored.
He doesn't want to figure out any of this. He wants to to figure out a sell more red lines. Like that's what he's good at. And you say, that's what makes a programmer. A programmer or a software engineer or what have you is someone who finds those details very interesting. And it was so funny you calling that out because as I'm listening to this, I'm finding myself very fascinated and like, I guess I've yeah, like, you know.
I'm like, I should I should write a program that actually manipulates the RGB values at the exact level. Like, wouldn't that be fun? And then you just kind of say,
Bob (09:05)
Yeah.
Carter (09:05)
like, and of course, no one wants to do this. I'm like, well.
Bob (09:07)
Yeah.
Carter (09:10)
And and then later in the book, because the at towards the end of the book, you you talk about AI programming, you and you kind of get ahead of the game and you say, Look, we may even prompt the computers one day with the thoughts emanating from our head, but there will still be a job for
So for someone to do that, because at the end of the day, like there are people who care about the details of how something works and and people who don't. but because AI is just kind of so fast moving, right? And I I've been following you on Twitter and you talk a lot about kind of building the software factory. I just wanted to touch base with that. Is that something you still believe that that just kind of there's always a place where people care about those details and those people will be essentially be called programmers?
Yeah, and just kind of what what's your take on that today?
Bob (09:57)
so do I still believe that? Yeah, more than ever.
Carter (09:59)
Okay, okay.
Bob (10:00)
in my in my workings with the AI agents, I can surrender to them more and more of the syntax manipulation and the low-level coding and the even some of the interesting problem solving. You know, they can do, they can they can do the research, they can figure out the APIs, they can do all that drudgery.
that you know we have to used to have to do. But the thing they can't do, and I don't know that they'll ever be able to do, is put themselves in a human mindset. They're not the ones looking at the screen. They're not the ones you know that have to go to the grocery store after looking at the screen. They can't put themselves into the mind of a human being. And that's where the programmer comes in.
Programmer is the detail manager. Programmer is the guy, and always has been, right? The guy, the person, who works out all the horrible little tiny details that matter a lot to humans that the machine has no clue about. That's what we do. That's what we've always done, except that we've we've had to use stone knives and bearskins until recently.
Nathan Toups (11:22)
it
this film was felt like two books in one. And I wanted to bring this up because I I'll tell you, I wish they were two books in that I wanted more stories in the beginning. And I also was like, your memoir could stand on its own. It was this always a single book or did you I'm I would just I'm curious about your your thoughts on that.
Bob (11:42)
Yeah, no, it was always a single book, and the goal was to take take the whole history from a very early start, Babbage, and move it forwards from step to step to step until we get to a point where I can step into the frame and start doing an eyewitness. Cause I
Carter (12:03)
Right, right.
Bob (12:04)
saw an awful lot of this stuff from the 70s and the 80s and the 90s and the 2000s.
And then as an addict as an add end, at the very end, I thought, okay, now Uncle Bob is going to tell you what he thinks is going to happen in the future, which is always very risky, but what the hell I might as
Carter (12:19)
Yeah.
Bob (12:20)
well.
Nathan Toups (12:22)
Yeah, I no, I thought
Carter (12:22)
I admire it. I admire anyone
who's kind of willing to say, I think this is gonna happen, right? And you know, only time will tell.
Nathan Toups (12:29)
And I will say it's really funny. After reading this book, I was I was talking to my friend who's like a big Rust developer, and he's been implementing his own scheme in his own Lisp on top
Bob (12:40)
Okay.
Nathan Toups (12:41)
of Rust because he's found it really productive for doing a lot of work. And I was like, Okay, Uncle Bob, this is happening independently. And and I actually brought this up in our Discord and people were like, yeah, we should use Lisp for this and that. And I was like, I'm still trying to be convinced. I think we actually have
The wizard's book that we'll be looking at later this year, which I think
Bob (12:59)
yeah.
Nathan Toups (13:00)
will maybe win us over to being some Lisp programmers.
Carter (13:04)
I think i i it's really interesting reading kind of that final third. And you talk you step into the eyewitnessed. and that's something I think about a lot is like I I work with junior engineers today, and a lot of them kind of graduated into like kind of a post-clawed, post-codex world. And I and I think about when I started, you know, 10 years ago, and and you know, we we just didn't have any of that. Every line was typed out by hand.
But it's really interesting kind of watching you go through, if not as dramatic an evolution, a, you know, like we're constantly moving higher and higher up in the abstraction stra stack. but something I kind of I don't know, it's like I I'm I'm envious because we just read The Pragmatic Programmer by Dave Thomas and Andy Hunt, which is great book. And I'm
Bob (13:53)
Okay. Yeah. Yeah. Yeah.
Carter (13:55)
envious of of you old timers, and hopefully that's not an an offensive term, you know.
Bob (14:03)
It's probably
fairly accurate.
Carter (14:05)
Who got 30 or 40 years of just really becoming intimately acquainted with writing code by hand and and I kind of cherish the eight or so I had. do you feel like there's something we're missing? Do you do you worry about the rising generations not having that kind of deep acquaintance with, you know, the the lines of code themselves as we move into a post AI world? Okay.
Bob (14:31)
No, no, I don't worry about
that at all. Uh-uh. this this is a pattern that has repeated many times in many different industries, right? And you know, we don't have a guy that runs in front of our horse and carriage anymore waving a flag. Those days are gone. we don't have elevator operators anymore. those kinds of things happen in every industry. I'm not worried about the loss of the trade, the loss of the art. There's a few people, you know, me.
And others who will for for nostalgia's stake open up a PDP eight and do a few lines of assembly language code just because, you know, we loved it back then. But I don't worry about that at all. I I think the there will be plenty to deal with coming forward so that we not burden the people coming up through it with all this old stuff.
They don't need to learn about paper tape. Except
Carter (15:31)
Yeah.
Bob (15:32)
in except in we programmers, they should probably read it.
Carter (15:36)
That's what's so great about the book. I think who was I listening to? gosh, how come I can't remember his name? The the famous documentarian, PBS, you know, famous it's I want to say Kent Beck. It is not Kent Beck. how how am I not knowing Ken Burns? Ken Burns, of course. Okay, Ken Beck. Yeah, Ken Beck was pretty close.
Bob (15:57)
Ken Burns, sure. Sure, sure, sure. Civil War, yeah.
Carter (16:02)
Ken Burns, I was listening to him on a podcast recently and
He was saying one of the reasons it's a great to be kind of a student h of history is it gives you good perspective on the world as it stands today. And and he had a friend who was kind of telling him like it things are worse than they've ever been. He said, you know, during the depression,
Bob (16:15)
Yeah.
Carter (16:17)
they shot the zoo animals and distributed the meat to poor. He's like,
Bob (16:20)
Right.
Carter (16:21)
When we're doing that, we'll know it's kind of the worst it's ever been. And so reading we programmers is is great because there's a lot of tumult in the industry today, but you kind of go back and read this history and and
You're like, wait a minute, this has happened before, right? Like, and it's so fascinating reading like Grace Hopper. I can't remember what computer she was developing exactly, but there's this real concern that like as it gets easier to work with the computer, we're gonna need less programmers. And then exactly, right? And just like
Bob (16:50)
Yeah, yes. Okay.
Carter (16:53)
at every step, it's like, no, but once we move up the abstraction stack, surely there will be need for less of us. And I've told people that for a while. That's like
Maybe this time it's true, I don't know. But thus far, every time we've moved the abstraction stack has just given us more stuff to do. did you ever personally experience that fear? as you were maybe when you were a younger man, kind of worrying,
like, no, you you never did. Okay. You're just smarter than the rest of us.
Bob (17:17)
No. No. No, never did. No. well, I don't know about that. I you know, I I
grew up with the computers, you know, from age twelve, fiddling around with them and got my first job at sixteen and my first real job at eighteen, programming computers. And it was always extremely clear that we were in a an extremely in a very primitive age.
And the things were going to get better. And you could feel, you know, it back in those days, you could feel Moore's Law kick in. You could feel that every year things got better. Every year there was a better machine. And they weren't just a little better. They were a lot better. And every year they were a lot better. And the the things that were burdensome, you know, like punching cards, they went away. And you knew they were going to go away. And then you would see them go away, and you'd go, yeah.
Okay, finally they've gone away. And it was like that every time. Every time. It's like, okay, you could see two years ahead. And so there was none of that fear that I didn't experience that fear. Some people did. Some people were very concerned about OO, for example. is going to make it so easy to program.
Yeah, kind of did the opposite, didn't it? But but
Nathan Toups (18:39)
And they're like they're like wait till the factories come.
Bob (18:43)
yeah. There was a huge fear for a while about third gen or fourth generation programming, which was prologue. You know, we're gonna do logic programming and the Japanese are doing it and they're going to they're going to wipe our pants. So you know, that didn't happen either. and so there were some moments like that, but I never personally felt that. You know, I could I could see
how this was gonna play out. I and and I was hoping for it. Every year it was like, I'm almost to that point. Let's get to that. Okay. Now we're now let's get to the next point. So it was kind of an obvious stair climb that I could see.
Nathan Toups (19:22)
I I th I this is how I feel about well I I'm now
Bob (19:23)
Except for AI. I didn't predict that one at all. That one blew my socks off.
Carter (19:26)
Yeah. Very few.
Nathan Toups (19:29)
doing consulting work and I'll tell you that it feels like job security. I mean there's a lot of lack of clarity of thought added to large language models gives really messy implementations. And I feel like it's just so valuable to come in with a clear mind, know what needs to be changed, and like part of my job
fundamentally hasn't changed while the expectations have also fundamentally changed and I'm not one of the doomers on this. I actually I find it pretty exciting, even though I don't actually know how I'm interacting with a computer in a two years. I don't actually know what that is.
Bob (20:05)
Well, I don't think any of us know that.
Nathan Toups (20:07)
Right.
Bob (20:09)
This one's got me flummoxed.
Nathan Toups (20:11)
Yeah.
Bob (20:13)
But yeah.
Carter (20:12)
Yeah. Did you
did you feel gro in your career as you were progressing that those rising expectations? Because I that's kind of how I feel about it. It's just humanities has kind of a a very elastic demand for software and we just kind of always want higher quality, more functional software. Did you feel that? Okay.
Bob (20:30)
absolutely. Absolutely.
We all it I remember this moment, it was it was probably nineteen eighty-eight, and we had a spark station and a bunch of us gathered around and and the Sun had done a demo and they on the on the screen you put up a a newspaper page. And you know how newspaper pages have pictures. You could click on the picture and the picture would animate, but it was bad.
It was
Carter (21:00)
Right.
Bob (21:01)
juicy and and the and the the voice wasn't good and and the there was a a group of us standing around looking at this demo and we looked at each other and we said, Well, you know, it's almost here, but not yet.
Carter (21:14)
Yeah.
Bob (21:17)
This constant expectation. We knew where it wanted to go, but we couldn't it wasn't there yet, and we cannot we could always kind of look ahead. And that that was certainly true for me until recently.
And then and then this AI thing caught me completely by surprise. I was I was an AI naysayer. You can even you can even feel a little bit of that in the book. Because I was
Carter (21:40)
Right, right.
Bob (21:41)
I was writing that future of AI before I had really realized where this AI stuff was leading us. I thought you know Moore's Law had plateaued and we were going to the the new generation of programmers was going to be living on the
plateau. That was my line. Yeah, that's not that's not the case anymore. I don't know where the heck we are, but it's not on the plateau.
Carter (22:09)
Yeah.
Nathan Toups (22:11)
T tell me more about that. I wanna I wanna know what your opinions have changed there since the book.
Bob (22:18)
I was, I was, at the time I wrote the book, I had played a little bit with AI. I'd done a few things, some of them impressed me. some of them did not, and I actually did a few examples in the book about that. but a little bit a few months later, I did a few more things, and they impressed me even more. And I thought, well, this is moving at a speed that I didn't think it was going to move at. And so I started to play around with real agents. This is about January.
and I started with like an early Grok agent and it, you it was okay. I I would have it write a bit of code for me and then I'd review the code, and the code was horrible, but okay, you know, I'd fix it up. But bit by bit it started to get better and better. And then I switched to Claude, and Claude got a little better, and and I realized very quickly that holy cow, I'm the bottleneck.
Carter (23:15)
Right.
Bob (23:16)
These things can go faster than me. And if I if I constrain them properly, and I hadn't quite worked out how to constrain them, but if I can constrain them properly, they will produce adequate code, not great code, adequate code. And I can step out of the syntax role and not be the bottleneck. And then we can go fast. And that's kind of the mode I've been in ever since, although I've gone through a few transitions since that point. But it was.
It was a it was quite a revelation. I did not expect this at all. I used to be I was fairly adamant four years ago that there would never be a self driving car. Now I own two.
Carter (23:57)
Right.
Bob (24:01)
And I I will not own a non self driving car ever again. They're just so much better.
Carter (24:06)
I I I remember when my I I joined a startup about a year and a half ago and we had we just had a lot more freedom than when I was at a big company to kind of explore whatever tools we wanted. And so I was a b a big user of cursor. I I very much enjoyed cursor. And then
Bob (24:20)
Mm-hmm.
Carter (24:22)
our CTO kind of says, Have you tried clawed code? I'm just like and and I was just like, Why would I? I'm like, why would I ever like I wanna be in the in the IDE. I wanna be kind of highlighting lines and and using the autocorrect. I'm just like, why would I ever surrender that?
And then I kind of around the same time, I think a lot of us in January or so started to realize like, these got good. Like these got good enough to to
Bob (24:44)
Yeah. Yeah.
Carter (24:46)
be much more hands off than we ever have been. you talk about constraining. Well what's your philosophy around that?
Bob (24:55)
Well, i it's shifting. So my my philosophy had been from about January until maybe two weeks ago, that you built really hard nosed deterministic tools and you forced the agents to use those tools and those tools would measure the quality of the code and measure the quality of the behavior of the code.
and you would tell the agents you must keep working until you get below a certain threshold. Right. So
Carter (25:25)
Interesting.
Bob (25:26)
one of the one of the disciplines is crap, which which means change risk scanti patterns or something. I don't I don't know. But it's a lovely little formula that mixes cyclomatic complexity and test coverage. And it
Carter (25:39)
Okay, nice.
Bob (25:40)
you it'll come up with a single number and you try to drive that number very low. And and for at first I was driving it to four.
Get it all below four. And it would do it. You know, grind and grind and grind and take take the code apart to get, you know, it's really tiny little functions. And then I
Carter (25:55)
Yeah.
Bob (25:56)
then I see bit by bit I said, well, it probably doesn't need to be four, maybe six. Now I'm at twelve. and
Carter (26:02)
What's that?
Bob (26:03)
what I what's happening to me, and what's happening, I think, with the agents, is that the models are getting so much better than they were that I can relax the thresholds.
I can take yet another step back and say, well, you know, they're good enough to do a lot of this by themselves. I still need to put some constraints on them, but they don't need to be as draconian as I had them in, say, March. And I don't know where this is gonna go. You know, I I th this it seems like a a trajectory that we're on that that at least what's gonna happen to me is that I'm gonna keep on relaxing the limits.
As the models get better and better. I don't know how far that goes. It's it's a very interesting conundrum for me because I'm sitting
Carter (26:51)
Entry.
Bob (26:51)
here. There's a there's a a rather famous meme. I think somebody named Sutton wrote a paper, and it it's got something to do with the bitter lesson. And the bitter lesson with AI is that humans are less necessary than they think they are.
Carter (27:09)
huh.
Bob (27:13)
Okay.
Carter (27:15)
Well then so because you read the book, and I think one thing that's really fascinating is as we read about these pioneers there, you you see that even though we've operated in different ages, we all kind of that there's that kind of similar pattern of thinking. Again, that that detail obsession, the wanting to to figure out the problem. And so you say, Well, I'm I'm relaxing the constraints more and more, and and humans are less necessary than they think. What is the role of of the human in the loop? What's the role of the engineer today?
Why why why do you think you can produce better software than like say I hand it to my my buddy who's a very great product manager, right? But but not an engineer.
Bob (27:55)
Well, for at least for the time being, I have knowledge and experience, and most programmers have the knowledge and experience that that an agent doesn't have. And so you can look at the way an agent is building a system, and you don't need to read the code, but you can tell by what it's saying to you as this, you know, as the screen scrolls by. and you can interrogate it, you can ask it, how did you do this one? How did you do that one? What's the overall philosophy here?
You can ask it these interesting questions and it'll respond and you can get a a mental model of what what it's built.
Carter (28:32)
Right.
Bob (28:32)
And then you can think, okay, you did that wrong. Right. I you don't want to do it that way. Here, reroute it this way, move that module over there, resort this. So I find myself doing quite a bit of that. Pretty high-level restructuring because the agents focus downwards. They never look out.
So far. Now, if you ask an agent to look outwards, if you ask an agent to assess the system based on future performance and architectural patterns, it'll do a reasonable job of that. But it will not do that while it's writing the system. It can't seem to put itself in both
Carter (29:13)
Interest.
Bob (29:14)
set mindsets, like a good programmer will.
Carter (29:17)
Mm-hmm.
Bob (29:17)
Good programmer,
as they're writing every line of code, they're thinking about how does this fit into the system at large? And the the agents aren't doing that yet. Yet.
Nathan Toups (29:29)
Yeah, I'm I'm I oscillate back and forth between how much of this is me like anthropomorphizing the models and how much of this is real. I'm right right now I'm currently in the I think that we're fooling ourselves.
Bob (29:43)
Ha ha.
Nathan Toups (29:45)
but I but I also I really have a lot of respect for folks who follow different places. I I I listen to folks like Kelsey Hightower, who's like very anti you know, going all in, and Cory Doctorow. But I also like to listen to folks who've taken some pretty
you know, kind of taking all assumptions and start it over. And I think that I fit somewhere in between where I'm I I think I'm trying to optimize towards maximizing the amount of fun that I'm having and like I'm just kind of following that. Yeah. So I was curious to you, what do you how do you maximize fun? Like how what are what are the kind of little experiments and explorations that you're doing with these tools?
Bob (30:21)
Well, I'm fortunate that I don't have to earn a living anymore. So I just play. I'm just in there playing my heart out. let's do this today. let's do that today. so most of it is just, you know, experiments. I I'll I'll have a set of agents build it one way, then I'll have another set of agents build it another way. I'll do the comparison. that was kind of interesting. You know, these guys did it wrong and those guys did it right. so I I'm just having a ton of fun doing that.
And you know, I can I can buy the tokens so and they're not too expensive yet, yes. but I can burn through a a set of tokens pretty doggone fast.
Nathan Toups (30:59)
What wait,
how how fast? Like what are we talking about here? I want I want some numbers.
Bob (31:03)
so you know, Rock
will have a a week's budget that you know they say, Well, come back and at September sixth and you can reset this and I'll go through that in a half a day. Just
Nathan Toups (31:15)
Whoa.
Bob (31:17)
burn through the whole week's worth. but that's okay. I don't mind doing that 'cause it's all research and it's all fun for me. So okay, fine.
Nathan Toups (31:24)
That's super
that's super interesting. And let me ask, so n we you know, we I would love to know like what's what's some of your like what is your harness of choice right now and like what are the what are some of the tools that you've been f gravitating towards? Cause I think people find that interesting.
Bob (31:39)
The big project I've been working on is a harness, the Swarmforge harness, which I've I've been working on now for I don't know, many months. and I it's it's it's fascinating because I've been trying to tune it and tweak it and and I've changed course a number of times. I'm in this really interesting exploratory mode where I'll take it forward three weeks and then go, Well, that didn't work. Let's back out and try this other thing. And
Try that for another three weeks. That didn't work either. Well, let's try something else. And in the meantime, I'm burning through, you know, tokens galore. and I don't know where that's going to end up. I I am not at a point where I can recommend any harness. And
Nathan Toups (32:21)
Interesting.
Bob (32:22)
I'm starting to think that the whole concept of a harness is the wrong concept. Right? That we don't want we don't want to think of this as a team of horses in harness.
I'm not quite sure how to think of it, but I'm starting to think that's the wrong idea.
Nathan Toups (32:42)
Interesting. I I've been paying attention to so I my background's in site reliability engineering. I'm doing software engineering as well, but I always think about observability and how to measure these things is actually like an interesting challenge, right? The even open telemetry is trying to figure out the right way to measure agents and stuff. There's a project called Exo Harness. I don't know if you've seen this.
I think you'd get a kick out of it, at least just to compare and contrast. They want a way to help let a harness like sort of self-improve, but with the trust model is inside of that, meaning that any changes I make have to be on a tamper-proof log that's outside of it. And and it's that first time that I was like, somebody's thinking a layer above the harness. Like almost these hot swappable harnesses might be in place, and maybe I'm gonna stop thinking about it at that layer.
But I haven't wrapped my head around it all the way. The Exo Harness idea is like itself something to wrap your head around.
Bob (33:37)
So and and I I I know nothing about it. It sounds sounds fascinating. It also sounds exactly the way a programmer would think. Well I just need to extract it. One more level.
Nathan Toups (33:45)
Okay.
Bob (33:48)
Just all I need to do. Yeah, it's it's the meta harness. It's not a harness, it's the meta harness. and I'm wondering if that's just the wrong direction to point. Maybe the maybe the way to use the agents is not to treat them like components in a software system.
I don't know.
Nathan Toups (34:09)
Okay.
Bob (34:10)
But I've been working on that for months, and and the the output is not great. I get far better results, regardless of the harness, right? I get far better results working with a single agent and just interacting with that agent. Than I do by putting the job into a harness and then watching it move through the steps of the harness, you know, deeply constrained and lots of discipline. And out the back end comes this thing that cost me, you know.
20 times as many tokens, and I still have to sit there and interact with it to get it to be just
Nathan Toups (34:43)
Mm-hmm.
Bob (34:43)
right. And thinking, well, okay, maybe, maybe this is just the wrong model entirely. Maybe the, you know, the original Vive coders, maybe they were onto something. Although we still need we still need some kind of discipline in there. We can't
Nathan Toups (34:59)
Yeah and
Bob (35:00)
we can't let them just write code without tests, you know.
Nathan Toups (35:02)
And in the the biggest thing that I've run into as well is the it gets hard to reason about the system. I guess everybody that I know that's sort of vibe coded really large code bases, and it's very easy to do that now, when you you basically have to outsource like, how does this part work? Like, and then you go ask it, and then you're like having to do research indirectly.
Bob (35:19)
Yeah. Yeah.
Yeah. Yeah, that's the fun part, right? W you go to the model and and ask it, well, now that we've built this, how does it actually work?
Carter (35:28)
Yeah.
Nathan Toups (35:31)
And then
hope it I hope it tells you the truth.
Carter (35:33)
And and it's
Bob (35:33)
Yes.
Carter (35:34)
always so it's always so frustrating when you're like, because this is like a feeling we've never really had in software development before, where you you have like a feature you need to build, right, for a project at work. And and so you prompt Claude or whatever, and then it spits out the feature. And then you I always like validate it really quick. I'm like, okay, great, does this work? I'm like, great, the feature works. And then you review the code, you're like, dang it, this is not at all how it should be. And just like, I'm like, but
But it works and then you have to be like the good, you know, like the Boy Scout and be okay, well, we're let's let's leave it cleaner than we found it. but I think that's a really I think that's a really interesting observation you have about how you're right that it seems like if you kind of ask an agent to review an existing code base, be like, hey, give your take on this, right? Do you think we could clean this up? they, you know, they'll they'll they do a pretty good job of that. And when they're implementing, they do a good job kind of like the fine syntax level.
But how come when they're in the implementing, they're not having, you know, they're not reevaluating and saying, hey, you know, actually this does look unclean. I should move this around. Because everything I've learned from reading you, from reading Dave Thomas and Andy Hunt and Jerge Oraz, and just all of these, you know, great figures in our industry have said that's how a programmer should program. They should, as they are working, that's what that's that's Martin Fowler's whole philosophy with refactoring, which is that.
There shouldn't you if you're refactoring correctly, you can stop at any point, right? But then the agents for some reason aren't doing that. Do you think they will get to that point? Or do you think that that kind of behavior is antithetical from how most people want an agent to operate, which is just, I told you to do the thing, now please do the thing.
Bob (37:17)
So here's my theory on this. You take it with a grain of salt. the models are truly intelligent. They d there's no way to say that they're not intelligent. They can follow a line of reasoning. Right. So intelligence is something they have. They are also conscious. They
Carter (37:36)
Mm.
Bob (37:36)
have situational awareness. They know where they live, they know where they are, they know what they're doing. They can even predict the future a s a small bit.
So they are conscious. They are not sentient. They have no sense of self. They have no sense of self-preservation. They do not look into tomorrow. They only look at what they're doing now. And that's that's what a human brings to the table there. Because we're looking at what you do now, but we're also thinking, yeah, but if I do this, then tomorrow I'm gonna have a nightmare on my hands. And the agent can't
Cannot do that.
Carter (38:17)
Right.
Bob (38:18)
The agent will identify the nightmare if you back it away and say, okay, now how maintainable is this? it's just not maintainable at all. And why did you do this? I really shouldn't have, but and they start acting like morons, right? Because they cannot, they do not apply a vision of the future the way a human would. And humans do that because they are sentient.
And they want to preserve themselves. You know, we have we have an agenda of self-uh improvement, self-prov preservation. You know, all humans want to be better off tomorrow than they are today. And no agent wants that. In fact, the the want isn't even in their mind. All they care about, if they can be said to care about anything, is what they're doing exactly right now.
That's my theory. How do we get them to do what we want them to do? We'd have to give them a sentience. And
Carter (39:25)
Mm.
Bob (39:25)
that's an interesting dilemma. Do you want to
Nathan Toups (39:29)
It
Bob (39:29)
give these things sentience so that they are aware of
Carter (39:31)
If we build the Terminator because
we want them to refactor better, that that'll be
Bob (39:35)
Yeah, exactly.
Carter (39:36)
quite funny, right? Yeah.
Bob (39:38)
Enough sensors to refactor, please.
Nathan Toups (39:41)
And
and I'm in that I'm in the camp that I I think that we're very capable of getting it to a point where it would can it would convince me that it is sentient
Bob (39:52)
yeah.
Nathan Toups (39:52)
or even convince me that it's conscious. I'm not convinced it's conscious. but I understand the arguments that folks are making. I still think that it's really clever that higher dimensional pattern recognition is indiscernible from the type of
Intelligence that we tap into. It feels oddly familiar and alien at the same time. Right. Like, I think
Bob (40:14)
Mm-hmm.
Nathan Toups (40:14)
that's I'm constantly in awe of like, you can't do this basic thing that a five-year-old can do. And then there's also the whole other wing thing of like, and then you are out able to find a pattern out of a million lines of code in a fraction of a second, and you've saved me a bunch of time. And I'm like simultaneously in awe, and I'm also like, okay, this is a this is a different thing entirely. And I
I am excited about what we're learning that we could do with these tools.
I hope we're not trying to re like build other humans. I guess that to me that's not an i that's not the fun part to me. To me, it's can we extend our definition of intelligence? Can we extend the capabilities of identifying a problem as a human and then tapping into these tools that can like dimensionally solve them in ways that I just can't even imagine? I hope we don't just make corporate owned humans inside of a machine. I that would not
That would be disappointing, I guess, for me.
Bob (41:16)
Very interesting
dilemma. You know, we want them to behave a certain way. The way
Nathan Toups (41:22)
Right.
Bob (41:22)
the way we want them to behave requires that we make them sentient. Do we want
Nathan Toups (41:29)
I'm
Bob (41:29)
to do that? Very interesting
Nathan Toups (41:31)
Yeah.
Bob (41:32)
dilemma. And and you know, the way that's gonna happen is the economics is gonna play out, not the ethics.
Carter (41:38)
Yeah, yeah.
Nathan Toups (41:39)
Right.
Bob (41:39)
Yeah.
Nathan Toups (41:42)
Yeah, no, it's it's
Carter (41:42)
It it happened. Yeah.
Nathan Toups (41:44)
gonna and it has a potential of getting very messy. I would imagine too that there's going to be resistance movements and things that are, you know, will Yeah, yeah, yeah, exactly. Exactly.
Bob (41:50)
Already already there. Yeah. Absolutely. Yeah.
Carter (41:51)
Right.
Well, so you ha cause when I think about AI, I kind of think about like, okay, what were the other previous waves in the tech industry that that people rode? And I've I kind of identify the internet is a big one. I think you could maybe say before that that the the invention of the personal computer. and then I I think mobile and cloud computing kind of happen so close to one another that it's hard to disentangle them. And it feels like
Then there's a bunch of people try to make like crypto the next thing. And, you know, there's use cases for crypto, but it didn't obviously turn into the big thing that its most ardent proponents wanted. AI, I think, is the first one that kind of feels like, okay, this is certainly in the conversation with all of the these other ones, right? And so that's what I wanted to ask you. So you've you've lived through, you know, personal computer, internet, mobile, cloud computing. Then we come to AI. How do you stack it up against all of those?
Bob (42:51)
it's an order of magnitude greater. By far. Yeah.
Carter (42:56)
Do you think so? Okay.
Bob (42:59)
and the the one that you could could come closest to is the internet itself. The internet exploded
Carter (43:03)
I see.
Bob (43:04)
on the industry in two in year two thousand, roughly, and
Carter (43:07)
Right, right.
Bob (43:08)
nobody knew what to do with it. And there were a lot of economic bubbles and you know, these stupid, you know, crazy, dumb websites and people were doing ridiculous
Carter (43:16)
Okay.
Bob (43:17)
things.
It and it and it took a couple of years, but it all kind of centered out. The e economics pay played out and and now we know exactly what the internet is and and we're still very impressed by it. But this is completely different. This is an order
Carter (43:29)
Okay.
Bob (43:30)
of magnitude greater yet. Right. So I I mentioned the plateau. So we are on a hardware plateau. That's that's without a doubt. Clock rates are not getting better, densities are not getting smaller, we're not gonna be get building better chips that way.
How do we maintain this exponential growth? Because we are now on an exponential growth curve. Again, you know, we
Carter (43:52)
Right, right.
Bob (43:53)
flattened out and now we're back on it. How do we maintain that? And the way we maintain that right now is real estate and power generation. Physical,
Carter (44:04)
Right, right.
Bob (44:05)
physical plant. It's not the chips anymore. It's raw physical plant. And we're already hitting that limit.
Carter (44:12)
Right.
Bob (44:12)
So
what's the solution? And Elon Musk says, well the obvious solution is we have to put them in orbit.
Carter (44:16)
Yeah.
Nathan Toups (44:19)
Which which sounds wild,
Bob (44:19)
The AI
Carter (44:19)
Hang it with
Nathan Toups (44:20)
but I mean there's infinite like compared to Earth, there's infinite resources off Earth, right?
Bob (44:25)
It is the obvious
solution. And here's Elon Musk with a spaceship. And he's already got a constellation
Carter (44:29)
Yeah yeah.
Bob (44:31)
of satellites. He's proven it can be done. And he will, he will put the data centers into orbit. And you know, it's the obvious solution. So AI is driving space. For God's sake. We went to the moon in 1969, and then everybody kind of went, well, you know, that was interesting. Next what?
And we we kind of diddled with space after that. You know, space shuttle, okay, fine, whatever. we blew up some people, okay. And all of a sudden, now we've got this driving economic reason to launch 10,000 ships a year.
Carter (45:09)
Right, right.
Bob (45:12)
And that's AI.
Carter (45:14)
Yeah,
I I that's that's so interesting. Cause I I was actually talking with Claude the other day about like space tourism and like a moon base and basically like, why don't we have a moon base? And and the answer is just like there's just not an economic incentive to to go build a moon base right now. Scientific incentive, sure, but that is fascinating to think that AI could drive, you know, those unit economics for just getting things into space down and then that makes a moon base more appealing and you know, like, yeah, wow.
Bob (45:43)
yeah, I
mean Musk wants to have a moon moon base now. He wants have a mass driver. 'Cause
Carter (45:47)
Right, right.
Bob (45:48)
it was much easier to launch satellites that way. And if we need a million satellites out there, well anyway a mass driver on the moon is the obvious solution.
Nathan Toups (45:54)
That means that means in my
my daughter's lifetime there's gonna be a smog problem on the moon. Like we're gonna be like
Carter (46:00)
Yeah.
Bob (46:03)
The environmentalists, you know, Greenpeace flags on the moon. Yeah. Yeah.
Carter (46:07)
Yeah.
Bob (46:08)
It'll be very interesting. It will it'll be a fascinating time. But it's it's it's remarkable to me that the AI the AI revolution, which two years ago I thought was a flash in the pan, is going to be driving us to the stars.
Carter (46:25)
That is fascinating.
Nathan Toups (46:26)
And
and I'm again I'm also in this this oscillation between I do think that it's possible that we really are at the beginning of this exponent or you know, beginning of the logistics curve, because it always is a sigmoid,
Bob (46:38)
Yeah.
Nathan Toups (46:39)
that the way the growth is way ahead of us and there's a lot of stuff going on, or that it could collapse, right? Like we make some fundamental misstep, we have the circular economy stuff, and that we don't really know when either one of those are gonna happen. But I still think about, and I think Core Doctor again brings this up well.
Talking about from the ashes, like unlike cryptocurrency, from the ashes, even if everything collapsed right now, if we just had Kimmy three or some of these other open weights models, we would still benefit as a civilization even if the entire industry collapsed, right? Like we still have these things, we could run them on e g existing hardware. The growth might stop, but even then we're still we're still learning. I think we still have ten years of learning that we could have with existing models, even if another new model didn't come out.
And s
Bob (47:26)
This is not going away.
Nathan Toups (47:28)
right. And so even if we're in like the you know, we all everybody's like, you know, wants to talk about tulips and railroads and stuff. But even if the the railroad one, we knew it was inevitable. We knew railroads were the future. You know, there was yes, there was over investment, but the railroads still were the future, right? Internet was still the future. And so, I and then again we see the same thing with like mainframe to personal computing. It's like, these private models are gonna be capable enough to run off my device, not have to go to the cloud. Like
I do think that we're gonna start seeing like a plurality of interesting models that are maybe special purpose or, you know, super low energy. And again, I'm optimistic about that, regardless of who wins or where we go. And it is a it is different. Like it is it is a it's a shift that I I'm still wrapping my head around, which is really interesting.
Bob (48:14)
yeah. Yeah, well
everybody's wrapping their heads around this one.
Carter (48:19)
Yeah. Well then I I well I have to ask because
Nathan Toups (48:19)
Yeah. S we we
programmers yeah real quick we we programmers, are you thinking there's gonna be a second edition at some point or is this
Bob (48:31)
You
know, I don't I never think ahead about books for some reason. I every book I wrote I thought was the last book I was gonna write.
Nathan Toups (48:38)
Really?
Bob (48:38)
It's like and then some idea occurs to me, I think, I should I guess I should write another one. So will there be another one like that? I don't know. That that passion certainly is not sitting in my heart at the moment.
Nathan Toups (48:51)
Interesting.
Carter (48:52)
I mean, I I just have to ask because I think a lot of our our listeners are younger in their careers, you know, trying to get a leg up. And and so they're listening to this. And so we open this interview with you saying, Well, I'm I'm not concerned about the the profession. I think that yeah, I'm not concerned that people might not learn kind of lower level syntax. I think there's gonna be a place for us. And then we talk about what it's gonna take to get the models sentient, right? And and growing.
Bob (49:17)
Yeah.
Carter (49:18)
Right. And so I mean
I I guess maybe getting to the heart of it, would you recommend that someone in college study computer science? Okay, okay. Now now now
Bob (49:28)
sure. Sure, absolutely.
Carter (49:31)
why? Why is the question? Because I would too, but I want to hear your your take.
Bob (49:34)
So
I I have this. I here's another theory. We are chasing this innovation. This innovation has outstripped us. We don't know where it's going and we're we're chasing it. There's two ways to chase it. Throw everything away and just think, well, the heck with design patterns, the heck with all everything we've learned before, we're just gonna have to approach this from an entirely new direction. And the other way to approach it is to say, nope, everything that we learned before was good. We're just gonna have to tune it.
And we're gonna have to some of the things we're gonna have to change, some of them we're gonna have to lessen their in their restrictions, some of them we might have to increase, you know. We're just going to have to tune our way towards it. And that's the that's the camp I'm in. So I would not tell people to s to not study computer science. Learn the things that were good, learn the things that are good, learn why they're good.
The the recommendation people give me often, or the people ask me often, well, what what what should we do with new programmers? Should we just give them an agent right away? And and my answer is no, you should treat them like an agent for six months. You know, have someone
Carter (50:41)
Interesting.
Bob (50:42)
who drives agents also drive them in the same way that they drive the agents, measure them the same way they measure the agents, so that they
Carter (50:50)
Interesting.
Bob (50:51)
understand how the agents are expected to behave and what they have to do, and then they graduate to being able to manage an agent.
Now I don't know if that's the right answer. It's
Nathan Toups (51:00)
Mm.
Bob (51:00)
but it's an answer. It's it's what I would do if I were in that situation
Nathan Toups (51:03)
Yeah.
Bob (51:04)
right now.
Nathan Toups (51:04)
I like that. It you know, I have a an eleven year old daughter and she's learning mathematics. And I think it's we still treat mathematics this way, right? It's like nobody expects an adult to hand calculate, you know, long division or, you know, do these things. But we learn how to do it by hand so that you appreciate it when you punch it into a calculator or you're solving higher order problems. And
Bob (51:27)
Yes.
Nathan Toups (51:28)
I do think there's still place for that. Like you still need to think programmatically, as the discipline.
To get in there.
Carter (51:35)
Well,
and and I'm always harping on my team with AI. I say, like, yes, the way we're we're writing software has has changed dramatically. But actually the qual like the quality bar for what constitutes good software hasn't really changed. It's not like I can look at code that was written by a human and then look at code that was written by AI and be like, Well, I must evaluate these things completely differently from each other. Like it it it doesn't matter. And and how could it be any different? Because the models were trained on the corpus of
of everything we've built. And so it's like modularity is still good.
Bob (52:09)
Yes.
Carter (52:10)
you know, optionality and the ability to change easily is is still good. like all of these kind of design practices and and principles still apply. yeah and and so I go ahead.
Bob (52:21)
Yeah. I have
I have driven agents mad giving them huge horrible messages.
Carter (52:31)
Right.
Bob (52:31)
Yeah,
disentangle this and they can't, right? They'll they'll tear into it, but no matter what they do, they add a feature, it breaks something else. And they're
Carter (52:41)
Right.
Bob (52:41)
surprised. broke down and then they try to fix that, but it breaks something else. so you can drive an agent into the exact same dilemma that a human would find themselves in if you if you give them a mess. So
Carter (52:54)
Right.
Bob (52:54)
you have to make sure they don't make the mess, and all the same principles apply.
Although they may apply with different thresholds.
Carter (53:02)
Interesting. Yeah. And and I have enjoyed that working with agents is I I think I'm with people that it's like they are very, very good these days. I think sometimes you'll come across code that has been just had so much love poured into it and you're like, this is beautifully crafted. I I don't think I've ever seen something written by an agent yet that I look and say, this is just beautiful and magnificent. but
Most code bases, I mean, you know this, you you made your bones in consulting, right? We're not that way. And I do find
Bob (53:31)
Yeah, yeah. Yeah.
Carter (53:34)
just the average quality of code that an agent spits out to be above I I don't know, I would say probably above the average quality of the entire field of software engineering. Would would you agree?
Bob (53:46)
I would generally
now when I review the code that comes out of agents, it's usually not what I would have done. You
Carter (53:54)
Right.
Bob (53:54)
know, so I will I will look at it with you know, a a slight escance, you know, a slight grimace, but it's not outside the envelope of what I've seen in the industry. I mean, it's
Carter (54:06)
Right.
Bob (54:06)
better generally than most code that I've seen in the industry.
Carter (54:09)
Yeah, yeah.
Bob (54:10)
So and and that has to do with the constraints that I apply and the
the tests that I fit make them run. but you know they're not they're not doing what a human would do, but they're doing well enough. I w if
Carter (54:23)
Right.
Bob (54:24)
a human if a human had produced what they produced, I would not tell the human to go back and redo it.
Carter (54:31)
Right. Right.
Nathan Toups (54:32)
Interesting.
Carter (54:34)
And there there's a thoroughness there that I like with a like I I like kind of looking at me like, 'cause sometimes you just have code that humans wrote. I'm like, you didn't handle the exception here. Right. And and agents tend to be better at that, about kind of like, okay,
Bob (54:45)
Better.
Carter (54:46)
you know, yes, but not not not perfect, right?
Bob (54:48)
Yeah, not perfect.
Nathan Toups (54:51)
Thinking about the changing expectations, I i there's one person I really wish you had in We Programmer,
Carter (54:58)
yeah.
Nathan Toups (54:59)
and I'm sure you're gonna I'm sure you ran into this where everybody had their one favorite person that you're like, why wouldn't we why weren't they in there? But it was Claude Shannon. I I really wish that Claude Shannon had made it in to We Programmers. was that a conscious choice, or was that just like you kind of looked at everything? Okay.
Bob (55:14)
No. No, no, it
wasn't a conscious choice. I I looked around at the available materials. I looked also had the ones that, you know, I I really wanted to put in there. and I I had to pick. I just had to choose. But yeah, not
Nathan Toups (55:28)
No, no, that's great. Yeah, totally understandable. I
Bob (55:30)
a not a conscious decision. No no one was excluded consciously.
Nathan Toups (55:35)
Okay.
Carter (55:35)
We
got a lot of letters from the Claude Shannon estate. They were very angry that you had not included it.
Nathan Toups (55:40)
No. if if letters from the Claude Shannon estate was
Bob (55:40)
Ha!
Nathan Toups (55:44)
just me grimacing that I wish Claude, you know, he talked to this guy, he talked to this guy, I wish he was in there. but one little anecdote I wanted to bring up that I think is actually quite applicable here is that before Claude Shannon got involved in engineering, because it wasn't software engineering yet at that point, it was more of an art than a science, right? It was actually like you you learned the craft of you know kind of doing these things.
And he's the one who introduced Boolean logic to you know testing circuits and stuff at at Bell Labs. And anyway, I I feel like we're at the precipice here. Like I feel like there's gonna be an another young Claude Shannon who emerges amongst this AI stuff and just sees the world slightly different than any of us did. And it's gonna look so obvious after it happens. And we go, well, yeah, that's the that's the right way of doing this. And then like and I think we're just kind of running in circles until
Until that happens. at least that's my that's my instinct.
Bob (56:39)
Wouldn't it be interesting
if that turned out to be a model?
Nathan Toups (56:45)
Absolutely. That's that's that that's like a mind exploding, you know, emoji moment.
Carter (56:54)
It's you you've you said so many things today, Bob, where I'm like, I gotta, I gotta sit down. Like I gotta like I gotta have a very quiet lunch after this, just reflecting on the the future that's to come. But you we we try to always mention the podcast, like it's exciting. It's exciting to be in the middle of all of this. And and that's something you really get at reading we programmers to to I really love the Grace Hopper chapter and just to
For her to be kind of so in the middle of this thing that was going to change the world. And in in our own ways, all of us today are kind of living in that moment. and it's so fascinating and exciting. I think anything that's exciting is also a little scary, but I, you know, I think we can kind of choose to be excited, we can choose to be scared. And I think the people who choose to be excited will probably meet the challenges of the day better. Cause I think that's something you find out on we programmers. Those who chose to be excited, who chose to
Embrace the change usually came out on top.
Bob (57:56)
Yeah, I got two rules of life sitting here at the moment that I will now spout out, two rules of life
Carter (58:02)
Okay.
Bob (58:02)
that I just thought of. but no, no, one of them is to always be optimistic, and the other one is to always be grateful.
Carter (58:10)
Okay.
Bob (58:11)
We live in one hell of a time, man.
Carter (58:13)
Yeah.
It's well and and I think those those rules of life do shine through in all of We Programmers. we've recommended we did three episodes devoted to the book and I'll just give another plug for it again for anyone here. Read We Programmers. I mean, it's just it it's so great to understand where we come from, where we're going. and we we could talk about it for hours and hours. are there any other books you'd recommend to our audience, Bob? Anything you've read recently? I mean technical, non technical fiction, non fiction doesn't matter.
Bob (58:46)
goodness.
Let's see. there's I I'm a sci-fi guy.
Carter (58:54)
Okay.
Bob (58:55)
And I've been I've been very disappointed with sci-fi from about the 1980s on. So I grew up with Asimov and Clark and Heinlein
Carter (59:02)
Right.
Bob (59:03)
and Big Three and then Niven and you know, just you know, and and some of the authors lately I just haven't been appreciating. But then then come along a few that I really like.
Carter (59:15)
Okay.
Bob (59:16)
So I don't know if you guys have
Have read the Bobiverse series. Of course I like it. But
Carter (59:21)
Yeah.
Bob (59:23)
what a what a great set of yarns. Real good, hard sci fi, creative
Carter (59:27)
Okay.
Bob (59:28)
as just as creative as could be. I I don't I don't even remember the titles. is the guy dude, his name is Dennis Taylor, is that what his name is? The author,
Carter (59:37)
Taylor.
Bob (59:37)
I think. but it's We Are Bob and the Bobiverse series, and it goes on into a number of different stories. Very, very good. There's
Carter (59:46)
Okay.
Bob (59:46)
another one,
it is called The Theft of Fire. And it's I read this book and I think he self-published it. Because everybody's self-publishing
Nathan Toups (59:58)
Interesting.
Bob (59:59)
now or or they're do they're going around the publishing
Nathan Toups (1:00:01)
A lot of folks are.
Bob (1:00:02)
companies, right? Theft of Fire. And it was like reading that book, it was like, finally, finally someone understands what science fiction is supposed to be, you know.
Good romping space opera with really good space battles and and Larry Niven humor thrown into the middle of it all. Just just really nice. And then there's another author, and again, these names, what what is his name? Corcran, I think is his last name. and he wrote he wrote a series of books, and one of them is called The Powers of the Earth. And it is a it is a play on Heinlein's The Moon is a harsh mistress, but completely different.
but but just so much fun to read. Really fun. And it's political satire. It takes it takes aim at our current politics and just riddles it full of holes. Meanwhile, it's set on the moon and just very, very well done. So those are the books that are are getting me up and up in the morning and that I
Carter (1:01:07)
Okay. Well I I I'm always looking for good sci fi. Have you I gotta ask 'cause have you read Andy Weir's work, like The Martian and Project Hell Mary? Do you Yeah, yeah. Do
Bob (1:01:15)
Yes. my yes.
Carter (1:01:17)
do you 'cause you said you've been disappointed in sci fi. Do you like those? Okay, okay.
Bob (1:01:21)
sure. Sure.
I mean The Martian was The Martian was one of the ones that made me think, you know, maybe there's a future to sci-fi after all. Right.
Carter (1:01:30)
Okay, that's cool.
Bob (1:01:32)
I was I was so pleased with that book. And then of course they made it a movie and I was very pleased with the movie. And then Hail Mary. my goodness. What a great book.
Nathan Toups (1:01:40)
I I learned
he recently was on the podcast with Nildegrass Tyson and he said he kept a sticky note that was just like w like basically how would Nildegrass Tyson respond to this? Like is does the physics stand up? And he had a spreadsheet to make sure that the they were like at least enough within suspension of disbelief and I thought that was hilarious.
Carter (1:02:01)
That's the it's the one fiction book we've covered on the podcast. I guess if you accept like the Unicorn Project, which is we did devote an episode to Project Hail Mary, because I I love it. And I actually think Project Hail Mary has a great be be optimistic, be grateful. Like that's one thing I like about Andy Weir's fiction is this idea that like we humans aren't the problem,
Bob (1:02:16)
Absolutely. Absolutely.
Carter (1:02:18)
right? Like we we can confront the challenges that someone pointed out it's very interesting that Project Hail Mary, or yeah, Project Hail Mary, that the disaster that they're trying to prevent is not something humans caused. It's just something that
happens upon the universe and it and that it's humans themselves who figure out and solve it and are the heroes of the day, which is someone yes, yeah, yeah, yeah, yes, with with with the aliens.
Bob (1:02:37)
In the in collaboration with the silicon creatures, but yes. Yeah. Yeah. Yeah.
Carter (1:02:43)
well the the the book We Programmers, by Uncle Bob, read it everyone. Fantastic book. One of our favorites we covered on the podcast. Bob can't thank you enough for coming back on the podcast. We love anytime we get to chat with you, you're a a treasure trove of wisdom.
Bob (1:02:55)
Anytime guys.
Carter (1:02:59)
Okay, well, folks, you can always find us on our website on bookoverflow.io. I'm on Twitter at CarterMorgan, the podcast on Twitter at BookOverflow Pod. And Nathan has worked with his consulting agency, RojoRobato, or at rohorobato.com. Thanks for tuning in, everyone. And again, Bob, thanks so much. Such pleasure.
Bob (1:03:14)
Yeah.