Two's Complement - Is Programming Still Fun?
Episode Date: September 11, 2026Ben asks a question that violates Betteridge's law. Matt rediscovers the joy of coding like a caveman on a plane with no WiFi....
Transcript
Discussion (0)
I'm Matt Godbolt.
And I'm Ben Rady.
And this is Toos Compliment, a programming podcast.
Hey, Ben.
Hey, Matt.
How are you today?
I'm doing all right.
Excellent.
Excellent.
Well, we surprisingly have a topic today.
In fact, we went out for drinks last night, and we discussed many things, some of which we wish we had a microphone for, so that we could have just recorded it and put it out to our good audience here.
Much of it was absolutely unbroadcastable.
for a variety of reasons, usually around intellectual property and or just inappropriateness.
Too many drinks, that's...
Too many drinks, yeah.
But one of the things that you brought up, which I thought was really interesting,
well, I'm going to let you say it.
What is your topic for today, Ben?
Is programming still fun?
Is programming still fun?
And is this with, do you mean, have you gotten bored of programming?
And, you know, now you're ancient and old.
You'll never be as old as me, but yeah, ancient and old.
And you've gotten tired of it.
Yeah, you just want to do, I don't know, we've been.
I don't, you know, it's sort of the, you know, the cliche breakup line is it's not you, it's me.
It's the opposite of that.
It's not me.
It's you, comma, Claude.
Oh.
So I am posing this question specifically in the context of these modern, powerful tools that we have.
Yeah.
which I'm certainly not suggesting that we give them up,
but is a side effect of this that programming is no longer fun?
Interesting.
You know, and I don't think that there is an obvious answer to this question.
This is not like a super leading question.
It also may be in flagrant violation of Betterich's law of headlines,
which is the answer is not obviously no.
The answer is not also obviously yes.
So it's like I think it's worth a podcast to talk about.
Worth a podcast episode.
So yeah, I mean, you and I obviously we spoke about this last night a little bit.
And I think as we've alluded to another episodes,
we've both been on a journey of discovery through this process,
as of many people in our position where, you know,
first of all, we're in the luxurious position of we have.
have established careers. And so we can look at it from that point of view. And there's a whole
bunch of topics that go in the direction of like, but what does this mean for the next generation?
I don't propose we talk about that today. But from a very selfish individualistic point of
view, has the advent of coding assistants of all sorts, has that taken away the thing that
we actually enjoy about programming? So let me let me start with this. Okay. So,
Back in the day, I would edit code in black and white with no syntax highlighting in a VI terminal or in an editor, a very straightforward editor.
And it was hard work, right?
It was hard work to hold what I needed to hold in my head.
I sort of squinted to be able to understand the code that I was working on.
And the first improvement in my life as a developer was seeing.
Syntax highlighting and or colorization of what I was at working on.
I think StrongEd was the name of the editor that I was using,
and it was like an absolute step change in my ability to look at a page of code
and kind of get the gist of it straight away,
and that was unambiguously an improvement.
Then time ticked on, and the first sort of next,
the next stop point, I think, where tooling came along and changed the way we program,
was Intellisense.
And that materially changed the way.
I didn't have to remember all of the documentation
or forever go hunting for it.
I would type object name dot and then hit control space
and I'd get a list of all the things that that object could do.
And I remember people at that time saying,
oh, this is, you don't really know it anymore.
You're just kind of feeling your way through the problem.
Right.
And that means that you're not thinking about it holistically.
You don't really understand it.
you're just kind of auto-completing your way into a solution, right?
And that's another step change in the way that we do things.
And then maybe we could say refactoring tools have a similar feel,
but I could argue that maybe they're more freeing.
I don't know.
And then obviously we get to the point now where I rather than thinking about something
myself, I say, hey, agent, can you refactor this thing for me?
And then I go away and make a cup of tea.
Or more likely, I have four or five of them going.
And I'm doing something kind of different.
Yeah.
And maybe that's the thing.
What do you think about that?
One of the observations that we had last night is that I certainly find,
and I think other people have found this as well,
that it is very difficult to be in a flow state while programming with agents.
I think I've had some moments where it sort of comes back a little bit,
and it feels a little bit like a video game in the sense of like,
you're interacting in like a frequent enough way to where you get a little bit of it,
But it is definitely not the same feeling of, you know, putting on a pair of headphones with the, you know, Tron soundtrack on.
Oh, excellent choice.
And, you know, sitting down with the editor ID of your choice and solving a problem and being in flow state the entire time.
And, you know, especially like some of the practices that I had built up in my career around, you know, test room and development.
element and continuous testing and running tests on a continuous basis and getting that feedback
loop where you have like the constant feedback loop of like take a very small step, get feedback
on that step, take another very small step. That can very quickly put you into a flow state,
which many people, including myself, find the flow state to be very enjoyable. That is half the
reason I play video games is because they put you into that state and it's fun. It's just fun to be
in that state. A friend of mine referred, this is in the context of playing video games,
usually on the Game Boy, which tells me exactly how long ago this was. But at the time,
I was commuting a very long distance on the train. And my friend pointed out that it's okay
because you have a time travel device, which is that you have a Game Boy on your hands,
you put on Pokemon, and then before you know it, you're about to miss your stop an hour later,
right? And I think that's true. That's what that flow state is. Yeah, I definitely,
I definitely feel you on the flow state.
And in particular, when I am managing multiple sessions at once,
the context switching overhead is just decimatory to flow.
Yes.
I think the times where I get into flow where I'm working with agents is when I have
the screen split in half and I have my IDE up and I'm still reading the code and maybe I'm
even commenting the code and looking at the code.
Meanwhile, I have my more of a pair programmer, but a pair program with like an
tab to rather than have to like speak to. And that's like the nearest thing. But then that feels
like it's not as efficient, if efficiency is what you're looking for, as working on five
things at once and getting, you know, progress on multiple fronts. So it feels like maybe I'm not
doing it right. You know, I'm still doing the old school programming. It's just I've got
Claude to help me, you know, and like, oh, can you fix this, make that test pass now, actually.
I've now changed the code, that feel. And then it's kind of back and forth. I don't know.
Yeah.
Is that close to your experience when you said you could get into a person?
Yeah, that is close to my experiences when you start doing that sort of more almost parprogramming type approach.
And in my day job a couple of weeks ago, I actually did a presentation at work because we've had a lot of folks that, you know, have lots of questions about like, you know, how should we be using agents at work and, you know, other things like that.
And I did a presentation that I called agenic patterns.
And it was like these things, you know, like we've talked a bunch of times about programming patterns and, you know, software development patterns.
Like you've got, you know, architectural patterns like the singleton and the flyweight and all of those other kinds of things.
But you've also got patterns that are essentially practices, you know, test room development, refactoring, continues integration, continuous deployment, pair programming.
These things are all kinds of patterns, really.
And so, you know, I tried to sit down and like with lots and lots of caveats and asteris
saying like, these are some things that kind of seem to work for me right now, given the current
technology, but all this is going to be different and I have no idea for long-term ramifications
for style patterns and practices, whatever.
All these things change week on week.
Yes.
Maybe if not day on day.
I am making no claims whatsoever that these are the patterns or that even that these are good
patterns for everybody.
They just happened to work for me in certain contexts.
And so I wanted to at least start a conversation about like sharing them and maybe giving them some names, right?
And so this sort of pattern of like when you are essentially pair programming with the agent, right?
Like there's one agent running.
You're reviewing the code fairly closely.
You're doing things like adding to do comments into the code and saying like, hey, fix this, fix this, fix this.
You're very much focused on like method and class signatures and function signatures as a way to drive the direction of the direction of,
the agent rather than strictly just using English, you know, like those kind, that kind of interaction
definitely have had situations like that where it feels, it feels like parapsurraming in a lot of
ways and you definitely can get it into a flow. But those are, that's not the everyday, right?
Like that's a situational type of thing where you're like, it's really important that I get this
right or I'm trying to understand this or I'm trying to like fix a problem or something like
that, that's not the normal default mode, at least that I have when I'm doing agentic programming.
And so most of the time, that means these days I'm not in that flow state, right?
Which is very different than it was two years ago.
Right.
Right.
And I mean, especially, I mean, I'm seeing more of a push towards sort of the software factory
approach where, you know, you have Slack integration or whatever.
And you're kind of like doing one shot like, hey, just.
fix this comment, right, to a thing that then makes a pull request to your report or whatever,
and then some other bot reviews it.
And then you once over and go, yeah, that's about right.
And then you check it in.
And all the software factory of like almost like a Canban board of his order the,
the tickets that are in progress.
And I'm just basically the ticket administrator, stroke, last sign off part of the process.
And it feels like that is not.
I'm a mediocre project manager at best.
And I'm an adequate code reviewer.
In fact, I like to think I'm better than adequate code reviewer,
but the thing that I like about reviewing code is the ability,
first of all, to learn something new, which maybe I can do still with a genetic code,
maybe, but also the ability to mentor and shape.
and help others become better.
So like it's a two-way thing.
I learn something,
they learn something.
And especially,
you know,
and that just doesn't happen.
That side of it doesn't happen.
No matter how many times I implore an agent to stop writing ludicrous comments that
explain the things that I told it not to do it rather than the thing that it is actually doing.
It's not going to learn that.
And that is unsatisfying from a human point of view.
And I know that's nothing to do with flow necessarily,
But it's like if we're looking for what makes our job, rather than programming per se, rewarding and fun, then I don't mind a good back and forth with a human knowing that we can go for a drink afterwards and kind of have a chat about that silly thing that we discovered in the blah, blah, blah, blah, blah.
That's cool.
But I won't have that with my army of agents.
That's not the same experience.
And so if I'm trying to rationalize my new role as a middle manager of a bunch of,
of robots, then maybe I don't get even the benefit of that out of it.
Yeah.
Yeah.
Well, and that is another dimension.
Like, of all the things that makes programming fun, what are some things?
Well, flow is one thing.
The ability to mentor and teach through sort of like the craft of software development is another
one.
You know, I think there's definitely something, I don't exactly know how to describe this,
but there's definitely something about like just tickling that part of your brain when
you understand a complex thing.
and you still get some of that, but you don't get it at the same level that you got it before, right?
You know, you've always had to understand the architecture, but you also had to understand the code underneath that architecture.
And quite often, if you had to choose between the two, you kind of started from the bottom and worked your way up because that's kind of like the only way to really get it.
And now it seems like, yeah, you don't really, in many cases, not all cases, but.
But in many cases, you can be very ignorant of how the code actually works and still produce
working software, right?
Right.
Which is weird.
It is weird.
And one of the things that I received feedback recently about the fact that there were some
parts of the code that I clearly didn't know as well as I perhaps should have done.
And it was because while I'd reviewed it, it was not the same.
You know, like people joke about, you know, writing stuff down.
You know, I've got pads of paper around me right now.
I write post-it notes and stick them to the screen, even though I have a GERA system to do ticketing,
which is far more convenient because it follows me around, unlike the piece of paper that's stuck to my computer back in the office, right?
Yeah.
But there's something visceral about having done it yourself, even if it's as mechanical as writing it down.
Yeah.
But there's also, if you typed it yourself, I'm sure that's another layer of it.
And even more of it, if you thought about it yourself, you thought about it in a different way.
You experienced it.
You went through it.
You are more simpatico with it.
And then it's, we've said this before.
It's like managing, right?
Like when I've managed a small team before now, I know what my individual reports are doing.
I've reviewed their code.
But if I go into a meeting with a bunch of other middle manager people and we talk about the project,
they go, well, how exactly does X work?
I'll be like, we're going to have to go and ask.
Yeah, the people actually know.
Yeah.
Yeah, I don't know it well enough to teach it.
And yet I don't, I can't go and ask at least the exact agent that when I worked.
Obviously, I can go and ask an agent.
Right.
It's unsatisfying.
And I feel fraudulent, honestly.
Yeah.
If that's the right phrase.
Now I've just, and this is becoming new, new experience coming to me as I'm talking to you,
I think I'm worried that if I don't,
use the agents, I won't be as productive as I could be and I will be measured by myself mainly.
No one's asking me to be, but as being not as good as I could be. And certainly you and I have
in our wider friend group some amazing engineers who are doing some incredible things with
AI technology in writ large, right? But I feel fraudulent for like passing off someone else's
work as mine. Even though I have spent
ages reading it, crafting it, and explaining back and forth and ideating and going,
that's rubbish, no, we're going to have to try again.
I still feel like it's not mine.
And then when I do represent it, even though I feel confident in what I've done,
and I don't know how to square that circle because maybe I, maybe it is enjoyable.
Sometimes it is enjoyable to be doing a little bit of that iterating.
Yeah, but as the fun come out of it, because it's not mine.
Yeah.
I mean, so there's there's a powerful element there, you know, and I could, I think a powerful elephant.
A powerful elephant, right.
There's an elephant in the room and we're all trying to feel the different parts of the elephant.
And it feels very powerful.
I've definitely got like, there's the elephant with an extra eye in it, L-F-A-I-N-T, right?
For the AI in the room.
I think there's a, there's something in there.
I've got a slide somewhere that's, anyway, never mind, carry on.
So there's a, I forget where this.
came from, but there was a poster or something that's been popping back in my mind of the octopant,
which is an elephant on top and an octopus on bottom, and it's carrying a little flag that says,
I should not be.
But I forget where that's from.
Where is the octopunt from?
There was a little post-it note on someone's desk when I worked at Google, and it was just a
little caricature of an elephant.
And underneath it, it said, anything that's not about elephants is irrelevant.
tickled me, and I still think about it.
Anyway, the elephant,
where were we with this?
There was some point.
The thing, the thing that I have to wonder is,
I've gone back and forth over on this over the last few decades of my career.
There are lots of people that I have worked with that are very good at their jobs
that do not code in their free time.
It is strictly a profession for them.
They use it to pay their rent, and it's like they go home and they do other things.
But I have worked with a lot of people who are very good and also you would have to pay them not to code.
Right?
Like they just do it all the time.
I think a good chunk of the open source software that modern society rests on comes from these types of people where they're just like, I am interested in solving problems and I will do it for free.
kind of cool that I get paid for it, but I will do it for free because I find it to be so much
fun. Right. It's like these, it's just, it comes from them. It's like artists that have to express
themselves. It's like I have to express myself through code. That's kind of, I mean, I feel that way,
but the people you're talking about seem to act that way too. And then yeah, society sort of takes
advantage of their better. Right. Oh, 100%. Like, thank you so much for your compression library.
What are all these LMs trained on? It's trained on all of that, you know, despite what people make
claim. I mean, it pretty obviously is. And so I think a strong argument can be made that this
phenomena that we're experiencing here is essentially the death of open source in the way that it has
been because it does two things. One is it removes the fun element of creating these things.
And two, it makes the actual efficient way to create solutions like this very expensive in the
form of tokens, which it wasn't before. Another thing we were talking about in the pub last night
is our profession has had this amazing, wonderful property.
And I think we maybe have talked about this on a separate episode of you can just kind of get like a laptop and that's it.
And now you've paid this one fixed cost and yeah, you get some open source tools and you can build a lot of things with just that.
Heck, you can get a $20 or $40 light raspberry pie plug a monitor into it and you've got a good enough development kit to be able to get on with.
Yeah, it's right.
Yeah, right. Yeah, yeah. The barrier to entry is is fairly low. Yeah, yeah, compared to a lot of other...
Apparently websites you can use that do this. You know, if as long as you've got internet access, you don't even need a computer as such. You know, you're not going badly on your phone. I'm sorry, everybody who's used my site. Anyway, but yeah, so the barrier to entry has been... Yes.
Very low for a long time. Quite low. And...
You fact, lower than perhaps it was when we were growing up, right? When I was... I think so. When I was, you know, single digit years old and I got a computer, I was incredibly fortunate. Yeah.
I was in a position where my parents could afford and did, and that's, you know, life,
life-changingly, path-settingly.
But, you know, that was a privilege.
And yeah, anyway.
Yeah, yeah, yeah.
And now I have to wonder if all of the forces that created the open source ecosystem that
everything now rests on are being removed because you no longer have the sort of fun element
that people get when they're like,
oh, I'm going to go solve this problem.
I'm going to build this open source library.
It's going to be really fun.
I'm going to enjoy it.
And oh, I guess maybe someone else to use it.
I don't even care of anyone else uses it.
I want to build this for me.
Combined with, well, the actual way that people build software in the modern world
is you use an LLM and that costs a bunch of money.
And, you know, there's all these dependencies.
I think we talked about that in the last episode.
And so I think there's a lot of kind of elements of funness
that could be getting.
removed through efficiency, right?
And, well, let me tell you what, let's one, one sort of counter to that, if I may.
Yeah.
And that is lumber mills or, you know, CNC machines or whatever you insert your big
technology that came and changed the whole industry around type thing have been, and 3D printers.
There's another example of like here is a transformative thing that means that nobody needs to do
like whittling things down.
They don't, you know, you don't have to machine it from like parts and send it off to whatever.
Those have come.
But if you enjoy that kind of stuff, I mean, I sit and watch loads of YouTube videos on people who sit and machine these beautiful little parts because they enjoy the making of it.
You know, there are people who make watches from scratch out of little tiny pieces and how do you do this?
It's like you could just go into a shop and buy something that's been hand, you know, not handmade, machine made for like nothing.
Right.
But you enjoy the process.
And so you choose to do it that way.
respect that. There are people who crochet stuff. I mean, there are people who knit stuff,
even though knitting machines are a thing. And it's almost ridiculous. You're paying for the privilege
of spending hours and hours to make a garment that you could wear yourself, right? People do this
because they love it, right? And I think this is something else we touched on, I think, last night,
when we talked about how maybe specifically for programmers, this is different from other uses
of this kind of technology.
in as much as like we we still have a job out of this right we're still able to at least you know again in our privileged position
whereas you know I don't know hobby hobby knitters will never become I don't know maybe I don't know where
I'm going with this but there feels like there's a difference between folks who are who have done all right
out of the technology and folks who now have been having their jobs totally taken away maybe
I'm naive and ours will go and that will be the end of it.
Well, yeah, my concern is that
handcrafted code,
which I almost am reluctant to use that phrase,
but I don't know a better way to describe it,
is going to become a hobby.
It's,
that's not something that anyone would ever do professionally
except in very rare circumstances.
That's my worry.
Right.
Because that's been my experience for like the last year,
nine months,
where, you know,
90 to 95% of the code,
that is being created both by me and the programmers around me is being created by agents and not
in this sort of handcrafted hobbyist way, right? Whereas before, there was no real distinction
between the hobby and the profession, right? Like you loved building software, you did that by writing
code. That's exactly what you're doing your day job. It's the same thing. Yeah, if you were a master
craftsman and you spend all day building chairs with beautiful dovetail joints and whatever,
and you still loved it, you went home, you'd do the same thing at home. But now you work in
IKEA factory and you're feeding the machines to build the flat pack and then you go and then
you do something completely different that sort of only overlaps in the Venn diagram by 10% of what
you do. Maybe you could break even on your costs by selling your chairs at the local art fair.
But it's not a profession, not really.
And maybe, I mean, maybe there will be a market. I mean, I've seen a bit of, you know, there's
obviously backlashs against AI usage in many, many places. And there may be some, you know,
certified 100% organic free range codes, right?
It's been written by real...
Tisantly crafted from the finest ones and zeros, you know?
Absolutely, yeah, exactly.
Yeah, these are not...
Yeah.
Maybe there will be a market for that.
But yeah, unlike many other things, I think, because the output is, well, I guess that's
a debate is whether the output is better or not.
Right.
Who knows?
I mean, we're in a period of discovery, but, you know, we're also in a period of where it
changes week and week and week.
Yeah.
Well, you know, interesting things, a little.
sidebar, but it's like you talked about knitting. And then like one of the ways that you can spot a
hand-knitted sweater is there are tiny imperfections. And there's this sort of weird, I don't know,
almost uncanny valley type thing where it's like as a, like you don't want it to be absolutely
perfect. You never would be really able to make it absolutely perfect like a machine would,
but you want to like limit the imperfections, but you still want the little thing of like,
you knit that yourself, didn't you? Yeah, I did. It's like, oh, that looks really good, you know?
Yeah, two sort of observations. I was like watching my son,
apply to an email about college admission E type stuff.
And like he made a typo.
He said, I'm going to leave that in because then they know it's not AI.
And I'm like, oh my God.
I mean, you're not wrong.
You're not wrong.
Yeah.
And then secondly, you know, like when they built these master craftsmen of
old would build these great temples to their gods,
they would always make one deliberate mistake somewhere so they could show that they,
they weren't perfect, unlike the God.
They wouldn't want to like be.
And I'm like, but the fact that you chose to not be perfect when you could have been,
It kind of undermines the whole thing, but that's a whole other thing.
You know, that's the backwards justification for why they made the mistake, right?
Like, that's, they didn't do that on purpose.
They're like, oh, well, no, of course.
We put that in there because.
The bottom block of the pyramids is upside down.
We meant to do it.
Yes, exactly right.
Exactly right.
Otherwise, you know, the God would be annoyed at us, having done it perfectly.
Right.
Okay, Machia.
Invoices in the post.
Right.
Well, okay.
So, the first part of this episode is a little bit of a downer in the sense of like,
I don't have fun of my job anymore.
But there are actually some really good things about this stuff.
And part of the struggle for me and part of the reason why I think this is an interesting question
is because being able to use these tools does unlock a lot of really cool things.
And I don't want to give those things up either because the ability to like speak words
into my phone and have working software come out the other side is kind of amazing, and I don't
want to give that up. It's, it's, you know, the problem is it doesn't take very long, right? If I can
spend my whole day doing that, maybe I wouldn't hate it quite so much, but it's a lot more of,
like, as you say, you wind up, if you want to actually do this all day long, it's a lot of context
switching. It's a lot of like spinning multiple plates at the same time. It's not focusing on a single
problem and seeing it from beginning to end, which is what I want.
It's exhausting in a different way that focused time is for two reasons, I think.
One, there's the massive amount of context switching that you're doing in order to sort of
feel like while you're waiting for one thing to reply and it's off grepping the code base,
looking for whatever's, you get another one up and you make a new work tree and you're doing
something different or whatever.
But also the way that you're programming is by engaging the social part of your brain,
which, you know, for many of us in the profession is not as developed as maybe other people,
or at least takes up energy that we keep in reserve for actual human.
And, you know, there are outliers amongst us.
But for the majority of people, I can't help but think that, like, if you've been arguing for 25 minutes with,
with an AI on and off, that has drained a battery that doesn't replenish quite as quickly as the
I sat down and solved the logic puzzle for 25 minutes.
Right, right.
Yeah.
The whole like, you know, I have no basis in sort of like psychology or anything to say
whether the whole like introvert, extrovert model of like, you know,
introverts, you know, spend their energy on social interactions and extroverts recharge their
body on, or their battery on social interactions.
I have no idea if that's like a real thing.
It definitely seems appropriate for me and a lot of the other people.
that I know where it's like, it's not that I don't enjoy social interaction. It's just that it's
taxing, right? Yeah. And I can only do it for so long before I just need to go sit and like, you know,
again, listen to Daft Punk and write some code or play factorial as I've been doing a lot more
recently, right? So, you're that Tron soundtrack. Oh, you see. I mean, that's a great one too,
but like the nine inch Nails one is pretty darn awesome. You know, I think I've only listened to that like a
couple of times.
Like the new Tron movie.
Yeah, Tron Aries or whatever.
I've not actually watched the movie.
People have told me it's not great, but I've watched it just to listen to the soundtrack.
There's a number of movies that I've got like that in my head.
I'm like, yeah, the soundtrack is what makes this movie play.
Yeah.
But yeah, there are a lot of things that make using these tools to build things fun.
But I think a lot of it just comes from the building, right?
It's like in the same way that like, you know, putting together a little.
the Arduino circuit is fun or like cooking even is fun is like, you know, I get to make something
that people enjoy and I enjoy and it's cool and I like that, right?
Let me take that because that was definitely something that I was going to bring up is that,
you know, and we've mentioned this before.
There are people who like the craft of building something and they enjoy the edifice that they've
made, not the outcome.
And there are people who just want the outcome and they're excited about that.
I think everyone's a, there's a mixed, you have a mix.
Yeah, yeah, yeah.
I think probably where it's for me is like, I've got a thing.
can make a thing. I can almost call a thing into being now by just naming it almost, which is like
an amazing magician ability that we've all gained, or for those who can afford the tokens can
gain. And that's great. But then I didn't make the thing. Right. And so anything that I still,
this comes back to this fraudulent feeling. Yeah. Is that I don't feel like that is worth some as much.
right yeah yeah and i mean if it ticks boxes for me like if it's i think we talked about this before
if it's a scraper of youtube that goes and finds unanswered comments on other people's videos
that include me i don't feel like i need to ever look at that code i want the outcome and that's
really what i'm measuring myself by is can i get a list that i look them up can i do what i need to do with
that that's one thing but if it's like a fun hobby project like thing where it's like hey wouldn't it be
cool if x i get it
X and I only get like 70% of the satisfaction of X because I have X now, but I don't feel like
I made it. And some people maybe don't care about that. I mean, one of our good friends I alluded to
earlier, I'm sure it's just like, I have my ex. I'm happy. Hooray and dances off and it makes,
uses it to make more and it compounds and it's brilliant. But I think like I go, oh, that's, it would
have been, maybe I should have done that. You know, I told you like, I had this like silly idea of
making a spoof game for somebody.
And I gave it a one paragraph description to a Claude and set it off with an
emulator and an old computer system.
And I said, just make it.
It's almost like just a stupid pun on somebody's name and setting in the news.
And it did it.
And I was like, this is so cool.
And then I played it for 10 minutes.
I don't know that it's cool anymore.
I don't, I don't know.
I feel good about this now.
I don't like it.
You know, it's, yeah.
it's proved its point, I suppose.
It's really, I mean, it's an incredible achievement that that has been able to happen.
I just live something going and I come back to it.
But, you know, and it's a similar thing with, you know, like, say the artwork, you think of a funny joke and you're like, well, I can't draw, but I can ask the AI to make an X in a Y with a hat on like a Z.
And it looks like, you send it and you're like, I still feel hollow.
It would have been nicer if I had got that.
But on the other hand, would I have paid someone to make that?
Would I have drawn it myself?
it would have the pun. I don't know. I don't know. I'm so conflicted, Ben.
Yeah. Well, what value comes out of it, you know, and so, you know, I think I said last night, right, I'm, there's a conference talk I'm preparing for in October.
And I need some code for it. And I already have a project and I'm working on it and I did a lot of work on it.
And I then sort of asked some fill in the gap stuff with, with the, with the AI. And it really has been, uh,
a two-way thing with me setting it off and coming back and looking at it and everything.
But on the plane, it was a beautiful experience flying back from New York where I had no internet
connection because the stupid plane thing didn't work.
But first of all, isn't it bonkers that I'm actually relying 100% on the fact that I can
get decent internet access better than I had as an even like 20 year old on a plane flying
through the air.
Right.
But it wasn't there.
So I just opened up my laptop.
and I was looking at the code like a caveman in an IDE with no, nothing to help me.
And I had a great old time just reading through it.
And I learned a lot about what I built.
And it was familiar.
It wasn't surprising to me, but it was great.
And I was putting comments about where things were, I wanted to change or whatever.
And I'll look forward to like making good on this.
But that was a moment of like, oh, gosh, maybe I should do this more often.
And I don't know if I.
I have the self-control to do that unless I literally have no internet access?
One of my concerns with all of this, and this has been true with every technological innovation
ever, is that you have to accept the fact that certain practices and the skills associated with
those practices are going to atrophy, right? Like the things that we did to accomplish goals
that were effective, that were, you know, well-worn.
This is, you know, repair shop.
We've talked about repair shop a million times.
If we haven't, then, yeah, we, everyone should go watch the show.
Can you give, like, a brief summary of repair shop for the folks?
I feel like you're the most qualified of the two of us to explain the repair shop.
It is, it is Antiques Roadshow meets Maker's kind of paradise.
Somebody brings in some heirloom that's broken of theirs into a heart.
Everyone, like, looks at it, and they tell the sob story about why it was so important
to them, why it's so special.
And then one of them, an army of experts come along and they, they, they will then spend, you know, 20 minutes of TV carefully crafting and fixing up the thing, followed by inviting the person back in the reveal of this beautifully restored by craft people item.
And so, you know, you've got all of the, the heartwarming part of it.
You've got the maker type stuff and the intricate, like, you know, there's the clockmaker person who comes in and like, you know, you see him filing down and building new things with this tiny, tiny little lathe.
then you see, you know, the saddler making some leather straps for this beautiful thing.
And then you get it back to a person who then inevitably will cry, which, you know,
and so it's got something for everybody.
It's got something for me.
It's got something for my wife.
It's brilliant.
I love it.
It's a fantastic show.
If you like making things and you're like doom scrolling and you're like,
I need to feel good about the world.
You should go find repair shop and watch it because it makes you feel good.
Yes, I think it's on YouTube.
Yeah, it is.
I think there are other places to find it.
I know, but there are.
But, you know, one of the points they make on that show is that they,
they make a point of using sort of traditional techniques for restoring these things, right?
Like, we're going to go fix this clock the way that a clockmaker would have done it in the, you know,
19th century.
There's no trading printing or, you know, with sending off to PCB way to get this part sorted.
I'm going to get out of file and I'm going to start filing these, you know.
And that's a file, not like a computer file.
That is like a rasp.
Yeah, right.
Exactly.
A metal file.
And I wonder if there's some future like this old code base, your show on PBS where it's like, you know, we go in and we hand edit this code.
One of the things that I said in the presentation that I did like I was talking about is that I think at this point I can make the claim and others have made this claim too.
And I don't think I'm alone here.
I can make the claim that TDD is for humans, not robots.
I have tried many, many times to build software using test-driven development with agents,
and you can make them do it.
I don't think it makes the code any better.
I don't think it because why do we even do TDD?
What was the point of TD?
Well, like, it was lots of things.
But one of the goals was to make sure that you didn't wind up with untestable software.
Right.
Because the problem with automated testing oftentimes, people are like, well, it's really
hard to write the test because it just doesn't work.
And it's like, yeah, because you didn't design it.
Yeah.
You didn't design it to be tested, right?
So the cure for that is, well, write the test first.
And then you can't help but design it to be tested because that's the only,
I think that's the first and most important constraint is, can I exercise this go to my test.
I don't think that TDD, TD is a human process.
It's not an agentic process.
And so it's the kind of thing where it's like 20 years from now, how many people are
going to be able to like test drive out a code base. Like I don't know, not very many. Maybe they'll
have a show on, you know, BBC One where they're like, all right, I'm going to crack open my old
editor here and we're going to go write some tests for this code base. You're joking about this,
but you do, I mean, like, you can see. Well, you can't see. Actually, the camera's not pointed
down here. But like, I am surrounded by computers from the 1980s and 1990s that many people enjoy
for exactly the reason that you're describing is like partly it's not.
Partly it's keeping something alive and understanding what's going on.
But partly it's just I can explain everything that's going on in here.
And I kind of like that.
Yeah.
Yeah, we were talking again, we were talking about this down the pub.
You know, like the age of complexity where no one human can fit things in their head is,
is kind of gone past.
It's only a get worse if we've got like a gentically diverse things where I can set one.
Yeah.
But it's a happy place to be when I can edit some code and I can count cycles.
and I know exactly what colors are going to appear on the screen.
I know exactly how that's going to be.
Right.
Yeah.
Right.
Yeah, no, I'm not saying they're going to go away.
I'm saying they're going to be relegated to the world of hobbyists.
Yeah.
And historians and preservationists and people who want to.
But a career maybe not so much.
Yeah, I don't.
I don't think that, you know, TDD, for example, is going to be an essential part of your career in 10 years.
No, maybe not.
Maybe even now.
I'm not really sure.
I'm not sure.
Again, I mean, who again, the cost of these things, if the real cost comes out, maybe there'll be some resurgence and this pendulum.
Yeah, it can happen. I don't know. I mean, yeah, well, given that we've explored so much space in quite a lot of time, surprisingly, I think we probably need to come back to the original question and just finish it off. Yeah. It's us thinking about what it means now is. So again, the question was, is programming fun? Yeah. And maybe I can tell you with with truth. If I,
If I restrict myself to actually being me doing it and I give myself a hobby framework,
yes, I love it still.
I still really enjoy it.
If I use an agent, do I enjoy it?
Yeah.
But with this, it's slightly tainted with a, I didn't really make it myself.
And it's of a different level and quality from, say, the difference of like 18 year old me,
poo-pooing C compilers because, you know, you should be writing it in assembly.
You're now just going to be to write the assembly for you kind of thing.
And I know people have made those analogies and whatever, but like I feel like this is
both quantitatively and qualitatively different than that.
So I feel for a bit.
But yeah, so what is your answer?
I feel like if we want to answer this question in a professional sense, right?
And I, you know, I've made the claim on this show many times that it's like, I love my job.
and I enjoy it and I want to do it for as long as I possibly can.
So in a professional sense, is programming fun?
I think I have to say not as fun as it used to be.
Yeah.
And I think that this phenomenon has sort of bled into my hobbyist programming
where the actual amount of time that I spend on hobby projects
is way shorter than it used to be
because I'm able to be so much more effective
in such a short period of time.
So it's like if you're looking for a past time,
if you're looking for something to pass the time,
it's not as good at that
because I only have so many ideas
for kind of like actually interesting hobby side projects
and they don't take nearly as long.
Factorial.
Right.
And they and the set of them,
that are interesting, I think, also got smaller as a result.
Because they have to, there's more constraints around what's going to make it fun for me.
So I think I have to say that it is less fun than it used to be in pretty much every dimension,
which is not to say that it's not fun.
But it is less fun.
Fewer.
Pure fun.
Fewer fun.
Okay.
Well, that awful.
Grammar incorrect pun, go clever.
I think we have to leave it there for now, and I will see you next time.
You've been listening to Toos Compliment, a programming podcast by Ben Rayy and Matt Godbub.
Find the show transcript and notes at www.2.2.complement.comptor.com. Contact us on Mastod. We are at
at twoscombe.com. Our theme music is by InversePhase. Find out more at InversePhase.com.
