This Old Repo: LLMs and the Restoration of BattleTris
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.
Adam Leventhal:There you go.
Bryan 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
Adam Leventhal:We usually start with some sort of airing of grievances.
Bryan Cantrill:We do. I think we do. Think I did too much do you think? I think we know the right amount.
Adam Leventhal:No, no, I assume that's why everyone's here. I mean, that's why you and I are here.
Bryan 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?
Adam Leventhal:Oh,
Bryan 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
Adam Leventhal:mean today? Yeah. That's
Bryan 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.
Adam Leventhal:Hey. Not true. We talked about baseball last episode.
Bryan Cantrill:That's what I said. That was my response. I will exactly. I will give the
Adam Leventhal:people what they want, we said.
Bryan Cantrill:Give the people what we want. Exactly. We are not
Adam Leventhal:that baseball and LLMs.
Bryan Cantrill:It's not just LLMs. It's also baseball. So there. Yeah. So no.
Bryan Cantrill:Of 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.
Bryan Cantrill:That 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.
Bryan Cantrill:We'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?
Adam Leventhal:It it No. I found it very surprising. Okay. Delightful.
Bryan 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?
Adam Leventhal:Was it on Twitter? No. I didn't.
Bryan 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.
Bryan Cantrill:That 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.
Bryan Cantrill:And 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.
Adam 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.
Adam Leventhal:I thought that was a great conversation, very interesting and informative in terms of how one approaches these things.
Bryan 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.
Adam 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.
Bryan 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.
Adam 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.
Bryan Cantrill:1993.
Adam Leventhal:Yeah. Then The Null Modem Cable. Dang. And then
Bryan 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.
Bryan Cantrill:You know, give me two Bs for a quarter.
Adam Leventhal:Right. So the WiFi on the plane wasn't working.
Bryan Cantrill:The WiFi. Oh my God. Isn't that amazing? Mean, right. So there I mean, there literally is no internet.
Bryan Cantrill:So 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.
Bryan Cantrill:There'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.
Bryan Cantrill:Actually, by then it would have
Adam Leventhal:been three and a Three
Bryan 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.
Bryan Cantrill:And you know, I haven't seen them all summer. And the Super Shuttle leaves with BattleTris. No. I not told you the story? No.
Bryan Cantrill:Oh 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.
Adam Leventhal:No. I'm I'm I'm ringing the chime, noting the time up. A story I have not yet heard. Okay.
Bryan 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.
Bryan Cantrill:And 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?
Bryan Cantrill:I'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.
Bryan Cantrill:You 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
Bryan Cantrill:I fast? And I mean, I
Bryan Cantrill:had 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.
Adam 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,
Bryan Cantrill:okay. Like, more fast. Right. Actually, do you know that's a running sport? Were you not aware of
Adam Leventhal:this? Right.
Bryan 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.
Bryan Cantrill:Was 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.
Adam Leventhal:Holy shit. That is so funny.
Bryan 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.
Bryan Cantrill:So 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.
Adam 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
Bryan 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.
Bryan Cantrill:No. 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.
Adam Leventhal:Right. That's right.
Bryan Cantrill:I should
Adam Leventhal:all the specs.
Bryan 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.
Bryan Cantrill:Yeah. Wasn't that wasn't
Adam Leventhal:Totally makes sense. So so
Bryan Cantrill:yeah.
Adam 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?
Bryan 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.
Bryan Cantrill:And 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.
Bryan Cantrill:Yeah, 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.
Bryan Cantrill:Like, 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.
Bryan Cantrill:An LLM ahead of its time, an AI ahead of its time, for sure.
Adam 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.
Bryan Cantrill:Another year later. Right. Yeah. Yeah.
Adam Leventhal:Still being played avidly. And then, you know, through
Bryan 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
Adam Leventhal:I Yeah. That is right. So this guy, Adam Tarr, and he also played them with Ultimate Frisbee Team. Is that right?
Bryan Cantrill:That's right. That's right. Yeah. Yeah. So so
Adam 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.
Bryan 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.
Bryan Cantrill:I mean,
Adam Leventhal:I'm Still being played. Gone.
Bryan Cantrill:Yeah.
Adam 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.
Adam Leventhal:And 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
Bryan Cantrill:So great.
Adam Leventhal:A gag adult or whatever.
Bryan 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.
Bryan Cantrill:It 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.
Bryan Cantrill:It really was. Yeah. It was a tremendous gift.
Adam 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.
Bryan Cantrill:No. Absolutely not. Happened to be. Yeah. Makes me all all the better.
Bryan Cantrill:No. 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.
Bryan Cantrill:At some point, I I think it was like, maybe you became more crude.
Adam 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.
Adam Leventhal:And 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.
Bryan Cantrill:Oh, was it? Okay.
Adam Leventhal:Yeah. We played. You lost. You were not happy. Not not happy.
Adam Leventhal:And 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.
Bryan 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.
Adam Leventhal:Exactly. Yeah. So whatever. I go through my Brown experience. There's a bunch of BattleTris played.
Bryan Cantrill:Okay. Okay. Is it possible that that was a I insisted on a best two out of three? And Could be.
Adam Leventhal:I don't know.
Bryan 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.
Adam 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.
Bryan Cantrill:No wonder I came into that info session pissed
Adam Leventhal:It's it's like a it's not a good way to be.
Bryan Cantrill:It's not a good it's not a good way to no. No no wonder. Man.
Adam Leventhal:Yeah.
Bryan 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
Adam Leventhal:know. Maybe. Hey,
Bryan Cantrill:you gave me a gift. You gave me a gift. It's time for me to give you a
Adam 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.
Bryan 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
Adam Leventhal:that's Oh, okay. Thank you. Well, what was it? What what maybe with one SegV or whatever in between.
Bryan Cantrill:No. I just the SegV was a push.
Adam 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.
Adam Leventhal:But my recollection is we there was a little bit of garbage time kinda between Solaris nine and Solaris 10.
Bryan Cantrill:That's true.
Adam 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
Bryan Cantrill:No.
Adam Leventhal:And stuff like that.
Bryan 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.
Adam 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?
Adam Leventhal:Like, 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.
Bryan 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.
Bryan Cantrill:Obviously, 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.
Bryan Cantrill:And 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.
Bryan Cantrill:And Kevin changed the bits that he delivered to say maybe 1997.
Adam Leventhal:Delightful.
Bryan 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.
Bryan Cantrill:So, yeah, we we are in this downtime between nine. I guess source nine is yeah. Is that right?
Adam 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.
Adam Leventhal:It's like,
Bryan Cantrill:you know sheriffs.
Adam 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.
Bryan 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.
Bryan Cantrill:So 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.
Adam Leventhal:Yes. Yes.
Bryan 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.
Adam 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
Bryan 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?
Adam Leventhal:After Yes.
Bryan Cantrill:Nation longs to care about stupid bullshit again.
Adam Leventhal:Exactly.
Bryan 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.
Bryan Cantrill:So yeah. We long to care about stupid bullshit again like BattleTris. So That's right. That's right. It's a stupid factor.
Adam 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?
Adam Leventhal:No.
Bryan Cantrill:No. Was Fishworks. No. No. Yours part is D Trace and just like, I think it was
Adam Leventhal:just Oh, we had to get back to work.
Bryan 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.
Bryan Cantrill:And 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.
Bryan Cantrill:Yeah. 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.
Bryan Cantrill:But 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.
Adam 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
Bryan Cantrill:until Right. Like, that's
Bryan Cantrill:that'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?
Bryan Cantrill:Oh, we're not in the bar. Oh, we don't do the bar at noon anymore. Got it. Right, right, right, right. Okay.
Bryan Cantrill:Well, I'm going go back to work. Yeah, yeah, I think you're right.
Adam Leventhal:Yeah. So then I think basically nothing happens for the next twenty four years.
Bryan 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.
Bryan Cantrill:This 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.
Adam Leventhal:Oh, interesting.
Bryan 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.
Adam 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.
Adam Leventhal:And 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
Bryan Cantrill:like Yeah.
Adam Leventhal:Yeah. Robert dies for our sins, like, every day.
Bryan Cantrill:He dies
Adam 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,
Bryan Cantrill:I don't know. I I I have probably forgotten it. I mean, it's Awesome.
Adam 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.
Adam Leventhal:So 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.
Adam Leventhal:And 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.
Bryan Cantrill:Right. Three different like, God you never got that working.
Adam Leventhal:Right, exactly. Well, it's, and it was working back in the day. Like it would, it would You got it working on
Bryan Cantrill:the Mac. You got it
Adam Leventhal:working Yeah, on for sure. No, for sure. It was working on the Mac like
Bryan Cantrill:back in
Adam 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
Bryan Cantrill:the Mac. Oh, okay. I don't think I need that. Okay.
Adam Leventhal:Yeah. Yeah. I didn't I didn't need my what was it called? The Tadpole, like the Spark the Spark based laptop.
Bryan Cantrill:Yeah. Right. Was the Tadpole was one of the Voyager. I think I was on the Toshiba. Oh, yeah.
Bryan Cantrill:But 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.
Adam 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.
Adam Leventhal:You 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.
Bryan 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.
Adam 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.
Adam Leventhal:And 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.
Adam Leventhal:And certainly for like revitalizing or resuscitating old software, projects in general.
Bryan Cantrill:Projects in general like
Adam Leventhal:that when you have no idea how far am I from the end?
Bryan 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.
Adam 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.
Adam Leventhal:I don't know.
Bryan Cantrill:So on this, have we made reference to to Theo Schloss and Eagles 2011 planner closing plenary from Surge before?
Adam Leventhal:This is
Bryan 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.
Bryan Cantrill:And 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.
Bryan Cantrill:And 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.
Bryan Cantrill:You'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.
Adam 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.
Bryan Cantrill:Right.
Adam Leventhal:And and I think there
Bryan Cantrill:are a
Adam 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?
Bryan 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.
Bryan Cantrill:And 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.
Bryan Cantrill:Like, this thing relied on something that just doesn't exist anymore, and you can't get it working. You gotta do something else.
Adam 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?
Adam Leventhal:Like, you can debug that. You can fix that. But, what a pain in the neck.
Bryan 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.
Bryan Cantrill:And 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.
Bryan Cantrill:And 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.
Bryan Cantrill:No 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.
Adam 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.
Adam Leventhal:It understands. It tells me it has to fix for sure this time, and the graphical glitch is still there. Or it So did
Bryan Cantrill:you have it? I had it it was taking screenshots on its own.
Adam 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
Bryan 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.
Bryan Cantrill:I'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.
Bryan Cantrill:It 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?
Bryan Cantrill:And they'd be like, oh, no. Wait a minute. It's this. Finding the thing that it had just added. I'm like, okay.
Bryan Cantrill:Here 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.
Bryan Cantrill:I'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.
Bryan Cantrill:We 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.
Bryan Cantrill:And 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.
Bryan Cantrill:In 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.
Bryan Cantrill:That is behavior that actually used to work and has changed in kind of the modern world. The funny one the funny one I
Adam 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?
Adam Leventhal:It'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.
Adam Leventhal:I did it the wrong way. I'm
Bryan 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.
Bryan Cantrill:Yeah. 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.
Bryan Cantrill:The 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.
Bryan Cantrill:Anyway, so it is
Adam Leventhal:That's pretty good.
Bryan 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.
Bryan Cantrill:Like you look at the diff and you're like, this diff is like a very reviewable diff.
Adam Leventhal:Yes. No. Agreed. As opposed to yeah. Yeah.
Adam Leventhal:As 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.
Bryan Cantrill:Yeah. Did you have you had it adding instrumentation to the code? Have you watched it do that?
Adam Leventhal:Some like print offs and stuff like that. Yeah.
Bryan Cantrill:Yeah. It does
Adam Leventhal:a lot of that.
Bryan 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.
Bryan Cantrill:We 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.
Bryan Cantrill:And 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.
Bryan Cantrill:So 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.
Adam 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.
Bryan 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.
Adam 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
Bryan 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.
Bryan Cantrill:He 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.
Bryan Cantrill:You 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
Adam Leventhal:talk about the Was the governor of Delaware?
Bryan 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.
Bryan Cantrill:Like, 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.
Bryan Cantrill:And 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.
Bryan Cantrill:I 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.
Bryan Cantrill:It'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.
Bryan Cantrill:Right. 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.
Bryan Cantrill:And 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.
Bryan Cantrill:And you said you had done that. Right. I was like, wow. Yeah. That was amazing to me.
Bryan Cantrill:And just like the ability, it was amazing to me.
Adam Leventhal:Like an integer width problem or something?
Bryan 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
Adam Leventhal:It had never been 60 It four
Bryan Cantrill:had never been 64 bit.
Adam Leventhal:Right.
Bryan Cantrill:Right. I think it predated 64 bit microprocessors by a long time.
Adam Leventhal:Then even the Solaris 10 garbage time, we were like the default usually end was still 32 bit.
Bryan 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.
Bryan Cantrill:And 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.
Adam 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.
Bryan 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.
Adam 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.
Bryan Cantrill:Oh, not just watching something. No. Watching heated rivalry. Right. We I mean, come on.
Bryan Cantrill:We 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.
Bryan Cantrill:Live 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.
Bryan Cantrill:But you know what? I don't you never know around here. You never know. That could maybe that maybe someone just yelled bankrupt.
Adam 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.
Bryan Cantrill:Oh, it's quite clear.
Adam Leventhal:Oh, right.
Bryan Cantrill:Oh, I think it's quite clear.
Adam Leventhal:All right. I'll state that.
Bryan 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.
Bryan Cantrill:It 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.
Adam 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.
Bryan 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.
Bryan Cantrill:I 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.
Bryan Cantrill:Because 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.
Bryan Cantrill:And I think it will. But this is an example where it's actually taking us the other way.
Adam 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?
Adam Leventhal:But 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.
Bryan Cantrill:Yeah. And like you get it going again with like diffs that are comprehensible often.
Adam Leventhal:That's right.
Bryan 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.
Bryan Cantrill:Yeah. 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.
Bryan Cantrill:Yes. 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.
Bryan Cantrill:2038, 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?
Bryan Cantrill:Because that that was like an apocryphal thing. I mean, that we we go with that was something I talked about.
Adam 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.
Bryan 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
Adam Leventhal:the fact? I don't know about years after the fact. Definitely contemporaneously, there were a 100 of them.
Bryan 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.
Bryan Cantrill:So 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.
Bryan Cantrill:I think that the 2038 problem is more acute. The only
Adam 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.
Bryan 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.
Bryan Cantrill:Right. 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.
Bryan Cantrill:Which 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.
Bryan Cantrill:Now 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.
Bryan Cantrill:They 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?
Bryan Cantrill:Like, 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.
Bryan Cantrill:Like, 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.
Bryan Cantrill:Because 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.
Adam 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.
Adam Leventhal:If we
Adam Leventhal:I 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?
Bryan Cantrill:Why would you allow for 32 bit programs on a 64 bit kernel?
Adam 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.
Adam Leventhal:Yeah. I just mean, like, why why I thought we would always have a 32 bit user land option in a 64 bit microprocessor.
Bryan 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
Adam Leventhal:have been.
Bryan Cantrill:I don't know.
Adam 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.
Bryan Cantrill:Exactly. We can't just double the size of every pointer.
Adam Leventhal:Exactly.
Bryan 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
Adam Leventhal:we go back
Bryan 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.
Bryan Cantrill:Because 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.
Bryan Cantrill:Where 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.
Adam 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
Bryan Cantrill:of Totally.
Adam Leventhal:Of, like
Bryan Cantrill:A bit rot. Yeah. Yeah.
Adam 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?
Adam Leventhal:I 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.
Bryan 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.
Bryan Cantrill:It 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?
Bryan Cantrill:Because I can kind of see all sorts of things.
Adam 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
Bryan Cantrill:my god.
Adam 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.
Bryan Cantrill:Oh, what is it? I dare
Adam 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.
Adam Leventhal:I 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.
Bryan Cantrill:Oh, that makes sense. No. No. I'd no further questions. Like, that's good.
Bryan Cantrill:Yeah. 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.
Bryan Cantrill:Am 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.
Bryan Cantrill:It'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.
Bryan Cantrill:I 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.
Bryan Cantrill:Know. Know.
Adam Leventhal:Sort of. Yeah.
Bryan 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.
Bryan Cantrill:Yeah. You've got the slot factor. But I
Adam Leventhal:think you're also going to
Bryan 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.
Bryan Cantrill:You know, I just feels like all of a sudden there are a bunch of things that are possible, I guess.
Adam 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
Bryan Cantrill:Yeah.
Adam 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.
Bryan 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?
Adam Leventhal:Only a little bit. They just pointed an LLM at BUN. What was it written in previously?
Bryan Cantrill:Zig. It was written in Zig.
Adam Leventhal:And to port it Rust.
Bryan Cantrill:Which is okay. That's one then they landed it. And then that's the new bun.
Adam 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.
Bryan 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.
Adam Leventhal:Like one PR. Like I'm done.
Bryan 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.
Bryan Cantrill:Yeah. 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.
Bryan Cantrill:Amazingly 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.
Bryan Cantrill:Time 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.
Bryan Cantrill:Then 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.
Bryan Cantrill:And then that
Adam Leventhal:fucking happened. Crazy.
Bryan 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.
Bryan Cantrill:It'd be like okay. So actually yeah. The church is now for profit actually. So we're actually really pleased to announce that
Adam Leventhal:you Do an open AI.
Bryan Cantrill:Yeah. We're doing an open AI.
Adam Leventhal:Public benefit corporation, but no longer.
Bryan 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.
Adam Leventhal:I mean, crowdfunding that I mean, go in a hurry.
Bryan Cantrill:Yeah. This is like the original crowdfunding. Like, we we invented crowdfunding. It's called tithing.
Adam Leventhal:Look. Exactly. Bring it back.
Bryan 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.
Bryan Cantrill:Anyway, 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.
Bryan Cantrill:I and I I guess it shouldn't have been in hindsight, but it just was.
Adam Leventhal:Yeah. I'm with you.
Bryan 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.
Bryan Cantrill:You 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.
Bryan Cantrill:And 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.
Adam Leventhal:That's pretty cool.
Bryan 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.
Bryan Cantrill:We'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?
Adam 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.
Bryan 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.
Bryan Cantrill:But 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.
Bryan Cantrill:And 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.
Bryan Cantrill:Yeah. So it was amazing. So it's gonna be
Adam Leventhal:The future's weird, man. Future's weird.
Bryan 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.
Adam Leventhal:Yes. Have they played yet? They
Bryan Cantrill:have not.
Adam Leventhal:Okay.
Bryan 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.
Adam Leventhal:Did you already tell them this? Like, it doesn't sound like you've been very well.
Bryan 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.
Bryan Cantrill:So 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.
Bryan Cantrill:If 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.
Bryan Cantrill:First 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.
Adam Leventhal:Nice.
Bryan Cantrill:I I I did play Bridget
Adam Leventhal:and Reliving that old magic.
Bryan 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.
Adam 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.
Adam Leventhal:Would you I I built this game. Would you play it with me? And then
Bryan 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
Adam Leventhal:It's a game to shoulder surf. So this is the
Bryan Cantrill:It is a game to don't you I think it is a game to shoulder.
Adam Leventhal:I'm with you.
Bryan Cantrill:I think it's a very I feel like surfable game.
Adam Leventhal:We may be at the dawn of Bryan Cantrill, streamer.
Bryan 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.
Bryan Cantrill:Yeah. 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?
Bryan Cantrill:Like, 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.
Adam Leventhal:That's a bold prediction. I love it.
Bryan Cantrill:A bold prediction. Yeah, exactly. Motif has come back and then an open look next. Do ever use open look?
Adam Leventhal:I'm not sure.
Bryan 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.
Bryan Cantrill:They 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
Adam Leventhal:know It's like captain's stuff.
Bryan Cantrill:Yeah. Totally. It's not like
Adam Leventhal:Moses came down from Sinai
Bryan Cantrill:with Right. The Exactly. The
Adam Leventhal:contextual right click.
Bryan 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.
Bryan Cantrill:Yeah. 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.
Bryan Cantrill:It'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.
Adam 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.
Adam Leventhal:Of course, there was motif. And
Bryan 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.
Bryan Cantrill:Like, you are doing this. Yeah. Like, you're living your own dumbass dream right now.
Adam Leventhal:There you go.
Bryan 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.
Bryan Cantrill:You'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.
Adam Leventhal:That's right.
Bryan Cantrill:So thank you, Robert, for really bringing out our very best. And arguably, some are not so best.
Adam Leventhal:That's right.
Bryan 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.
Bryan Cantrill:We'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?
Adam Leventhal:Just like the PCB stuff. No. I'm really I'm really excited to hear about this.
Bryan Cantrill:Yeah. Yeah. We got a good one coming up.
Adam Leventhal:Yeah. That's gonna be really cool.
Bryan 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.
Adam Leventhal:All right. Well, enjoy BattleTris everybody.
Bryan Cantrill:Alright. Thanks everyone. See you next time.
Creators and Guests
