Read the full transcript
JR Reynolds: Hey, hey, hey, it's yelling at robots. ⁓ choppering in from his remote compound. He didn't know I was gonna start while he was out. it's yelling at robots. Yeah, go ahead. You wanna you have something you wanna say before? ⁓ I just glad everyone got a good look at my gym shorts. I'll f I'll futz it out. I'll put a blur on it. Don't worry. I'll put ⁓ I'll fix it up and slate it heavily. Make it look like I was naked and just ⁓ have dark blue In other regions. No, I'm gonna make it no no, I'll put some I will do some video tracking with a flesh-colored blob on there, and then I'll pixelate it and I'll make it look like your dick is out. All right, folks, it's yelling at robots episode We've Stop counting code red and action. Get ready. It's time for world famous yelling at robots. Starring tech legend, Joshua Raphael Reynolds. And ear Thalonious Fosberry, the show starts now. Hello Fasworth. Greetings, greetings and salutations. Hey buddy. I'm gonna make you Is it hot as balls there? I didn't ask you in earlier. It's not, it's not too bad. ⁓ it's it's medium. Yeah, it's kind of i it wouldn't be like you're tucked into the taint. It's more like you're sitting on the surface. well, you know, the heat really depends on where in the balls you are. Where in the ball sack are you l are you residing? Yes, yes, yes, yes. Two things we're gonna talk about today are one, the bun and rust rewrite. Our friend from I guess Anthropic now, right? ⁓ they got acquired by Anthropic, the Bun Bun people, the Bun, Bun Bun Jugglers. Finally posted a blog post detailing both the hows, the whys, and the details leading into that. It's been promised for months. Finally out. And I gotta tell ya, I was expecting a little bit more. It took several months to get this. Like it's Yeah, well, I mean, but come on. I mean, it's like you've had several months to write this. You were able to generate a million lines of code in 11 days. You can't write a like a real meaty blog post. Give me a little more examples. But it's not ⁓ well, I mean, I guess we'll get into it when we get into it. So we'll talk about the bun rewrite, and then we'll talk about ⁓ all of the insane work on floor forward deployed engineers. The mega scalers are really investing heavily, like heavily, heavily, a lot of money in creating organizations and infrastructure around forward deployed engineers for AI. That's it. That's what we'll talk about. And we have twenty four minutes and three seconds to do so. So let's begin. Nice pause. Yeah. Well that that'll give me a that that's a nice cut place. So up ⁓ you're frozen. You're frozen. Riverside, you piece of sh. Yes! Yeah, but it's probably fine. It's just buffering. Ugh. Juggling buns used to be easy back when it was implemented in Zig. Talk to me. Bun bun rewrite. So I want to just preface this conversation with like I haven't done any significant low level programming in my entire career. I Systems C blah blah okay. Yeah. I did I had to do C code or C plus plus, I don't even remember. In first year university. Mm-hmm. I did get an A plus. Thank you for But that was Good job. Good job. so I I I like I understand a lot of the stuff in this blog post, why they why they rewrote it. ⁓ but I think just to refresh everyone's memory, ⁓ how long ago was that PR? Was it ⁓ it must have been like two and a half, three months or something. Two and a half, three months ago. It's been a while. It's been a lot longer than we thought that it would have taken for this fing blog post to come out. The but refresher, it was I think maybe the largest PR in history. Mm-hmm. A million lines. A million lines. It was a million lines, right? Yep. Million lines. Amazing. Like it couldn't even the GitHub UI couldn't even render it. Yeah. ⁓ a lot of it. It was a f nightmare for GitHub. But it was a one shot rewrite the entire thing from Zig, which is what sorry, go ahead. Well, no, just like imagine the you know, w my favorite is like there's a junior engineer who's like, Okay, ⁓ it's your first day on the job here at Anthropic. So we like you to just get associated by reviewing PRs and whatnot. And then he gets he's like, All right, so here's your first PR. I don't know. It just would be amusing. So please continue. ⁓ I do remember PR yeah, I do remember is it is it Jared Sumner? Is he the is he the I think so. I think that's the guy's he's the guy. Jared Summer. And he was the one who also put up the PR, I think. And I think I remember in the PR him being like Jared Sumner, yeah. I'm pretty sure this is working because all the tests are passing. Yeah. And then like a day later there was like merged and we were like, whoa. Yep. Yeah. And we talked a lot of sh about that, I think, on our on the on the show. And and we were probably. ⁓ yeah. And we'll continue to talk a lot of sh, but now the the the details are out, or at least a a much deeper because the I think the you know, the part about that that made it very prone to sh talking too is like, that was it. It was rewrote Bun and Rust yesterday, merged. It's like Yeah. And from the standpoint of like, you know, I guess our minds it's not making making safe change from the standpoint of like making safe change. ⁓ doesn't feel super safe. That that one didn't feel super safe. Right, right, right. Right. So but but ⁓ so I I I I've only used Bun to just like execute TypeScript code as well. Like I haven't used it as ⁓ full runtime for any projects or anything like that. ⁓ the the other thing thing to know about. Sorry, and I guess also just for context, for those of you who don't know, Bun was originally written in a language called Zig, which is a very low-level language. It's also what ⁓ Mitchell has Hashimoto and team have written Ghostian ⁓ and a bunch of other projects. But it it is a it's a very low-level performant language that is big on being explicit. And you have to manage your own memory. And the memory thing is where things got tricky for the Bun team, it sounds like. And I think that part of that is because it seems from reading like like he digs into like the problems they've had, a lot of bugs they've had to fix over and over and over. They would see these these classes of bugs that were all memory related. And part of the problem I think they were dealing with, and correct me if I'm wrong, Josh, is that it wasn't just zig, but they're also like embedding some C libraries. They're also having to deal with the JavaScript runtime. They're also having to do all these other things. And it's like anywhere in the code of Bun, you might be It it seems very hard to tell sometimes like, is this memory free? Did I free this memory? Should I f do I free it again? Like they they're having a lot of those issues and that a lot of the bug reports that they were dealing with over and over and over that felt, I guess, untenable to them at at this point were the reason that they chose to rewrite it in one shot. And because they got acquired by fa ⁓ by Anthropic, right off the top in this, the guy was like, We got acquired. And they just handed me Fable and I was Let me just open up my veins. Let's see what happens. Take it straight into my f yeah, mainline this sh Yep. Yeah. Yeah. Yeah. Yeah. Yeah. So ⁓ do you know, Ian, do you know offhand like why someone would pick Zig in the first place as opposed to C or Like why choose Zig as a language, as a systems language? And by systems I mean low level systems, kind of high performance. I don't know. 'Cause it's cool, because he saw it on Hacker News. It might No, seriously, he says like ⁓ started ⁓ as a line for line port of ES builds, JavaScript, and TypeScript transpiler from Go to Zig. So that's interesting too. I guess he took ES build, which is written at Go, and then he like one line ported the whole thing into Zig. Yeah. ⁓ he doesn't really say I bet on Zig after seeing the single page Zig language reference on Hacker News and getting really excited about the low-level control and care for performance. So I think it is, it might I don't I I haven't looked at any benchmarks recently, but like I guess unless you're like a total C ninja, you can probably get some baseline performance, better baseline performance out of a language like Zig, because it's it's they've already kind of built that into the language. Whereas with C or C<unk>, like you have to know what you're doing all the time and maybe you didn't. I don't know. And by reading a hacker news post. I don't f know. I've been there, man. Come on. We've all been there. Yeah, but also like maybe that's why there were so many problems in the Zig implementation. Right. Right. So we've we've talked to some of our friends and they, you know, they've said maybe it was just skill issues. Yeah. And by skill issues, we don't mean your skill MD file was not prompted correctly. We mean you did a lot and kind of didn't know what not like well I don't that That sounds too aggressive. Like, I have n we have no idea what the deal was, but it's certainly possible that and I think ⁓ Jared alludes to this that like some of the implementation choices were not particularly suited to the language or at least like have led to memory problems there that would not otherwise be there in a Zig implementation. He kinda does spell out that a lot of the stuff that they had to do in To keep things working in the in in the way they had built it with Zig was like because they're having all these like misdirectional areas of the code where they don't know what what is happening with memory, actually, like he talks about like having to maintain style guides as enforcement to try and make sure that our code is good and we're not having these these problems. But like at one point he talks about like having to if if if they're passing these points of references around in Zig and it's hidden a lot of different functions and how do we know when it's that memory is no longer accessible or like the it has it been cleaned up or whatever. Like he was like our current approach to managing this is having these things called arena lifetimes where scope isn't ⁓ where scope of when it it when it's accessible is clear. ⁓ having keeping count of references. And then the third point is pay really close attention. Which I mean if that's one of your things you do to make sure your code is working, I feel like you're already kind of in a bad place. And I feel like maybe ⁓ this might just be they coded themselves into a corner. Yeah. Jared, implement Rust and Zig. Make no mistakes. Yeah, exactly, exactly. ⁓ he does also mention the the whole style guide thing, which I don't know if y this is just a bit of a tangent, but the have you looked at or watched the Tiger Beetle team talk about Tiger Beetle ⁓ the their database and and their tiger style for like developing. There's a link in the there is a link to it in the in the blog post. ⁓ it is really good. I I I highly recommend everybody it's based on like NASA's ⁓ some NASA like code styling about like principles about how we keep our code, you know, clean and conventions we have and how we keep it performant and safe. ⁓ it's it's interesting. ⁓ And their site their website they made for Tiger Style is very nice. But I think that the move to Rust is a little bit more understandable for these folks because a lot of the memory issues that they get in zig and ⁓ and and these errors that happen become compiler compile time errors, right? Yeah. And so they know ahead of time that places in the code where this might be happening. So I don't know. I mean It is a bit of a meme rewriting things in Rust, like the internet and developers at large, like it's a joke you make it work all the time about things. But like this is the ultimate example of I guess it working. I don't know. The pieces to me that like is is most interesting here in terms of what does this mean for software engineering and kind of for the future is I think there is something to be said for if you can shape a smaller unit. Such that it's like it actually can be a black box in there and we don't care what the agents do. Like we don't care how it's implemented. there might be something there in terms of being able to like, yeah, I guess n be less ki give give less of a sh. I think you I yeah, I I think you still need to understand it, which it seems like he does have a deep enough understanding of how the the differences between Rust and and Zig. Yeah. to be able to make this move. I ⁓ for sure. I also think that like the he does he does talk about it in the in the article, like the the gains they got, which is like re reduced memory usage. So like the whole thing about using drop or implementing drop in Rust, drop is like how you clean up memory after you're done. ⁓ it's automatic. And rather than having to do that everywhere you're calling something in zig, you just do it once and it just like it will take care of itself. And in doing so they actually like removed a bunch of foot guns and ⁓ fixed a bunch of memory leaks like out of the gates. And that's cool. They also ended up with a smaller binary, which is cool. All right. So now it's smaller and it runs. It it it takes up less space when you when you use it, ⁓ when you download it. ⁓ and it is faster. So those are those are big wins time will tell. I guess there's a couple of interesting things. Time will tell Is is you know what's the bun adoption like like was bun is is bun just a custom tool for for anthropic now or like what's I mean yeah that's that's kind of a weird thing because like I would I I didn't know certain things about bun like I didn't ⁓ as a runtime but ⁓ Alexei was telling me about it last night but like the there's a bunch of like built-ins in bun that Node doesn't have like all the database clients like there's an S3 client a Postgres client ⁓ MySQL SQLite like it's just in the the standard library. Right. So you don't need to worry about doing like importing and learning other libraries in your code. It's just part of the bun runtime that you can use. That's interesting. Yeah. Because that's the thing that you pretty much always fucking need, right? Right. like one of those things. And then and then on top of that, because it is what it is and the way it and and the language that it's built in, it is it's way faster than like the JavaScript versions of those. ⁓ or the the no. ⁓ definitely. Yeah, but you should def I mean like if there's one thing I've learned through my twenty plus years of software engineering, you should never use JavaScript. Who the f what kind of dumbass uses JavaScript to build a thing? Just kidding, everybody. Just kidding. I'm not kidding. Seriously, it's sh. I'm still better. Alrighty, and that looks like looks like that's our time. yeah. We we used it all up on buns. Do you want to really? Yeah. Check check the clock, baby. This is what I get for doing this full screen garbage. I can't say I can't say. ⁓ did you do full screen? You did full screen too. Also, you're frozen. You've been frozen the entire time, but I'm just assuming after our chat that Riverside will figure it out. That Riverside will be able to figure it out. I tell you what, I'll give us an extra two minutes if you want to talk about four deployed engineers. These little piggies went to market. To take all your cash. For deployed engineers, ⁓ for me it feels like a big smell. So feels like a big, big blinking alarm, red light, that these hyperscalers who have essentially bet the farm on mega growth and that all of this capital like, you know, trillions of dollars of capital expenditure is gonna pay off. don't believe that it will and are are desperately trying to force into like look, I guess the uncharitable what's the what's the charitable view is dra dramatically changing your approach to building technology is really hard. Change in an organization is hard. It needs specialization and you need special people who can come in and help an organization adapt and transform. That's the charitable view, right? This is hard, it needs expertise, and we think you you should pay us for our expertise to help you benefit from all this amazing things. The understanding Really quick, really quick. Sorry, just pause for one second, because if anyone is listening to this, they might not know what the hell you're talking about. For what is a forward deployed engineering team? A forward deployed engineer is essentially an embedded engineer from a vendor or a service provider who goes into a company. And embeds into the engineering team and brings their expertise of the thing that they're trying to use to make the build out adaptation much, much faster and benefit from that. So in that regard, it's like, yeah, embedded expert, but works for that other company, works for your service provider, is also a spy within your company who has their own C I never thought about that. ⁓ dude, totally, man. You got a spy. And you're paying for it. You're paying out the nose for this. ⁓ So so the charitable view is like, yeah, that makes sense. Okay, fine. The uncharitable view is why do I have a toothbrush in my hand? The uncharitable view is, folks, I can't stress enough the importance of good dental hygiene. Take it from an old man who's had many teeth replaced. the uncharitable view is these guys are freaking out and see that their customers and adoption, you know, see all the messaging and all the things that's like. Juries entirely still out on whether this sh is worth the spend and are freaking out and need to like are willing to pay anything to get people inside to continue to convince and cajole and force the adoption of these things. The last thought on that before you I hop over to you is I've seen some parallels drawn to business models of the past with products like Oracle or these databases that like adopting this technology is. so insanely such an insane huge amount of work or SAP or one of these kinds of like ERP, these mega death systems that also are a hundred percent vendor lock in. And you can draw also draw the parallels here of like, ⁓ let's go ahead and forward deploy anthropic in here and get you into our system and get you into our, you know, it's like and then you're suckling at the anthropic t or you know, it's like, so I I really see those parallels to ⁓ you know, it's like, hey, we have a product The value proposition isn't clear. We're gonna just, you know, but we can sell an executive on buying some FDEs who then will shove it into your organization and get you addicted and hooked, and then that's our revenue stream. Over to you. Yeah. Yeah, I mean, in principle, I I do agree with the idea. It's like, you know, I mean, because this is kind of how I always thought about being a consultant was like help help a team get better, build a thing. set up good practices and then leave them self sufficient, which is what the Amazon Post reports. Yeah, everything you're saying, I was like, with with all the context of everything you're saying, you're like You're gonna you will you even leave them self sufficient? I don't know. And secondly, yeah, now they're now they're locked into whatever the hell you built that you probably had no you had no you had no incentives to build it in such a way that they could rip that system ⁓ rip out AWS or whatever from that system and use something else. Like these are the insidifiers. They are not going to come in and help you gain independence and benefit from this in technology. They want to f get you hooked and then squeeze your dick until it pops off and they can fry it up in a frying pan and put it on a hot dog bun and eat it in front of you, laughing all the way to the bank. That should be your prompt for this segment. Let's see what the AI spits out on that one. ⁓ yeah. Definitely not. In fact, I I mean trust me, the guardrails I've been using the Google Google ⁓ quite a bit. Their guardrails are are pretty tight, actually. For sure. ⁓ yeah, ⁓ I've already it's true. And we already got one strike, Josh. We already got one strike. I do not want to get our YouTube locked down. ⁓ In shidification part three. ⁓ yeah, no, I mean that's kind of like my you know, these companies can't be trusted. They do not have your best interests in mind, for sure. They are Definitely look, you know, as as my good friend Ian Fosbury likes to say, the price of a brick is going up, my friends. And these four deployed engineers, they're your pushers and they're gonna get you they're gonna teach you how to cook. I mean they eat in AI. They're gonna teach you how to cook. They're gonna teach you how to how to really use that crack butt. They're gonna use They're gonna help you set up the best rig you could you could design. Yeah, yeah, yeah. ⁓ all right, folks, that's it. Next time on the show, we are going to talk about what we're gonna talk about. ⁓ the big lawsuit. That's right. We didn't have time for it today, but ⁓ Apple, the d giants, the Giants are suddenly gonna slam into each other. Apple is suing OpenAI. We'll get into it next week. ⁓ please join us for that. And until then, this has been yelling at robots. Yep, yep, don't forget. It's wrap. You just survived another episode of Yelling at Robots. Better luck next time.