Explorez tous les épisodes du podcast Dead Code
| Titre | Date | Durée | |
|---|---|---|---|
| Poisoning the Well (with Heydon Pickering) | 13 May 2025 | 00:37:34 | |
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. Webbed Briefs (Heydon’s video series) Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Deterministic Simulation (with Stevan) | 06 May 2025 | 00:28:27 | |
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: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Lethal Dependency Injection (with Tim Riley) | 25 Feb 2025 | 00:45:50 | |
In this episode of Dead Code, Jared interviews Tim Riley about Hanami, an alternative Ruby web framework that prioritizes separation of concerns, modular components, and maintainability over Rails’ monolithic approach. Tim explains how Hanami’s repository pattern for database interactions reduces unintended ripple effects, while its built-in dependency injection improves testability and scalability. He shares the evolution of Hanami, its integration with dry-rb and ROM, and the project’s commitment to fostering an inclusive, sustainable community. With ongoing efforts to enhance accessibility and documentation, Hanami aims to offer Ruby developers a flexible, well-structured alternative for building applications while staying within the familiar Ruby ecosystem. Links: Tilt (Ruby template engine support) Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Hole-y Diver (with Cyrus Omar and Andrew Blinn) | 18 Feb 2025 | 00:36:46 | |
In this Dead Code podcast episode, Cyrus Omar and Andrew Blinn discuss Hazel, an innovative programming language and editor designed to handle incomplete programs by providing continuous feedback and partial code execution, similar to dynamic languages, while maintaining a robust type system. Hazel’s unique graphical editor allows domain-specific visual representations, such as sliders for integers and playing cards for data manipulation, making programming more intuitive and tactile. The team highlights collaborations with climate scientists for interactive data work and explores Hazel’s potential across various domains like hardware design and mathematics. Future developments include “probes” for live runtime data visualization within code, with the hope that Hazel’s novel approach will inspire broader adoption in the programming community. Links: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Yet Another Podcast Episode (with Ingy döt Net) | 11 Feb 2025 | 00:35:34 | |
In this episode of Dead Code, Jared interviews Ingy döt Net, co-creator of YAML, about its origins, unexpected rise in popularity—especially within the Ruby community—and its evolution into a widely used configuration language. Ingy shares insights into YAMLScript, a new programming language he developed to address YAML’s limitations, enabling more powerful configuration and data transformation through a Lisp-like approach. By leveraging Clojure and GraalVM, YAMLScript offers cross-language compatibility and improves YAML’s usability in environments like Kubernetes and Helm. The conversation explores broader industry trends in serialization, the challenges of maintaining a widely adopted format, and Ingy’s philosophy of acmeism, which promotes language-agnostic tooling. He also discusses YAMLScript’s warm reception at KubeCon and its inclusion in programming education platforms like Exercism. Links: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Zero Allocations (with Joel Drapper) | 04 Feb 2025 | 00:49:16 | |
In this episode of Dead Code, Jared interviews software engineer Joel Drapper about his open-source projects in the Ruby ecosystem. They discuss Phlex, a view framework that allows developers to build HTML components using pure Ruby, eliminating the need for templating languages like ERB. Joel also introduces Literal, a library for reducing boilerplate in object creation with built-in type validation, and Quickdraw, an experimental test runner optimized for multi-core execution. The conversation concludes with Yippee, a SQLite-centric full-stack Ruby framework designed for simplicity and performance, challenging conventional Rails architectures. Joel shares insights on how these projects streamline development while embracing SQLite’s growing viability in production applications.
Links: Stephen Margheim (@fractaledmind on Bluesky) Joel Drapper (@joel.drapper.me on Bluesky) Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Let’s Go Camping (with Karl Oscar Weber) | 28 Jan 2025 | 00:20:45 | |
In this Dead Code episode, host Jared interviews Karl Oscar Weber about revitalizing Camping, a minimalist Ruby web framework originally created by “Why the Lucky Stiff.” Karl shares his 14-year programming journey, his passion for Ruby, and the challenges of modernizing Camping while preserving its compact, esoteric design under five kilobytes. He introduces updates like plugins (“Camping Gear”) and compatibility with newer Ruby features, emphasizing Camping’s educational value and simplicity. Beyond the technical, Karl discusses fostering inclusivity in the Ruby community, countering exclusionary attitudes, and creating spaces that welcome underrepresented developers. Jared commends Karl’s efforts to honor Ruby’s quirky, fun spirit while addressing cultural issues, highlighting the broader impact small projects can have on shaping tech communities. Links: Why’s (Poignant) Guide to Ruby Andrew Tate Background (Wikipedia) Metroid Series Overview (Wikipedia) Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Event Horizon (with Ismael Celis) | 21 Jan 2025 | 00:34:25 | |
In this episode of Dead Code, Jared Norman hosts Ruby developer and consultant Ismael Celis to discuss event sourcing—a data storage model that records historical events to derive the current state of an application, offering benefits like accurate audit trails and reduced complexity. Ismael explains how event sourcing contrasts with traditional CRUD systems by focusing on a flat sequence of events rather than intricate relational models, making it particularly useful in e-commerce and microservices. He highlights his experimentation with event sourcing in Ruby, aiming to combine its simplicity with Ruby’s expressiveness, and mentions existing tools like Rails Event Store, Sequence, and Eventide. Offering practical advice, Ismael suggests starting small with simple Ruby scripts to grasp the concept before adopting established libraries. The episode underscores the potential for event sourcing to streamline debugging and enhance adaptability in dynamic systems. Links: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| For Whom The Compiler Tolls (with Felienne Hermans) | 14 Jan 2025 | 00:29:23 | |
In this episode of Dead Code, Jared Norman interviews Felienne Hermans, creator of the Hedy programming language and author of “A Case for Feminism in Programming Language Design.” Felienne discusses her experiences of alienation in the programming language design community and critiques its prioritization of mathematical rigor and technical difficulty over accessibility and inclusivity. Highlighting Hedy, a simplified, multilingual language designed for beginners and non-English speakers, she emphasizes the value of user-centered design in making programming more approachable and impactful. The conversation explores the exclusionary culture in programming, such as dismissing spreadsheets and front-end work as “not real coding,” and proposes reimagining programming languages to focus on collaboration, user experience, and joy rather than gatekeeping and status. Felienne calls for a cultural shift to prioritize inclusivity and creativity, showcasing how tools like Hedy can inspire and empower diverse communities. Links: A Case for Feminism in Programming Language Design Felienne Hermans’s Personal Website Programming Language Conference: SPLASH Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Violent Sleep of Concurrency (with JP Camara) | 07 Jan 2025 | 00:41:15 | |
In this Dead Code episode, host Jared Norman interviews JP Camara, Principal Software Engineer at Wealthbox, about Ruby concurrency. JP explains that Ruby applications are inherently multithreaded, even when developers assume otherwise, highlighting how background threads from libraries like Sidekiq or monitoring tools can introduce concurrency issues. He discusses the Ruby community's progress in thread safety, driven by tools like Puma and Sidekiq, and contrasts Ruby's "colorless" concurrency model with JavaScript's explicit async/await syntax, emphasizing Ruby's reduced cognitive overhead. JP also shares his experience contributing to Ruby's M:N thread scheduler for macOS, advocating for developers to rely on vetted concurrency tools like concurrent-ruby and async instead of manually managing threads. He concludes by stressing the importance of avoiding global state, breaking tasks into smaller pieces, and approaching concurrency with a thoughtful mindset. Links: Meshuggah – Violent Sleep of Reason Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| ‘Twas The Night Before Christmas | 24 Dec 2024 | 00:01:42 | |
In this whimsical holiday-themed episode of the Dead Code podcast, Jared dives into the much-anticipated release of Ruby 3.4, framing the technical updates in a festive, poetic rendition of 'Twas the Night Before Christmas. Listeners are treated to a charming narrative where Ruby's creator, "Saint Matz," embodies a coding Santa Claus, delivering these updates to the community with flair. Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Why and Why Now? (with Rebecca Murphey) | 17 Dec 2024 | 00:29:57 | |
In this episode of Dead Code, Jared speaks with Rebecca Murphey, Field CTO at Swarmia, about the critical importance of written communication in engineering organizations. Rebecca shares insights from her experiences at Indeed and Stripe, emphasizing how clear, concise, and audience-focused communication can drive alignment, mitigate risks, and advance careers. She discusses frameworks like SCQA (Situation, Complication, Question, Answer) and practical strategies, including critical reading and trimming unnecessary details, to improve technical communication. The conversation also explores how AI tools like ChatGPT are reshaping written communication, the shifting role of junior engineers in a more constrained industry, and the need to understand broader business contexts. The episode underscores that strong communication is as vital as coding skills for thriving in today’s tech landscape. Links: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Brutality of Behaviour (with Carson Gross) | 29 Apr 2025 | 00:45:58 | |
In this episode of Dead Code, Jared interviews Carson Gross, creator of HTMX, about the principle of Locality of Behavior (LoB) and its role in web development. Carson explains that HTMX enhances HTML rather than replacing it like modern JavaScript frameworks, offering a simpler, hypermedia-driven approach ideal for use cases like e-commerce. He critiques the traditional emphasis on Separation of Concerns, arguing that keeping behavior close to markup improves maintainability and avoids “spooky action at a distance.” Carson acknowledges trade-offs between LoB, DRY, and SoC, emphasizing the importance of context-based decision-making. He and Jared also discuss broader software trends, advocating for deeper modules, simpler APIs, and a pragmatic, less ideological approach to coding as the industry evolves. Links: HTMX Essays (especially Locality of Behavior and When to Use Hypermedia) Richard Gabriel’s “Worse Is Better” Essay Mozilla Developer Network (MDN) John Ousterhout’s A Philosophy of Software Design The Uncle Bob vs. John Ousterhout Argument Big Sky Software (Carson’s Company) Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Advent of Weird Ruby Code | 10 Dec 2024 | 00:31:37 | |
In this episode of Dead Code, Jared Norman and guests Andrew, Sofia, and Senem discuss their experiences with Advent of Code, an annual programming challenge with Christmas-themed puzzles. They share how the challenge fosters creativity, improves coding skills, and allows for unique problem-solving approaches, particularly using Ruby’s powerful tools like Tally and each_cons. The group reflects on their goals, from practicing domain-driven design and test-driven development to simply having fun writing unconventional code. Jared highlights his focus on creativity over competition, streaming his solutions on Twitch, while the guests explore how Advent of Code inspires learning outside their day-to-day work. Links: TRICK (The Ruby International Obfuscated Code Competition) Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Predatory Infrastructure (with Noah Gibbs) | 03 Dec 2024 | 00:47:40 | |
In this episode of Dead Code, Jared Norman and guest Noah Gibbs, author of Rebuilding Rails and Mastering Software Technique, discuss programming as an art form rather than purely a business or engineering practice. They explore how programming, much like traditional art, thrives on creativity and self-expression, with languages like Ruby enabling this through flexibility and elegance, even at the cost of performance. Noah critiques the modern tech ecosystem for prioritizing profit over innovation, stifling creativity with rigid business structures. Highlighting parallels between programming and traditional art education, he advocates focusing on skill and craft instead of monetary incentives. Jared reflects on how these ideas challenge his perspective as a software company owner, urging listeners to consciously define their motivations and reclaim programming as a creative pursuit. The episode, produced by Mandy Moore, invites developers to rethink their relationship with their craft and the systems shaping their work. Links: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| RubyConf Post-Mortem | 26 Nov 2024 | 00:17:27 | |
In this episode of Dead Code, host Jared Norman shares highlights from RubyConf in Chicago, reflecting on its exceptional programming and his personal connection to the venue, dating back to RailsConf 2014. Memorable talks included Matz’s keynote on Ruby's future, Aaron Patterson’s optimization insights, Enrique Mogollan’s exploration of Ruby's boundaries, and Yusuke Endoh’s innovative code-as-art presentation. Jared also discussed standout moments like Tom Enebo’s talk on the Piet programming language and Nick Means’ keynote on AI and aviation. Looking ahead, Jared announced plans for RailsConf 2025 in Philadelphia, the Advent of Code livestreams, and his new newsletter for behind-the-scenes updates. Links: Sign up for Jared’s Newsletter Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Symphony of Automation (with Aji Slater) | 19 Nov 2024 | 00:30:13 | |
In this Dead Code episode, Jared Norman hosts Aji Slater, Development Team Lead at thoughtbot, to discuss “incremental automation,” a concept that advocates for gradually automating tasks by refining them with small steps rather than investing large amounts of time upfront. Aji explains that capturing each step of repetitive tasks enables developers to tweak processes over time, which reduces friction and saves effort without disrupting workflows. Starting with “do-nothing scripts” that print steps or copy commands, developers can progressively automate, building efficiencies that enhance productivity and prevent burnout. Aji also emphasizes sharing these incremental improvements across teams, so everyone benefits from the refined workflows without repeating the same manual work. Links: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Everything is an Experiment (with Jessica Kerr) | 12 Nov 2024 | 00:33:00 | |
In this Dead Code episode, Jessica Kerr (Jessitron) joins host Jared Norman to explore the evolving nature of experimentation and learning in software development. Jessica reflects on her shift from valuing software’s determinism to embracing the unpredictability of distributed systems and human factors. She explains that traditional scientific methods, like A/B testing, often fall short in complex, socio-technical environments, where dynamic learning and observing real-world impacts are crucial. At Honeycomb, she practices a holistic approach to experimentation, viewing each system and team as a “symmathesy”—a mutual learning environment where insights flow between developers and the software. Jessica emphasizes that continuous improvement relies on knowledge sharing and storytelling within teams, urging developers to approach retrospectives as genuine feedback loops to refine processes, connect with teammates, and foster growth. Links: Jessica's Website – Jessica’s personal website, where she shares her blog and more about her work. Symmathesy Talk at RubyConf – Jessica's talk about symmathesy from RubyConf Diana Montalion's Book on Systems Thinking: Learning Systems Thinking Graceful.Dev – Jessica's platform for short educational videos. Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Postgres and Destroy (with Andrew Atkinson) | 05 Nov 2024 | 00:45:32 | |
In this episode of Dead Code, host Jared Norman talks with Andrew Atkinson, author of High Performance Postgres For Rails, about the benefits and recent updates to Postgres. Andrew shares why he prefers Postgres for its reliability, extensibility, and independence from corporate control, making it ideal for applications with complex or fluctuating data needs. They delve into Postgres 17’s new features, like JSONB functions for querying JSON as if it were relational data, improved MERGE operations for simplified upserts, and new returning clauses. Andrew’s book is designed for application developers seeking to optimize performance and security beyond ORM abstractions, with practical examples to help them harness Postgres’s full potential. Jared and Andrew agree that Postgres’s robust tools can elevate an application’s reliability, especially in high-demand scenarios like e-commerce, encouraging developers to explore its depth. Links: Andrew’s Book, High Performance Postgres For Rails Scenic Gem (for managing database views in Rails) JSON Path Syntax (for querying JSON data in Postgres) pgvector extension for Postgres (for AI and vector search applications) TimescaleDB Extension (for time series data) Citus Extension (for distributed Postgres workloads) Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Twitching Hour (with Rachael Wright-Munn) | 29 Oct 2024 | 00:33:49 | |
In this Dead Code podcast episode, Jared Norman interviews Chael Wright-Munn (ChaelCodes) about the benefits of working openly through activities like live streaming and contributing to open-source projects. Chael emphasizes how creating a "library of examples" through public coding can enhance a developer’s skills, build their professional network, and preserve their achievements beyond their current job. She offers practical advice on starting a stream, such as using OBS software, focusing on community building, and engaging in structured projects like Hacktoberfest. The discussion highlights the value of maintaining a visible presence in the tech community, whether through streaming, open-source contributions, or other public-facing efforts, as a way to retain knowledge and showcase work, even across job changes. Links: Code Thesaurus GitHub Repository Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Master of Generators (with Garrett Dimon) | 22 Oct 2024 | 00:33:38 | |
In this episode of Dead Code, host Jared Norman interviews Garrett Dimon about the benefits of using Rails generators for automating tasks and maintaining consistency in Rails applications. Garrett, a seasoned developer, shares how he transitioned to Ruby and Rails and delved deep into using generators to simplify repetitive tasks, automate file creation, and adhere to Rails conventions. He discusses the advantages of generators, such as reducing errors, saving time, and creating a streamlined workflow that benefits entire teams. Garrett also talks about writing a book on the topic of making generators more accessible and highlights how they can be customized for various needs, offering significant productivity gains for developers. The episode emphasizes the enduring value of Rails generators in improving development processes and project structure. Links: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Hammer Smashed Argument (with Coraline Ada Ehmke) | 15 Oct 2024 | 00:30:35 | |
In this episode, Jared speaks with Coraline Ada Ehmke, a veteran software developer and creator of the Contributor Covenant and Hippocratic License, about the ethics of open-source software. Coraline discusses common justifications developers use to avoid accountability for the potential harm their software may cause, such as the "freedom zero" argument advocating for unrestricted use of software and the belief that access to the source code ensures ethical behavior. She critiques these views, emphasizing that developers must consider the societal impact of their work and set clear ethical boundaries. Coraline encourages the use of a "negative roadmap" to define what developers refuse to build, urging them to think critically about the harm their technology may enable. The episode concludes with Coraline promoting her work with the Organization for Ethical Source and her upcoming book, which explores responsible tech practices. Links: Organization for Ethical Source United Nations Universal Declaration of Human Rights Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Benevolent Dictatorship (with Mat, Noah, Sofia, and Chris) | 08 Oct 2024 | 00:47:00 | |
In this episode, host Jared Norman and SuperGood teammates and guests Mat Harvard, Sofia Besenski, Noah Silvera, and Chris Todorov recap their experiences at Rails World 2024. They discuss the unique venue in Toronto, key takeaways from David Heinemeier Hansson's keynote on making Rails more accessible, and the shift towards on-prem solutions over services like Heroku. The panel highlights technical talks on scaling Postgres, Shopify’s automated Rails upgrade process, and debates on Kamal 2.0’s proxy features. They also explore Rails’ future direction, technical debt management, and the Rails boot process. Links: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| GOTO Precedence Hell (with Noratrieb) | 22 Apr 2025 | 00:28:55 | |
In this episode of Dead Code, Jared chats with Nora, a Rust contributor, about operator precedence and the trade-offs between code clarity and conciseness across programming languages. Nora, inspired by her blog post “Don’t Play the Precedence Game,” explains how languages like C and Rust handle operator order differently, particularly around equality and bitwise operations, which can lead to subtle, hard-to-spot bugs. She advocates for using parentheses generously to make intent explicit, even if some consider it “noisy,” and highlights how tools like linters and formatters approach optional syntax differently. They also touch on Ruby’s permissive style, Lisp’s avoidance of precedence via prefix notation, and broader lessons for language design—ultimately agreeing that clarity should win when it matters, and that different languages cater to different developer mindsets. Links: “Don’t Play the Precedence Game” Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Fear-Driven Development (with J. B. Rainsberger) | 01 Oct 2024 | 00:46:25 | |
In this episode of Dead Code, J.B. Rainsberger discusses the pitfalls of integrated tests, calling them a "scam" due to their tendency to complicate rather than solve testing problems. He advocates for writing smaller, more focused tests, like unit tests, to simplify debugging and avoid tangled code. J.B. emphasizes that test-driven development (TDD) should be flexible, guiding developers to test based on what they're afraid might break, rather than following rigid rules. He introduces the concept of four stages of TDD, where developers evolve from focusing on bug prevention to refining their approach based on experience, adapting their testing strategy to different contexts while maintaining the core principle of starting with a failing test. Links: J.B.'s technical blog: The Code Whisperer J.B.'s broader development blog: Blog by JBrains Matteo Vaccari’s article: How I Learned to Love Mock Objects Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce Test-Driven Development: By Example by Kent Beck Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Pondering the Prism (with Kevin Newton) | 24 Sep 2024 | 00:29:10 | |
In this episode of Dead Code, Jared interviews Kevin Newton, Staff Software Engineer at Shopify, about his work on Ruby's new parser, Prism. Kevin explains how Prism was created to address the limitations of Ruby's original parser by providing a portable, error-tolerant solution that unifies the ecosystem, replacing multiple outdated parsers used across different tools. They discuss the challenges of parsing Ruby's complex syntax, including quirky features like heredocs and regular expressions, and how Prism was designed for better control and performance. Kevin emphasizes the community-driven effort behind the project, making it more accessible to contributors, and shares how Prism will advance Ruby tooling in future releases. Links: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Supercritical Gem (with Stefanni Brasil) | 17 Sep 2024 | 00:38:19 | |
In this episode of the Dead Code Podcast, Jared Norman talks with Stefanni Brasil, a Senior Software Developer at thoughtbot and co-founder of hexdevs, about career growth, open source, and mentorship in tech. Stefanni shares her non-traditional path into software development and her passion for helping mid-level developers advance through her program "Get to Senior," which addresses both technical and non-technical skills. They discuss the challenges of career progression, the importance of understanding company promotion dynamics, and the need for developers to focus on leadership and communication skills. Stefanni also highlights the ethical concerns surrounding open-source contributions, advocating for companies to financially support the projects they benefit from. The conversation ends with a reflection on the role of AI, productivity, and the value of sharing knowledge publicly to strengthen the tech community. Links: Faker Library (GitHub Repository) ChaelCodes (Rachel's Social Media) Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Triplicate Multi-Nested Ternary (with Hilary Stohs-Krause) | 10 Sep 2024 | 00:35:03 | |
Hilary Stohs-Krause and Jared discuss the importance of applying accessibility principles to coding environments, emphasizing how it benefits both developers and end-users. Hilary, a senior software engineer, shares insights from her talk at Madison Ruby, highlighting how small changes, like using descriptive variable names, avoiding acronyms, and incorporating linters, make code more readable and maintainable. These practices not only support programmers with disabilities, such as ADHD or vision impairments, but also improve the overall coding experience for all developers. Hilary argues that creating accessible code benefits everyone by reducing cognitive load, improving communication, and fostering more inclusive workplaces, even though such practices are often deprioritized in fast-paced, capitalist environments. Links: Stack Overflow Survey of Developers ADA (Americans with Disabilities Act Plain Language Writing Guidelines Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Purely Functional Ideas (with Harmony) | 03 Sep 2024 | 00:36:45 | |
In this episode of "Dead Code," Jared and Harmony, a self-taught programmer with extensive experience in Ruby, explore the benefits of experimenting with unconventional programming languages. They discuss Fennel, a Lisp that compiles to Lua, highlighting its simplicity and versatility for applications like game modding. Jared shares his experience with ReScript, a language in the ML family that compiles to JavaScript, emphasizing its strong type system and seamless integration with React. They also delve into Uiua, a stack-based array language with a unique symbol-rich syntax, which Harmony finds ideal for tackling complex mathematical programming challenges. The episode emphasizes how these esoteric languages can broaden a programmer's perspective and problem-solving approach. Links: Conway’s Game of Life Interactive Simulator Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| All Those Letters That You Do (with Jim Remsik) | 27 Aug 2024 | 00:32:09 | |
In this episode of "Dead Code," host Jared Norman interviews Jim Remsik, a Ruby developer and founder of the consultancy Flagrant. Jim shares his journey from .NET to Ruby on Rails, reflecting on the early days of the Ruby community and the impact of its vibrant, collaborative environment on his career. He discusses the importance of mentorship and nurturing junior developers, stressing the need for more opportunities within the Ruby community to help them grow into senior roles. Jim also talks about his passion for organizing events like Madison + Ruby, which recently returned after a hiatus, highlighting how conferences and meetups play a vital role in building connections and strengthening the community. The conversation underscores the value of stepping up to contribute to programming communities, whether through organizing, speaking, or participating in events. Links: Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Entangled Mess of Vines (with Stephanie Minn and Joel Quenneville) | 13 Aug 2024 | 00:37:26 | |
In this episode of the Dead Code podcast, Jared welcomes RailsConf speakers Joël Quenneville and Stephanie Minn, both from thoughtbot and co-hosts of The Bike Shed podcast. Stephanie discusses her talk on the stages of change model, initially about codebase changes but ultimately focusing on adopting testing practices, highlighting the evolution of her topic and the importance of addressing test pain. Joël introduces Hotwire and Turbo through building an interactive Dungeons & Dragons character sheet in Rails, emphasizing decoupling code and progressively enhancing applications without JavaScript. The conversation delves into managing coupling and cohesion in software development, the benefits of visualizing code structure, and using tests as tools for gathering information and improving code quality, with practical insights and reflections on enhancing the development process. Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Supplemental Oxygen (with Senem Soy and Alistair Norman) | 30 Jul 2024 | 00:32:31 | |
In this episode of the Dead Code Podcast, Jared interviews his brother Alistair Norman and colleague Senem Soy about their experiences with conference talks. Alistair recently spoke at RailsConf in Detroit on mentorship and pair programming, choosing the topic for its broad relevance and personal interest. He prepared for the talk by biking 750 kilometers from Toronto to Detroit, which, while mentally relaxing, left him less time to finalize his presentation. Senem, gearing up for her first talk at Madison Ruby, discusses how her passion for paragliding influences her problem-solving in programming, focusing on mental training and stress management. Both highlight the importance of choosing engaging topics and thorough preparation to reduce stress and enhance the delivery of their talks. Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Tech Death (with Robby Russell) | 16 Jul 2024 | 00:49:10 | |
In this episode of the Dead Code podcast, host Jared Norman interviews Robby Russell, the CEO of Planet Argon and creator of Oh My Zsh, who shares insights from his extensive experience in software development, particularly Ruby on Rails. Robby discusses the challenges of software maintenance and technical debt, emphasizing the importance of understanding and managing different types of debt within teams. He advocates for building simpler, more maintainable systems, taking ownership of the codebase, and integrating maintenance work into regular workflows through effective communication and documentation. Links: Michael Feathers' book "Working Effectively with Legacy Code" Ward Cunningham and the concept of Technical Debt Martin Fowler's book "Refactoring" John Osterhout's book "A Philosophy of Software Design" Hosted on Acast. See acast.com/privacy for more information. | |||
| Dead Quora (with Benjamin Wil and Noah Silvera) | 17 Apr 2024 | 01:21:14 | |
| Cursed Return (with Nicole Tietz-Sokolskaya) | 15 Apr 2025 | 00:32:14 | |
In this episode of Dead Code, Jared speaks with software engineer Nicole Tietz-Sokolskaya about the ethical complexities of large language models (LLMs). Nicole shares her mixed experiences with LLMs—finding brief personal value but little long-term usefulness in her work—and critiques their environmental impact, reliance on questionable training data, and potential to concentrate power among major tech companies. She raises concerns about consent, bias, and the quality of generated code, while also acknowledging LLMs’ potential in accessibility and trust and safety roles. Ultimately, both Nicole and Jared advocate for a values-driven approach to technology, urging developers to critically evaluate the tools they use and the broader implications of their choices. Links: Mastodon: nicole@tietz.social Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Broken by Definition (with Byron Alley) | 28 Mar 2024 | 01:16:18 | |
| The Software Industry is Dead (Code) | 12 Mar 2024 | 00:05:48 | |
A short preview of what you can expect from future episodes of Dead Code. I promise better editing and mic position in the future. Dead Code Socials: Jared Norman Socials: References: Hosted on Acast. See acast.com/privacy for more information. | |||
| Frozen to Death (with Kevlin Henney) | 01 Apr 2025 | 00:54:47 | |
In this episode of Dead Code, Jared talks with Kevlin Henney about the importance of immutability in software development, particularly as a strategy for reducing bugs related to state and concurrency. Kevlin explains that while many programming languages default to mutable state, treating state change as a privilege—not a right—can lead to more maintainable, less error-prone code. He discusses how immutability strengthens encapsulation, simplifies reasoning about systems, and avoids issues like race conditions and deadlocks, especially in multi-threaded environments. Kevlin also emphasizes that these design choices are architectural, not just implementation details, and that teams benefit from shared philosophies around state management. The conversation ties into broader programming culture and offers practical insights for developers, especially those working in languages like Ruby, where mutability is common but evolving. Links: Kevlin Henney’s article – “Restrict Mutability of State” Book – 97 Things Every Programmer Should Know Open source repo with contributions Overflow collection curated by Shirish Padalkar (includes the “Restrict Mutability of State” essay) RubyConf Mini Providence Talk – Immutable Data Structures RailsConf Talk – Immutable Objects in Practice Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Pattern Imprisonment (with Joan Westenberg) | 25 Mar 2025 | 00:40:50 | |
In this episode of Dead Code, journalist Joan Westenberg joins host Jared to explore the political and ethical consequences of our tech choices, advocating for decentralized, open-source platforms over corporate-controlled ecosystems like Google and Meta. Joan shares her path from tech journalism to founding The Index, a reader-supported publication free from ads and investor influence, driven by a DIY punk ethos inspired by bands like Fugazi. She critiques the monopolization of the internet, the erosion of data privacy (especially for EU users), and the complicity of tech giants in supporting authoritarian politics. Emphasizing the power of small, intentional decisions, Joan urges listeners to resist cynicism, adopt “pragmatic meliorism,” and choose tools and platforms that align with their values—even if it’s harder—because incremental change still matters. Links: Murena / /e/OS Where Wizards Stay Up Late: The Origins of the Internet Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Ordinary Corrupt Memory Love (with Jean Boussier (byroot)) | 18 Mar 2025 | 00:33:25 | |
In this episode of Dead Code, host Jared Norman speaks with Jean Boussier, a key contributor to the Ruby community and Shopify engineer, about the challenges of concurrency in Ruby, particularly the Global VM Lock (GVL). Jean explains that while the GVL was originally implemented to simplify Ruby’s design, it now limits parallel execution, sparking debate on whether it should be removed. He argues that many Ruby applications are more CPU-bound than previously thought and suggests improving Ruby’s thread scheduler as a more practical short-term solution rather than eliminating the GVL entirely. The discussion also explores Ractors, Ruby’s experimental approach to parallelism, which remains unstable and impractical for most applications. Jean envisions a future where Ractors become more viable, gradually leading to broader concurrency improvements. The episode wraps up with insights on profiling tools and the evolving landscape of Ruby performance optimization. Links: Ivo Anjo’s GVL Profiling Talk (RubyConf) Jean’s Blog Post: “So, You Want to Remove the GVL?” Jean’s Blog Post: “The Mythical IO-Bound Rails App” Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| All Models Are Wrong (with James Gayfer) | 11 Mar 2025 | 00:26:23 | |
In this episode of Dead Code, Jared interviews James Gayfer about data modeling and the challenges of structuring databases effectively. James, who prefers raw SQL over ORMs, explains how many database models merely mirror table structures, leading to inefficient APIs and excessive data fetching. He discusses the concept of complete versus incomplete data models, emphasizing that completeness depends on an application’s needs at a given time. They explore trade-offs between overly simplistic models that require frequent queries and overly complex ones that attempt to replicate real-world relationships in unnecessary detail. James advocates for designing domain models thoughtfully, using patterns like repositories to maintain consistency while keeping data retrieval manageable. Ultimately, he encourages developers to embrace iteration, rethink their models as needed, and accept that all models are wrong, but some are useful. Links: James Gayfer’s Mastodon profile All models are wrong, but some are useful Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||
| Permadeath (with Roguelike Radio) | 04 Mar 2025 | 00:50:44 | |
In this episode of Dead Code, Jared explores the world of roguelike game development with guests Mark R. Johnson and Darren Grey from Roguelike Radio, discussing the history, appeal, and technical challenges of the genre. They dive into the upcoming Seven-Day Roguelike Challenge, where developers create a game in a week, emphasizing the importance of procedural generation, permadeath, and strategic mastery. The conversation covers how roguelikes have evolved from classic ASCII-based dungeon crawlers to modern iterations like FTL and The Binding of Isaac, attracting both players and programmers due to their complexity and emergent gameplay. Darren and Mark share advice for aspiring developers, urging them to keep their projects small and focused while embracing the creative possibilities of procedural content. Links: Seven-Day Roguelike Challenge (7DRL) on itch.io Roguelike Dev Community on Reddit Roguelikes Community on Reddit Mark R. Johnson’s Game (Ultima Ratio Regum) Dead Code Podcast Links: Jared’s Links: Hosted on Acast. See acast.com/privacy for more information. | |||