Share

cover art for Pondering the Prism (with Kevin Newton)

Dead Code

Pondering the Prism (with Kevin Newton)

Ep. 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:


Kevin Newton's blog

Kevin Newton's GitHub

Kevin Newton on Twitter (X)

Crafting Interpreters

The Dragon Book

Prism Parser

Ruby LSP

Shopify

Rails World Conference

ESLint


Dead Code Podcast Links:


Mastodon

X


Jared’s Links:


Mastodon

X


Episode Transcript

More episodes

View all episodes

  • 22. Why and Why Now? (with Rebecca Murphey)

    29:57||Ep. 22
    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:Rebecca Murphey on LinkedInDead Code Podcast Links:MastodonXJared’s Links:MastodonXtwitch.tv/jardonamronEpisode Transcript
  • 21. Advent of Weird Ruby Code

    31:37||Ep. 21
    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:Advent of CodeJared's Twitch StreamSuper GoodProject EulerLeetCodeTRICK (The Ruby International Obfuscated Code Competition)Dead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript
  • 20. Predatory Infrastructure (with Noah Gibbs)

    47:40||Ep. 20
    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:Codefol.ioDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript
  • 19. RubyConf Post-Mortem

    17:27||Ep. 19
    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:RubyConfRailsConfStoryGraphAdvent of CodeSign up for Jared’s NewsletterDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript
  • 18. Symphony of Automation (with Aji Slater)

    30:13||Ep. 18
    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:Tightly Coupled Book ClubDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript
  • 17. Everything is an Experiment (with Jessica Kerr)

    33:00||Ep. 17
    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 RubyConfDiana Montalion's Book on Systems Thinking: Learning Systems ThinkingGraceful.Dev – Jessica's platform for short educational videos.Jessitron’s TwitterJessitron’s MastodonJessitron’s InstagramHoneycomb.io Agile ManifestoDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript
  • 16. Postgres and Destroy (with Andrew Atkinson)

    45:32||Ep. 16
    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 Atkinson’s BlogAndrew’s Book, High Performance Postgres For RailsPostgres 17 Release NotesScenic 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:MastodonXJared’s Links:MastodonXEpisode Transcript
  • 15. Twitching Hour (with Rachael Wright-Munn)

    33:49||Ep. 15
    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:ChaelCodesRuby SocialHacktoberfestDev.toGitLabOBS StudioRegex CrosswordStreamlabs OBSCode Thesaurus GitHub RepositoryDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript
  • 14. Master of Generators (with Garrett Dimon)

    33:38||Ep. 14
    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:Garrett Dimon's WebsiteThe Book on GeneratorsRails FrameworkThor GemFireside.fmDead Code Podcast Links:MastodonXJared’s Links:MastodonXEpisode Transcript