Share
Dead Code
A podcast about how the software industry got this way
Latest episode
12. Benevolent Dictatorship (with Mat, Noah, Sofia, and Chris)
47:00||Ep. 12In 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:Rails WorldHerokuAWS EC2Kamal 2.0PostgreSQLRailsTest DoubleHotwireRuby on RailsPrismLet’s EncryptDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript
More episodes
View all episodes
11. Fear-Driven Development (with J. B. Rainsberger)
46:25||Ep. 11In 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. Rainsberger's websiteJ.B.'s technical blog: The Code WhispererJ.B.'s broader development blog: Blog by JBrainsMatteo Vaccari’s article: How I Learned to Love Mock ObjectsGrowing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat PryceTest-Driven Development: By Example by Kent BeckRSpec for Rails Rails Testing DocumentationExtreme ProgrammingDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript10. Pondering the Prism (with Kevin Newton)
29:10||Ep. 10In 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:Kevin Newton's blogKevin Newton's GitHubKevin Newton on Twitter (X)Crafting InterpretersThe Dragon BookPrism ParserRuby LSPShopifyRails World ConferenceESLintDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript9. Supercritical Gem (with Stefanni Brasil)
38:19||Ep. 9In 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:Stefanni Brasil's BloghexdevsFaker Library (GitHub Repository)Rails World ConferenceRuby on Rails CommunityGitHub CopilotTideliftChaelCodes (Rachel's Social Media)The Survey MentionedDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript8. Triplicate Multi-Nested Ternary (with Hilary Stohs-Krause)
35:03||Ep. 8Hilary 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 DevelopersMadison Ruby ConferenceRed CanaryRuby on RailsRuboCopHAML-LintADA (Americans with Disabilities ActDyslexia in ProgrammersADHD in ProgrammersPlain Language Writing GuidelinesGo Programming LanguageFactoryBotDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript7. Purely Functional Ideas (with Harmony)
36:45||Ep. 7In 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:Fennel LanguageLua Programming LanguageReScript LanguageOCamlStandard ML DocumentationUiua LanguageAPL Language Conway’s Game of Life Interactive SimulatorAdvent of CodeProject EulerReact.jsFennel VS Code ExtensionReScript VS Code ExtensionUiua VS Code SupportEmacs Fennel ModeEmacs ReScript SupportDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript6. All Those Letters That You Do (with Jim Remsik)
32:09||Ep. 6In 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:Jim Remsik on LinkedInFlagrant ConsultancyMadison + Ruby ConferenceRuby on RailsRubyConfSolidusTuring SchoolHoneybadgerAppSignalDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript