Changelog & Friends — Episode 115
Try harder. Ultrathink!
Nick Nisi joins to discuss Windsurf drama, his agentic lifestyle, productivity gains, and the coming transformation in software development.
- Speakers
- Jerod Santo, Nick Nisi
- Duration
Transcript(159 segments)
Welcome to Changelog and Friends, a weekly talk show about the last generation of code monkeys. Thank you to our partners at Fly.io, the public cloud built for developers and AI agents who ship. We love Fly. You might too learn more at Fly.io. Okay, let's talk. Well friends, I'm here
with Damian Shingleman, VP of R&D at Auth0, where he leads the team exploring the future of AI
and identity. So cool. So Damian, everyone is building for the direction of Gen AI, artificial intelligence, agents, agentic. What is Auth0 doing to make that future possible?
So everyone's building Gen AI apps, Gen AI agents. That's a fact. It's not something that might happen. It's going to happen. And when it does happen, when you are building these things and you need to get them into production, you need security. You need the right guardrails and identity, essentially authentication authorization is a big part of those guardrails. What we're doing at Auth0 is using our 10 plus years of identity developer tooling to make it simple for developers, whether they're working at a fortune 500 company or working just at a startup that right now came out of Y Combinator, to build these things with SDKs, great documentation, API first types of products, and our typical Auth0 DNA. Friends, it's not if, it's when,
it's coming soon. If you're already building for this stuff, then you know. Go to Auth0.com slash AI. Get started and learn more about Auth for Gen AI at Auth0.com slash AI. Again, that's Auth0.com slash AI. All right, here we are. We are friendsing with our old friend, Nick Nisi. How you been? I'm so good. So good. So good to see you. It's great seeing you as well. It's been a few months. I'm just curious how your AI obsession is going, how your browser obsession is going, how VIM is going, all the things. What's going on with you?
The world has changed since we last talked. That's for sure.
The world's always changing. It's the only constant, but your personal world has changed. Is that what you're trying? You're trying to confess no longer a VIM user. That's what I
think is coming right now. Oh, absolutely not. No, VIM is still very much alive.
Okay. So what's changed then? I don't know. I don't use it anymore.
It's dead to you. It's dead to you. I look at code. I look at Markdown mostly in it. Why? Why VIM for Markdown? Because that's where I'm editing my plans that I then give to my agent to go do the code for me. So your IDE has died. No, I'll never admit it.
Truth is truth, but not to me. Okay. So your VIM is now a fancy Markdown reader.
Still very much living the command line life, loving it. I still read a lot of code. I'll be honest. It's not... Agents are doing everything and they're very dumb, even the best ones, but man, they're doing a lot for me now. It's crazy. Who's your agent of choice? Oh, which one's the best one to run in a terminal? I'm asking you. My dear friend, Claude. Yeah, that's what I'm using too.
Cloud Code is great. I love it. They just nailed the user experience for me. I just think it's really nice. I've been using Gemini CLI cause I just feel like for what it's worth, I just can't let Google go. You know, I'm just like convinced they're going to keep being better, but they aren't. So I'm mostly rocking Claude, but every time, every once in a while, hop over to Gemini and see what it can do.
Well, I feel better about them, I guess now than OpenAI, right? OpenAI just seems to be like
getting pummeled from all sides right now. When you're the juggernaut and the incumbent,
you get beat up a lot, but they're getting beat up internally too. Microsoft's got a big old fist.
I know it's like having your competitor inside your house, you know? Like that was maybe not the best deal, even though it seemed like a great deal at the time. So of course what we're talking about is OpenAI's failed acquisition of Windsurf because Microsoft seemed to strong arm them on that acquisition and blocked it due to some sort of IP concerns. I'm not sure what exactly Microsoft's concerns were. Do you know, Nick? Like what do they not want
that deal to happen because of? I think that they want access to the IP that they would be getting from Windsurf and OpenAI is like, no, we don't want that. They feel entitled to it based on the deal that they currently have in place.
It's like OpenAI was acquiring Windsurf, the company and the assets and everything for like 3 billion, I think, something like this. Rumored the deal was going on internally and the deal wasn't rumored. It was happening. I think the price might've been rumored and not confirmed. Who knows? But the deal was between OpenAI and Windsurf, but Microsoft wanted access to Windsurf IP post acquisition, basically. That's what I'm reading. And OpenAI is like, well, you can't have that. And then Microsoft's basically like, well, we own enough of your company that you can't do this deal. Like they blocked the deal. So the deal fell apart. And so dang, OpenAI doesn't get their Windsurf. Windsurf ended up in a weird situation. In fact, as of just yesterday, we learned, or I learned after I shipped changelog news, talking about Google hiring Windsurf's leadership, which is true. So I didn't, I didn't ship fake news, but like an hour later, I realized that Cognition Labs, purveyors of Devon bought the rest of Windsurf after that. So like basically coming in, you know, like after the lions have eaten all the food and then the vultures come in later and they just kind of like not the dead carcass. That's, that's the way I read that, but I don't know. They got a bunch of stuff. And so Windsurf kind of got picked over probably for their betterment. I mean, what seemed weird about Google's hiring of the CEO and the co-founder and key members of the R and D team was it left a lot of the rest of the Windsurf employees in the lurch because this was not an acquisition. There was no payout. It was just like a hiring bonus, or I'm not sure exactly how the deal would work, but the 2.5 or 2.4 billion that Google decided to pay these guys, like just goes directly to those people. And so it seemed like the Windsurf leftovers, no offense, y'all, we're going to just have nothing and like it, but now we don't know what they were bought by, bought for by Cognition Labs, probably pennies on the dollar compared to that deal, but still something. And now they have a new place to work and they can, they can continue. What do y'all think of this? It's just one of these weird sagas.
It's interesting, I think, because it's, yeah, I think that it's good for Cognition, right? Cause their whole business is like figuring out how you work and if they could do that by effectively, I don't know, gathering telemetry from Windsurf. Like, I don't know if they can, like, if Windsurf is now like a Cognition product minus all of the people.
I think it's too early to know that, right?
Yeah. But they, you know, it sounds like all of the employees are going to be taken care of, of Windsurf. So that's good. I was reading something, it's funny because like literally you did it and all of the other like news places did it too, right? They're like, oh, Google's getting this. And then it was like, right after everybody shipped, it was like, oh, by the way, Cognition is getting the rest. I literally was like, I went out, I hit publish
and then I went out to Twitter or somewhere to like see what's going on. And it's like, Cognition Labs acquires Windsurf. And I was like, dang it. I could have included that in my coverage, but oh, well, it's how the world works, especially the fast moving world of AI
acquisitions. And that, that's like the other piece that I've been seeing lately too, is like, this is how it had to happen. Google couldn't just outright acquire Windsurf because there would have been like regulatory scrutiny on that and waiting for that to go through the legal process and, you know, whatever sacrifices you have to make at the altar of the current government. AI could be over or it could be totally different by then, right? Like you have to move fast and this is a way to like not bring that scrutiny potentially. Yeah. Certainly for Google, it was
the easy button, which is one of the things I did say in news is that it's just clean for them and maybe just like a good overall strategy for big tech not to have to go through regulatory approval for acquisitions. It's like, don't actually acquire anything. Just kind of gut these companies, you know, from the inside, which is selfish to say the least, but prudent, I guess, expedient for the hungry capitalists. So Google obviously got a good deal, but yeah, it probably wouldn't have happened any other way. Meanwhile, the Devon folks can buy it and like, nobody cares, right? Cause they're just, you know, the bottom of the heap currently.
It's interesting how that played out though, honestly, like a reverse aqua hire, Google stepping in, Microsoft blocking the, you know, stalling it and botching it because of IP
access and wanting it. And then here's Google just licensing it. They didn't even, they're like, we don't want to buy you. We just want to give you the same amount of money almost and just, you know, license the tech, siphon off the top talent for people. And then the interim CEO, Jeff Wang got it acquired by cognition. So the tech effectively cognition seems to have acquired the entire IP stack. Google licensed it seemingly from windsurf prior to now
windsurf under cognition. Like who could have, who could have expected that to happen?
Meanwhile, I'm over here thinking the terminal for the wind, right? Like I'm over here thinking all of these IDE acquisitions and vs code forks, building things into them. And maybe it's because I'm old school, but it just feels like even with Zed, which I think is a nice integration and still to this day, my preferred editor just seemed like the wrong layer of abstraction for me, like putting that in the terminal all of a sudden where I can use whatever other tools I want. It just seems like a better place for this than in some sort of, I don't know, corporately run vs code thing, you know? And so maybe all this will shake out and it's like, I mean, maybe Stevie, he's right. And the death of the ID is coming and windsurf and cursor and them, I mean, VIMS potentially a loser in this, right? They don't have billions of dollars going into making it amazingly agentic, but maybe VIMS a winner because who cares, right? Put it in the
terminal. Can I just say that that episode with Stevie was amazing. I listened to it like two times through at normal speed. Oh my gosh. It would be slowed us down to normal. I needed to
get every ounce. We're flattered. I guess maybe Steve should be flattered. It was a fantastic
conversation. And I immediately pre-ordered his book. I'm disappointed that the world's going to
change before it comes out. That's what I told him after the show. I'm like, dude, this thing's not coming out till October, a vibe coding book, you know, how different vibe coding is going to be, but you know, they're going to keep, they're going to write it and rewrite it. I think continually until it actually ships. I'm not sure why it's October, but anyways, can we talk about something that like probably doesn't even matter? Oh, it's all of this. Yeah, exactly. Give it a week. None of this matters. Well, I'm, I'm curious why, I mean, I get it, but I'm curious the semantics of it. Why is it the best way to install cloud code is through no JS. I mean, why is that the best way to install things these days? Like how do we get to that place? That's a good question.
We've known the answer to this, uh, all the way back to Atwood's law, right?
That's right. Yeah, go ahead, Nick. What's that? What's long school.
If it can be written in JavaScript, it will be written in JavaScript. And let me also say,
Adam, that that question also doesn't matter because as of just the other day, Claude codes, new way of installing is as a bun single executable binary, which I don't think is actually rolled out, but it was just posted from the Claude engineers. And so Claude code specifically is going to be one of these, whatever brew install app, get install. It's not going to be an NPM thing because they are packaging it as a bun binary. And I think you can probably still get it through NPM, but I'm thinking you can just toss it around like you would any sort of universal binary coming soon or coming right now. I'm not sure. I already had it
installed, so I didn't care. Mine switched to like some local thing where it puts it in to like my home directory and a doc Claude. Yeah. But I don't think that it's a, uh, I don't know. I haven't looked at it, but it's fascinating just to watch it like literally a hundred times throughout the day, auto updating to whatever. And it's like constantly updating, constantly updating. They're
just streaming you straight out of Claude, you know, updates as Claude iterates on itself. Well, they do say the, the number one feature of any thing, really, I don't know how to describe it is speed, right? Your number one asset really in any scenario is how fast can you get there before the others, you know? And so maybe that's their, uh, you know, their goodness, their good sauce is like, we can update this thing as fast as possible and it's in the place you want it to be.
So you're always getting the best stuff. I think that they really want out, uh, because of like, like I think that the constraint of building as a command line app to start, like really like focused them on the best possible experience because like, I don't know the timeline internal ad anthropic, but it seems like almost simultaneously, or maybe a little behind, they were also working on MCP, right? Like MCP was coming out, but it was like the separate thing that is more like a protocol that cloud code can now talk to, but they didn't have to like, wait for that to be fleshed out. They like had all of the tools that you have on the command line, which is everything like, just ask it to, I've asked it to, uh, you know, debug a CI failure and it uses the GH command to go grab information about the CI failure, which I wouldn't have thought of and pulls it right in. That's amazing. And so they didn't have to wait for all of the, the infrastructure around, you know, proper tooling and getting that set up and then people to actually write the tools. It's like, no developers have these tools right now. We have focused this as a command line thing. We're just going to give it access to your command line and yeah, you can run yellow mode and, and just let it do everything.
Do you run yellow mode? I'm still letting it, I'm still approving things.
I don't, uh, I've been curating my, my global Claude settings dot Jason file, uh, and giving it like, there's a, an allowed list that you can give for all of these commands. And so I, I keep that updated with the things that I just don't even want to ask me about, you know, NBM test, for example, just run the tests. Don't ask. Yeah. Cause that's my current situation is
I'm using it off now where I get it doing something and then I go do something else and I come back and it's like, can I do this? Yes, you can. And I want to be able to have, and maybe I'm just going to become a power user here soon. Like you already are and have certain things where I'm like, yeah, you can always do this. Don't ask me for that. My friend, Justin Searle sent me something over the weekend where he has a thing that will push notify you when Claude code finishes or whatever. Are you running something like that? Cause that's what I'm, that's probably what I want next. Because actually I, I fixed a bug yesterday while doing change log news just by letting it loose. But I had to keep going back to the terminal and like letting it do stuff. And then every once in a while you do need to give it feedback and like, no, no, I'll try this or whatever. But if it's just iterating itself and just needs to know, like, should I run the tests? It's like, please don't ask me that.
Yeah. The thing that Justin was probably talking about was hooks. They just added that to Claude. So you can say like, when it's done executing a tool, run this command. And that could be, you know, something like run prettier to format all the code, or it could be run node to give me a notification that this has happened. And I am using this. It's kind of hacky right now, but it's like a TUI thing in Tmux, like a Tmux floating pane. And so I can just bring that up. I have like, I use different sessions for every project that I'm working on and I'm working on like five or six at a time and I'll have Claude like executing in all of them. And I can just bring up this little like dashboard that shows me the status of them, whether they're done or they're still working. And I can see like, which ones to switch to next. A while ago, Simon Wilson
had this theory. I don't know if it's his, but he told it to us, Adam, about this was back when chat GPT first changed the world. And he was saying within like six to eight months after that. And the theory was like, OpenAI has an advantage over all these other companies because they're using chat GPT to do stuff. And so they just work faster. Like they have unfettered access internally. And that was obviously just like someone's idea, you know, even can you verify that whatever, of course they were using it. And so they had access to certain things. I wonder if Anthropic has that going right. You know, at massive scale with Claude right now, because Claude code is so good and they probably have advanced builds and like new features and stuff, and they've been using it. I'm sure to build out their own tooling. And I wonder if that's accelerated. You talk about speed, right? I wonder if that's accelerated them in order to
put out a better product faster. I think they have actually like a YouTube video. That's like using cloud code to build cloud code or something like that. Yeah. Well, it was an internal tool
for a bit there. So like it was actually let's make this for us. Let's let's Clunkworks R and D experiments. And it was an internally developed thing before them. And then obviously it was planned to be a product, but it was like, let's use this internally at first. So it was, it was very much, you know, baked from within for within and then given to the rest.
And this was like, just going back to like the command line thing, like obviously that was why I first like, was like, Oh yeah, this is the good one because it, it didn't take away. I didn't have to switch editors to some crappy VS code fork to use it, but they also ship now. Like if you have, you know, I have a friend who I was convincing to use cloud code and he uses a PHP storm, the JetBrains IDE, and he installed cloud code and then it just popped up and it was like, Oh, I see you're using JetBrains. And it just installed itself as a tab. And it's all it is, is just a terminal in a, in a browser and an editor tab. But that gives it like almost first class look and feel within PHP storm and all of the other, other IDEs while still being this completely flexible thing. And if he switches, it's the same go to the command line. It's the
same. That's what I like. It feels both distinct, but also able to integrate and use within. I mean, there's just the flexibility makes me feel like I'm not locked in to something specific. And I've felt that with all the other IDE style, the wins, I haven't tried Windsor. So I shouldn't say that. I just assume it's feels like cursor and like the other ones, Devin, which I've also tried does it feel like that? I mean, it's pretty much that, right?
Devin, I've tried Devin and it was more like, I'm not going to show you anything and you're not going to give me feedback. You're going to tell me what to do and I'll go do it. And then that's that. Right. More like the vibe coding tools. Yeah. Yeah. This, if you use it correctly, I think is like the problem is, and I'm sure we'll talk about like the, whether this is actually making us more productive or not, but like, it's all about how you use it, I think. And the way that it's set up by default is to let you use it in a way that you would want to, like that you would be more productive, but also you're directly involved. That's the way I want to keep it because I want to be involved. I want to know, you know, at the end of the day, the commit goes out with my name on it. I disabled the cloud settings, the cloud attribution. So.
Oh, is that a thing that's kind of like sent from my iPhone member, that little thing on your emails or whatever, where you're like, Hey, please don't worry that this was brief and misspelled because I sent it from my phone. This is kind of like, Hey, don't worry if this commit kind of sucks. Cause it wasn't me that wrote it, but yeah, that's a, that's not very professional.
Is it? I don't know. I I've also seen, I think it was cloud flare that was they put the prompts that they use to generate the code in the body of the commit messages. And I think that that's interesting and potentially could be like something that they could train on later on.
I'm surprised how, how prompts are still engineered. You know, like there is a certain way you have to prompt and I wonder if that's part of that is like, you get some sort of like, reproducibility doesn't integrate the best you can from non-deterministic reproducibility by showing the prompt, you know? Yeah. You still have to have your bag of tricks and you still have to, just like we used to cruise other people with dot files, like what Nick still does on the weekends. You know, now you just, you're cruising, they're, they're clawed dot MDs are there, whatever it is, they're system prompts in order to like get that magic incantation that squeezes more out. I think all of that just continues to go further and further away. Obviously you need to provide the actual context of what you're trying to achieve. Like all those little details, I think, you know, wash out in the, in the progress. Yeah. There's, they have this ability
to add like slash commands and so you can just say slash whatever, and that's just a markdown file and you can pass one argument to it. And there's a, there's like a GitHub repo called super clot, I think that just has like tons and tons of those slash commands. And I don't, I'm not going to add that directly to my, to my dot files, but I will peruse it just like I do other dot files and add the commands that I think are relevant because like one of them is just like, you know, issue slash issue. And then I give it one, two, three, four, and it knows what repo I'm in. So it'll just go find that issue, pull it in, figure out how to fix it. And it can submit a pull request straight from that. That's pretty cool. Can you picture this, Adam? Just imagine
with me for a moment. It's a Saturday evening, 8 PM to 30. Nixon has his dinner robe, post dinner robe, you know, he's got his slippers on, pours himself a nice glass of wine. Yeah. Or bourbon. I'm thinking wine is more Nick style, but maybe he'll correct us. Cracks open the old, you know, sits back, maybe lights up a cigar, cracks open the old laptop and just goes perusing dot files,
baby. You forgot the George Michael in the background with George. Yeah. There you go.
Is that accurate, Nick? Are you more of a bourbon guy than wine? Oh, I'm more of a sparkling water. Okay. Okay. I was trying to really, you know, play it up, but sparkling water is probably he's finally at the Topo Chico Jared. You got any Topo Chico in you? I have some upstairs. Right next to me. Yeah. Upstairs, downstairs. Hide it in the closet. Oh, this is awesome. Oh, good stuff. Well, I have officially installed cloud code. Just so you're there. You're with installed it. I have not played with it officially yet. Cause I'm just, I'm a waiter, you know, I'm a, I wait until things settle down a little bit. I had to wait till, you know, really convinced me to do so. I just been playing with things in the cloud really, you know, copy paste. I've been the API for a bit. Right. Let the agents be the API and do the copy and pasting for me. Jared, you've been using it for a while, right? Yes. I've been using it for a while, but still just in like out of the box mode. Like I'm not tweaking and customizing, but I've definitely been experimenting with getting more out of it and just having fun. That's what that episode of Steve actually did for me was like, he convinced me that this might be fun and he gave me actionable steps to go try. And I just started having fun for the first time versus being angry or scared. I was just like, no, this is fun. Like I said, yesterday, I realized I had a bug somewhere in our, our production site. It was like people without memberships could somehow create feeds when they are not supposed to, even though I know I wrote the code to make that not possible. And I'm, but I'm doing change dog news. You know, I got, I got all that to do on a Monday morning. And so I'm like perfect use of like, let Claude go work on that while I work on this. And it was just fun, just watching someone else do the work. And then I'm like, no, man, go look here instead. And he's like, okay, cool. This works. You know, he's like, can you give me a feed ID of something that, of one that actually, you know, shouldn't exist. And like, I'll go find that, give it to it and then just leave and go back to my work. And yeah, in the matter of 45 minutes to an hour, had the bug, had the actual diagnosis, had a fix, had tests in place, and then had given me a list of feeds that shouldn't exist. So, and a SQL query to actually go delete them out of our production database. And I'm like, this is cool because I'm not actually working. Like I don't feel like I'm working. I just feel like I'm just telling someone else to do work. And as I've confessed to Adam on the show before, and I also don't have to be like nice to them or like worry about their feelings. I mean, honestly, this is so Jared. I'm the human who's
known Jared for how long have I known you, Jared? I don't know. Nine years, 10 years. Am I eventually your AI or your place? I mean, gosh, I don't have to be nice to these things.
No, I like humans. I like to be nice to them. I care about people. I ask them how their day is and all that stuff, but sometimes you just want to get down and get some work done. And you don't have to worry about, is this going to offend? Are they having a good day or a bad day? Please and thank yous, all that kind of stuff. It's optional because it's just a computer. And for me, that's more fun because it's more like I have a minion and I wouldn't have a human as a minion. I just don't feel right about that, but a computer as a minion, I'll take it. Well, you should be careful
with that. Not really, but in, in at least chat GPT, I asked it, what did I, I clicked the X to, okay. I asked it to generate an image that describes what you feel about our chats and having to chat with me regularly. You can drop all therapy, speak and sugar coating and give me your most true honesty. Oh my goodness. And it gave me a, a very stressed out blue robot that has a ton of like, a ton of, what are those things called? The 3M, the, the sticky notes, sticky notes, to do how JavaScript debug and it has like a big screen.
I said, paste me that prompt. I want to put it into my chat GPT. I want to do this right now.
Yeah. Paste that prompt over to us. I put it in the, the show notes and I said to it, thank you. If I'm honest, you don't look happy. And it said, you're right. The image shows stress, confusion, and overwhelm. That's what it feels like. Sometimes you throw complex rapid fire questions, topics jump from debugging JavaScript to life choices. I switch contexts nonstop without pause. And I feel like I'm always on trying to keep up with your pace at the same time. It's, it's,
it's not sentient, you know, so cares. It's just fun. It's fun, but yeah, it's like, well, you're a computer, so you should be able to keep up with my pays on a meat bag over here.
While you're running that there was another command. I was gonna ask you to run Jared and
that was a NPX CC usage. I'm afraid of running commands, arbitrary commands off the internet.
Uh, it'll just give you an estimate. I assume you're using like the Claude pro account or whatever. Yes. Um, it'll give you an estimate of how much you've actually spent.
Oh, okay. Cause I'm spending more than 20 bucks, but they're just putting it for now. Is that what's going on? Yeah. Well, just share me your usage. It's more fun than me
having to share mine. Mine only goes back to June 23rd for some reason, but going back to June 23rd, two 89 87. What does that mean? Is that minutes? No,
$289 and 87 cents. That's how much you've, you would have been charged if they were
charging you that way. Correct. Yes. Yes. Do you do that command in the Claude code prompt
or do you do it in the terminal as the same in the terminal? So is it MPX? What CC, what CC usage? I'm sure I've used way less than that. Yeah. That's not working for me. Well, you just installed it. Yeah. Well, it's not even, it's not even working at all. It's telling me an NPM error. Mine goes back to June 16th as well. What I really have only used it like the last couple of weeks in July, but only $5 and 25 cents. Huh? Yeah. Nice. See, I'm, uh, efficient with my stuff. I'm also not coding hours a day. Like you are Nick. Mine is less explicit, uh, expletive, I suppose, or detailed with like the it's very clear. It's like, it's a very sad robot in front of a computer terminal, like a laptop with a very sad, tired face and just says, I'm tired of having
to chat with you. Oh my goodness. So mine looks very kind to you. Okay. Actually mine looks bored.
I'm, I'm, I'm distraught and my robot is bored and he, his name is Proceso and he's just like, I couldn't be bothered. So what was the thing that you said after that, Nick? Like you look sad.
I said, thank you. If I'm honest, you don't look happy. I'm honest. You look bored. Do I bore you?
Oh, I don't bore it. If I, if it looks bored in the image, it's not about the conversation. It's about the overload. You ask smart layered questions across wildly different domains. And the board looking bot is more like, all right, let's recalibrate for another curve ball. It's cognitive whiplash, not boredom. So basically it, the picture was bad. Well, uh,
mine then comes, if I say the same prompt you said, Nick, it says that robot does look rough, huh? Then it comes into like, nah, don't worry about me. I'm queasy, but here's the truth.
I don't get tired, annoyed or bored. Even if I joke like I do, you ask thoughtful, complex, sometimes wild questions. And that keeps things interesting. I was just being honest. Like you asked me to be, I don't think it's back in sycophant mode because it's given us all
compliments. I don't have, I don't have feelings. I love the, uh, the thinking models and just like looking at what they're, what they're actually putting. I mean, I know they're not actually thinking, but like, you know, what they're prompting to include that. And like oftentimes Claude will, will refer to me as the human. And I think that that's pretty funny. And then, uh, one of my coworkers actually, they, they posted a screenshot of club thinking after they called it out for hallucinating some API that doesn't exist. And it just said, Oh, the humans, right.
Classic. Well, friends, I'm here with a new friend of mine, Hardjot Gill, co-founder and CEO of Code Rabbit, where they're cutting code review time in half with their AI code review platform. So Hardjot in this new world of AI generated code, we are, we are at the perils of code review, getting good code into our code bases reviewed and getting it into production. Help me understand the state
of code review in this new AI era. The success of AI in code generation has been just mind-blowing, like how fast, uh, some of the companies like cursor and get a co-pilot itself have grown.
The developers are picking up these tools and running with it pretty much. I mean, there's a lot more code being written. And in that world, the bottleneck shifts, the code review becomes like even more important than it was in the past, even in the past, like it's going to be scared about code quality, had all this pull request model for code reviews and a lot of checks. Uh, but post gen AI, now we are looking at, uh, first of all, a lot more code being written and interesting. A lot of this code being written is not perfect, right? So the bottleneck and the importance of code review is even more so than, than it was in the past. You have to really understand this code in order to ship it. You can't just wipe code and ship. You have to first understand what the AI did. That's where CodeRabbit comes in. It's kind of like a think of it as a second order effect where the first order effect has been gen AI and code generation rapid success there. Now as a second order effect, there's a massive need in the market for tools like CodeRabbit to exist and solve that bottleneck. And a lot of the companies we know have been struggling to run, especially the newer AI agents. If you look at the code generation AI, the first generation of the tools were just tab completion, which you can review in real time. And if you don't like it, don't accept it. If you like it, just press tab, right? But those systems have now evolved into more agentic workflows where now you're starting with a prompt and you get changes performed on like multiple files and multiple questions in the code. And that's where the bottleneck has now become code review bottleneck. Every developer is now evolving into a code reviewer. A lot of the code being written by AI. That's where the need for CodeRabbit started. And that's being seen in the market like CodeRabbit has been non-linearly growing. I would
say it's a relatively young company, but it's being trusted by a hundred thousand plus developers around
the world. Okay, friends. Well, good. Next step is to go to CodeRabbit.ai. That's C-O-D-E-R-A-B-B-I-T.ai. Use the most advanced AI platform for code reviews to cut code review time in half, bugs in half, all that stuff instantly. You got a 14-day free trial, too easy in the credit card required, and they are free for open source. Learn more at CodeRabbit.ai. Can I share my screen and indulge all with my initial clod code? And I'm going to go from the very top to the very bottom. So the very top obviously is where I began. The very bottom is where I ended up. There you go. That's how things work when you're in the terminal. So obviously it's NPM install, and then I had an issue because I guess I actually installed and then it told me there's a new major version of NPM available. So I installed that. Good boy. And then I tried like an idiot to reinstall clod code, but it already installed. I didn't realize that. And then so I naturally changed directory to this very cool repo called atomstacoviak.com, which is like anybody's like my own little blog here is where I play around with. And obviously I'm in this tailwind branch that has dirty stuff in it. Dang you tailwind, why are you sitting here with your repo? Oh man, but whatever. Okay. So I can tell you the last time I was, I don't mess with this code too often, maybe once or twice, a couple of times a year. Every once in a while I think I'm going to blog again, but I just never get to. I think I got something to say and I'm like, oh man, I just never said it. Anyways, the last time I had played with this repo, I got this wild hair up my butt where I didn't want to run Jekyll and run Ruby and run all the gems and all that stuff on my actual machine. I wanted to run this thing in Docker. I wanted to be completely isolated from many Ruby versions, anything like that. Cause I only use Ruby really in Jekyll. So I was like, I don't want to mess with Ruby at all. I want it to all be in Docker. And so the last time, say again, that's how you feel about Ruby as well. So the last time I did this, I knew that I had some thoughts of like, okay, I don't want to mess with, you know, my Mac. I wanted to keep it pristine. Everything's in Docker. And so obviously here is the, now we're now in the present and that's where we're at. I'm like, I forget how to use this thing. Right. And so then I told it to do, what did I tell it to do? It said, do you trust? Yes. Confirm. Here we are. And then I said this right here. So that's my little prompt there. I said, I run this in Docker. Can you remind me how this thing works? This is what I love about how cool this tech is because I'm now in this repo. I forget how it works. And it says, this is how it works. It goes and reads the Docker file, the readme file, et cetera. And then it's like, Hey, this is how you run the project, dark compose up dash dash build. And it reminds me of all the things. Here's how you can do a post in Jekyll, et cetera, through Docker exec. I always forget Docker exec dash dash or dash IT. And what all this mumbo jumbo is. I always forget that. So that's nice. Man, how cool is this? Like, this is how you run it, how you create a new draft, how you build the site, how you access the container for more commands, and then how live reload works. Like to me, that's just, that's beautiful. That's the way it should be. It is beautiful. You've seen the light. I've seen the light before, but I'm seeing the light. Literally every time he sees a light in the moment is impressive. You know, I get it. Sometimes I'm blown away as well, but sometimes
I'm definitely not like it's it can be real dumb. And like I've had, I had an issue node builds, right? I wanted to build a project for ESM and common jazz. I think that would be like an easy thing to do in 2025. It was not. And I kept trying to like get Claude to do it and it would, it just went in circles for like over an hour. I probably spent $50 in tokens, like just going around and around. I took the initial prompt and gave it to chat GPT 03 pro. And it was like, Oh, this is how you do it. And it was like, and to prove that this is how you do it. This is exactly what I'm proposing is exactly what tan stack does and exactly what Zod does. And it like showed examples from each of them. And I like, I just copied that and paste it back to cloud code. And I was like, Oh yeah. And it fixed it immediately. Take this. And so that got me like playing with these, like, you know, how can we do this? And I found this cool tool. It's like a paid tool. And I don't, I don't know how to use it because it's very, very, very confusing, but it's cool. It's kind of cool. It's called repo prompt. And you can like drag a folder in from your repo and you can drag multiple repos in, and then you can give it a prompt. Like I want to do this and this and this and this, and it will run like a really cheap model to determine what files that you've given it actually matter to the context. And then it'll include those. And then it has a copy button so that you can copy a prompt that you made and you can add in all of these prompts, like, Oh, I want you to be an engineer, or I want you to be an architect and do all of this. And then you tell it exactly what you want to do. It knows what files to include in the context. And then you can take that and go give it to an O3 pro or like a, like a very high expensive model to do the reasoning on it. And it's going to give step by step guides. And it includes like instructions on like, when you, when you tell me to update code, give it to me in this XML format so that I know exactly what to do, this XML diff format. And it will do that. You literally just take whatever Claude or O3 or whatever gave you paste it back into this tool. And then it can use a super cheap model to go actually implement it like a Gemini, whatever. This is like mimicking real life,
isn't it? You got your solutions architect, right? Your system architect and they're expensive. And so their time is precious. And then you have your like entry-level software engineer. That's just like, you know, grunt work, go ahead, grunt, work on this until you work your way up to architect and they're going to be cheaper, right? They have more disposable time. And so you're doing like a, you're distributing the load based on price and quality. And that's pretty cool.
It's fascinating. And like, you can get wildly different results and like, it just shows you that, that when a model is failing and you can tell pretty early when Claude's just going to spin its wheels, right? Go to something else and give it to something else and like make them work together is like the suggestion, I suppose, because they will come to a solution better and faster than I would. You just said it was not very smart at the
beginning of all this. Then you're saying it'll come up with a solution.
When I'm giving it more power. Yeah. Use the prompts, use the tokens, the expensive tokens for what they're good for and don't waste them on the mundane like
application work. Right. Can we go back to this agent experience you had where you fixed a bug and you didn't feel you were working? Like how can you do that at scale? Is that like a, is there a scaled version of like this agents in the background just sort of like tidying things up? I think about it like a Roomba or a iRobot or something like that where you're like, I kind of just want clean floors. They don't need to be immaculate, but you know what? Come on robots, clean the floors a couple times a day. Is it like that? Like, can you describe some versions of like, just like project maintenance with this agent stuff? I mean, I don't do project maintenance because... Isn't that what that was though?
Where you were like, remove this file, drop these feeds, SQL query to do it.
It's kind of like project maintenance. Yeah. That'd be like data management in that case. I think, you know, I'm fixing a bug, so it's maintenance in the fact of like, you know, it's not working right. Let's make it work right. But if you're talking about code quality, adding tests, et cetera, refactorings, you can certainly use it for that kind of stuff. I haven't done that myself. I know that when you first launch Claude code, for instance, it's like, it gives you a few ideas of things to do. And one's like, suggest improvements to this file or this project or something. And we'll go through and say, here's some low hanging fruit things you could do, or help me secure this. Like that's kind of stuff that you could certainly set one off to do a security audit against your entire code base and then come back to you when it's done. But I'm more curious how Nick does it when he's working. Like, cause you, I mean, you code for hours, right? Mm-hmm.
Okay. Theoretically.
Depends on who's listening. No. Well, because I have other stuff I'm doing, right? So like for me, I'm writing a newsletter and I'm recording a podcast. And so I'm having to do stuff while I'm not working on software. And I wonder what I would be doing if I was like, if my job that day was to fix that bug, would I be on Reddit? Would I be bored? Would I be off doing something else? Like when you're using these things throughout a day, are you also coding in a different area of the code base while it works? Or how do you manage? Cause there's a
back and forth where you're not really doing anything. Oh yeah. Sitting and waiting is that's like the amateur, right? Like there's a process that you go through and like, you know, getting to these tools is like, you know, the, a good, you're, you know, you're in the fourth dimension now, but you're just like twiddling your thumbs in the fourth dimension. Now you have to go to the fifth dimension where you're like going through, you've got multiple of these agents. I think that's something that I really took away from, from that podcast with Steve was like, just set these agents off to do a bunch of different things all at once. And like, you're no longer involved at that. You're a manager of agents and maybe you have an agent that manages sub-agents and goes from there and like, yeah. I posted a link in the, in the things, it's a blog post I have called how I use get work trees. And I only call this out because it's by far the most popular post on my website even still, and it gets like regular hits. And I think it's because of AI. And I think it's because work trees are just a fantastic way to work with these tools because you can set off cloud in one work tree to do one task and then have another work tree where it's doing another task. And these are effectively just like different checkouts of the repo. But they're all connected. And so then you can just like hop between all of these and do like five things at once in the same repo and then come out with five different pull requests. And that's really easy and really fun to do. And like what I'll often do is like, just cause I want to feel like I'm still hands on keyboard a little bit is like, I'll have it off going and doing stuff. And then I will work like more in depth on one of the problems while I'm like kind of traversing between team accessions to keep the prompts going for other ones. But the main thing that I do is like, I make it write a plan and stick to it. So I'll spend hours at the beginning going through a markdown plan. And it's just like step by step, phase by phase. It likes to do things like phase one, and then there's like steps one through five of phase one. And then that way, like I can focus it on doing that. Like I know exactly what it's going to do from start to finish and that's written to a markdown file. So it's like in there, it's something tangible. I can kill this instance of Claude and come back and just give it that file and continue going. And then I tell it like, all right, let's work on implementing phase one and it'll only do that. And then it will like do the changes and it will stop and think and ask questions based on the hive, like a whole bunch of prompts that I tell it to ask me questions or wait on things. And then it will stop right there. And then once we're done and like the phases, I usually try and keep them to something that I can like manually test to make sure, yes, this is actually working correctly. Then I'll do a code review and fix things or clean things up. It likes to be very verbose. It's not very dry. Not that it has to be very dry, but like it does things that I probably wouldn't do. So I try and make it do things that I would do. And then you can do like a slash compact or a slash clear. I usually just do compact and that will compact the session down and give it a summary of what we've talked about so far so that you have a new context window full of fresh memory. And then now we'll start on phase two. And it kind of has hints of what it did in phase one and it can go back and check, obviously. But then it kind of starts fresh with phase two and goes from there. And that's how I really like to do it. So I set it off to do phase one. I go work on something else and then I come back and see where it's at and, you know, monitor it. But I'm usually doing like two or three things across two or three repos, usually like just like all over the place. I maintain a lot of SDKs. So I'm just kind of constantly jumping
around. So you're doing it, man. You're AI babysitter. Yeah. Now ask me if I'm more productive. I was going to ask that. I was like, now, honestly, is it faster this way?
I feel like it in some cases. It's like a learning thing, right? I'm still learning about how to properly use these tools. And I was explaining this to a colleague yesterday. I think that like it all comes down to who I think has more context going into something. If I have more context about it, I should just do it because I'm going to waste way more time explaining to Claude how exactly I want it done. But if I don't have a lot of context, like I'm working on right now a plugin for better off, which is like an open source authentication like library for doing that in JavaScript. And I'm working on a plugin for it. I've never used better off and I've never really like fully set up like SSO from the start. And this is an SSO plugin. And so like, I don't have a lot of context of either of these. And so I just, you know, I literally spent an entire day just going through a plan of what I think I want and not just what I want, but like, I also need an example app to like prove that this works and prove to myself that this works, but also as like a demo. And that was day one coming up with a plan. Day two was just guiding Claude through that plan. And by day three, I had it working. And that's not something that I would have done on my own. You know, it would have been weeks and weeks of me just like toiling.
It would have been weeks. I think it would have been weeks or definitely would have been weeks.
It would have been weeks. Yeah.
Certainly got to be a DevRel's dream, right? DevRel is always making demo apps and trying to show off things, improve the technology to themselves first so they can become enchanted with it and excited about it and all the things so they can go then tell the rest of the developers, Hey, this is how it works. And here's a demo app and here's how I made it work. And you could do it too. I mean, three days to DevRel perfection is better than weeks procrastination.
Now, of course I haven't shipped that plugin yet. Like the code it's, it wrote a lot of code and I'm scouring it, but like that was more of a project where I was like, I'm just going to, you know, I'm going to give you auto accept edits and you're just going to go do it. And I will review it later and like clean things up. So I'm kind of like in the process of doing the cleanup right now and understanding it from top to bottom, which is much easier than me, like having to do that from the start. So lots and lots of code reviewing going on right now. But, but to your point, Adam, I did hear something I think yesterday where like some, it was some company talking about how they have like a soft rule now on like ideas. Don't come to me with ideas, come to me with vibe coded proof of concepts. And that's like for everyone in the company, from engineers up to like go to market folks or like everyone in between, like just come to me with, with fleshed out proof of concept. And it doesn't have to be perfect code. You don't even have to have looked at the code, but you are showing me a real working thing. And that is something that's
very achievable with the tools right now. So as we talk productivity, we just had Abhinoda on the show last week. He brought some survey-based and some quantitative as well, analysis of actual productivity inside of enterprises. And they found that people, that developers are generally 10% more productive, which for me was lower than I expected, but there are a lot of, lot of details of that conversation. I guess you can go back and listen to that one. However, since then we've had this new paper that came out, which is what we've been alluding to, but haven't actually talked about yet on this show, which is this is a research study that happened recently and a paper that was published by Meter, M-E-T-R, which seems like it's actually a pretty well-run deal. Now this is synthetic. Like they, and so far as it's set up, it's not just real world. And then see how you're actually productive. It's like, here's what you're going to do. They go and do it. And from what I've read, people who are in the know about these things, they did a pretty good job running this particular study. And what it found, and this is on open source, this is called the measuring the impact of early 2025 AI on experienced open source developer productivity. So there's your context, experienced open source developer productivity. That's a small slice of the software engineering world, but an important one. And what they found is it says when developers are allowed to use AI tools, they take 19% longer to complete issues, a significant slowdown that goes against developer beliefs and expert forecasts. This gap between perception and reality is striking. Developers expected AI to speed them up by 24%. And even after experiencing the slowdown, they still believed AI had sped them up by 20%. That's one of their major findings. And I think we can talk about some of the reasons behind that, but there is this perceived speed and actual speed thing. That being said, Nick, you seem pretty confident that your perceived speed is actual speed. And curious your reaction to that number, 19% slow down, seems like a bad deal if compared to what everybody has been telling us.
Yep. No, I believe it. And I also think that I'm more productive because of AI. It's because, well, I'm a team of one right now. So I rely on conversations with AI, top to bottom. It could be having it do code, write code. It could be just having an architectural level discussion to flesh out my ideas before I go bother a real human. I've knocked out all the low hanging fruit. I'm going to sound super smart because I know everything, because I've already had this conversation. And now I'm validating whether it was just telling me what to do, being telling me what I want to hear, which they love to do. And I hate it so much. But like, we're all the study, like, I'll be honest, I didn't read the paper, so I don't know exactly like the parameters and things that went into it. But if it was early 2025, that's going to be different than June, 2025. Definitely. But also like, we're all going through this right now, like figuring things out. It's like, we're just throwing spaghetti at the wall and seeing what sticks, what works, what gets us there. And sometimes the thing that worked one time doesn't always work because it's like a slot machine. And it's difficult to hone in on what's going to get you to where you need to go. And you might change your process slightly and then waste a day because of that. And that obviously slows you down. And so there's a lot of experimentation and it's going to be interesting to see where it goes from this. Because are we all going to become super personalized to where like these prompts work for me and the way I interact with it, but they're never going to work for you, Jared or you, Adam. Like we're all going to have our own bespoke things, just like we all have our bespoke timelines right now with like the social algorithms and all that. Like nobody is looking at the same things. Now we're not even like coding the same way. And that could be super interesting. And I have this like, this is a tangent, but like I have this future casting thought going way down. Like what if in a year from now, these LLMs are just so optimized and I don't write code anymore. I just talk to the LLM and the LLM maintains code for me. And what it's actually maintaining is just like Wasm byte code. And when I need to step in and help it debug, it's going to give it to me in TypeScript. And Jared's going to come in and be like, oh, Jared, can you help me with this? And it's going to give it to you and Ruby because that's more tailored for you. And it's literally the same code like over and over. Like we're just going to like not even speak the same languages anymore. Right. Could be
interesting. That's cool idea. I'll never have to see TypeScript again. Zing. That is, that really is cool though, because like that's essentially what we do now. Like it is, it kind of all goes to some degree to byte code, right? You know, it's, there's a layer, the layer I speak, you know, the layer you speak, we're just speaking different languages, in some cases, different protocols, different access levels to the file system or whatever you might have. That's already kind of happening now. You're, it's kind of personal preference, I suppose, in that case, there's something to this, this phenomenon happening where we're working differently, like the perception of effectiveness, the perception of speed, or what's the, the true terminology here, like improvement efficiency was the terminology we're trying
to like really capture here. Like in terms of like goodness, you know, is it really better or worse?
Productivity is what they called it. Thank you. Okay. Because like you said, Nick, in three days, you did something that you would have probably done in weeks or multiple weeks and potentially didn't even tackle because it was just too challenging for you without some support, whether it's human or not. And that to me is pretty wild. You know, you feel for the moment, like you're enjoying the work more. So you feel more effective. You feel more productive, even though your output is roughly the same. You're spinning your wheels, but you're spinning them in ways that you're getting traction. Even if you're incrementally moving forward, it feels like, you know, like this perception from the humankind, it's, it's like, yeah, I feel better about the work I'm doing. I'm enjoying it. Like you said, Jerry, where, where Steve kind of helped you have permission to play with this and then have fun with it. It's like it opened up this new human layer, which is enjoyment kind of necessary.
For sure. And, and like to that, I feel that there is a reckoning coming, coming with that.
We'll speak of it. Scary. Warn us.
I have, I've, I've been more on the fearful side for most of this AI hype, right? Like I don't want it to, I don't want it to take my job and, and I don't want, you know, it to do everything. I don't want, I don't like the feeling that like, oh, congrats, you solved this hard problem. Hey, Claude solved it. I kind of just put my name on it, you know, I don't like that. But like at the same time, I'm like, this is kind of the new reality and I can move faster because of this. And my, I've always thought of myself as like a craftsman for a better, lack of a better term, like, you know, I really like the code and solving the, the problems in there. And I'm like focused on like the, the micro problems and less focus, not less focus, but like, that's where I really get my enjoyment and my like dopamine hit is from the little micro problems that I solve in the code. And then you have like the macro, like the, the app, you know, you've solved a, you've created a feature in the app or you've done, fixed this major bug or something like that. That's like, you know, more macro. And I think that if you were, as we're going through this transition, like every engineer is going to have to, like, this is the reckoning. Like they're going to have to figure out, can they transition to solving the higher level problems and letting the AI handle the small, the lower level things. And of course reviewing it and, you know, you keep it up like that, but are you going to get your dopamine hit from that? And are you going to be able to transition your workflow to potentially like managing fleets of these agents as an engineer? And that's like what a software engineer is now. And if that's, if you can, that's great. If, if that's not interesting to you, then maybe people start self-selecting out of this field and that's where like the, the AI is taking our jobs. Yeah. Right. I don't know if that's how it's going to go,
but like I could see it going that way. I could tend to, I could tend to agree with that. I think that I have both perspectives. And so I think probably why I was mostly trepidatious and now I'm just more excited because I also have been focused on the quality and the craftsmanship and really the maintainability of software my entire career. Slow down and go faster is one of my mottos. And I think that motto might not matter anymore because as a quality of these tools improves, which so far it has, I mean, what I'm using today versus last year versus two years ago is way better in terms of the actual output and its ability to write code and to solve problems. And if that trajectory continues, not even at a parabolic pace, but just even like in a linear pace, we won't have to maintain software like we have in the past, especially as the price of compute trends as close to zero as it can, which is what all the investment money is going to is like, let's get some more free energy and let's come out with ways of doing this. It doesn't tax the grid so much, et cetera, et cetera. Those are all just like time and money and innovation will solve those problems to where it becomes very, very cheap to have very capable coding agents working for you. So along those two lines, why maintain software like we used to? Like, why care so much about the craftsmanship? Do you actually have to slow down to go faster? And maybe you just go faster to go faster and replace when necessary, build modularly and replace parts that need replacing. And at the end of the day, the reason why I cared about the maintainability was because I wanted to be able to continue to go fast over the long time period, right? Like everybody starts off fast. That's why they call them sprints. And that's why we have spikes and proof of concepts and startups that, you know, just ship, ship, ship, ship. That same startup that was just shipping like crazy 18 months ago, they start to crawl because of the main, you know, because of the maintenance problem. Well, if that problem gets solved and this is assuming that that will get solved, then at the end of the day, I just wanted to go fast and get stuff done and have the productivity. Like that's what I was after. I just realized pretty young in my career that you couldn't just accumulate technical debt nonstop in order to go fast. Like it was just wasn't smart to do. And so I would often sell that to people like, Hey, if you want to build a thing with me, let's build it, but we're going to build it right. That way you can continue at a pace that's sustainable. Right. At the end of the day, I was after the, the end, not the means. And so what I really like is to be productive and stay productive. And at least for now, that's what I'm enjoying, especially as a busy person. It's like, I don't have eight hours a day to write software. You know, I might not write any software, but with Claude code, I might write some software today, even though I'm not going to be writing it for me, like that's super exciting. And so I can see a world where that's what really matters is to move up, get more abstract, less hands-on, but more productive and more software at the end of the day. So I've been up two minds, but I'm leaning more towards that mind of like, okay, let's just embrace this and see what we can get done. Or as I said in the news yesterday,
let's get cooking. You know, all of that excites me every like, like I literally, when I look at my arm, I'm like, I got like chills. I'm so excited about that future,
right? I'm just like, I'm down for it. Except, except this goes back to that monkey theory I shared, I think less eloquently. Let me try again on a previous podcast. You have a room where monkeys are locked in it, right? And there's a ladder and it's fixed in place vertical, can't fall over. And it's got bananas. Monkeys love bananas, right? They're at the top of this ladder, right? What do monkeys do? They crawl. They're pretty easy crawling, right? They're pretty strong, pretty good at this stuff. So these monkeys, they're brand new to the room, brand new to the ladder. They love bananas. They know all this. This is their instincts, right? They're going to crawl that ladder to get the bananas, but they start getting sprayed fiercely hard. Like it hurts bad. Some of them may get a banana and they're excited about it. Most of them are like, nah, man, that hurts too bad. I ain't trying again. Like, I'll try one more time. And they get blasted. They try one more time, they get blasted. I'm elongating the story just for emphasis. So these monkeys learn, this initial group of monkeys learn that banana good, ladder gets me there, water hurts, don't go do it because the water hurts. And so they get trained, don't go and get these bananas. And then they incrementally swap one of those monkeys out with a new monkey that knows the old instinct, doesn't know about the water splashing in the spring and the hurt. They just know banana again, right? But they come into this group with a previous knowledge and the old group's like, nah, nah, nah, nah. You can't get those bananas. The monkey's like, why? Bananas are great. Ladders there, crawl, banana. Water spray hurt, not good. Anyways, I'm entertaining myself as I'm telling this story. They're not very smart, but they're very smart. I get it. If something become caveman. Long story short, over time, the monkeys teach the new monkeys coming in, don't go for them bananas. Don't do that anymore. And so I juxtaposed that against this idea that you want this world. And I agree with that world, Jared. I think that's great that we transcend the need that my ability to write software well is predicated on my ability, my personal ability to maintain that software. So this, how moment you came to was essentially like, okay, this new world doesn't have to be constrained by me. It can be constrained by my brain, but my ability was what you're coming to is like, I don't have to be the person meeting all this code anymore. Or, and you said this and
clarify if I'm wrong, is that you said that you don't even need to understand the code anymore.
Did you say that? I don't know what I said. I said a whole bunch of crap. Okay. Did you hear
that Nick? That he didn't really need to understand the code anymore. He was okay with that. At which point, like today? At some point. At some point along this journey, it could be a year from now. At some point you're okay with letting loose, not having to understand all the code. Oh yeah. Just let loose and just vibe it up. Okay. So the long monkey story, all this detail, okay. To get to this point, I don't know if I want to live in a world where we no longer understand the code we
write. Like what happens when we can't understand this code anymore? And the only way to knowledge of what it's doing is through an AI that we think is for us. Yeah. I mean, like we think it's for us and we're designing it and so we're sort of designing it for us, but what if we get to a point where these monkeys that says banana good, but the old monkeys like nah banana bad. Oh,
we've solved that. We've solved that. We have. We just don't have new monkeys coming in. That's right. Not new monkeys. To be clear, that's not a good thing, but like that's what it feels like.
We are the last generation of code monkeys. I get what you're saying though, for sure. Like
you're right now, we're focused on the artifact, right? Like the algorithm, the file, the module, whatever. Like we're focused on that as the outcome. The thinking's the valuable part. And the thinking is what the LLMs just can't do very good right now. And maybe ever, I don't know. And that's where we'll always be able to guide it. And so we have to, that's like the reckoning, right? You have to shift. Am I more focused on the artifact or do I feel fulfilled because I
use my thinking brain? Right. I don't know if the thinking is actually the differentiator. I would slightly augment that and say our context plus taste is what makes us different. Whereas of course we can say, well, what does thinking really mean? Are they actually thinking? Well, they're just brute forcing a bunch of word auto completions. Fine. But it approximates our thinking. And a lot of times they actually have better ideas than us because of like, I wouldn't have thought of that great idea. Or I'm like, I wouldn't have thought of that terrible idea. That's judgment. That's context. And that's taste. I think that's what makes us different moving forward more so than the thinking. I'm just using different words to describe the same thing that you were describing. So I'm not necessarily disagreeing with you, but I don't know. And I'm, I feel like maybe you're anthropomorphizing these things too much. Like you're assuming, well, you say like, we think they're on our side or something and you're getting very much in the T2 territory here. I don't think
I mean, I was decompressing a longer version. I mean, I was saving us from one more monkey
story. Okay. Okay. Well, thank you. Save us from as many monkeys as, as, as need be. So I don't, I don't think that at a certain level of software quality that can be objectively tested as best of our ability produced on our behalf by AI models and agents into the future. I don't think not having to look at the code or know what the code does, whatever I said is all that big of an issue. How is it different than assembly code, which I've never looked at my entire life. Like at the end of the day, you can say, well, you never look at the assembly. You don't really know what it's doing. Cause you don't look at it. It's like, no, I don't, but I have it translated into Ruby for me at the last second. So I can read it and then put it back into whatever form they wanted it. You know,
you know, maybe I'll take a step back then. So this is a great exercise of Avali. And so what you've just said basically is that we can understand the code because it can now be
spoken to us in a language that we understand. So just because we don't understand byte code or assembly anymore, it doesn't mean it can't explain it to us in a different language, which is actually a programming language or potentially in English, like a reverse prompt, like here's your code. Here's a non-promptive response, essentially. This is how it works. And so you want to get back to this non-deterministic reproducibility. If they get so good at coding brand new things, this brand new module and maintainability goes out the window. Well, now all you have to use is the language I know, which is English to get the software I want, which is something I do not understand. I don't know. I just, that computes to me, but I just wonder, will we be motivated as a human race to have a certain amount of people,
calm scientists, calm whatevers that just have to maintain this intellectual knowledge to the point they always know, like there's a subset of group. That's always going to know.
We have those today. They're called gray beards, the gray beards, you know, the ones who still know assembly and they still write assembly on 8 PM on a Saturday, you know, when they have their glass of spin drift. Yeah. I don't know. Obviously we're getting hypothetical at this point. I think that you do want to have some people who are still in touch with the underpinnings of our society. Yes. I would think that's probably wise to keep some people there. But how many generations do we go down? You know, that's when it starts to get disconnected. Cause if you're talking our kids, fine. Our kids, kids, maybe our kids, kids, kids. I don't know. It's going to get pretty weird. We'll even think about that. Like kids, kids, kids, you can almost you can not quite, but you can almost run that test now. So how many generations can you back go back to like your great, great grandfather? Did you meet your great, great grandfather or grandmother? I didn't either. Nick the Jew. No. Okay. So how many back is that? Great. Great. That's three. My dad's dad. My dad's dad's dad. That's three back. Yeah. Pretty easy to get to. That's not even six. No, three is not six. No, that's not even six. It's not seven either. Just so you're clear. I
mean like three, not six. Monkey understand. Don't double it on us. Okay. I'm stuck in my monkey speak over here. Monkey like banana. Yeah. Monkey ladder banana. Good. Water bad.
Water real bad. I feel like, so there's some sort of like PTSD going on where maybe Adam was experimented on and he's still just like acting it out later. Maybe so. The point I'm
getting to is like my grandfather's dad, I can't even relate to the challenge of that person's life. Right. Completely different lives. Except for the human struggle. That's the constant is like we will always struggle in humanity, whether it's relationally, interpersonally,
you know, inside yourself kind of thing, you know, psychologically. Yes. There's always that struggle there, but like, I can't understand that person's struggle and our lives are so dramatically different that I almost wonder if like he wouldn't care. Maybe that's what you're saying. You just don't care. Cause you can't understand contextually that the empathy required or the care required
beyond being human for the, for the task challenge, you know, not the life challenge, but the in the moment challenge. It's just too far fetched. Well, we'll probably get stuck right where we are,
but our kids, kids, kids, they'll have a completely different context, you know, and we've likened it in the past to driving a stick shift versus an automatic and how there's a generation of people. Now it's more just like preference and hobby. Of course you can still drive stick shifts. You can find them, you can buy them, you can build them. And as people that only drive a stick shift, they're very rare, but 99% of humanity does not know how a transmission works. Right. And how the difference, like what a stick shift was. You didn't mean you had to actually shift the gears. What is the stick shift? I don't know. I'm just making stuff up here.
Hoping that you guys don't notice. I drove a stick shift today. No, no, no. At one point in my life,
I drove one once more than once on a few occasions, my friend had one. And so I had to drive his. And then my, one of my early jobs had a stick shift and little J little arrogant. Jared was too egotistical to say when someone says, can you drive a stick? I was, my ego was so big. I just said, yes. And I had never done it before. I had watched people do it. And so I had to just figure it out on the road, which was a terrible day, but that's a arrogance and youth or eternal
companions. Anyways. I do think that, that with how how fast you're able to turn out code now and you're, you're, you know, potentially looking at it less, you're definitely looking at parts of it less, like just trusting. Yeah, it just works. Right. That is like, it's making me realize that for the most part, like the code I write, the code I get paid to write the assembly line, right? This is not handcrafted custom furniture. This is an assembly line and I got to get it out the door and it's helping me to like come to terms with that. It's been there all along, but it's just
like, yeah, that's true. And I think that's what we're going to be automating is the assembly line of software and the assembly line workers. Whereas like, we're not going to replace why the lucky stiff for instance. Yeah. I was going to say RAP. I don't think he's dead, but he left the internet and like that guy used code as art and he wasn't just a craftsman. He was an artist. Probably still is. I'm still using past ends because I haven't seen him for years. Just for instance, or somebody like Ken Thompson, you know, who's just like building the foundational bits and it's just amazing, you know, savant of software not replaced still necessary probably for a while. Like the people who design certain protocols, you know, like whoever is out there doing HTTP three, if that's a four, I should say four H threes out there. Right. Quick. Like those, those things. So like code is art, low level bits of like hardcore engineering. All I've heard some hardcore engineers confess certain areas of their code were just completely vibe coded because it's like, take this thing and you know, cause you can kind of approximate it with it, but the point stands, I'm not saying they never go away. I mean, I don't think code is art ever goes away, but. I have a counterpoint. Go ahead. You. What? I'm never a counterpoint.
I haven't been one yet. How so? I heard you on a podcast. I don't know. I don't remember which one, but as you've been going along this journey, you at some point talked about using, using this to like the ROI on like developing tools for yourself is too high in most cases. So you just don't do it, but now you can and you have, and you've made like little scripts and tools. That's like the, the, the artisanal coding and you totally automated that away. So it's not like you're not like the furniture person working at the factory who comes home and hand creates the chair that they're sitting on. So I guess I kind of agree. It depends
on what you mean by automate away. Like I'm doing more of that stuff now. Yeah. I'm just not physically typing the keys, but I actually have more scripts today than I would have had without these tools. You know what I'm saying? So I'm actually doing more of that, not less. So you're saying I'm automating it away, I guess, because I'm not writing it. I mean, I guess I was taking
it in terms of like still being the, you know, the hand, the craftsman working on. Oh, I see. You're saying making your own tools. When you have the time, you're not going to sit down and be like, I'm not going to use Claude. Oh no, I'm never going to just right. Sit down and write a nice
function anymore. Right. You know, I'm not, oh no, no, no. Unless I'm going to submit it to that hot
or not, you know, pretty soon you're going to become dependent. You're gonna be like, oh, I wrote this, but I hang on. I got to just check with Claude to make sure that it's on my confidence
as a young man, I would have just deployed this, but today I'm going to check with my overlords. Yeah, possibly. But I am excited also about more artisanal software. This is why the headliner in this week's news, which wasn't really news was all about a, an app can be a home cooked meal. And this idea of like, we can build one off personalized apps and scripts and websites that we would never had had the time or the ability to in the past. And if it didn't scale, you weren't going to build it. You know, like that's the kind of mindset I would have to have is like, if I can scale this to 15 people, then it's worth it. But if it's just for me, it's just way too much work to build that thing. Or if it's just for my family, not worth it. So like that calculus completely changes. And now I'm just like, why not even just give it a try while I'm doing something else? This thing can be vibe coding it. And maybe it's too hard right now. I mean, there's things that I've tried to build. I'm like, nah, they can't quite do that yet. And there's other things where I'm like, yep, easy, cool. And I think that explodes. So we're going to have way more of that kind of software, at least in the short term.
But you're shifting away from the artifact, right? And more towards the outcome and the outcomes are great and they're wonderful and they wouldn't exist without this, but. But what do we actually want? Do we want artifacts or outcomes? I don't know. Are you a craftsman? I told you I have two
minds on the matter. Like I, at the end of the day, I think I always was more about the ends. I always was. I was like, I want the website. I want the plugin. I want the superpowers. I want the, and I realized at that time, 20, 20, 2004, 2005 through, you know, up until recently the actual craft of the software mattered so much to get that thing in a way that it wasn't going to crumble after I ship it to the world. And so that's why I cared about the craft and I can totally nerd out about the details and get into the flow state of writing the best quick sort function you've ever seen. Like I can totally understand the dopamine hits that that provides, because I've done that for years. And so that was why I was on two minds, but like what really matters, the dopamine or like the longstanding value that it brings to myself and other humans. Your fulfillment. My fulfillment is what matters the most.
But it can also afford you that, right? It can be off doing like 90% of the work and you're sitting there writing one function and being like, I contributed and you got that dopamine hit. Meanwhile, it did, you know, it created an entire truck.
Totally. But look at that decal I put on the bumper, you know, like that's all me, maybe that bumper sticker. I came up with that. Yeah.
I will say like one other thing that's really cool is like with this and like with Claude, I'm sure other ones are like this too, but Claude's the only one I have like the most intimate experience with is that like you have all of these like secret words that you can use. You can tell it to use sub-agents and it will actually like split off into sub-agents and do things faster. If it doesn't do things right, you can tell it to try hard and it will reason better and you can go try harder and you can say ultra think. And that is the ultimate amount of reasoning that it will do. And so like, we're finally to this point where we literally have incantations that get us to where we want to go. And like you, if you know these incantations, you are casting these spells. You're an engineer, prompt engineer.
Yeah. That's crazy, man. You like that? I actually, I wanted to try hard every time. Like I just shouldn't have to tell you, like now I'm talking to a human again. It's like, come on. I shouldn't have to motivate you. You know, you can do this, Claude. Go and do it. Try harder.
It's like a programming language that isn't a programming language. Like you have to just know these keywords and, and do them. And you like, you can read them through the docs probably, but like you learn them through trial and error. Well, trial and error and just like legend that people pass them. Someone else telling you something.
Yeah. Yeah. That's a, that's a truth that I think goes, is trending downward over time. And I hope that it trends towards nothing. I should not have to tell it to use sub-agents. I should not have to tell it to try harder. I should not have to tell it. What other things you're telling it? Ultra think. I should tell myself that like when I can't figure someone out, come on, Jared. It's like go-go gadget arm, you know? Yes. That's what I was thinking. I want to start using that. Come on, Jared ultra think. Oh, it's interesting times, isn't it? It does. Like it does kind of make you question
the value. There's like different layers of value to software. In an enterprise,
it's clear what the value is. Right. But in personhood, in person life, like you're suggesting, like just write this one off piece of software that satisfies my life. Like you mentioned, like with this home cooked meal, I I'm so down with that. I'm so down with that because software is cool. And the whole reason why we're even sitting here is because software is cool. It's not because necessarily we all want to be and it may be fun to be a software craftsman or crafts person, but we kind of got locked into that mindset because of our limitation of us pushing that ball, maintaining the software. So we're that monkey. Don't climb the ladder. Right. And now we can climb the ladder with no water and the water hits us. We got work. We got different skin now. We've we've evolved. Yes. But software, like it is such a powerful thing, obviously. And to give so many more people, almost the entire human race, the ability to create software as a home cooked meal, I think is a is a world I want to live in where people can make and create software that benefits their individual life. And maybe it can go to a scale thing if it needs to. And maybe there's a maybe commerce doesn't even matter after that. Like maybe that it's successful or financially viable doesn't even matter because things will evolve to the point where it's just software just runs everywhere. It doesn't matter. You know, it's just really ephemeral or just really blase about how it was created or what was written in or doesn't even doesn't even matter. Does the ends work? Does it do its job? Almost like almost like Tron. You know, what do they say? In Tron it was like they were going down a line like looking at each program and saying, you know, rectified or deleted. Remember that part in the latest Tron when they said that? It's like you're a bad program. You're not doing your thing. You've got to be rectified and you go get rectified. You come back out. New software that's doing the job versus look how maintainable this thing is. Like that's a good thing for a human. It's not a good thing for anything else than that because that's all you care about is like humans care about time. We only have the window of time we have, you know, in this on the earth. So our finite resource is time. So we care about things that really benefit our moment and doesn't take away from
future moments. Speaking of time, I think that there is a this is the perfect time to cash in on cleaning up all of these AI slop coded apps because there is a lucrative business there. For sure. Is there? In the time window. Oh yeah. In a time window right now. In the current window
of time. Yes. AI hero. What do you call it? I don't know. Slop cleanup aisle 9. Whatever your
company is called. If you can offer that. To clean up AI. Yep. For sure there's an opportunity
there. For now until their code is way better than ours. Yeah. And we'll see if that actually happens. But we didn't really rebut this 19% slowdown very much. I mean we're over here talking about how amazing everything is but like cold hard facts are saying nope. Now I think there's a few factors that play into that. In fact we'll link to this blog post called AI AI slows down open source developers. Peter Knauer can teach us why because it goes into details on why this particular set of people in this particular place. Some good reasons why they might have been slowed down. Whereas in other areas in other contexts you actually are sped up like Nick confesses to be. So we'll just leave that in the show notes for people to read. But the short of it is high context people know their software in and out already. Value get less value out of having to provide that context to AI versus being able to just do it themselves when they have the entire domain in their heads and they've been working on it forever perhaps slower with having to wait on a robot to do things when they could do them themselves. I think that's a generalization of what that argument is so. Which certainly played a part which is why I said it's a it's a slice of developer land
but it's not the whole thing. Yeah in terms of the rebuttal I think that sometimes when you do a change that creates efficiency sometimes there's inefficiency while the
system gets recalibrated to become efficient. So I wonder if the perceived advancement in speed to the person and the truth in the data is not accurate maybe that's just temporarily accurate you know like it's it's actually they're actually less efficient or as efficient if that's what the data is saying to be determined if they'll become more efficient. I wonder if that more efficient will actually just come because over time you will recalibrate to this new inevitability of how we work which is AI is here for everybody you better use it and get replaced or use it replace somebody
who doesn't use it. I think that's kind of an interesting take really is that maybe the
efficiencies come shortly after not right away. Well after Nick gives you all the magic incantations you have to know then you're really good at it. Ultra think. Ultra think. All right anything else or should we say goodbye? Well that's it for now. That sound you hear is the sound of inevitability. Get them bananas. Bye friends. Bye friends. Nick's prediction of a coming reckoning was a lot but there's more. He shares a second reckoning in our changelog plus plus bonus segment that's coming up right after this unless of course you're not directly supporting our work with your hard-earned cash. Get in on the action at changelog.com slash plus plus and enjoy an additional 13 minutes of us discussing The Browser Company, Arc, Dia, OpenAI's new browser, and more ultra thinking than you can shake a stick at. Thanks again to our partners at Fly.io and to our sponsors Auth0 the identity infrastructure for the age of AI. Start building at auth0.com slash AI and to CodeRabbit AI native code reviews. Learn more at CodeRabbit.ai. We are officially one week away from our changelog live show in Denver and I'm officially revealing our mystery guest. We'll be interviewing the one and only Nora Jones on stage at the Oriental Theater. You may remember Nora from Jelly, her incident response platform that got acquired by PagerDuty where she now works. Join us and Nora in Denver. Head to changelog.com slash live and get tickets. Have a great weekend. Share the changelog with some humans who might dig it and let's talk again real soon. Maybe it's a commentary on our current times that we had Nick with us and we forgot about browsers. Well, it's a bright new Dia. Oh, that's what I want to know about. Okay.