Steve Klabnik
Appearances
Oxide and Friends
Scaling Bluesky with Paul Frazee
Hi, Paul. Good to see you. So what I remember it being like is like somebody had posted like, thank God this website is so small that my boss isn't on here and can't see what I post. And it was like three days after I invited you. And so I was like, oh, shit. That's my recollection of this story.
Oxide and Friends
Scaling Bluesky with Paul Frazee
So Quiet Posters is basically a feed that takes the people that you follow who don't post very often and only shows the posts from them. So some people who are mentally healthy don't post as much as someone like, say, me, who is horribly broken as a human.
Oxide and Friends
Scaling Bluesky with Paul Frazee
And so if you want to see those good, healthy posts of the people that post, say, maybe once a day instead of once every 10 minutes, you can just load up Quiet Posters. And that way you can keep up with friends who maybe get lost in your stream because you're following too many people or whatever else.
Oxide and Friends
Scaling Bluesky with Paul Frazee
I got three things. One, scenes sound amazing. Two, I understand why you removed them. Three, naming a feature scenes is not beating the blue skies made for 38-year-olds allegations.
Oxide and Friends
Scaling Bluesky with Paul Frazee
I got a month left of being 38, but I've only been theater kid adjacent, so I get hit 1.5 times than a 2X on that one.
Oxide and Friends
Scaling Bluesky with Paul Frazee
It's some real stick-out stuff. Like, they know how to make people upset, which is not like a giant, like, fuck you at somebody just to be like, you know, you make good points, but I think you're just a little wrong about this. And it's like, oh, man. Yeah.
Oxide and Friends
Scaling Bluesky with Paul Frazee
I thought it was cool to use the domain names, but at one point it really hit me. I don't remember which account it was, but during the massive uptick in growth, people join and you always wonder if it's really them or not. And I remember seeing a post that was by the domain name of some news organization or something probably, but just being like, oh, I know that's their account.
Oxide and Friends
Scaling Bluesky with Paul Frazee
And that's actually really, really cool. And obviously... I don't know how lay people, you know, know about that kind of thing or whatever, but it definitely like really, there was a specific moment where it really sunk in for me as like, this is more than just, you know, piggybacking off of another internet protocol to, you know, name things.
Oxide and Friends
Crates We Love
This is where Detone tells us to reach under our chairs, and we've all got that crate sitting right there. Exactly, I know.
Oxide and Friends
Crates We Love
No, I think spot on. Maybe like 50 or 100 or something. But yeah, path to error, we've definitely used. I mean, I'm sure you've seen those JSON errors that are like, yeah, no, I failed to parse. Byte 6015, is that helpful?
Oxide and Friends
Crates We Love
That's right. In fact, so unhelpful because you're like, maybe I could figure out the 615th byte. Like, that wouldn't be the hardest thing in the world, would it?
Oxide and Friends
Crates We Love
Okay. So rain, while you think of the answer, I would just say, have you ever done this brain? I go to chat GPT and I think like, yeah, surely there is a crate for this. And I describe the crate that I want. And I,
Oxide and Friends
Crates We Love
a thousand percent it's like all you have to do cargo ad smorgasbord then smorgasbord you know colon colon whatever and it'll do exactly what you want i'm like thank you so much gen gbt like crate doesn't exist or it just exists or it exists and it does something totally unrelated to it but i've never got it i've never had it say sorry like nope nothing
Oxide and Friends
Crates We Love
I used to like hold my finger at a place when I wasn't sure what decision I wanted to make and then like choose one and be like, nah, nevermind. And like back up one. And then like, I started getting a stack of like, I can't hold three of my fingers in three different places in this book at the same time.
Oxide and Friends
Crates We Love
I bet he asked for both. I bet he told both of you that he was only asking you because he's a pro.
Oxide and Friends
Crates We Love
I think you can safely say that it overshot the mark. How did you not reference this to Alexander when he was asking for a book that influenced you most significantly? Like, like fish skunk works.
Oxide and Friends
Crates We Love
Orhun, who is a maintainer for Ratatouille, met over at Rust Lab in Florence, Italy, which I've mentioned a couple times on the pod. And he's going to be joining us in two weeks at 9 a.m. Pacific, which is some other time in Turkey. So, yeah, really excited to be talking about Ratatouille with him.
Oxide and Friends
Crates We Love
I mean, to the contrary of being a popularity contest, I mean, how many crates have you gone to? that have a really thoughtful, like see these other crates section. And I really appreciate it because not that they're apologizing for existing, but explaining like, no, this is not NIH.
Oxide and Friends
Crates We Love
How many of the three books that you and I have both read have most influenced you as an adult? That's right.
Oxide and Friends
Crates We Love
Like I built this because I looked at these other things and I evaluated them and they didn't meet my needs, but they probably do meet your needs. So like, don't use my thing just because I built it. Like go use the thing that meets your needs. It's incredibly thoughtful.
Oxide and Friends
Crates We Love
I'm like my – I'm like reeling. I feel like this is a quiz I did not prepare for.
Oxide and Friends
Crates We Love
No, I feel like the – Okay, can I have a hint? Can I phone a friend on this one? So are we talking about like in the – Technology domain. Is that what you're saying?
Oxide and Friends
Crates We Love
Yeah. I remember that being something, I'm not sure if we did open an issue or not, but yeah.
Oxide and Friends
Crates We Love
Holy shit. I mean, I don't think this is right, but I feel like the quantum dot was what you recommend.
Oxide and Friends
Crates We Love
And then what did we name our group after at Sun? There you go. Ben Rich's Skunk Works.
Oxide and Friends
Crates We Love
I don't know why that's like, that's the only thing, literally the only book I can think of in that moment. It was like, I'd name another book. I couldn't, I couldn't name another book.
Oxide and Friends
Crates We Love
Yeah, you better try it. But no, it was a great one. And great job getting Simon and Mike on. Those guys are delightful.
Oxide and Friends
Crates We Love
I don't know about the specific differences, but Cliff definitely looked at Postcard whenever we were doing the Hubris serialization stuff. It definitely took a lot of inspiration from it, but did ultimately decide to design his own thing.
Oxide and Friends
Crates We Love
I have, but not that episode. I didn't realize that we were stealing from another great artist.
Oxide and Friends
Crates We Love
Yeah, this is great. I've known about this for a while, unlike some folks. But I've sort of resisted using it just because it felt heavyweight, if you know what I mean. I think exactly as you're saying, Rainn, about this this kind of dichotomy between kind of big framework versus kind of lean and mean. Um, but this is a great endorsement and a good reminder to go at least kick the tires.
Oxide and Friends
Crates We Love
Next time I come across a problem that feels like it might be up at graphs, graphs, um, alley.
Oxide and Friends
Crates We Love
I don't know. I mean, I guess just other podcasts. I don't know, but I, I, you know, I think I was looking for it. I didn't realize that we did. Do we have an open relationship like that?
Oxide and Friends
Crates We Love
Now we're here. So in the typify create that I wrote to do JSON schema to Rust code generation, there's a bunch of graph-like problems to it. In particular, you've got to find cycles. And if you find a cycle, you want to break it with a box as you generate this kind of containment cycle. As you look at derives, you kind of maybe want to look at strongly connected components.
Oxide and Friends
Crates We Love
So I started looking for Rust crates that implemented these SCC algorithms, and that's where I came across PetGraph.
Oxide and Friends
Crates We Love
PetGraph is pretty well known on the forums because when people say like, oh, Rust can only handle tree-shaped data structures, a very common thing is like, well, did you try PetGraph? Because it's like old, it's not...
Oxide and Friends
Crates We Love
Old as it may be wrong, it's been around for a long time and therefore is well known largely because it was kind of the first, like you want a graph like data structure, like, okay, here's like a good, easy one to use thing.
Oxide and Friends
Crates We Love
Well, I just mean, I look at my list and David is here in the audience. I assume just to bask in my fanboying for him. But, you know, I look at my list. There's so many crates that David Tolney has made that I appreciate. And I'm going to kick it off just with one of those because one of the ones that I stumbled on, you know, I write a bunch of macros here and there.
Oxide and Friends
Crates We Love
Oh, yeah, that was from way back. Yeah, I'll put that in the notes.
Oxide and Friends
Crates We Love
I'm going to name another mainstream crate that everyone knows about, and it is a D12 crate, but I am going to give a particular shout-out in it, which is SYN, S-Y-N, the syntactic partial crate. Now, the shout-out I'm going to give in it is that, like, the more you can do things like every sin has thought of more things than you think of. Like, so for example, I've had a path. I'm like, Oh, okay.
Oxide and Friends
Crates We Love
I want, if the path is exactly of length one, and if it matches the string, then do a thing. There's a built in for that. If you ever find yourself dealing with a function or a structure that has a bunch of generic parameters, there's a function that splits it up in exactly the way that you want for doing a derived macro. So this is only to say spending a...
Oxide and Friends
Crates We Love
quiet time in the tub or whatever, like reading the docs for Sin is time well spent. And there's like lots of stuff built in there that anticipates the things that you think you might need to build by yourself.
Oxide and Friends
Crates We Love
Do you, do we say hash or, or, or pound? I think I say pound. Yeah.
Oxide and Friends
Crates We Love
I am frustrated with Rust format. Brian, not in the way that you're frustrated with Rust format, but I want to use it in kind of a library context, and that's challenging to do. Oh, what do you mean? Go on. That's interesting. Well, so I stumbled. I was like, surely David, writer of all macros, has done something for this. And yeah, so there's a crate called Pretty Please.
Oxide and Friends
Crates We Love
I have a shout-out for a crate that's sitting in a sea of undifferentiated crates, more so. That is to say, if you're searching for, I want the dwarf parser, you're going to find it. I really like HTTP mock. There are a bunch of HTTP mocking crates out there. And in fact, I think in our OpenCron repo, we use all of them by accident. But HTTP mock is the one that I really enjoy the most.
Oxide and Friends
Crates We Love
And in particular, it gives you a little closure. with a structure called when, and then another structure called then. And then you do kind of manipulation on when to define the kind of predicates of when you want the response returned. And then the then is the actions taken as a result of the HTTP query. I really like it. I really like the way
Oxide and Friends
Crates We Love
It, you know, I think that there are some crates that kind of like vomit their guts out. And this is one where it really presents a nice user experience, a nice user interface. And there's a bunch of complexity underpinning it that allows for that nice interface. And I really enjoy that one. It's my favorite HTTP mocking crate, if that doesn't make me the world's biggest dork.
Oxide and Friends
Crates We Love
Yeah, interesting. So what have you used this for? So we use it in the... So I wrote the progenitor CLI generator, and I wanted to have end-to-end validation of running CLI commands. The CLI is built in CLAP as well. So I wanted to do that, but not against a real... you know, oxide server. So we actually auto generate additional traits for HTTP mock.
Oxide and Friends
Crates We Love
So then you can make type checked, um, mocks against our API. So like the, the CLI is banging against this mock server to validate all the different, you know, CLI sub commands that we, that we emit or that we create.
Oxide and Friends
Crates We Love
Yeah, it's just a nice interface. I just really appreciate the way that it operates. There's some limitations. I think there are other mocking crates where you have maybe more flexibility or you just get a generic function where you can respond with whatever you want. I think the constraints associated with this allow you to build something that's a little more type-safe.
Oxide and Friends
Crates We Love
And it is for doing rust formatting, like formatting of code. And what I really love about it is it's kind of tersely opinionated. That is to say, look, I'm not trying to be rust format. I'm just trying to make things better, like pretty. Like I'm pretty printing the thing. I'm not formatting the thing. And if you don't like it, well, you know, get out of here.
Oxide and Friends
Crates We Love
I definitely need to be using this in three different places. Thank you so much, Rain.
Oxide and Friends
Crates We Love
And there are a bunch of like, I think there have been some PRs in issues of the form. Like, could you do it a little bit differently? And I really appreciate that David's kind of like, no, you take it or leave it. If you don't like the way it's formatted, then maybe format it differently. That's fine. But it has been a godsend for a lot of the testing that I've done for these cogeneration crates.
Oxide and Friends
Crates We Love
So for example, progenitor, you have like three lines of macro that it poop out like 60,000 lines of code.
Oxide and Friends
Crates We Love
Well, in particular, when I'm dumping that into a file for test automation or whatever, yeah, I want it to be at least vaguely readable. And I've used Rust format in the past, but there's a bunch of challenges associated with using Rust format in a programmatic context like that. And Pretty Please has been fantastic, exactly what I needed.
Oxide and Friends
Crates We Love
This is great. I kind of can't believe we haven't done this before. And we're almost certainly going to do it again. I feel like a good pairing with our books in the box.
Oxide and Friends
Crates We Love
It's going to help you. Yeah. Pretty please. I think exactly what you want in that. Like you mean you, your code generation is like emitting new lines and stuff like that. Yes, that's right.
Oxide and Friends
Crates We Love
Totally. This is what I've fallen in love with, with regard to like Rust macros, which is you can use another David Crate, the quasi-quoting system. So you quote code that looks like Rust code.
Oxide and Friends
Crates We Love
and then pretty please we'll just clean it up so you don't have to like just live in this cave person era of like strings on strings and doing your own semi-formatting here and there and the beautiful thing too is like your code generation in macro context can be exactly the same code that if you want to generate code and dump it into files and i think it just allows for
Oxide and Friends
Crates We Love
really, like, debuggable, testable, understandable code, as opposed to, as you're saying, Brian, like, kind of this swirly code generation that is also interspersed with formatting.
Oxide and Friends
Crates We Love
I mean, that was the tweet, right? Like, I feel like David has done so much stuff in this kind of domain, too, that surely David has found this problem. In fact, I'm going to cast this open to David and to Rain, who's bumped into this. You know, one of the things that I struggle with Rain...
Oxide and Friends
Crates We Love
is a problem I saw you working on in Dropshot, which is one of the things that Sin, another different totally create, does very nicely is like turning errors in the Rust macro context into code generated errors to help debug and stuff. And one of the things I saw you do in Dropshot was like, collect a pile of errors to then emit all at once.
Oxide and Friends
Crates We Love
And I'm sort of surprised that there wasn't something you reached for to say, as you encounter problems and errors along the way, accumulate this list so that you're not just failing on the first problem, but actually emitting a bunch of errors for the user to then handle all at once.
Oxide and Friends
Crates We Love
No, never. Actually, you know what? Rain may have pointed me to this a while ago. But Rain, just to be clear, this is not in macro context. When you say it kind of draws inspiration from Rust C, it's not like it's for if you're processing some other kind of document or whatever and you want to draw on that kind of concept. Okay, cool.
Oxide and Friends
Predictions 2025
Training humans to resist phishing and other things didn't work, so why is training AI going to suddenly make it work?
Oxide and Friends
Predictions 2025
Yeah, I got all three, but I like the one-year, three-year, and then six-year format. So I think that this one perfectly embodies the prediction is more about the present than it is about the future. And this one maybe sounds simple, but it's a little spicier than that, which is congestion pricing in Manhattan will be an unambiguous success. That's my one.
Oxide and Friends
Predictions 2025
So the reason why like I think that this counts, even though we've had two good days, is that like both there's still some lawsuits from New Jersey, which didn't manage to stop it from happening. But my understanding, they're still kind of in play. And secondly, Trump has said that he wants to make it illegal. And they've been talking about passing a law in Congress that would make it illegal.
Oxide and Friends
Predictions 2025
And so I'm not even sure that like with these two days being pretty clearly accomplishing the goal that it will survive. Uh, but that's kind of the, like my, my, I think it will serve the legislation or it will survive as a thing. Like it won't get a law made against it. And that sentiment will be more positive about it now than it, or that in a year than it is currently right now.
Oxide and Friends
Predictions 2025
mine from a year ago was apple vr related as well which obviously three years or six is much bigger than one but it's very interesting i think specifically because i said apple vr will do well but not take over the world so that means like do a second revision uh and they just announced last week they're stopping production on the current apple vr like so it's like almost to the week they've ended so i'm not gonna say i'm right or like wrong you know but it's like interesting because i was like yeah i think it's gonna do fine and i think
Oxide and Friends
Predictions 2025
Um, still, I would try to make it like, you know, you need actionable metrics for success. Uh, there's a new Chris, there's a new Chris am video today. So I went and watched all their old, other old ones. So that's stupid sketches on my brain. But yeah, no, I was trying to like figure out how to quantify what I meant by like meh, not amazing, not terrible. And so, yeah, we'll see.
Oxide and Friends
Predictions 2025
Adam, in your professional capacity as a CPA, should I be worried about my oxide options if there's going to be a shortage?
Oxide and Friends
Predictions 2025
Yeah, so I'm turning this into a parlay with my six year from last year. So my three year is some government contracts were going to require a memory safety roadmap included in their procurement process.
Oxide and Friends
Predictions 2025
So the government has currently suggested that by next year, software vendors should have one. And so I think the next step after that becomes the, you need to have it whenever the government is procuring software from something. And not necessarily all of it, but a little bit. And so... And that's because my sixth year from last year was C++ is considered a legacy programming language.
Oxide and Friends
Predictions 2025
And so I think that that step is the thing that really accelerates that occurring.
Oxide and Friends
Predictions 2025
If only they were advanced enough to describe the taxi for your Snickers bar, then it would have been more successful and turned into DoorDash for real.
Oxide and Friends
Predictions 2025
Do you think the PlayStation 5 will have a double-digit number of games by the time they come out with the PlayStation 6?
Oxide and Friends
Predictions 2025
Yeah, so my sixth year is... So basically, AI is not going to be the hot thing. And what I mean by this is the same way we started this episode, in many ways, talking about how Web3 was the thing everybody talked about the whole time, and so we had to can it. It's pretty clear that I think Web3 gave way to AI now being the cool technology du jour that a ton of money gets thrown into.
Oxide and Friends
Predictions 2025
And so I'm not saying AI won't exist or won't be useful or whatever, But the cycle will have finally happened where some other thing becomes the thing that you just get a blank check for having a vague association of an idea of what a company might do in that space.
Oxide and Friends
Predictions 2025
So you are asking the comments like, what's the other thing? And I'm explicitly not, I have no idea. I am not a fashion predictor. I have no idea what will be the next thing. Just that something will be.