{"version":"1.0","type":"rich","provider_name":"Acast","provider_url":"https://acast.com","height":250,"width":700,"html":"<iframe src=\"https://embed.acast.com/$/65de32896569fa0017d17653/6a4b91b25b22488bcdbb3cc8?\" frameBorder=\"0\" width=\"700\" height=\"250\"></iframe>","title":"Bloom of the Undying (with Tim Riley)","description":"<p>Tim Riley returns to discuss the launch of Hanakai, a new organization unifying the Hanami, Dry, and ROM projects into a cohesive Ruby ecosystem focused on modern architecture, collaboration, and community. He explains how Hanami 3.0 represents the culmination of years of work, introducing rebuilt mailers, Minitest support, built-in internationalization, significant performance improvements, better logging, and a preview of a language server, while also making the framework more extensible for future growth. The conversation also explores the realities of sustaining mature open source projects through sponsorship, transparent development, and contributor-friendly practices, along with Hanakai’s commitment to inclusive community values, technical diversity, and giving Ruby developers more ways to build applications beyond the traditional Rails path.</p><p><br></p><p><strong>Links:</strong></p><p><br></p><p><a href=\"https://hanakai.org/\" rel=\"noopener noreferrer\" target=\"_blank\">Hanakai</a>⁠</p><p><a href=\"https://hanamiframework.org/\" rel=\"noopener noreferrer\" target=\"_blank\">Hanami</a>⁠</p><p><a href=\"https://dry-rb.org/\" rel=\"noopener noreferrer\" target=\"_blank\">Dry-rb</a>⁠</p><p><a href=\"https://rom-rb.org/\" rel=\"noopener noreferrer\" target=\"_blank\">ROM (Ruby Object Mapper)</a>⁠</p><p><a href=\"https://hanamiframework.org/blog/\" rel=\"noopener noreferrer\" target=\"_blank\">Hanami 3.0 Release Notes</a>⁠</p><p><a href=\"https://timriley.info/\" rel=\"noopener noreferrer\" target=\"_blank\">Tim Riley’s Week Notes</a>⁠</p><p><a href=\"https://www.contributor-covenant.org/\" rel=\"noopener noreferrer\" target=\"_blank\">Contributor Covenant Code of Conduct</a>⁠</p><p><a href=\"https://www.jruby.org/\" rel=\"noopener noreferrer\" target=\"_blank\">JRuby</a>⁠</p><p><a href=\"https://gem.coop/\" rel=\"noopener noreferrer\" target=\"_blank\">gem.coop</a>⁠</p><p><a href=\"https://rubyconf.org/\" rel=\"noopener noreferrer\" target=\"_blank\">RubyConf</a>⁠</p><p><a href=\"https://github.com/pulibrary/orcid_princeton_hanami\" rel=\"noopener noreferrer\" target=\"_blank\">ORCID (Princeton University Libraries Hanami app)</a>⁠</p><p><a href=\"https://github.com/minitest/minitest\" rel=\"noopener noreferrer\" target=\"_blank\">Minitest</a>⁠</p><p><a href=\"https://sidekiq.org/\" rel=\"noopener noreferrer\" target=\"_blank\">Sidekiq</a>⁠</p><p><a href=\"https://www.honeybadger.io/\" rel=\"noopener noreferrer\" target=\"_blank\">Honeybadger</a>⁠</p><p><a href=\"https://www.appsignal.com/\" rel=\"noopener noreferrer\" target=\"_blank\">AppSignal</a>⁠</p><p><a href=\"https://www.fastruby.io/\" rel=\"noopener noreferrer\" target=\"_blank\">FastRuby.io</a></p><p>⁠</p><p><strong>Dead Code Podcast Links:</strong></p><p><br></p><p><a href=\"https://hachyderm.io/@deadcode\" rel=\"noopener noreferrer\" target=\"_blank\">Mastodon</a></p><p><a href=\"https://twitter.com/DeadCodePod\" rel=\"noopener noreferrer\" target=\"_blank\">X</a></p><p><br></p><p><strong>Jared’s Links:</strong></p><p><br></p><p><a href=\"https://supergood.social/@jared\" rel=\"noopener noreferrer\" target=\"_blank\">Mastodon</a></p><p><a href=\"https://twitter.com/jardonamron\" rel=\"noopener noreferrer\" target=\"_blank\">X</a></p><p><a href=\"https://www.twitch.tv/jardonamron\" rel=\"noopener noreferrer\" target=\"_blank\">twitch.tv/jardonamron</a></p><p><a href=\"https://jardo.dev\" rel=\"noopener noreferrer\" target=\"_blank\">Jared’s Newsletter &amp; Website</a></p><p><br></p><p><a href=\"https://docs.google.com/document/d/1aEs3SnxjcuVfrSPkse6oPtBiW3mc3IsDRTctvqrVbqU/edit?tab=t.0\" rel=\"noopener noreferrer\" target=\"_blank\">Episode Transcript</a></p>","author_name":"Jared Norman"}