The Standup with ThePrimeagen - Casey Muratori's Origin Story

Episode Date: August 14, 2025

🔗 Sponsored by Code Rabbit https://coderabbit.link/primeagen-vscode #sponsored https://twitch.tv/ThePrimeagen - I Stream 5 days a Week https://twitter.com/terminaldotshop - Want to order coffee o...ver SSH? ssh terminal.shop Hosts: @ThePrimeagen @trash_dev @teej_dv @caseymuratori For more about Casey: https://www.computerenhance.com Become Backend Dev: https://boot.dev/prime (plus i make courses for them) This is also the best way to support me is to support yourself becoming a better backend engineer. Great News? Want me to research and create video????: https://www.reddit.com/r/ThePrimeagen Kinesis Advantage 360: https://bit.ly/Prime-Kinesis Discord https://discord.gg/ThePrimeagen 00:00:00 - Intro 00:01:12 - Running Galaga at compile time 00:03:09 - J AI 00:05:36 - The Ginger Bill Business model 00:08:24 - OCaml + Rust features 00:10:14 - Back on topic 00:15:11 - Handmade Hero and inspiring others 00:19:03 - Conferences

Transcript
Discussion (0)
Starting point is 00:00:00 Charlie, hey, what's the name of the stand-up today? The stand-up. It's always the stand-up. Welcome to the stand-up. It's the same thing every time. We don't change the title. It'll be Trash's snack addiction right now with his microphone on. What are you doing?
Starting point is 00:00:15 I'm getting my 9 a.m. Doritos. Hashtag ad. You guys don't get some. Oh, yeah. My 9-A. My 9-A.m. chip break. Could you tell us a little bit about the flavor, or dare I say, taste sensation that you're experiencing right now.
Starting point is 00:00:31 All I'm saying is that I didn't make, I don't ever eat breakfast, but when I'm sitting like in a meeting, I just have to snack. Okay. I just don't know. And then I just, I bought these yesterday after dinner. I got party size. Because it's always a party with trash. Yeah, yeah, yeah, yeah, yeah, yeah.
Starting point is 00:00:48 Yeah. Anyway, sorry, I forgot to do the intro. Hey, everybody on today's standup. We're going to be listening to Casey. And then trash just left. Rumed my entire view. Thank you. Today we're going to be listening to Casey.
Starting point is 00:01:01 Hey, Trash, he's back. We're going to be listening to Casey. Give his origin story. Very exciting. Casey, take it away. So the origin story is not even going to be three minutes. I'm going to have to pad this thing. What happened was that Jonathan Blow started, I don't even know you'll have to ask him.
Starting point is 00:01:24 He decided to stream his compiler. a demo of his compiler. That's what actually originally happened to start it because I don't know if you remember, but he made like the J.A. He did a demo of J.I really early on where like you could play Gallagher basically at compile time.
Starting point is 00:01:45 Oh, nice. Explain that a little bit more. I better because we got to get, we got to pad this out to 30 minutes. So one of J.A.I.'s big original features that now like everyone has copied, albeit poorly, is that anything that you do in the language
Starting point is 00:02:02 can be run at either time. It can either be executed at compile time or it can be executed as like, or it can be compiled into the program and executed there, right? And so he demoed that in literally like 2014. Like that's how far ahead he was of everybody else. And that, because he wanted to demo that,
Starting point is 00:02:24 he had a game and what you could do is you could compile the game with JAI, but the act of compiling the game would play the game, then the number of, like, enemies you killed before you died, and when you died, it would stop and finish the compile. That number would get compiled into the executable that it actually produced, right? It was just a cool demo. You just try to demo the fact that you could do anything at compile time that you wanted
Starting point is 00:02:55 to show how, like, robot. the meta-programming was going to be in this thing. So he did a demo where he showed that and lots of other things, like lots of other J-A-I features that he had implemented in the first round of J-A-I stuff. Are you calling it J-A-I or J-I? J-A-I? I was wondering about that too because I was thinking, man, he really was kind of way ahead of his time.
Starting point is 00:03:20 He was putting AI into everything before it was cool. That's a good point. If you called it J-A-I. Yeah. Jonathan A.I. John's AI. Yes. But no, I don't know that he realized.
Starting point is 00:03:33 Well, the reason that I don't think that he realized that was, yeah, because he didn't, you could run this on a single machine instead of having to have a data center full of like 100,000 in Blackwell GPUs. Like, this was pretty normal behavior in 2014. But then how do you make money? Well, that I think John would like to know how to make money from making a language, because most of Most of the time nobody really makes money for making a language, right? You do all this work and you don't really make money, so it's often like some of the thing. I mean, like, for example, Bill Hall, like, he kind of works with Jang effects, which uses Odin, right?
Starting point is 00:04:09 Like, you always have to, it sucks. Like, it would be cool if when you made a cool language that that was actually going to be payment in and of itself. But usually it's not because that's just the way the industry has shaken out, which of course also means you don't maybe get as much work on languages as you would like, because people aren't being paid. to do it, right? Or they're getting paid to do it only pretty far after the fact when like some company, you know, decides that maybe they're going to fund this thing or whatever. So it's kind of, it always has to find this sort of like, like a secondary funding model, right? Like that's not primarily you're not, you're not, you weren't just paid because you made a language. You have to be paid because the language is used by a company that's doing something or whatever. Developers,
Starting point is 00:04:51 are you tired of code reviews that just say looks good to me or here's seven things I need you to change that are irrelevant to the PR? We'll meet CodeRabbit. AI reviews right inside your editor. Starting with VS code, cursor, and windsurf. Sorry, no VIM yet. Hit review and bam. Outcomes feedback even before you open a poll request.
Starting point is 00:05:11 CodeRabbit can help flag bugs that you're vibe coding with your LLM bots missed. And with one easy click, it can send all the context back to your favorite agentic tools for quick fixes line by line. CodeRabbit offers a generous free tier with up to 50 code reviews per day. Grab the extension now at code rabbit. Dot link slash primogen dash VS code. Links in the description and ship cleaner code today.
Starting point is 00:05:36 So is Ginger Bill's model like the best model for making a profitable language is to just start a company that you solve a problem by writing a language for first? Which sounds very hard. I don't know. I mean, you should ask him, have him on the standup. But I would imagine that it's a pretty good. good way. Like if you have a company like Django FX that wants to do some cool stuff and they're like, we kind of just don't want to be shackled to like C++ anymore, we want to have the flexibility to
Starting point is 00:06:08 like get language features in a timely fashion that are well designed and don't go through a committee that will make them terrible, then, you know, if you've got someone who you trust who you can work with to do that, I think it would make perfect sense to pay them as an employee to just be the language guy, right? And, you know, I don't know how they all feel like this all worked out, you could ask them, but I'm imagining they're very happy. They have very successful products
Starting point is 00:06:35 written entirely in Odin. Bill has really liked making Odin, so I think it was a win-win for everybody, but, you know, you should ask him. Have him on the show, see what he says. Jane Street is doing this basically, too. Like, they've got their own fork of oak camel
Starting point is 00:06:51 and everything, and they just release their own like now it's more accessible for other people to try out their fork. It was pretty accessible before, but they like released it with a bunch of language features that they hope
Starting point is 00:07:04 get put into OCamill, but they're also like, we don't really care in some ways. Maybe, sorry, that's probably like a little bit. Reading between the lines to the, to the Jane Street folks, because they do try,
Starting point is 00:07:15 but like they have a whole team working on the compiler, doing crazy stuff, making it awesome. What's it called? Like for them. What? What's it called?
Starting point is 00:07:22 It's called Ox Camel. Because it's like, it's introducing, okay. Yeah, it's introducing a bunch of, like, ideas. Oh, that the lifetime ones? Yeah, yeah, related to like, this idea of oxidizing O Camel, like, bringing some of the features from Rust into O Camel, but in a, like, in a convenient way. Yeah, yeah, right. It shouldn't change, like, the base way that you write O Camel, but then when you want to try and do something where you're saying, hey, like, let's allocate less. Like, let's not get this to the garbage collector.
Starting point is 00:07:51 we're going to have some proper ownership, semantics of these things. You can specify those and it just makes, then you don't have to switch to a new language, right, to write the other part. So it's very, it's very cool. They're using it a lot because they have to write fast code to trade things faster than other people, I guess. I don't really know what they do except like it seems like they- FPGAs and O Camel.
Starting point is 00:08:10 That's all I know. They do have a thing where you can program FPGAS with O Camel, yeah, called Hard Camel. But I think they just have a big printer inside where they print money. Like, I'm not really sure. I'm not, that Casey, that's not a joke, by the way. That's a real thing. They have that. I kind of want to go look at this now because I would have thought that O Camel would, I mean, are F.P. Bros. Furious that, like, people are suggesting that you need features from Rust to make O Camel better? Like, what, how did that go over?
Starting point is 00:08:42 I think it's good. I think it's good. I think people in the O Camel community like it. I think it's pretty cool. Yeah, I mean, O Gamel's much more pragmatic than, like, Haskell, bro. right they're kind of like so and it's and all of the people like most interested in it i think are like it's cool that jane street makes money and we're like more confident okay and well we'll still be a thing in five years like okay because you know a sponsor now right it's got yeah i mean it has for a long time right but it's kind of nice to see like oh they can push forward like their vision of some stuff uh and see what happens i don't know i like i think it's i think it's very interesting too because most of the time i feel like when i write rust i really just want to say like
Starting point is 00:09:21 does this thing live in this function or does it like escape the function right global or local like ownership and that would simplify like a lot of very painful things in rust if you couldn't specify like in between lifetimes like oh it lasts as long as like the outer scope of this function attached to like this right like that's where a lot of really painful lifetime semantics come in but like for okay well it's like oh well we can just say like the garbage collector will handle it if it escapes this region. Otherwise, we're going to basically like stack allocate it. Not exactly, but like close.
Starting point is 00:09:55 And then we'll be able to like free those really quickly and easily. So it has a lot of cool features that are not like just straight wholesale copied from Rust. But that I think will improve the language like in terms of making it go zoom, zoom. And like multi-core safe stuff too, which is nice. Dan, that's crazy. Casey, we got to get back to your. origin story. We're so far out of the potty right now. But that's it. I mean, like, literally, if you guys don't keep doing that, there is no stand-up.
Starting point is 00:10:25 Because we are now, we have now finished a minute and 30 seconds of the three minutes that I've got. So the next thing I say is going to be the end of the story. I'm ready. Don't worry. Don't worry. We got something for you. So John did that. He did that, that demo.
Starting point is 00:10:42 And there were maybe like three, it was like three streams or something. He did like a series of them. So it wasn't really. a recurring show, but it was kind of like, oh, John's kind of streaming now, right? Wait, is this on Twitch? It was. It was on Twitch. And then he posted them on YouTube afters, but it was.
Starting point is 00:10:59 It was on Twitch. And so at that point, because people knew I had worked on the witness, because I used to publish this little blog called Witness Wednesdays, where I would talk about something that we were doing on the game. And people knew. people knew that and they asked me when was I going to stream on Twitch? Right? They were just like, oh, John's streaming on Twitch, which he hadn't like committed to or anything.
Starting point is 00:11:30 He didn't start the John show, but he like, he had enough on Twitch that kind of seemed like, oh, okay, John's just going to be doing streaming now. Like, I think he maybe even did some when he just was working a little bit, right? So he was like the person who started that whole thing was him. And so then I was like, all right, I guess I'll try something. there you go what did you try though handmade hero
Starting point is 00:11:53 which is yeah you gotta go I know what it is but I mean I just tried like doing anything well I'll just start making a game I'll do all the things
Starting point is 00:12:01 that we normally do right I'm like well make a platform layer I'll you know make a rendering back end I'll you know show out of load bitmaps and that stuff that's that was it so I just
Starting point is 00:12:12 what did you end up making the game all the way through no I mean like it's it as with everything, I cannot design games. I am so bad at it. So basically, like, really, you can only count on me to make engines.
Starting point is 00:12:27 That's all I know how to make. If that makes sense, like, I kind of need somebody else to come in and do whatever the game is. And then just tell me what you need, and I will make that for you, right? But, like, game design stuff is just not my thing.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.