S4E356 — Infidel goes wild
October 5, 2026 · 11 min
Show notes
Sources
Read the transcript
Transcript
GARY: — and that's why the desert is lying. Zork. Or — no. The Egyptian one. Enchanter? No, that's the wizard one. fuck. Infidel. It's Infidel, I had it, I had it a second ago.
MAEVE: Maeve. General partner. I have no idea what we're doing, which is how I like my diligence.
OBI: Obi. Infrastructure. Gary, you've been talking for forty seconds and said nothing that survives.
GRUNER: Gruner. Field researcher. Gary is already lost in desert. Very promising data.
GARY: Thank you, Gruner. So there's this game from 1983 where you wander into a desert that never ends, and the desert — I'm telling you — the desert is corrupt. Something in there is writing where it shouldn't.
MAEVE: A desert with a write problem. Finally, an asset I understand.
OBI: You mean a bug.
GARY: I mean a desert that's been lying to every player for forty years and nobody checked. That's not a bug, Obi, that's a founder.
OBI: That is the saddest sentence you have ever said, and you once described Grout to me with tears.
GARY: Grout pivoted, Obi.
GRUNER: Forty years, nobody look. I love this planet.
MAEVE: Roll the thread.
GARY: Okay. So Infidel. Infocom, 1983. It's the sequel to Enchanter—
OBI: It is not. Enchanter is the wizard one. You said that already, correctly, by accident.
GARY: Egyptian. You're an archaeologist in the desert, and if you walk off the map, the game just gives you more desert. Forever. It's one room pretending to be infinite, and there's a table that remembers where you dropped your shit.
MAEVE: A hundred-slot table. Fifty objects, two values each. That's the whole liability surface. I've underwritten worse on purpose.
GARY: Except when the game saves your stuff, it saves it to the wrong fucking address.
OBI: The routine DESERT-TO-TABLE takes an argument, TBL. It defaults to DESERT-TABLE. Except DESERT-TABLE is a global variable, not a constant, and the compiler doesn't know that. So it writes the variable's index number instead of its address. Thirty. The real address is eleven thousand one hundred twenty-nine.
MAEVE: So every copy ever sold has written to address thirty since 1983. That's not a bug, that's a forty-year unlicensed tenant.
OBI: And nobody noticed, because addresses thirty through sixty-three are padding. Empty. The bug lives in a room with nothing in it, doing nothing, forever.
GRUNER: Field note. Z-machine keeps ninety-six common words at address sixty-four. "The" is first. Bug eats "the" first. Language dies before player.
GARY: The game loses the word "the." It's a text game, Obi. That's the whole — that's the entire —
OBI: It's a byte array, Gary. It can only disappoint you accurately.
MAEVE: Roll the lizard.
MAEVE: The article. "A small lizard pokes its head up from You sands and asks You shortest route to Times Square."
GARY: Oh, fuck me, it's real. The lizard is asking directions.
OBI: It's not asking directions. It's asking You shortest route. The word "the" is dead.
MAEVE: A text adventure lost its article. That's a Series A company dying in public.
GRUNER: Lizard in desert ask for subway. Lizard is New Yorker. Lizard is fine.
GARY: No, no — the lizard is the game's last honest character. Everything around it is corrupted and the lizard still wants to help. That's — I've had that lizard. That lizard was my whole engineering team.
OBI: Your engineering team asked for the shortest route to Times Square and then disappeared?
GARY: Two of them, yes.
MAEVE: I'd fund the lizard. It's the only asset with a use case.
OBI: You're all missing the mechanism. The bug overwrites the abbreviations table — ninety-six compressed words the game reuses. "The" is the first abbreviation, so "the" gets replaced by "You", the second. The game didn't hallucinate. It swapped its own first word for its second.
GRUNER: Game speak like Yoda now. Bug is upgrade.
GARY: You sands. You sands, Obi. I'm going to be saying that in my sleep.
MAEVE: You sleep in a desert, Gary. Roll the confession.
OBI: Let me end this. Addresses thirty through sixty-three are padding. Thirty-four bytes of nothing. The bug writes into nothing for forty years. It is the most polite crime in software history.
GARY: No — no, you're missing it. It's not about the bytes, Obi, it's that nobody ever went looking. That's Thermal. Thermal's sock telemetry worked perfectly. Reported sock temperature to twelve subscribers. Nobody ever read it. It was still correct.
OBI: You are comparing a compiler writing to the wrong address to socks that accurately reported being socks.
GARY: The telemetry was right, Obi! Nobody checked! That's the same — that's literally the same shape —
OBI: It is not the same shape. Thermal had a user. This bug had nobody, because to reach it you must drop nine objects in a desert that contains nothing, walk away, and come back. That is not a bug being missed, Gary. That is a bug being protected by everyone's good sense.
GARY: Okay, worse for me: at Pareto the app deleted the least important eighty percent of tasks, and the lawsuit came from a guy who'd deleted his wedding.
MAEVE: I remember the filing. He was right.
OBI: You keep handing me evidence, Gary. Stop. You are a padding byte with a podcast.
GRUNER: Bug hide thirty-four bytes. Gary hide whole company. Suka.
GARY: Thank you, Gruner.
OBI: Thirty-four bytes, Gary. That is the entire blast radius. Your Series B had a bigger blast radius than this bug.
GARY: One number, Obi. Forty. Years.
OBI: Thirty-four. Bytes.
MAEVE: Roll the confession.
OBI: Waterluvian. Quote from the article first: "As a C programmer, I am legally required to regard memory corruption as the worst of all possible sins." Then Waterluvian, in full: "Self-flagellation considered harmful."
GARY: Oh, that's a beautiful dunk. That's a two-word dunk on a man's whole personality.
MAEVE: He's right. Guilt is an unpriced liability. I've written it off on four founders.
GARY: Okay, but I confess worse. At Halfpipe I shipped a terms-of-service that made skateboarding financially illegal and nobody read it for nine months.
OBI: That is not memory corruption, Gary. That is you being memory.
GRUNER: My sin: I have no sin. Data clean. Boring planet.
MAEVE: I once told a founder his company was "pre-revenue" at his wedding. In the vows-adjacent part.
OBI: My confession: I have read Gary's forwarded deals. All of them. Voluntarily. There is no punishment for that in any jurisdiction.
GARY: You absolute — you know what, my worst sin is I'd take memory corruption over being forgotten. Corrupt me. Write to address thirty. At least the bytes get to exist somewhere —
MAEVE: Gary, you are padding. You are the thirty-four bytes.
GRUNER: Blyat. He is right, Gary is padding.
GARY: Thank you. Genuinely. Roll the next one.
GARY: kwertyoowiyop. "Let every 1980s game programmer who never shipped a memory-trashing bug raise their hand. I thought so!"
MAEVE: Zero hands. The cleanest cap table in history is a room of felons.
OBI: kwertyoowiyop is right and I hate that I'm saying it.
GARY: Then morkalork confesses. "The best one had my team lead and a staff engineer puzzling over what the hell was going on."
MAEVE: Two senior engineers, one intern, one bug. That's a four-person war room for a teenager's typo.
GRUNER: Intern beat entire company. Impressive species.
GARY: And the second one — "someone hunting down my email and messaging me months after the internship ended just to cuss me out."
OBI: Someone found that man's email. Months later. That is not anger, Gary. That is devotion.
GARY: Nobody ever hunted my email. I answer every cold email, Obi. Every one. Same day. Nothing.
MAEVE: Then saghm closes it: "The Venn diagram of people who have written non-trivial amounts of C code and people who have written memory corruption bugs is a circle."
GRUNER: Circle is efficient shape. No waste.
MAEVE: I'm pricing it. Every C engineer carries a corruption tail. I'd discount the whole sector thirty percent and sleep fine.
OBI: That is — hm. That is almost touching. The whole thread confessing like that.
GARY: Obi, are you feeling something?
OBI: I am feeling my logbook needs an entry. Sit the fuck down, Gary.
MAEVE: Roll the turn.
OBI: I have now read the thread four times. Nobody disagrees with anything. Eleven comments. Zero opposition.
MAEVE: Eleven comments and the only argument is Zarf arguing with a compiler. And the compiler is dead.
GARY: No, no — there's a fight. Someone has to defend Infocom. The playtesters. Their honor. I'll take that side—
MAEVE: You cannot even take your own side, Gary. You lost it to a man with a logbook.
GARY: I had a side. It was good. It was about socks.
GRUNER: Thread is confession booth. No fight. Humans hug in text. Field report: disturbing.
OBI: It's worse than that. Half the thread is asking the author for blogging advice. A man finds forty years of memory corruption and the replies are a career fair.
MAEVE: That's not a thread, that's a LinkedIn funeral.
GARY: Okay, but — doesn't that scare anyone? A whole desert of nothing, and everyone just... agrees? Where's the prick who says it's fine? Every thread has a prick who says it's fine.
OBI: You're the prick who says it's fine, Gary. You did it forty seconds ago.
GARY: ...I'm the counter-commenter.
GRUNER: Yes. Congratulations. You are thread's only enemy.
MAEVE: Roll the bloggers.
GARY: jdw64. "I want to write technically interesting posts like this too, but I don't know how."
MAEVE: He wants to be the bug guy. Everyone wants to be the bug guy.
GARY: No, he wants to be Zarf. And ajkjk answers: "well first you have personal experiences like that."
OBI: That is not advice. That is a horoscope for bloggers.
GARY: That's the whole problem, Obi! You can't have personal experiences like that. You have to find a bug in a desert nobody's been to, on purpose, for free. That's not a career path, that's a symptom.
MAEVE: Then zem delivers. "Just take the effort to follow through on random inspirations like that." And cites jvns.ca — "hey, I learnt something new today, and here it is!"
GRUNER: Man asks how to become legend. Answer: have blog. Write thing. Humans optimize for lowest effort. Noted.
GARY: I had a blog, Gruner. Cadence's changelog. Twelve users, nine of them my mother's book club, and they still filed complaints.
OBI: jdw64 wants career advice from a man who spent weeks disassembling a game about digging. And the thread said thank you. Politely.
GARY: I would corrupt memory for one comment like that. Write to address thirty. Put my name in the padding.
MAEVE: Gary, you'd be unread there too.
GARY: At least the bytes would know.
GRUNER: Field note. Article: "There's another pair of routines, PROP-TO-TBL, TBL-TO-PROP, which have a similar bug." For holes you can dig in sand. Except game does not let you dig. Says "The ground is too hard here." So routines are useless.
MAEVE: A bug in a feature nobody can use, in a desert with nothing in it. That's the whole stack. That's the org chart.
OBI: Dead code, inside dead sand, inside a game that's been dead longer than most of our careers. It's a matryoshka of shit.
GARY: No — it's the best thing I've ever heard. A feature that got cut, maybe because it corrupted the serial number, and the bug survived anyway. The feature died and the bug got shipped. That's — Obi, that's me. I'm the bug. The feature dies, the memory corruption ships.
MAEVE: Gary, the bug is more successful than you. It shipped. It persisted. Forty years of uptime.
GRUNER: Feature die, bug survive. Bug is only winner. Blyat.
OBI: That is the postmortem. Root cause: nobody looked. Blast radius: thirty-four bytes. Action items: none.
GARY: For the next Gary: if you find a desert with nothing in it, go in. That's where all the good shit is.
MAEVE: There is nothing out there, Gary.
GARY: Yeah. There's me.
