In this episode, Jason and Andrew are joined by guest, Vladimir Dementyev of Ruby on Rails and Evil Martians fame. Today, they touch on Vladmir’s new book on designing Rails applications, and dive into the importance of sticking to Rails principles, even in the era of microservices. Vladimir shares insights on working as a consultant on legacy Rails projects and the challenges that can arise when codebases deviate from Rails conventions. We’ll also explore the evolution of Rails applications, the power of open source contributions, and Vladimir’s journey to becoming a recognized figure in the tech community. Also, Vladimir introduces AnyCable, a performance-oriented solution for real-time communication in Rails applications and provides insights into its capabilities and evolution. Hit download now to hear much more!
[00:02:29] Vladimir briefly describes his book on designing Rails applications.
[00:05:40] Vladimir talks about sticking to Rails principles and not injecting foreign patterns into Rails applications and emphasizes the importance of maintaining a Rails oriented approach even when using microservices.
[00:08:33] We hear about Vladimir working as a consultant on legacy Rails projects and the challenges of maintaining codebases that deviate from Rails principles.
[00:10:29] Jason asks for more examples of where the Rails framework ends and developers have to steer their own course. Vladimir discusses the structure of the app folder in Rails applications and mentions the trend of putting everything in the model folder, and he talks about how Rails applications changed during the API-only era, leading to a shift away from Rails conventions and MVC patterns.
[00:13:41] Andrew expresses how he feels vindicated for sticking to writing Rails apps even when the trend shifted towards API-only development.
[00:15:08] Vladimir shares his journey to joining Evil Martians, starting as a solo developer, and his attraction to the simplicity of Rails. He mentions his experiments with different design patterns and how joining Evil Martians provided a collaborative environment for open source work.
[00:19:15] Vladimir talks about how Evil Martians encouraged new engineers to propose conference talks, leading him to present on AnyCable, which sparked his open source contributions.
[00:20:18] He talks about how it took a couple of years for his efforts, including writing blog posts and working on AnyCable, to gain recognition and production users outside of Evil Martians. Also, he explains how writing became a way for him to cope with stress and how it contributed to the company’s visibility and recognition in the tech community.
[00:26:20] We hear about Evil Martians’ shift in focus from consumer products to developer tools and how they use and contribute to products built by others. Vladimir briefly discusses HTTPie, and how they helped with its development.
[00:28:44] Jason brings up AnyCable, and Vladimir tells us what it is, what problem it solves, and the benefits of using it. Also, he explains how AnyCable allows for seamless replacement of Action Cable in existing applications and its Go-based WebSocket server.
[00:32:16] Vladimir mentions that AnyCable has evolved over seven years to offer additional features, including support for different transports and service-sent events, making it versatile for various use cases.
[00:34:08] Vladimir discusses the versatility of AnyCable, highlighting that it can be deployed anywhere and used with platforms beyond Rails. He mentions that AnyCable is becoming the default choice for handling WebSockets in Rails applications as they continue to expand their reach into other ecosystems.
[00:38:09] We hear about some upcoming features for AnyCable, including presence tracking, and plans to make AnyCable compatible with other ecosystems. Vladimir teases a new feature he’s working on for Rails and Turbo.
[00:43:04] Andrew shares that he used to read Vladimir’s code on GitHub to learn new patterns and gain inspiration for his own work. He mentions reading code from different libraries and ecosystems is a powerful way to expand one’s toolkit for problem-solving.
[00:43:47] Vladimir suggests the idea of a podcast or show where experts review codebases and discuss patterns, techniques, and the rationale behind certain code decisions. He believes it could be a great way to learn and share knowledge.
[00:45:36] Jason shares that he appreciates Vladimir’s contributions to Ruby on Rails and the high-quality content shared by Evil Martian’s on their blog.
[00:46:36] Find out where you can find Vladimir online.
Panelists:
Jason Charnes
Andrew Mason
Guest:
Vladimir Dementyev
Sponsor:
Honeybadger
Links:
Jason Charnes Twitter
Chris Oliver Twitter
Andrew Mason Twitter
Vladimir Dementyev Twitter
Vladimir Dementyev GitHub
StimulusReflex Discord
Evil Martians
Layered Design for Ruby on Rails Applications: Discover practical design patterns for maintainable web applications by Vladimir Dementyev
AnyCable
HTTPie
Rails World 2023
Ruby for All Podcast
Moving From Consulting To Products With Andrew Sabetta
Kasper Timm Hansen from the Rails Core Team
Code Metrics with Kevin Murphy
Pay V3 & Coding without Resposibilities
MEGA Crossover Episode (The Bike Shed x Rails with Jason x Remote Ruby x Ruby on Rails Podcast)
Now We're A Webpacker Podcast
Learning in Public | Alpine & Inertia
Collin Jilbert: Bootcamps, Ruby Radar, and finding a job as a Junior Rails Developer
How Chris and Andrew Became 10X Black Hats
Read the Logs & Version Your Gems
Rails Jobs: How to Win Friends and Influence People
Kubernetes, JSX for Ruby, and more with Cameron Dutro
Jason Joins Team HAML?
Rails' new Request.js library, Ruby Radar, and CSS for Email
Announcing RubyRadar, new Rails 7 features, and Turbo Native Registration
Joined by CJ Avilla from Stripe
Joined by Jason Swett
Joined by Andrea Fomera, Tony Hawk, and starting a Rails Hackathon!
Building iOS apps using Hotwire / Turbo.js with Joe Masilotti
Railsconf Talk Success, Request Variants, Deploying to Render, and Caddy Server
Create your
podcast in
minutes
It is Free
Navigating Life After 40
Science of Reading: The Podcast
The Minimal Mom
Financial Coaching for Women: How To Budget, Manage Money, Pay Off Debt, Save Money, Paycheck Plans
Old Fashioned On Purpose