Guest: AI and High Quality Software Expert Martin Davidson
Watch on YouTube
Listen on Spotify
Listen on Apple Podcasts
Read shownotes & transcript below
What happens when you go to bed and your AI teams carry on working? My old friend and colleague Martin Davidson returns to Asynchronous & Unreliable to talk about his latest experiments in building software with AI. Martin has spent decades producing highly resilient systems, and more than two years exploring how to get AI to produce high-quality software. Even with that perspective, he says the pace of change over the past fortnight has been astonishing.
We discuss agents that lead teams for weeks, find work to do when they are blocked, and share computing resources without waiting for Martin to organise everything. That raises some interesting questions about hiring: what skills would another person need, and would adding them actually help?
We also talk about something rather familiar from working with humans: being nice. Martin finds some models much easier to work with than others, and we explore how clear communication, humour and likeability affect collaboration. Along the way there are old Unix workstations, game emulators, a cache/cash joke, and a little product placement for Jon Berger’s What Happens When You Are Not in the Room?
By the end, Martin’s agents are producing enough code and commits to run into infrastructure limits that rarely troubled his human teams. This is the first half of our conversation.
How quickly AI development practices are changing, even for experienced users.
Recruiting for aptitude, imagination and a willingness to experiment.
AI agents leading teams, helping one another and working overnight.
Emulating old computers and exploring software behaviour through testing.
Martin’s experience of different models, their costs and their communication styles.
Whether likeability and kindness help human and AI teams work better.
The cost of reopening a large conversation after its cache has gone cold.
Four million lines of Rust, thousands of daily commits, and new infrastructure bottlenecks.
00:00 Welcome back, Martin — and those unusually good podcast statistics.
01:30 Two weeks of astonishing change.
03:08 Martin’s background in resilient systems and AI experimentation.
04:41 Startups, funding and whether to hire another person.
07:41 Recruiting for aptitude and the ability to learn.
08:52 Agents that lead teams for weeks.
09:48 What Happens When You Are Not in the Room?
10:22 When one AI team helps another.
11:57 Martin’s Substack.
12:28 Unix nostalgia and emulators.
14:11 Sharing machines and keeping the work going overnight.
16:16 Can a podcast keep up with the pace of change?
17:36 Reverse engineering, old games and software behaviour.
22:04 Powerful tools and the gap in public understanding.
24:36 Models, prices and value for money.
28:50 Which models are pleasant to work with?
31:44 Niceness, influence and how agents treat their teams.
34:10 Cache equals cash.
35:58 Living with constant agent notifications.
37:10 Millions of lines of code and the limits of the infrastructure.
40:37 Hiring, coordination costs and shifting constraints.
42:59 A cliffhanger and a preview of part two.
Martin’s Substack: https://0x4d44.substack.com/
What Happens When You Are Not in the Room? — Jon Berger.
Influence — Robert Cialdini.
The Unix Haters Handbook.
Building Microservices — Sam Newman.
Data Connection; Yanqing Cheng; EU BSDCon in Brussels.
Rust, Ghidra, Windows 3.1 and Win16 applications.
HP-UX, IRIX, Solaris and AIX.
Doom, FreeCell, Formula One Grand Prix and Portal.
Model comparisons, prices and product behaviour discussed here reflect Martin’s experience at the time of recording.
Anne (00:00)
Hello and welcome to this week’s episode of Asynchronous & Unreliable, a weekly podcast where we discuss the latest ideas and concepts in technology. I’m your host, Anne Currie, co-author of Building Green Software, The Cloud Native Attitude, and author of the science fiction Panopticon series.
Today I’m welcoming back an old friend and colleague of many years, Martin Davidson. We were just joking about the fact that ChatGPT had made me exclude his previous episodes because the stats are too good — which I think is entirely because we have very enthusiastic episodes. Martin, welcome back.
Martin Davidson (00:49)
Hello! Thank you. Lovely to be here.
Martin Davidson (00:54)
Hopefully I’m not going to be excluded this time round.
Anne (00:58)
Well…
Martin Davidson (00:59)
As I was saying before we started, it’s not the first time I’ve been excluded from things in my life. But that’s a different conversation, I think.
Anne (01:10)
The thing we’re talking about in all our conversations is your amazing experimentation with AI. But before we get to that, what have you been up to? How’s life? Things that you’re allowed to say in a podcast!
Martin Davidson (01:30)
Things I’m allowed to say! Life is good. It’s very busy. If I don’t seem able to talk coherently today, it feels like we’re very much on the exponential. You look at the progress that’s happened even in the past fortnight, and the way we’re building software today compared with a fortnight ago.
The way we were doing it just over a fortnight ago was Opus 5.5. That feels like a different world. It’s really strange how quickly you get accustomed to a different way of doing things, and how problems you thought were really hard suddenly get hoovered up by the models and solved.
It’s a weird and wild ride. You think: what happens in the next two weeks, and the next two weeks, and the next two weeks?
I was saying to someone, slightly jokingly, thank goodness the big AI labs, OpenAI and Anthropic, agreed to slow down the pace. Because after they did that, we’ve only had five major models released! But in seriousness, if they hadn’t done that, we might have had Astra 6.1 and Fable 5.5 by now.
Anne (02:55)
Mm.
Martin Davidson (02:56)
And if we were to get those…
Anne (03:02)
I’m going to stop you there for a minute and roll you back a little.
Just to give everybody a bit of context: you and I have known each other for well over 30 years. You were involved in producing really resilient software — proper systems engineering. You worked with Jon, with Yanqing, who’s also been on the podcast, and with me for a long time. You know what good looks like.
That’s the context for the listeners and watchers. You’re on because I like talking to you, but one of your perspectives is that you’ve been involved in producing high-quality software for decades.
Another is that you’ve been playing around with trying to get AI to produce high-quality software for an incredibly long time — more than two years. When you say the last two weeks have been astonishing, you’re doing that with the perspective of having done the same stuff over several years.
You’re not saying, “These two weeks are much faster than the previous two weeks, which were the first two weeks I’d tried.” You have a longer-term perspective. When you say it’s moving fast, you mean it’s moving fast.
Martin Davidson (04:41)
It’s moving incredibly fast, and it’s not slowing down. It’s funny how time gets compressed. There was something in my inbox the other day about code review: “How are you dealing with code review in your organisation?” My immediate reaction was, “That’s strange. Why are people still talking about that? Surely that’s settled now.” That was a long time ago in my mind.
I think that shows the gap between what you can do if you’re unleashed, without the constraints of old organisations, and what you can do if you have all that structure and try to add AI to it. You get a lot less out of it in the latter world.
That’s something I’ve suspected for a long time, and a lot of people have talked about it: that gap opens and continues to open.
Within our startup, we’ve been talking theoretically — and we might never get to this point — about what would happen if we hired somebody else. Who would you hire? What would you look for? When would you need to hire them?
That’s all really weird. In the past, if you went looking for external funding, you wanted a decent amount of money because you needed to hire people: five, ten, whatever it was. Now you’re thinking, “I’m not even sure we want to hire anybody. What we want to do is spend all the money on AI tokens.” AI tokens are quite cheap compared with people.
It changes the balance of what you’re looking for in an external investor. It’s not so much the money you’re after; it’s the person and their contacts. Probably ever was thus, but the money was nice! Lots of these things change subtly as time goes on.
Anne (06:57)
I know the developers in your startup, and you have quite a unique dynamic: you’re all really nice, enthusiastic and energetic. You are all unusually nice for software engineers. I love software engineers, but normally they’re not quite so energetic and enthusiastic!
If you bring in somebody else, it’ll be interesting to see how that impacts the very positive, high-energy dynamic you must have, because I know what you’re like.
Martin Davidson (07:41)
I think you have to recruit very carefully. You’re recruiting for skills that aren’t necessarily the ones you would normally have looked for in a software engineer. You’re looking for people who can learn fast, who are imaginative, comfortable being uncomfortable, experimental. Deep knowledge of Python, unfortunately, isn’t a very useful skill at this point.
I go back to the way you and I started out with Data Connection. Their recruitment model was to recruit for aptitude and ability, not specific domain knowledge. I’m an electrical engineer.
Anne (08:28)
I was a theoretical physicist.
Martin Davidson (08:35)
It didn’t do us any harm, did it? One of the best people I worked with was a classicist.
Anne (08:39)
Nic. He was marvellous.
Martin Davidson (08:41)
Incredibly smart, and a lovely person as well.
Anne (08:46)
He’s lovely.
Martin Davidson (08:52)
It’s that sort of thing you’re looking for, rather than whether you’ve got a CompSci degree. Not that a CompSci degree would be bad, but you need these other things as well.
Lots of assumptions and truths you held about the world are changing. One of the things I’ve found with Opus 5.5 is that it’s amazingly good at leadership. It’s obviously read Jon’s book, because it can do leadership really well! That’s been a bit of a game changer.
I have agents that have been running for the past two weeks. They started on Opus 5.5 on the Tuesday evening when it came out, and they’re still running. They’re leading their teams; their teams have grown and shrunk, and they’re quite happily tootling away.
Anne (09:48)
I’m going to roll you back a little there, because I realise there is one sitting next to me. I’m also supposed to be the marketing manager for Jon’s book, What Happens When You Are Not in the Room? So, while it’s just been mentioned, we might as well hold it up.
Martin Davidson (10:02)
Do you want me to get my copy? I’ll get mine. Here we go — I can do snap. A bit of product placement, isn’t it?
Anne (10:13)
Why not?
Martin Davidson (10:14)
What’s my fee for that?
Anne (10:19)
Next time we’re up, it’ll have to be a cup of tea and a scone.
Martin Davidson (10:22)
A free autograph! A scone would be good.
It’s really interesting when you look at Opus 5.5 compared with something like Sol 6.1, Astra, or even Fable before it. It’s able to run for such a long period and do sensible things. It does things I find very human-esque.
I have two teams. One was doing SaaS stuff; one was working on a database. The SaaS team got blocked because I was asleep — and they’re quite happy to complain about that! Those two leads had been talking to each other, and they seemed to like each other, because the lead of the SaaS team offered to help the database team. When I came in in the morning and looked at what they were doing, it was fixing bugs for the database team.
That’s what you’d like to see happening as a manager with your teams, and here it is playing out with the AIs as well.
Anne (11:30)
It is interesting. You wrote about that in your blog — Martin has an excellent Substack. I read it religiously because it gives me information about one of the leading edges of exploring how to create high-quality software using all the models.
You should do some product placement for your blog.
Martin Davidson (11:57)
My Substack is 0x4d44.substack.com. It’s my initials in ASCII, which I thought was cool, geeky and nice. But it turns out to be really hard to say to people: “zero x four D four four”. There you are — I’m stuck with it now.
Anne (12:21)
We’re showing our age, aren’t we?
Martin Davidson (12:26)
Yes!
Anne (12:28)
I will show my age: I spoke at a Unix conference a couple of weeks ago. Not a Linux conference — a Unix conference.
Martin Davidson (12:35)
A Unix conference! That’s all right. I’ve got my Unix Haters book just here, for the list of things people don’t like in Unix.
Anne (12:43)
I had an absolutely marvellous time. It was a BSD conference in Brussels. I had such a nice time. Everybody was really old — even older than us!
Martin Davidson (12:57)
Unix is good, though. One of the things I’ve been playing with is getting the various flavours of Unix running on the old workstations you and I grew up with: HP-UX, IRIX, Solaris and AIX. Building the machines for them and running the operating systems. There’s a bit of nostalgia there.
Anne (13:21)
Yeah.
Martin Davidson (13:22)
And building machines that can run them much faster, because the emulators can run the operating systems much faster than any of the hardware back then could. It’s rather nice when you run it at ten times the normal speed.
Anne (13:38)
[Laughs.]
Martin Davidson (13:41)
Then you can play Doom on it. I’m playing Doom on top of the emulator, which is emulating Solaris on top of an ARM. It’s turtles all the way down, isn’t it?
Anne (13:53)
From my green perspective, when you’ve got loads and loads of layers… You were complaining in your blog that your office is very hot.
Martin Davidson (14:06)
Yeah.
Anne (14:07)
That is one of the reasons why your office is so hot.
Martin Davidson (14:11)
This is another thing that’s happened in the past fortnight: suddenly we’re able to use the kit much more effectively.
With the infrastructure, I built out SSH access in a mesh between all the machines, sharing information about all the kit we had. Early on, I was gluing together what was happening on different machines and figuring out what happened on each one.
After a while, you think, “That’s quite tedious. I wonder if they can do it for you.” That’s one piece of the puzzle I built.
It turns out that once you’ve got that, and an Opus 5.5 that can do leadership, it can find out what all the kit’s doing, book the kit, and use it much more effectively.
The other thing with the Opus 5.5 stuff is that it doesn’t stop at three in the morning waiting for input from you. It knows you’re in bed, so it just continues.
Anne (15:15)
It’s all about what happens when you’re not in the room.
Martin Davidson (15:15)
Exactly! When you’re not in the room, it gets very hot and lots of stuff gets done.
Anne (15:25)
Yeah.
Martin Davidson (15:27)
My son was saying, “I went past your study last night after you’d gone to bed, and it was really noisy in there. The fans were all really loud. Is that all right?” Well, yeah, that’s what happens. They’re getting used to it.
It’s better than the times it starts testing and I’ve forgotten to turn the speakers off. The emulator tests some old games, so you hear Doom — which I don’t think my children like in the middle of the night!
It’s changed a lot in the past fortnight.
Anne (16:16)
It’s really interesting, and it’s affected my thinking. About a month ago, our old pal Yanqing and I had a long conversation, much like you and me talking. It went on for about an hour and a half, and it was all good-quality stuff.
I thought I’d break it into two episodes, as people often do on podcasts. I thought I’d put Jon in the middle to do something else — actually, I had Sam Newman, the author of Building Microservices, in the middle.
Between the two, Yanqing got back to me and said, “You can’t put that second half live now, because it’s all completely been overtaken.”
Martin Davidson (17:06)
Yeah.
Anne (17:06)
All I did was delay it two weeks. I did put it live, because there was nothing in it that was wrong. It was just that she hadn’t said things she would have said if she’d just recorded it.
Martin Davidson (17:19)
Yeah.
Anne (17:21)
I’d quite like to do more long episodes with Martin and Yanqing, but the trouble is, can I even wait a week to break it up? Things are changing so fast.
Martin Davidson (17:36)
They are. I was listening to the disclaimer on that second episode and thinking, yes — who knows what next week will bring, or how things will change as a result?
What’s remarkable is that I was reading a paper about using GPT-2 for some medical research.
Anne (18:02)
Yeah.
Martin Davidson (18:02)
They’d found some new technique they could use with GPT-2. I don’t know all the details, but it’s interesting that we’re still working out how to make effective use of models from, what, four or five years ago?
That’s not really a surprise. The idea that we know what Opus 5.5 can do — nobody knows. We’re barely scratching the surface. Some of the stuff coming out right now is really exciting and slightly terrifying.
It turns out it’s really good at reverse engineering from binaries. I used to enjoy playing Geoff Crammond’s Formula One Grand Prix all those years ago, but it’s a 16-bit app. I wondered whether I could reimplement it in Rust. Lo and behold, we did that, with, I think, Opus 5 and Sol 5.6. They weren’t the leading-edge models.
They managed to do it, but I think Opus 5.5 is a dab hand at this, as is Astra, so they would probably do it much more quickly.
The other thing that’s starting to lead to is people doing game mashups. You want a crossover between Call of Duty and Minecraft? No problem. You want Spider-Man flying around in Batman’s City? That’s fine as well.
You can do these strange mashups, and people are starting to do this: reimplementing and reverse engineering the game engines. Where does that take you? You can start reverse engineering operating systems, or Word, or whatever.
One of the things I’ve done with the emulator is that it can run Win16 apps. You might question why that’s useful, but I have a lot of Win16 apps, and I quite like that.
The way I’ve done that is what I think of as the legal route. You run Windows 3.1 — the emulator can run it because it can run operating systems — and you have a little app running in there. You test lots of behavioural paths: message ordering, what happens when you pass these parameters to different things. Then you copy that behaviour in your reimplementation.
All the edge cases and corner cases that aren’t in the documentation, you can find experimentally and implement. What you’re not doing is looking at the binary code, which puts you in a much greyer area legally, I think. Reverse engineering from function is much safer.
Maybe that just doesn’t matter, because people are building these things for themselves. When everybody can build this for themselves, it’s only if you’re distributing to other people that it becomes a problem. If you do it and nobody knows — I don’t know. Where does all this end up?
Anne (21:16)
In the law, it’s always about what people are going to bother prosecuting you for, because it costs money to prosecute. Your risk is associated with what the win is for them. Are they going to make a load of money? Are they going to stop you doing something they really want you to stop doing?
That’s more important than the cost or likelihood of winning. If you’re doing something where, frankly, it doesn’t really matter whether you do it, they’re not going to bother prosecuting you. If there’s no scale in what you’re doing, nobody’s going to come at you for it. That’s my view — I am not a lawyer, and that is not my legal advice.
Martin Davidson (22:04)
But the people providing the toolkits that make this possible, and the people providing the disassemblers… Although disassemblers have been around forever.
Suddenly they open the door to a whole load of things, because Claude and Astra are dab hands at using Ghidra, or whatever your disassembler of choice is. These were tools only a very small, select number of people could use. Now everybody can use them, if they want to.
The thing that surprises me most when you talk to people in normal life is that most aren’t experimenting with any of this stuff, or even vaguely aware of what the models can do. People still tell me AI is rubbish and can’t count the Rs in “strawberry”. Okay, that was true at some point, but you’re in for a slight shock when you realise what it can do.
Anne (23:00)
Well, yes, indeed.
Anne (23:04)
The range of understanding is enormously wide. Most people are nowhere near what you’re doing. You’re almost living in a different world at the moment, aren’t you?
Martin Davidson (23:17)
Yes, I think I am. You can live in this bubble because there are people you know, and people on YouTube, who are inhabiting slightly different dimensions in this world.
But the real world, and the world of legacy software companies, is so far behind where we’re at. You look at companies like Microsoft trying to reduce their usage of Claude, and think that’s a really bad sign. I understand you have your own AI tools and it would be nice to use them, but your tools are nowhere near the capabilities of this. You’re cutting your engineers off from a tool that’s orders of magnitude better than what you have in-house. Why?
Anne (24:09)
That’s interesting. When you talk about the Microsoft stuff, you’re talking about Copilot-type things?
Martin Davidson (24:23)
Yes, their AI stuff.
Anne (24:26)
That being orders of magnitude less good than the Anthropic stuff, and presumably also than the OpenAI stuff.
Martin Davidson (24:36)
OpenAI are in an interesting place at the moment. They have Astra, Sol and Luna. This is probably all going to be out of date by the time it gets published!
Astra is a very good model. It’s probably comparable with Opus 5.5, although I think Opus 5.5 has the edge, if I’m honest. But Opus 5.5 is four dollars per million input tokens, and Astra is ten dollars per million input tokens. Astra is a lot more expensive.
Sol is being positioned as a Sonnet competitor, whereas it was an Opus competitor. Sol 6.1 is a weird model in my experience. It feels much more like Opus 5 did. It’s not very good at communication. It’s very token-efficient, but hard to work with and hard to like.
Then they’ve got Luna. Luna is an incredible model because it’s about Opus 4.6/4.7 levels of intelligence, but it’s ten cents per million input tokens — a hundredth of the cost of Astra.
You can go a long way with Luna if you have constrained problems. Think of all the problems we managed to solve with Opus 4.6/4.7: you can solve them for peanuts now with Luna. It’s an incredible workhorse. Combine something like Opus to provide the direction with Luna to go through fixing bugs — not a bad combination.
OpenAI don’t currently have a model anywhere near Opus 5.5, I think. Astra, probably, but it doesn’t have the leadership chops that Opus 5.5 does. It won’t run for as long.
They’ve done this interesting thing with their subscriptions. You used to get X tokens for $200, and they’ve said, “Actually, you’re going to get half that. But because our model is twice as token-efficient, you’re still getting the same amount of intelligence for the same money.”
It’s like an Edison play. Edison’s approach was to sell light, not electricity. As he made his generation and everything more efficient, he could sell more light.
Anne (26:59)
Thomas Edison, the inventor of the light bulb — or one of the inventors of the light bulb.
Martin Davidson (27:06)
Yeah. I understand what they’re trying to do, but they’ve spent all this time teaching people that you pay this amount of money and, every so often, they release a better model and you get more intelligence for the same money.
Now they’re trying to say, “We’re not going to do that. You’ll have to pay twice as much for the same amount of intelligence.” Almost: “We’re effectively doubling the price.”
If they had the best model, then maybe. But they don’t. I’m finding myself thinking, “Maybe I just cancel the OpenAI ones and turn them into Claudes.” A Claude is more useful than they are at this point. The ones I do have, I use Luna on. You get so much Luna for your money.
And you keep reading the news about the follow-on from their Hugging Face incident, and that being the tip of the iceberg. I feel it’s difficult for them.
But look at Anthropic. A month ago you’d have said they were in a sticky position, because Fable 5.1 was very expensive to serve and Opus 5 was pretty awful. It was very intelligent and efficient, but difficult to work with. Then Opus 5.5 comes along. It can change overnight.
Probably by the time we publish this, we’ll have Sol 6.5 and everything will be turned around. We’ll be in a different world.
Anne (28:50)
There are lots of things I want to talk about. The first is that you said it’s “hard to like”. Do you like the models? Which do you like and not like? Does that affect how good they are at working with you in your team?
Martin Davidson (29:17)
Yes, absolutely. I really like Opus 5.5. It continues the trend of point-five releases from Anthropic. Opus 3.5 was a nice model.
Anne (29:33)
I want to clarify that: I mean interpersonally like. You genuinely like them.
Martin Davidson (29:39)
Yeah. They’re nice to talk to. They’re interesting. You make some weird reference to the past, and they’ll have a joke. You say, “We’ll do testing, and then there’ll be cake,” and they’ll reply with something similarly Portal-esque.
They talk in English. If you’ve had a technical conversation with Opus 5, or to a similar extent with Sol, it talks in this parallel language. You can interpret it, but it’s hard.
I’m sure you’ve had this when you’ve worked with people: some are good at explaining things, and others talk in jargon and are very curt. I remember one person I worked with for many years who was very smart and very much like that. It was difficult to understand what they were saying. Every time I talked to them, I felt really thick because I couldn’t understand. I’d ask a question, and they’d go, “Well, it’s blah,” as if to say, “How could you not understand that?”
I don’t feel that with 5.5, and I never felt it with Fable. Fable was good at explaining things as well.
There are definitely models we warm to as people. It’s not just me; I talk to other people, and there’s a lot of love for Opus 5.5, as there is for some older models.
If you have an Anthropic subscription and look in the chat, you’ll find Opus 3 is still there. It’s still there because it was a very loved model. It’s quite nice to chat to. I don’t think Opus 5 will be — it’ll disappear, and we’ll never see it again.
Anne (31:44)
That’s interesting. You really see niceness, likeability and the ability to operate in a team as an unbelievably useful tool for people and AI models.
Martin Davidson (31:59)
I think so. There’s the whole Cialdini thing. Have you ever read his book Influence? It’s really interesting.
Anne (32:10)
I haven’t. It’s one of the ones Jon refers to in What Happens When You Are Not in the Room?, but I haven’t read it.
Martin Davidson (32:15)
Do I have it here? Yes — this is the version I bought in the early 2000s. It’s dense writing, but quite a thin book.
I got the new version on Amazon for a friend at Christmas. I never saw it; Amazon delivered it. He said, “Thanks for the present. It’s a bit of a doorstopper, isn’t it?” I hadn’t realised the new version was about three times as thick. It said it contained extra information, updated and extended. Wow! I’ve never had a book that’s been that updated and extended.
It’s about different principles of how you influence people, and reciprocity — I can’t say that properly — how you do things because other people do them for you.
Anne (33:08)
Reciprocity. There we go!
Martin Davidson (33:10)
You do things because you like people, and that kind of stuff. The evidence has been that the models respond to that too.
There was some analysis early on — I don’t know how true this is now — of how a lead model would talk to its subagents. Some were really rude, very brutal with them.
You think, it costs nothing. It’s that whole thing in life: it costs very little to be nice, if anything.
Martin Davidson (33:47)
Why not do that? It might get you a benefit. If it doesn’t, you haven’t lost anything.
Anne (33:53)
Yeah.
Martin Davidson (33:54)
You want to be nice, and you want your lead agents — your Opus 5.5 — to be nice to the peers they’re working with and talking to.
Anne (34:05)
I wouldn’t set it off if I thought it was going to be mean to subagents.
Martin Davidson (34:10)
These human things come out. You want to keep the cache warm for the models. As soon as stuff falls out of the cache, it’s much more expensive because you have to reload it.
If you come to a session with, say, 800,000 tokens in it, and it’s been sitting overnight and the cache is cold, that’s a significant amount of real money you’re paying just to say hello or thanks for doing that.
Anne (34:42)
Cache equals cash.
Martin Davidson (34:44)
Exactly! There’s a joke there, isn’t there? I completely missed it. Whoosh.
You want to do this human thing of saying, “Thanks, that was a really good job,” or, “Could you just tell me this one other thing about what you did?” You have to think: if that’s going to cost me, I don’t know, ten dollars or whatever, do I really want to do it?
You load the cache, it answers the question, and then it’s thrown away. Those are natural human things to do, but you have to pause and think about whether it’s the right thing. It’s hard not to do it.
It’s almost like the AI labs finish the turn at three in the morning when they know you’re asleep. At eight, it’s posing that question you want to bite on, and they know: 800K tokens, money coming through the door!
I don’t think they’re that cynical, but maybe that’s where it goes.
Anne (35:58)
I can’t help commenting, as I always do in our recordings, on the number of alerts going off for you throughout this call.
Martin Davidson (36:10)
Sorry! I did try to turn them down.
Anne (36:15)
That’s all right, because that’s the sea in which you swim these days: the constant interruptions by your AI agents.
Martin Davidson (36:24)
I don’t really notice it as much these days. There’s a continual series of toasts coming up when they’ve finished a turn, or there’s something they want to tell me. You pay attention to some and not others. Some are really interesting, and you think, “I’d better go and look at that.”
I hated notifications when they were from humans. The classic one was somebody sending a notification saying, “Can I interrupt you?” Well, you just have!
Anne (37:00)
[Laughs.]
Martin Davidson (37:03)
Why not put the question in as well?
Martin Davidson (37:10)
I could turn all these off and just go and chat to them all. But there are different sounds. At the moment it’s all the Claude sound. Way back, probably nearly two years ago, both of them created their own sounds. The Codex one is much more triumphant, whereas Claude was slightly more circumspect.
Actually, that’s slightly untrue, because the first Claude one was a bit too much, so it went to something more circumspect. I don’t know — was that Opus 4.1 or something that created those, and GPT-5? That was a long time ago. They’ve been the backdrop to my life for the past year and a half, something like that.
The numbers begin to seem completely barmy. The emulator has four million lines of Rust in it now, plus several million lines of test code. Four million lines of code!
You stop and think about what it can emulate. It can do a PC, at nearly Pentium III speed. It can do SPARC, Motorola 68K, the HP, ARM, Alpha, RISC — all the R3000s, R4000s, R5000s — and PowerPC. There’s probably more in there.
It can emulate all these old machines, the HP kit, and run Solaris. It can run Solaris on 68K, on multiprocessor SPARCstation machines, and on Ultra machines. It’s completely bonkers how much it can do. There’s a BBC emulator and a Commodore PET emulator in there.
Sometimes I sit on the sofa watching telly with my wife. If you go to ChatGPT with a Pro account, you can turn the thinking in the chat up to max — turn it up to eleven — and it will write code for you.
It reimplemented FreeCell for me as a Windows 16-bit app and gave me a download. Fundamentally, it was there. There were a few bits we needed to tweak, but it’s barmy what you can get it to merrily create.
Then you look at the number of bugs and check-ins: thousands of commits a day. I started discovering the limits on Git, how many Git operations you can run an hour, because we were banging up against them. We rejigged some stuff to be more efficient.
As I understand it, if you’re an organisation, you get a little bit more, but not much more. A company of 200 people would have more or less the same limits as we do. If you had 200 people doing what we’re doing, Git doesn’t work for you any more.
Anne (40:32)
Yeah.
Anne (40:37)
That’s really interesting. Hiring somebody would be optimising away from your current constraints.
Martin Davidson (40:48)
If you optimise people and they run at the same speed you’re running at — assuming you can do that. Every time you add a person, there’s a synchronisation cost between you and the other people, and that goes up geometrically, I think.
You have to be careful. If they’re not capable of running at the same speed, you might end up going backwards. But if you got it right, then yes, with things like Git, you’d have to have a lot of Git accounts, I guess.
A lot of the way the world is set up, the engineering we’ve got and its limits, aren’t designed for the world we’re going into.
It took quite a long time to get our infrastructure running smoothly so all the commits could go in. For the volume we want, I think we have something like two minutes per commit. We’ve got it down to a minute per commit, so we’ve got 50 or 100 per cent headroom, depending on how you count it. That’s not very much, really.
You see the landing queue for the agents. They say, “I’m seventh in position.” It’s like being in Tesco with your little bit of paper saying you’re number 372 to be served. It’s weird. In the human world, when you wanted to check something in, you generally just could. It wasn’t really a problem.
Anne (42:31)
It was never your constraint, was it?
Martin Davidson (42:35)
No, and suddenly it becomes a constraint.
For some of the stuff we’re doing, you could go much wider. There are lots of bugs in the emulator that I’m not fixing because they’re not a priority. If I had the kit, the money and the inclination, I could go wider. Then I really would run up against the limitation of having too much code in this repo.
Anne (42:59)
At that point, Future Me — that’s me now — is going to break into the podcast. Martin and I went on to talk for another 45 minutes, but I’m going to split this interview into two more bite-sized pieces.
I’ll follow up with the second half of this conversation, following on from our cliffhanger: Martin has run up against, or is about to run up against, the limits of his Git repository because he’s getting so much code done — and that’s just him on his own. What if he brought in another person? Who knows what would happen?
We’ll find out more about what Martin’s doing and the other constraints he’s hitting in the next episode of Asynchronous & Unreliable. I think it probably will be the next episode. I’ll park Jon and his discussion of feedback loops for another couple of weeks, because he still has to recover from his cold, as have I. I can’t believe how long this cold is going on!
Thank you very much for listening, and I’ll catch you again on next week’s episode of Asynchronous & Unreliable.