028: Discussing Ruby's Data class, some Ruby quirks with Victor Shepelev
In this episode, I’m joined by Victor Shepelev, a member of the Ruby Core team and the author of Ruby’s new Data class. We dive into why Ruby needed the Data class, exploring how it fits into the language and enhances Ruby’s capabilities. Victor also shares insights on some other exciting Ruby features, including Numbered Block Parameters, the "it" keyword, and the growing role of functional programming in Ruby.Beyond coding, Victor has a unique perspective as he’s officially enlisted in the Ukrainian Army. I had the chance to talk with him about what it’s like to balance life as a Rubyist and a soldier, and we discuss meaningful ways to support him and Ukraine.Try Mailtrap for freeRuby Data ClassRuby ChangesSupport UkraineUseless syntax sugar”: Numeric block parameters
--------
33:29
027: Migrating a Rails Monolith from MySQL to Trilogy with Adrianna Chang
In this episode, I sit down with a seasoned Rails engineer to dive into the technical intricacies and community-building work that power the Ruby ecosystem. Adrianna, who currently works as an engineer at Shopify shares insights into their role, their experience with the vibrant WNB.rb community, and what goes into organising meetups focused on all things Ruby and Rails.We take a deep dive into Trilogy, Shopify’s custom implementation of the MySQL protocol. Adrianna unpacks the motivation behind developing Trilogy, the design choices that distinguish it from the traditional libmysqlclient library, and the trade-offs they faced. We also discuss the challenges of migrating from MySQL 2 to Trilogy, particularly around compatibility and maintaining a seamless CI/CD pipeline throughout the process.Listeners will learn about the performance benefits Trilogy offers, how Shopify overcame the obstacles of database migration, and the future roadmap for Trilogy’s development in Rails. Finally, Adrianna reflects on the books that have been instrumental in shaping their career, offering valuable recommendations for developers at all levels.Try Mailtrap for freeMigrating Shopify’s Core Rails Monolith to Trilogy - Rails World 2023TrilogyWNB.rb
--------
52:50
026: Exploring Rails' Default Debugger with Stan Lo
The debugger you didn't know you needed. Ruby comes with an official debugger called Debug, which is now included in new Rails applications. Surprisingly, many Rails developers are still unaware of just how powerful this tool is. In this episode, Stan and I dive into its capabilities, exploring how it enhances the debugging process and makes troubleshooting more efficient.DebugThe Startup of You
--------
33:59
025: Rails, Compilers & Profilers with Aaron Patterson
As you'd expect, any conversation with Aaron inevitably involves Ruby, Rails, compilers, and profiling. In this episode, we delve into all these topics. Enjoy!
--------
49:32
024: Structuring Rails Apps with Matt Swanson
In this conversation, Matt discusses his podcast Yagny FM and the motivation behind it. He also talks about his approach to open source contributions within the Rails ecosystem. Matt shares his thoughts on Hotwire and the misconception of using all its features. He discusses the trade-offs between basic conditionals and feature management tools in terms of long-term maintainability and scalability. Matt also touches on the use of feature flags and how to balance simplicity with increasing complexity over time. Lastly, he briefly mentions his experience with background jobs and the potential move to Solid Queue. In this conversation, Matt Swenson discusses considerations for choosing job processors in Rails applications, the benefits of using ViewComponent for front-end development, and his experience working at Arrows, a B2B SaaS company.Matt's tweet: "IMO a Hotwire app should be like 85% Drive, 10% Frames, 5% Streams -- often I see people (including articles/guides) that have it almost completely flipped."Feature Flags: The stupid simple way to de-stress production releasesSolid Queue ConsiderationArrows