Dead Code

Dead Code

By Jared NormanTechnology
Download on the App Store

Dead Code episodes

  • Epistemic Extinction (with Mond)

    In this episode of Dead Code, Jared and guest Mond explore how James C. Scott’s concepts of legibility, metis, and episteme apply to tech interviews, arguing that standardized hiring processes prioritize what’s easy to measure over what truly reflects engineering skill. They critique the over-reliance on algorithmic interviews, noting that senior engineering work often depends on tacit knowledge—metis—that can’t be captured in rubrics or LeetCode problems. The conversation touches on Goodhart’s Law, the risks of over-optimization, and how attempts to make human processes more legible through metrics can backfire. Jared shares how his company experiments with more realistic code assessments, though both acknowledge the challenges of scaling less standardized approaches. They conclude by warning that technological standardization of social systems, like hiring, can entrench flawed norms and obscure what actually matters.


    Links:


    James C. Scott

    Seeing Like a State

    Legibility (as a concept)

    Goodhart’s Law

    The Cobra Effect

    LeetCode

    YAML

    Mond’s Blog – Here Comes the Moon


    Dead Code Podcast Links:


    Mastodon

    X


    Jared’s Links:


    Mastodon

    X

    twitch.tv/jardonamron

    Jared’s Newsletter & Website


    Episode Transcript

    Hosted on Acast. See acast.com/privacy for more information.

    34 min
  • Naked and Semantic (with Fabien Basmaison and Jens Oliver Meiert)

    In this episode of Dead Code, Jared speaks with Jens Oliver Meiert and Fabien Basmaison, co-maintainers of CSS Naked Day, a long-standing web tradition that invites developers to strip CSS from their websites for one day to emphasize semantic HTML, accessibility, and the separation of concerns in front-end development. Originally launched in 2006, the event encourages developers to reflect on the underlying structure of their sites and how well they function without styling. Meiert and Basmaison discuss how modern tools like Tailwind, CSS-in-JS, and component-based design both challenge and occasionally align with the event’s philosophy, and they explore reasons for the decline in participation, from increased reliance on frameworks to the rise of AI-assisted development. Looking ahead to the 20th anniversary in 2026, they hope to inspire more developers to join in, even in small ways, as a reminder of the enduring value of accessible, maintainable, and standards-based web design.


    Links:


    Jens' Blog

    CSS Naked Day

    CSS Zen Garden

    Frontend Dogma

    PandaDoc


    Dead Code Podcast Links:


    Mastodon

    X


    Jared’s Links:


    Mastodon

    X

    twitch.tv/jardonamron

    Jared’s Newsletter & Website


    Episode Transcript

    Hosted on Acast. See acast.com/privacy for more information.

    42 min
  • Eat Your Greens (with Ivo Anjo)

    In this episode of Dead Code, Jared interviews Ivo Anjo, a Ruby performance expert at Datadog, about Ruby’s concurrency model and his work improving visibility into it. They discuss the Global VM Lock (GVL), which simplifies Ruby’s internals but hinders multithreading, and explore the promise and current limitations of M:N scheduling, now partially implemented via Ractors in Ruby 3.4. Ivo created the gvl-tracing gem to visualize thread behavior and uncover subtle bugs, advocating for a more intelligent, OS-like scheduler to improve performance fairness. He also shares insights from building Datadog’s always-on production profiler and his direct-bind gem, which allows low-level access to Ruby internals when official APIs fall short. Overall, the episode highlights a growing movement of developers modernizing Ruby’s internals and pushing past its reputation for being slow.


    Links:


    gvl-tracing

    direct-bind

    StackProf

    rbspy

    Ractors

    YJIT

    RubyConf

    RubyKaigi

    EuRuKo 2025


    Dead Code Podcast Links:


    Mastodon

    X


    Jared’s Links:


    Mastodon

    X

    twitch.tv/jardonamron

    Jared’s Newsletter & Website


    Episode Transcript

    Hosted on Acast. See acast.com/privacy for more information.

    50 min
  • Herbicide (with Marco Roth)

    In this episode of Dead Code, Jared talks with Marco Roth about Herb, a new fault-tolerant parser for HTML and ERB designed to improve the developer experience in the Rails ecosystem. Unlike tools like Deface or Nokogiri, Herb doesn’t auto-correct or mask errors—it parses templates exactly as written, enabling better diagnostics, formatting, and linting for server-rendered views, especially in Hotwire, Turbo, and Stimulus contexts. Built in C for portability and speed, Herb can be used across Ruby, JavaScript, and browsers via WebAssembly. Marco created it after running into limitations with existing tooling while building the Stimulus LSP. Future plans include deeper integration with tools like Ruby LSP and possibly enabling LiveView-style reactive rendering in Rails. Developers can try it today via a VS Code extension or the interactive web playground.


    Links:


    Deface

    Spree

    Solidus

    Nokogiri

    RuboCop

    Prism

    Herb

    Herb Playground

    Herb VS Code Extension

    Hotwire

    Turbo

    Stimulus

    StimulusReflex

    Phoenix LiveView

    Ruby LSP

    Episode 10 with Kevin Newton on Prism

    Episode 38 with Carson Gross on HTMX 


    Dead Code Podcast Links:


    Mastodon

    X


    Jared’s Links:


    Mastodon

    X

    twitch.tv/jardonamron

    Jared’s Newsletter & Website


    Episode Transcript

    Hosted on Acast. See acast.com/privacy for more information.

    30 min
  • Coffee Grindcore (with Alan Ridlehoover)

    In this episode of Dead Code, Jared talks with Alan Ridlehoover, Senior Engineering Manager at Cisco Meraki, about managing software complexity through clear abstractions and thoughtful design. Using a metaphor of a vending-style coffee machine, Alan explains how complexity often arises not from algorithms but from code that’s hard to understand due to excessive abstraction or poor structure. He emphasizes focusing on the readability of what’s directly in front of you, using tools like flog and the ABC metric to quantify complexity, while also trusting gut instinct and applying heuristics like Sandi Metz’s five-line rule. Alan discusses minimizing over-engineering, favoring well-named private methods over inline comments, and stresses that code and commit messages—not comments—should tell the story. He also introduces “rehydration,” the process of adding back duplication to reveal better abstractions, helping developers make their code more maintainable and easier to change over time.


    Links:


    Flog (Ruby)

    ABC Metric

    Gerrit

    DRY Principle (Don’t Repeat Yourself)

    Domain-Driven Design (DDD)

    Polymorphism


    Dead Code Podcast Links:


    Mastodon

    X


    Jared’s Links:


    Mastodon

    X

    twitch.tv/jardonamron

    Jared’s Newsletter & Website


    Episode Transcript

    Hosted on Acast. See acast.com/privacy for more information.

    39 min
  • Wish Granted (with Scott Werner)

    In this episode of Dead Code, Jared chats with Scott Werner, CEO of Sublayer, about his experimental AI web framework, Monkey’s Paw—a Ruby-based tool that uses natural language prompts to generate web pages, embracing LLM “hallucinations” as a creative feature rather than a flaw. Designed to bring back the playful spirit of early Web 2.0, Monkey’s Paw allows developers to prototype ideas quickly and unexpectedly, often resulting in delightful, unintended features like auto-generated tooltips. Scott explains how the project reflects a broader shift toward ephemeral, AI-assisted development and introduces Sublayer, his minimal agent framework built for AI generation. Both Jared and Scott agree that while LLMs may not produce enduring art, they offer fun, whimsy, and new ways to experiment in coding, highlighting how these tools can be valuable outside of pure productivity or profit-driven goals.


    Links:


    Monkey’s Paw

    Sublayer

    Artificial Ruby

    Works on My Machine (Substack)

    Websim

    TRICK Competition

    Rails Generators

    PowerPoint Copilot


    Dead Code Podcast Links:


    Mastodon

    X


    Jared’s Links:


    Mastodon

    X

    twitch.tv/jardonamron

    Jared’s Newsletter & Website


    Episode Transcript

    Hosted on Acast. See acast.com/privacy for more information.

    28 min
  • Pickaxe Resurrection (with Noel Rappin)
    Short-Form Summary:


    In this episode of Dead Code, host Jared chats with Noel Rappin, Staff Engineer at Chime and co-author of the updated Programming Ruby (“The Pickaxe Book”), about revitalizing Ruby’s most iconic reference. Rappin explains that despite claims Ruby is “dead,” it’s still widely used by startups and major companies like GitHub and Shopify. He took on the update to bridge the gap between Ruby 2.0 and 3.3, modernizing the book to reflect new features like pattern matching and changes in the ecosystem, while keeping it relevant for today’s developers, many of whom are coming from JavaScript, Python, or Java. They discuss the balance between Ruby’s flexible syntax and emerging norms via tools like RuboCop, the cautious use of metaprogramming, and how Ruby’s expressive power still stands out. Rappin hints at a future Ruby 4 update and encourages developers to embrace Ruby’s strengths, especially for teams valuing agility and clarity.


    Links:


    Noel Rappin

    Dave Thomas

    Programming Ruby (The Pickaxe Book)

    why’s (poignant) Guide to Ruby

    Bundler

    RuboCop

    StandardRB

    Ractors

    Pattern Matching in Ruby

    Sorbet

    RBS

    Steep 

    Dry-types

    Sinatra

    RSpec

    Concurrent Ruby

    Fibers


    Dead Code Podcast Links:


    Mastodon

    X


    Jared’s Links:


    Mastodon

    X

    twitch.tv/jardonamron

    Jared’s Newsletter & Website


    Episode Transcript

    Hosted on Acast. See acast.com/privacy for more information.

    40 min
  • Undefined and Unforgiven (with Joel Drapper and Lucian Ghinda)

    In this episode of Dead Code, Jared is joined by Lucian and returning guest Joel to debate a classic Ruby dilemma: whether to access instance variables directly or use getter methods. Lucian advocates for getters, especially in large, fast-changing codebases, arguing they help catch subtle bugs and improve maintainability, as well as insights drawn from his time at Cookpad and the Short Ruby newsletter. Joel, while appreciating the clarity and performance of direct access, introduces his gem strict_ivars, which raises runtime errors for undefined variables, offering a hybrid solution that improves safety without sacrificing flexibility. The conversation expands into the future of Ruby developer experience, discussing AST-based tooling, the role of testing, and how small, intentional coding choices can add up to more resilient and readable software.


    Links:


    Short Ruby Newsletter

    Show Ruby YouTube Channel

    Joel Draper’s Website

    strict_ivars Gem

    Joel on Bluesky

    Practical Object-Oriented Design in Ruby (POODR) by Sandi Metz

    Prism

    Bootsnap

    ruby-require-hooks by Vladimir Dementyev

    AST (Abstract Syntax Tree)

    Modified Condition/Decision Coverage (MCDC) – advanced testing technique

    Ruby Keyword Arguments

    Cookpad

    Plane

    Shopify


    Dead Code Podcast Links:


    Mastodon

    X


    Jared’s Links:


    Mastodon

    X

    twitch.tv/jardonamron

    Jared’s Newsletter & Website


    Episode Transcript


    Hosted on Acast. See acast.com/privacy for more information.

    44 min
  • Poisoning the Well (with Heydon Pickering)

    In this episode of Dead Code, Jared interviews Heydon Pickering about his satirical strategy to sabotage AI web crawlers by generating nonsense versions of his blog posts. Using Eleventy and JS DOM, Heydon replaces keywords in his content with absurd alternatives from a static lexicon, creating grammatically broken, jargon-filled text that wastes crawler resources without harming his SEO. Frustrated by how LLMs scrape web content without consent, he frames his approach as both a protest and a creative, Dadaist rebellion against exploitative tech norms. While the method won’t cripple AI models, it reflects a broader resistance to the unchecked harvesting of human-created content.


    Links:


    “Poisoning the Well” (Heydon’s article)

    “Please Stop Externalizing Your Costs Directly In My Face” – The article that partly inspired Heydon’s efforts to push back against LLM scraping.

    Heydon’s Blog

    Webbed Briefs (Heydon’s video series)

    Eleventy (11ty)

    JS DOM

    robots.txt

    nofollow attribute

    Dadaism


    Dead Code Podcast Links:


    Mastodon

    X


    Jared’s Links:


    Mastodon

    X

    twitch.tv/jardonamron

    Jared’s Newsletter & Website


    Episode Transcript

    Hosted on Acast. See acast.com/privacy for more information.

    38 min
  • Deterministic Simulation (with Stevan)

    In this episode of Dead Code, Jared talks with Stevan about building reliable distributed systems using Erlang-inspired design patterns. Stevan shares how his background in functional programming and formal verification led him to simulation testing—a deterministic approach to testing distributed systems that avoids the flakiness of traditional CI environments. He emphasizes that Erlang’s true innovation lies not in lightweight processes, but in its structured behaviors (like gen_server and supervisor), which make systems easier to reason about, test, and verify. These behaviors support a more disciplined approach to concurrency, enabling reproducible fault injection and better simulation frameworks. Stevan advocates for programming languages that natively support deterministic testing and model checking, suggesting that the future of distributed systems lies in building on these structured, verifiable foundations.


    Links:


    Stevan’s Blog

    Erlang

    Elixir

    Agda

    Idris

    TLA+

    Roc

    Jepsen

    Antithesis

    BEAM

    Let it crash philosophy


    Dead Code Podcast Links:


    Mastodon

    X


    Jared’s Links:


    Mastodon

    X

    twitch.tv/jardonamron

    Jared’s Newsletter & Website


    Episode Transcript

    Hosted on Acast. See acast.com/privacy for more information.

    29 min

About Dead Code

From the publisher's feed

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.

…