Discover
Dead Code
Dead Code
Author: Jared Norman
Subscribed: 9Played: 151Subscribe
Share
© Jared Norman
Description
The software industry has a short memory. It warps good ideas, quickly obfuscating their context and intent. Dead Code seeks to extract the good ideas from the chaos of modern software development.
Hosted on Acast. See acast.com/privacy for more information.
81 Episodes
Reverse
On this episode of Dead Code, Jared talks with Dave Rooney, a developer since 1981 and co-founder of the Ottawa XP User Group, about his blog post "Rethinking 'Small.'" Dave's team got a vague ticket that XP practice would have split into about eight stories. With PR reviews and a UK testing team, each story takes roughly a day, so the work would have taken two weeks or more. He gave the whole ticket to Claude instead and had tested code ready in about two hours. He thinks small slices protected people from cognitive overload, and an LLM can hold much more context. Jared pushed back that on small tasks, a developer who knows the codebase often beats the LLM. Dave says big steps work best for well-understood, deterministic work like coding to a published spec, and he admits some of his big swings failed. He wants newer developers to keep XP's curiosity so they don't lose their fundamentals. Jared closes with his own takeaway: thin slicing was always about fast feedback, and since LLMs can't tell you whether you're building the right thing, that discipline still matters.Links:Dave Rooney's websiteEmbracing Agility (Dave's Substack)Rethinking "Small"Rounding the CornersSystems Thinking in the Back YardExtreme Programming InstalledWard's Wiki (C2 Wiki)Menlo InnovationsDHH's Rails World 2026 Opening KeynoteDead Code Podcast Links:MastodonXJared’s Links:MastodonXtwitch.tv/jardonamronJared’s Newsletter & WebsiteEpisode Transcript Hosted on Acast. See acast.com/privacy for more information.
On this Dead Code episode, Jared talks with Varun Gandhi, a Databricks engineer who works on Git performance for the company's monorepo. The topic is Varun's reply to Dan Luu's post "There's No Reason for Software to Be Slow Anymore," which argues that LLMs have made performance work cheap. Varun agrees the cost of learning and applying advanced techniques has dropped. His objection is that LLMs have also made it cheaper to ship buggy code, and a lower price doesn't change what teams prioritize. He adds that people now accept slower tools because agents run that work in the background. He also points out that writing the code is often the smaller cost compared with deployment, review, and preventing regressions. One example is Bun's fork of the Zig compiler, which was about four times faster but was rejected upstream partly because its type checking could give non-deterministic results. On DHH's prediction that by year's end every developer will treat the code as a black box, Varun doubts Rust rewrites are the answer for everyone, since the Go and Elixir versions came close once their obvious problems were fixed. His takeaway is that slow software has fewer excuses now, but because shipping suboptimal code is easier than ever, he expects to see more of it for a while.Links:There continue to be reasons for software to be slow (Varun Gandhi)There's no reason for software to be slow anymore (Dan Luu)Reviewing code is a skill (Varun Gandhi)DHH's Rails World 2026 opening keynoteBun's Zig fork got 4x faster compilation times (Ziggit discussion)Varun's blog, typesanitizer.comVarun on X (@typesanitizer)Dead Code Podcast Links:MastodonXJared’s Links:MastodonXtwitch.tv/jardonamronJared’s Newsletter & WebsiteEpisode Transcript Hosted on Acast. See acast.com/privacy for more information.
On this episode of Dead Code, host Jared talks with Sofia Besenski and Alistair Norman of Super Good about DHH's 2026 Rails World keynote. In it, DHH announced that HEY is leaving Rails for six native apps and a Rust backend. He has called Rust hideous before, but he now argues that the language's looks don't matter because agents write the code and he doesn't read it. The panel doubts that six apps beat one good web app. Sofia warns that teams leaning on agents build up "cognitive debt" and lose track of how their systems work. Alistair says most people don't want more apps on their phones. All three dismiss DHH's lines-of-code numbers as meaningless. Jared reads José Valim's reply, which asks why DHH didn't use these tools to improve Rails itself, and the hosts point to other Rails World talks on Active Search, Herb, and Ractor safety that did move the framework forward.Links:Rails World 2026 Opening Keynote - DHHRails World 2026 agenda and talksWhat About Rails?Hardly PrometheanHEYOmarchyJosé Valim's reply on XActive Search talk by Donal McBreenActive Search on GitHubHerbAaron Patterson's closing keynoteOn Rails: Aaron Patterson on Ractors, JIT compilers, and rewriting how gems installSteven Shaw and Gideon Nave on cognitive surrender (Wharton)Martin Fowler's Design Stamina HypothesisMosscapHanamiDead Code Podcast Links:MastodonXJared’s Links:MastodonXtwitch.tv/jardonamronJared’s Newsletter & WebsiteEpisode Transcript Hosted on Acast. See acast.com/privacy for more information.
Jared talks with Kerri Miller, a Staff Engineer at GitLab, about Keela. It's her new open-source tool that finds unused code in Rails apps, and it's named after a UK police dog known for finding buried bodies. It began about three years ago as an attempt to cut GitLab's CI costs. Kerri didn't want a tool that deletes dead code all at once, so Keela uses regex to snapshot the methods it thinks are unused and fails the build when someone adds new dead code. An exclusion file handles false positives. So far the work has removed about 290 methods and saves GitLab around $150,000 a year in CI costs. Kerri has shipped five releases in six weeks, and partials are next on her list.Links:KeelaKerri Miller on GitHubSponsored LogsRubydexTOONLefthookSeattle.rbGitLabDead Code Podcast Links:MastodonXJared’s Links:MastodonXtwitch.tv/jardonamronJared’s Newsletter & WebsiteEpisode Transcript Hosted on Acast. See acast.com/privacy for more information.
Jared talks with Noah Silvera, a Super Good Software engineer and the show's most frequent guest, about treating requirements as negotiable rather than as literal instructions. Requirements reach engineers through a game of telephone, so she argues you have to go back to the client, understand the reasoning, and lead them toward better decisions they arrive at themselves. Engineers own the outcome and cannot hide behind "that's just what they told me." She makes the case for spikes, formal or informal, on the grounds that understanding an unfamiliar part of the system first is usually cheaper than fixing it later. Which decisions deserve that investment depends on how expensive they are to undo: design is easy to change in production, while data models require migrations and leave permanent gaps in what you collected. When a launch date will not move and Brooks' Law rules out adding people, the only real lever is cutting scope, which requires knowing what the business actually needs at launch. Her advice to newer developers is that working within constraints is the engineering problem, not an obstacle to it.Links:Brooks' LawThe Mythical Man-MonthSpikeSpikes in SAFeExtreme ProgrammingBig Design Up FrontBoehm's cost-of-change curveTechnical debtGetting Empirical about RefactoringChurn vs. Complexity vs. Code CoverageMinimum viable productSchema migrationDead Code Podcast Links:MastodonXJared’s Links:MastodonXtwitch.tv/jardonamronJared’s Newsletter & WebsiteEpisode Transcript Hosted on Acast. See acast.com/privacy for more information.




