The Changelog: Software Development, Open Source - Han shot first (Friends)

Episode Date: February 13, 2026

Our ol' friend, Brett Cannon, is back to talk all things Python. But first! Star Wars, Machete Order, Lost, Babylon 5, Game of Thrones, Murderbot, Ted Lasso, Project Hail Mary, David Attenborough, per...petual voice rights, and the AI uncanny valley.

Transcript
Discussion (0)
Starting point is 00:00:15 Welcome to ChangeLog and Friends, a weekly talk show about open source voting systems. Thanks as always to our partners at fly.io, the platform for devs who just want to ship, build fast, run any code fearlessly at fly.io. Okay, let's talk. Well, friends, I don't know about you, but something bothers me about getting up actions. I love the fact that it's there. I love the fact that it's so ubiquitous. I love the fact that agents that do my coding for me believe. that my CI CD workflow begins with drafting
Starting point is 00:00:56 Tommel files for Gitabactions. That's great. It's all great. Until until your builds start moving like molasses. Get up actions is slow. It's just the way it is. That's how it works. I'm sorry. But I'm not sorry because our friends at Namespace, they fix that. Yes, we use Namespace. So to do all of our builds so much faster. Namespace is like Gidabashions. but faster, I mean like way faster. It caches everything smartly. It cashes your dependencies, your Docker layers, your build artifacts.
Starting point is 00:01:31 So your CI can run super fast. You get shorter feedback loops, happy developers because we love our time. And you get fewer, I'll be back after this coffee and my build finishes. So that's not cool. The best part is it's drop in. It works right alongside your existing GitHub actions with almost zero config. It's a one line change. So you can speed up your builds, you can delight your team,
Starting point is 00:01:56 and you can finally stop pretending that build time is focus time. It's not. Learn more. Go to namespace.com. That's namespace. Dot SO, just like it sounds like it said. Go there, check them out. We use them, we love them, and you should too.
Starting point is 00:02:12 Namespace. Dot S.O. Well, it's been far too long, but finally, Brett Cannon is back on ChangeLogging Friends. Thanks for having me back, guys. John Wick and Dune and we're just not talking about it today, though. We're skipping that. We're skipping that. Maybe even a little bit of Andor, you know.
Starting point is 00:02:34 Andor. Yeah, actually watch and or specifically to come back on for, I think, back stage before you stopped doing it. And we're not doing that at all now. But, you know, I'll mention that I've had the pleasure since the holiday break. Like summer of December, January, and then obviously we're here in February now. my son, my oldest son, has gotten into Star Wars. And so we've watched all nine of the main movie shows, you know, the main movie. There's a lot of movies.
Starting point is 00:03:04 Yeah. You know, and then now, which order did you do? Well, chronological. So this is a really interesting phenomenon. I think that was, is it really a phenomenon? Maybe it's not. Maybe it's just a luxury. Is that, you know, we grew up in an era where we got, we had to watch them out of order.
Starting point is 00:03:20 And so we kind of watched, you know, you know, episodes four, five, and six with a lot of context missing and a lot of mystery. Right. But if you watch them in chronological order, you watch four, five, and six with all that context and all that mystery ruined essentially. Yeah. Which is kind of a sad thing, but it's kind of cool in a way too. So I appreciate the watching from two different angles. But we watched them chronologically, you know, we knew that.
Starting point is 00:03:46 Spoiler alert, okay, sound the horn, that Anakin is Darth Vader. Okay. If you don't know that by now, then what rock, okay? rock. But you know, you kind of didn't really know, but there was mention of Anakin Skywalker a couple times in episodes four, five, and six that we never really probably pinned back to a person that mattered in the story, although they were mentioned, because we didn't know that Anakin was Darth Vader, unless maybe you were like a super crazy critic, then you just knew this stuff. But anyways, we've watched them and now we're watching Rogue One, which I believe is the best,
Starting point is 00:04:21 the best. The best. Yeah. The best Star Wars movie of all time is, is, yeah. The best. Wow. Awesome, but not the best. Yeah, I'll say it's awesome, but not the best. Maybe the best of the modern era. Well, okay, let me say where I'm saying is best from.
Starting point is 00:04:36 Storyline, maybe not so much, but visually. Wow. Such a cinematography, like cinematography is amazing. The detail in the things we didn't have detail in, like the Death Star, so much detail. Like the detail in the ships, the detail in the world, is in the land, like so much detail. That's why I think it's. the best and it has the, I would say the beginning of the cinematic era, like this certain look that it has. That's what I mean by the best. And so that's where I'm kind of coming up. Not so much
Starting point is 00:05:03 the storyline itself, but those details, in my opinion, elevated above a lot of them for me. So this brings up a big topic, which is the order that you show your kids the movies in because discerning parents and Star Wars nerds have been arguing, debating like, what's the best order? I chose order of release for the reason of that's the order that I experienced them in so I'm going to let you experience them in order of release at the time that my kids were first watching them
Starting point is 00:05:34 the sequel trilogy wasn't out yet so it was 456, 1, 2, 3 I had known about machete order which Brett, you just mentioned machete order so you must be all about this the machete order is like even more intentional to that. Do you know the order that is and why? Yeah, so just for everyone knows
Starting point is 00:05:51 because it has been a little well since I've been on I've become apparent since my last appearance. And so I've been thinking about this because getting ready for that day. Our little one, they're Star Wars enough that they recognize the Imperial March and go Star Wars, Star Wars. So got them out. That's a good start. Yeah, machete order is doing one, two, skip over three, four, five, go back. to go back and do three and then jump to six. Basically, it's let you lead up, see kind of how things start.
Starting point is 00:06:28 Hide the show on three, right, that you kind of go, okay, something happened, right? And then, oh, my big reveal, and then we'll go plug, fill the hole. And now you get to live that. And then, okay, we'll finish out the story. Now, this was all prior to the third trilogy, right? So 7, 8, 9, it's not a part of it. So I haven't decided quite how I want to do this. I mean, one of the reasons I'm interested about machete is because Phantom Menace was very much made for children.
Starting point is 00:06:56 And so it's going to be age appropriate sooner than episode four, which helps me at least kind of, sounds a little weird to say this, control the narrative so that our little one can watch as soon as I want, think they're ready to watch and not be at a friend's house and have it kind of shown to them without me being there to experience it. Right. Because as a big Star Wars nerd, I want to be the one that sits there with them on the sofa, watch these films, watch their eyes, watch to have a conversation and really be part of that versus some kid on the playground going, oh, yeah, yeah, haven't you seen it? And just like, ah, right?
Starting point is 00:07:36 So, yeah, that's the machete order. And I haven't quite decided if I'm going to do it or do like Adam did and just do chronological in terms of. timeline. Right. But I've got some time. I mean, our little ones, not even two yet.
Starting point is 00:07:53 So I'm just planning ahead. Yeah, must plan ahead, though, right? I mean, the fact that you're even thinking about it, podcasting about it, shows you're a great parent. I mean, congratulations. Yeah, really taking care of the important stuff,
Starting point is 00:08:03 you know. Oh, yeah. They already miss Messian Fai Yoda is Grogo. Is that the right order, though? I mean, I'm looking at, I did a quick Google, Curse Research, Mercedes,
Starting point is 00:08:12 Mercedes, Mercedes, and I got back. It could be four, five, one, two, three. What's missing even two. I think one is skipped. Yeah, like one isn't in the list. So it's four, five, two, three, six. Oh, right. I remember they skipped one because they thought it was so bad. Yeah. It's good for kids. Like we might not appreciate it and it had a lot of slack. And I know actually, apparently generationally, the kids who grew up with one, two, and three actually have way more
Starting point is 00:08:43 appreciation for that trilogy versus the four, five, six trilogy that we all grew up. with. That's right. To date ourselves. So who is this person that made this up, though? I mean, who's, uh, it says Hilton argued? Who's Hilton? I'm trying to catch up to these details. Person on the internet, I think.
Starting point is 00:08:58 But I think actually you're right now that I have parent brain. So memory is not so great anymore. But yeah, I think you're right. I think it was like four or five, two, three, six to start original trilogy. Go, there's a shock. Right. And then go back, fill the history of it and then continue on without, yeah. That's right.
Starting point is 00:09:12 Well, hey, I'm down for a rewatch. So, I mean, at this point, I'm, let me just, expose myself here, okay, right here on the air. My diehard movie fans are going to love this. I had to go and reorder all these things in 4K because you know the kind of theater I have, right? And so I watched it on Disney Plus, which is like, it's okay. But if you're an audiophile movie guy like I am, I just felt like I was just taking a bath in your water or something like that. Like I just didn't feel good about my life watching it via Disney Plus, okay?
Starting point is 00:09:45 So here's a real key question. What version of Last Jedi do you have? Do you have the Dolby Vision version or the later version that dropped it only has HDR 10? Oh. I tell you. Hang on a second because that's the one I have on Plex. Let's see what we got here. I don't know.
Starting point is 00:10:03 I can't remember. But yeah, the first release of The Last Jedi on 4K had Dolby Vision support. And then they re-released it probably when episode 9 or something came out and it dropped it. You said the last Jedi, right? Yeah, episode 8. Let's see here. I have the DTSHDMA71. And I don't know what the vision part of it is.
Starting point is 00:10:27 So I got HD. Does that indicate anything to you? No. I only know because I have the disc. And I was able to check the bike of the disc. What would be different about it? So the key details is Dolby Vision versus H.GR. 10 and 10 plus is just. Yeah, I don't have Dolby Vision on this then.
Starting point is 00:10:43 That's for sure. Yeah. So probably not. Usually that's a disc thing. they don't keep it because it adds bits because it's it's the color depth that they're able to record and also how detailed the color depth is per scene like Dolby vision. Dolby. H.R. 10 plus is a per scene slash frame color depth versus the whole movie. Yeah.
Starting point is 00:11:06 So Dolby Vision can give you slightly more color detail. And I think there's little more bits. I have a request for you then. When I do purchase this, I would like to screen. share live record and stream this for our listeners. Okay. You will help me push the final button on which button to push when I order this, if you're willing to, obviously, to make sure, because I'm with you.
Starting point is 00:11:27 That's why I want the 4K. I want the HDR. I want the color depth. I want the audio. I want whomever went back to the source and remaster these. Hopefully with the utmost care and importance, I want that. I want that in perpetuity. That is why I've re-bought the Star Wars trilogy and all the versions.
Starting point is 00:11:46 in 4K and have bought them from VHS to DVD to Blu-ray into 4K and very much because I want that disc experience. Like I, like you out of mind, I care. I actually bought a Blu-ray player so I could play the 4K discs. Now, granted, I haven't upgraded my TV yet. I keep postponing. Shame on you. Well, we moved.
Starting point is 00:12:07 So is one of those. Not shame on you then. Yeah, could have bought it for our old place, which would have been a certain size and probably for this place and get the proper size. Right. Spousal approval permitting. We've talked about it. I have a recommendation if you need one.
Starting point is 00:12:21 We'll see. So one of the things we're trying to do with our kiddo is we have what we call the screen room, right? So here's my desk. Partners desk on the other side, hence if you hear any weird noises they're here working to. And the TV is right there. So that lists us isolate screens time for our kid so that they don't get tempted. Right. The biggest temptation they ever have is if we're our.
Starting point is 00:12:45 on our phones because they've gotten smart enough that they know how to ask for Thomas, for Thomas the tank engine, or ask for Elmo for Sesame Street, and we'd say no, and usually pretty good, but if you start it at all and then cut them off, not
Starting point is 00:13:01 happy tears. Same with music. We even found, like, getting upset in the car, play some music, maybe some Sesame Street. They want to see Elmo. Show them Elmo on your phone because it's the artwork, the cover. Still not happy when you cut them off because, like, where at Lama go, I want Loma. It's like very visual. So it's one of those, we try to be very stringent about that just so that they don't get that hook early.
Starting point is 00:13:23 But because of that we have a TV and it's small enough space that a projector wouldn't work. But if for some reason they moved up here when they became a teenager because this is the third floor of our house, we would probably put a projector in downstairs, in which case I will reach out to you, Adam, for a good recommendation. Yeah. Well, happy to help however I can enjoy the best films ever in the world. So you guys care about, you know, the visual and audio depth and all of the information. I just want Haant to shoot first. You know, like, that's what I care about. It's like, I'll watch the old VHS if we can have Han shooting first.
Starting point is 00:13:55 Please don't change things after the case. That's my beef. I've always hoped that Disney would re-release the original versions, and we'd have those. Just remasterment. Yeah, how amazing would that be? Well, part of the problem is is George... What does this Hawn shoots first? What is this detail?
Starting point is 00:14:12 Oh, wow. Okay. So there's two things here. First, the redos, Georgia Lucas destroyed a lot of the original copies. So you can't really go back and get them because he claims that the remakes, the respecialization special effects versions he did are the actual versions he wanted to do, right? Like he always complained that most wisely didn't meet expectations for him in his head.
Starting point is 00:14:33 It was supposed to be really busy. Starport. He didn't have the budget. Yeah. But he was able to CG it in later. I'm more sympathetic to that than the actual change of the storyline, which or the character. Yeah. So what? I mean, do you want to tell Jared or you want me to do it? No, you go ahead. You got. Okay. So there's a famous controversy that if you look at the original versions of episode four in the canteen, most wisely, Han Solo shoots Grito first. Right? Like when they're the whole talk and all that, you see him cocked the hammer on his blaster. And then he just said, he had it on the table, right? He had it on the table. Under the table.
Starting point is 00:15:13 Yeah. Han shot first. Lucas didn't like that and thought it set the wrong message. So he changed it so that Grito shot missed Han past the head and then Han shot simultaneously. He turned it into self-defense. He turned into self-defense. Which softens Han Solo's character. Exactly. And it doesn't give him that kind of that redemption arc of being that scallywag, as it were, or rogue person who suddenly kind of realizes that there's more to life than just me, me, me, and Jabaka. and there's more to it and becomes member of the Rebel Alliance, blah, blah, blah, blah.
Starting point is 00:15:47 So that art kind of gets taken away. Yeah. So this became a huge thing. There's T-shirts, like Hanshot First, T-shirts by people who are just mad at George Lucas. Well, because you changed the movie that we loved in small ways, but small ways have big ripple effects, you know? Yeah. I'm fine with him going back to Most Isley and, like, adding creatures and stuff. Like, I think they look bad, so I don't really love it because it's like...
Starting point is 00:16:08 Yeah, the digital Java didn't live up to the puppet. In the 90s, like that... And if they read it now, maybe it looked better. But I thought it looked bad. And it sticks out like a sore thumb. The extra CGI he went and added in. But it's not changing the actual. It's just like, eh, I get that.
Starting point is 00:16:24 He wanted it to be more. He couldn't do that with the budget and the technology constraints. He wants to go back and make it a buzzing spaceport. Don't change the nature of Han Solo, you know? Put that to us. All right. Yeah. So there we go.
Starting point is 00:16:37 This makes sense. I mean, like, when you take, especially the character that, Mon Solo is throughout the entire series from, I guess, not episode one, two, three, technically, but, you know, four, five, six, seven, eight nine. As soon as if you consider seven eight nine canon, uh, whatever. Okay. Okay. We're not going on that canon worms. Uh, I mean, he's, he's, he's, he's, he's really important to Kyler Wren, Ben, you know, to the end of the movie, to the, to the very last movie.
Starting point is 00:17:06 That's right. In the current canon, if you call it the canon. Mm-hmm. Um, he's there through the whole thing. So that, that story arc really is important. important. I never, see, I haven't been this deep. I've been a fan, but not this deep, but fan that even know there was this, you know, Han shot first, you know, fan, iconic fan scenario. I didn't know. Well, we had a lot of free time between the originals and the prequel trilogy,
Starting point is 00:17:28 you know, it had a lot of free time. Yeah. You, you really didn't have very many opportunities to watch it because you either caught it on VHS or you wait for the re-releases. And when the re-releases were coming out in the 90s, 90s, you know, you want. You want to. You know, you want to, you I mean, typical fans, they wanted to see what they saw on screen the first time. And so when these were coming out and there were changes, you know, people got, you know, hardcore nerds nerded out. And they started saying stuff like Honshot first. Well, and the other thing is the episodes one through three, the second, the, I don't know,
Starting point is 00:18:03 prequel trilogy. Those all came out for I remember like turn of the century, right? So 2000s. And so all that was also kind of. out when the internet was really booming. So I think it was also a lot, caused a lot of buzz and a lot of real evaluation of four, five, and six. And so a lot of this all came out right when we were all like real deep in the internet and
Starting point is 00:18:23 reading stuff. And you could find your people and just kind of nerd out on this kind of stuff. Yeah, you could write your essays. Yeah, exactly. And part of this, you'd either have to hope you saw a TV special or read a magazine that happened to mention any of this stuff. You can just seek this information out or just share it, right? Like, Wikipedia didn't exist, right?
Starting point is 00:18:41 That whole concept hadn't shown up. So I think it kind of all coincide with that and everyone just be able to deep dive on the stuff we all nerd about, right? Because, like, I had Empire Strikes Back, Benchites as a child. And I had the toys. But all I knew was, yeah, the films when they showed up on TV or as Jared said on VHS or they got released in the theater for some reason, right? It was just one of those things that I loved, but I didn't get to really get into it. And then eventually we got home consumption and then the fandom and you could really dive into it and just really. go as deep as you really wanted to.
Starting point is 00:19:15 Yeah, and the internet really did create a place where fans could gather and discuss, and fandom exploded alongside the internet. I remember, and early TV shows that played into that, or maybe they didn't even try to, but they ended up playing into that really benefit. I think of Lost and all of the mysteries around Lost, of course, one of the most disappointing TV shows in human history, but the first three seasons were spectacular.
Starting point is 00:19:41 Man, first two seasons for spectacular. This is just my opinion now. Season three was okay. And then just like a long, slow decline and ultimately disappointment. But there were so many fan essays and what do you call them, like trying to explain the mysteries of Lost. And they were so interesting. Like they made the show better because there were so many interesting ideas of what might be going on that I think it made loss more popular than it would have been at all. Yeah.
Starting point is 00:20:07 I mean, it was such a phenomenon. It really was. Yeah. Yeah, exactly. It was one of those things where because there were so much potential foreshadowing, everyone was trying to read into everything, knowing full well it was designed that way. So everyone knew this stuff was foreshadowing or not and trying to figure it all out. And yeah. Yeah, I mean, and I only watched the first two seasons because everyone warned me, you'll be disappointed if you keep watching. That's basically an amazing watch then because it left
Starting point is 00:20:33 you on a high and I watched it to the bitter end. And one of the reasons why that particular series made me mad was because Damon Linnelof, the writer, he had stated at some point early on, we have a story arc. Like, we have the entire thing figured out. And he was basically lying, I think. Like he later said, we had three seasons figured out. They did not have, you know, the actual one resolution that was going to satisfy from the beginning like he said they did.
Starting point is 00:21:01 And so we were so expecting, even as it started to get worse and worse, I just kept being like, no, man, they said they're taking care of us. It's going to happen. it's all going to come together. And then I watched the series finale. Now I was like, no. I mean, it's such a rarity to get to plan that all out, right? Like, I remember that was one of the big deals with Babylon 5 when that came out, right? It was Babylon 5 was written on a five-season arc to and James Michael Shrozynski had the whole plan out in his head of the big beats and where it was supposed to all end up and how he was able to build all that intrigue and all the
Starting point is 00:21:33 political massinations and all that stuff in the show and actually have a plan pan out is because he just said. up front. Like, look, I can't, it's, I'm not writing it to end in the number of series. It's going to end a five. That's it. I hope to goodness, you give me the funding so I can see it through. And, yeah, it's a unique thing. It's not a common thing as much as it used to be. Well, I bet the Game of Thrones fans were hoping he'd have it all figured out before I had. I never got into that show, but I know a lot of people were disappointed with that one. I did. I read the books. And then the show came out and I watched the whole show beginning and
Starting point is 00:22:05 and now I don't know if I care about the books, funny enough, because it's one of those things of, I know they're going to diverge, but also being apparent, they're not, they're long and there's a lot of detail to them, and it's been so long since the last book came out. Like, I honestly feel like I'd almost have to read them again,
Starting point is 00:22:22 and it's just, oh, yeah, I don't have that kind of time anymore. That's why you need either 2X or AI, you know what I'm saying? Yeah. Summarize these books from AI so I can enjoy them. I'm sure the Wikipedia page could catch you real fast, but yeah, it's definitely one of those things. This is like why I love the
Starting point is 00:22:39 Murder Bob series. If you've ever read those books. I have not even heard of it. You may have heard the TV show on Apple TV, MurderBot. It's a great sci-fi series, but the deal is Martha Wells who wrote them, the version of wrote them all as novellas, so they're short
Starting point is 00:22:54 and to the point. They're like under 150 pages. She didn't actually write a full book until like the fifth one and just kept doing it as novellas. And they're great. If you like sarcasm and like pointing out the ridiculousness of people. Very funny and sci-fi book series. And it's, as I said, really quick and easy to pick up because they're all
Starting point is 00:23:14 novellas to begin with. And they started out of as a short story in Wired Magazine. Okay. So I highly recommend it. It's one of my favorite book series, actually. Okay. I'm looking at that. Murder bot.
Starting point is 00:23:25 Cool. So you recommend the show or the books? I actually haven't watched the show yet. Or the novellas, I guess. The books. This is all based on the books. But someone wised up. to take the books and turn it into a TV show
Starting point is 00:23:36 because the writing is so good and the stories are so great. But I actually haven't watched the Apple TV show because I haven't had time yet. I'm just finishing up Ted Lassow. I'm that behind on TV. I'm almost my second time through Ted Lassow. I'm like season two,
Starting point is 00:23:50 second time through, middle of season two. Yeah, when the Keto showed up, we really tried to make sure we didn't watch anything that required any thought or anything really new. So we're like rewatch part of, I think, Superstore. And then we kind of stopped when you hit that six-month stage of, okay, baby ain't just naping all day long.
Starting point is 00:24:08 It's now engagement time. And so TV time really fell back. And then we only just started, I don't know, a couple months ago, starting to actually watch TV. And so just trying to squeeze in the occasional movie. And yeah, so current one's Ted Lassau. But yeah, we haven't watched the TV show, although it is on my list because I'm really curious to see how they did stuff.
Starting point is 00:24:28 How they handle it. Yeah. What's how many seasons they have? Three or just two? three now, fourth is coming. Oh, really? Okay. So I fell off on the second season.
Starting point is 00:24:37 It kind of slowed down for me. Is that a deep experience that same? Yeah. Yes. Yes. It's like changed. I can't recall how it changed, but it just felt different. Not bad, but it's like the pace of the story slowed.
Starting point is 00:24:48 Yeah. And I couldn't keep up with my excitement anymore, I guess. Yeah. It does slow down. It becomes, yeah. Like the first season almost felt like how to be a good manager story. And then it becomes a bit more about the people later on. Season 3 actually makes the episodes longer.
Starting point is 00:25:04 They go from half hour to an hour. I thought season three is really good. There's only so long you can keep up the fish out of story thing. Or fish out of story. Fish out of water. Yeah. Like there's only so long. And that's like season one.
Starting point is 00:25:16 And then like they have to go somewhere else. And so a lot of it falls into like the life of Ted and, you know, his history and a lot of the troubles that he has and dealing with those troubles. And it does slow down in its pace. But there's still some interesting. There's an episode in season two where it's just. Coach Beard, like having a wild night. Oh, yeah. It's just crazy.
Starting point is 00:25:36 It's like the craziest episode ever. It doesn't attach to anything. It's like a standalone. I mean, it has a little bit of an attachment, but it doesn't matter. It's just so cool. So what a friend told me was supposedly they wrote that season two episodes short of what the contractually had to do. So they had to write two extra episodes to fill it in.
Starting point is 00:25:52 And assuming that information is correct, my guess is that's one of the episodes. It's a filler episode. Yeah, because it is kind of off the wall. It's totally off the wall. whatsoever. If you took it out and never watched today, it would not affect. No, it's like an overnight session of him going on a wild journey, you know, and it's so weird.
Starting point is 00:26:10 No, I definitely changed the tone after season one. It's still a comedy unit example, but it came a bit more dramatic and about the people in character study and less just flat out, as Jared said, the fish had a word of comedy. What happens if you drop someone from Kansas in London. Yeah, because, I mean, eventually you become a native, right? And then you speak the tongues.
Starting point is 00:26:29 Next thing you know, you get the British accent and all the things, you know. Like, only so long, he can make jokes about not understanding football or soccer because, like, he gets it. You know, he's been there for three years. And even those little special treats he makes. Like, I want to, I want the recipe for those. I want to try one. Yeah, the biscuits. The biscuits.
Starting point is 00:26:48 Yeah. I forgot what I knew they were like a surprise. And I don't know all the characters names, but a surprise to the kind of main. Rebecca. Yeah, that makes some sense. And then obviously Rebecca and Ted, Ted. But yeah, they keep that going. He keeps handed out of those things.
Starting point is 00:27:02 every single morning. Yeah. I mean, what a sweet guy. What a sweet guy. You know, only because we're on this kick here, I have to mention two words. Hail Mary. Oh.
Starting point is 00:27:14 I'm looking forward to it. I did not watch the Super Bowl, so I did not see the trailer. But I know Adam hasn't either. Absolutely not. Yeah, I'm interested. I'm very interested to see how that movie does. I've done some trailer peeking.
Starting point is 00:27:29 I will peek at a trailer. Okay. I won't watch it. Yeah. I just want to get like the cinematography. Like how's it going to look? Okay, look away. You know, that's, that's me with trailers.
Starting point is 00:27:38 Okay. To add some context for everyone, this is the upcoming movie based on the Andy Weir novel, Project Hill Mary. It's starring Ryan Gosling. I think Adam and I, Brett, you've read the book? No. Okay. He just knows the movie's coming out. Adam and I've read the book.
Starting point is 00:27:53 I think you audibled it. I've seen the trailer and that's it. I audibled it about 17,000 times. He audited it and I read it with my eyeballs, which means I didn't know how to pronounce Astroof Is it astrophage? When you read the words on the page, you just say it the way that it sounds in your head. How did you say it, Jared? Astrophagy.
Starting point is 00:28:10 You know, it looks like astrophagy. And I was like, do you mean asherphage? And I'm like, you know that's how they pronounce. He's like, well, because I listen to it on audible. I'm like, okay, good. That's one advertisement for listening to books. That's right. They help you understand how to say things.
Starting point is 00:28:23 Yeah, it's like, how am I supposed to pronounce this character's name? I have no idea. Like, you got to just guess and hope it's somewhat, I mean, who cares? I bet the author doesn't care, but I won't. I wonder what they had in their head, right? Right. Well, that's the thing about Audible is, like, the person who's reading it, the narrator, they can go ask the author, you know, how did you have it?
Starting point is 00:28:40 And they're directed, too. This is Ray Porter, by the way. Ray Porter. Let's just be very clear. The person who narrated is Ray, the great narrator, Ray Porter. I mean, the best of all time for sci-fi. I mean, anything he voices is going to sound good or be good, okay? Better than David Attenborough?
Starting point is 00:29:00 I mean, they're two different claws. I mean, they're not the same cloth. I know. I'm just trying to think of another great voice. You know, actually, I was actually thinking about that recently because I'm going to, I know he's getting older. And I'm going to mourn the day when he actually passes because like, wow, well, any earth type narrated. Yeah. Documentary.
Starting point is 00:29:20 What would you call this? They're not documented. Like, yeah, they are. They're documented, I guess. But, like, they're a different kind. They're like science-based documentaries. You know, they're not like crime-based documentaries, for example. nature stories.
Starting point is 00:29:33 I don't know what you call it. Nature's, yes, great. Nature stories, yes, nature documentaries. Like,
Starting point is 00:29:37 he is the quintessential voice for all those things. I was just telling my wife about this. I was like, babe, he's going to pass away soon. Like, I'm not wanting this. I mean,
Starting point is 00:29:45 it's just how it works. Okay, y'all? And how's it going to be when we can't watch these films or these documents with our kids and he's not the one voice them anymore. Like, that would be a sad day or year. And really just pause,
Starting point is 00:29:57 making them. I don't know. Yeah. Well, so we have us, so here in Canada, We have David Suzuki, who's kind of our similar version. David Suzuki did a TV show on CBC, The Nature of Things, and he retired a few years ago from it.
Starting point is 00:30:14 It still pops up and does political stuff because the David Suzuki Foundation is a big nonprofit fighting for the environment and everything. Actually, VC local. But yeah, a similar thing. But he just, yeah, he retired and just slowly did less and less and just kind of stopped making public appearances. That's how he did it. David Abburlow seems to just keep doing it. He's like, I just love talking to a microphone about animals and flora and fauna, and I'm just going to keep doing it until I can't do it anymore.
Starting point is 00:30:39 His pace is uncanny. Oh, it's insane. Now, here's a question of future morals and ethics. So here's a guy whose voice we have. I know where this is going. Well, you guys are thinking it too, aren't you? I'm just going to say it. Well, and we can hide this, go ahead.
Starting point is 00:30:53 I know where this is going. And I have a Star Wars tieback for this. Okay, cool. Yeah, yeah, I know where you're going with that. So we have hours and hours of just. just like lossless amazing quality recordings of the guy's voice. And we can deploy those into the future at better and better usages to the point where right now you can still tell. But 10 years from now, it's going to be indiscernible, I assume, from his actual person.
Starting point is 00:31:17 Because you've never seen it. I mean, I know what he looks like, but you don't have to see his face. You just hear his voice. I can hear his voice in my head right now. I can't picture his face. Oh, yeah. Same here. What happens when he dies Adam?
Starting point is 00:31:26 I mean, couldn't his foundation, you know, license that out? and the world could continue to benefit from this guy's amazing pace and vocals. Well, now we're getting into, I just want to throw one more thing in there, Brad, because I think you might like this too. Now we're getting kind of into Ready Player 2's territory. If you watched or read Ready Player 1, great film, fun, yeah, nostalgia, but the book is better. And Ready Player 2 goes into really great, well, really interesting places, let's just say.
Starting point is 00:31:55 So today is to Star Wars. apparently James Earl Jones did recordings of his voice with a Ukrainian company actually for Disney so that they can keep using his voice for Darth Vader specifically. And I think that's an interesting distinction here of Dana Attenborough, the person versus a character. And so for me, I don't think I'd want to hear a AI-generated David Attenborough. It just isn't the same. I know it's the voice and the intonation and the pacing is what we all associate with that. But it's not going to be the person, right?
Starting point is 00:32:34 And that's who, I mean, if it was really just the voice, we would not care whether this person was alive or dead. But the point is we do. We care about David Adderbara, the person for what they have done and accomplished and given to the world. So for me, it's more than just the voice. For Darth Vader, as a fictional character, I'm less bothered by it, especially, and specifically because the actor has given permission to do it. Right.
Starting point is 00:33:00 So if the actor is given the permission to say, yes, Disney, you can keep using my voice for Darth Vader, for whatever you need it for. I'm okay with that. I get that and I won't personally have problems with it because it's a totally fictional character to begin with. And the actor said, okay. Dave and Amber, though, I don't know. This has a weird different feel when it's literally the person and not a fictional character.
Starting point is 00:33:19 So I, I'd rather just hope someone else kind of comes up through the works and kind of becomes the next great BBC nature voiceover person versus just let's just keep reusing David Attenborough forever and never have a human being never do this again. Because it'd be tempting, let's be honest, like do you really want to try something new with someone
Starting point is 00:33:40 or just stick with what you know, especially if it's a certainly nationally recognized? And that everybody loves. We already know everybody loves it. Yeah. Now, what if they had Nadboro did the same thing? He said, I want my voice to live on in perpetuity. I love nature docs. So, you know, whatever permissions you need from now on after I die, my last will and testament is use my voice for any nature doc you want.
Starting point is 00:34:02 Go have fun. Now, what, would you listen? Would you not listen? Would you care? Would that change your perspective? I mean, I wouldn't stop me, but I'd still be a person, but I wouldn't be upset about it if you said, sure. But I don't know, it still feels a little weird. Do you know what, man?
Starting point is 00:34:18 I don't know. I'm really, I'm really. This is a really fun. line that were presented with and potentially crossing because I don't know if I care, I guess. I just don't know if I care. I think in particular, if that was true, if David said, hey, super fan of my work, perpetuity, all that good stuff.
Starting point is 00:34:41 If it was his wish, then I wouldn't, I certainly wouldn't care at that point. But if it was against his wish, then I would certainly care. Same. You know, so like if he was for it, he's like, I donate in all. all the ways to an audio lab that can do this stuff and do it in a way that presents his desires and those desires kind of have a license or a criteria set to it. And they're always, it's always used in that criteria and that license.
Starting point is 00:35:08 I'm for it. I'm for it. If the man wants to live on, I mean, he's earned it. By all means, I'm going to enjoy it because if it's David and they can kind of like, kind of keep it in the David way,
Starting point is 00:35:18 the personhood of David. Shoot for the moon, man. Go for it. We can't stop this stuff. I mean, we just can't stop this stuff. It's just going to happen. And we have to work around it. We have to be augmented by it.
Starting point is 00:35:29 Not, it's just, it's coming. It's like a freight train. It's coming. You can't stop it. Tickety tack. Well, hey, if there's any union that can stop it, it's going to be the film industry unions. I don't think he would do that.
Starting point is 00:35:43 That's true. Okay, we should be clear. He didn't say this stuff. This is hypothetical. Yeah. Nor would I think anybody say all the things I said, just now because it's like, I mean, you could ruin your legacy. If someone can literally put words in your mouth, you know, after you're gone, they can just
Starting point is 00:35:59 say you're saying things and you never said those things and that could ruin your legacy. You could maybe. Well, that's where I say like if you could do under a license, if you can say in these contexts with this kind of supervision, with this kind of specification and then the ending result has to, you know, deliver on this contract, this promise, then I think that that's a version of a last will and testament as a contract, right? Yeah. So if you're going to use something in that regard and adheres to that regard and it's desired by the original person.
Starting point is 00:36:27 But I would say David Abbott is also in a unique position, right, where he could say like, okay, only the BBC, only for nature documentaries. You can ever make a political statement, et cetera, et cetera, et cetera, in which case, that's very locked in. But if it's a character from a movie or something and the movie series go, you know, if we have them say this slightly spicy thing. But then it sounds like somewhere from that person. That's not so great, right? Like the airtightness you'd have to have. Plus, I mean, by the way, if David Amber's voice got used digitally and said something wrong,
Starting point is 00:36:59 I mean, forget the British public. Like the world would get really upset. Compare that to somebody else, right? You'd have to have such an airtight contract of really what you couldn't do and have to be really careful. And somehow, another human being that's not like the studios or whoever to trust who'd make that call.
Starting point is 00:37:17 Like, you'd have to be really airtight with that. I mean, I'm sure it's coming and they're going to do it. And some people are going to accidentally sign a little too loose of a contract and something's going to happen at some point. I mean, it's going to happen. But I think the question is, yeah, how it's all going to play out and how that's going to look. I mean, I know there's the Actors Guild, like the last strike was all about this stuff, right, with the writers and the actors. Like, no, you can't just force anyone automatically to have to give you their rights in perpetuity to recreate the character and all that. Right.
Starting point is 00:37:50 Because they don't want to see that happen. So I think it's going to be a lot of baby steps. Along those lines, did you guys see the ad in the Super Bowl, which was the Duncan Donuts ad, Ben Affleck, where he was. Yeah, that was last year, right? Goodwill Duncan. I think it was just this year. Oh, did do it again?
Starting point is 00:38:10 They did that previously. They might have done it previously. And I was just, I was literally at a party and watching it. So maybe I'm speaking out of turn here. But it had Steve Urkel. It had Joey Tribiani Yeah,
Starting point is 00:38:26 had Ben Affleck A handful of Science who's a Seinfeld George from Seinfeld Oh, Jason Alexander. Yeah, Jason Alexander And they were in character
Starting point is 00:38:36 As if they were those actual people in the shows Not as the actors Like it wasn't Jason Alexander It was science, it was George, you know Oh, okay And they were acting
Starting point is 00:38:44 But they seemed clearly AI acting This is where I might be on a turn Maybe they like just had some sort of Like maybe the actors really got together and recorded it and then they put something on top of them that made them look fake. But I'm pretty sure they weren't there. Like I'm pretty sure they had permission. They probably got money for it and all these things. That was all on the up and up. But like it wasn't really Jason Alexander. It wasn't really Jaliel White or whoever plays Urkel. I think that's the right name.
Starting point is 00:39:05 Yeah, you're right. Jolera White. Because he's much older now. It looks like the end. And I'm thinking like, well, this is coming too. But when I watched that particular ad, I was a bit offended because I felt like this is uncanny Valley. It's almost them, but it's not them. and now I'm thinking about the production and how it was made. I'm not, it's actually a really funny spot. Had it been the actual,
Starting point is 00:39:26 all the actors, it would have been hilarious. Yeah. Because they're all, it's like, goodwill hunting was like goodwill dunking. And the whole thing is like Ben Affles, acting like he's a smart one.
Starting point is 00:39:33 And there's a lot of good jokes in it. But if you guys didn't see it, maybe you can't comment. But my, my thing is I feel like we're in this place where it's like, uncanny valley of AI generated people. And so it's strange.
Starting point is 00:39:49 But like I said, a few minutes ago, 10 years from now, I think it's going to be gone. Well, the interesting thing with those is those people are alive, so they can okay or sink it. But the other thing is, is if they allow it, they don't even have to show up to cash the check.
Starting point is 00:40:02 Well, that's why I assume that you would do it that way, right? It's like, all you have to do is get their likeness and their permission and send them the money and they can stay at home, and you don't have to have a studio time. There's no, there's no airplanes, there's no scheduling. No coordination of schedules.
Starting point is 00:40:15 So it's way more efficient, capital efficient, and still has a pretty good. a result, although I feel like this one fell short of the mark, personally. Just an interesting time where it's like, it's changing. Like, that's a Super Bowl ad. So that's a huge budget thing where maybe they spent way more on the time slot than they had to spend on the production.
Starting point is 00:40:32 Yeah. Or maybe, yeah, they just, or, I mean, I'm sure it was not cheap king of those people to license out their likeness to do that commercial. So I'm sure they still made, made bank. But yeah, I don't know. Yeah. As you said, it'd be more fun to know it was actually them. because like did they go do mocap was entirely just auto-generated like it'd be a little more interesting
Starting point is 00:40:54 if it was mocap and at least it had their motions but if the motions were a little off I mean that's part of the mannerisms of the character and if that's not there that's where you get that weird on Kennedy's like it's not quite right so and if you do a motion capture you might as well just have the actor on screen right like maybe it's just the coordination that's I'm assuming scheduling would get in the problem at that point too right those people are somewhat popular enough I just don't feel like flying to wherever they're doing the filming. I just don't care or whatever.
Starting point is 00:41:24 Now on the actor's side, if you can get to that point where your name, image, and likeness is so valuable that you can just sign contracts all day and not have to go anywhere. That's pretty cool for that. It makes it harder to be an up and comer, but the ones who are already there, you know, it's kind of like Radiohead had no problem with internet streaming because they were already radiohead. Yeah, it's like, what's that service where you can like pay to, Get like...
Starting point is 00:41:49 Cameo. Camio. Yeah. It's like that, right? Like where you get big enough, I can just pay me a couple hundred bucks and I'll record you at like a 30 second little personal message of happy birthday or something. Knock a couple of those out in an hour. Now you can do those without even doing that.
Starting point is 00:42:02 You just have yourself, your likeness, do it for you. I would not be shocked if that comes someday. That's certainly coming. Strange times. This is the year we almost break the database. Let me explain. Where do agents actually actually? store their stuff. They've got vectors, relational data, conversational history, embeddings,
Starting point is 00:42:25 and they're hammering the database at speeds that humans just never have done before. And most teams are duct-taping together a Postgres instance, a vector database, maybe Elastic Search for Search, it's a mess. Our friends at Tiger Data looked at this and said, what if the database just understood agents? That's Agentic Postgres. It's Postgres. It's Postgres, built specifically for AI agents, and it combines three things that usually require three separate systems. Native Model Context Protocol servers, MCP, hybrid search, and zero copy forks. The MCP integration is the clever bit. Your agents can actually talk directly to the database. They can query data, introspect schemas, execute SQL, without you writing fragile glue code.
Starting point is 00:43:13 The database essentially becomes a tool your agent can wield. safely. Then there's hybrid search. Tagger Data merges vector similarity search with good old keyword search into a SQL query. No separate vector database, no elastic search cluster, semantic and keyword search in one transaction. One engine. Okay. My favorite feature, the forks. Agents can spawn sub-second zero-copy database clones for isolated testing. This is not a database they can destroy. It's a fork. It's a copy off of your main production database if you choose. We're talking a one terabyte database, fort, in under one second. Your agent can run destructive experiments in a sandbox without touching production, and you only pay for the data that actually
Starting point is 00:44:02 changes. That's how copy on right works. All your agent data, vectors, relational tables, time series metrics, conversational history lives in one queryable engine. It's the elegant simplification that makes you wonder why we've been doing it the hallway for so long. So if you're building with AI agents and you're tired of managing a zoo of data systems, check out our friends at Tiger Data at Tiger Data.com. They've got a free trial and a CLI with an MCP server. You can download to start experimenting right now. Again, Tiger Data.com.
Starting point is 00:44:41 I can't think of a clean segue into leaving the Python steering council. Here's a segue. Brett, what if you just had an AI version of your... yourself that could just go do the steering council. Would you still be part of it at that point? That's not a very good transition at all. No, I mean, you want fresh people, right? Like, you want turnover. You don't want the same gray beard showing up. Or gray-haired, but we'll make it more gender neutral, sorry. People running stuff. You want the new people to come in with some old people around who have inherent knowledge of how things ended up and why they're there and to kind of
Starting point is 00:45:17 help keep things going without it being a dramatic shift, but you got to let people come and and change the project as they want. You just don't, yeah, you don't want stacked in a way that doesn't let fresh people come in and contribute. So, no, I would not want an AI version to me to be on forever. No, I know you wouldn't. I was just trying to have some sort of way of making a segue way. So you're in rare company, you know, somebody who's like had the means of power, like
Starting point is 00:45:43 you've had it in your hands. You've had the power in your hands like George Washington, you know, he let it go. And, you know, you're in rarefied air here, Brett. You had power. And you just said, nah, I don't want this power anymore. I'm going to let it go. It's been a couple of years now. Yeah, it's been two.
Starting point is 00:45:59 Two years since you've retired from the steering council. Any regrets? Do you ever want back in? How's it working out? Regrets. Regrets. No. No.
Starting point is 00:46:10 I mean, so I was on the steering council from its inauguration through the first five years of its existence. That was great. It was a great seeing friends of mine every week and having an excuse to hang out and to help out and all that stuff. But when we were choosing our governance model, one of the things I suggested that way is that we had terminal, specifically so we had guaranteed turnover. I didn't win that argument. And there was enough going on. We were trying to make those decisions. I didn't press it. It was more of an idea. But I decided to stick to it plus potential get on the way. It's like, yeah, this is just a good time to just step back and let someone else come on and have that guaranteed slot to be open. So no, I don't have any regrets.
Starting point is 00:46:52 Would I ever do it again, possibly, given enough time? Once again, I think the kid would have to be a little older and just, I'd be able to focus a little bit more on it because it's one of those things that's kind of always, I don't know about YouTube, but my brain never shuts off. So it's always going to stuff's always going back in my head. And so right now it's a lot of kid stuff. And I want to make sure that it's not pushing kid stuff out of my head. I want the kiddo to be a little older before I do that. But like I do miss hanging out the people in the string council because I'm luckily know most core devs personally at some extent.
Starting point is 00:47:26 So it was just a great excuse to hang out and just talk every week. Yeah, no, I don't, no regrets. Yeah, it was just a thing. I just stopped doing it. It was no weird anything. It's not like I felt like, oh, my goodness, I don't have the power and more. It's animal to do. It was just, I mean, even when I was on it, I still had to go through the same process as
Starting point is 00:47:44 everybody else. So it's not like I was in any way privileged for the stuff I wanted. The closest I had privilege is I could ask my other steering council members. I have this idea for something. What do you all think? And they could shoot it down maybe a little early than somebody else. But everyone else can also still email the steering council and that's the same question. So it's still not that privilege.
Starting point is 00:48:00 I might just get response time that's faster. So yeah, no, it's it was fine. It was over too stressful to begin with. It was just took time. So I just have that time now to focus on other stuff. it's interesting to be in that position now so what did you if it didn't have a lot of power what kind of lack of power did you or I guess what kind of power did you share with everyone else in the community well I mean did you have uniquely that was you know part of the steering council I'm just saying from my perspective and not being audit anymore my power wasn't unique and that the steering council does have power as a as a as a as a council right because the steering council ultimately decides what PEPs, what Python and has proposals get accepted for Python, right? And that drives which way language goes. So that's where its power comes from is its ability to make those kinds of
Starting point is 00:48:56 steering decisions. But the council had enough workload when I was on it, and I think it's continued sense, that there's not a lot of, you know, we think we should steer things this way. There's no, like when we first started it, we thought, oh, we'll have these grand plans and we'll try to spec out kind of where we want things to go long term and where we think people should focus, not. Nah, don't have the time. Enough stuff's coming in from the community and other core devs asking for stuff that there's not enough space to kind of come up with how to steer things. So we never even had to worry about that.
Starting point is 00:49:26 So there's no power of like, you know, I want to make Python go this way. As a senior council member, you have power in terms of having an opinion that people know matters to an extent, but it's not a, I'm going to drive this huge project. And only steering council is going to make it happen. And it's just the steering council may unless can say yes or no. And that's really it. It's just a body that says yes or no for stuff that they get asked. What is the driving direction of the steering council?
Starting point is 00:49:53 Like when you, is everyone voted in? Yes. Do you keep the seat in perpetuity until you want to let go of it? You know, what are some of those mechanics around, you know, being a part of it? What does it do? Yeah. So the way I've always raised is the steering council's job is to effectively be the final decider of things related to the Python project.
Starting point is 00:50:15 Really sum it up, right? Like if there's any disagreements about how to handle something, deciding perhaps anything that we've just decided needs a final arbiter, the same counsel is it. Basically, what Guido would have done previously before you retired. Now, how the mechanics work is we hold elections. There are five seats. Everyone goes up for election every year. we call for candidates. You can self-nominate for candidacy or you can nominate someone else
Starting point is 00:50:46 and actually do not have to be a core developer. You just have to be nominated by a court developer. So you can actually have someone outside be nominated, but it's never happened. At least no one's ever been elected. I can't remember if anyone's, I think maybe someone outside has actually been proposed and didn't get on,
Starting point is 00:51:01 but no one's ever actually been elected that's not been a court of. So that all happens in November, October, November. and then the first half of December we do the voting. We just switched voting systems to star voting. We can go into that if you want. And then that gets all resolved December 14th, 15th.
Starting point is 00:51:23 And then I think it's 14th typically. And those people start January 1st and they serve for the year. And that's basically it. So we kind of have a lame duck, Syrian council in December, maybe a little bit in November. But still, some things still get decided where, the sitting steering council doesn't feel like it'd be a burden on the next steering council or in any way controversial if they had made make the decision so they're not totally sucks like basically December is taken off which kind of makes sense based on holidays around the world
Starting point is 00:51:52 yeah um yeah the only abbreviated one was the very first steering council because that all happened uh February uh just because it was the first one and just timelines of choosing the actual governance model and all that is we happened to start in February and then decided, you know, let's have it end and start on January 1st. So that was a little abbreviated, but not that much. So yes, if we want to talk voting systems, we can totally talk voting systems.
Starting point is 00:52:18 Do you have opinions about voting systems? Is it worth talking about voting systems? Well, so... I mean, maybe. Depends on who you ask. So if you actually watch the Python documentary, disclaimer, I'm in it. I mentioned how I found the whole
Starting point is 00:52:36 thing of Guido, quitting being BDFL stressful, really stressful to the point that I actually started to choke on my own throat at a restaurant once due to the stress of this or that. It's past sense now. And a lot of it was around voting systems. Because the problem is, is when Guido quit, Guido said, I'm leaving it up to you to decide how you want to run yourselves. Yeah. Period. Like he literally just said it and then Mike dropped and backed off. He was still around, and he was listening and watching, but he was not driving anything,
Starting point is 00:53:13 which meant we actually had to decide how we were going to decide how to run ourselves, right? Which is tricky, right? So how do you decide? How are you going to decide? Mike, we've never had to worry about this. The bear is sticky with honey. Yeah, exactly, right?
Starting point is 00:53:26 When you've never had the system in place, because you always just propagated things up to Guido to make a call, we didn't have anything in place. There was no concept of voting on the Python core team because we never, never had to vote for anything. It was just, we don't might ask for her hands or just people would say like plus one plus zero minus zero minus one, but there was never like a
Starting point is 00:53:45 formal way to do it. And voting systems are why these things you can really geek out on if you want because there's a whole bunch of literature about how certain voting systems are lead to certain gamification and stuff versus not like first past the post, which is how like governments like North America are typically voted on, where whoever gets the most votes. but that can lead to games with stuff. And then there's like approval voting where it's more like you just say, I like this person or I don't.
Starting point is 00:54:15 There's a whole bunch of stuff. So that took a long time just to choose how we were going to choose how to govern ourselves. How long? Nine months? A baby level? No, it was July until November, I think, October, maybe. Okay.
Starting point is 00:54:29 But the deal was there was a lot of strong opinions. We were like really strong opinions. And it was one of these things where there were times where it didn't look like we were going to reach agreement. And because there was no way to even choose that system, it had to be kind of just general, like, feeling consensus. Because there's no way they really know, right? There was no way to like, yeah, we've all agreed.
Starting point is 00:54:53 How do you know that? You just had to have a feel on a mailing list or maybe at a core dev sprint. It's just kind of a room feel that we all kind of basically agree and we think this is going to go and no one's going to throw a fit and cause a big. stink over this. So even that was hard, right? The way I always said it is there was a lot of of soft power being thrown around by some of us cordats who had been around for a long time and had respect to enough other people to go like, okay, I think we all have this going. What do you all think? And kind of like push and force people to make it kind of vocally say yes, no or stay silent
Starting point is 00:55:24 as an abstain and just kind of get a feel of the room like, okay, okay, everyone good, everyone good. And just kind of like declare, okay, bring vocal good and move on and hope no one throws a fit, right? It was really weird. But it was stressful too because you never knew. You never knew if someone was going to come forward and go, I don't like it. Right? Because it's not like we're in an office. We're all chatting at the water cooler all day long. It's just emails. So it's like sometimes you're talking to someone, sometimes you're not. And someone can just disappear and not say anything. And so they just drop in and say something where if you were in an office, you could totally see it in their eyes. Right. Like, oh yeah, they're not happy.
Starting point is 00:55:56 Something's going on. Right. So it was hard. And it was very stressful. And a lot of it was around voting systems and choosing how we were going to choose that voting system. And then once we chose the voting system, it was pretty smooth sailing, right? Because that was when we had all the peps to propose governance models. And we just used the voting system to choose which one. Which pep was this? The one that won in the end. It became PEP 13.
Starting point is 00:56:23 But originally is PEP 8,000 something or 6,000, maybe. I think it's 6,000. I can't remember off the top of my head. But there's a section of. peps that had all the proposed governance models. And we just voted on all of them and the one that won was the council one. Gotcha. There was even one that was basically anarchy.
Starting point is 00:56:43 Like it really ran the gamut. There was another BDFL option that kind of didn't land because the PEP didn't name who the BDFL would be. And some people like that. Some people were honestly afraid people they didn't like would be named BDFL. So like they wanted to hedge their bets against that, right? It kind of ran the government. Yeah. But yeah, so voting system is a big topic.
Starting point is 00:57:08 Oh my gosh. Yeah, it seems like it. But then you recently switched to stars, you said. Yeah, so we originally started with approval voting where basically you just said, hear all the people I'd be happy if they ended up on the Strain Council. So if you had 10 candidates for five seats, you weren't limited to five votes. You could vote for 10 people or 9 or 8 or 7. And basically it kind of makes you go like, okay, you're just basically saying, I approve,
Starting point is 00:57:32 I don't care if anyone I approve gets on. These are the people I want. But it kind of waters down your vote in a bit because you can't really say, I really hope this person gets on, but I'd be okay if this person gets on. Right. So like I might really want Adam to be on, but if J.R. gets on, I'm okay. Right. There's no kind of like expression of preference with approval of voting.
Starting point is 00:57:53 So star voting, and it's all caps for stars. So I think it's an acronym. Star voting actually lets you rate. So here's my favorite. here's my least favorite, but you can rank them anywhere you want a range of 0 to 5 where zero obviously means like, no, no, thank you. There's a meeting behind this. You want the meeting behind Star Voting?
Starting point is 00:58:12 Sure. Would it add context? I don't know. I don't know if Wikipedia is accurate or trustworthy, but let me just say that's the source, okay? Star voting is an electoral system for seat or sorry, single seat elections, the name and a illusion to star ratings stands for score, then automatic runoff, referring to the fact that this system is a combination of score voting to pick two finalists with the highest total scores followed by and in quotes automatic runoff.
Starting point is 00:58:40 In which the finalist who is preferred on more than on more ballots wins. It is a type of cardinal voting electoral system. But you guys do the automatic runoff part? Yeah, we did. So what happens is basically you rank all your candidates from five to one and or zero, right, if you don't want them at all. But the interesting thing with this is you really want to rank the people you really want. on as five and the people you're just okay with but or totally don't care about being on as one and then spread everyone else across like peanut butter right so you really do want to show a preference
Starting point is 00:59:10 you don't want to put everyone at five because it's like no no difference you really want to show a preference which is the big shift from approval but yeah it just does a runoff and it goes like okay who's above in all these ballots at this point and then okay well it seems these are the top two if we just have these two run what does that look like okay this person wins they're on take them out of the ballots. Now we do it all over again and just keep slowly kind of pulling it down to see where people's preferences land in terms of, well, this person got all the fives. Like, because there's balancing me to her like, oh, yeah, this person got five, but only got like 10% fives versus someone else who got like 30% fours and just how that all all the machinations
Starting point is 00:59:49 of the numbers and the math and all that work out. But it was just interesting that we did that shift to really kind of let people express that preference, right? It's just like it's not just a binary on or off the on the council and say no i want you on versus yeah i really want you on to i'd be okay i won't be upset but if you don't get on i'm not going to cry either and that was the big shift and that all just happened in this last election was the first time we ran it and it went just normal probably yeah it was it was interesting it was smooth no one uh everyone seemed to be good with it because it didn't it didn't change it such it was like only vote for your five people like you could still express yourself,
Starting point is 01:00:29 but it wasn't really complicated to express yourself, right? The only trick was you had to understand you wanted to run the full five-point gamut. You didn't want to just pool like F5. And then Tim Peters, court developers, more or less is retired from participation actively, but still comes around on occasion.
Starting point is 01:00:46 There's a big voting nerd and ran a whole bunch of things on it and show that the outcome actually matched up with what would have been expected. And that, yeah, the system worked. And it was people, got in the way you want it, even if you ran different kind of voting systems and all that. So people's preferences were expressed appropriately and the top five people who were preferred going on.
Starting point is 01:01:07 The more interesting thing was on this council run for five slots, only six people ran. So there was a good chance you were going to get on. Actually, one person who didn't get on actually was previously on the council. So they got basically voted off. But there was a new person who got voted on. So there was still good turnover. But yeah, we're talking about like, we have talked about as a team like, okay, why was there's so few people? And I mean, it's the usual thing, right?
Starting point is 01:01:36 As I said, there's a time commitment. You've got weekly meetings. You have office hours, right? Which I went to, like once again, I'm just a normal core dev now. So I saw the book office hours with the steering council to talk to them about ideas and stuff. And just as I said, you talk about it. You read PEPs on your spare time. You respond to things, answer questions.
Starting point is 01:01:56 carefully because as I said, your opinion now has a bit more weight to it. So, yeah, it's just there's that aspect. We also didn't know if people were worried about turnover or not. And it just seems like, yeah, people are just kind of honestly just busy. There's also, there were some, not community stuff, there was some code of conduct issue stuff that happened about a year ago. And that complicated some things. That probably made some people go like, yeah, you know what?
Starting point is 01:02:21 I don't know if I want to deal with code of conduct stuff. But the steering council kind of fell on them. their lap because I said, final a cider on stuff. You got to do things. The book has to stop somewhere. Yeah, and I think that may have scared some people off.
Starting point is 01:02:34 Like, I do not want to be that person who has to publicly say that person did something bad and they need to take that step back. Well, it's hard enough to volunteer your time and thoughts and efforts and then to also have to like do stuff that nobody wants to deal with. Like, well,
Starting point is 01:02:52 volunteering to do that is much harder to get people to volunteer to do all the things. someone's got to do it. Well, and you find out stuff you did want to know, right? Like, I was on, I mean, I was on the steering council. I was also on the Code of Conduct Working Group for the PSF, the Python's House for Foundation. It's like, you get emails for reports about people that you know. It's like, I really wish I didn't know this.
Starting point is 01:03:14 And so it's also got that aspect to us. So it's not even with publicly you have to say, oh, yeah, this call someone out for doing something bad. It's like you also get told stuff that you just didn't want to know, even if it doesn't lead to something. And I was like, yeah, like personally, I'm not happy with it you did, but not professionally, but at least from an open source perspective, it doesn't affect the project and it's none of our business.
Starting point is 01:03:32 So it's, right. We don't know, not necessarily. I don't know why you told us, but it's like, we hear you. You've been heard. But now I have this weird little secret in the back of my head that the public doesn't know. And I have to live with it. You never wanted to know it in the first place. You can't unlearn.
Starting point is 01:03:47 Well, it's what we tell our children, especially with like movies and certain things you want to, like, my friend saw this or whatever. Why can I not watch this? Well, you can't unsee things, you know, especially like horror movies or certain things. You just don't want them to be exposed to early on. It's like you can't unsee certain things. You should really protect your innocence as a kid. And it's not exactly the same thing, but it's a version of that.
Starting point is 01:04:08 Like you want a version of, I would say bliss, right? You want some version of bliss to operate from just because bliss is kind of nice, you know, it's kind of nice. And when you can't have it because it was taken from you because of your responsibility or role, you might regret or resent your role. our little ones really really sweet kid no stranger danger at all like totally will say hello goodbye to strangers and wave and all that wonderful stuff at this age the day someone is a jerk to them oh man and that innocence is a bit lost and not versus just like what because right now at this at this age they're just going like what do you what do you mean mine what i thought we just shared everything what's going is still kind of like i don't get ownership like the mobile big deal. Like, why won't you share? Why'd you take it from me? But what kind of shrugs it off? But the day where like that kind of starts to click is like, oh, people can be pushy and not be nice and all that stuff is, that's going to be a sad day. So, yeah, it's one of those, you want to make sure that
Starting point is 01:05:08 as a parent that it's coming. And hopefully you give them the tools to understand like why the world works out, is that way sometimes, but it's not always and how to cope with and deal within, try not to let that kind of, that glimmer, not hope, but some of that innocence kind of carry on. That's the age of innocence. Yeah, let them carry on being good people and understanding, like, it's okay.
Starting point is 01:05:28 It's like it's going to happen, but here's how you deal with it and here's you continue to be a good person. Don't let it totally darken your view of the world and get bitter and et cetera, so on. I mean, it's one of the reasons I actually stop being the, being on the Code of Kind of Working Group is like, I'm going to have to be done with this is my kid.
Starting point is 01:05:43 I don't want to be done with this open source community as well. I need to kind of, not compartmentalize, but kind of step aside from that aspect of You know, that stuff, and I'll just worry about with my kid and let that be that. So as a regular old core dev, did you have to go to the steering council for this whole lock file standard you've been working on? How did that? Tell us, how did that come to be? So actually, no, because the steering council has devolved power for packaging to select people. So this is another kind of side effect from when Guido did things.
Starting point is 01:06:20 So Guido never cared about packaging. It was not his thing. It's just like, no, not my thing, but the community handled it. So the community handled it. And what ended up developing was kind of, I mean, not camps, but basically just groups of people who were working on packaging outside of the core dev team. Now, there were people like me who were core devs and working on packaging stuff. But it's always been a separate group of people.
Starting point is 01:06:44 And so when the steering council got set up, they actually, there's a PEP that says, for packaging decisions, we perpetually deferred to the select people to make calls for anything related to packages. So technically the steering council's delegates file say, but they've just said, yeah, but these people are the experts in the area, so we're going to let them do it.
Starting point is 01:07:03 And this happens sometimes. They're called pep delegates, where the steering council goes, like, we don't have the expertise in this area. You do. We're going to let you make the call. Now, it doesn't happen too much with the steering council. It's happened more under Guido,
Starting point is 01:07:15 just because the steering council is broad enough, usually across the hype people that council can get enough information to do it and they'll just ask expertise opinion and help but with packaging they just said like yeah forget over there uh you'll can handle you've been doing it this long you keep doing it so i had to make paul more who's one of the perpetual pep delegates for packaging happy so that's actually who i had to make happy in the okay and that took you four years yeah six if you measure from when i first mentioned it on Twitter. Okay.
Starting point is 01:07:50 Yeah, I mentioned that. Back when it was called Twitter, probably. It was, yeah. Six years ago, yeah. We're actually getting close to, we're coming up on seven now, actually, based on these timelines. Okay. So, yeah. Well, as my, as the guy who built our house, I always just said, it's just stuck with us.
Starting point is 01:08:05 It's a long and winding road, Brett. It's a long and winding road. Yeah. It sounds like this has gone a long ways. Now, we're talking lock files. So, so, couldn't you just look at the. what MPM did and just be like lock files.
Starting point is 01:08:21 They got to figure it out. Do they though? I don't know. If you ask the yarn people, I don't know if they had agreed back. Yeah. Okay, so maybe the cargo cult isn't the move. What was the move?
Starting point is 01:08:33 How did you figure it out? And what did you figure out? Well, so when I, so after the Python 2 to 3 transition, right? I had a goal during that time to try to make it. So anything that was in language
Starting point is 01:08:44 that changed would either be an error or be a warning or there would be tooling to help you just make the transition for you and you wouldn't worry about. So there would always be some way where you didn't have to magically look at things. Something would warn you or your code would just make it happen. When I got that done, I looked around for other projects to work on. You know what? Packaging is a thing. People always complained about packaging in Python being hard, blah, blah, blah. Now granted, this is like well over a decade ago, obviously. So I'm like, okay, I'm going to go help up packaging people. So I went over and started to participate
Starting point is 01:09:16 over there. And I viewed it as kind of a trying to make things a choice and not a requirement when it came to tooling. So set up tools for those of you who know Python packaging at all was the long time tool everyone used to package up stuff for Python. But it was the only thing people used to package up for Python because it just kind of was there. It just continuously was there and the thing everyone used. And so what happened was everyone just through
Starting point is 01:09:46 just assumed set of tools was there and that's what you had to use. Right? So it had a lock on everything. Not necessarily by design or choice. It was just it was there, which kind of sucks for the step tools, people, because like we can't change anything. We're going to break the internet, right? Like it's one of those.
Starting point is 01:10:00 We do something and everything's going to go awry because we were just everything everyone's uses for this stuff. And so we work towards making it so that it was set up tools was a choice and a requirement, right? So if you know Python packaging, there's a thing called PiPontchartagnon. automol that I helped create with a bunch of other people. And inside of that, you can specify your build system. And so you can say, I want to use this tool from this version of requirement to build my
Starting point is 01:10:26 package, right, or build my project. So that kind of separated out setup tools, right? And so that put me down the road of realizing that the artifacts are really the key thing you really care about, right? It's the things that get produced, not how you put, not what tool you use to produce them, right? Like that's the real commonality and the compatibility layer that you really care about. And so I sort of look around at the next kind of thing of what was kind of locking people into PIP, right? What were some of the things that PIP were doing that PIP was doing as an installer
Starting point is 01:10:57 that wasn't shared by the community, right? That was very PIP specific. Not once again, by not because the PIP developers were trying to trap people in PIP, but it was just convention of what they had done and it just kind of got pulled forward. Everyone would you do it. And requirements dot text files. If you're familiar with those, was one of those things where you just kind of write down line by line where you're just kind of the requirements are. And that was it. But it had no structure.
Starting point is 01:11:20 It was PIPP specific. And it just had some quirks to it and all that stuff. So I was like, yeah, you know what? I'm going to try to tackle lock files because also at that time, tools were starting to come out that were managing workflows. And they all started to do their own lock file format. I was like, okay. So like if you want to deploy to your favorite cloud host and they want to do the install for you, how do you make sure they support the tool you want to use?
Starting point is 01:11:44 Well, you can't. You have to list. I am going to support this tool, this tool, this tool, because your lock file that says what to install is only made for that project. That kind of sucks. So I said, okay, you know what? I'm going to try to solve this one. And so I tried.
Starting point is 01:12:01 And it failed initially because I tried to lean in really hard on security, which cut out building from source because for anyone who tries to build from source and you don't know what compiler you're going to use, it might compile on Tuesday, but good luck having compile on Wednesday. So I said, I don't want that headache. So I may only use wheels, which are the binary artifacts for packaging that Python has versus source distributions, which is the source thing. And I did it. And the community said, nope, don't want it.
Starting point is 01:12:30 If you can't do source distributions, not going to work for me. And Paul went like, yeah, I know people are saying that they don't want this without this, that I'm not going to take this. So it killed that first version. So I went back to the drawing board. I went back to the drawing board. I had some co-authors on that PEP. I felt bad that we did all this work and it got canned. I used their time up to do this.
Starting point is 01:12:51 So I'm going to try again on my own. And as part of that, I'm going to try to develop my own tool, basically almost a PIP competitor as a perfect concept to show how this would work. So I started to have to kind of re-implement PIP from the ground up. There's partially why it took so long, right? Like I had to write my own resolver. I had to be able to read metadata from packages to, figure out what they listed as to install, like literally everything ground up redo because a lot of,
Starting point is 01:13:18 because PIP's not, uh, it's built as some libraries, but not all of it. So not all it was available to me. So it was like started to tease stuff out and do all that. And then I finally got far enough along with that. And I just came back and said like, look, okay, here's the format. It's readable. I can do it myself. So I know it's doable. Here's all your other law file formats. I've looked at all of them. Here's the comment. alley across all of them. So there's no, I'm not doing anything revolutionary here. It's more just taste decisions of like how to format it and what information to keep and all that. But it's all there. And it was just a lot of talking and a lot of figuring out what everyone wants and their lock files and
Starting point is 01:13:58 all that stuff. And it's just, once again, a lot of players where it's basically working for me right now. So I don't have, I don't feel the need to have to change. And some going like, I love this because suddenly their tool, which is maybe not the most widely used, we'd pretend to use more because now they don't have to do it. Or I don't have a lock file format. I'd love to have one. I'd use this. So it was kind of all over the map.
Starting point is 01:14:22 But it just, yeah, it's a lot of conversations. And I started to butt up against the due date for our kid. So I actually had to start putting down deadlines, which actually worked out really well, saying like, if you have a week to give me opinions on this, it's not listening to you past this. And people are totally cool and understanding because they've been going out for so long. I've totally listened to the deadlines.
Starting point is 01:14:43 And it all got done March 31st, 2024. But yeah, the reason we couldn't just use Pocklock.jLoc. JSON and all that is Python's packaging story is complicated because we allow you to use Python's the glue of the internet. Right? Like the fact. that you can ship pre-built binaries of like C-code that you pull into Python, right? Node doesn't have this.
Starting point is 01:15:13 If you look at any note packages that has like pre-built binators, they have their own little hack in their install script to like, I'm going to go download this custom thing based on what I think you're running on, right? But Python packaging can solve that for the community overall. And so there's a lot of complexity around that and is how do you handle that, right? Like, how do you make sure you grab the right thing on Mac
Starting point is 01:15:30 versus the thing on Windows or things are only on Mac that you care about but not on Windows, right? because that happens too. And then there's got version compatibility and all this stuff. And it's a lot of stuff to have to keep track of, right? To the point that we're starting to see people try to shove stuff on Pi Pi that are not Python related just because we've solved these problems already and their community hasn't.
Starting point is 01:15:52 So they're trying to piggyback on Pi Pi Pi. Now, I would suggest you don't do that because the discussion is suggesting legally, it might not be a good idea. At least for PiPI, right? Because it's legally specified only for the Python community. So don't take this as an idea. Please don't do this. But if it's Python related, go ahead.
Starting point is 01:16:12 Anyway, it's being discussed, but that's why it's complicated, right? And we can't just steal someone else's approach, right? Like Rust has their nice thing with cargo, but they just compile everything from scratch. You know, my nice. Same with Go. Right. Nodes a little different because you can have multiple versions of different things. Right.
Starting point is 01:16:29 As we know, known modules can get really big with a position of copies of left pad and with different versions. we don't have that. We have a flat name space. So you've got to have one version of anything ever installed at once by choice. And so it just leads to different decisions, different complexities. And I just took a lot of work to get everyone on board and get it all lined up and make sure everyone who had a lock file was mostly happy. UV was like kind of one feature shy of being happy. But the thing that they weren't happy with is not standardized.
Starting point is 01:17:01 And I was not about to be the one that standardized it. So I'm kind of waiting to see if they ever propose Workspaces basically kind of from mono repos like Workplaces from Rust for Python because they said that was like the one big missing thing. So I'm hoping someday they'll do that, get that into this back And then they'll actually even use the standard as their primary. So they're UV dot lock. But everyone else is on board and doing it. The other holdback is PIP or write out a lock file, but they don't read and install from them yet.
Starting point is 01:17:31 just because it's all volunteer running people just at the half time. It's interesting to think about how a the package manager shapes or could shape the language like workspaces, for example. Right? Like can you hypothesize how that may translate to language change given that you've steered before? Well, it wouldn't be language change as much as just how do you specify like potential like stacking of requirements, right? Because, like, if you're thinking of, like, a microservice, that's all-in-one monorepo. Right?
Starting point is 01:18:04 So you're going to have sub-projects that are designed to run independently. And that's the whole point of microservices. But you might want to make sure everything run smoothly, so you might want some of those requirements to propagate up to a bigger lock file and have that all kind of- I suppose you're right. In the case of cargo, cargo probably hands a lot of that for Rust. Yeah, well, and because-
Starting point is 01:18:20 It's a language thing. It's like the way the language, what exactly is cargo to rust? I don't know. Is it the compiler? Is it the many things, you know? There's a lot for it. So how do you like describe what it is?
Starting point is 01:18:32 Yeah. So Cargo is the RESTC is the compiler. And cargo is kind of the workflow tool for REST. So cargo is the thing that will download stuff from C. com for you. Like tooling. Yeah, it'll run RustC for you. So I'd call it the workflow tool.
Starting point is 01:18:45 And because REST made the decision that we are going to compile, you list all your dependencies and we'll compile that into a single binary. They don't have some of the complexity that we necessarily. But the whole workspace thing is you can say like update everything. once with one command and it goes into all your self-projects. Or you can say I require this, this crate that I keep in my monorepo as a dependency. And it treats as like a local dependency and has it all worked out. So it all kind of plugs together, right?
Starting point is 01:19:11 And it's all kind of just works. And it'd be UV's job to manage that, not the language Python. Yeah, I was incorrect on saying the language change. I get that. Yeah. Yeah. And because Python is that flattened space, it goes, it kind of becomes a question of like, okay, like, all right, you, your microservice over here says I require this version
Starting point is 01:19:28 of spam. This other one here says they need that version. How do you match it all together so that if you have a single deployment on a single Python version and you all sold the same place, even though you're all developed independently, how do you have that all kind of propagate up? Or how do you do it independently and then have it still kind of pull together and all that stuff? So there's a bit of complexity to do it. Hence why Astrol said, yeah, this is something we really need before we can use this as our de facto lock file version. Now they support it. To be very clear here, UV will export to a pyloktotanil file, which is the file format I developed, and they will install from it. So they're totally supportive, and they were participants in the discussion. That's just not what they will use by default. They still have their UV dot lock because that feature was missing. As I said, I was not in a
Starting point is 01:20:12 position to want to try to standardize a new thing. I just wanted to have a way to write down stuff we already knew or had and did in a way that everyone could kind of just rally around. What do you think about the rise of astral and UV in the Python community? It seems like they've gone from
Starting point is 01:20:28 relatively obscure to like almost everyone's default suggestion, just use UV. What do you think? Okay. I'm going to preface everything I'm about to say here with I know Charlie, I know multiple people and Astral, they're lovely people. I want to see them succeed, et cetera, et cetera, et cetera. I have nothing against Astral. Okay, to be very clear, or the people there. Because I get a key, I've been accused of trying to kill the company before. This is Rigby all over again, man.
Starting point is 01:20:58 That's two Silicon Valley jokes I've dropped in this show and nobody's gotten them. Okay. Just so you're all clear. I don't acknowledge on purpose now. It's part of my game. And it's two. I honestly, when I booked to come back on after you all called me out and said a lot to come back,
Starting point is 01:21:13 I almost tried to figure out if I could somehow squeeze in time to rewatch Silicon Valley before I came on, but I couldn't make it work. So unfortunately, that's a lot of squeezing considering your time constraints. That's why it didn't happen at all. So. Right. This is the thought that counts, though.
Starting point is 01:21:27 We appreciate that. Well, Adam appreciates it. I don't care. Continue. I'm sorry. No, it's all good. All those things, but we're at the butt. The cliffhanger's been set.
Starting point is 01:21:35 Yeah, we're going to cut it right here. So this is the only part that's going out. Yeah, UV came out February of 2023. I know this because that was when they in February? Yeah, I think they announced February. Because I think my version of my PEP for Lockfries came out July. And I was like, and it was totally taking my surprise. I was like, I've been working on my own Resolver and this stuff and some of the features you have for like a year by myself here.
Starting point is 01:22:04 And suddenly just drops on me like, oh, we're already doing that? Like, oh, okay. So hence why I know the date. Anyway, yeah. So one of the things that UV, I think, popularized, but actually predates them is the idea of workflow tools whose focus is to get your Python code running, not getting your Python interpreter running. It's a very succincting distinction, but it's a key one. So PDM, Hatch, are the other two big ones next to UV. What happened was is there was a project called Python Build standalone that does pre-built
Starting point is 01:22:46 Python binaries that are relocatable. So it's a big drop the tar debt. I don't know if it's GZ or X-Z or whatever on your desk anywhere, and it just works, right? So what happened was is projects realize, oh, you know what, if I can auto install Python, because it's one of big complaints that some people have is installing Python is a pain because we don't come in box and all OSs anymore like we used to. And the installs are different per OS. So people are like, there's no universal explanation how to do this.
Starting point is 01:23:17 And there's a lot of little details in how to get things working, right? Like we have virtual environments, which is our isolation mechanism. So that when you saw stuff, you don't stomp on other things in your, your machine. And so it's like, all right, you got to get Python somehow, get that installed. Okay, now I've got to create a virtual environment. Okay, now I got to get everything installed into my virtual environment. Now I can run my project, right?
Starting point is 01:23:37 Lots of little steps. And what UV popularized in Hatchapedium, the decent argument they did prior was go like, you know what, we're going to give a unified tool that does all that for you. Right? So like UV run, Hatch run, PDR run. They all do the same thing. They go like, all right, you need Python version something. based on the metadata of your project.
Starting point is 01:23:57 Do you have it? Now, okay, I'm going to go download it from Python Build standalone, which is an Astro project at this point because the maintainer didn't want to run it anymore. An astral graciously, you took it on for the community. Download Python, install it on your machine. Now that you got it, okay, going to create a virtual environment in your project.
Starting point is 01:24:18 So that's done. I'm going to figure out what needs to get installed based on what you said, which could be nothing, just the default install, whatever, or you maybe add extra fields for, extra stuff. Install that. And then you said, run.
Starting point is 01:24:28 Now I can get the Python I just installed through the virtual environment that has old things. Run your stuff. Get your code running. And just one command. All done.
Starting point is 01:24:35 Right. And that's a breath of fresh air for a lot of people. Because as you heard, that's a lot of little steps that are easy to miss. And for people and AI to throw shade at everybody.
Starting point is 01:24:49 And UV really popularized it, right? Because UV got such a big splash when they came out with UV due to the performance numbers that they were getting. Then I went, oh, my God, this is amazing. And then they did it.
Starting point is 01:24:59 It's like, oh, my goodness, and it does all this stuff. And so total credit to them. They're great at marketing, and they land out a good time. Their performance is exquisite. And they are really good about launching new features when they land in the packaging ecosystem. And so they get out really fast with them and people see it. And so that's it.
Starting point is 01:25:20 But the concern, I mean, the reason we brought this up is just brought having concerns. and so this is the usual. It's great, but QV is a VC-backed company. They have to make money, right? Not that I think there's any alternative motive here, but they might implode. I hope they don't, as I said. I know the company.
Starting point is 01:25:42 I know people who work there. I hope they also have jobs long in the future, and I hope they're very successful. But there's always that concern. We've all seen tech just kind of have problems, right? I know some people do not love how, certain things in the node community happen behind companies because of how they manage things, right?
Starting point is 01:26:00 It's a concern. And once again, you never know what the future is going to hold. You never know if it's going to be somehow money pressures are going to cause them enough to make a decision. As I said, I fully expect that that'll ever happen, but there's always that risk. And when everyone's instructions are using UV, it's a slight concern. It's not a huge concern. Like, I don't think anyone's panic, but I do know people, for instance, who flat out refuse to use UV specifically because
Starting point is 01:26:26 if it goes away on them it's going to suck to have to transition everyone else to other stuff so they'd rather just use their own thing. So Brett's doing his thing of all right, how do we help push things in a way that there's kind of agreement among the
Starting point is 01:26:42 workflow tools of how things should work, right? standardized so that other things can do the same things and that we don't have epic lock-in in case of a massive failure. Now UV is open source, right? So MIT license. even.
Starting point is 01:26:55 Yeah, MIT license, so very permissive. There's probably, you know, company things that are required. I imagine it's, I mean, does it touch server-side stuff that's like Astral Run server-side things or I don't know. They've announced that I think they have an enterprise thing. Yeah, that's right. That they will run on your behalf as an index server for serving on Python files. So that's what they have.
Starting point is 01:27:20 And it's designed to tie directly into UV. So this kind of plays into it, right? Like UV has stuff specifically for their enterprise products. I mean, it's typical freemium, right? Which I don't think it's going to be upset with. No, but, you know, how, you know, props, by the way to Astral for picking up that, what do you say? It's called PDB or something, this project that was no longer maintained. Oh, that comes PBS.
Starting point is 01:27:43 Python Build standalone. Python Build standalone. So that's cool, you know, like that guy didn't want to do it anymore, couldn't. And so here comes somebody else. And so hypothetically, and probably even practically, UV as a project could be the exact same thing in the case that Astral fails. Like somebody else could pick up and run with it, right? Yeah, exactly. And it's why some people don't worry at all, right?
Starting point is 01:28:03 You have some people going like, whatever, I don't care. If they misstep, we'll just fork immediately because it's in MIT and we'll just maintain it ourselves. Although granted, it is in Rust, not in Python. So the talent pool for taking on from the community is not as broad as if it was in Python. But other people are like, yeah, but I don't want to have to worry about that step to begin with. And the longer they go as the leader, the more ingratiated they get. And the harder is going to be to switch, right? Right.
Starting point is 01:28:32 So me being me, I'm trying to make sure that the stuff UV is doing from a very baseline experience is kind of less, less special, not special. Because there's things they all do. is just trying to get them to all kind of go like, yeah, this works. And if you do this, everyone kind of agrees in some way, right? So, like, I'm currently working to try to get Python.org to be the producer of these pre-built binaries, not just Python build standalone, right? Like, there's nothing magical they're doing. They've got some patches that I'm working with them to get upstreamed, which I've always
Starting point is 01:29:09 said they wanted to do. It's just a lack of time, right? This is one of the things, right? Startup, they only, yeah, time crunch all the time. So they're trying to slowly get them up, and I'm helping them as. as best as I can. So props to them for trying to help that. And they honestly want us to own it because it's way easier for a whole group of people
Starting point is 01:29:25 to own how these builds work versus just them. So they're working with us to get that so that we can start to be in baseline pre-built binaries from Python.org. And then they'll probably have some like optimized, extra optimized or like more esoteric platforms that like enterprise customers might care about that we don't, which is like a perfect fit, right? Like letting them own enterprise is great. Like that's really where I want to see them shot.
Starting point is 01:29:49 And for the general community, like, let them be an option, not a requirement. The other thing is, is I have another pep that I are talking with some people behind the scenes, including them, about standardizing virtual environments and where they go, right? Because weird problem here, because everyone kind of sticks virtual environments wherever they want, tools like VS code or your editor, whether if you're a sublime text user like Jared, I assume you still are. Maybe you're on Z now. I can't keep track. I'm on Z. You're on Z now. I finally made the switch and it stuck for the first.
Starting point is 01:30:19 first time. Congratulations. So whether your VS code or Zed or whatever, right, your tool doesn't know where to find this virtual environment that's so critical to your project because every tool does their own way. So I've written a PEP to try to standardize where it goes or at least have a marker file to tell you where to go to get it so that all the tools can kind of just know where to go to look to find the thing, right?
Starting point is 01:30:42 Because it's such a fundamental thing for discovery. But it's a little stuff like that. I'm just trying to kind of clear up so that if I recommend using UV, you know, and for some reason it doesn't work out, you just have to say go use hatch. It's kind of going to flow through and just kind of work nicely together, right? So that's where I'm taking it from.
Starting point is 01:30:58 And it's not because I want to take away from enterprise or anything for the company, from a company perspective, it's just the baseline. Everyone in the community kind of wants experience should be universal enough that swapping tools is small. And then when you want the enterprise special stuff,
Starting point is 01:31:15 totally get attached to UV, totally grown up that you can totally just attach to the hip to it and go for it. That makes total sense to me. Work at an enterprise company, right? It's just the way it is enterprises have such special needs that that's not something we're ever going to standardize. But for the stuff for like kids, right, educators, hobbyists, right?
Starting point is 01:31:34 When your AI writes you as, when your models write you a little Python script and you're just like, okay, I just need to run this real fast, right? Like UV is totally a good, reasonable thing to say and use right now. And I'm, as I've tried to be very clear, I have no problems with that being the thing. is I want to make sure that that never becomes a problem and just hedger bets, really. It's more of the thing. So that's kind of what my current big project is, right?
Starting point is 01:31:57 Because I want my little kid when they go to school and if they learn Python in school, I don't want them come home and say, Daddy, why is it so hard to get Python going? Like, I want to make sure, like I can say like, Amen, right? Amen. So I want to make sure that they have, and everyone on the planet subsequently,
Starting point is 01:32:16 has a good experience getting Python running. And I think that was one of the big things that happened in 2025 was the community going like, you know what? I like this workflow. I like this tool that I just say, run my code, Python code, and it does all the other little details to get my code running. That was, I think, the big thing. And that's what I want to work towards making the norm
Starting point is 01:32:41 and doing what I can to help UV and these other tools out to make it. So it's acceptable to more and more people to do, because it doesn't lead to weird issues with, as is your cloud provider or your tooling. It's like, eh, it's not going to plug in with Z. It's like, well, no, no, no, Zed just plugs into the standards. You could totally use PDM. You can totally use Hatch.
Starting point is 01:33:00 You can totally use UV and also just going to work. And no one gets left behind either, right? Because I always like to help the, help projects thrive. Because they all have little innovations that help with their projects or anything else. And that kind of helps builds up. And then people try work spaces, right? If UV helps, and then they try it out. And we get a good experience because everyone's tried to learn the thing.
Starting point is 01:33:17 and now we can standardize that, right? So take away the drudgery lore bit and make everyone be able to innovate at a higher level. Well, if they're a business, right, when you go to astral.sh and you hover over products, you see tools and platform. All their tools are liberally open sourced, right? UV is dual licensed.
Starting point is 01:33:38 It's actually Apache 2 and MIT, and you can choose. Whereas the platform, PYX, would you call that Pix? I don't know. PYX. That's what I say in my head. I think all of theirs are not, or acronyms, you actually say all the letters. Like, TY is not tie, it's TY.
Starting point is 01:33:58 So I, for all their, for all actual stuff, I say all the letters. How would you say UV then, Oove? This is Oove, man. You've been saying it wrong the whole time. I'm just kidding. But, okay, so PYX. Yes.
Starting point is 01:34:11 If I'm leading in on business model, they are trying to build massively adopted tooling in the Python world and their venture-backed. It seems like PYX is the way they jettison into products. Correct. Although I just, you know, caveat of the fact that I hovered over products on the website. Yeah. Sure, tooling is products, but they're not products that you generate income from. Yeah.
Starting point is 01:34:38 They're products that you extract income from by way of more like your future child, not being upset about. getting Python running more easy because maybe UV solve that problem or X, Y, or Z. Maybe it is truly X, Y, or Z with them considering PYX. Yeah. What, what do you feel is on that? What do you feel? How do you feel about, I mean, I suppose we get back into NPM world a little bit, right? They were a separate venture back company and Qarab by GitHub.
Starting point is 01:35:07 We know the story there to some degree. There's some challenge there with NPM inside of GitHub, security concerns, massive usage. I mean, it's success. Yep. A major success, but just has some security challenges. And not a lot of resources behind it. And we've speculated on that in recent episodes. We'll link them up.
Starting point is 01:35:24 But if PYX, the next step in Python packaging is it, how do you think this will fare for them to turn this into a revenue jatorating packaging manager? I mean, so without having talked to Charlie about the business model other than what he said publicly. Yeah, I think basically what I have to. happened was is Charlie made rough while he was in between jobs and really knocked it out apart and got really popular. And he's, oh, this is really cool. And people came forward like, hey, I want to give you VC money to try to fix Python tooling. And he took it and he built an amazing team. There's a lot of Python developers and really top people in the community who went,
Starting point is 01:36:08 yeah, you know, I'd love to help you do that because this is a problem I see and I care and I want to see that happen. Hence why I'm not really concerned about actual every stepping wrong. This is all just hedging bets just because we're all paranoid. And so he built that team and they were able to build UV and get a really popular and get really broad usage, right, which I think has won them a lot of name recognition and a lot of just getting into companies, right? Like, yeah, just use UV, just use UV, just use UV, which makes it way easier for them now as a business. Like, hey, if you need an
Starting point is 01:36:40 internal package index for Python. That's highly performant. We'll give you whatever enterprise stuff you need like backups and just making sure you only give packages that you vet it or only have certain licenses. Like all the enterprise stuff you typically need at a level, come use UVX, buy UVX from us and we'll work with you. Right? Because I know Charlie's also done a lot of work talking to enterprises to find out what they need, right? Which is why UV has certain knobs on it that are very good for enterprises that most of us will never care about. And I think that's what they've done is they've gotten enough name recognition.
Starting point is 01:37:20 And have already just gotten in enough people's workflows that it just becomes the second nature thing to just pick up, right? It's like when you're on any of the cloud providers, whether it's Azure or AWS, whatever, it's very easy to just like, oh, I need a solution for this. Oh, you already got on the cloud platform run. Fine, click a button, you're done, and you're in. I think it's a similar play here, which totally makes total sense. And once again, PYX is totally an enterprise thing.
Starting point is 01:37:42 And it tries me in it very clear. Like, that's why it's not an MIT thing. It's an enterprise thing where we expect to make money and it's just going to do whatever enterprises need to happen and that's cool. And he's used that to help fund UV. I mean, private registries makes sense, obviously, right? Enterprises, private registries, you got, you know, maybe even internal tooling, lock and key.
Starting point is 01:38:03 you got a lot of opportunity there. I think. Oh, yeah. How does... There's a lot. You've said Pi Pi, which I thought was... Did you catch that, Jared, Pi Pi Pi? Yeah, said a Pi Pi.
Starting point is 01:38:14 Okay. I'm going to check you on that because that was a little strange. I've never heard it Pi Pi, but that's cool. Okay. It's because I haven't done an audiobook for you, Adam. That's why. I was going to say, okay. I was going to take Brett's pronunciation as gospel.
Starting point is 01:38:25 Astrophage. So, yeah. Okay. I actually did a whole lot and you talk on this at PyCon one year. So does Pi Pi and in Pi Pi Pi and in Pi Pi, Pi Pi, which predates Pi Pi Pi is the Python, JIT interpreter written in Python. So PY, PY, that's Pi Pi Pi. Pi Pi is the Python package index.
Starting point is 01:38:48 And that is why there's the distinct pronunciation difference, so people don't. That makes sense. PI makes sense package index. Okay. I stand corrected. I thought it was a private investigator. That too. Funny backstory to let you know that Python has a sense of humor.
Starting point is 01:39:02 it was learning the cheese shop after the cheese shop sketch from Monty Python because Python's named after Monty Python, not the snake. But people were worried pointing here, to also date me, pointing-haired managers wouldn't take Python seriously if our index was named the cheese shop. So we went with Pi Pi. Now, if you get a 404, by the way, on PiPI and scroll down, you will hit the cheese shop sketch
Starting point is 01:39:31 as hosts on YouTube by Monty Python. So we've cut the name around. That is nice trivia. Let me see if I can get this done here. Gorgan Zerla. Yeah. Parmesan. Mezzarrova.
Starting point is 01:39:42 No. Any Danish finbo? No. Checks de Vaccan sheep's milk cheese. Venezuela and beaver cheese. Not today, sir. No. This guy's not a liar, people.
Starting point is 01:39:53 Try. I do have a dad brain, though. So it means I do forget and maybe get a little facts wrong, but it's not on purpose. Yeah. Might have had machete order out of order, but you got the cheese shop. So, like, I think it's great that Ashtrel's gotten this money and they are putting it back into the community and stuff. As I said, I view this as hedging our bets as a community to kind of just help alleviate the load on them and anyone else who does this workflow stuff from my perspective and just trying to do that.
Starting point is 01:40:21 But it's tricky, right? Like, admittedly, I went and went to office hours for the steering council last week. And I talked about them about this, like, or would you? would you be up for leading this kind of stuff? And they were like, pre-built binaries we get. That's totally something that's in our wheelhouse, as it were. But like running workflow tooling is outside our purview, right? We're in charge of the language.
Starting point is 01:40:41 We don't do this kind of high little stuff. And we also don't want to kind of step on people's toes. They kind of want to not. Python very much tries to not like tell people what to do, right? Like this is why we have multiple type checkers. I'll try to type check to a single spec. But there's not one shipped inbox with Python, right? It's the community drives a lot of this, right?
Starting point is 01:41:01 This is one of the drawbacks of not being driven by a company, but it's also one of the great things about not being run by a company. People are allowed to flourish and create a thing, and it's a lot to make things happen. And people, you learn, you kind of rally around stuff and it slowly propagates through the community. Then you can standardize that and then everyone gets it automatically. And so it's, they just said like, yeah,
Starting point is 01:41:23 we don't want to kind of cut people off by kind of blessing a workflow. So I'm just, just talking with people in the scenes right now going like, okay, how do we all kind of coordinate as among workflow tools? And I kind of include me because I wrote the Python mantra for Unix, which kind of does very, very lightweight workflow stuff to just like, how do we communicate, how we do that? And how do we just, yeah, once again,
Starting point is 01:41:45 just try to keep stuff moving so that, yeah, the community just keeps working towards things so that we all just work together and everyone benefits, right? As I said, UV included, right? So that's what I'm working towards right now is trying to, you know, the world is led by the Dairy, And I think Charlie is one of the daring, you know, to undertake Rust for Python, bold, and that's daring, too, just to like... I did it first.
Starting point is 01:42:10 No? You did it for, okay. Well, you're bold too, Brett. So if you, so here's the backstory. So there's a Python launcher for Windows. So the PY command, if you're on it with, I know NM is no longer Windows user that, that little Trist is over. Back Windows. Get back.
Starting point is 01:42:27 back in your proverbial box. So on Windows there's a PY command because back in the day the way when you ran the installer Python wasn't put on your path. It was installed in a place and you installed the PY command
Starting point is 01:42:40 which would know where to look on your machine to get it just because the way Windows historically has done things. Okay. Backwards. No comment. No comment.
Starting point is 01:42:52 On Unix though, you didn't have this basically because Python ended up on your path. But there was a an interesting benefit to the PY command on Windows was when you ran PY, it always used the newest version of Python that you had installed. On Unix, though, if you type just Python or Python 3, it would oftentimes be the latest Python you installed, right?
Starting point is 01:43:15 Like if you install Python 314, I think 3 is the latest release, and then you can solve Python 3.13.11, I think, is the latest one. If you did in that order, whose SimLink would win in your user in. It was usually the last one you installed. Sounds like the older one. Yeah. Right? Which sucks. Like, why do I always have to try to remember what's the name, like having to type Python 3.14 or always I don't remember what the latest one is. Or if you have scripts, right?
Starting point is 01:43:39 Where it's like, I want to shabang it to the newest version of Python. You can't really because it might not choose the right one. All right. So I wrote the Python launcher for Unix in Rust as my Rust starter project long ago. I remember this a long time ago. Because I wanted this on Unix to have this command that automatically search your path and find the newest Python 3. Whatever version and use that. And then on top of that, I added a little nicety where if it finds a virtual environment in a dot VENV directory from your current directory up to your parent,
Starting point is 01:44:13 it would automatically select that instead of trying to find Python on your path, which has a nice benefit where when I start a project right now, I just go p.m-vem space. dot VE and V.NV, and that's the command to create a Python environment, using the newest version of Python I have installed. And then from that point forward, I just type Pi and it just always picks it up. And I don't want to think about it. I don't even have to activate my virtual environment in my shell. It always is just the thing in that project and I'm done and I don't even have to think about it. It was kind of my little prehistoric precursor to workflows tools doing this way more involved.
Starting point is 01:44:49 But this is why I'm joking saying to Adam. I did at first because I wrote that in Rust before UV. You were bold, Brett. You were bold. Charlie stole both your ideas. He stole Rust and Python. He stole this. Oh, dang you, Charlie.
Starting point is 01:45:04 Dang you. I mean, he did. Already solving my problems. He did a great job. I mean, rough is really, really fast and really great. UV is fast, although funny enough, a guest of yours on ChangeLogged Friends, Andrew Nesbitt, I think. Yeah.
Starting point is 01:45:18 So Andrew wrote a blog post in December of 2020. 25. Talk about why UV is so fast. If you read it, he points out a lot of it's not to do with rust. It actually has to do with some of the algorithmic choices in terms of what they use for a resolver because they use PubGrum and also not having Bikris compatibility concerns. So they get to wash away all the cobwebs that PIP has to continue to support and avoid all that overhead.
Starting point is 01:45:46 So that's not to say rest isn't faster, right? like I think it's my last blog post actually on my blog. I wrote, should I rewrite the Python launcher for Unix in Python? Because it's in Rust, partially because it was my Restarter project. Boy, if I ever get pre-belt binaries done, hopefully I will,
Starting point is 01:46:03 theoretically you could do what UVX.SH does. If you don't know that one, that's a new one from Astrol. If you go to UVX.org, it's a website where they will autogen a shell script to download UV, I think, UV. Maybe they do a direct download, but they basically will download, install
Starting point is 01:46:22 Python privately on your machine, then download and install the project from PiPi, and then make it sure it all ends up on your path. So you don't even have to make sure you have Python. So it basically makes it a one-stop shop for a shell script so that the old like curl, pipe essays run thing works for Python projects
Starting point is 01:46:40 now, thanks to that website. So I've gone like, well, maybe I should do something like that. I mean, I had the idea. They implemented it nicely, so no, I don't have to think about it but keep beating you to your punches. Hey, I'm a one person dad versus a startup with, uh, this is why Brett's trying to kill Astral.
Starting point is 01:46:58 He's just, it all comes out. I do not need more comments from people online saying, I'm trying to kill a company. I'm not trying to, I want Charlie to be successful and I hope Charlie gets, and everyone at Astro gets very rich. So you say.
Starting point is 01:47:10 So you say. Yeah. Well, you said one thing there that I would, this took out to me was pre-built binaries. What is your, what are you doing there? All right.
Starting point is 01:47:18 This is getting really into the weeds of binaries on Linux. Go in the weeds, man. Get your hatchet out. So think about your historical configure, make install steps to get some C code on your machine, right? From source. Yeah. Right? When you do that, paths to where to look for dot SO files for dynamic linking, get hardcoded into the binary.
Starting point is 01:47:42 Particularly, it's in the R-Path setting or R-Path field in your, elf or dwarf file or whatever file format your OS uses Unix OS. But basically it hardcodes with absolute pads where to look on your machine to load these dot ISO files. Okay. That means it also is very much tied to your machine and where it ends up. So like when you do like dash hash prefix, it kind of hard codes some stuff that this is where things are going to be and I expect them to be there.
Starting point is 01:48:15 And if you move me, I'm going to break. right so dash dash prefix does a bit more with compiler instead anyway there's stuff and it gets hardcoded in the thing and it makes it non-portable it's tied to your machine and the reason Linux operating systems can get away with it is because they control the layout for everything you install so like when you do dnf install whatever or app install or whatever they've already done all these builds with knowing where everything's going to end up so they don't know that it just works people like homebrew though that you actually install in different locations and stuff
Starting point is 01:48:48 and you don't know what they're going to pull in. They can do that too, right, to an extent, but not really. They have to make it portable. Konda does this as well because a thing people did for a long time was they used Konda to install Python and then actually would use PIP to then do installs for the packages because Kondo was the easy way to get Python on your machine.
Starting point is 01:49:07 But UVs starting to kind of eat into that, I think, personally. Yeah. But the deal is this stuff gets hardcoded and it's not portable across machines. So what Python-Build standalone did was they patch some stuff in C-Python that made some assumptions about things being static about where they ended up. And then also have some scripts to patch or to set certain settings on the resulting binaries so that they also use relative paths of where to look and what to do and just let you just drop the C-Python binary anywhere in your machine and it was just basically work. And that's the deal. is it's just Python never was structured for that
Starting point is 01:49:46 and we didn't worry about it because people just, it's a thing, but it was never a critical thing. And then it's slowly become more of a critical thing because people have found that this is a really good workflow that's nice, right? Because this is one way to kind of like package Python in with your pre-existing application
Starting point is 01:50:03 as like a scripting back in. If you don't want to compile it directly into your binary itself. So that's what I'm like about when I see pre-built pineries is basically right now for Python.org, right? you can get a Windows installer, although you should honestly install the Python manager from the Microsoft store if you're on Windows,
Starting point is 01:50:20 and then let that do the downloads for you. Adam, you're on Windows? No, dude. You can get the Mac installer, which is a graphical installer, and that will also install. And then on Linux, it's, there's nothing. It's just source.
Starting point is 01:50:34 You can get the tarball. So what I want to do is I want to get it so that for Windows, for Mac, for Linux, and for any other tier one, well, that's all the tier one platforms, but even hopefully tier two platforms that Python supports, because I created a tier system
Starting point is 01:50:49 for our platform support for WASI. Tier 2? No. We can talk about tiers after this. So, to explain to Adam... Too far in the weeds. Come back a little bit. I said going to the weeds, but I didn't really mean it.
Starting point is 01:51:04 This is a machete order. He's machete in these weeds, man. I'm sure this has something to do with some home lab where... The flame thrower. Adam's running free BSD to run a Z-FS server. So that's why I'm assuming he's asking. No, I've moved on from that. No.
Starting point is 01:51:17 Adam moves on very quickly. That's true. So I'm in some good spaces, man. I've been playing with, okay, Incas, latest and greatest, man. So much fun. I mean, the best. Zincas plus ZFS, the world, man, the world. So cool.
Starting point is 01:51:32 Okay. I will look forward to the show notes to find out the link to the thing you just mentioned. I live vicaracy through you, Adam. I don't have the time right now with a, with, with near Tomah. I'll lead you, Brett. I will get my machete
Starting point is 01:51:43 out and I will lead you through the weeds. Thank you. Anyway, uh, so that's what, so I want to get it so that you can get like, basically as zip file,
Starting point is 01:51:51 tarball, whatever, uh, for Windows, Mac, Linux, hopefully Wazzy as well, uh,
Starting point is 01:51:57 maybe a bunch of other platforms. You could just download and just unpack and just unpack and just have Python ready to go because you just don't have that right. Yeah. And that's what I want. Beautiful world, right. So that would bypass the need for them to,
Starting point is 01:52:08 they would have to compile it, right? It's the saving that. Exactly. It's just a download. One, how to do it, 17 steps to learn how to do it. Because just to play with Python, you have to learn how to compile Python and install Python and a version Python and all the things, Python. Like, can we skip that step, please?
Starting point is 01:52:22 It's more, honestly, it's more about making the install step universal, right? Like right now, if you're on Linux, you can get it, but you have to know what command you used to get it, right? And to be frank, people like Debbie and mess with the Python installing ways that we don't, on the core team fully agree with. but you also have to know what to get. Like on Debian, they don't install VAMF, which is one of the key steps I listed. They considered an application, so they rip it out based on Debian policy.
Starting point is 01:52:48 So you have to know to install Python 3-4 to get PIP and VEMV installed and not just have Python without VAMP, which are kind of critical. Yeah, see, this is too many steps. That's some thick weeds, man. That's too many steps. This is why Jared's been upset all these years
Starting point is 01:53:02 and you're here to clear the air. I've got Python PTSD. Yeah. He's like, I'm like, I'm like, a resistive. like the play, Adam. I do. I'm just like, gosh. But once again, instructions on Mac are different. Instruction on Windows are different, right? Everyone's guided a different way. There's no universal kind of just like run this command to recursive OS or just get this one tool installed and then
Starting point is 01:53:21 it'll automatically just get you Python, right? And that's why people love you. Then you got to have a build pipeline, right? You got your get abactions going. You got your containers going. You got, right. Are you in that world? Are you in the CI crazy get abactions? Oh my, oh my gosh world. Well, I help set it up for Python. So yeah. Well, then you're going to want to play with Incas then, okay? We should talk. Well, I don't run it anymore. That is one thing I've handed off to the youngsters. Oh, okay. Well, you can guy. I'm the, I'm the guy who got
Starting point is 01:53:46 Pithont, C-Pythons development on the GitHub, and thus, we actually used all, we predate GitHub actions, but once I got us over there, I helped get us on to get up actions and not rely on Travis and stuff. And Circle CI. Travis CI. That's the name I
Starting point is 01:54:02 had heard in a long time. Just shut up right now. This show's over, y'all. He said Travis. So you see how old this little stuff goes, right? And all the stuff we've had to move on because things don't last. Nice to me to start talking about Jenkins. But now you get it, right? But this is why there's any hedging of concerns around companies. Like, we outlasted people caring about CVS. We outlasted Source Forge. Like Python is, Python came out in February of 91. Resilient. Right? Before Linux came out that August, right? We're an old project. We outlast a lot of
Starting point is 01:54:35 stuff. And we're kind of not going anywhere. We're enterprone. level. We're not cobal level yet because we're just not that old, but effectively you can't get rid of Python at this point. We're everywhere. So it's one of those we kind of have to plan for the future in terms of making sure we are to an extent self-sustaining.
Starting point is 01:54:52 So you've explained it, you took us in the weeds, what is the state? Give me a brief version of the state of pre-built binaries. Is this close? Is it shipped? Who's running it? Where can you go? So I'm running it. Okay. So if you go,
Starting point is 01:55:06 So I have a project to kind of coordinate stuff. Go to GitHub.com slash Python slash I believe it's prebuilt dash C Python. But it's on the Python org. Yeah, it's under the Python org. Basically, it's all discussions really there of just like, here's the goal and then talk with the stakeholders who care and just trying to work stuff up. I'm trying to work with Python build standalone to get their key patches upstreamed that they apply when they do builds.
Starting point is 01:55:35 I said they're busy. so it's a bit slow, but they're working with me slowly through them. Once those are all up, then we're going to figure out exactly what means to happen for a build to patch or tweak or whatever five they have the script to make the actual build happen. So it's no longer just tweaks to source, the steps to do the build. And then at that point, the release managers will just do it as part of their releases. It'll just happen. So I'm going to say it's being worked on whether or not it is a 2026 thing or a 2027. thing. I don't know because I'm kind of depending on other people on being the experts and I'm
Starting point is 01:56:11 just acting as product manager in a way for this stuff to kind of make it happen. So I'm driving it, but I'm not, I have to ask other people for help so I can't just make it happen all of my own. So it's at the speed of me and other people being able to work together, get stuff done. But if you need some help with the actions part of it and the builds pipeline part of it, I got some wisdom. I can, if not all of it, some of it, because I've been tinkering on this front here and I'm like knee deep and solving a problem right now. I mean, we can talk when it comes time if you want to contribute to Python somehow. I love to.
Starting point is 01:56:41 But right now I'm at the stage of just trying to make it so that if you did a build on your own machine, it would work. Then we can talk about what it's going to look like on get up actions because that's when we talk about like, okay, like what Linux distor do we use to make sure we get an old enough version of Glib C that it runs everywhere we want to run on that kind of thing. It's probably going to be all the Linux, I think, because that's already what's... What if you can build it yourself? container up, brother.
Starting point is 01:57:06 Container up, man. Container up, brother. Let's talk later. We're going too far in the weeds. I love it, though. My gosh, it's the best. Getup.com slash python slash pre-built dash
Starting point is 01:57:18 C-Python. That's the URL, right? Yep, I think so. If you pulled it up, that's it. That's what I got. I went to the Python org. I searched for pre-found, pre-built dash C-Python.
Starting point is 01:57:30 That's it. So it's in the getting patches upstreamed, And then after that is getting the scripts so that can be done as a release. And then it's getting it in as a release. I don't think it's going to happen for 315, but hopefully for 316. This needs to happen. This needs to happen. It's going to increase the use of Python.
Starting point is 01:57:47 It's going to make onboarding newcomers, onboarding agents even so much easier. Yeah. Especially when an agent is taking a brand new machine and helping a new developer get to that next level. Like this is paramount. Like you need to put the gas, the pedal down, gas all the way, burn the fire. hatch it with the weeds, all the things. Okay, get this done tomorrow. If you need some security,
Starting point is 01:58:08 RISO got you a Wazi build too, so you can totally have it use Wazis so that it can't run amok. Right on. That's a whole other topic. That is. I might have to bring you back for that one. Snarky.com, y'all, okay?
Starting point is 01:58:22 Snarky. Snarky. Dot CA. Get it while it's hot. It's a free USB on the... It's a gift. It's just sitting there. It's a free USB stick on the
Starting point is 01:58:32 on the curb. Good throwback. Pick it up and give it a little love. Hey, give a little love. This guy did it before you did it. He's going to keep doing it. Well,
Starting point is 01:58:40 you're long gone. That's Brett Cannon. Brett is the best, man. Phython will last forever. Brett Cannon for life. You're the best man. Anything left in closing here. No,
Starting point is 01:58:51 just love to see you too. Thanks for having back on us. Always great catching up and shooting stuff about movies and TV shows and all that good stuff. Movies and software, man. It doesn't get much better. TV shows, movies, software. Movies and software, y'all. That's how we do it around here.
Starting point is 01:59:08 Brett, you're a friend. Thank you so much. We love you so much. Man, stay cool, stay awesome. Bye, friends. Bye, friends. All right, that is the change log for this week. Thanks for listening.
Starting point is 01:59:21 So, which Star Wars order is the best Star Wars order? Would you listen to AI, David Attenborough? Do you have strong opinions on open source voting systems? Let us know in the comments. links in the show notes, we love hearing from you. Thanks again to fly.io for partnering with us and to Breakmaster Cylinder for producing a steady stream of the best beats in the biz. Next week on the changelog. News on Monday, Steve Ruiz from T.L. Draw on Wednesday.
Starting point is 01:59:48 And change log and friends on Friday. Have yourself a great weekend. Set up a blog if you haven't already. And let's talk again real soon.

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