Latest / Oxide and Friends / This Old Repo: LLMs and the Restoration of BattleTris
Transcript
- 0:00Bryan Cantrill: I may be joining you on Team Sonic. I that that this is I and also, like, Team Verizon and Team who else competes with AT and T wherever they compete with them. I gotta tell you. I I am a little a little.
- 0:12Adam Leventhal: There you go.
- 0:12Bryan Cantrill: Anyway, that is not why we're here. We we are not here for the the Oxide endorsement and anti endorsement hour. Although maybe we should be. I think that would be interesting. I think that that would be
- 0:24Adam Leventhal: We usually start with some sort of airing of grievances.
- 0:27Bryan Cantrill: We do. I think we do. Think I did too much do you think? I think we know the right amount.
- 0:31Adam Leventhal: No, no, I assume that's why everyone's here. I mean, that's why you and I are here.
- 0:34Bryan Cantrill: For sure. For sure. I feel like we we should do a complete airing of grievances. You know, we did our no, because I don't think we've really done that. Okay, we're not doing a clip show here, but we also, can we talk about the Pope?
- 0:52Adam Leventhal: Oh,
- 0:52Bryan Cantrill: yeah. Because I, Okay. Well, look, first of all, let's get this out of the way. There are people that are upset that we are talking about LLMs again. You
- 1:03Adam Leventhal: mean today? Yeah. That's
- 1:03Bryan Cantrill: Today. I feel it's fair. I feel it's fair. And we had someone who I'm not gonna tell you which social network it was on because I feel it would become obvious. But someone who is very, very anti LLM, who used to be an avid listener, but is is complaining that we are now spending every episode talking about LMS.
- 1:30Adam Leventhal: Hey. Not true. We talked about baseball last episode.
- 1:32Bryan Cantrill: That's what I said. That was my response. I will exactly. I will give the
- 1:36Adam Leventhal: people what they want, we said.
- 1:37Bryan Cantrill: Give the people what we want. Exactly. We are not
- 1:39Adam Leventhal: that baseball and LLMs.
- 1:42Bryan Cantrill: It's not just LLMs. It's also baseball. So there. Yeah. So no.
- 1:47Of our last four episodes, two of them were great deep dives into Oxide and the mechanical engineering team and talking about Reverso, which is great. One was LLMs with Shearam. Love that episode, by the way. That was a lot of fun to be Yeah. To talk to those folks about it.
- 2:01That was that was a you know, I would be getting a lot of positive feedback about that episode. Was Yeah. And and then, yeah, one on baseball. So there you go. That's what we're we're not just LMs.
- 2:10We're also we're we're also the baseball podcast. Yeah. But it is so we are we are going back to LLM territory. Oh, but in a weird way, I feel. I mean, am I wrong to think that this whole experience was surprising?
- 2:25Adam Leventhal: It it No. I found it very surprising. Okay. Delightful.
- 2:30Bryan Cantrill: Delightful. And just like an experience that kinda had that was just was surprising to me. It was just surprising to me. I you know, it was just it it it was not I I I feel that there are a lot of, like, on brand LLM. Oh, did you see Gary Tan's weird post today, by the way?
- 2:52Adam Leventhal: Was it on Twitter? No. I didn't.
- 2:55Bryan Cantrill: It was almost it was like the if I did it for for for for the LLM slop. No. It was like basically saying like, you know, it was like a very weird, like, half apology for, you know, I was you know, a decade ago, any programmer would tell you that lines of code mean everything. It's like, no. But basically saying that like I have, you know, LMs have taught me that lines of code are not everything.
- 3:21That actually though, like there's often like as a it was I might have hallucinated that whole thing. Now that I'm actually like say like actually saying that to you, I realized that I may that sounds implausible. Yeah. It's okay. So I feel you have like the Gary Tan LLM kind of experience, which feels like, okay, there's like something to talk about here that's interesting, but it's like it's on brand ish.
- 3:46And this was just this whole thing was a bit surprising. So do you want to give us a little bit about how we got here? Because this is very much mean, this is you got a very it turns out a very, catalytic role over the spanning the decades here.
- 4:01Adam Leventhal: There we go. So well, especially in your telling. So but I was gonna start with, you know, mentioned the the episode with Sri Ram and Kathy and and briefly my son Will. And, you know, talking about their course using LLMs, the sort of smoke the whole pack educational philosophy, which I think love or hate LLMs. I think you got to appreciate.
- 4:24I thought that was a great conversation, very interesting and informative in terms of how one approaches these things.
- 4:30Bryan Cantrill: That was also not where I thought that conversation was gonna go. Were you surprised by that? I do I admittedly, I just did not think that was gonna be the trajectory they were gonna take. I thought that was really interesting, honestly.
- 4:42Adam Leventhal: I loved the 19 year old saying to them that, like, 18 year olds should not be allowed to use this technology. I thought I just just all kinds of interesting. Like, I don't even know what to do with it, but, like Yeah. Yeah.
- 4:56Bryan Cantrill: Well, you this is like you you always gotta ask the older sibling when the younger sibling should get a phone. It's like absolutely never.
- 5:02Adam Leventhal: Never. Right. Never. So during that episode, we talked about BattleTris. BattleTris being the game that you developed, I think first on your own, like circa 1994, 1993.
- 5:16Bryan Cantrill: 1993.
- 5:17Adam Leventhal: Yeah. Then The Null Modem Cable. Dang. And then
- 5:25Bryan Cantrill: Actually, do you know, actually, I'm not sure if I've told you this, that so we I was coming back from Colorado and Okay. Give us a It's 1993. 19 2. Right? Yeah.
- 5:38You know, give me two Bs for a quarter.
- 5:40Adam Leventhal: Right. So the WiFi on the plane wasn't working.
- 5:42Bryan Cantrill: The WiFi. Oh my God. Isn't that amazing? Mean, right. So there I mean, there literally is no internet.
- 5:49So like, I I have my I've got a laptop which itself is like kinda surprising. It was one of these black and white kinda notebooks that was very lightweight for its time. But of course, useless on an aircraft. But the so I had BattleTris on this laptop. And and I there is no backup because there are no, like, multiple computers.
- 6:12There's no Internet. Like, what do I do? Like, upload it to a BBS? Like, there is no way to back like, would be backing it up on a floppy disk. And So And we're talking like five and a quarter, not even three and a half.
- 6:24Actually, by then it would have
- 6:25Adam Leventhal: been three and a Three
- 6:26Bryan Cantrill: and half, but it's still. It's still. The five and a quarter for effect. But so I go back to school and I'm really excited to show this to other folks because I think we should do this for our CS32 project. So I get off of like the super shuttle and I'm standing like in front of the quad, wrist and quad, like me, and there's a bunch of folks in the Ultimate Team And I'm like greeting all the folks on the Ultimate Team.
- 6:51And you know, I haven't seen them all summer. And the Super Shuttle leaves with BattleTris. No. I not told you the story? No.
- 7:02Oh my god. It is so heartwarming. I feel like I the I mean, you're I feel I mean, you've had to endure me for so long. I feel there's so many stories I thought you said. It really warms my heart that I've never That's right.
- 7:11Adam Leventhal: No. I'm I'm I'm ringing the chime, noting the time up. A story I have not yet heard. Okay.
- 7:16Bryan Cantrill: So you know, we could have a new never before heard chime. Never will be heard again for the first timer. Okay. So the super shuttle takes off. Oh, like takes off, like takes off at like 20 miles an hour.
- 7:32And I scream, my computer and take off after the super shuttle. And I catch up to the super shuttle after like four blocks of it driving like more or less full speed. And I come back and I'm like, God, I'm such an idiot. And I I, you know, get my computer and I come back to where they're standing. And they're like and they're like, what was that?
- 7:58I'm like, what was that? Like, what an idiot. I have like basically my life's work and I leave it in the super shuttle. Like, what am I doing? And they're like, no.
- 8:07You caught the super shuttle. And I'm like, yeah, because I like this is my only copy of this thing. And they're like, are you fast? I'm like, am
- 8:16I fast? And I mean, I
- 8:19had played on the ultimate team for a year and I guess it was the fact that it was a surprise. I mean, I I think it's revealing in and of itself. I think this is, you know, the pubescence arrives very late in the Cantrill household. In in in the the house of Cantrill, pubescence is is is a late arrival. And I realized that, like, I'd gotten a lot faster actually between my freshman and sophomore year of college.
- 8:42Adam Leventhal: I love this story even more than I thought I was going to because it's like the ultimate team. The people who had been throwing you the disc, presumably frustrated that you that they couldn't lead you farther or suddenly like, I'm sorry. Like, have you been walking? Like,
- 8:56Bryan Cantrill: okay. Like, more fast. Right. Actually, do you know that's a running sport? Were you not aware of
- 9:00Adam Leventhal: this? Right.
- 9:01Bryan Cantrill: Yeah. Actually, you can run. You're allowed to run on the field, actually. Apparently, yeah, you don't have to. And yeah, actually, my computer was the play they would call.
- 9:11Was just you go deep. When it was me go deep, it was my computer. I got a I can't believe I would told you that.
- 9:19Adam Leventhal: Holy shit. That is so funny.
- 9:22Bryan Cantrill: Yeah. But it actually it was like one of these moments where it's like, I actually did run faster because of the fight or flight. I'm like, I'm catching this fucking super shuttle because this has everything in it. This is like, I don't have another copy of this thing. And I spent a lot time writing it.
- 9:37So anyway, yeah, there we go. Amazing. Yes. So I'd written it over the summer and it was extremely crude and we thought we could do so much better.
- 9:45Adam Leventhal: And you did I didn't know that the null modem multiplayer, it's sort of shades of what was the console? I don't remember this ad from the nineties. Like, the the Lynx or something where the the ad was people passing a cable underneath the bathroom stalls so that they could
- 10:03Bryan Cantrill: like links did that. Okay. I the links allowed that head to head. I'd forgotten that. I think And I should know that.
- 10:14No. No. I I don't doubt it because, you know, I would this was I I worked at Babbage's. I sold the links. I should know this.
- 10:20Adam Leventhal: Right. That's right.
- 10:21Bryan Cantrill: I should
- 10:21Adam Leventhal: all the specs.
- 10:22Bryan Cantrill: I should know the specs on, like, the links and, like, the Jaguar, I think, was the other like, the the but yeah. It's mean, that that was it in the day. Like, that was the way you would connect. Like, if you wanted to connect two computers, you had to connect two computers. Yeah.
- 10:39Yeah. Wasn't that wasn't
- 10:40Adam Leventhal: Totally makes sense. So so
- 10:45Bryan Cantrill: yeah.
- 10:45Adam Leventhal: So that is that was 1993, you said. Yeah. They discovered you were fast. And then you took a class CS 32, the software engineering class where you convinced Mike Shapiro, leader of DTrace collaborator, and Chuck to go, I guess rebuild it or build a better version or Yes. Or continue it?
- 11:05Bryan Cantrill: Yeah. Well, we we we knew that from the beginning of the alright. From the fall semester, like, is what we're gonna go do. So the the course doesn't even start until January. We already know what we're gonna go do.
- 11:16And but we Mike and I, they We were just gonna work as a team of two. And then we get to like the actual assignment of the final project. And they're like, there's this guy that doesn't have a team. So like, can he join you? Like, okay, sure.
- 11:33Yeah, that's fine. So he but he didn't really realize that, like, oh, oh, you can join the team, but, like, we're not like, we we already know what we're doing. We're not actually we we we you get to bring some of your ideas, but not those ideas. So we had this kind of meeting. Was like, oh, I was thinking we could do, like, a fighter game or we could do it this everyone wanted do a network game.
- 11:52Like, those are all, like, amazing ideas. But we are not actually gonna be doing any of those because we're doing this other thing. We've already got, like, a third implemented. And he was, of course, very much on board. And, yeah, Chuck did among other things, Chuck did Ernie, the computer player.
- 12:09An LLM ahead of its time, an AI ahead of its time, for sure.
- 12:13Adam Leventhal: So you you built out this this networked, competitive Tetris, you know, throwing weapons at each other clone. And, I mean, it became an instant classic in the Brown CS department, like, up on every screen. And so then when, you know, you you graduate then in '96, I think I must have come, like, an another year later.
- 12:35Bryan Cantrill: Another year later. Right. Yeah. Yeah.
- 12:37Adam Leventhal: Still being played avidly. And then, you know, through
- 12:41Bryan Cantrill: Well, Amdur described Daktar, like, taking you under his wing, like some sort of BattleTris Yoda, teaching you like is that am I am
- 12:50Adam Leventhal: I Yeah. That is right. So this guy, Adam Tarr, and he also played them with Ultimate Frisbee Team. Is that right?
- 12:55Bryan Cantrill: That's right. That's right. Yeah. Yeah. So so
- 12:57Adam Leventhal: so Adam Tarr was, you know, like, good, yes, but also, like, strategically very solid. So it would take the batches of of promising freshmen and demonstrate, you know, str strategic, you know, insights that he had earned over the many years from the from, you know, from from, oral tradition of of person to person.
- 13:23Bryan Cantrill: That is great. I I god bless the I doctor. That's awesome. Alright. So we so you were learning, And then so the game is still being played.
- 13:33I mean,
- 13:33Adam Leventhal: I'm Still being played. Gone.
- 13:34Bryan Cantrill: Yeah.
- 13:34Adam Leventhal: Yeah. Long you're long gone. Right? And and you you've got, like, a productive job and everything in the Slur's Kernel Group. But, yeah, still being played at Brown.
- 13:43And and I had forgotten this. You that you dug this up in in your blog post that I had hosted a BattleTris tournament, and my first ever email to you was, hey. Can you come play BattleTris with a bunch of college students? You like
- 13:58Bryan Cantrill: So great.
- 13:58Adam Leventhal: A gag adult or whatever.
- 14:00Bryan Cantrill: It was so great. So that is like that's that is well before you interned at Sun. I mean, that and went to like, that is my first introduction to you. Isn't that great? Yes.
- 14:08It is. I Perfect. I remember like reading that email and being like, I have achieved everything I ever set out to achieve. Like, my my A gift. My my life you gave me a it is a gift.
- 14:22It really was. Yeah. It was a tremendous gift.
- 14:24Adam Leventhal: And as you know, like, 18 year olds are are famously ingenuous. So like I I Yes. Clearly that was not intended as a gift.
- 14:32Bryan Cantrill: No. Absolutely not. Happened to be. Yeah. Makes me all all the better.
- 14:35No. And I I mean, it does give you solace that maybe our own, older teenagers are sending some of the an email that looks like this to someone several years older than they are right now. Because God knows it's not going to their parents. Mean, we just know that this is No, it was really It was remarkable. And and it was great to know that, like, you were then you and I had our first game against one another.
- 14:58At some point, I I think it was like, maybe you became more crude.
- 15:02Adam Leventhal: I I don't know. I don't know if this is the game. I don't think I don't think so, actually. I think I think there was a time I'm gonna tell this anyway, though. You would come back to Brown to do an info session for for Sun.
- 15:16And I don't know. I don't even know if this is a thing that happens anymore. But, you know, Sun would come to recruit at Brown and send you and and and, you know, other recent grads, you know, I guess, less and less recent, but whatever, to come talk to undergraduates and talk about what it was like to work at Sun. And we played BattleTris, like, fifteen minutes before you were supposed to give this talk or whatever.
- 15:42Bryan Cantrill: Oh, was it? Okay.
- 15:43Adam Leventhal: Yeah. We played. You lost. You were not happy. Not not happy.
- 15:51And we sprinted over to the info session, and you gave like a fairly acerbic, like, introduction to what it might be like towards the top. Like, not inaccurate.
- 16:04Bryan Cantrill: Not inaccurate, but like, wow, this guy's kind of coming in hot. This is alright. Wow. A lot of unsettled issues with this one.
- 16:12Adam Leventhal: Exactly. Yeah. So whatever. I go through my Brown experience. There's a bunch of BattleTris played.
- 16:22Bryan Cantrill: Okay. Okay. Is it possible that that was a I insisted on a best two out of three? And Could be.
- 16:31Adam Leventhal: I don't know.
- 16:32Bryan Cantrill: And then I so in my recollection, I won the second game. I tried to use the cheat keys that I think were no longer there. I so I like, just as a confession, like, would have I believe I won the second game, then you won the third game.
- 16:51Adam Leventhal: I think that's right. And I think I won the third game. But once people finally get this working, they'll understand what this means. But I I think I hit you with a lazy Susan, so I stole all of your weapons. Oh my god.
- 17:00Bryan Cantrill: No wonder I came into that info session pissed
- 17:03Adam Leventhal: It's it's like a it's not a good way to be.
- 17:06Bryan Cantrill: It's not a good it's not a good way to no. No no wonder. Man.
- 17:10Adam Leventhal: Yeah.
- 17:10Bryan Cantrill: Man. So the but it is also like, look, I've said it before. I'll say it again. You're the better better. I
- 17:18Adam Leventhal: know. Maybe. Hey,
- 17:20Bryan Cantrill: you gave me a gift. You gave me a gift. It's time for me to give you a
- 17:23Adam Leventhal: gift. It's so kind of you. Thank you. And I think our modern record is like two and o, you've won. But but you've met many more games.
- 17:31Bryan Cantrill: No. Our modern record, I think is I don't think that's right. It was I think it I think it's one on one. You just want me to say
- 17:35Adam Leventhal: that's Oh, okay. Thank you. Well, what was it? What what maybe with one SegV or whatever in between.
- 17:40Bryan Cantrill: No. I just the SegV was a push.
- 17:43Adam Leventhal: There we go. So I graduate. I go to the some Solaris Kernel Group. There's no BattleTris being played. And then we and then I I think we have different recollections of this, and maybe they're both right, though.
- 17:57But my recollection is we there was a little bit of garbage time kinda between Solaris nine and Solaris 10.
- 18:03Bryan Cantrill: That's true.
- 18:04Adam Leventhal: And, clearly, we were we were, like, doing some work on Solaris 10, you know, you know, I think you'd probably started DTrace and
- 18:12Bryan Cantrill: No.
- 18:13Adam Leventhal: And stuff like that.
- 18:14Bryan Cantrill: Oh, No. This is what I ended up doing was TrapStat after that. So no. This is this is this is prior to DTrace.
- 18:20Adam Leventhal: Yeah. Really, this was garbage time then between Solaris and so because when you know, this is this is such an like, a a foreign concept, I think. But, like, we would work on versions of Solaris literally for years. Like, years and long more years than anticipated. Right?
- 18:39Like, sometimes they would name the project based on the date of release, and and that would become increasingly anachronistic. Then we named it based on the version, which also became anachronistic.
- 18:50Bryan Cantrill: I I mean, if we're not gonna tell the story now, when are we gonna tell it? When, so Kevin Clark, the gatekeeper for Solaris 2.6, because you have these releases, as you say, that are multi year releases. And it's so funny because you think that like, why would that be notable now? But if like, of course, that's notable. That's insane.
- 19:06Obviously, they have these and we had these multi year releases and you also would have this situation where everybody knows the schedule needs to be slipped. But nobody wants to put their fingerprints on slipping the And I mean, this still obviously is born out. I mean, this happens all the time. But the Yeah. And so the Kevin was getting really frustrated because it was very, very clear that it was not gonna ship on time.
- 19:30And when when they would generate the new schedule, they would put the date in the U name. So the U name would said May 1997. Well, it's gotten into it is now like February 1997. It's very clear we're not gonna ship in May. And so Kevin is Kevin's responsibility is to deliver like the golden bits onto the CD.
- 19:50And Kevin changed the bits that he delivered to say maybe 1997.
- 19:58Adam Leventhal: Delightful.
- 19:59Bryan Cantrill: It was delightful. That did not even at Sun, a company relatively tolerant of such hijinks. This was definitely treated as like a foreign state actor that infiltrated the build system when it was in fact just Kevin. Anyway, so, yeah, multi year releases. Kinda crazy.
- 20:16So, yeah, we we are in this downtime between nine. I guess source nine is yeah. Is that right?
- 20:23Adam Leventhal: Yeah. And and you sort of don't I mean, it's it's it's downtime, but everyone there there's sort of utility in the downtime in that, like, if something comes up, you have to fucking fix it right away. Like, the you know, there's there's utility in the, like, everyone is sort of, like, on deck ready to fix a critical bug that might pop up. But it's in this downtime that we I don't even know who or why, but we resuscitate BattleTris. And when I say we, it's not like just you and me or you, me, and Mike.
- 21:02It's like,
- 21:03Bryan Cantrill: you know sheriffs.
- 21:04Adam Leventhal: It's like lots of people in the Solaris Kernel group. Like, lots of very competent kernel programmers who's who suddenly unify around a shared mission to resuscitate and improve BattleTris.
- 21:18Bryan Cantrill: I mean, it is quite arguably the literal golden apple of Discord. It is to the fairest this apple being rolled into the pantheon of gods, and now we are all gonna spend our time, playing BattleTris as it turns out. Yeah. Yeah. And okay.
- 21:34So the thing that I and you and I think I've, you know, I wonder just looking at the dates in hindsight. And I do wonder about this. I genuinely don't know. All this is also in the like the two months after nine eleven.
- 21:44Adam Leventhal: Yes. Yes.
- 21:46Bryan Cantrill: And like my my adult brain definitely wonders like maybe this I mean, there was I don't know. Hard to look at that as completely unrelated, but and maybe it was. I don't know.
- 21:57Adam Leventhal: But I think you're right. I think it's the confluence of, this garbage time for Slash nine and just needing something different and, like, needing some different kind of camaraderie, like, different even than, you know, the the gen general collegiality of the group. But you remember
- 22:13Bryan Cantrill: the onion headline? That onion headline? This is like, I remember the first thing I really laughed at. Do you remember what I'm talking about?
- 22:17Adam Leventhal: After Yes.
- 22:18Bryan Cantrill: Nation longs to care about stupid bullshit again.
- 22:21Adam Leventhal: Exactly.
- 22:23Bryan Cantrill: Because they there were, like, three days where the onion just went, like, dark. And we're like, come on, onion. Like, we definitely need you right now. Like, this is this is a really it was very, very dark. And Yes.
- 22:32So yeah. We long to care about stupid bullshit again like BattleTris. So That's right. That's right. It's a stupid factor.
- 22:38Adam Leventhal: And and we sure did. And and, like, this is why, you know, someone was posting in chat that it can't it fails to connect to popdart.eng.sun.com. Like, this is Mike Shapiro's desktop where that was, like, the the ruler of all battle trists back then. And and we already talked about, you know, Matt Arons and and Bridgette, your your now wife, and Bridgette taking a game off you. But then, I don't know, like, it I don't know if it was Fishworks or or what?
- 23:10No.
- 23:10Bryan Cantrill: No. Was Fishworks. No. No. Yours part is D Trace and just like, I think it was
- 23:13Adam Leventhal: just Oh, we had to get back to work.
- 23:14Bryan Cantrill: We had to get back to work. Think so, a little bit. Well, I think also, you know, we were it was kind of so we we it was a complex bunch of things. We're kind of in that garbage time. We you've got this kind of like post 09:11 thing that is that is definitely think having people long for that kind of social connection.
- 23:30And then you also have like, we were all in respective Greenfields. And everyone talks about how, oh, I get how great it is to be in the Greenfield. But Adam, you and I know this from like several different times doing this. There are challenges about being in the greenfield where everything you've got so many degrees of freedom. It can sometimes be hard to get started.
- 23:51Yeah. We're just like, where do we kind of go? And this was, was immediately prior to kind of Detroit's because we would start Detroit's like in the next, like by December, November 2001. But I was, so yeah, mean, I think we just kind of like, Matt had been kind of procrastinating on Pacific. He started like that was turning into Like that was beginning to really turn into ZFS or I guess it was still It would be Pacific for another year almost.
- 24:22But he was starting to get a little bit of traction there. Bridgette went back to kind of working on her dissertation. I think everyone just kind of went back to work a little bit.
- 24:29Adam Leventhal: Yeah. That's right. And I think I I think we, on the other hand, like in the garbage time, it felt like because people were playing, it was okay to play. And I think the less that happened, then the less okay it felt
- 24:40Bryan Cantrill: until Right. Like, that's
- 24:43that's funny. No one else is in the bar at noon? Just me. Okay. I can I feel like couple weeks ago, everyone was in the bar at noon, but okay?
- 24:52Oh, we're not in the bar. Oh, we don't do the bar at noon anymore. Got it. Right, right, right, right. Okay.
- 24:56Well, I'm going go back to work. Yeah, yeah, I think you're right.
- 24:58Adam Leventhal: Yeah. So then I think basically nothing happens for the next twenty four years.
- 25:05Bryan Cantrill: I think that's right. I don't know. I don't remember playing at Fishworks or I just remember it. And then I definitely remember, like, I remember, like, at some point trying to like, oh, like, how bad can it be to revive? And like, oh, this is not it's not good.
- 25:22This thing is now is now relying on a bunch of software that has kind of gone away. Because Motif was not open source for a while.
- 25:31Adam Leventhal: Oh, interesting.
- 25:33Bryan Cantrill: So there was like a kind of extended period where it was like getting it to run on Linux was gonna be a huge pain in the ass. It just kinda fell in the disrepair. It was just like, alright. This is like just too much trouble.
- 25:43Adam Leventhal: So so, you know, fast forward twenty four years, we talked to Shriam and Kathy. And during that, we said, yeah. We we, you know, we should do this thing or whatever. And I think then we proceeded not to particularly. And then I was actually so I was I was working sort of on the later side a couple weeks ago because I needed I was doing some SSD evaluations.
- 26:08And I don't know about you, but, like, the thing that motivates me to get things done the most is when I've made a commitment to Robert. Because I feel
- 26:16Bryan Cantrill: like Yeah.
- 26:17Adam Leventhal: Yeah. Robert dies for our sins, like, every day.
- 26:19Bryan Cantrill: He dies
- 26:19Adam Leventhal: for our sins. Yeah. So if I've told Robert, like, I'm gonna have him like, thing for him. Like, I tell you I'm gonna have something on a particular day, like,
- 26:26Bryan Cantrill: I don't know. I I I have probably forgotten it. I mean, it's Awesome.
- 26:30Adam Leventhal: Right. That the real test is gonna be, are you gonna remember it? If you remember it multiple days, then maybe it was important. But like, you know, Robert, I don't want to I don't want to drag him through that. And he's also got a much better memory.
- 26:39So I was up. Was I was waiting for a fairly long running process or like a process that took like fifteen, twenty minutes. And I was like, why don't I why don't I give it a shot? Cause I'd been, you know, using Claude more. And so I I found BattleTris and, you know, just on, like, how did I've been carrying it from home directory to home directory for the last twenty five years or whatever.
- 27:02And so amusingly, was in a directory called BTPPC because this was the BattleTrisp port to run on Mac OS under PowerPC, which I just just did note like three different instruction set architectures to go.
- 27:16Bryan Cantrill: Right. Three different like, God you never got that working.
- 27:19Adam Leventhal: Right, exactly. Well, it's, and it was working back in the day. Like it would, it would You got it working on
- 27:24Bryan Cantrill: the Mac. You got it
- 27:25Adam Leventhal: working Yeah, on for sure. No, for sure. It was working on the Mac like
- 27:28Bryan Cantrill: back in
- 27:29Adam Leventhal: the day. That's what I would play out when I worked from home or whatever. I would be able to play it on
- 27:33Bryan Cantrill: the Mac. Oh, okay. I don't think I need that. Okay.
- 27:37Adam Leventhal: Yeah. Yeah. I didn't I didn't need my what was it called? The Tadpole, like the Spark the Spark based laptop.
- 27:44Bryan Cantrill: Yeah. Right. Was the Tadpole was one of the Voyager. I think I was on the Toshiba. Oh, yeah.
- 27:50But this is gonna be an issue because I'm gonna get to my my stack of old laptops to help, like, to we're gonna go out on an archaeological dig. We'll get into it in a bit.
- 28:00Adam Leventhal: But yeah. Anyway. So so I I I I fired Claudine and said, here's some old stuff. Get it working. And with not that much back and forth, it got it done pretty much on its own.
- 28:13You know, it and like not perfectly. It was like, okay, install this X courts thing, install open motif. And it got it going. It was pretty crazy.
- 28:25Bryan Cantrill: It was amazing. You opened a meet that Bridget and I both joined and Bridget looked like, God, I've been, I got out of rehab twenty years ago and this is like, I'm like, I'm right back in the thick of it.
- 28:39Adam Leventhal: Right, Bridget? Yeah. And and we were reflecting. You and I were reflecting on this, like, shortly afterwards or maybe, like, on the way to reunion or something. On the like, it was not hard, but the hard thing about this kind of revitalization project is there's no certainty of completion and you have no idea how long it's gonna take.
- 29:00And you can see each incremental step, but you don't know, am I fifteen minutes away or am I six days away? And if you knew a priori, like, okay, this is gonna take three hours, four hours, a weekend, whatever, you just do it. But without that certainty, like, I ever gonna get it done? Am I gonna hit some roadblock? It's very hard to get started on on some of those kinds of paths.
- 29:22And certainly for like revitalizing or resuscitating old software, projects in general.
- 29:28Bryan Cantrill: Projects in general like
- 29:29Adam Leventhal: that when you have no idea how far am I from the end?
- 29:32Bryan Cantrill: How far am I Also, from the problems that are between me and the end, these are not glory problems. These are not like, I'm going to find some wow, some really, you know, interesting algorithmic issue. Or I mean, this is like, these are the these are the problems from which scar tissue is formed. These are the things that are implicit assumptions that was be that were being made decades ago that are now no longer correct, that don't they don't feel like vindicating to solve because you're just getting back to what it used to do, what you feel it should already do. Right.
- 30:08Adam Leventhal: In back of the day, it would be all these frustrating journeys through Stack Overflow. Right? Be like, I got this error message. I'm I'm using c plus plus I don't know, even though, like '97 or whatever. We're now on c plus plus 2017 or probably later.
- 30:26I don't know.
- 30:27Bryan Cantrill: So on this, have we made reference to to Theo Schloss and Eagles 2011 planner closing plenary from Surge before?
- 30:36Adam Leventhal: This is
- 30:37Bryan Cantrill: a a a I I I'm sure we have. I'm just gonna mention it again just because this is the NayPluZ Ultra tale of this kind of stack overflow trying to figure out why this thing doesn't work. Going, like, several layers deep. And in particular, the reason I just mentioned it because Theo I mean, this is like this thing that hopefully will be lost to time where he found someone who had his exact problem, someone suggesting a fix and someone the same person replying who had the problem like, that worked for me. Thanks.
- 31:13And it would take him hours to realize that that fix could never have worked for the person that said that worked for me. Thanks. And you just realize that like this is like next level of sociopathic behavior of just wandering around the Internet, taking broken fixes, and being like, yep, that's the one that worked for me. Just because you know that it's like but it worked for this random person on the Internet. I must be wrong.
- 31:37And Yeah. I mean, he thought he was going out of his mind. And that's like kind of it. I mean, that's it's kinda nice to leave. And we because, like, to your point of, like, this it's not glory work.
- 31:49You're spending a lot of time on Stack Overflow or Reddit or wherever trying to figure out who has had this problem that looks like that the Stack Trace or what have you.
- 31:57Adam Leventhal: That's right. And especially when there's not that much commitment to, like, getting it done. You know what I mean? Like, I wanted to get DTrace running, but I didn't need to.
- 32:07Bryan Cantrill: Right.
- 32:07Adam Leventhal: And and I think there
- 32:08Bryan Cantrill: are a
- 32:09Adam Leventhal: lot of projects that that have that kind of shape. And especially if you remember Theo's talk, you're like, well, even if I go to Stack Overflow, you know, is that going to get me closer or farther from the solution?
- 32:21Bryan Cantrill: Totally. Totally. And I think that the so you the fact that it could just it mean and I think so the the this kind of like interesting point number one, this kind of like speculative work and these kind of ports are in this case, like legacy software getting this working. It is it is at some level speculative. It feels like it shouldn't be speculative.
- 32:43And you know you could do it or should be able to do it. Although, you know, actually you also got kind of like you don't have that total certainty. Right? You actually don't know if you're gonna hit like the absolute hard rock of, like, nope. Sorry.
- 32:55Like, this thing relied on something that just doesn't exist anymore, and you can't get it working. You gotta do something else.
- 33:02Adam Leventhal: Or implicit behavior. Right? Like, it relied not on an, like, a you know, an interface that if called in a particular way, it worked. And and not that that is unresolvable. Right?
- 33:13Like, you can debug that. You can fix that. But, what a pain in the neck.
- 33:18Bryan Cantrill: Totally. And, again, that that that kind of not knowing that kind of the undecided. So you and the fact that you were able to get this thing working at all. It's like, okay, we've got now we're this is inspiring. Yeah.
- 33:31And I picked it up to get it get it going on Linux. Right. And pretty similar experience. And the things that it nailed, I mean, least there's at least one of them where it's like, that would have been several hours for me. That was that was not gonna be quick.
- 33:47And maybe several hours of that direction, but it feels like it could have been because this was one of these things where it was relying on what was at the time effectively undefined behavior that is now defined. And the function that should return but returns implicitly now would be defined to not return. GCC very healthily is just like, I'm never calling it. Like, I'm just stopping it out. And it's like, okay, but that's okay.
- 34:15No warning about that or anything. So it would have been like, that would have been and there were a couple of those who just like, wow, this is this would have been really kind of gory to debug. Yeah. So pretty amazing.
- 34:27Adam Leventhal: Yes. And like, I mean, also some, you know, some of this typical hallucination. Right? There's still, like, a graphical glitch where, you know, I take a screenshot. I show Claude.
- 34:39It understands. It tells me it has to fix for sure this time, and the graphical glitch is still there. Or it So did
- 34:47Bryan Cantrill: you have it? I had it it was taking screenshots on its own.
- 34:51Adam Leventhal: Oh, Maybe maybe it's a Mac thing where it it can't do it without some permissions or something. No. This was one
- 34:57Bryan Cantrill: of these things where it's like, wow. Okay. Because I'm like, how are you this is an x application. And it's like, actually, I'm just gonna start taking screenshots. And that's what it started doing.
- 35:05I'm like, wow. Okay. That's that's pretty good. The I will tell you, like, the biggest problem I had with it or the biggest problem that I had, that the one that took the longest to resolve, I had an x default setting that was effectively a stowaway setting. I had a star depth 32, which was kind of forcing a 32 bit visual.
- 35:29It and this is kind of x windows inside baseball. But it was it was confusing to everybody why this wasn't working, especially Claude. So Claude kept, like, iterating the same way being like, oh, I think it's this. And we kinda make these code changes, like, It's not that. Like, what's going on?
- 35:45And they'd be like, oh, no. Wait a minute. It's this. Finding the thing that it had just added. I'm like, okay.
- 35:50Here we go. And so it's like, oh, no. I'm gonna remove all this. It's like, well, you just added all that. So it's like, okay.
- 35:55I'm gonna remove all this. I'm gonna try it again. Like, no. Wait a minute. That is now that's back to the first thing.
- 35:59We do it was like a little bit like it was helpful in that. Like, a minute, isn't that just back to the first thing? Then have called me like, no, no, wait a minute. This is never mind. Boy, this is all wrong.
- 36:11And that was ultimately like I had to get it out. I had to like actually go debug that one a bit on my own. And I think I actually went to chat GPT to get its ideas. And it's like it was some somewhere along the line, someone's like, what is your x defaults file look like? And I think I pasted that into, I think ChatGPT is like, okay, that's your problem.
- 36:35In fact, the problem was actually extraordinary. And then it did the same thing to Claude. And Claude was like, yeah, okay, found the problem as well. But it was like that And this is like one of these things that just like would've It took me probably like twenty minutes and I think would have taken hours. It's just excruciating and getting And you it's also like one of these things that used to work.
- 36:57That is behavior that actually used to work and has changed in kind of the modern world. The funny one the funny one I
- 37:04Adam Leventhal: had with Claude is, you know, it was it was working on, I don't know, something like cleaning up errors or getting something to build in a different way or whatever. And it's like, all right, got it done. And I go to look at the changed files in Git, and there are no changed files. I'm like, hey, where like, what what have you done? Like, where are these changes?
- 37:24It's like, oh, it's in this thing. It's like, but isn't that generated? Like, isn't that not checked in? It's like, oh, yeah. Okay.
- 37:31I did it the wrong way. I'm
- 37:33Bryan Cantrill: How could it be so stupid? Yeah. You know what? A problem that I have that actually, I'm sure there's a there's still a bug in the way the the make dependencies are in this thing. This thing does not like, reminding me of all the pain of c plus plus where you have these partial builds.
- 37:49Yeah. So at least on Linux, do not get properly get a proper rebuild when a header file is changed. And the failure mode of that is like a seg fault. I mean, it's like just a reminder of what I've left behind with c plus plus and watching. Claude and I have struggled to debug variants of that several times.
- 38:14The but actually, to his credit, actually, it took one of these core dumps and is like we debugged it to like, okay. Wait a minute. This v table is bad. Like, the only way that would be possible is if somehow the header file and the object file got out of sync. I'm like, I think that's exactly what's out.
- 38:28Anyway, so it is
- 38:29Adam Leventhal: That's pretty good.
- 38:30Bryan Cantrill: Some of these gnarly you know, it was it was like remarkable actually. And I you know what the other thing I love about this? And I I haven't gone through all the diffs you have. When you use Quad for this kind of work, it's not like vibe coding an aspect of the app. It's finding like a bug.
- 38:48Like you look at the diff and you're like, this diff is like a very reviewable diff.
- 38:52Adam Leventhal: Yes. No. Agreed. As opposed to yeah. Yeah.
- 38:58As you say, if it's like generating stuff from whole cloth, you tend to get much more blather. But, you know, on the other hand, as it's as it's tried and failed to to fix some of these visual glitches, you know, it also is not verbose in terms of there being tons of code, but it's a little bit feels like just sort of random perturbations of the code in the hopes that it might change things.
- 39:25Bryan Cantrill: Yeah. Did you have you had it adding instrumentation to the code? Have you watched it do that?
- 39:29Adam Leventhal: Some like print offs and stuff like that. Yeah.
- 39:31Bryan Cantrill: Yeah. It does
- 39:32Adam Leventhal: a lot of that.
- 39:32Bryan Cantrill: Yeah. Was doing a lot of the bug print offs. Then it was making we when Claude and I were together, I mean, I think we had three separate instances of debugging these kind of these make inconsistencies. So really which were brutal. I'm just like, I I need that we need to make sure that we're always remaking basically.
- 39:52We should always make clean or whatever you wanna make anything because the compile time is like it's like twenty milliseconds to compile the data so fast. But the when we were iterating on some of these things that were basically ghosts that we were chasing, it was interesting to watch how it was doing it. And about, like, adding debug printouts and then, it would modify because it's, like, it's a game. And so it would modify the game to be able to immediately play early and like watch it do all that. And they would kick up the I mean, it's like, wow, this is pretty wild.
- 40:22And then ultimately, of course, realizing like, no, wait a minute. We just need to actually make clean and rebuild the whole thing. There we go. Found that. So we get it working.
- 40:39So actually it was a lot of fun to be back at Brown and have a lot of people asking about BattleTris. It was Oh, yeah. I it at the both the computer science reunion and then the class of '96 reunion.
- 40:50Adam Leventhal: Was Well, I I love the computer science reunion. You were talking to Mike Taffarella, who's been on the show at least once, maybe twice. And I don't I think somehow you had not yet mentioned it to him despite having talked to him for more than ten seconds.
- 41:04Bryan Cantrill: I I had talked to them for more than ten seconds and did not mention it, which I agree with you. It out of character.
- 41:08Adam Leventhal: Yeah. And and I I remember coming over and be like, okay, Mike, what you actually need to know is BattleTris is working again. And then both him and another classmate of yours, jaws on the floor, clearly, that was what you should have led with. Sounds like you led with that the rest of the night. So that
- 41:23Bryan Cantrill: I then. Didn't leave with the rest of the night. I did love a couple that I've known for many, many years. So since Brown, they met their freshman year. They now have raised two daughters together, very happily married.
- 41:38He was like, God, I love that game. And Rachel was like, right. We almost broke up because of this game. And I was like, woof. They don't like there are two lovely children that they have raised together that might not I mean, it's kind of like that Back to the Future, you know, where they are.
- 41:56You got to be sure that you don't want go back in time and like, you got to make sure that Ben leaves the Sun Lab to go on the date or whatever he needs to not have BattleTris ruin his relationships. Got to
- 42:10Adam Leventhal: talk about the Was the governor of Delaware?
- 42:15Bryan Cantrill: Okay. So before the governor of Delaware, we although we'll get to the governor of Delaware. The so another thing that was just wild to me is so we played the first game. And the first game ends in a second vault. After we played, we were we were playing the game, which is a little bit unusual.
- 42:31Like, usually, if the game kind of clears the end of the runway, it's gonna kind of take off. And we get to the end of the game or we get to get the other game. We're playing the game and the game dies. We have a cycle. Like shit.
- 42:44And it is stack corruption. My my the game has died on my on my laptop, not on yours. From your perspective, I've just disappeared. Oh, we've got thank you very little Linux defaults. I've got no no core dump.
- 43:01I don't know exactly what we did because, like, we were just playing the game. So it's like, okay, how do we reproduce this? All I knew is that you and I and the way kind of BattleTris works is like, you spend a bunch of time, like, amassing money. And you if you're playing a player worth their salt, it's you can't throw one weapon at a you gotta throw these like combinations. So and you and I, Adam, kind of speed run nuclear Armageddon when we play against one another.
- 43:29It's basically like when Amter and I were playing some pretty protracted games where he and I kept having nuclear exchanges. And we were both like, how are you alive? I'm like, how are you alive? I don't understand how either of us is alive. So but you and I had we had had one of these volleys where we had launched all of our weapons at one another and the game had died.
- 43:52Right. And so all I gave Claude to go on was And I'm like, I actually didn't occur to me at first because I'm like, all right, I'm gonna Shit, I can't find the core dump. We're gonna like, all right, let me change my Do the U limits and make sure the core dumps are configured and we're just gonna play again, I guess, and hope it happens again. I'm like, well, maybe I should just like, even though I've got no data other than we have is a stack corruption and kind of what was happening. Maybe I'll just like ask Claude.
- 44:18And that's basically what I did. And Claude found the bug. That was crazy to me. It's like, well, Claude's like, I found a bug that's consistent with Stack Overflow and it would have required a weapon that I didn't think you through. And then I asked you, I was like, okay, this looks like it's definitely a bug, but it would require you to have thrown a weapon where you would have been spying on me.
- 44:40And you said you had done that. Right. I was like, wow. Yeah. That was amazing to me.
- 44:48And just like the ability, it was amazing to me.
- 44:52Adam Leventhal: Like an integer width problem or something?
- 44:55Bryan Cantrill: It was an integer width problem that that would have that that was only a that was only a problem if you're running 64 bit, not 32 bit. Right. And BattleTris had basically never been 32 bit. Mean, it's like, you know, in its defense
- 45:09Adam Leventhal: It had never been 60 It four
- 45:12Bryan Cantrill: had never been 64 bit.
- 45:13Adam Leventhal: Right.
- 45:13Bryan Cantrill: Right. I think it predated 64 bit microprocessors by a long time.
- 45:20Adam Leventhal: Then even the Solaris 10 garbage time, we were like the default usually end was still 32 bit.
- 45:28Bryan Cantrill: Still 32 bit. Yeah. And 64 bit microprocessor, 32 bit application. So that was wild to me. That was honestly, that was genuinely wild.
- 45:40And I think I know, and I do feel that we're kind of in this big moderate middle for LLMs. And I'm hoping that we, that folks realize that there is a big moderate middle between this kind of AI maximalism that I think is like Steve Yege kind of bonkers territory and the kind of mastodon territory of unsafe at any speed. And I think asking these things questions of source bases is just remarkable. I just it really it just it continues to surprise me, I got to say.
- 46:18Adam Leventhal: Yeah. No. And the whole experience was was eye opening for, you know, for a lot of the reasons we said in terms of the like the way that you can approach software, which you feel like has fallen apart too much or it's too much of a pain in the neck, like it's attainable.
- 46:37Bryan Cantrill: Yes, absolutely. And so then we got that we got that bug fixed and then we were were playing. Yeah. And it was just working. The game was working.
- 46:45Adam Leventhal: Yeah. Mean, felt like it felt like college. Like the girls were in one room watching something and you're in the other play.
- 46:52Bryan Cantrill: Oh, not just watching something. No. Watching heated rivalry. Right. We I mean, come on.
- 46:56We have Right. To like They were watching heated rivalry. So we had the soundtrack of heated rivalry. We warned that Matt had watched heated rivalry once under duress and had somehow managed to memorize the Russian scenes. Very strange.
- 47:12Live translating the Russian scenes. Yeah. Yeah. Really wanna see what the bigger card looks like for this episode, by the way. I I I don't think heated rivalry was on.
- 47:24But you know what? I don't you never know around here. You never know. That could maybe that maybe someone just yelled bankrupt.
- 47:28Adam Leventhal: And and and I think it was consensus from the weekend that heated rivalry has to be some sort of new weapon. Like, unclear what it's going to be.
- 47:37Bryan Cantrill: Oh, it's quite clear.
- 47:38Adam Leventhal: Oh, right.
- 47:41Bryan Cantrill: Oh, I think it's quite clear.
- 47:42Adam Leventhal: All right. I'll state that.
- 47:43Bryan Cantrill: Yes, it has to be to have it. Yeah, no. I I I need to determine its playability, but I know exactly what it needs to be. So yes, we'll be look forward to Heat the Rivalry weapon. But it was just genuinely great.
- 47:55It was so much fun to play with you and to play with Matt. And it was like it did feel like old times. And it was like the thing that like the wild juxtaposition for me was because the other thing that was happening a lot are these conversations understandable because you and I both have college age kids and the kind of our reunion years, twenty fifth and thirtieth, you're kind of like right in that like teenage years, early college years. There was a lot I'm not was there anxiety for the twenty fifth? Well, certainly a lot of anxiety among the the the thirtieth where you got people kids are much more commonly in college.
- 48:29Adam Leventhal: Yeah. I think less of it. I think more sort of anxiety about one's own careers rather than like the future of kids.
- 48:37Bryan Cantrill: Pursuing kids. Yeah, much more about the kids and just not knowing kind of like what the future held. And I'm like, I'm definitely with you and not knowing what the future holds, but it is weird. Yeah. And it is not, it would be wrong to say that the future is just worse because I don't think it is.
- 49:00I think it's like, this was great. Yeah. And it was very much facilitated by an LLM. And so this led to me some larger questions. Love your take on this because I think a big one is, the reason that's kind of software falls into disrepair.
- 49:20Because software falls into disrepair for these like, it's not the software itself, which obviously is timeless, is not changing. It's not that the software is like rotting, but it is the surround of that software and those interfaces and the implicit assumptions and they begin to degrade over time. And I think they're like, this is like more common than not. The BattleTris example, I mean, not BattleTris itself, like this kind of like these things becoming kind of overgrown and it feeling hopeless to kind of revive this stuff or continue to maintain it. And boy, tasking an L I mean, you would think that like the presence of LLMs would lead us to like writing a bunch of more stuff from scratch.
- 50:06And I think it will. But this is an example where it's actually taking us the other way.
- 50:10Adam Leventhal: Yeah. You know where I've experienced this in in kind of with less years in between is stuff that I find for for doing kind of like at home embedded types of activities or like doing kind of weird firmware hacks on devices where like you find some artifact on GitHub and like clearly it worked. Or sometimes it's even like finding stuff in my own home directory when like, again, clearly it worked at some point or in in, you know, maybe it didn't, but I on some of these things, I'm sure it did. And now it's fallen into disrepair and like, how do I get this going again? And do I throw it out or do I debug it into existence?
- 50:50But this is a third path for how do I get this thing, this artifact that I am sure worked a year or two or five ago and get it going again.
- 51:00Bryan Cantrill: Yeah. And like you get it going again with like diffs that are comprehensible often.
- 51:04Adam Leventhal: That's right.
- 51:05Bryan Cantrill: Know, where it's just like, again, it's not like kind of a vibe coded hallucination. It's like, no, this dependency has changed or like this is an, you know, No, we don't include that header file anymore. Sorry, we haven't included that header file in a long time. We now include this other header. I mean, it's like there's a bunch of stuff like that.
- 51:20Yeah. Are you so the other thing I'd be curious if if you thought about this as well. Did did 2038 come to your mind? No. So the because the 2,038 problem, which is the the the wrapping of a 32 bit time t.
- 51:37Yes. And unlike Y2K, two thousand thirty eight happens, some February day in 2038. Can't remember the exact date. Should go fire up MDB to get the exact date. But the 2038, I remember there's like this kind of a Especially around Y2K, there was this feeling that like, wow, Y2K is actually the much simpler problem.
- 52:042038, like we're screwed. And I remember thinking like, I have to just like joke of like, this is my retirement plan is I'm gonna go to the software that I've written and like, I will because there's kind of this idea of around Y2K of these COBAL programmers that I wonder if there's any truth to that. We should go see if we can find anyone who's still like I was like trying to find a World War two veteran at this point, but like, can we find some some COBOL programmer who's like, oh, God. I was just absolutely like, for those, you know, nine glorious months in 1999, I was just you know, I bought two boats, you know, three mountain homes. I mean, I did did that actually happen?
- 52:42Because that that was like an apocryphal thing. I mean, that we we go with that was something I talked about.
- 52:46Adam Leventhal: Think I I think I mean, I don't know. I feel like I'm not really sure what the truth of the y two k stuff was in that some people insist that it was only by luck and by incredible effort that we dodged global holocaust. And then there are other people who are like, how many databases in the world were using, you know, binary coded decimal, you know, higgledy piggledy. So and I have no idea which which is closer to the truth on those.
- 53:20Bryan Cantrill: Yeah. And I think I mean, it's I do and it's hard to sort out with Y two k. Has there been ever a a like, someone has there been a a book written on Y two k? Like, years after
- 53:31Adam Leventhal: the fact? I don't know about years after the fact. Definitely contemporaneously, there were a 100 of them.
- 53:35Bryan Cantrill: Yeah. Contemporaneously, there were there were a in including the Eddie Yordan's time bomb 2,000, I think, was his. Might make a minute. But Eddie Orton, who had done the decline in fall of the American programmers, so like a long history of being wrong, was like an absolute Y2K doomer. And I remember he was being interviewed, he's a software engineer.
- 54:00So he's like a software engineer. He's like, the world is gonna end on 01/01/2000. And of course, people treated really seriously because it's like, this is a domain expert. And at the time being like, that's wrong. I don't like, that does not fit with my own just what you said about, like, like, we actually do have like, I don't think that that's right.
- 54:16I think that the 2038 problem is more acute. The only
- 54:20Adam Leventhal: That's right. 2038, I definitely like, when y two k was happening, 2038 felt much more real. Right? Like, if you're making some assumption that you've got 32 bits, but, you know, and you roll over there, that that I could really see being a very common mechanic.
- 54:39Bryan Cantrill: Totally. And I also knew that at Sun, what our Y2K problems were. So our Y2K problems were leap year problems. Right. Or like 30% of them.
- 54:49Right. And I'm sure we've talked about that before. About how 2000 You would think like every four years leap year except for every 100, except for every 400. So 2000 is a leap year, but the reason that people would take it as an offset from 1900 and do it as and treat it as as a year that ends in that is does not evenly is not evenly divided by 400. Right.
- 55:15Which is obviously incorrect. Anyway, the so the a a a true retrospective of y February would be really interesting because there was this hysteria. Ed Yordon kind of famously said that like New York will not have water on 01/01/2000. Isn't it crazy? And they so I I remember what was then the McNeil Lehrer NewsHour.
- 55:38Now I think the PBS NewsHour. But the McNeil Lehrer NewsHour interviewed Ed Jordan and good for them went and he's like very I'm like listening to this as a software engineer being like, my god, this goes out of his mind. And I don't think that that's right. But it's got a little bit hard to know. Like, I don't know the New York water system.
- 55:54They went to actually interview the engineer for the New York water system. And he's like, why are you here? They're like, well, there's a software engineer that thinks that you're not gonna have water. He's like, what? Do you understand how water in New York works?
- 56:11Like, do you know where the Hudson River Valley is? Like, do you know how gravity works? Basically is like the Let me explain like where the Catskills are, where water in New York comes from, how gravity's in pipe works. So like like, but don't you have any, like, software controlled valves? Because like, yeah, those those valves are like they they they take like a truck to open and close.
- 56:34Like, this is not they they they this is anyway. I don't know that there's been a real reckoning of that. And it'll be interesting to know, like, how much software work was retired required for RTK. But I remember thinking at the time, like, wow, 2038 is gonna be real. Yeah.
- 56:48Because those 32 bit time Ts need to be 64 bit. But, now I think 2038 is gonna be kind of a non ish. I mean, I I think LLMs fundamentally changed 2038.
- 56:58Adam Leventhal: I think you're right. I think we also remember we were living in a time when, like, we had both 32 bit and 64 bit at the same time. And Yes. And Yes.
- 57:10If we
- 57:10I mean, it it felt it it it felt durable. I don't know why I don't know why it felt durable, but it felt like, yeah, usually, like, it was gonna be an option. Like, you'll compile programs 32 bit. That feels really stupid in retrospect. Like, why would you do that?
- 57:23Bryan Cantrill: Why would you allow for 32 bit programs on a 64 bit kernel?
- 57:26Adam Leventhal: Yeah. Yeah. I mean, just like, why I mean, I get it. Like you'll have embedded 32 bit programs and whatever. I don't know what they'll do for time, but they do something different for time anyway.
- 57:37Yeah. I just mean, like, why why I thought we would always have a 32 bit user land option in a 64 bit microprocessor.
- 57:46Bryan Cantrill: In a 64 bit world. Yeah. I mean, I think it actually, that's interesting in terms of like whether that was the wrong decision. Because I think that implementations that force a 64 bit user land, you're going to force like bit cleanliness that applications may not be ready for. I mean, like, applications just weren't ready to be all 64 bit, but maybe they maybe they should
- 58:03Adam Leventhal: have been.
- 58:04Bryan Cantrill: I don't know.
- 58:04Adam Leventhal: I think there was, like, a space concern too. Like, because, you know, I know that memory is now, again, incredibly expensive, but at the time, memory was also incredibly expensive. Yeah. And just like doubling the size of every pointer felt expensive.
- 58:17Bryan Cantrill: Exactly. We can't just double the size of every pointer.
- 58:20Adam Leventhal: Exactly.
- 58:20Bryan Cantrill: That will well, and actually, well, no. I mean, I guess what what's old is new again. And that like, no. Actually, like looking at the cost of dims, actually can
- 58:27Adam Leventhal: we go back
- 58:27Bryan Cantrill: to 32 bit? How about 16 bit? Is 16 bit But available so I think it'll be I mean, I just like how this changes what we the way we deal and maintain old software. And then like, we you know, you've got software. I mean, it's all another question for you.
- 58:48Because this one has definitely been I've I've for sure have thought about. You know, when you have open source project and then, you know, we've had episodes on the kind of the license based fork. We've seen this a lot. We saw it with Cockroach. We saw it with Terraform.
- 59:05Where a community is kind of gaslit into believing that like you can't possibly maintain this fork on your own. And you gotta think like LMs definitely change that. I mean, yes, you got mean, the discounting, like I know that LMs make open source a lot more challenging because of the slot factor and so on. But it's like, if you actually just If the mission is to actually find bugs in this thing, think I it almost really changed the calculus there.
- 59:34Adam Leventhal: I think you're spot on. And also that that same I think that that same concern about disrepair when you're like, you're on a Right. Five year old version of cockroach on a, you know, three year old version of terraform or whatever. And this sort of, like, boogeyman
- 59:51Bryan Cantrill: of Totally.
- 59:53Adam Leventhal: Of, like
- 59:53Bryan Cantrill: A bit rot. Yeah. Yeah.
- 59:55Adam Leventhal: Kind of. Right? And there's and there's something to that where you're like, am I gonna try to build this thing one day? And it's just like a a bunch of implicit assumptions are gonna fall apart. And is it gonna be a real pain in the neck to get fixed?
- 1:00:07I think you're right. I think a lot of that feels less, like, less uncertain in that you're like, it's not gonna take a month to go fix. It's gonna take a more bounded amount of time with LLM assistance.
- 1:00:22Bryan Cantrill: What I also feel that, you know, another thing we haven't done at all, and at some point we, you know, we will And maybe we'll have to inject a couple more baseball episodes before we go back to an LLM episode. But there aren't real LLM ramifications for open source that I think we are Right now, we are just in the heat of all of the chaos of this stuff. And so we haven't really internalized some of the deeper stuff, I feel. Because I feel like I don't if that conversation is being had somewhere, I don't know where I think people are it again, we're in the inferno right now. Yeah.
- 1:00:58It feels like. And like actually people are like, actually right now we're like focused on these things like not, you know, taking over humanity. If you're a doomer or not taking over our jobs, if you're a mainstream doomer, not sure what we call those people. But the So but I think we're going to have to like, we will get to the point where we will start looking at a bunch of these things. And like, what do you think the LLM ramifications are for open source?
- 1:01:19Because I can kind of see all sorts of things.
- 1:01:22Adam Leventhal: Yeah. Right. So I mean, right now we see projects inundated with SLAP. We see projects that are like tearing themselves apart with an appropriate LLM policy. We Oh
- 1:01:34Bryan Cantrill: my god.
- 1:01:35Adam Leventhal: Like, we haven't talked about the, you know, the the Rust project discussion about LLM use. I don't know if you waited in to that much, but it's it's pretty vicious.
- 1:01:47Bryan Cantrill: Oh, what is it? I dare
- 1:01:48Adam Leventhal: I ask. The policy like, I I was there much more for the meta commentary, but I think some of the problems with the policies are like, how do you say you can't like, if if you deny the use of LLMs, so, well, I Google search for the thing. Does that LLM use? Like, where, like, where you draw the line is very, very challenging and and hard to vet. And, like, I think the intents of some of these policies, it makes sense.
- 1:02:18I think some of the problems with the Rust folks is they said, you know, we'll never make ethical concerns satisfied, so we're going to ignore them. And you can imagine how the folks on Mastodon took that one.
- 1:02:29Bryan Cantrill: Oh, that makes sense. No. No. I'd no further questions. Like, that's good.
- 1:02:33Yeah. That's good. The well, maybe with the Google search, am I allowed to use, like, the the Google's absolutely terrible AI assisted search because that's so bad? I mean, am I like I guess that's like, it's it's absolutely awful. Yeah.
- 1:02:48Am I allowed to use you know, I was a a a I guess ring the chime for a previous episode with Rain on the IDDQD crate. Uh-huh. Which is a doom cheat code. But I was asking Google, like the origin of that. You on the on its AI mode, you can literally click reload on that thing and it will give you a different answer every other time.
- 1:03:13It's a bit it's and I was showing this to Rain, like, doesn't and Rain's like, yes. What like, what are you expecting? I'm like, I don't know. Like, the same stick to a story. Like, it just make something up and stick to it.
- 1:03:24I don't know why the inconsistency was bothering me so much. But Rain's like, you know how these things work though. Right? I'm like, I guess I know. Yeah.
- 1:03:30Know. Know.
- 1:03:31Adam Leventhal: Sort of. Yeah.
- 1:03:32Bryan Cantrill: Sort of. So maybe I'm like, can can I use bad AI? But the that's yeah. So you got okay. So you've got open you got the stuff ripping apart open source projects for sure.
- 1:03:43Yeah. You've got the slot factor. But I
- 1:03:46Adam Leventhal: think you're also going to
- 1:03:47Bryan Cantrill: have this like, you know, going to these kind of old repos and being able to get them working again. I mean, I think it's it is going to and then also being able to like, hey, like we lost the compiler to this. We've got something the artifact written in the language. We lost the compiler. It's like, maybe we're going to like be able to create a compiler for this thing.
- 1:04:07You know, I just feels like all of a sudden there are a bunch of things that are possible, I guess.
- 1:04:12Adam Leventhal: You also have the possibility that that it really stifles open source in that it's like rather than making use of things in the community
- 1:04:21Bryan Cantrill: Yeah.
- 1:04:21Adam Leventhal: That the LLMs are either, you know, effectively pirating it or, you know, reproducing it or whatever, but you're not you know, you're making this big enclosed sort of implicitly vendored repo because you don't need to make direct use of the work of others. And I I think that, you know, that has implications that are that are not so good necessarily too.
- 1:04:47Bryan Cantrill: Yeah. So when do you also have I mean, we would be remiss not to mention this absolute insanity of the BUN rewrite. Did you follow any of this?
- 1:04:56Adam Leventhal: Only a little bit. They just pointed an LLM at BUN. What was it written in previously?
- 1:05:02Bryan Cantrill: Zig. It was written in Zig.
- 1:05:04Adam Leventhal: And to port it Rust.
- 1:05:08Bryan Cantrill: Which is okay. That's one then they landed it. And then that's the new bun.
- 1:05:13Adam Leventhal: And it had a bunch of like crazy unsafe stuff in there that would like that. I think folks saw like kind of trivially was unsound.
- 1:05:22Bryan Cantrill: So you have the the crazy unsafe stuff. You also have the like, well, sorry. There was a PR to change the language that this thing is written in and like that's just got we land that. That's it. Like, oh, we're in a different language now.
- 1:05:34Adam Leventhal: Like one PR. Like I'm done.
- 1:05:36Bryan Cantrill: Well, one PR. Like, oh, okay. Well, I guess I'll just go. I got this outstanding PR that's now written in the wrong language. Let me just go fuck myself.
- 1:05:45Yeah. Let me just go resolve these merch conflicts. How bad can it oh, god. I mean, it's like, okay. So I guess we I mean, that's kind of like and amazingly enough, like the community is not super into it.
- 1:05:59Amazingly enough. I mean, it just feels like at what point do you just do you just fork it? So they're very weird implications. And I feel like, again, we're not we don't have we haven't settled on any of this stuff because it's still so wild. Although and then actually, we got kind of mentioned this briefly at the top, but I think we we really do need to put a fine point on this about our We are approaching the halfway point for the year.
- 1:06:25Time to go check-in on some of our predictions. And you, Simon, I had this real shared effort on this papacy prediction, this papal prediction of we predicted. Well, I kind of started off like I predicted that the AI labs would be kind of moving away from this thing is gonna destroy all jobs to no, no, this thing is gonna be for the betterment of all humanity. And that we will be looking for, they'd be writing white papers talking about how healthy this stuff is for you. And I think, you you were talking about some of the, maybe making reference to some the tobacco, sponsored medical research.
- 1:07:11Then someone either you or Simon suggested like Obama as a coauthor or Michael, like, yeah, exactly. Like that kind of like imprimatur. And then it was not me. It was either you or Simon who suggested the Pope as like co authoring a white paper with the Pope. And the three of us were just like, yes, that's what's gonna happen.
- 1:07:31And then that
- 1:07:32Adam Leventhal: fucking happened. Crazy.
- 1:07:35Bryan Cantrill: It's insane. Like, just like a prediction that you and then you had to because Simon Wilson and I are all like laughing about because it's so obviously lunatic fringe actually just like straight up happened. So I, you know, I I don't know. Is Pope Leo gonna like do you think the Catholic church is gonna raise or raise a series? We're gonna actually like they're do an open AI.
- 1:08:02It'd be like okay. So actually yeah. The church is now for profit actually. So we're actually really pleased to announce that
- 1:08:07Adam Leventhal: you Do an open AI.
- 1:08:09Bryan Cantrill: Yeah. We're doing an open AI.
- 1:08:11Adam Leventhal: Public benefit corporation, but no longer.
- 1:08:13Bryan Cantrill: It's just a public benefit corporation. But now there's actually a very complicated holding structure. Anyway, long story short, we're profitable now and we're for profit now. And we just raised a an extra and I look, I hope Leo don't stand a profit, but we are yeah.
- 1:08:26Adam Leventhal: I mean, crowdfunding that I mean, go in a hurry.
- 1:08:31Bryan Cantrill: Yeah. This is like the original crowdfunding. Like, we we invented crowdfunding. It's called tithing.
- 1:08:35Adam Leventhal: Look. Exactly. Bring it back.
- 1:08:36Bryan Cantrill: Look it up and bring it back. Yeah. We're we're doing a tithing round. Our series H, our $60,000,000,000 series H. Yeah.
- 1:08:49Anyway, that was a bonkers break. So we will need to still feel that like it is so much spin the wheel on these l on on how LMs are going to impact us. And I think it's just gonna be a lot of surprises. I don't know. I mean, to me, again, this whole batteries thing was surprising to me.
- 1:09:08I and I I guess it shouldn't have been in hindsight, but it just was.
- 1:09:12Adam Leventhal: Yeah. I'm with you.
- 1:09:14Bryan Cantrill: And it was hindsight. I think it was also like surprising. You know the thing that was surprising? Game is the game is health. Yeah.
- 1:09:22You know, it is and actually, I was like I was kind of like, because I actually the thing I did that was very useful to LMs. So you have a history that is like several like, you just took like a random, like, this is the snapshot I had. Yeah. It's like, what you basically had is the last time that you had done work on BattleTrisks. That's right.
- 1:09:44And what I have is the last time I had done work on BattleTrisks, which is just like 15 commits further down the track. And one of those commits had I and I'm like, I take sole responsibility of this had the not so bright idea to start c styling it. So like not clean diffs at all. And this was one Rain had actually written a tool to using Claude, very good use of Claude to import SCC an SCCS repo into a Git repo.
- 1:10:18Adam Leventhal: That's pretty cool.
- 1:10:19Bryan Cantrill: It's very cool. I mean, it's very cool. It's very cool. People are like, what is an SCCS repo? It's like, well, that term doesn't exist exactly.
- 1:10:29We're talking about a this is Teamware managed software. This is why this is very cool to basically two of the five people on the planet to whom this is very cool. Are you in this?
- 1:10:42Adam Leventhal: That's right. What I love about that in particular is like we didn't even use SCCS, like, directly. Right? Like, we're using all this goofball layered software on top of SCCS. There's, like, per file version tracking.
- 1:10:59Bryan Cantrill: Yes. We got to get Larry McVoy on here to talk about that, the history. The history of that stuff is amazing. It is the bring over modified merge model. It was actually amazing.
- 1:11:07But we had to like import the tool. So I had this as thanks to Rain. I had these things as like actual like it's get that I could actually process. But the diffs were gnarly because of all these style differences. And it was really interesting to set Claude loose on figuring out like, okay, lot of this white space and like, here's the actual, like the salient diffs and pulling out some of these bug fixes.
- 1:11:32And because you asked me about, I think you and I had fixed the same visual bug. Right. One of those was the one of those commits. So I and that was a really useful use for Claude because it was this kind of like fuzzy kind of a thing that where like a human again could do this, but it'd be error prone. It actually it's actually more reliable to have the computer do it.
- 1:11:55Yeah. So it was amazing. So it's gonna be
- 1:12:02Adam Leventhal: The future's weird, man. Future's weird.
- 1:12:07Bryan Cantrill: And there's gonna be some battle for Senate is what I gotta say. I'm gonna be able Well, I might be able to live one of my When I said that I leave this planet after receiving your email about BattleTrisks in 1999. Not totally true. I want to be able to play and of course defeat my kids in BattleTrisks.
- 1:12:33Adam Leventhal: Yes. Have they played yet? They
- 1:12:37Bryan Cantrill: have not.
- 1:12:38Adam Leventhal: Okay.
- 1:12:40Bryan Cantrill: And I am not doing a very good job beating the hook because they are like, why would we play that against you? Like, you're just going to beat just so you can beat us. I need to like, I need to find a way.
- 1:12:52Adam Leventhal: Did you already tell them this? Like, it doesn't sound like you've been very well.
- 1:12:57Bryan Cantrill: I don't think I've been to the hook. I think I like, I think I more ran at the fish with a hook and be like, I'll show you, you fish. You'll take this hook. Yeah, I don't think that I think that's not the way to get a fish as it turns out. I think I need to.
- 1:13:11So I need to reset a little bit. I need to reset. They're not podcast listeners. I'm worried about that. But I got to like, I'm going to have to is gonna be a little more challenging, unfortunately.
- 1:13:19If they were if this happened a couple years ago, I I think I I would have been able to just get the they would have done this out of their own sense of like a a more juvenile politeness. But now their survival instincts have they're way past that. And they're like, no, no, bro. I'm not. I'm not.
- 1:13:35First of all, like, so I'm going to have to I'm going to to track them in a little bit. Yeah, I did play Bridget.
- 1:13:42Adam Leventhal: Nice.
- 1:13:43Bryan Cantrill: I I I did play Bridget
- 1:13:44Adam Leventhal: and Reliving that old magic.
- 1:13:48Bryan Cantrill: Reliving the old magic, I would say, Reliving the and and and I think she and I will have to play probably the same number of games for taking the game off me. That's not happening anytime soon. But it was, it was a lot of fun.
- 1:13:59Adam Leventhal: So Well, you should, you should get their kid. You should get, their friends playing it. They come over. You should go talk to their friends. Like, hey.
- 1:14:06Would you I I built this game. Would you play it with me? And then
- 1:14:08Bryan Cantrill: So you know what I need? Because I I also feel like there's this social element of BattleTris. Watching someone else play, you're filled with ideas about how they could be playing better. You know, where you're the I I I feel that, like
- 1:14:22Adam Leventhal: It's a game to shoulder surf. So this is the
- 1:14:24Bryan Cantrill: It is a game to don't you I think it is a game to shoulder.
- 1:14:27Adam Leventhal: I'm with you.
- 1:14:27Bryan Cantrill: I think it's a very I feel like surfable game.
- 1:14:29Adam Leventhal: We may be at the dawn of Bryan Cantrill, streamer.
- 1:14:33Bryan Cantrill: Bryan Cantrill, BattleTris Twitch streamer. Maybe this is what I need to go to. The BattleTris livestream. We are living in the future. Yeah.
- 1:14:42Yeah. We yeah. This is an excellent idea. This is this is what I this is you need to go also, like, they like, I I mean, they can spare me the bullshit about the graphics because these guys, like, buy vinyl deliberately. This is you you know what I mean?
- 1:14:57Like, this is I I I I feel that this this is retro now, a motif. I think I think motif stay is coming. I think that the motif is gonna be like buying apps in open motif are going to be.
- 1:15:07Adam Leventhal: That's a bold prediction. I love it.
- 1:15:09Bryan Cantrill: A bold prediction. Yeah, exactly. Motif has come back and then an open look next. Do ever use open look?
- 1:15:15Adam Leventhal: I'm not sure.
- 1:15:17Bryan Cantrill: Oh my God. Open look is was Sun's thing. Like before there was CDE. Sun was doing their own bonkers thing that you would have only seen because we had a professor. Roberto was a big open look.
- 1:15:31They open look had a different idea about which mouse button should do with Which, I mean, it's hard to say. Like, on the one hand, like, okay, like, you're not wrong, I guess. Like, who I mean, it's not like, you
- 1:15:45Adam Leventhal: know It's like captain's stuff.
- 1:15:47Bryan Cantrill: Yeah. Totally. It's not like
- 1:15:48Adam Leventhal: Moses came down from Sinai
- 1:15:50Bryan Cantrill: with Right. The Exactly. The
- 1:15:52Adam Leventhal: contextual right click.
- 1:15:54Bryan Cantrill: Right. Exactly. But it's also true that like, well, you've made a different decision than everyone else on the planet. And now your software's a little hard to use. So anyway.
- 1:16:04Yeah. But you know what? OpenLook is next. We're gonna revive OpenLook. I think that we can now go into all this archeological software and revive it all, I say.
- 1:16:19It's this old repo. Do you think we should do it this old re this old repo would be like, I would think talk about the Twitch stream that I would watch. In addition to the BattleTris Twitch streaming, doing this old repo where we go into Claude and get a repo working with. But you got to do it with like, it's got to have that New England flair to it.
- 1:16:34Adam Leventhal: Right? Yeah. Yeah. I'm with you. And you know, you diverge and you delve into the history of this particular, you know, of of of well, you know, mote open motif.
- 1:16:47Of course, there was motif. And
- 1:16:50Bryan Cantrill: Right. Exactly. And meanwhile, people in the chat would be like, you guys are thinking about doing this? Are you not listening to your own podcast right now? You idiots.
- 1:16:59Like, you are doing this. Yeah. Like, you're living your own dumbass dream right now.
- 1:17:05Adam Leventhal: There you go.
- 1:17:06Bryan Cantrill: There we go. So, hey, listen, I can't wait to see the big the bingo cards should be, you know, the bingo cards can can get nuanced. We can add some more things to the bingo cards. Was it great, Adam? I thank you again for this is all due to you.
- 1:17:21You're actually you know what? I should be thank I should be thanking Robert is who I should be thanking Robert and Robert's high expectations, if implicit.
- 1:17:28Adam Leventhal: That's right.
- 1:17:31Bryan Cantrill: So thank you, Robert, for really bringing out our very best. And arguably, some are not so best.
- 1:17:37Adam Leventhal: That's right.
- 1:17:40Bryan Cantrill: Awesome. All right. Well, we will see you next time for not an LM episode and not a baseball episode. So that puts a lot of pressure on us to find something totally radically different. I don't know.
- 1:17:48We're gonna have to go. We actually have We got some great content coming from the computer company actually. We've got some really exciting ones to talk about. So ask gonna do one of my on the sulfuric acid. Have you heard anything about this?
- 1:18:02Adam Leventhal: Just like the PCB stuff. No. I'm really I'm really excited to hear about this.
- 1:18:06Bryan Cantrill: Yeah. Yeah. We got a good one coming up.
- 1:18:07Adam Leventhal: Yeah. That's gonna be really cool.
- 1:18:08Bryan Cantrill: Got good one coming Yeah. So what the I That's a teaser. But we got a good one coming up. And in the meantime, I think I might play a little game against Ernie.
- 1:18:21Adam Leventhal: All right. Well, enjoy BattleTris everybody.
- 1:18:24Bryan Cantrill: Alright. Thanks everyone. See you next time.