DiscoverThe Rails Changelog
The Rails Changelog
Claim Ownership

The Rails Changelog

Author: Emmanuel Hayford

Subscribed: 20Played: 155
Share

Description

Stay in the loop with development news around Ruby on Rails and Ruby. Hosted by Emmanuel Hayford.
28 Episodes
Reverse
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
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
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 
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!
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
In this interview with Rosa Gutierrez of 37signals, Rosa elaborates on her work, particularly her contributions to Solid Queue and its implementation alongside Active Job. She describes the motivations behind developing Solid Queue, addressing performance issues with existing systems like Resque, and transitioning some workloads to database-backed queues. Rosa also explains the technical details of Solid Queue's architecture, including supervisor and dispatcher roles, how it handles job prioritization, concurrency, and the challenges of ensuring performance in high-load environments. Essential advice is provided on when to use or avoid Solid Queue, depending on specific needs and existing setups.Solid Queue37signals
In this episode, Bobbilee, a pivotal figure in the Rails community, shares the inspiring journey behind Rails Camp West. Bobbilee talks about the origins and motivations for creating Rails Camp West, rooted in her experiences at big tech conferences and her desire to create a more intimate, laid-back environment for tech enthusiasts. She highlights the first camp in 2014 and how it has grown into a beloved annual event with a 75% return rate among attendees, showcasing the community’s strong bonds.Bobbilee delves into the distinctions between Rails Camp West and the original Australian Rails Camp, emphasising the intentional smaller scale of her gatherings to foster deeper connections and more effective networking among participants. Both camps, though different in execution, share a spirit of collaboration and passion for Rails and Ruby.Rails Camp West
Andrzej Krzywda discusses event sourcing, event-driven architecture, and Domain-Driven Design (DDD) in the context of Ruby on Rails applications. He explains the concept of bounded contexts and how they relate to communication between different modules. He also shares insights on when and why to apply DDD to Rails applications, particularly in cases where the application becomes complex and difficult to maintain. Andrzej explores the challenges and benefits of migrating an existing Rails app to an event-driven architecture and highlights advanced event sourcing concepts such as snapshotting, projections, and versioning. In this conversation, Andrzej Krzywda discusses event sourcing and DDD in Rails applications. He explains the concepts of snapshotting and projection, which are techniques used to optimize performance and retrieve specific data from event streams. Andrzej also delves into the challenges of event versioning and how it can be managed in Rails applications. Additionally, he shares insights about the wroclove.rb conference, its history, and its focus on advanced and deep technical topics.TakeawaysEvent sourcing is a persistence mechanism that persists all the little changes that happen to a specific object, while event-driven architecture is a way of building software modules that communicate with events.DDD involves splitting a system into contexts or domains and using events to communicate between them. It can be applied to Ruby on Rails applications, particularly in cases where the application becomes complex and difficult to maintain.Migrating an existing Rails app to an event-driven architecture can help address issues with large classes, complex associations, and lack of modularity.Advanced event sourcing concepts such as snapshotting, projections, and versioning can be used to optimize performance and manage data integrity in event-driven applications. Snapshotting and projection are techniques used in event sourcing to optimize performance and retrieve specific data from event streams.Event versioning is a challenge in event sourcing, but it can be managed by introducing new event versions and implementing upcasters to convert old events to new versions.wroclove.rb is a Ruby and Rails conference in Wrocław, Poland, that focuses on advanced and deep technical topics.The conference aims to inspire, educate, and challenge the status quo in the Ruby and Rails community.Rails Event Store and Eventide are two libraries that facilitate the implementation of event-driven architectures in Rails applications, each with its own philosophy and approach.wcrolove.rb Ruby and Rails ConferenceRailsEventStoreArkencyRails Architect Masterclass[Video] Event Sourcing Demystified: A Simple-To-Understand Guide
The conversation covers various aspects of RailsConf, including its mission, organization, and selection process for talks. The chapters delve into the background of the participants, the role of Ruby Central in organizing RailsConf, and the significance of the conference in the Ruby and Rails communities. The discussion also explores the unique features of RailsConf 2024, such as the community day and hack day, as well as the selection process for talks and the responsibilities of the program committee. Additionally, the conversation touches on the criteria for choosing conference locations and the process of selecting keynote speakers. In this conversation, Emmanuel Hayford interviews Andy Croll and Ufuk Kayserilioglu about their experiences with conferences like RailsConf and Brighton Ruby. They discuss the acceptance and rejection process for conference speakers, the origins and purpose of Brighton Ruby, the importance of personal interaction at conferences, the dynamics of partnering with hotels, the sponsorship opportunities for RailsConf, and the benefits of attending conferences for personal and professional growth.TakeawaysRailsConf is a long-running conference that celebrates the Rails framework and brings together the Ruby and Rails communities.Ruby Central plays a crucial role in organizing RailsConf and other Ruby-related projects, maintaining and supporting the Ruby commons that the community depends on.RailsConf 2024 will feature a community day and hack day, providing opportunities for collaboration, learning, and contributing to open source projects.The selection process for talks at RailsConf involves a program committee that ranks and evaluates proposals based on fit, quality, and presentation skills.RailsConf aims to have a diverse range of speakers and topics, with a focus on building with Rails and showcasing different ways of using the framework.The location of RailsConf changes each year, with a focus on accessibility and transportation options for attendees.Keynote speakers at RailsConf are selected based on their relevance to the conference theme and the community's interests.The conference selection process involves a balance of reaching out to potential speakers and reviewing submissions through a call for proposals (CFP). Conference rejections should not be discouraging, as there are limited slots and many applicants. Persistence is key.Brighton Ruby is a single-track, single-day event held in Brighton, UK, that provides a friendly and intimate atmosphere for Ruby and Rails developers.First Ruby Friend is a mentorship program that pairs experienced developers with early-career developers to provide guidance and support.Partnering with hotels allows conferences to secure room blocks for attendees, ensuring convenient and affordable accommodation.Sponsorships for RailsConf offer companies the opportunity to support the Ruby and Rails community while gaining visibility and networking opportunities.Attending conferences like RailsConf and Brighton Ruby provides valuable opportunities for personal and professional growth, including building relationships, gaining insights from talks, and experiencing the sense of community.
Senior Developer Jenny Shen from Shopify joins me to discuss RubyGems. In this episode, we unravel the intricate mechanics of dependency resolution within RubyGems, exploring topics such as compact indexes and more. Our discussion extends to the paramount issue of security, where we examine the proactive measures undertaken by the RubyGems team to fortify gems for every Ruby programmer.  PubGrub version solving algorithmThe New Rubygems Index Format by Andre ArkoTrusted Publishing on RubyGems.org
In this monologue, I've highlighted just a few of the features that I'm eagerly anticipating in Rails 8. As the first episode of the year, I've also addressed some housekeeping matters, determining the optimal episode production capacity and pace. Most importantly, I want to express my gratitude to all the listeners of The Rails Changelog – thank you for your unwavering support.Rails 8 milestones
Xavier Noria of the Rails Core team adeptly delves into the intricacies of Zeitwerk in this episode. Our discussion extends to elucidate the distinctions among autoloading, eager loading, and reloading, shedding light on the nuanced processes that transpire during app deployment. Subsequently, we delve into an exploration of the technical challenges currently confronting Ruby on Rails.
Rafael França, an esteemed member of the Rails Core team, is our featured guest in this episode. Join us as he delves into his journey with Rails, sharing insights on his initiation into the framework and the eventual path that led him to become an integral part of the core team. Our conversation explores the intricacies of decision-making within the core team, shedding light on the prioritization of pull requests (PRs), offering a sneak peek into the upcoming Rails 8, and providing valuable tips on getting your PRs successfully merged. Tune in for an in-depth discussion covering these topics and much more!Rafael França's Book RecommendationRefactoringCrafting Rails Applications
In this episode, Jorge Manrubia provides insights into his experience working at 37signals. Our conversation delves into the intricacies of Active Record encryption, and we explore the latest advancements in Turbo 8 technology.Jorge Manrubia's Book RecommendationPragmatic Thinking And Learning Refactoring Domain-Driven Design Smalltalk Best Practice Patterns Design Patterns TurboActive Record EncryptionSpektr Security
Andrew Atkinson, the esteemed author of "High Performance PostgreSQL for Rails," joins me in this episode for an in-depth conversation. We delve into the myriad features that Ruby on Rails developers can harness to optimize PostgreSQL within their applications.Stay tuned throughout the episode for an exclusive discount code, which will grant listeners a generous 25% off when purchasing "High Performance PostgreSQL for Rails." Don't miss out on this valuable opportunity to enhance your development skills!
This special episode was recorded live at Rails World, the ambient crowd noise gives that fact out. Rails World was a huge success! In this episode, I got to sit face-to-face with Joe Masilotti. Joe's talk at Rails World was terrific! We got to discuss the pros and cons of Turbo Native and a whole lot more. This is Joe MasilottiTurboNavigatorTurbo iOSBuzzsprout Podcast HostingSupport The Rails ChangelogSubscribe to Rails's YouTube channel
In this episode, I'm joined by DHH to discuss Kamal, The Rails Foundation, Rails 8, Delegated Types, On Writing Software Well and a whole lot more! This episode is packed and a must-listen!
Thanks to Buzzsprout one Rubyist can get a free ticket to Rails World in October this year in Amsterdam, follow the link below for details. Change is good... sometimes. Two days ago Basecamp changed the name of its deployment tool from MRSK to Kamal. Rails 7.1 will have a new `capture_emails` help that's quite a bit more elegant, check it out.Rails World ticket giveawayFrom MRSK to KamalNew capture_emails test helper
Dave Kimura of Drifting Ruby fame joins me to discuss the importance of Ruby on Rails documents. We talk specifically about improved documentation around Active Storage and Active Record encryption, then dive into the new callback for when has_secure_token is triggered.Improved Active Storage docs (This PR was updated)Improved Active Record Encryption docsEagerly cast serialized query attributesA callback for has_secure_token
The with_routing helper method can now be used at the class level, added to that, the new autoload_lib configuration options mean we can autoload and eager load library code inside of our Rails applications. Oh, and we have the show's first sponsor -- AppSignal! AppSignal APM offers error tracking, performance monitoring, dashboards, host metrics, and alerts. Built for Ruby, Ruby on Rails, Elixir, Node.js, and JavaScript.A class-level testing helperA config.autoload_lib configuration optionAppSignal is our new sponsor!
loading