About a month ago, I was trying to configure Rust Analyzer in the Zed code editor. And I got frustrated because the Rust analyzer config is nested into the Zed config, and it's JSON inside JSON, and there is zero autocomplete. You're completely on your own, there's nothing that helps you discover configuration options, you have to open the Rust analyzer configuration, and because it's nested, you never know if you're at the right level of nesting. It is really annoying. And it wasn't the first time that I got really annoyed at it. And I decided to do the only reasonable thing in that scenario, which is to post about it on BlueSky and Mastodon. And I said, I am dead serious. I will send cookies to anyone who closes that issue. And I linked the issue, the pre-existing issue with a lot of thumbs up about like, oh, we should use the JSON schema for the various language server protocol to, you know, provide autocomplete and validation in the editor, something a code editor is pretty good at. It's pretty supposed to do that, you know? And word got around. I even extended the offer to the Zed team itself. I was like, I don't care even if you're an employee of Zed, it's fine, I'll send cookies to you. As long as it gets done, I do not care who does it. And I got like very intense about it for maybe a day. And I forgot about it. And then someone picked it up and started working on it started getting the PR and shape and everything. I was so excited. I was cheering for them. I was like, please, please let it be that you've finished the PR and you get it accepted get it merged. It's gonna be such a nice story. And I have great fucking news, everyone. It happened. It's finished! Benedikt finished the PR and I sent him the cookies. And he received them and he sent me a picture that his wife took of him holding up the cookies. And the whole thing has been completed. And I get to see me and Benedict talk about it on camera to kind of recap how it went from both our perspectives. And also what's up for the future. Well, thanks for agreeing to speak with me today. I'm very excited that you got the cookies. You said your wife and encouraged you to tackle that issue because like you showed her the BlueSky post and she was like, Ahhh do it. Do it! It's pretty funny. And she was like, yeah, you always wanted to contribute anyway. So just do it. I did notice that it took a while to get the pull request accepted. Was there any moment was there any regrets? I was like, this is taking too long. This isn't worth cookies. On my side, no, I wanted to contribute to into Z for a while anyway, because I always send myself a signal note to self like, hey, you should do this. And then I don't do it. Yeah, this was the perfect opportunity and a little reward. Yeah, the Zed code base is famously huge. And I've had discussions before with members of the Z team about build times about CI times about like, I don't know how they do it if they just have huge laptops for everyone. But I was curious what Benedikt's experience was contributing first time to the Zed code base. I know that they're they've been fighting with CI times and everything. How was just opening the project the Zed project in Zed did like blow up your computer? rust-analyzer just had a stroke? It was fine for the most part. One time my computer crashed because it was out of memory. And I guess the Linux out of memory didn't catch it. Yeah, I mean, if it caught it, it would have killed it anyway. So yeah, that was really annoying. I really wonder I have to interview them next because I really wonder how they do it. They just have everyone have 64 gigs of RAM in their laptop or something. I don't know. You are a compile-time veteran so, yeah, but I don't think they're gonna rewrite their entire text editor—code editor, sorry—to have a microservice architecture based on shared memory plugins. I don't... I don't see it. One thing I wanted to broach in my call with Benedikt was when you start paying someone to do something that you used to do for free, it changes the nature of the relationship, it ecomes transactional. So there's different expectations because it's like it's not the same thing for me. If I'm like writing code for a friend just like to get them out of a pickle or if I'm writing it for a customer, client, then I'm billing them and I'm like, I'm approaching the entire thing very differently. So the question is like, what cookies qualify as money as like, would it change the nature of the relationship? I think it was more like a nice reward. And I say thank you for the contribution. I think the offer was trustworthy. Well, was it? Did you ever get the cookies? Yes. So here they are. And we've already eaten a bunch of them. And they are very good. Yeah, now they're not so many. Are there any issues that you would send someone cookies for? Yes.
Segment 2 (05:00 - 07:00)
That DDoS thing, it's really annoying at work, because for some symbols, we have like, it may be symbols which are similar, and you just don't get the exact match, but other matches, which are like similar enough. I don't set the algorithm, but I would set cookies for that. It doesn't take much to push someone and like get them to, to start doing something that they've been putting out forever. In this case, it was cookies, but it can be anything. For me, picking up Rust was someone else nudging me to just like, Hey, take a look at this new language. And then me struggling with it for months being like, this is bullshit. I don't understand any of it. And then the clicking and then me making a career out of teaching it to other people. Yeah, it doesn't take much. And I think that's beautiful. Benedict mentioned that he had been watching my channel and I was curious like which video was his favorite. Yeah, you're gonna laugh, but the funniest part was the one where in the game hacking series, you remember that where you explained the detour trade. All the comments on this video are like, we don't know what the fuck you're saying. Please, please use words. But I think that actually explained it really well, because it was so simplified in with regards to what is happening. That's what I was hoping for. I guess everyone who understood the video just never left a comment just left. Thank you so much for tackling this like even like cookies are no cookies. I am very thankful I don't I haven't really tried it yet. I don't isn't in a stable Zed version yet. You know, I don't think it is because it got merged shortly before Christmas. I don't think a Zed release. Amazing that we're doing this whole call and I haven't even tried your thing that maybe doesn't work. That will be pretty horrible. But yeah, it only works for rust-analyzer and ruff for now which is unfortunate. Well, I just tried in that preview and it's not in yet. So if you could please send me the whatever cookies are left, that would be that'd be nice. Since clearly the feature didn't get in. I'm gonna be laughing myself all the way to the grave that this worked. I am I'm so happy that I was just able to like business expense a bunch of cookies to someone just to get this fixed. It's gonna be so nice when it actually lands in a stable build. It's gonna be so nice to use. I'm gonna every time I'm gonna configure rust-analyzer now I'm gonna be like, yes, that's the stuff. I don't think it's a trick I can use for everything. But maybe you can maybe try other pastries or other projects. I don't know. It's just funny that it worked. I honestly did it half for the story. And now I get to share the story with you. You're. Freaking. Welcome. Bye