Matt Godbolt: Hey Ben. It's been a while.
Ben Rady: Hey, Matt.
Matt Godbolt: How you doing?
Ben Rady: Good. Yeah, good.
Matt Godbolt: So I'd like to abuse this podcast to ask you something that I would like to have asked you if we'd have met up in person.
Ben Rady: Mm-hmm.
Matt Godbolt: And it strikes me that it might actually be a good podcast episode. So I can kill two stones with one bird or whatever. Stone two birds with one kill.
Ben Rady: Mm-hmm.
Matt Godbolt: I don't know. One of those things.
Ben Rady: I feel like that's like the fundamental basis of this podcast is that we just talk and then, yeah.
Matt Godbolt: So...
Matt Godbolt: It's an enforced meeting between you and I. Enforced. Wow. It sounds awful. Yeah.
Ben Rady: Encouraged.
Matt Godbolt: no Like, I don't like this. No, but it's a, there's a point on our calendar where we will sit and talk to each other, even though, yeah, we don't work together anymore, which makes this less of a thing that we just do naturally.
Matt Godbolt: But anyway, my question is, Last I spoke to you, we were talking and you had some clever ideas about how you were sort of starting to use carefully AI to do some of the things that, yeah, I guess some of the more humdrum work or I don't know.
Ben Rady: Mm-hmm.
Matt Godbolt: how do you How would you explain what you're doing? But I know that you have a clever way of using it.
Ben Rady: Yeah. Well, I've gone through many, it seems like every few weeks or every month, you know everything with AI and coding agents is changing so incredibly quickly right now.
Ben Rady: So it seems like every month or every few weeks, I have a new iteration
Matt Godbolt: Oh, so I might be like my mental model of where you are, maybe like several iterations behind, given that we haven't really caught up in a while.
Ben Rady: I mean, you know, it's I don't think it's that far behind. I think I think you're maybe one version behind.
Matt Godbolt: Okay.
Ben Rady: The last, and it's just, you know, it's this whole progression. I think we've talked about it on prior podcasts. I'm not going to recap from the beginning, but and the last iteration I was on was creating, I had created basically like a Docker image that I could run
Matt Godbolt: Right.
Ben Rady: either locally or on remote machines or in the cloud in various places. And the way that I would use it is I would, it had an embedded Git server, which you know for those that don't know this, a Git server is just SSH, right? There's really not a thing as a Git server. There's not a process that you run. It's like, oh, I killed, like yeah know I pgrep'd for my Git server. It's like, no, that's just SSH.
Ben Rady: SSH is your Git server. So it's,
Matt Godbolt: And like, what SCP kind of things like there's only a few things it can do is like there's a git remote command that it runs, I think right effectively on your behalf as...
Ben Rady: Well, there's a they recommend that you use a special shell for the for the Git user, but you don't have to, actually.
Ben Rady: You can just make a bare directory on another machine and use that as Git remote, and that makes, yes, huh the Chicago bear directories.
Matt Godbolt: Not that kind of bear. The Chicago Bear Directory.
Ben Rady: Yeah. the Chicago Barenaked Lady directories. Not to be confused with the to terrible... I never...
Ben Rady: any No, I'm not going on the tangent. There's a bridge involved and a boat.
Matt Godbolt: Yeah. yeah
Ben Rady: We're not going to talk about that.
Matt Godbolt: But so yeah anyway, Git is simpler than you might think.
Ben Rady: But get...
Matt Godbolt: It's relatively just running a process on a remote machine.
Ben Rady: it's real It's real simple.
Matt Godbolt: Yeah.
Ben Rady: there's no There's no long-running process that needs to be managed with a Git server. right But anyway, there are directories and permissions and sometimes shell and SSH configuration, perhaps, that should be done if you want to you know have the have the thing be particularly secure.
Ben Rady: So you I just created this Docker container. and And set up.
Matt Godbolt: Right.
Matt Godbolt: an SSH server you can get into inside the Docker container. And on the other end of that, it has all the things it needs to be a Git server.
Ben Rady: Yeah, yeah. and And honestly, the only hard part about any of this is credential management, which I feel like is true 80% of the time anyway, right?
Ben Rady: Like how do you get your public key registered? How do you get the credentials for the processes that you may wanna run? But long story short, and actually there's one smaller other tangent, is that there is actually an open source version of this that Aquatic released under the Aquanauts organization.
Ben Rady: And yeah, and it's very like 60% complete at this point, right? like I wouldn't I wouldn't necessarily, I mean, it's I would I would say it's great inspiration for your own implementation, which you can probably create with Claude in about an hour.
Matt Godbolt: Oh, I was going to ask you about that because, well, then.
Matt Godbolt: Right.
Ben Rady: So there's not a real reason to necessarily use it out of the box, but it is there and it does kind of do this thing, which is finally punchline.
Matt Godbolt: Yes.
Ben Rady: The idea is that you set up Git remotes that point to the running instances of the Docker container and the post receive hook for these Git remotes basically just runs the headless form of Claude, you know, claude -p with a very simple prompt
Ben Rady: And that prompt is something like, make this code better. Right? And the idea is that you have enough, you know, CLAUDE.md and skills and other things perhaps checked into whatever repository it is that you're pushing such that you can have like a local working copy and you're like, yeah, this code is like close, but it kind of sucks.
Ben Rady: You know, there's some know commented out tests that fail and there's some stubbed out methods and classes. And it's like, have a general skeleton of sort of what I'm trying to do, but it's not really there yet.
Matt Godbolt: Right.
Ben Rady: And I'm just going to commit that and I'm going to push it to this remote that I've set up to run this or maybe a few of them.
Matt Godbolt: right
Ben Rady: And then it's going to just make it better. And then when it's done, after a few minutes perhaps, and like each, you know, the instructions that I put in there tell it to do it in very incremental steps.
Ben Rady: So it's like, you know, for each to do comment, for example, fix it and commit it with a description in the commit message of what it is that you did.
Matt Godbolt: And this is committing into its own local copy of the repository. So it's got no way of getting out from there.
Ben Rady: Yes, it's in the Docker container, right?
Matt Godbolt: Right. And, and, and
Ben Rady: So this is like the post receive hook for the sort of main repo directory in the Docker container creates a working copy and then Claude is operating on that working copy.
Matt Godbolt: yeah.
Ben Rady: And there can be multiple Claudes working on multiple working copies if you want to configure it that way.
Matt Godbolt: Right. This is what like you might use work trees and your local machine, but you're effectively just doing clones, clones all over the place for each Claude.
Ben Rady: Yeah.
Matt Godbolt: And so one thing is like, usually they need a lot of guidance guidance and or they will say, hey, I'd like to edit this file now. And like, there's nobody on the other end of that. So how do you.
Ben Rady: Well, so part of running it in Docker is that I run it with the dangerous permissions, right? And and you know a more evolved form of this might have some like IP tables rules or other things to try to limit its internet access.
Matt Godbolt: Got it.
Ben Rady: But the general idea here is to create a safe container so that it can run without, like you're trying the whole design of this is to not interact with it.
Matt Godbolt: I know.
Ben Rady: That's the whole reason I created this. in the first place is because I was sick and tired of babysitting a bunch of Claudes.
Matt Godbolt: Got it.
Ben Rady: And so I'm like, no, I'm going to try to structure things and change my the way that I work such that the intention is I send you crappy code and then you send me commits. And then I can review those commits and decide whether it was that I liked what you did, but at no point should I ever have to interact with you in between those two points.
Matt Godbolt: Got it. And so how, yeah, how that's, so let me sort of read back to you. Yeah, this is a sort of self-contained world. And the only way that it starts up is you inject from the outside world, something new into it by get pushing.
Ben Rady: okay
Matt Godbolt: And then it turns away and turns away and turns away. And you don't even, you'rere you're off walking the dog, you're off making tea.
Ben Rady: Right.
Matt Godbolt: , and then when it's finished, how do you know? and how does that process? How's the handoff back you?
Ben Rady: So usually when I'm running these things, I'm running them in a tmux so I can see the output of each one just for debugging purposes.
Matt Godbolt: Yeah.
Ben Rady: I'm not interacting with them, but I'm like looking at what they're doing. If one of them misbehaves or something goes wrong, I can poke it or restart it or look at what it did or whatever.
Matt Godbolt: And with claude -p, that's a like one-shot mode, right? You can't talk back to it or anything like that. It just keeps running and running. and
Ben Rady: Uh-huh. Yeah, that's right.
Matt Godbolt: I see, right. I've I've never really used that. I mean, I've used it like to say claude -p, tell me a joke, you know that kind of thing, just to see that it works. But I always felt like something would need to be more babysat.
Ben Rady: Mm-hmm.
Matt Godbolt: But you're saying... No, you give it the permissions, let it run, and then just mark it at the end, right?
Ben Rady: Mm-hmm.
Matt Godbolt: You don't have to look at all the intermediate steps that it went through necessarily. You don't have to micromanage it, which is, of course, the exhausting and part that's frustrating, which you're trying to avoid, is this whole babysitting part.
Ben Rady: Yeah. Yeah. And I've tried this with different variations, like, you know, with like the agent teams and you have like an agent, the lead of the agent team that is responsible for watching the commits go in and out and, you know, having different agents working on different things and all of it, it's all just like different variations on the same thing.
Ben Rady: And it's nothing, nothing that's like really any more amazing than anything else. Yeah, you know, there are advantages and disadvantages maybe, but again, this is one of those things where it's like, I'm not even doing this anymore because it's, it's been, it's been obsolete.
Matt Godbolt: Oh, right, right, right. So that's what you were doing.
Ben Rady: yeah.
Matt Godbolt: That's what I remember you explaining to patiently in the pub, that's what you were doing.
Ben Rady: Yeah. yeah
Matt Godbolt: And I was like, cool, that sounds great. Because yeah, when I do use Claude, it feels like a powerful refactoring tool, but I have to be with it all of the time.
Matt Godbolt: And you know then if I try and do anything more complicated with it, I have done some pretty complicated things with it. But like you just say, hey, simplify the code or whatever. Then you have to sort of watch it.
Ben Rady: Right.
Matt Godbolt: And it feels like, as I say, it's exhausting. And you feel like you should be doing something else at the same time. But context switching is burning you out. And it would be nice to just throw it over a fence and say, I'll have a look in half an hour without without the worry that inevitably when you say, here's a big piece of work to do, one second after tabbing away from it, it's stopped on a question saying, hey, would you like me to do this?
Ben Rady: Right.
Matt Godbolt: and then you come back to it and like you've been doing nothing.
Ben Rady: Right, right, right.
Matt Godbolt: Yeah.
Ben Rady: Yeah, but the general model has not changed.
Matt Godbolt: So.
Ben Rady: The general model for me that I'm trying to work towards, which you know happens in fits and spurts and I run into problems with it, and you know but the thing I'm trying to move toward is a world where I create...
Matt Godbolt: Okay.
Ben Rady: It's a little bit like getting the right answer on the internet by posting the wrong answer.
Ben Rady: I create...
Ben Rady: a vague, partially specified, broken in pieces skeleton of what it is that I want to exist.
Matt Godbolt: that
Matt Godbolt: Right.
Ben Rady: And then rather than creating like complicated prompts, I just put comments in the code because that sort of creates like the most context for Claude, right?
Matt Godbolt: , right.
Ben Rady: Like instead of describing like, oh, in this function, in this file, maybe you should consider doing this. It's like, no.
Matt Godbolt: Right.
Ben Rady: to do, do this, to do, do that. And then it can tell from the like surrounding function structure and maybe what's calling it and like the tests that are calling it. like It gathers more context and it like focuses, because it's all about managing the context window.
Ben Rady: right like You just have to get the right information in the context window, no more, no less.
Matt Godbolt: Yeah.
Ben Rady: And so I feel like the best way to do that is to say, okay, I'm going to take a bunch of crappy things. I'm going to have one agent break up the work that it sees in those crappy things.
Ben Rady: And then each piece of crap is gonna be worked down by one agent, which will create one commit. And then all of those commits together then come back to me as we clean up all your mess, right?
Matt Godbolt: Got it.
Ben Rady: And that is the workflow that I'm trying to move towards. And eventually I kinda wanna get to a point where after that process is complete,
Ben Rady: I don't even need a PR. I don't even need anyone to review it because the PR is baked into the continuous deployment process. And that's just something that because here's here's the thing is we've we've created all these amazing tools for writing more code and making more changes.
Matt Godbolt: Right.
Ben Rady: but But as you know, if you have a pipeline with multiple stages and you increase the throughput of one stage without increasing the throughput of the next stage, all you do is create a queue at the next stage, right?
Ben Rady: You don't actually increase the throughput of the overall system at all, right?
Matt Godbolt: Yeah, this has been my life of like, it used to be that I would open up like say Compiler Explorer and look at the 40 open pull requests and go, oh gosh, I really have to get through these.
Ben Rady: Right.
Matt Godbolt: And this is when humans were generating these pull requests, right? And I want to make sure that I give them the time and the thought to interact with them and say, yeah, this is great.
Ben Rady: Right.
Matt Godbolt: Or can you change this? All that stuff. But it's a lot of work and ultimately it's great. I don't want to sound like I don't like that thing, right? But now, when I ask an agent to do like, Hey, can you fix bug 27?
Matt Godbolt: It goes off, finds bug 27.
Ben Rady: Mm-hmm.
Matt Godbolt: Often it can, if they're a certain form. And then now, instead of me working on bug 27 and effectively pre reviewing it because it's my own code. Right.
Matt Godbolt: And, you know, CE is not a professional product.
Ben Rady: Mm-hmm.
Matt Godbolt: So like, you know, I can merge straight to main if I want, I choose generally don't, but I still, you know, the review is kind of like, advisory more than anything else, I can I can I can fix bug 17 and we're done.
Ben Rady: Mm-hmm.
Matt Godbolt: But now it's like, no, I've asked the robot to do the bit that I enjoy doing. And then and then I get just stuck with the bit that I don't like so much, which is the review part.
Ben Rady: Yeah, yeah, yeah, right.
Matt Godbolt: And I'm like, yeah, so. And then you're like, oh, now I have 80 open PRs because I've got some, oh, oh dear. So
Ben Rady: Yeah, yeah, yeah, I mean, so yeah.
Matt Godbolt: Kind of removed the... But, but that you know, without without human interaction at some point, how do you prevent... wildly spinning out of control things I'm sure you've seen this you know like I've you know you know I mean but models are getting better at this but you know I actually was working with one just a few minutes ago and I saw it several times go no let me take a big step back no let me take a huge step back as it was kind of floundering and realizing it was floundering and whatever magical craft crafting in the prompts and whatever they're doing notices that and then tries to like do what a human would do which I think is clever but like you know But, you know, you do need someone to say, wait a minute, you know, the otherwise you're going to be in like there's some kind of like millions of paper cuts all over your code base.
Ben Rady: Oh, yeah, yeah, yeah.
Matt Godbolt: How do you how do you deal with that without a human going, wait, wait, wait a second. Something needs to look. I have the context and I can broadly.
Ben Rady: Yeah. I mean, so I think I don't think that the way to do this is to give it a large chunk of work to do and then go and make tea and then come back in 30 minutes.
Matt Godbolt: OK. Mm-hmm.
Ben Rady: that's That's not the model that I'm trying to move toward.
Ben Rady: The model that I'm trying to move toward is one where I'm doing enough work to get, you know, to sort of like seed the work of some number of agents.
Ben Rady: And while those agents are churning away, I'm kind of like thinking about what the next step is and maybe creating those pieces, some of those pieces. And one advantage of this model is that, you know, you can do a git pull at any time. And so if like the easy ones start coming in first, right? So like if you have a to-do comment, that's like, you know,
Ben Rady: you know, simplify this method, right? There's some unnecessary complexity in here.
Matt Godbolt: Right, right.
Ben Rady: Like, you know, you'll see that one finish and then it's like, all right, that took all of 10 seconds. git pull, okay, cool, I'll get that and I'm gonna look at that. And so you it's not like, you know, create a big bunch of work, push off a big bunch of work, get back a big bunch of work, review a big bunch of work. It's more like create a bunch of individual things or maybe just a handful, push them out and then start pulling them in and reviewing them and reading through them and maybe even iterating on them.
Ben Rady: Or I'd be like, you know, I'm gonna revert this commit, we're gonna try again, or I'm gonna, you know, add another comment in that says like, this still needs more work.
Matt Godbolt: so So just to look at my, maybe I missed this part.
Matt Godbolt: you You can pull from this repo and then it's just a different remote for you. So you would, you're still, as in you, Ben, are still the main repo is on GitHub or GitHub Enterprise wherever it is.
Ben Rady: Yeah.
Matt Godbolt: And then you are just pulling from yet another source or pushing and pulling to another source, much as if it was like a vendor branch.
Ben Rady: Right.
Matt Godbolt: It's just like, this is the agent repo.
Ben Rady: Right. Right.
Matt Godbolt: I see. Okay.
Ben Rady: Yeah, it's a different Git remote.
Matt Godbolt: So then the
Ben Rady: And usually I'll just name the remote for whatever the host name is that the Docker image is running on. right
Matt Godbolt: Makes sense.
Matt Godbolt: Makes sense. Yeah, no, I get it. So, and then ultimately those changes make it through into the main line through you having pulled them and looked at them.
Ben Rady: Right.
Matt Godbolt: And so you've looked at them locally rather than through GitHub. So that's kind of, that's interesting.
Ben Rady: Exactly.
Matt Godbolt: That's interesting. So, so that's different from what the model that I've been sort of trying to work towards myself in my own experience. way because for me, the goal the goal, and this is very Compiler Explorer centric, is many, many, many of the open issues in Compiler Explorer are please install Compiler X. And Compiler X is, yeah and we have readme's for this, people can send pull requests for it, but usually it's a multi-step process. and you know It can be up to four steps, which is a pain, but you know it's in it and it's almost automatable.
Matt Godbolt: you know, someone says, hey, I have this Clang build over here.
Ben Rady: Yeah.
Matt Godbolt: I'm like, great. what's What GitHub repo is it? Oh yeah, which branch is it in? Oh yeah, right, whatever. And you go and you go and pull it down. It's like, yeah, didn't build. I said, oh yeah, you need these extra flags because we need these things on our building.
Matt Godbolt: Okay, that can be done, right? You know, there's no, but I had to try the build out and which is, you know, like a 45 minute build on a beefy machine and then discover that I actually, no, I need to change it.
Matt Godbolt: And I have to iterate a few times to get the exact flags Then having built it, it gets some it needs to be installed, and then the install usually picks up a few things, and then it has to be configured, then it has to be tested, whatever.
Matt Godbolt: Each of these is a different repo for unfortunate legacy. well I don't know if they're unfortunate, but for reasons, right? you know most Most people who pull the get the Compiler Explorer repository aren't actually installing three terabytes of compilers.
Matt Godbolt: They're about to use it on their local machine, and they don't want to have anything to do with all of the things that to do, the orchestration and infrastructure of Compiler Explorer, the website.
Ben Rady: Mm-hmm. Mm-hmm.
Matt Godbolt: So that's a separate thing. They just have the code, right? And the code is just versioned. and We pull in version 12 of the code into, you know, that kind of stuff. So, but it does mean that now there's two repos you have to manage. And then similarly, even in the infrastructural thing, it doesn't make sense to have like every Docker container we've ever had to build every possible compiler ever gets rebuilt every single time, every push happens.
Matt Godbolt: So they're in their own repositories and so on. And so it all makes sense, but it's also painful and it requires orchestration and multiple steps. Anyway, popping the stack, it is nearly automatable, but you need something with half a brain to watch it and got to go, oh yeah, maybe we need to change this flag. Oh, it has completed now. Now I can test install it locally. Oh, it does work locally. Okay, cool. Now I can make the pull request, all these things. And so that workflow is what I would like to manage so that I can sick the...
Matt Godbolt: something on that and say, can you just do this thing and send me the pull request when it's done. And I can review on my phone while I'm walking the dog and go, yes, that's fine. And merge it because most of the time I can see if it's okay.
Matt Godbolt: and And if in particular, I can see that it's been through the test steps and the CI build is giving it the clean bill of health.
Ben Rady: Yeah, yeah.
Matt Godbolt: So that's what I'm working towards to try and design away, that kind of thing.,, Yeah, it's kind of a different model, I think. from Yours is more of a, I want to use this as a pair programmer or mob programmer with me, and I'm kind of pulling and pushing with it. Is that a fair observation, or would you say it's different than that?
Ben Rady: I, you know, I don't know that it really... I wouldn't really compare it to like pair programming or I wouldn't compare it to any practices that we have used in the last 30 years, honestly.
Ben Rady: It's just a new and different thing.
Matt Godbolt: Interesting.
Ben Rady: It's just a different, it's just a different way to build software.
Matt Godbolt: Right.
Ben Rady: If the closest analog is I've had situations in my career where I have intentionally created an incorrect PR and sent it to someone
Matt Godbolt: for the same, you know, someone's wrong on the internet kind of approach.
Ben Rady: Yeah, like you get you get into a discussion with someone, like I think you should this, and I say, you know what the easiest way for me to describe what I'm trying to do here is to do a third of it.
Matt Godbolt: Yeah.
Ben Rady: And then you'll see the other two thirds. So I'm just going to do that.
Matt Godbolt: Yeah.
Ben Rady: Now, you know, it's very limited in the situations where I've done that, right?
Matt Godbolt: Yeah.
Ben Rady: But now it's basically that all the time. Or at least that's what that model was, which again, is not what I'm actually doing right now.
Matt Godbolt: Maybe.
Ben Rady: But that's...
Matt Godbolt: I was going to say, yeah, you just made me think of something else that I found is a useful thing for me to do now is that the cost of prototyping with now we're I'm just talking generally about this is going to be a meandering conversation. Sorry, listener.
Matt Godbolt: The cost of exploratory work is so low now. that I will happily, so I now have a restricted user on my machine and I run it in a sandbox and I put a T-Mux into it like you're suggesting and it allows me to run in YOLO mode as well. So then I can kind of say, oh, knock yourself out, go and, you know, I don't care.
Matt Godbolt: The worst you can do is delete your entire directory and everything you have in here, which in case is, well, inconvenience me not one bit, you know, you'll stop working and then I'll come find you.
Ben Rady: Yeah, yeah.
Matt Godbolt: And it has, you know, it's a separate Unix user. It has no credentials, all the things, all those good things. I don't necessarily internet sandbox it as well. I mean, if I told it to hack my network, I'm sure it could.
Matt Godbolt: But anyway, the point is I can point it at saying, so like, I don't know how to do this.
Ben Rady: Mm-hmm.
Matt Godbolt: Can you just have a spirited attempt at it? And then and I can see... where where you get stuck and where the problems lie. right The cost of prototyping and spiking out an idea and going, would it be possible to do X?
Matt Godbolt: Like, hey, what if we were to completely replace this? So in the window behind you, my JavaScript BBC microemulator, the it's like a 400k download in the web thing because it has two separate g unzip libraries for like very ancient reasons right there's just like two you know silly reasons and nowadays browsers have decompression stream but they don't support the one thing that I kind of need in it and I'm like is it possible to hack the heck out of it and make it work reliably on both node and chrome and firefox go
Ben Rady: yeah, yeah. Yeah,
Matt Godbolt: And it came back and I can see behind you now it's like, yeah. And now I haven't looked at the code. It may be atroc an atrocity, in which case I'll throw it away and we'll pretend it never happened. But if it's okay, that was great.
Ben Rady: yeah. yeah
Matt Godbolt: Right. And that's, that's not utility to me.
Matt Godbolt: And it's also not the kind of thing that I particularly want to do. And again, this is something interesting. Maybe, maybe this is a pivot now, right away from the kind of things that would be automating. It's like, And maybe you're feeling this too, because you said about like the way software engineering is changing, the way that you're developing.
Matt Godbolt: This is something new that is not pair programming or mob program, whatever it is, whatever this is nowadays. It's LLM assistant, agent assistant coded coding.
Ben Rady: Yeah. yeah
Matt Godbolt: And, you know, there's a lot of people who quite reasonably have a lot of issues with it. There are people who have, you know, issues on in terms of the power that it's using and things like that. And that is a very valid concern, but not one I want to talk about here for all the complicated reasons that I'm I'm not well thought about.
Matt Godbolt: it And honestly, a little bit put my fingers my eyes and hoping that someone clever person solves this. You know, I suppose I'm pinning my hopes on the fact that there is at least one one.
Ben Rady: Haha.
Matt Godbolt: one prior piece of art that says that you can think and not take an entire data center's worth of power because it's between my ears at the moment, right? And it's not, apparently not taking more than a few tens of watts. I don't know what a brain takes, but it's certainly not hundreds of kilowatts, right? Anyway, that to one side. The, the,
Matt Godbolt: Folks of our age, I think, are having a bit of an interesting experience here because you know we can see the utility of being able to do stuff very quickly in prototype, like I just described.
Ben Rady: right.
Matt Godbolt: We're seeing the utility of getting stuff done really quickly, which... And maybe we're sort of still discovering what really quickly is whether or not there is it is a silver bullet or it's you know just a sort of copper bullet that's not quite as good as we think it is, whatever.
Matt Godbolt: Something like this, right? It's like it's a good it's a good thing.
Ben Rady: right
Matt Godbolt: Maybe it's it's not as we're not as effective as we think we are. Maybe that will play out in the medium term and we'll discover that. But what it means is that we're not programming... as much anymore, like literally hand on keyboard, open bracket, type some things, close bracket. I don't feel like I'm doing that. There have been days recently where I've spent the entire day going. And then at the end of the day, I was like, oh, let me just look at the code.
Matt Godbolt: Oh, I haven't opened even Visual Studio Code. I've just been talking to a you know various things.
Ben Rady: right
Matt Godbolt: It's like I'm chatting in Slack and I'm chatting in Windows and things are happening and I'm reviewing them on like pull request level things, but I'm not necessarily programming in the same sense.
Matt Godbolt: And like, there's a definitely a part of me that's like, Oh, I like that.
Ben Rady: Yeah, right. Uh-huh.
Matt Godbolt: And so I'm, you know, maybe I'm just using this as our, you know therapy session.
Ben Rady: Yeah.
Matt Godbolt: I'm I'm still trying to work out how I feel about it. Like I can't deny that I'm excited to get things done that are exciting to me.
Ben Rady: Mm-hmm.
Matt Godbolt: And I enjoy the outcome. but I feel like maybe I'm missing something on the journey, you know, and maybe that will bite me in the future as well.
Ben Rady: Yeah, no, I've thought about that a lot you know in the last three to six months.
Matt Godbolt: Oh boy.
Ben Rady: And you know the conclusion that I kind of came to is that the career that I enjoyed for 25 years is now over. And my number one priority in exploring all of these things, and the reason why I change it every month, or less than a month, is because the number one priority is that the new thing is fun.
Ben Rady: The productivity gains, I don't care. I'm sure they'll come.
Matt Godbolt: Right, right, right.
Ben Rady: like It's kind of inevitable that they'll come in some form. I'm not worried about that at all. The sort of efficiency, the like you know resume fodder of like, did you use this? I don't care about any of that. The only thing I care about is that I create a new way of working that is fun.
Ben Rady: Because if it's fun, I'll do it. And if it's not fun, then I won't do it. And if I do it, then I'll get better at it. And if I don't do it, then I won't.
Matt Godbolt: That's...
Ben Rady: So the only thing that matters is create something that's fun. And the inch the great thing about this is that it's like a brand new world. like
Matt Godbolt: Yeah.
Ben Rady: it's You get to reinvent the rules all over again. you know
Matt Godbolt: Yeah.
Ben Rady: I've been having a lot of discussions with people lately about maybe rewrites aren't a bad idea anymore.
Matt Godbolt: Yeah, maybe not. I mean...
Ben Rady: Maybe language choice doesn't matter anymore because you can just have it, rewrite it in whatever language you want, right?
Matt Godbolt: and
Ben Rady: Like there's all of the rules might be out the window.
Ben Rady: Some of them are not going to be, but we don't know, right
Matt Godbolt: Well, and I was going to say, some some of the rules that are closest to your heart are probably still very valid.
Matt Godbolt: You know, like the fact that having a strong framework around the outside about sort of intersubjective and test for, is this what we want it to be?
Ben Rady: Yeah.
Matt Godbolt: bit yeah I said test, I was trying to avoid the word test, but like, is test, right?
Ben Rady: No, I'm, you know, it's verifying correctness, right?
Matt Godbolt: Functional test? Yeah, yes, thank you, that's better word.
Ben Rady: the The requirement that you verify that the software that you produce works correctly for the definition of correctly that you probably are in charge of maintaining, right?
Matt Godbolt: Yeah.
Ben Rady: Like that's your job is to, what does it mean to be correct? Right? Like that's why you're there is to figure that out.
Matt Godbolt: Yeah.
Ben Rady: None of that has changed. The tools that we use to do it, I'm sure are going to change dramatically.
Matt Godbolt: Right. Right.
Ben Rady: Yeah.
Matt Godbolt: It's interesting. So I was having a discussion about how the kind of, if you cast your mind back to one of our first guests, Claire McRae and the, I always want to call them golden tests, acceptance tests.
Ben Rady: Not acceptance tests.
Ben Rady: Yeah.
Matt Godbolt: Is that the right one?
Ben Rady: Approval tests, perhaps.
Matt Godbolt: Oh, I'm so sorry.
Matt Godbolt: Approval test. Thank you.
Ben Rady: Yeah.
Matt Godbolt: Oh gosh. Yeah. But you know, though, the, those tests seem to be not, let me try and think, the disc, I'm trying to remember what the discussion was.
Matt Godbolt: I you know, effectively I, prefer a well-designed unit test because then I, you know, like you, right? If something breaks, one test breaks in one place and you don't have like this collateral damage of like, well, I changed the log line and now everything is different apparently.
Ben Rady: Yeah.
Matt Godbolt: Not everyone thinks that way. And someone made a reasonably compelling argument to me that I'm forgetting exactly, but of like in an LLM driven world, the value of having a targeted unit test that tells you what the problem is, is not as great as the fragility of like, oh, I'm changing my API and now everything has to be updated.
Ben Rady: Yeah.
Matt Godbolt: Whereas like the bloody output of your program should be the same. Kind of makes sense to me then. But like, it's, yeah, you know, it doesn't sit comfortably with me yet. but I could see it and I was like, this is the first time I'm nodding a little bit towards this. This.
Ben Rady: No, it's funny because, again, all the rules are up for debate. Let's debate. I could make the argument that the sort of isolation of those tests in the sense of like one bug produces one test, what I would have been called an informative test.
Matt Godbolt: hmm.
Ben Rady: is less important, but only to the extent that the tokens don't cost you too much. right like If you've got Claude or many Claudes in a very tight loop running tests over and over and over again, and they're trying to make changes, and every time they make any change, you get hundreds of failing tests, that's going to fill up the context window pretty fast.
Matt Godbolt: it gets pretty expensive pretty quick. yeah
Ben Rady: But the thing that might matter more is speed. Right? Like the faster your tests run, the more iterations you can go through.
Matt Godbolt: Yeah. Yeah.
Ben Rady: And if you can automate that, then you can get things done very quickly. Right? These are things that we're going to have to find out.
Matt Godbolt: That's an excellent point. Yeah. Yeah, no, I think that's very, very valid. It's in fact, one of the more interesting things I have seen people do again recently is change the model that they're using to us to a smaller one that's dumber because it can go faster.
Ben Rady: Yeah.
Matt Godbolt: It's like, I don't care that it's dumb because you know it's protected from itself.
Matt Godbolt: and like And then I can use a slower model at the end to kind of like clean it up or whatever.
Ben Rady: Mm-hmm. Yep.
Matt Godbolt: And that was like, oh, that is interesting.
Ben Rady: yep
Matt Godbolt: So let me ask you another question. This is really far reaching now. Sorry, we've we've reached half an hour into this conversation. We had literally zero plan. How do you feel about the fact that you're working and then you get a 500 error from the Claude endpoint and now suddenly everything comes to a slamming halt and you're like, oh oh, I can't work. And as a proxy for, oh, what does it mean for my hobby that I could previously do with an air-gapped computer
Matt Godbolt: and then And obviously there's a hundred reasons why that's not true, but like let's just go with it for now. And I got, you know, I'm on the plane.
Ben Rady: Right.
Matt Godbolt: I have no internet access, although also that's not true anymore. I'm just tinkering around and I can do my thing and I'm enjoying it. Suddenly it's not only the fact that there is no internet there, it's the fact that there is a vendor that is the thing that is preventing you.
Ben Rady: Yeah.
Matt Godbolt: That, that you know, as much as I'm an anthropic fan boy, that does scare me. and I'm like, oh, shucks.
Ben Rady: Yeah.
Matt Godbolt: What do you, yeah, discuss.
Ben Rady: Yeah, that's a real serious problem. That's a real serious problem. And, you know, I, yeah, I get, yep.
Matt Godbolt: You can see why folks are looking at like, you know, self hosting solutions, even if they're again, dumber models, it's like, well, look, I have a rack of GPUs behind me or whatever, and it's running there.
Matt Godbolt: And then I know where I am, stand with it. You know, it's a, it's my own electricity, better my own power.
Ben Rady: Well, so that this leads me and the local models thing leads me to the next iteration of things that I am doing.
Matt Godbolt: Oh, unintentional segue.
Ben Rady: and And one of the reasons why I am doing it, the next iteration is I am just fully leaning into remote development environments.
Matt Godbolt: Right. Right.
Ben Rady: And I am trying, I have right now a project where I'm trying to just set up an Amazon AWS account. It's really just the EC2 instance and a few other attendant things right now.
Ben Rady: But basically, like the way I want to think about this is that like I do all of my programming in and a cloud account, and I'm doing that for multiple reasons.
Matt Godbolt: which mirrors the kind of way that you and I've had to work in finance for a while.
Ben Rady: the first The first... Yeah, it's not that foreign.
Matt Godbolt: Anyway, for all those reasons of, like yeah, it's not, yeah, we've we've got kind of gotten used to it.
Ben Rady: and Exactly. Right.
Matt Godbolt: And also, you know, IDEs are good at this these days.
Ben Rady: Yeah, remote development yeah over SSH works pretty well.
Matt Godbolt: You can kind of, yeah. And for me, it works a treat as well.
Ben Rady: Yeah.
Matt Godbolt: You know, I'm forever just using Mosh to talk to the machine that's that's under my desk here, where where the real development happens for the same reason.
Ben Rady: yeah
Matt Godbolt: And it doesn't matter which laptop I'm on or where I am. I'm the same, dropped into the same environment, carrying on with the same sessions that were there from before. So it's, yeah. But yeah, so you're setting this up.
Ben Rady: Yeah. Yeah. now And the metaphor here, I think a useful way to think about this is like a long time ago in a galaxy far, far away, when we built systems, they ran on a computer.
Ben Rady: Like you'd go into a you know server closet in your office building and they'd be like, all right, this is the Dell computer that we got to run our you know whatever.
Matt Godbolt: Yep.
Ben Rady: And it was on that computer. And then we built, you know, much bigger systems that run on lots of computers in the cloud and all of that.
Matt Godbolt: yep
Ben Rady: This is what we're doing with the development environment. I think development environments are going to move from it's running on your computer that's like on your desk or your laptop to like, no, it's a whole system of interconnected services and computers and things for you.
Ben Rady: for you individually so that you can do all of these things with agents.
Matt Godbolt: Yep. Yeah.
Ben Rady: Right. And a key part of this is security. Right. Because, you know, a lot of times in a lot of environments that I've worked in, they've had this sort of like, you know, hard exterior, soft interior security model.
Matt Godbolt: yep
Ben Rady: where you're protecting yourself from from outside attacks, but then inside the network is fairly loosey-goosey, right? And I think when you have a structure of like, you know, very competent engineers internally, and you are reasonable about taking precautions and various things, that model works really well.
Ben Rady: I don't want to set a whole bunch of Claude YOLO agents loose in an environment like that, right?
Ben Rady: So my...
Matt Godbolt: Right.
Matt Godbolt: We've all seen the tweets from people saying, oh, I, you know, Claude just deleted the database, whatever, you know.
Ben Rady: Yeah,
Matt Godbolt: And like the thing is, you and I as humans have made idiotic mistakes in our time, maybe not to that extent.
Ben Rady: Yeah.
Matt Godbolt: And that's only to be expected. And the only thing that you can do to protect that is to make sure those humans know the consequences and are scared of them and don't do them. But you can't scare the agents.
Ben Rady: Right.
Matt Godbolt: So you have to just bubble wrap them. and say you're not allowed to do the things that you think you're allowed to do, even when it would be extremely useful for them to be able to alter the live production data, to do a rollout for you or whatever.
Ben Rady: Right.
Matt Godbolt: You're like, no, that's not how we're doing things here.
Ben Rady: Yep. Yep. And, and, you know, it's so, so, so,
Matt Godbolt: Yeah, so to have fine-grained controls and say, like, you've got read-only to these things, you can do what you like with those, that cut so yeah I'm with you.
Ben Rady: Exactly.
Matt Godbolt: Sorry, I cut you off.
Ben Rady: Yeah. and And cloud providers are really good at fine-grained access controls. It's something that they've been doing for decades, right?
Matt Godbolt: Yeah, yeah, that's fine.
Ben Rady: And so I'm like, all right, my whole development environment now is going to live in AWS, Google Cloud, doesn't really matter. And it's going to be managed in Terraform and it's going to have this like very particular setup to it.
Ben Rady: And that's going to do a number of things for me. when it's going to solve a security problem for me so I don't have to worry about like, I don't have to retrofit my company's internal network to have passwords everywhere. Right.
Ben Rady: You know, and then the second thing it's going to do for me is it's going to at least potentially allow me to start running my own models. Right.
Ben Rady: So I can at least explore the idea of being less dependent on third parties in order to basically do my job. Because right now, when I when that happens, I have to drop into the slow mode and be like, all right, well, going to fire up PyCharm or IntelliJ or Vim or whatever it is.
Ben Rady: And I'm just going to run the test myself and I'm going back to the way that I worked for 25, 30 years.
Matt Godbolt: Yep. Emacs.
Ben Rady: And that is slower. It's definitely a lot slower. And so I think this is just like, again, and I expect this to last like a month.
Matt Godbolt: because things move so quickly. It's funny. I did a panel AI agents and the use of it in C++ at CppCon and they just released a video and it's like, you shouldn't have bothered.
Ben Rady: Yeah.
Matt Godbolt: You know, that was six months ago.
Ben Rady: Yeah.
Matt Godbolt: The landscape's completely different now.
Ben Rady: Yeah, yeah, yeah.
Matt Godbolt: You know, it's, it's, it is, I want, yeah, want so this is really interesting. and I know I asked you about this and that was where your opinion and whatever. and things but Obviously, you're now almost doubling down on the vendor lock-in with the fact that you're now like, well, I'm running on AWS.
Matt Godbolt: Now, obviously, other providers are available, that kind of stuff. But like, there's...
Ben Rady: I can point that Terraform somewhere else and it'll do just fine. You know what I mean?
Ben Rady: I'm not really doing anything special there.
Matt Godbolt: Sure, sure.
Matt Godbolt: Yeah, I mean, I don't think...
Ben Rady: The IAM permissions are a little bespoke, but other than that, it's not that big at all.
Matt Godbolt: I think...
Matt Godbolt: Yeah, and you know, yeah, there's a lot of things that, but yeah, having, you know, holding a thing in your hand and saying, this is my thing and I can do whatever I like with it. You know, in fact, until earlier I had my BBC micro behind me, which is like though the epitome of like literally everything is inside this box.
Matt Godbolt: that is that maybe we have to accept that's going or, you know, like everything's a cycle. It used to be, you know, everyone would go and get timeshare on their timeshare machine. That's the only thing we had, you know, it's kind of a comeback round to that, but, but there's something about the models being so, you know, in principle, I can buy computers, I can rack them in my basement, I can connect them up with a network switch and I can go on and I can be like, yeah, I can, I can continue to do this, you know, that, that what I, what I like to do, but I I can't necessarily get access to,
Matt Godbolt: the technology that lets me run an agent in the same way, right? And that's not just, you know, the GPU stuff. It's like the whole IP of it and whatever.
Matt Godbolt: that just sort of, I suppose, having been so open source for so long, where, you know, in principle, I can compile every piece of code that I use from source. Not that I ever do, but I could, on a machine that is mostly open to me and is well understood.
Ben Rady: Yeah.
Matt Godbolt: That's one thing to have it sort of like taken away, we'd be like, oh yeah, you know my company uses SQL Server from Microsoft. You're like, wait, I oh, but it doesn't work.
Ben Rady: Right, right.
Matt Godbolt: like, tough.
Ben Rady: Right, right.
Matt Godbolt: Sorry about that. It doesn't sit well, but I can't deny the and this is what I wanted to go back to you know as we kind of probably should finish up soon. But like the the joy, the fun aspect and making fun. I am having fun. That's probably why I'm so invested in trying to find a way to make it work well for me so that I can enjoy the things that I'm doing. And you know and that's why I think about this whole difference between outcomes when you just, I want the cool thing, make the cool thing.
Ben Rady: Uh-huh.
Matt Godbolt: And I don't actually care how the cool thing was made. And having the cool thing is more interesting to me than than the making process. But then, you know, accepting that some of me enjoys the making process, but I knowing that I can choose, certainly my personal life, I can choose to make the cool things.
Matt Godbolt: And the hope is that the The thing maker, the automatic thing maker can do the things that the only, sorry, that the that I can't do or I don't want to do rather.
Matt Godbolt: And then I'm just left with the things that I can do and I am good at and are my USP. And that's what I hope. We're not there. necessarily yet and now I can't remember where I was going with this big long meander but yeah the joy oh yeah it's burnout I want to just talk about that because I get so you know it's I'm reminded of the times when I first got into programming and I was burning the midnight oil doing all sorts of things and I would go to sleep and I wake up early in the morning and my mind was still buzzing with like oh I could do this thing oh I wonder if we could do that whatever and I'm finding that about programming again
Ben Rady: Mm-hmm.
Matt Godbolt: But it's perhaps got a slightly darker tone to it because all the time I'm not able to feed the agents that are doing useful work for me, I feel like it's wasted time.
Ben Rady: Yeah.
Matt Godbolt: And so I, you know, and somebody was saying to me, someone I worked with was saying like, oh, I woke up in the night the other night and I got up and I was like, well, I might as well just check on what it's doing and kind of logged in to just hit enter a few times on some Claude sessions.
Ben Rady: Yeah,
Matt Godbolt: And there's a certain, like, there's a dark pattern around that. You know, there's a meme went around about the fruit machine where, I'm sorry, fruit machine being a slot machine and to translate for you, where, you know, you pull the crank, which is like hitting the yes, do this, and maybe you get the right answer this time.
Ben Rady: yeah. yeah
Matt Godbolt: And there is a bit of that and that doesn't, you know I'm I'm I don't know how I feel about that either. it feels you know So I feel like overwhelmed, overworked, burnt because I'm context switching all the time, but also excited. And I'm trying to pick through that.
Matt Godbolt: And I wondered if, yeah, having me just talked at you like for 10 minutes, what do you if you could somehow.
Ben Rady: I mean, that's, I that yes.
Matt Godbolt: All right.
Ben Rady: I think you're not the you're not the only person that is feeling that right now.
Matt Godbolt: And.
Ben Rady: we're One of the things that we're going to have to figure out, you know, I have used the phrase, I think, on this podcast before, a sustainable pace. What does sustainable pace look like when basically you're building software at the speed of thought?
Ben Rady: Right? Like there's literally no barrier. I mean, you know, maybe this is a few years ahead of us, but it's like, there's literally no barrier between you coming up with an idea and implementing it.
Matt Godbolt: Right
Matt Godbolt: yeah
Ben Rady: One of the, you know, we had a mutual friend that pointed out that he thought that this sort of agentic programming would separate out programmers that love to code and programmers that love to make things, right?
Ben Rady: I think that's a little bit more of a two dimensions in a plane for me. And one thing that I have, because I think I like I enjoy both aspects of it, right?
Matt Godbolt: There. Mm-hmm.
Ben Rady: Like there's a puzzle solving aspect to writing code that I enjoy. That's why I play games like Factorio. But I also love building things for the sake of building things. And if I could build them at the speed that I can think of them, that would be great. One of the things that I've noticed is that I think actually this has diminished the number of personal projects that I take on because In the past, I would choose projects because I would be getting something from both of those dimensions.
Ben Rady: Like, oh, this would be a useful thing and it would be a fun puzzle to solve.
Matt Godbolt: Uh-huh, right.
Ben Rady: And now the puzzle aspect is completely gone.
Matt Godbolt: And or I would learn something and all this, yeah.
Ben Rady: right There's no puzzle enjoyment from it at all.
Matt Godbolt: Right.
Ben Rady: And so there's a certain category of them that just don't meet the bar anymore. right like
Matt Godbolt: Interesting to put, yeah.
Ben Rady: But I'm also taking on personal projects that I never would have dreamed of doing before because it would have been too time consuming. Right. I think the net number of them is actually lower, but the quality is like,
Ben Rady: not better, but more use because it's a personal project. What does better even mean?
Matt Godbolt: Yeah, right. Yeah, you definitely.
Ben Rady: It's more like more useful, right?
Matt Godbolt: Right.
Ben Rady: Like there's more of a chance that I'm going to actually use it and it will not just be a thing that I built three years ago and then shoved in a folder somewhere and then forgot about.
Matt Godbolt: Right.
Ben Rady: it
Ben Rady: Right.
Matt Godbolt: It is.
Matt Godbolt: Yeah, it's definitely changing. You reminded me of a tweet I saw by Ellie Huxtable, who is the person writes Atuin, the shell history thing.
Ben Rady: Oh yeah.
Matt Godbolt: I don't know if you know it.
Ben Rady: Yeah.
Matt Godbolt: Yeah. I can't live without it now.
Ben Rady: Yeah.
Matt Godbolt: That's another sort of crutch I have to live on as I, my memory did disappears and I have to use my infinite shell searchable shell history as my, like the most important intellectual property I create.
Ben Rady: so
Matt Godbolt: , Yeah, she was retweeting somebody who was like some high school student who was like trying to build a web browser using agents to help them do it.
Matt Godbolt: And it's like, and I think her point was something along the lines of like, if you aren't doing this kind of thing, are you even exploring the space anymore? Now now that the barriers have come down so much, well, you know, like this is an amazing kind of thing you can do.
Matt Godbolt: Now, whether you're successful or not, this is the new thing that you can, yeah this is a new achievable goal, right? Or at least, you know, you can learn a whole bunch of stuff about why it's not trivial to do this kind of thing.
Ben Rady: Right. Right.
Matt Godbolt: You know, I was fascinated by that.
Ben Rady: right
Matt Godbolt: And I thought, wow, you know, what what it would be like to be a teen in this and this environment. But I would like to put a massive thumbprint thing which I now I've made a horrible noise that microphone is, I'm not going to like this in the edit.
Matt Godbolt: I come from this as somebody who can afford to pay for the access to these systems at the level, which means effectively, I don't have to think about it so much.
Matt Godbolt: I don't hit the limits very much. Right. And that is different from somebody who is,
Ben Rady: Yeah.
Matt Godbolt: you know, you know, and unable to afford even, I say, the most minimal access to cloud. And that is not a good feel, actually, compared to like, you know, if you could get a computer in the old days, even some time on your friend's computer, you could learn to program.
Matt Godbolt: And now it's like, no, you need a $20 a month subscription at the absolute minimum to even start the whole process.
Ben Rady: yeah
Matt Godbolt: You know, that doesn't sit that well.
Ben Rady: And honestly, yeah, those $20 a month subscriptions are clearly being subsidized and are not sustainable and are, yeah. I mean, if you look at, especially what's been happening with some of the rate limiting lately, like it's getting, yeah.
Matt Godbolt: So I understand, yeah. it
Ben Rady: Like, and so like, yes, it's introducing this whole other like barrier to entry for programming, which is not great.
Matt Godbolt: Yeah, it's, yeah. Not great, but, you know, also... if you know if you're, I guess, a craftsman, you can buy a set of tools and you know whittle away at a piece of wood and make something beautiful, and that's wonderful, and it's a new thing.
Matt Godbolt: But like you know I can't operate a mill because I can't afford it.
Ben Rady: Yeah.
Matt Godbolt: It's like, well, fine. you know Maybe that's okay anymore, but it's just that it's always been something that is so emotionally important to us and our backstory. The reason that we you and are even talking to each other now on this podcast is because we were whittling away, right?
Ben Rady: It's true. and you know, yeah, yeah, yeah.
Matt Godbolt: And now, don't know if
Ben Rady: It's possible that history will tell of a brief period of time where unlike pretty much every other professional engineering industry, civil engineering, mechanical engineering, maybe not mechanical, engineering You could essentially for the cost of a laptop, have everything that you needed to apply your profession.
Matt Godbolt: Yeah.
Ben Rady: And that was incredible. What an amazing thing to have occurred.
Matt Godbolt: Yeah.
Ben Rady: That's not how normally things occur, right?
Matt Godbolt: No, that's true.
Ben Rady: You know, you can't be a chemical engineer at home unless you're just brewing beer. And even then it's sort of like, you know, how are you going to scale that?
Matt Godbolt: You know, I mean, that's true.
Ben Rady: and You're not going to, you're not going to get a job at, you know, Oh God, what is the name of that chemical company? It's like, we don't make the thing. We make the thing that goes, whatever.
Ben Rady: Some big chemical company whose name I can't remember right now because you know how to brew your own beer.
Matt Godbolt: isn't Isn't your wife a chemical engineer?
Ben Rady: Well, that's why I brought that one up.
Matt Godbolt: Should we know this stuff?
Ben Rady: I mean, you know, she worked in the petroleum industry for a little while and you definitely can't do that at home, nor should you, nor should anyone ever for any reason.
Matt Godbolt: Oh. No, that's true. Nor should you. No.
Matt Godbolt: True. Oh, boy. Well, somehow we're a like very long time into this podcast, and we should probably stop talking about it, but this is...
Ben Rady: Yeah, well, this yeah this is a topic that could go on forever. Yeah.
Matt Godbolt: I know, but it's really interesting to check in. and I mean, I think unlike most of our podcasts, this one will probably go out somewhat contemporarily. So maybe this will be up to date when by the time people hear it still. you know like we We won't be so ridiculously out of date, rather.
Matt Godbolt: So I mean I'd be interested.
Ben Rady: yeah
Matt Godbolt: you know it is it's It's a tough and interesting and very deep topic and has a lot of dimensions that we're not used to dealing with as programmers. you know like which Which sort algorithm is better? is like where my you know What should be pulled out how the branch predict as well these are things that I'm kind of more comfortable with but when it's like you know hey this may change the whole nature of what we do as a profession and it may exclude people it may cause environmental damage but it's also very exciting I don't know how to navigate it other than like I'm so kind of riding the wave yeah
Ben Rady: Yep. Yep. It's, it's a it is a crazy world. We're in a crazy world.
Ben Rady: and Everything's new.
Matt Godbolt: Well, friend, let's let's leave it there for this time and we'll let our listeners let us know if they want us to continue ranting and rambling about this or whether we should go back to something a little bit more traditionally twos complementy.
Matt Godbolt: But well, either way, this has been fab. Thank you for bringing me up to date with what you're doing.
Ben Rady: Right, right.
Matt Godbolt: And we'll have to try and find a time to grab a coffee in person sometime and talk more.
Ben Rady: Yeah, next time at the bar, that'll be the plan.
Matt Godbolt: That works. That works for me.
Ben Rady: Yeah, yeah.
Matt Godbolt: All right, friend, until next time.
Ben Rady: Until next time.