The Standup with ThePrimeagen - Why Performance Actually Matters

Episode Date: August 2, 2025

Watch the https://bolt.new Reward Ceremony Live! July 26th 10AM PST on / theprimeagen #sponsored https://balls.yoga 📌 Chapters: 00:00:00 - Intro 00:01:55 - The downward trend of performance expe...ctations 00:07:10 - The internet isn't to blame for slow speeds anymore 00:11:27 - Dial up 00:12:50 - School day routines and the reason behind modem sounds 00:18:00 - Trash was a Catfish 00:20:25 - Primes School Habits and his Moms prophetic Internet dream 00:23:58 - Teej's highschool experience 00:27:24 - Back on topic (its performance btw) WHO/WHAT is to blame 00:39:38 - Speed = Sales and WHERE is the problem 00:43:46 - Netflix BTW and WHEN performance is important 00:48:35 - Too performant and waste 00:53:14 - 'Hardware will catch up' 01:01:13 - GPU vs CPU 01:06:00 - Wrap up and closing thoughts Links: - Casey's Performance Course: https://computerenhance.com Featuring: Prime: https://x.com/ThePrimeagen Teej: https://x.com/teej_dv Casey Muratori: https://x.com/cmuratori Trash Dev: https://x.com/trashh_dev --- In this episode of The Standup, we tackle one of the most frustrating aspects of modern computing: why everything feels so sluggish despite having incredibly powerful hardware. Casey Muratori joins us to share his perspective on performance culture and how we've collectively lowered our standards over the past two decades. From nostalgic stories about dial-up internet and modem sounds to serious discussions about software architecture, this conversation covers the technical, cultural, and business factors that have led to today's performance problems. We explore real-world examples from Netflix, discuss the impact of layered abstractions, and examine how corporate development pressures contribute to the problem. Key topics include: - How performance standards have declined while hardware has improved exponentially - The role of abstractions and frameworks in creating performance bottlenecks - Real Netflix case studies showing the complex relationship between performance and user behavior - Why the "hardware will catch up" mentality is fundamentally flawed - The difference between GPU and CPU performance paradigms - How AI might make performance problems even worse - Potential solutions through better substrate design Whether you're a developer frustrated with slow tools, a user wondering why your powerful computer still feels sluggish, or someone interested in the intersection of technology and culture, this discussion offers valuable insights into one of computing's most persistent challenges.

Transcript
Discussion (0)
Starting point is 00:00:00 Okay, here's an idea. What if we just spend 15 minutes talking about Prime trying to get his video done? And then we all say we have to leave. He says so much F. Let me just send a quick tweet. I said the worst part about Primes, A, V issues on the stand-up is that we are wasting at C Moratorie's time. See Moratorie is not impressed. Yeah, yeah, yeah, yeah, yeah.
Starting point is 00:00:32 Uh, anyway, sorry. All right, everybody, things are ready, and we are ready to start the stand of the most authentic podcast of them all. Yes. Today we have with us, TJ, resident genius. We have Casey Moritory, Riz expert, and of course, trash dev with whom we all love and say very nice things about. But don't ask about his key caps, guys. Do not. We're not about key caps today.
Starting point is 00:00:59 Don't ask about the Oki. Do not ask what is on the Oki. That is the rule, the cardinal rule of the standout. So with that said, we are going to be talking about performance today. And of course, not only is Casey a Riz expert, he is a mediocre performance man. At least this is what he says. He says he's not a deep performance guy. He just has some basic ability in it and he knows things that we don't know.
Starting point is 00:01:22 And so we want to hear some good stories from Casey about this. And maybe we'll tell a couple stories ourselves about some. the performance stuff that happened. Let's start with the mediocre part, actually. Can we start with the mediocre part? Because that was the part I most wanted to talk about. I wanted to, because you, I remember you specifically always saying, I'm not a performance guy.
Starting point is 00:01:47 I'm not a performance guy. That's why I called it mediocre, but if you didn't like that, you know. No, I want to talk about that because that is exactly what I want to start with. I just want to start with this depressing fact or observation, which is that if you rewind time, like 20 years. Right? You just turn the clock back To when I'm much younger Middle school. I don't think teacher was born yet. Teacher wasn't born yet.
Starting point is 00:02:10 I was 11, right? I was 11, okay? Such a baby. I know, right? He was ziplining and dad camping with his own dad. So true, so true. Really brings me back. It brings you back. I was the person who did not know anything about how CPUs worked or performance or anything, right? And that was pretty consistent. Like, I generally was just like, I'm, you know, I'm just writing, you know, code to do stuff and worrying about how things are architected and stuff like that. And what was weird is, I'm sure, like, I've definitely gained a lot of knowledge over the 20 years. So I'm not going to pretend like I don't know a lot more than I did then, but I definitely did.
Starting point is 00:02:53 But my attitude on stuff has really not changed. I've always just been about, I want this thing to run reasonably and then we're good. but the perspective of everything that surrounded me has constantly just been ratcheting downwards and downwards and downwards and downwards over the past two decades to the point where now my like I just want things to run reasonably well that has not changed but everyone's now like reasonably well is this unattainable you must be an optimization god to even consider it level and that is so, so weird, right? I've watched, I've just watched it go,
Starting point is 00:03:34 and I'm still like, I'm not hand-coding stuff in a semi-language. I'm not, half the time I don't even really look that hard at the performance of stuff that I'm working on. I'm just vaguely making sure that it doesn't dip below, you know, a nice 60 FPS output like it should have, right? It's not that hard. So it's been so weird to see the standards just drop through the flow, and everyone act like nothing happened.
Starting point is 00:04:00 So I just wanted to start there with that observation, because I think people think I'm like this heart, like, I was back there, like, hand code and assembly on the Commodore 64, and like, what's up with you losers? It's like, no, I'm just like everybody else. It's just, I, I don't know. So do you know what I'm saying? Is this landing at all?
Starting point is 00:04:18 So you're like everybody else, but you have a, you care slightly. Because even now, 60 FPS, that's not considered a banger anymore. You've got to be 144 at this point. Exactly. I mean, I'm the guy who's like, yeah, 60 was probably fine, right? You know, like, I'm literally, my standards are not like, oh my God, if it's not 500 megahertz, then you're not, you know, right? Hackathon's over, but that doesn't mean the content is. Join us on July 26th at 10 a.m. PST on Prime Stream to live react to the award ceremony. See what everybody built, and we'll see you there.
Starting point is 00:04:54 It's okay. You've worked at Netflix. You have everything they want. And I appreciate those performance goals. Certainly, like, you know, if I was doing an action game or something, I would want that. And even, I like even being able to move a window around at 140 hertz. It feels great. It does, right? But I'm not out there, like, going like, oh, my God, I can't believe people didn't ship a 500 megahertz update for this, you know, Twitter or whatever. But just, it dropping down to, like, update times in several seconds is just fine.
Starting point is 00:05:25 That, where did it come from? You know what I'm saying? Hmm. Can I propose at least one small thing? Please. I do think that there was, if you remember the 90s, which I'm sure you do, there was an entire world where we went from not being on the internets to being on the internets and everything took many, many seconds to do anything. Like everything was so big. And so as everything kind of got faster, I think there was like at least among my generation, the millennials, where's my millennials at?
Starting point is 00:05:56 there was like a general acceptance that hey look at this it went from taking 10 seconds to taking like a second things are so fast now like look how amazing this is and so like a one second loading time was like a miracle passed down to us i remember the days of going because i used to watch my mom and i used to be really into the stock market when i was in sixth grade and do all the stocks with my mom probably had a lot of friends too didn't you a lot of friends i did i went to a private school there was 12 of us in our grade i was into things okay into things and I still remember like during that day just watching her on Charles Schwab and it would take like 45 seconds of screen so when things were taking a second I think I never kind of lost that magic
Starting point is 00:06:38 and so perhaps like there's like a part of me that still lives in the fact that I used to try to download this 30 megabyte game called Slayer Slayer.net whereas like an RPG you'd go and like level up and 30 megabytes was every five minutes one megabyte so that's five times 30 that's you know
Starting point is 00:06:54 that's a lot of time two and a half hours just to download 30 megabytes. So I live in this permanent world of I can't believe this works. And so maybe that's, I'm part of the problem, is that I just like, just love it. You know, I just cannot believe we have all these nice things. All right, TJ.
Starting point is 00:07:10 Good side question. Is the rumor true that you used a briefcase instead of a backpack in sixth grade? No, my mom would never let me use a briefcase because that'd be bad for your spine. So I was never allowed to walk. Oh, so instead you one shoulder strapped and broke yourself. No, I never one shoulder strapped either. That'd be bad for your spine. Nor do
Starting point is 00:07:26 I overload the books with it. I always did a two shoulder strap. I never needed to be cool. Always was instead. And I just simply had a couple books in there. Okay, I was never that guy that ran with all the books. You, TJ, strike me as a guy with all the books in the backpack kind of kid. No, I didn't bring my books to school.
Starting point is 00:07:42 I listened in class and then got A's. Oh, snap. All right. Nice shot done. You've completely mischaracterized me. Wow. Okay. So you didn't need the books.
Starting point is 00:07:56 books are, you don't need those books. Books are irrelevant. The only time I ever needed a book, Spanish class. Okay. Because you have to memorize. Because you had to read out loud. He always read from my book.
Starting point is 00:08:06 So when Prime said he was going to get a tortilla before, were you like, what? Sorry, what? Is pronounced tortilla. Okay. Like, sir. Tortilla. Even I can read.
Starting point is 00:08:19 Well, I think Prime's suggested is probably a good one. Like, I mean, I could totally see that if people are all still thinking that their computer is running over like a, you know, 9,600 bod modem connecting to AOL, then maybe some of these speeds would be explicable, right? Like, they would make a lot more sense. But, you know, most people are on connections so fast right now, especially, like, when you're
Starting point is 00:08:45 talking about the high end. So, like, if you're talking about, like, even my setup here where I don't, we don't have, like, fiber to the home or anything like that. We're, like, out in Comcast land. But it's still, like, only a few milliseconds pink. time and the bandwidth is like, you know, something like two gigabit, like it's very fast. Basically everything should be instant. There's no, there's really, it's all just issues with either, you know, data center or what's running or the servers or how you wrote it or the
Starting point is 00:09:10 client side or whatever. There's very, there's really not, like you're not gated by the things that you would have been gated by in the 90s by any stretch of the imagination. But if people are still thinking like somehow that's true, that would explain why they think this is fine, I guess, They're like, wow, you guys are doing really good running this on a 9600 Bob modem. I'm like, yeah, okay, that is pretty impressive for an ice under bomb modem. What I really is that there's like a part of me that when something takes a moment to load, I go, internet, right? Because it's just like I spent a decade going internet. And so it's like still built in me just to assume that anything that takes a second is internet.
Starting point is 00:09:47 And it's not. It never is. I worked at Netflix also, and I know for a fact it's not internet. But nonetheless, in my head, I'm like, internet, even though it's not. Yep. Okay. I remember the moment I got like a solid state drive in the startup time of like my computer was just significantly faster. And it like from that moment, I was like, okay, things can be way faster than they are now.
Starting point is 00:10:06 And then that kind of like from that moment on, everything just needed to be like really snappy. But to like Prime's point, I always thought, yeah, just lay NC to some endpoint that they're calling. But if it's like an app on my phone physically that takes like more than a second to open, I'm like, what? And I kind of figure it's not an eight point. It's probably just maybe the hardware in my phone. But, like, as you upgrade your phone, right, the phones get snappier and snappier. I'm kind of the guy that upgrades this fun every, like, five years. I don't really care too much.
Starting point is 00:10:33 But then, like, once you upgrade, you're like, man, I'm missing out. So, like, my threshold of, like, tolerance is, like, slowly, I don't know. I think the public's might be as well. Like, I see a lot more people complaining about this sort of stuff now. So I kind of feel like maybe the tide is turning. Because, like, I felt, like, 10 years ago or 15 years ago, I don't know how long. I've been saying this kind of stuff for a long time. I felt like it was just like,
Starting point is 00:10:58 ah, this guy, what is he just, you know, he's way too high as standards, whatever. I don't feel that much anymore. It seems like people are kind of coming around to the fact that, no, really it is like, it just sucks. And like things should be a lot faster. So I do feel like there's some kind of an attitude change, but I'm not sure why that's happening either.
Starting point is 00:11:16 Just like I'm not really sure why no one cared before. I'm not sure why they seem to start caring now. But I'm glad they are, right? I'm glad they're putting that pressure on. at least a little bit. TJ, you got to talk to us. You look like you keep a graying and shaking your head, but I don't hear any words. Well, the thing I really wanted to do is I was hoping everyone could go quick around in a circle
Starting point is 00:11:35 and everyone can do their best dial-up sound impression. There's probably a lot of viewers here who have never heard one. And then I'd love to have the YouTube commenters type out what they think their best dial-up impression. Get that in the comments. Yeah. I got a story real quick. Okay. Dial-up sound.
Starting point is 00:11:51 Thank you because I don't want to make a dial-up sound. No, we're coming back to that. circling back to back. I'll make one, but when I was younger and I was like, you know, doing that Dragon Balls E-Chat and I yo-L, this would be like 10 p.m. at night, you know, at school night. I don't even know how old I was. And I would literally take my huge, like, comforter from my bed, smother my computer just so you could not hear the sound and then just like pray. Like by the time this like 20 second sound is done that my parents, I don't hear my parents walking. It was like,
Starting point is 00:12:25 Hear, here. Very good. That's perfect. We don't need to do anymore. No, we do. He just, Rick and crushed it to.
Starting point is 00:12:35 He crushed that. From your parents? Well, I smother the sounds so they can't hear me because it, like, radiates. Well, is it because you weren't supposed to be on the computer at that point? It's 10 p.m. at night.
Starting point is 00:12:48 I had to go to bed. I had school, like, at 7 in the morning. So this, my parents, were very nice and never cared about this kind of misbehavior. So during, like, almost the entire last two years of high school, I want to say, my schedule was as follows for some reason. I would go to school because you had to. I'd come home and I'd go immediately to bed because I was exhausted.
Starting point is 00:13:16 I would sleep for about two or three hours. I would wake up, right? and I would program until like three in the morning. And then I went back to bed for just like two or three hours. So I had to get up at like six something. And I would go to school and I just be like completely tired and super annoyed that I had to do that. And then the cycle would just repeat. This is like, that's like the entire last two years of high school for me.
Starting point is 00:13:48 We're like, we're like that. I was so checked out. Yeah. Yeah, do your dial-up sound now. It would be much like trash. I feel like yours was too beautiful. Yours was more like a horror movie. That was like some movie sound effects.
Starting point is 00:14:10 I feel like I just, I got teleported back in time. That was really a UFO. I'm waiting for Roonscape to download on my computer right now to finally finish like updating in the browser and get the cash correctly. Mom, I'm not on the internet. Yeah, yeah. Mom, shut the other thing is I don't actually know, like I didn't know as a kid, right? I used to, and there's, as a kid, there's, like, no internet.
Starting point is 00:14:31 Like, they're just, it's not a thing. I mean, it exists as ARP internet and all this sort of stuff and whatever, so it's there. But, like, you don't have any knowledge of it. You can't get on it. So, BBSs or things like that is all you could information around. There's not much information. So I don't know anything. Like, all the programming stuff, you kind of had to learn yourself or try to find books at, like, you know, the Borders bookstore or something like this, right?
Starting point is 00:14:53 And, uh, remember them. And, uh, so one of the things, too, is, like, most of the things, too, is, like, Modem sounds always used to get progressively more ridiculous, right? Because, you know, there's 2,400-bodd modems, there's 9,600-bodd modems, or whatever they were, I don't remember. And the sound used to be just the first sound. Used to be, it's like, and that's it or something. But as they kept adding new negotiation tiers,
Starting point is 00:15:18 the sounds got longer and longer and more complicated. So eventually you're using this modem, and it goes through all these phases, and that's where the, like, do do do right? And it's like multi-step it used to be shorter
Starting point is 00:15:30 because they just it was just the one tone but then they had to do the handshake and figure out oh like can you do 960000
Starting point is 00:15:36 could you do 144 like you know and it kept it keeps escalating right? Is that sound actually real? I feel like it was like
Starting point is 00:15:43 literally like the same pitch what the hell do you even mean was that actually real? Well he's saying like I'm Trash you're saying like
Starting point is 00:15:50 is it basically like the sound at the end of the washing machine when it makes a sound right where it says that it's done or this it like really connecting?
Starting point is 00:15:57 I'm just like trying to understand like how they came up with this like this sound. Like it sounds like humans can't make to prove that it's not a human dialing into something I assume. Yeah, they didn't want it to be like someone answers the phone and then it starts like thinking it's an actual modem I assume. So it's just checking what you are. It's like, hey, can you speak this? Can you speak this?
Starting point is 00:16:15 Can you speak this? And so they had different tones. You know, like a dial tone and things like that to signal what you are. Not going to lie. Today I learned. Not going on. These are the numbers, right? Like here's what the touch tone phone tones are, right?
Starting point is 00:16:28 These are the click sounds for a rotary dial phone. There's like machines listening everywhere, right? And they need to know who is who. The machines are listening, Casey. I had no freaking idea. I thought they're just like, this would be kind of cool, man. Yeah. That I'm just like, what?
Starting point is 00:16:45 This is going to be an awesome sound that we can play out of the speakers. I love. The brand new modem from Cisco coming to you with the sickest sounds of dial-up. Go-go-go-go-go-go-d-d-d-d-d-d-d-d-d-d. They're just like in the AOL boardroom, Bob, what do you got, Bob for us? Yes. Yeah, and then they're all sitting there going like, hmm, nah, comp you serve has this one that's like, that one was sick, dude, that one was sick.
Starting point is 00:17:14 We need something like that. What do you got? Go back and give me something fresh. They've got the Rick Rubin of like vibes of them. Yeah, yeah. It needs a little more white noise sounds for me, man. Oh, that's too funny. Did you listen on your car speakers, though?
Starting point is 00:17:30 Because it sounds different, you know what I'm saying? You got to try different computers. The acoustics in this room are not conducive to my dial tones. I can't work like this. You don't understand. Heart. Yeah, it's very possible. Like, I get this mentality if you were a kid.
Starting point is 00:17:48 If you were just an actual child. He was a kid when it happened. Same here. We're the same age. But you're now adult and you know how things work. You never just like piece. sit together that they're talking? All I care about was going to my chat rooms
Starting point is 00:18:01 and having a good time. Yeah. Literally, literally dude, ASL baby. Calfing, catfish. Dude, being all my neighbors, we're, we thought we had like girlfriends
Starting point is 00:18:11 or something. Dude, one time, one time, one time they actually called, they actually called my house and they're like, we're like 10 or something, and we said we were like 16. And they called and my mom was like, this person's on the phone and me
Starting point is 00:18:27 and like all my buddies start freaking out. We're like, hang up. He got the phone. It was so bad. Anyways. What did it? No, no, no, no, no, no, no, no. Continue.
Starting point is 00:18:36 That doesn't end it in anyways, trash. There's not an anyways ending to that. There's an anyways. There's a hundred percent in anyways. There's a hundred percent in anyway. So how did you explain it in the Dragon Ball Z chat room afterwards when you didn't answer. Yeah. Trash, you need to start a few steps back.
Starting point is 00:18:52 Step one. Okay. Yeah. How? I just start the whole story over. because I need to know what happened and then what your mom said. How do you think it was a good idea that they call you? You're like, hey, you know what?
Starting point is 00:19:04 I'm 16. Let them call me. That's right. I don't know what we were thinking, actually giving my phone number out on the internet for someone the call. What's the worst could happen on this Dragon Ball's thing? It was crazy. It was, dude, I remember like after that moment, I can actually like vividly remember this. We hung up.
Starting point is 00:19:24 And you said, I'm going to use one password. for the rest of them. They hung up. We had a call waiting so we didn't get knocked off when they called but they had to get offline to call
Starting point is 00:19:33 so I could see like went offline and then we see that they signed back on they're like what happened and we're just like we just like block them
Starting point is 00:19:40 so it was a real person you're saying of course dude this was the day in age of real people this is how you met people oh I thought you were getting when you were saying
Starting point is 00:19:51 you were getting catfish I thought you meant like early fake AI chat bot spammer Dude, I mean, I'm sure that happened us, but like this specific instance was like... No, this was way to... There was no AI chapodders at this point. This was, this was the old-fashioned catfish.
Starting point is 00:20:06 And he was the catfish. This is like down home, such a catfish. We were natural, natural... Organic. We learned a hard lesson that day. Fishing caught with a fishing pole catfish. It was wild times. All right.
Starting point is 00:20:23 Wow, that was, that's great. Hey, by the way, should we... I like on DJ. Welcome to our podcast about performance, everyone. I'm now on dragon balls and getting catfish in 1998 or whatever. Can we just get back to performance? Can we talk about it? No, because Prime, you and I both haven't done ourselves.
Starting point is 00:20:40 Okay. We cannot. All right, TJ, TJ, you're up. Okay, do you want to tell you to tell you the story that my mom told me in about third grade about what the internet will become? Or do you want me to tell you about my habits in high school? I'll give you one of you. Both. Both. We've got time. We've got two. We've got time.
Starting point is 00:21:00 We're high school first. Okay. Habits in high school were very, very simple. I would do something similar to Casey. I'd get home from school and I'd play video games. Sony Online Entertainment, which had infantry. So they had this like 100-person game of Capture the Flag with guns and stuff like that. Played a lot of that. Very good at the game. Got pretty high up on the old rankings. Uh-huh.
Starting point is 00:21:20 And then I'd stay up until about one in the morning. Look at porn and then go to bed at whatever time afterwards. and I'd do that every day, and then during high school, I'd sleep in three to four of my classes, and I took two gym classes. A lot of gym classes. Two gym classes every day, okay? Really into it.
Starting point is 00:21:37 That was my high school. That literally was it. I did nothing else in high school other than play video games and stay up until two, three in the morning and then sleep in class. I also didn't get a good grade in high school. It's crazy. It's hard when you're sleeping through everything. It's true.
Starting point is 00:21:53 I'm going to tell you my mom's story. This is a great story. So I must have been in third grade. I still remember this quite well. She said, okay, so, because she has, she's had, like, prophetic dreams, like weird ones. When I say prophetic dreams, most people think, okay, you're weird. No, she's like, like, my dad. We were already thinking that, buddy.
Starting point is 00:22:11 Don't worry. And he's, like, check these bank accounts because someone stole money. And, yes, lo and behold, someone stole money for my mom checking. So, like, real bizarre level dreaming my mom's had. And this one she's had, she's like, I had a dream where, uh, effectively, the world was covered in silver bands and you could visit anywhere you want and you could see anything you want
Starting point is 00:22:32 and eventually the whole world got covered in these silver bands and you could go everywhere instantaneously it started you know it was like amazing and then someone came and everybody would rush towards this thing and that's how the world's going to end and I was just like that's the craziest
Starting point is 00:22:47 thing ever this was like in third grade and then the internet came around I'm like oh wow that's weird feeling and then that's like a That's like a donkey. That's like a donkey. Modem plus donkey.
Starting point is 00:23:10 That was like culture guys for a second. Oh my gosh. I feel like I did pretty good. Okay, because it starts off fast. It's like, we got to zoom it on his face. He turned so red. I did. I really did.
Starting point is 00:23:21 I laid it out. What are you talking about? I didn't do like a weak sound. Yeah. That was intense. So your mom basically presaged the fact that the whole world would get on one giant network. Yeah, she told me that I was like third grade. I remember this vividly. She had this dream. What, 1950?
Starting point is 00:23:39 But what about the world ending part? Because that part, should we be worried? I don't know. How did that part go? Do we have any details about that? No, that's all. That already happened in 2012. The mind came in the dark time.
Starting point is 00:23:54 That's good point out. Okay, everybody has fair. All right. Okay. Then, TJ, we're still missing a modem sound from you. Yeah. Okay, I'll do, well, so I'll say something random about high school then, too. Closest thing, so I shared a room with my brother.
Starting point is 00:24:08 Melky? Yeah, Melky, me and Melky when we were growing up after we immigrated. And then, so the thing for me was I couldn't keep him up at night because he needed to get his beauty rest. So I would literally go take my book. I loved reading books. I didn't need school books, prime, to be clear. He read Wheel of Time. Yes, I was reading Wheel of Time.
Starting point is 00:24:27 And I would turn on my closet light and go sit inside of the closet, hoping that that light wouldn't be enough to see the light underneath the door. So then my parents wouldn't be like, what's TJ doing? He's reading again. It's 1 a.m. Why is this happening? So there you go. That's my.
Starting point is 00:24:44 Yes, the parents need to stop the child from reading. Something that literally no parent has a problem with today. They do when you stay up too late. And then I wasn't going to spend time studying, right? So I had to be awake for class time. So that was my, that was the big thing there was I had to make sure I was actually awake during school hours. I was a good student, though, in school, believe it or not, guys. Wow.
Starting point is 00:25:10 Okay. And then. Not shocking. Yeah. Oh. Except for Spanish class, apparently. So my now wife, then girlfriend at the time, we were high school sweethearts. She was very mad at me that I was going to get an A minus in Spanish.
Starting point is 00:25:24 She's like, you could get an A if you wanted to, and you better do it. So I said, okay, then I started studying for Spanish. Wait, wait, wait, whoa, whoa, whoa, whoa. So both of you are kind of like academic overachievers or something? Yeah, she was a much better student than I was, too. I mean, I got good grades, but she was a better student. You know what I mean? She would take notes and, like, care about things and stuff like that.
Starting point is 00:25:48 All right. with like with like nice handwriting and everything oh it's unbelievable it looks like it's literally stamped I know how that okay I see what yeah I see where you're going with that yeah and then she did like she did biochemistry and college and like did very well at that and everything
Starting point is 00:26:03 yes so she's a very good student all right so maybe she should be on the podcast I mean I'm not trying to kick you off TJ yeah we could have on she sounds like an upgrade yeah she could tell you some funny stories about me in high school probably yeah yeah
Starting point is 00:26:16 I'll hear the noise most okay here we go Hit me with the noise. I'm just kidding. I turned down my robot filter. All right, I'll do my real one. I'll do my real one. All right. I got to go.
Starting point is 00:26:29 Got to get the vocal cords worn up. You got me. Like a frog mode. It sounds like Skrillx or something. That trash you didn't know. He literally said his inspiration for all of his music came from his dial-up mode. I'm not going to lie I was believing you
Starting point is 00:26:56 but I didn't want to look like I was believing you I was like man that's crazy I'm if Casey didn't laugh I was actually looking at everyone else's faces I was looking at everyone else's faces to see if they believe you sorry I don't believe that
Starting point is 00:27:08 dude that doesn't make any sense yeah that's crazy I'm definitely not thinking that's real 56K dubstep is a pretty sweet like that's pretty sweet bad name like I could listen to some 56K K right now yeah that would be awesome
Starting point is 00:27:21 about performance. What were we talking about with performance? Can you get back to performance? We haven't talked about anything related to performance, but that's, that's perfect. I mean, that's how the, that's exactly how it should go. Casey got his thing out where he said, guys, he's not even that serious about performance. Why are all you lagging behind? That was the message that he wanted to portray.
Starting point is 00:27:39 We need to talk more about this. Okay, I want to hear more about it. You're the one that brought up dialogue, Prime. Yeah, let's let's, let's, let's, let's drill down a little bit. So basically, here's the thing. the only real change, I think, that it would take is just a general attitude, just shift the attitude a little bit to like, actually caring and going, you know, this stuff should be basically instant for the end user. And, you know, we can't turn, you can't turn it around immediately. Like all, every library, every substrate, every default platform people are shipping are,
Starting point is 00:28:19 all basically horrible performance. So you're not going to just show up overnight, at least especially in the web world, but even in, you know, even in games there's a lot of rot now in some engines, right? But basically, like, you're not going to just show up and fix it tomorrow. But if everyone was like, you know, we should stop just accepting software practices because some, like, guy wrote a book and, like, it sounded good to us at the time. And we should start actually going, like, why has software gotten terrible over the past? 20 years and way, way, way slower, right?
Starting point is 00:28:53 Why don't we actually figure out what is wrong with the way we're doing things that's producing this result? Because it doesn't have to be. Nobody has to write anything in assembly language to make these software packages fast. They just have to remove the 20 layers of crap that they're inserting between what the CPU has to do and what you wrote. That's it. That's the only thing that has to happen is you've seen.
Starting point is 00:29:19 stacked so many things interpreters on top of libraries on top of emulation times of packages and times of this and times of Docker containers and blah blah blah blah blah blah blah and this this just it just chokes a modern computer with crap with waste
Starting point is 00:29:35 basically right it's as if you're eating like you know you need to get a little bit of iron in your diet and so you eat something with like 1% of your daily allowance of iron and 99% like the fattiest carbohydrate rate gunk that does nothing, right? And you're like, that's what you're feeding this poor CPU.
Starting point is 00:29:55 And there's nothing it can do, right? So really just change that and going, like, let's actually consider this important. Let's try to start eliminating these layers and the layers that we do need that we're using because we want to reuse this. Let's make them efficient. Let's figure out how to actually make them efficient because we can. That's all it would really take over the next 10 years to turn it all around. Do you know what I'm saying? Okay, hold on. Is there, is there at least some of argument to be made that our world has gotten significantly more complex than 20 years ago? No. No?
Starting point is 00:30:27 There's literally zero argument at all. Because way, way, way back then, you actually had to think about things like what order these assembly language instructions would be going in or how you were going to make all of this work in only eight registers in order for it to not be horribly unperformant, right? and now even the smallest modicum of awareness about what you're feeding to the CPU and you will run blazingly fast. Like a modern M4 chip or a Zen 5 CPU or something will run almost any reasonable piece of code instantly. They are absolute beasts. It's unfathom to me when I look at how performant they are.
Starting point is 00:31:10 They're just incredible, right? but you just have to stop layering all this artificial crap in between them right like and these are it's not the world hasn't gotten more complicated we made it artificially complicated right we lost the ability to ship the idea of a stable operating system platform for example like what's a Docker container why does it exist why is that layer even there it's there because we lost the ability to think and write reliable stable APIs for our substrate. So now you have no choice but to bundle up all the crap you were using in exactly the crap state that it was and dump the whole thing onto the end user machine, right?
Starting point is 00:31:54 Now that, I don't want to pick on that specifically because it's like, okay, whatever, like that's going on, right? But all of that stuff would not be necessary. Same thing with like interpreted languages or things like slow garbage collection, right? We don't need to have those things.
Starting point is 00:32:10 There are better ways and more efficient ways. But what typically happens is these things, I mean, you take a look at something like JavaScript, right? The first thing that gets shipped, it just propagates forever. And no one is stopping and going, wait a minute, guys, hold on. We need to do a revision step here. We need to make something that's fast by default. That ships cleanly by default. Let's do that work so that going forwards, everyone isn't building on a faulty foundation. Python, don't get me started, right? Python is 10 times worse. I want to hear you get started about Python
Starting point is 00:32:44 and how the four loop to be there. It's even worse in JavaScript because it really does, it can't, it hardly can even be Jit, right? It's it, it's even worse for something like that. Like JavaScript at least, certain cases for JavaScript can be made pretty fast
Starting point is 00:32:56 by something like a good Jit engine. If you wrote the JavaScript code like, so that it can map cleanly, like so that the JIT can see what's doing, it can do a lot better. Python, a lot of people are just shipping Python. And Python doesn't really even have an answer for that, right? And so if you write actual loops in Python, they're just dog slow.
Starting point is 00:33:14 There's nothing you can do about that, right? You have to actually do something like you. You could drop it to Scython. You could try to use a Python accelerator of some kind, right? But by default, if you literally just ship some Python, it's a disaster, right? On and on and on. And again, I don't want to suggest that any of these specific things is the problem. Like, there's nothing uniquely wrong with Python or something.
Starting point is 00:33:34 It's the whole general idea that it just doesn't matter and just let everyone else deal with and let CPU vendors have to keep, you know, make everyone upgrade their phones and their computers all the time, creating huge amounts of e-waste and just a really bad use of resources for humanity, right? Power consumption, everything else, because we just didn't care. You know what I'm saying? And so I don't think the world is any more complicated. I think we made software artificially complicated and we're paying the price every day, forcing CPUs to run this horribly overburdened stuff to do a job that if the job, just been written. Like, if you just rewrote that job in just simple C, you know, it would have been 500 lines of code and it would have ran blazingly fast, but instead it's like literally
Starting point is 00:34:20 millions of lines of code when you consider all of the pieces that actually were involved, right? And it's just incredibly, incredibly slow to get it to actually do anything, right? So, you know, that's the world. Because I want to, I want to try to pinpoint the problem because I don't think it's a lack of care. I just, I do not buy that as the hypothesis for the reason why it's happening. Okay. I'm trying to like, that's why I'm trying to come up. That's why I'm asking these questions.
Starting point is 00:34:46 And so I guess the next question I'd have is a lot of corporate environments, you, there's a, there's most certainly an expectation of moving at a certain speed. There's a recommended path of like, hey, if you want to do, if you want to do something, you need to operate in this kind of way. I think, you know, like even at Netflix, if I were to create like an internal UI that I knew that had to be used by a lot of people, I'd probably just choose React. because it's just like, hey, I know how to play the game. I know it's not.
Starting point is 00:35:14 I don't need to write this in Rust and HTMLX, even though that would have been my choice back then. It's just like, I don't need to do that. There's like this whole layering that I have to do for a parent, you know, like team playing. Is the idea of pushing hard from management to deliver things, does that help create these kind of things where I will just choose something off the shelf, regardless of how many things that it shows off the shelf,
Starting point is 00:35:41 regardless of how many things, you know, like that multiplying effect of off the shelf is that has happened, where it's just like I'm relying on someone else's house of cards because I need the perception and the, both the perception and the reality of shipping faster. Yes and no. So I guess what I say is it depends who you are talking about, right?
Starting point is 00:35:58 So for people who just are trying to write a UI, like I want to make a UI for this thing that I'm doing internal to Netflix or even external to it, end user. No, it's not their fault, and it's not even their problem, really, in my opinion. You should have been able to use an off-the-shelf thing and make your UI, and it should have run blazingly fast and used basically no system resources, right? The problem is the layer below. It's, and, you know, to a certain extent, there is a little bit of blame that shifts upwards, because the pressure's not on. Like, nobody's pressuring people to say, look, we need these
Starting point is 00:36:37 things to be better. Like, why aren't there more initiatives? Why isn't there more money being put into making these things very performant and very low system resource usage? But really, like, most of the caring that I'm talking about is at this, like, standardization. Like, let's say, W3C. I can tell you definitively from reading their notes that they don't care. They simply do not care, right? They could have taken performance seriously. They don't. Right? I've seen time and time again when I've been looked at things, I'm like, why the heck was this this way? And I look at their minutes, nowhere to be found is like actual expert performance analysis. And this is W3C.
Starting point is 00:37:15 They could call someone up, right? They could call up a performance expert and say, we'll pay you some consulting fees to come advise us on how to design this problem. Never, right? They just assume that they know best or that it's not a concern or whatever, and they march along, right? And so we end up with a lot of things where I think, yeah, like that lower level is just a complete rot at this point.
Starting point is 00:37:40 And so it's not someone's fault now. Like someone who's a work-a-day engineer at a company is just trying to get things done. They can't go rewrite, react, right? I mean, they could try to lobby internal. Like, if you're going to be a hero, you could lobby internally to create a project
Starting point is 00:37:57 to make a no-you-on-bri. But that could fail, right? Software projects fail sometimes, all that stuff. So can you do stuff to try and help? Yes, you can. But is it your fault? that it's not, is like, no. The fault is in the platform. And we kind of know this as well, because if the fault was just individual people, right, then it wouldn't be this uniformly
Starting point is 00:38:21 terrible performance of software. It would be very varied. But what we actually see is uniformly terrible performance, basically. And that's because everyone's building on top of layers that are very slow. The actual way that they end up working in practice is very slow, right? So that's what I think is happening. And the care is everyone, like when I say shifting that mentality, everyone needs to start caring. But what that means is a little bit different. Management and people who are just trying to get their jobs done doing, you know, stuff
Starting point is 00:38:55 above the substrate, they need to care because they need to be complaining, right? Management needs to be worried that's slow and complaining that's slow. The engineers need to be complaining that slow so that the dry powder exists. But then the people who actually need to operationalize that caring and need to be funded to operational that carrying are the people doing the substrate work. Because these things have to get faster by default. That's the only way that things will get fixed because it can't be every time you want to ship a non-laggy UI, you've got to become some huge expert in React and rewrite parts of it or special case. It can't be that. It's got to be that I just use the normal UI library and it's fast.
Starting point is 00:39:34 that's got to be the way it goes or it's not going to get better, right? The thing that's been surprising to me, like in the past about these conversations at companies, is like every, every, like, study or, like, internal thing that I've seen anywhere, when the page loads faster, you get more sales. Yes. Like, it lit, like...
Starting point is 00:39:54 We know this. It does seem, like, from... I've never found one where it's like, it doesn't correlate or negatively correlates. The only time I've ever seen that SSH terminal. dot shop, we had to add a loading screen at the beginning to make people believe that it was a real store in SSH. Like, it is literally a time dot sleep at the beginning to show the logo because people thought we were making a joke store. Because they're like, well, you can't possibly load your state
Starting point is 00:40:21 this fast. Right. This is a, this is a problem people find. I have a story about that. Well, it's not really a story. A guy I knew shipped a game on PlayStation and he optimized the online part so that if you went to go get levels from the online like place where users could post their user made levels, it was just instant because he cashed things and he had it working properly and he didn't like present any latency that the servers would have to the user, which is instant. And everyone thought that it wasn't actually connecting. Yeah.
Starting point is 00:40:54 Right? Because they've been so used to the slowness that now they don't believe that software can actually run at the speed that we all. know it can. That's how pervasive the suck is, right? Is that people now don't even don't even believe that a web page could be instant or that a server thing could be, but
Starting point is 00:41:13 all of it could be. Yeah. Right. So. But so that's the thing that's a little bit surprising is like I've had this conversation internally before and I'm like it does seem like it's worth making this faster guys. Yeah. And then it's like well, we don't know. Like every time I've ever
Starting point is 00:41:28 seen this. Everyone says it increases user retention. Everything's better. Time to first paint like matters. Like a bunch of, and then I don't know. So that for me has always been a like kind of surprising disconnect. I don't know, trash. Like you experienced this at all or like. In terms of like performance and like internal politics and stuff like that.
Starting point is 00:41:46 Yeah. I mean, there's like two crowds too because I've been on the internal tool side and then the consumer facing side, which are completely different in terms of performance. Like internal tools, whatever. Like it's not like the biggest deal. Like it doesn't have to be that fast. But then consumer, right? Take like Amazon, e-commerce, whatever.
Starting point is 00:42:04 Those have to be faster, right? But in my experience, in terms of performance, it's never really been much on the UI, like the JavaScript stuff. It's always been like the server part, right? We've always had to optimize our fetching patterns and, you know, the database queries and stuff like that. So it's like it's very rare, at least in my experience, unless like you're like horribly just botching how you're writing your UI apps,
Starting point is 00:42:27 the bottleneck is always typically going to be like the server or like somewhere around there. but yeah back to like what the prime was saying though like being uh performance being kind of like bureaucratic in the sense because you know people just want to ship and stuff like it's just kind of like the reality unfortunately but um i will say like i did notice like in the past five years or so like people are pushing each other more and more because i don't know if it's kind of like the echo chamber that we're in like on twitter i think there's more passionate people there versus like maybe some other places. So there's always people like, oh, look at my benchmark.
Starting point is 00:43:05 It's kind of to the point. And I actually kind of like everyone kind of stopped doing it because everyone was kind of like your benchmarks are BS. But at some point, there was a point where everyone's like, yeah, we can actually be faster. And like a good example would probably like Node and Bun, right? Just two new runtimes. Like Bunn has pushed Node.
Starting point is 00:43:21 They're like, oh, okay, maybe we should invest. Right. But they're like open source and like they do this free effectively. So there are efforts of like, pushing the boundaries at the browser level. I don't know. I don't really pay attention to like the Chrome team and the Safari team. I don't know what they're doing as far as like that granular.
Starting point is 00:43:37 But I have seen the community that people do want it to be better. But, you know, these things take time, I guess. And I don't know. I don't have much to say on that one. So, okay, I got a couple things. So we did this. This is pivotal test. And I know if there was some coding guy in here,
Starting point is 00:43:53 he had know exactly what I'm about to say was Cell 6. Cell 6 was infamous at Netflix. This was early days. This is when we were putting trailers for the first time as like a video that would show when you'd land in the television app for the first thing. Like the big billboard. Yeah, thanks, Prime. Well, this wasn't me for this one. So this was the initial, very initial one.
Starting point is 00:44:15 And Cell 6 was, okay, we think that the trailer is so important that we're actually going to prevent the user from even going inside the app until the trailer is done completely downloading, which I think. it added some amount of seconds of time. And there was no visible difference in any metric between doing it and not doing it. And so one of the conclusions that was early brought on by management was that performance does not matter. Like if you take some amount of seconds versus some amount of seconds, the internal one, like the ones that some of us kind of came up with
Starting point is 00:44:50 was it doesn't really matter if you load in 11 seconds or 15 seconds. It's already so far out that any of the learnings is already got. And also Netflix is a high, is what I would like to think of as a already baked into the cake loading time experience on a TV. Like a lot of people open up these programs and then just walk away. They'll take a second. They'll just let them load because they already know it's going to be a long, long time. It didn't really matter if it took a while.
Starting point is 00:45:19 And then I'll tell one more fun story about Netflix. So there was that. Then the second big one was we did a test where we had to reduce the, effectively are using too much memory and we are fetching all this data for everything around the boxes because we are doing like predictive play delay and so it's like if you were going to play
Starting point is 00:45:38 some other show we wanted to be like ready to play so it starts up as fast as possible it took me two years to convince everybody to turn it off. It was a lot of meetings like meeting after meeting and finally I actually just did it I just said okay forget it freedom and responsibility F and R baby and I went and just turned on a test allocated 10 million people and called it today
Starting point is 00:45:56 and I just turned it off I just said, no, we're not going to do PlayPredict. And what ended up happening, we actually showed a slight green into revenue. And the reason being is that we just used a bunch less resources, things slightly quit crashing as much. People had a faster experience. And boom, turns out more people actually enjoyed using the product when it wasn't lagging inside. So I came up with a couple good conclusions, I think. There is a huge difference between an out-of-app spinner and an in-app spinner.
Starting point is 00:46:22 If you're using the app, I think the expectation should be no loading. But if you're waiting for the app, I think people have a much. much greater tolerance for something loading. So being able to be like, hey, there's a five second startup time or a seven second second startup time. I don't think you're actually going to make a huge argument there. If the difference is, you know, 500 milliseconds versus 10 seconds, I think you can make a great argument there.
Starting point is 00:46:42 But if it's inside the app and then you have to wait a few seconds, I think people highly care. And I got one more good one for you, TJ. Well, can I say one other thing, too? Okay. There's got to be some difference, too, of when you have made, like, a conscious choice to, like, type Netflix.com into your browser versus, like, just, like, just, you encountering something random
Starting point is 00:47:00 or like you're doing something within the app. Right. Like that's even not just like the loading aspect. Like I already took the conscious decision to go to Netflix.com. I'm, I've got 20 minutes. I'm going to watch a show. It's going to turn into 45.
Starting point is 00:47:11 I'm already, I've already given up on it. I've just spent an hour doing nothing. So it's like that time. There's definitely a mentality there. But okay, this is probably our most interesting test we did, which was, uh, when you press over, there was like a 270 millisecond animation or whatever it is.
Starting point is 00:47:27 And someone's like, We should remove all this slowness so when you can just like go faster. And it turns out when we allowed people to go faster, there was like a dip in watch metrics and people quit using Netflix as much. And the big drawaway, this was like six years ago, seven years ago, eight years ago, was that what ended up happening if you actually measured where people were at, they would get deeper into the Lolo Mo where the less recommended objects were. And they would go so fast, they'd skip over things they were more likely to watch and enjoy watching because they could move so fast. And so there actually is like a performance tradeoff that does exist where you give someone too much speed. And they go right by everything they could like because they're just like, bam, bam, bam, bam, bam. In a shopping analysis, they call this the decompression zone.
Starting point is 00:48:12 And this is why oftentimes like supermarkets or things like that will have some stuff right at the front that they don't really care if you buy or not. And so you got to get a little bit deeper, like in retail or in clothing stores oftentimes. There just be some stuff on like a front thing that you have to kind of go around like. a rock in the water, and that's like just something that they expect you to look at later. Like you're not going to see it on the way in, right? Yeah. I do think, so here's one thing I will say about performance. Pretty much universally, and as much as everyone seems to want to deny it, pretty much universally,
Starting point is 00:48:44 performance dramatically improves the enjoyment that people have when they use something on a computer. And to your point prime, that may not be what you're trying to do. If Netflix wants you to click on a movie and start playing it, and they don't really want you to enjoy moving around the movie. Like, if you're really having fun, there's such a thing as making your app too awesome if the whole point of it is that you actually want them to link out to some other experience, right?
Starting point is 00:49:13 So, sure, I could even see there being sometimes when someone could say legitimately, they go like, look, our app was too baller. We had to dial it back. And if you said that to me, I'd be like, okay, cool. Right. If you're arriving at that place, not because you're making an excuse, but because you actually made something too awesome and went, oh, crap, this is too awesome. Now everyone's doing this thing instead of the thing we actually wanted them to do. Totally, totally valid point, right? It's the other part that sucks where they're like, look, I would like this map to scroll at 60 frames a second and zoom in at 60 frames a second so I can see the freaking place where my car is going. But instead it's like, click, click, click, click, click, click, click, click, click. And I'm like, you. Guys, you are aware that this phone runs like Fortnite at 60 frames a second, right? Fortnite.
Starting point is 00:50:02 And you're drawing three lines and a dot at freaking 10. What's going on? And that's a constant thing, right? Where you're just like, there's no excuse for this. It's the same problem. Fortnite is rendering a map just like you are. But somehow, like you could not figure it out. And so it's weird when you see those kinds of things because I'm like,
Starting point is 00:50:26 I don't think anyone would use, you know, a Maps app less if it was super buttery smooth. And the other way that I know that is if people were sitting around going, you know, I just don't care how fast the Maps update, I just don't care. They'd never buy a new phone. Like, they wouldn't be buying a new phone with a faster processor. Apple would just put the same processor in the phone as they put in last year and just upgrade the camera or something. Because it's like if all you wanted was a better, photos, they wouldn't spend money on making a new chip.
Starting point is 00:50:55 They ship the old chips, right? Yeah. But they know that when everyone gets a phone and it can scroll fast again, because now they are shipping a chip that can catch up with all the suck that developers added over the past three years, right? That consumers are going to be happy with their experience again, right? And so, again, you just see this, you're going like, guys, like, you can see that it's, like, the market is telling you that performance matters.
Starting point is 00:51:20 It's unambiguous because otherwise we'd just be shipping the same. same chips we shipped 10 years ago if it didn't matter, right? But it does matter. And so it's really, what you're basically doing is forcing people to spend all this extra money and, again, creating a tremendous amount of e-waste. That's the worst part of it, is these things are just going into giant landfills. You can't really repurpose an old, you know, some A-series chip. You can't repurpose that.
Starting point is 00:51:43 It can't be like melted down and remade into a new A-series chip. It doesn't work that way, right? And so you're literally just creating a giant dump of garbage because we didn't want to figure out how to ship a faster substrate, right? And that's no good. That's bad, right? It's bad all around. Yeah, don't worry, Casey. As soon as we start putting AI on the phones, we're going to keep on
Starting point is 00:52:02 we're going to keep on spending a lot of reasons. So, my God, dude. Yeah, because now there's going to be a huge part of the ship that's dedicated for TPU stuff, right, and that's going to have, this artificial right is not doing anything. You know they're going to be asking AI questions that can be solved with the calculator
Starting point is 00:52:19 app. You know what I mean? You type in, what's five plus five? burn down the forest 10 or 11 we're not sure your calculator is going to round trip to a server because they won't have like we don't have the TPUs to give you a result in a reasonable amount of time for 5 plus 7
Starting point is 00:52:36 right so we add a round trip to the cloud so that's going out there adding a ton of latency right you spike the power grid half of America is in a blackout so that you could add 5 plus 3 which is something that we could do instantly in 1973 and that's the world that people
Starting point is 00:52:52 are actually barreling towards for some strange unknown reason. And like, you know, and people like me are just like so depressed all the time because you're like, God, this world. Like everything could be instant. Like, everything. You're going to get the AI summary, Casey, of your text messages when you could have just read the text message and not spend any TPU power on it. I will say there's like this mentality that I've seen where like within engineers where they kind of just they want to build these experience. experiences and then their attitude is like, well, hardware will catch up to where I can build this. So it will be shitty for now.
Starting point is 00:53:29 Yeah. Yeah. Eventually it will be good. Someday. And then everyone will, yeah, exactly. So that's like something I've seen. Like I saw someone in chat there like shitty software is driving hardware innovation or something. And I was like, yeah.
Starting point is 00:53:40 The problem is we can write bad software faster than making that new chips. That is the current problem, actually. We should talk about that. I'm sorry. I don't interrupt you. I got to jump on this one because I have to, I have to like, because I have to like, because I've heard these kind of arguments, and I always have to counter it. I remember, so there's this thing called Sigraph.
Starting point is 00:53:57 I'm sure Casey's at least familiar with Sigrath. There was this presentation where this guy had a thousand bouncy lawn chairs fall down, and they all had like wiggle physics and everything. And this was in 2006. And he was able to do that on 2006 hardware with a thousand chairs at once all falling into a big group and popping around. And he invented algorithms for it, a whole new ways to calculate stuff. It was like an incredible presentation. And so whenever I hear someone being like, oh, hardware is going to catch up.
Starting point is 00:54:25 My only thought is that, like, the plot was so long ago that we've lost it because you cannot tell me that there's a single web application that's as complicated as calculating bendy physics of lawn chairs and a thousand of them colliding into each other because they're very complex shapes. I don't know, putting a video in the middle of the screen. I know, like, the fact that I can't get the play button to say play when I'm playing and pause when I'm paused on YouTube. And we're sitting there, like, looking at bouncy physics chairman who solved this on a computer that's, that is like half the speed of my phone. And that's just like, I can't even scroll Twitter beyond 40 tweets without it actually like turning into like the opposite of jiggle physics, whatever that is, like stutter physics. I think you're thinking of something else, Brian. Yeah. But there is, but there's a, I just like I'd like to talk about that one point as well, right?
Starting point is 00:55:16 I know. I just get really angry about that. Like this whole notion of like Hard War World Catchup. I'm like, no. can't be that. It just can't be that. Because Doom was made on the shittiest computer and it has to be more complex than any website I visited in the last
Starting point is 00:55:28 10 years. Like, you're totally right about that. You're totally right about that for sure. But I guess to trash, what I think trash was sort of talking about there was the idea it's like, yeah, like I realize that someone, not me, right, could have made this
Starting point is 00:55:44 experience faster and run well. But rather than me learning how to do that, or like learning to understand those things, I would prefer to just keep doing the slow version that I've been doing, and we'll just wait for the hardware to make that fast enough in five years or something, right? And the problem with that mentality is that the curve of acceleration for single-threaded code has not exactly leveled out.
Starting point is 00:56:13 It's still going up, but it is really kind of like the knee of the curve has passed. And I think that's also one of the reasons why software today is feeling super crappy is because people are still thinking that the hardware is going to be twice as fast every 18 months. But actually, the hardware is not twice as fast every 18 months at all. It's not even close if you're single-threaded. Because a lot of the things that we're doing now are like widening of extra execution units, which no one's taking advantage of, adding more cores, which no one's taking advantage of, sticking TPUs on there, which will only be useful to run a lot of.
Starting point is 00:56:49 incredibly slow AI stuff that's even slower than the thing you're running now, right? And so the actual ability to accelerate single-threaded code has definitely been plateauing. And as process shrinks have become more and more challenging, Harvard designers have to get more and more creative about how they're going to get any performance increase at all out of new generation chips. And so it's possible that the single-threaded march continues to eke out. it's also possible that the party may be permanently over sometime soon. Not for performance increases,
Starting point is 00:57:24 but for single-threaded performance increases like that. Single-threaded, non-Simdi performance increases. It could. Which means JavaScript can't be capped out. Which is a lot of, yes, JavaCrip very much caps out there because, like, not that JavaScript can't generate SIMD code, it can, but most code in JavaScript is not set up to actually be able to do that, right? Yeah.
Starting point is 00:57:45 And again, like, it's, sorry, Go right ahead, T.J. Yeah, I was going to say, the other thing is, like, not everyone gets new hardware when it comes out. Yeah. You're like, okay, cool, congrats. It runs fast on the 70-90. Okay. So, congrats on not selling your game to a bunch of people.
Starting point is 00:58:05 Exactly. Because they don't have the 70-90. And the other feeling for that, too, is, like, I don't know. I know I'm not that old, okay? But, like, I still remember it was exciting to get, like, a new computer because you're like, holy cow guys this thing is four times as fast yeah as what mom and dad bought me last time you know for the house i mean everyone used the computer of course it wasn't just for me to play runescape right um that wasn't what happened but that's not what it was full a lot of rooscape yes a lot of ruinscape
Starting point is 00:58:34 uh but but now it's kind of like oh i mean like i guess it's better you know you're like i guess i have to get a new one because like i want to play this game or there's like a few things that I'm interested in doing or I'm going to like get 50% more RAM. There's not like that magical wonder I feel like of coming home be like the computer's four times faster. I loaded. What was that Jack Rabbit game? Jazz Jack Rabbit.
Starting point is 00:58:57 Jazz Jack Rabbit. Oh, it loaded in zero seconds instead of two this time, you know, like. By Tim Sweet. Epic, that's epic. That's the epic that makes Fortnite. Really? Jack Rabbit. Yes.
Starting point is 00:59:08 Oh, dang. I didn't know that. Yes. That's, I got one more thing that we did. We tried to make this happen. And so this trash, I don't know if you were at Netflix during this time. But we tried to get people to use Sugar Land, which is the old, old Roku. Like this was way back in the day.
Starting point is 00:59:24 We're like everybody, if you're going to use, like, all employees must use Sugarland because it's the worst device we currently support. Right. And nobody would do it because the experience was that bad. Literally no one would use it. Instead, they just said, no, I'm not going to do it. And I realized there's this, there is definitely a part of the problem that you're discussing is a perception problem
Starting point is 00:59:44 because a lot of software is written in these kind of concentrated tech cities or like in a concentrated more wealthy environment where the people writing it tend to have more affluency than say the average people around them. And so every last person that you talk to is like I got an M4 MacBook Pro
Starting point is 01:00:02 oh so do I. High five, right? They're all operating on like really quality software and they don't have like there's no there's no fluency in going oh actually this is really really painful. This is actually really, really hard because I would use older ones. I was like on a 2016 device in 2020 and people were just like, oh, how would you even use that? I'm like, I'm trying to make it.
Starting point is 01:00:24 Like it helps me think through problems better because I'm looking at a problem where it's like this probably matches more what people are experiencing worldwide than in the Silicon Valley. The Silicon Valley has zero understanding of what the world is like because they live in such an extreme bubble of wealth and technology that they don't even know that the average person doesn't have. have the latest iPhone the second that it drops at all times. And a lot of things are slow even on that iPhone, which is the shocking part, right? Like, it's not like you get that iPhone and your web experience is flawless and instant. It's like, nope. It's still incredibly slow in a bunch of places. It's just some things like scrolling or something where it can be done mostly just with the
Starting point is 01:01:04 device and is being handled by, you know, some stuff that was pretty well optimized by browser authors, right? Not the people shipping the website. that actually will work, right? Now, I wanted to mention something that T.J. I just wanted to touch on that. Like, you're talking about the 70-90. So I think it's important to draw a little bit of distinction here
Starting point is 01:01:21 between GPU and CPU, though. A lot of times, like, if something's running slow, graphics-wise, right, it may not be because people weren't trying, like, GPUs are inherently parallelized. And the platform that they have set up for programmers to use is very parallel, right? So typically, you know, people can still write really dumb stuff that makes the GPU have to do way more work than it should. Don't get me wrong.
Starting point is 01:01:46 They're certainly fat and stuff like that, you know. But there's such a world of difference. And the reason that there's a world of difference is because the people who made the substrate for development on GPUs were performance experts. the people who made Vulcan and DirectX and whatever OpenJL they're currently on, right, and metal. All of it was designed in the shading languages especially, like basically how shading languages work and get compiled and create distributed work on the GPU.
Starting point is 01:02:20 That whole substrate was done by performance experts. And as a result, anyone, people who have no idea how a GPU works, no idea what's going on. They can go to something like Shader Toy, type in a bunch of math, and it runs insanely fast. Even in the browser, it runs insanely fast
Starting point is 01:02:39 because it's distributed to the GPU because they created a substrate that was made for performance and allows an end user to simply and concisely describe what they want and make it run blisteringly fast. That should be the model
Starting point is 01:02:53 for what we're trying to accomplish on the other side, right? where's the people making the new version of the web where when you make something it just runs nicely parallelized and very fast by default without anyone having to do anything special without having to be a performance expert just the thing you're going to type in will work right
Starting point is 01:03:18 that's the thing I was going to say to Casey with that is like to use the GPU like the default and kind of only it seems like option in the unless you like somehow really mess it up is like you have to write it that it works for parallel you can't you can't do it any other way really yeah so then does that right right so then because the default and like easy path moves to we go fast and can get faster in the future right because we are figuring out how to do lots more cores and stuff i get i get that part and we're like we are magically finding out we can just smash a bit like a trillion of these i don't know how many we have it seems insane like that's the
Starting point is 01:03:56 difference right it's like the web default version is like the web default version is like like slow, you can't figure out how to make it go parallel. You can't figure out how to write it good. By default, the option is like, we're going to garbage collect like crazy and blah, blah, right? And then, so that's where I'm, like, I agree with you. I feel like that's kind of the interesting part that I don't hear people talking about as much, right? Is like, if you want to make this faster, you have to figure out how the default experience can go fast and help people onto that path, not make it like an uphill battle to be like, oh, okay, well, now I have to figure out. out how web workers work and how
Starting point is 01:04:30 like all these things work. I have to do object pooling myself and exactly. Right? Prime's favorite JavaScript technique you know object pooling. So it's like The reason he likes that is because you can actually make things go faster. Right? It's like okay but then we need to figure out a way to like can we figure out a way to make that
Starting point is 01:04:46 happen by default so everyone can just do it. This is exactly the point right. The point is like to bring it right back to the beginning of where we started this particular arc right? not everyone is going to be a performance expert. The goal is to make it so that your performance experts are there at the bottom substrate and that they have designed something excellent.
Starting point is 01:05:09 And then everyone who builds on top of it, can they still slow it down? Yes, and they will, to some extent. But the difference is they'll only, you know, your apps will only run half as fast as they could, instead of a hundred times slower than they should, right? Like one one hundredth of the speed is what we're going to run. we're having now. And if we went from one one hundredth to one half the speed, holy cow, would that blow everyone away in terms of the response of these things, right? So everything needs to be kind of reconsidered at that level and propagated upwards. And then things just get
Starting point is 01:05:42 way, way, way, way, way better, because then everyone's just reaching for these new substrates that are designed to be minimal, fast, and everything's perform it by default the way you use it. And the only suck that gets added then is any specific suck that you created. But you're not just sucking by default, which is what we have now. Yeah, I got to go pretty soon. But before we do, Casey, or maybe Prime knows a website. Prime, do you know any websites where people can learn how to enhance their computer experience and learn lots of cool things? Dude, if there was a website, like, I don't know, computer enhanced.com. That would be a perfect website name. It's like a website name. I'll end with that. Yes. If you're interested in performance stuff, you can come check.
Starting point is 01:06:24 my stuff out at computer enhance.com, but let me give you the perfect illustration of what I mean by this. I don't want to do web dev. So what do I do? Computer enhance.com is just a substack page. The performance of my performance-aware
Starting point is 01:06:40 programming course sucks because you get it from the default thing that you use to street six and is terrible, right? So I'm literally, I'm literally saying exactly what I said this entire time is my own experience. I just, I didn't write anything. I just clicked like I'm making a thing,
Starting point is 01:06:58 a publication on a site that people use to get their publications, right? Because I don't want to go write a whole thing. And the end result is the performance is terrible. You can literally go take a course by me where I show you all these awesome things about performance and we make super fast stuff and all this great things. And the way you're getting the content sent to you is credibly slow, right? For now, Casey, for now. Me and B. We're talking. We're thinking about we might write something for you. All right.
Starting point is 01:07:28 I just have like closing thoughts in general. Yes. Hit us right. I do agree like the foundation we're building on. And I was speaking like specifically like in my domain. Is it the greatest right? Oh. Like no.
Starting point is 01:07:42 No, dude, it's type script compiler problems. That's where that's where. Yeah. Yeah, yeah, yeah, yeah. Well, no, I'm just saying like there's just we, us as engineers at this point in time, we build on top of so many abstractions that we just don't even know. what's even happening underneath, but I think, like, in my ideal world, like, you should care about what you're shipping. Like, do your due diligence to, like, if something sucks, like, dude, just like, do you try to make it better.
Starting point is 01:08:07 And so I kind of, like, hate people that kind of just, like, ship stuff. I don't hate them, but I'm, like, disappointed when, like, someone can, like, ship something and they're, like, it's good enough or, like, it's performing bad, but they give, like, no effort to, like, even peel back one layer of the onion to, like, understand to make it better. And so I think like, I don't know, I just want people to like care a little bit more about their craft, I guess. Like in my, like, at least, I don't know. I obviously in the perfect world that everyone's going to do like that.
Starting point is 01:08:32 But I just think like the mentality at the moment was just like, ship, ship, ship as fast as you can. I'm going to make 10, 12 startups in like five days. And increase the pressure. Like that attitude, like you're saying, if you had an attitude that was like, I care, like what, I know this can be much faster. Why isn't it?
Starting point is 01:08:48 Just that also just increases the pressure on the system. as a whole for people to make the substrates better, which in time will give you the ability to continue to not care. Like, you'll eventually not have to care as much because the things that you grab off the shelf at that point will already be much faster. So you won't have to know as much
Starting point is 01:09:12 or peel back as many layers of the onion to figure out why things are going wrong, right? So, like, it pays dividends in the long run to just have that modicum of care where you're like, this should be faster. and I'm at least going to complain about it, right? Like, I'm not, even if I'm not going to have the opportunity to go rewrite this myself or fix it myself, just increasing the pressure and the general systemic awareness that something is very wrong here,
Starting point is 01:09:34 that helps us push these things forwards and have the substrates get replaced with better things, right? I do also want to say that, you know, there could be a whole bunch of people that fall into this category that don't even know they're in this category. Like, I think there's a lot of people that just use Twitter the website and think it's perfectly fine. when I press the post button, it takes about two seconds for the thing to show up. When I click outside of it, it takes about two, three seconds for the thing to go away. And no one actually has this categorized as a bad experience. This is just the experience.
Starting point is 01:10:04 So when they make something that falls into a similar amount of performance, they're just like, oh, this is what normal is. Well, the best one is mentions. I am meeting the same bar of goodness that I see all around. And so there's also like a trained mentality that this is perfectly fine behavior. and so they may not even see this as something that's wrong. They don't even perceive it as bad. It just is what it is.
Starting point is 01:10:28 Mentions is the best one on Twitter, at least I don't know if you guys are similar. I click on mentions. I have to wait 30, 40 seconds before it will actually show new mentions. It's forever. It's like it's infinitely long, right? Just shows an old stale page,
Starting point is 01:10:42 and even if I refresh it, still stale. And then at some point, I don't know, some Ajax kicks in, like finally got a thing back. And it's like, oh, here's the, all the benches that you, right? And it's like, it's insane how long some of these things take on Twitter. So it's weird to me like, yeah, I know what you're talking
Starting point is 01:10:57 about. So we both say like, for once it's fine, so it's like, what? Yeah, yeah, yeah. Are you crazy? So. All right. Well, let's wrap this thing up. Hey, this is a great conversation. I think nothing better has come out of this than trash this story about the internet and covering it with a blanket. I'm going to go home and cover my cable modem with a
Starting point is 01:11:14 blanket right now. And also, today we all learned that modem sounds were shorter. I did not know that. See, I did not know that. That is news to me. So that was a great. Real educational stand-up today. By the way, I'm kind of blocked right now, waiting on T.J., so next week I'll be able to get work done. I'm going camping.
Starting point is 01:11:33 Sorry, you'll have to circle back with me on Monday. Bye. Bye. Bye.

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