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 Damien Shingleman, VP of R&D at Auth0, where he leads the team exploring the future of AI and identity. So cool. So Damien, 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 like 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 Auth4GenAI at Auth0.com slash AI. Again, that's Auth0.com slash AI.
All right, here we are. We are friendzine with our old friend, Nick Niecy. 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 you're...
AI obsession is going, how your browser obsession is going, how Vim is going. Yeah. 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 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. I'll never admit it. Truth is truth, but not 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 into 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 because 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.
But they aren't. So I'm mostly rock and clawed. But every time, every once in a while, I'll hop over to Gemini and see what I 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 incumbents, 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? Yeah. 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. Yeah, 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 have 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 was like, well, you can't have that. And then Microsoft's basically like, well, we don't have 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. 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 I basically come 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 gnaw at the dead carcass. 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&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 continue. What do y'all think of this? It's just one of these weird sagas. It's, it's interesting, I think, because it's, um, 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 Windsor. Like, I don't know if they can like, if Windsor 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, of Windsor. So that's good. Yes. Um, I was reading something, uh, 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 yeah 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 competition labs acquires windsurf and i was like dang it i could have included that in my coverage but oh well that's how the world works especially the fast-moving world of ai acquisitions and 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 right like 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 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 Devin 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 Apple 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 want to buy you. We just want to give you the same amount of money almost. And just, you know, license the tech, siphon out 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 expected that to happen? Meanwhile, I'm over here thinking the terminal for the win, 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, it just seemed like the wrong layer of abstraction for me. Like putting it 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 Steve Yeggie's right. And the death of the IDE is coming and Winsurf and Cursor and... Vim. I mean, Vim's potentially a loser in this, right? They don't have billions of dollars going into making it amazingly agentic, but maybe Vim's a winner because who cares, right? Put it in the terminal. Can I just say that that episode with Steve Yeggie was amazing. I listened to it like two times through at normal speed. Oh my gosh. That would slow 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 reordered 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 is not coming out until 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 over. But anyways, can we talk about something that like probably doesn't even matter? It's all of this. Yeah, exactly. Give it a week. None of this matters. Well, 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 Node.js? Why is that the best way to install things these days? How do we get to that place? That's a good question. We've known the answer to this all the way back to Atwood's Law, right? That's right. Yeah, go ahead, Nick. What's Atwood's Law again? School us. 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, cloud code's 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 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 into like my home directory in a dot claude yeah but i don't think that it's a i don't know i haven't looked at it but it's fascinating just to watch it like literally 100 times throughout the day auto updating to whatever and it's like constantly up 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 the place you want to be so you're always getting the best stuff i think that they really want out uh because of 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 at 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 had all of the tools that you have on the command line, which is everything. I've asked it to 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. It's amazing. And so they didn't have to wait for all of the infrastructure around 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 YOLO mode and just let it do everything. Do you run YOLO mode? I'm still letting it. I'm still approving things.
I don't. I've been curating my, my global cloud settings.json file and giving it like, there's a, an allowed list that you can give for all of these things. And so I, I keep that updated with the things that I just don't even want to ask me about, you know, and be on a test, for example, just run the test. Don't ask. Yeah. Cause that's my current situation is I'm using enough 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 cloud code finishes or whatever. Are you running something like that? Because that's what I'm, that's probably what I want next. Because actually I fixed a bug yesterday while doing changelog 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, 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 nodi 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 two-way 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. 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 open ai 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, 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 Claude code to build Claude code. Do they? 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 conquer our R&D experiments. And it was an internally developed thing for 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 didn't take away. I didn't have to switch editors to some crappy VS code fork to write 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 was like, oh, I see you're using JetBrains. And it just installed itself as a tab. And it's all it is just a terminal in a, in a browser, in an editor tab. Right. But that gives it like almost first class.
look and feel within PHPStorm and all of the other IDEs while still being this completely flexible thing. And if he switches, it's the same. Go to the gmailing, it's the same. That's what I like. It feels both distinct, but also able to integrate and use within. I mean, they're 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. I haven't tried Windsor, so I shouldn't say that. I just assume it 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. 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 for sure, the way that it's set up by default is to let you use it in a way that you would want to.
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? Yeah. That's kind of like sent from my iPhone. Remember that little thing on your emails or whatever? Yeah. 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 because it wasn't me that wrote it. But yeah, that's a that's not very professional, is it? I don't know. I've also seen I think it was Cloudflare 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. I wonder if that's. part of that is like you get some sort of like um reproducibility to integrate the best you can from non-deterministic reproducibility by sharing 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's dot files like what nick still does on the weekends you know now you just you're cruising their dot your their claw dot mds or their whatever it is their 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 progress yeah there's they have this ability to add like slash commands and so you can just say slash whatever and it's just a markdown file and you can pass one argument to it and there's a there's like a getup repo called superclot i think that just has like tons and tons of those slash commands uh 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 just go find that issue pull it in figure out how to fix it and it can submit a pull request from that that's pretty cool can you picture this adam just imagine with me for a moment
it's a saturday evening 8 p.m 8 30. nicks in his his uh 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. Yeah, there you go. Is that accurate, Nick, or are you more of a bourbon guy than wine? I'm more of a sparkling water. Okay, fair. I was trying to really, you know, play it up, but sparkling water is probably. He's finally got Topo Chico, Jared. You got any Topo Chico in you?
I have some upstairs. Right next to me. Yeah. I'm there upstairs. Hide it in the closet. Oh, this is awesome. Oh, good stuff. Well, I have officially installed cloud code. Oh, you're there. I have not played with it officially yet because I'm just, I'm a waiter. You know, I wait until things settle down a little bit. I had to wait till y'all 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 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. 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're 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 a 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 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 replace? 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 want to get down and get some work done. Yes. 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. You know, 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 at least chat GPT.
Uh, I asked it, what did I add? Oh, 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 sugarcoating and give me your most true honesty. Oh my goodness. And it gave me a, uh, a very stressed out blue robot that has a ton of like, uh, a ton of, uh, what are those things called? Um, the 3M, the, uh, the sticky notes. Oh yeah. To do how JavaScript debug. And it has like a big screen. I said, paste me that prompt. I want to put it in my chat. I want to see it too. I want to do this right now.
Yeah, paste that prompt over to us. I put it in 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 to context nonstop without pause. And I feel like I'm always on trying to keep up with your pace. At the same time, it's not sentient. You know, I'm so curious. I know. 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 pace. I'm a meatbag over here. While you're running that, there was another command I was going to ask you to run, Jared. And that was npxcc usage.
I'm afraid of running commands, arbitrary commands off the internet. It'll just give you an estimate. I assume you're using like the CloudPro account or whatever. Yes. It'll give you an estimate of how much you've actually spent. Oh, okay. Because 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, $289.87. What does that mean? Is that minutes? No, $289.87. That's how much you would have been charged if they were charging you that way, correct? Yes. Yes. Do you do that command in the...
Collab code prompt, or do you do it in the terminal? Is it 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 working at all. It's still an MPM error. Mine goes back to June 16th as well, but I really have only used it like the last couple weeks in July. But only $5.25. Ah. Yeah. Nice. See, I'm efficient with my stuff. Yeah.
i'm also not oh gosh coding you know man 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 i'm tired of having 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 of you okay Actually, mine looks bored. I'm distraught, and my robot is bored. And his name is Processo. 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. If I'm honest, you look bored. Do I bore you? Oh, I don't bore it. 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 bored-looking bot is more like, all right, let's recalibrate for another curveball. It's cognitive whiplash, not boredom.
So basically the picture was bad. Well, 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, no, don't worry about me. I'm like, 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 have feelings. I don't have feelings. I love the thinking models and just like looking at what they're actually putting. I know they're not actually thinking, but like what they're prompting to include that. And like oftentimes Claude will refer to me as the human. And I think that's pretty funny. And then one of my co-workers actually, they posted a screenshot of Claude thinking after they called it out for hallucinating some API that doesn't exist. And it just said, oh, the human's right. Or something like that.
Well, friends, I'm here with a new friend of mine, Harjot Gil, co-founder and CEO of CodeRabbit, where they're cutting code review time in half with their AI code review platform. So Harjot, in this new world of AI-generated code, 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 how fast some of the companies like Cursor and GitHub Copilot itself have grown. The developers are picking up these tools and running with it pretty much. There's a lot more code being written. And in that world, the bottleneck shift to code review becomes even more important than it was in the past. Even in the past, companies cared about code quality had all these pull request models for code reviews and a lot of checks. But post-gen AI, now we're looking at, first of all, a lot more code being written. And interestingly, a lot of this code being written is not perfect. So the bottleneck and the importance of code review is even more so 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.
comes in, it's kind of like, think of it as a second order effect, where the first order effect has been Gen AI and code generation. Rapid success there now has a second order effect. There's a massive need in the market for tools like CodeRavit 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 was 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. But those systems have now evolved into more agentic workflows, where now you're starting with a prompt and you get changes performed on multiple files and multiple equations 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 been trusted by 100,000 plus developers around the world. Okay, friends. Well, the 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, two easy and a 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 cloud code? I'm gonna 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. Something's working in the terminal.
So obviously it's NPM install. And then I had an issue because I guess, well, I guess it actually installed. And then it told me there's a new major version of NPM available. So I installed that. I'm a good boy. And I tried like an idiot to reinstall cloud code, but it already installed. I didn't realize that. And then, so I naturally changed directory to this very cool repo called adamstachowiak.com, which is like anybody's like my own little blog here. It's 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 up your repo? Oh man, but whatever. Okay. So I can tell you the last time I was, I don't mess with this go too often, maybe once or twice a couple of times a year.
Everyone's why 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 played with this repo, I got this wild hair, but 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 any Ruby versions, anything like that, because I don't use Ruby really in Jekyll. So I was like, I don't want to mess with Ruby at all. I wanted to all be in Docker. And so the last time, say again?
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 want 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 I told 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 on this repo. I forget how it works. And it says, this is how it works. It goes and reads the Docker file, the read me file, et cetera. And then it's like, hey, this is how you run the project. Dock 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 a site, how you access the container for more commands, and then how a lab 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've seen the light literally in the moment. Every time he sees a light, it's just impressive, you know? I get it. Sometimes I'm blown away as well. But sometimes I'm definitely not. Oh, yeah. Like, it can be real dumb. And, like, I had an issue. Node builds, right? I wanted to build a project for ESM and CommonJS. 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 just went in circles for, like, over a network. I probably spent $50 in tokens, like, just going around and around. I took the initial prompt.
and gave it to ChatGPT-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 Tanstack does and exactly what Zod does. And it like showed examples from each of them. And I like, I just copied that and pasted 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 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 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 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 you can use a super cheap model to go actually implement it like gemini whatever this is like in real life isn't it like 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 gonna 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 you can tell pretty early when quad's just gonna spin its wheels right yeah go to someone else and give it to something else and like make them work together is is like the the suggestion i suppose because they will come to a solution better and faster than 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 use the prompts use the tokens the expensive tokens for what they're good for and don't waste them on on
the mundane like application work right can we go back to this uh agent experience you had where you fixed a bug and you have like 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 like a Roomba or a iRobot or something like that really 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 that was though we were like remove this file drop these feeds sequel query to do it It's kind of project maintenance. Yeah, that would be like data management. In that case, I think, you know, I'm fixing a bug. So it's maintenance and the fact that 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 cloud 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.
Because 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? Because 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 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 the 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 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, right? 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, 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, you know, 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, you know, do the changes and it will stop and think and ask questions based on that. I have like a whole bunch of prompts that I.
you know, tell it to ask me questions or wait on things. And then it will, um, it'll stop right there and then once we're done and i 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 you know 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 um i try and make it do things that i would do and then um and then you can do like a slash compact or slash clear i usually just do compact and that will like 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 you know fresh memory and then now we'll start on phase two and it kind of has like hints of what it did in phase one and it can go back and check you know obviously but Uh, then it kind of starts fresh with phase two and goes from there. And that's how I like, I really like to do it. So like 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, uh, 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, uh, you're AI babysitter. Yeah. Now ask me if I'm more productive. I was going to ask that. I was like, no, 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 for doing that in javascript and i'm working on a plugin for i've never used it's better off and i've never really like fully set up like sso from the start 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 totally. It would have been weeks. It would have been weeks or definitely 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 and prove 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 can 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 for everyone in the company, from engineers up to go-to-market folks or everyone in between. Just come to me with fleshed-out proof of concept. 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 Abinoda on the show last week. He brought some survey-based and some quantitative as well analysis of actual productivity inside enterprises. And they found that developers are generally 10% more productive, which for me was lower than I expected. But there are a lot of...
A 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 METR, M-E-T-R, which seems like it's actually a pretty well-run deal. Now, this is synthetic. 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 you're perceived speed as actual speed. And curious your reaction to that number. 19% slowdown seems like a bad deal compared to what everybody has been telling us. Yep. I believe it. And I also think that I'm more productive because of AI.
it's it's because well i'm a team of one right now so like i rely on conversations with ai like top to bottom it could be having a do code like write code it could be just having an architectural level discussion to flesh out my ideas before i go bother a real human you know i've knocked out all the low-hanging fruit i'm gonna sound super smart because i know everything because i've already had this conversation right and now i'm validating whether it was just you know being telling me what i want to hear which they love to do and i hate it so much um 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 gonna be different than june 2025 for sure definitely uh but also like we're all going through this right now like figuring things out it's like um we're just you know 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 it's like a slot machine you know and it's it's difficult to um to like hone in on what's going to get you to where you need to go and you might like change your process slightly and then waste a day because of that and that like obviously slows you down and so there's a lot of experimentation and it's gonna be interesting to see where it goes from this because like are we all gonna become super personalized who are 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 they under, like, I just, 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 bytecode.
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 in Ruby because that's more 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 a 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 bytecode. Right. You know, there's a layer. The layer I speak, you know, the layer you speak, we're 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 were 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 there like improvement efficiency was the terminology we're trying to like really capture here 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 to me 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 you're getting traction.
Even if you're incrementally moving forward, it feels like, you know, like this perception from humankind. It's like, yeah, I feel better about the work I'm doing. I'm enjoying it. Like you said, you're 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 like to that, I feel that there is a reckoning coming with that. We'll speak of it. Scary. Warn us. I have.
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, uh, 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 solve this hard problem. Cloud 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, sure. You know, I really like the code and solving 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 app, you know, you've solved a, you've created a feature in the app or you've done fix 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 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 that's not interesting to you, then maybe people start self-selecting out of this field. And that's where like 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 the 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 solve problems. And if that trajectory continues, not even at a parabolic pace, but just even like at a linear pace.
we won't have to maintain software like we have in the past, especially as the price of compute, you know, trends as close to zero as it can, which is what all the investment money is going to. It's 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 maintenance problem. 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 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 gonna build it right. That way you can continue at a pace that's sustainable. At the end of the day, I was after 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 of database software. You know, I might not write any software, but with cloud code, I might write some software today, even though I'm not gonna 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 that excites me. 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, Oh, except this is, it 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. 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 to crawl. They're pretty strong. Pretty good at this stuff. So these monkeys, they're branded to the room, branded 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, 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 to get like, I'll try one more time and they get blasted. They try one time, they get blasted. I'm belonging in 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, you know, get this these bananas. And they incrementally swap one of those monkeys out with a new monkey that knows the old instinct.
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 the previous knowledge and the old group's like, no, no, no, no. You can't get those bananas. I'm like, why? Bananas are great. Ladders there. Crawl. Banana. Water spray hurt. Not good. Anyways, I'm entertaining myself as I'm telling the 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 juxtapose that against this idea that you want this world. And I agree with that world. I think it's great that we transcend the need that my ability to write software. Well, it's predicated on my ability, my personal ability to maintain that software. So this aha moment you came to was essentially like, OK, 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 maintaining 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.
OK, to get to this point, I don't know if I want to live in a world where we no longer understand the code, right? 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 it's for us. Yeah, I mean, we think it's for us and we're designing it. 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 are not banana bad? Oh, we've solved that. We've solved that. 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 that's what it feels like. We are the last generation of code monkeys.
I get what you're saying, though, for sure. Right now, we're focused on the artifact, right? Yes. The algorithm, the file, the module, whatever. 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 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 autocompletions. Fine. But it approximates our thinking. And a lot of times they actually have better ideas than us because they're 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, Adam. 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. Well, thank you. Save us from as many monkeys 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 in my entire life? Like at the end of the day, you say, well, you never look at the assembly. You don't really know what it's doing. Because 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 want it in, you know? You know, maybe I'll take a step back then. So this is a great exercise of Avali. And so what you just said basically is that we can understand the code because it can now be spoken to us in a language we understand. So just because we don't understand bytecode or assembly anymore 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-prompter response. 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 not only have to use is the 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 call them scientists call them 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 graybeards. Graybeards. Graybeards. You know, the ones who still know assembly. They still write assembly on 8 p.m. on a Saturday, you know, when they have their glass of spindrift. 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 say 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 because if you're talking, are kids fine? Are 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 go back to like your great great grandfather? Did you meet your great grandfather? No. Our grandmother? I didn't either. Nick, did you? No. OK, 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. Pretty easy to get to. That's not even six. No, three is not six. No, it's not even six. It's not seven either. Just so you're clear. I mean, like three, not six. Monkey, don't double it on us. Okay. I'm stuck in my monkey. Monkey like banana. Yeah, monkey, lighter, banana. Good. Water bad. Water real bad. I feel like 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. Maybe so. The point I'll get 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 that's the constant it's like we will always struggle in humanity whether relationally interpersonally uh you know inside yourself all the way 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 then I almost wonder if like he wouldn't care. Maybe that's what you're saying. You just don't care because you can't understand contextually the empathy required or the care required beyond being human for the task challenge, you know, not the life challenge, but the in the moment challenge. It's just too far fetched. 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 there's 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. Wait, wait, what is a stick shift? I don't know. I'm just making stuff up here. Hopefully you guys don't notice. I drove a stick shift. Today? No. Not at one point in my life. I drove one once. Well, 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, little arrogant. Jared was too egotistical to say, when someone says, can you drive a stick? I, my ego was so big. I just said, yes. And I'd 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, uh, arrogance and youth are eternal companions. Anyways. I do think that with how, um, how fast you're able to turn out code now, um, and you're, you're, you know, potentially looking at it less, uh, 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, I'm on the assembly line, right? This is not handcrafted custom furniture. This is an assembly line. I got to get it out the door. Right. 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. 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 tense 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 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's out there doing HTTP three, if that's a four, I should say four H3s 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 bi-coded because it's like, take this thing and, you know, because you can kind of approximate it with it. But the point stands. I'm not saying they never go away. I don't think Codisart ever goes away, but. I have a kind of point. Go ahead. You. What?
i'm never a counterpoint i haven't been one yet how so i heard you on a podcast um 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 uh using using this to like the roi on like developing tools for yourself is too high in most cases you just yes but now you can and you have and you've made like little scripts and tools that's like the the artisanal coding right and you totally automated that way 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. 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. 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 say 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 what 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 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 going to be like, oh, I wrote this, but hang on. I got to just check with Claude to make sure. I lose all 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 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 have 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 gonna have way more of that kind of software, at least in the short term. But you're shifting away from the artifacts, right? And more towards the outcome. And the outcomes are great and they're wonderful and they wouldn't exist without this. But what do we actually want? Do we want artifacts or outcomes?
Are you a craftsman? I told you I had two minds on the matter. 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. And I realized at that time, 2004, 2005, 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 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. That's all me. Maybe that bumper sticker, I came up with that. I will say one other thing that's really cool is with this and with Claude, I'm sure other ones are like this too, but Claude's the only one I have the most intimate experience with, is that you have all of these secret words that you can use. You can tell it to use subagents and it will actually split off into subagents 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 we're finally to this point where we literally have incantations that...
get us to where we want to go. And like, 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, that makes me mad. I just 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 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 on. 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 trends towards nothing i should not have to tell it to you 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, but I can't figure someone out. Come on, Jared. Ultra think. It's like go-go gadget arm, you know? Yes, that's what I was thinking. I'm going to start using that. Come on, Jared. Ultra think. Oh, it's interesting times, isn't it? It does kind of make you question the value. There's like different layers of value to software. In enterprise, it's clear what the value is, right? But in personhood, in personal 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'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 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 craftsperson 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 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 Tron, you know? What did I say? In Tron, it was like... They were going down the line, like looking at each program and saying, you know, rectified or deleted. Remember that part in the latest trial when he said that? It's like, you're a bad program. You're not doing your thing. You got to be rectified and you get rectified and you come back out. New software that's doing the job versus 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. It's like humans care about time. We only have the window of time we have, you know, on this 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's a lucrative business there. For sure. Is there? In a 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 nine. Whatever your company is called. Use AI 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 slows down open source developers. Peter Nauer 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've been slowed down. Whereas in other areas and other contexts, you actually are sped up like Nick confesses to me. 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 um 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 can 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 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 and the data is not accurate. Maybe that's just temporarily accurate. 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 and 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++ 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.