Dead Code
banner
deadcode.website
Dead Code
@deadcode.website
A podcast by @jardo.dev about making the software industry better. New episodes every Tuesday. https://deadcode.website
Forget the old names.

No more OCaml baggage, no ReasonML confusion, no Belt.Array2 nightmares.

ReScript has finally stepped into its own—and it’s smoother, faster, and way more familiar than you think.
November 26, 2025 at 4:15 PM
In JavaScript, there are a hundred ways to solve the same problem.

In ReScript, there’s one—and it actually makes your life easier.

Josh Vlk explains why enforced consistency might just be the future of clean code.
November 21, 2025 at 4:15 PM
JavaScript’s grown-up sibling just entered the chat.

Strongly typed, zero config, and built for people who want their code to just work.

Josh Vlk joined Jared to explain why ReScript isn’t just another TypeScript flavor—it’s a full rethink of how we build for the web.
November 20, 2025 at 5:18 PM
“Sometimes you need null database columns — but only if you’ve thought through why.”

David Bryant Copeland talks about building frameworks that guide developers toward better decisions by default.
November 14, 2025 at 4:15 PM
What’s the bane of David Bryant Copeland’s existence in Rails?
Those endless params hashes.

In this clip, he explains how Brut gets rid of them for good.
November 12, 2025 at 4:15 PM
“Rails is easy… but it’s not simple.”

David Bryant Copeland unpacks why simple code often takes more effort — and why he designed Brut around that philosophy.
November 7, 2025 at 4:15 PM
Sometimes fewer knobs make better music.

David Bryant Copeland shares why he loves the limitations of his DAWless Looptober setup — and how constraints fuel creativity.
November 5, 2025 at 4:15 PM
Rails makes it easy to build fast. But do you ever feel like you’re learning everything twice?

David Bryant Copeland breaks down why abstractions can get in the way of real understanding.
November 4, 2025 at 9:33 PM
The hardest problem in computer science? Naming things.

Adam Tornhill explains why *good names* don’t just help humans, they also help your AI assistants write and reason better code.
October 31, 2025 at 3:15 PM
Healthy code isn’t just aesthetic. It’s measurably faster.

Adam Tornhill’s research shows teams working in clean codebases ship 10× faster with 15× fewer defects.

That’s the real business case for code quality.
October 29, 2025 at 3:15 PM
Our brains weren’t designed to juggle thousands of lines of code.

Adam Tornhill explains the cognitive bottleneck behind bad abstractions…and how chunking helps us think like computers without becoming them.
October 24, 2025 at 3:15 PM
“Beauty is the absence of ugliness.”

That’s how Adam Tornhill defines clean code — not as clever, but as *unsurprising*.

This perspective might change how you see your own work.
October 24, 2025 at 3:15 PM
Ever wonder why so many software projects fail, even with smart people and good tools?

Adam Tornhill’s answer started outside of tech.

🎙️ Hear how psychology helped him see the real reasons we struggle to build successful software.
October 22, 2025 at 7:10 PM
⚠️ “When it becomes a problem, it’s a huge problem.”

Matt Schwager on why Marshal exploits are always critical severity — and why they deserve outsized attention in Ruby security.
October 15, 2025 at 3:15 PM
📖 The first line of the Marshal docs warns: “This is extremely dangerous to use.”

So why do vulnerabilities still happen? Matt Schwager explains why documentation isn’t enough.
October 10, 2025 at 3:15 PM
😬 “Oftentimes, developers don’t even know they’re using Marshal.”
Rails caching defaults, hidden dependencies, and how vulnerabilities creep into production.

Matt Schwager dives into why this class of bugs won’t go away.
October 10, 2025 at 3:15 PM
💡 Simplicity vs. security. One line of Ruby code can serialize anything — which is both the appeal and the problem.

Matt Schwager talks about the fundamental tradeoff at the heart of Marshal vulnerabilities.
October 8, 2025 at 3:15 PM
👉 “We think if we just add enough if statements, we can make this thing safe…”

Matt Schwager explains why Ruby deserialization bugs keep resurfacing — even after more than a decade of patches.
October 7, 2025 at 5:50 PM
Perfection isn’t the point.

Kasper Timm Hansen shows how riffing invites developers to throw ideas on the table, refine them, and learn as they go.

The result? Better design, less pressure, and a mindset shift that feels surprisingly fresh.
October 3, 2025 at 3:15 PM
Coding doesn’t always have to feel heavy.

Kasper Timm Hansen talks about riffing as a process that makes room for fun, creativity, and experimentation — without losing sight of the end goal.

Why being “wrong” for a moment can actually speed you up.
October 1, 2025 at 3:15 PM
What if the best path forward in your code isn’t a giant leap, but a series of small, playful steps?

Kasper Timm Hansen describes how riffing lets you hop between possibilities, uncover hidden insights, and arrive somewhere you never expected.
September 26, 2025 at 3:15 PM
Big ideas don’t have to live rent-free in your head.

Kasper Timm Hansen explains how his riffing files free up mental space while capturing complexity in a way that’s quick, flexible, and surprisingly lightweight.

Find out why this makes exploring solutions so much easier.
September 24, 2025 at 3:15 PM
Ever started a feature and felt paralyzed by not knowing where to begin?

Kasper Timm Hansen shares how a simple scratch file technique can turn that overwhelm into clarity.

🎧 Tune in to hear how “riffing” reshapes the way developers explore problems.
September 23, 2025 at 10:26 PM
AI coding tools can churn out code endlessly, but without checks in place, the results quickly collapse.

Justin Searls explains the principle he applies to both AI and his own workflow to keep things real and verifiable.
September 17, 2025 at 3:15 PM
How do you decide what to work on next?

Justin Searls’ approach flips the usual “start with the easy tasks” advice and instead begins with the riskiest unknowns.
September 12, 2025 at 3:15 PM