- Short Ruby Newsletter
- Posts
- Short Ruby Newsletter - edition 126
Short Ruby Newsletter - edition 126
Friendly.rb launches Early Bird tickets, Rails World opens the CFP, and RailsCamp offers scholarships.

Table of Contents
(ad)
Optimize global IT operations with our World at Work Guide
Explore this ready-to-go guide to support your IT operations in 130+ countries. Discover how:
Standardizing global IT operations enhances efficiency and reduces overhead
Ensuring compliance with local IT legislation to safeguard your operations
Integrating Deel IT with EOR, global payroll, and contractor management optimizes your tech stack
Leverage Deel IT to manage your global operations with ease.
π Launches and discounts
π Ryan Kulp launched a free Ruby course: Fundamentals

Source: @ryanckulp
πGregory Brown announced the release of a free sample of his βBug Hunt: Volume 1β guidebook π₯³
Available here, go and check it out: BUG HUNT | skillstopractice.com (you can also pre-order the book):

Source: @skillstopractice.com
π Dave Thomas launched his new book: simplicity. The book is available here: The Pragmatic Bookshelf | simplicity

Source: @pragdave
π Events
π Friendly.rb announced the upcoming Friendly.rb β25 conference, with tickets now available and also accepting Call for Paper submissions

Source: @friendlyrb.com
π Ruby On Rails announced the RailsWorld CFP is now open. For more details, you can check out Ruby on Rails page

Source: @rails
π Irina Nazarova invited Bay Area Ruby enthusiasts to join a new event at New Relic

Source: @inazarova.bsky.social
π Andy Croll announced a new edition of Brighton Ruby Meetup

Source: @andycroll.bsky.social
π Saeed Jabbar announced a new Ruby AI meetup in NYC π½

Source: @saeedjabbar
π Baltic Ruby announced updates to their website for the Riga event, with the main page and lineup now available, and more content coming soon π

Source: @balticruby.bsky.social
π Rails Camp Usa announced some updates about the Rails Camp scholarship

Source: @railscamp_USA
π schwad announced the first BelfastRuby meetup for this year π

Source: @schwad.org
π Ruby Kaigi announced the event schedule is now available:

Source: @rubykaigi
π All about Code and Ruby
π» Code Samples
π»AristΓ³teles Coutinho shared a code sample about preventing direct access to internal components:

Source: [email protected]

Source: [email protected]
οΈοΈπ» Brad Gessler shared a code sample demonstrating Phlex view component

Source: @bradgessler.com
οΈπ» Jakob shared a Ruby code snippet that reads CSV data from standard input, allowing for quick console data parsing

Source: @jakob.codefrwd.com
οΈπ» Steve Polito shared a client project approach on debounce mechanism

Source: @stevepolitodsgn
Here is the solution he came up with π

Source: @stevepolitodsgn
οΈπ» Jonathan Frias shared a tip about adding ordering helpers to models to maintain consistent ordering and improve composition flow

Source: @jonathanfrias99
οΈπ» Ruby Cademy shared a code sample about a new discovery: structure_dump_flags

Source: @RubyCademy
π» Hyacinthe shared a code sample about building a queue with Ractors:
οΈπ» Ahmed Benh shared steps for integrating daisyUI 5.0 with Rails

Source: @Ahmedbenh1
οΈοΈπ» Hans Schnedlitz shared a tip about using ~/.default-gems to auto-install gems with new Ruby installations via ASDF and Mise

Source: @hschnedlitz
οΈπ» Ruby Cademy highlighted Rails halted_callback_hook feature for monitoring halted callbacks

Source: @RubyCademy
οΈπ» Jess Brown shared insights on Active Record OR queries, particularly combining them with AND operations and complex joins. Read the full article here

Source: @bjessbrown
οΈπ» Akinori Musha asked about a Ruby regex behavior:

Source: [email protected]

Source: @[email protected]
οΈπ» Janko MarohniΔ shared a code sample demonstrating how to make Arel more ergonomic with minimal effort
οΈπ»Graceful.Dev shared a code sample about logical operators vs ternary operator

Source: @graceful.dev
οΈπ»Adam Fortuna shared a code sample to show how they populate Redux state from Ruby using IntertiaRails instead of ActionCable

Source: @adamfortuna.com
οΈπ» Fabian shared a tip for serving images directly from Rails to bypass asset pipeline complications

Source: @ffaebi

Source: @ffaebi
οΈπ» Ruby Cademy explained how Ruby's in?
method smartly selects between include?
and cover?
depending on the argument type. See the code here

Source: @RubyCademy
οΈπ» Matheus Richard shared his appreciation for how it
and then
create readable code chains in modern Ruby

Source: @matheusrich
π» Scott Watermasysk shared a tip about re-running RSpec tests with a specific seed using the βseed parameter

Source: @scottw
οΈπ» Hamid Siddiqui shared how handy is to add rate limiting in Rails 8 πͺ

Source: @hamidInventions

Source: @hamidInventions
π Thinking about Code Design
οΈοΈπ JoΓ«l Quenneville highlighted 3 principles he uses to structure complex functions. Also, check the full blog post for more details on his take: Triangle of Separation

Source: @joelquen
οΈπ Greg Molnar noted Rails CSRF protection only covers POST requests, not GET requests that modify data

Source: @GregMolnar
DHH replied with:

Source: @dhh
οΈπ Rich Steinmetz shared optimization tips for Bullet Train apps on Renderβs free tier by reducing Puma workers and thread count to address RAM limitations

Source: @RichStoneIO
οΈπ Josef Strzibny asked about handling conditional redirects in Turbo based on success/failure states, particularly for modals

Source: @strzibnyj
Here are some responses he received (check the full thread on Twitter)

Source: @yarotheslav

Source: @vincentrolea
οΈπStephen Margheim asked if adding a custom allocation code path for a class could affect Object Shapes and YJIT optimization. Check full thread for the entire conversation π¬

Source: @fractaledmind.bsky.social

Source: @byroot.bsky.social

Source: @byroot.bsky.social
οΈπ Nate Berkopec noted on Rails frontend weaknesses:

Source: @nateberkopec
Here are some replies from his post π¬

Source: @bradgessler

Source: @keithschacht
οΈπ Brad Gessler appreciated how clean anchor tags look under link abstractions in Rails, hiding Turbo data attributes while maintaining readability

Source: @bradgessler

Source: @bradgessler
οΈπ Nate Berkopec shared about sharing CSS from another domain:

Source: @nateberkopec
οΈπJean Boussier demonstrated how reversing operands in a comparison (REMOVE_KEY == value
instead of value == REMOVE_KEY
) dramatically improved performance

Source: @byroot.bsky.social
and the PR comment for more explanations
οΈπ Vladimir Dementyev shared his experience pairing with Claude Code to migrate from Minitest to RSpec π§ͺ

Source: @palkan_tula
οΈπ Joel Moss asked Ruby gem authors whether they prefer specifying development dependencies in the gemspec or Gemfile

Source: @joelmoss
and Julik replied

Source: @juliknl
π David Heinemeier Hansson shared his thoughts on using Docker in development only for accessory services:

Source: @dhh
He also posted some benchmarks on his take

Source: @dhh
οΈπGregory Brown shared advice on how to effectively read code by tracing execution paths rather than reading linearly

Source: @skillstopractice.com
οΈπ Rich Steinmetz shared about how they use AI. Here is a part of the long post they shared. You can read it full on Threadreader app

Source: @RichStoneIO (read it on Threadreader app)
π‘Around code (news, findings, books, and more - all about Ruby)
π‘ Charles Oliver Nutter is seeking help verifying third-party libraries on JRuby 10 β¦οΈ

Source: @headius
β€οΈ Why Choose Ruby and Rails
β€οΈ Yaroslav Shmarov compared Laravelβs commercial focus to Rails minimalist open approach π

Source: @yarotheslav
π§° Gems, Libraries, Tools and Updates
π New Gems and Repos
π David Heinemeier Hansson announced a new GitHub extension for local CI sign-offs. Here you can check the repo of this extension: gh-signoff

Source: @dhh

Source: @dhh
πDavide Santangelo published a new gem gitingest - is a command-line tool that fetches files from a GitHub repository and generates a consolidated text prompt for your LLMs
π Davide Santangelo published a new gem called lanet - A lightweight tool for secure and easy peer-to-peer communication on local area networks. Includes a CLI and Ruby API
π§° Updates
π§° Joel Drapper added experimental support for ERB snippets in Phlex:

Source: @joel.drapper.me
π§° Joel Drapper announced an update on Phlex

Source: @joel.drapper.me
π§° Jorge Manrubia announced a new version of idiomorph:

Source: @jorgemanru
π§° Davide Santangelo announced an update to his Gitingest gem and provided an article explaining the usage of it
π§° Avo announced plenty of updates recently - see the Video update, or read the blog post

Source: @avo_hq
π§° Alexis Bernard announced a new version of Active Analytics

Source: @alexis_bernard
π§° David Heinemeier Hansson announced a new Continuous Integration DSL for Rails 8.1. Here you can check the full PR: Structured CI with bin/ci #54693

Source: @dhh
π€Hans Schnedlitz shared a NeoVim keybinding trick

Source: [email protected]
π€ Gavin Morrice asked for help defining "state" in software terms that would be understandable to non-technical people

Source: @MorriceGavin
He got some responses from his community

Source: @mhenrixon

Source: @juliknl
π€Honeybadger.io announced a new EU data region option for users who need to keep their data outside the U.S., with a blog post providing more details

Source: @honeybadger.io
π€ Adam Wathan shared his video series with the focus on high-quality UI π¨

Source: @adamwathan
π€Gregory Brown shared that he's been writing a personal tribute to the art of practice over the past few weeks

Source: @skillstopractice.com
π€ Donn Felker shared his take on how scattered meetings throughout the day destroy developer productivity

Source: @donnfelker
Links from his post:
π€ David Teren shared a thread about MCP( Model Context Protocol). Read the full thread on threadreader app

Source: @davidteren

Source: @davidteren
π€ Alex Yarotsky shared three steps for optimizing multi-column database indexes

Source: @AlexYarotsky
More content: π π π§ π₯ βπΎ
π Any Cable published new edition of their newsletter: Any Cables Monthly #27
π Ruby Weekly published a new edition about On the state of Ractors in Ruby
π Hotwire Weekly published a new edition about Week 10 - Turbo Frames Loading Spinners, when to use Rails views, and more!
π Awesome Ruby Newsletter published a new edition about Issue 459 - What's the Deal with (Ruby) Ractors?
π§ Podcasts
π§ Tim Riley posted a new podcast: Lethal Dependency Injection
π§ David Hill shared new podcast: Brand New Box - Ode to RailsConf
π§ Pablo shared a new podcast about A junior, A Senior and I - on Building a Community
π§ IndieRails posted a new podcast about Garrett Dimon - A Long Winding Journey
π§ Chris Oliver and Andrew Mason published a new article about Advanced Package Management, PostgresSQL, and Mise
π§ The Ruby on Rails Podcast published a new podcast about Episode 533: Catching Up With Nick Schwaderer
π§ Ruby Rogues published a new article about Joe Masilotti on Hotwire Native Updates, Challenges, and Opportunities - RUBY_672
π₯ Videos
π₯ Dave Kimura posted a new video about Conditional Queue
π₯ Ruby Central shared a new video: Ruby Talks: Chris Oliver on Becoming Co-Chair for RailsConf 2025
π₯ Thoughtbot published a new video: Implementing LLM features with new Rails gem, Active Agent
π₯ Rails Quest By Kaleb Lape published a new article about Rails 8 + Usage Credits: Build a Full Credit System in Your App in 10 Minutes
π₯ CarlaStabile posted a new video: Coffee & Code
π₯ Landon Gray published a new video: HR & Payroll Assistant
βπΎ Articles
Whatβs new π
π Avo published a new article: Social login with the Rails 8 auth generator
π Jean Boussier posted an article: The Pitchfork Story
π Noel Rappin shared Better Know A Ruby Thing: Method Lookup β Noel Rappin Writes Here
π Kevin Sylvestre published a new article about OmniAI 2.0: An LLM Library for Anthropic, DeepSeek, Google, Mistral and OpenAI
π Camillo Visini published a new article about Phlex for Rails Emails: Action Mailer without ERB
π Alessandro Rodi published a new article about Going beyond the Jamstack with dato-rails
π Ryan Bigg published a new article about Decorating arrays with SimpleDelegator
π Radan Skoric published an article about Rails 8 assets: Break down of how Propshaft and importmap-rails work together
π Daniela Baron published a new article about Migrating From Rails Secrets to Credentials
π Brad Gessler published a new article about Pick the wrong tool for the job
π Jon Sully published a new article about An Opinionated Guide to Configuring Rails on Heroku
π Rails Designer published a new article about Build a Notion-like editor with Rails, part 2
π Jess Brown published an article about Active Record OR with Merge
π Mika Henriksson published a new article about Empty Jobs, Empty Promises
π Paul Kim published a new article about Set up Action Cable with Rails and React
π Jose Farias published a new article on his new series Object-Oriented Rails: Itβs none of their business and about Just Write English
π JoΓ«l Quenneville published an article about Triangle of Separation
π Akshay Khot published a new article about New Series on Rails Controllers and about Working with HTTP Requests in Rails
π Josef Strzibny published a new article The pragmatic approach to testing Rails applications
π Andrey Koleshko published a new article about New UI Features for Schema Tracking and Migration Management in ActualDbSchema
π Louis Antonopoulos published a new article about Seeds...of Destruction!
π MirosΕaw PragΕowski published a new article about Ractor - getting started
π Saeloun Blog published a new article about Bulk Migrations by Passing validate(_check)_constraint through change_table
π Piotr RomaΕczuk published a new article about Is your Rails application special?
π Blazej published a new article about How I Stay Motivated While Learning Ruby (Even When Itβs Hard)
π Josef Strzibny published a new article about The pragmatic approach to testing Rails applications
π Unagi Software published an article about Hotwire Turbo Frames: Add Seamless Loading Spinners in Rails
π Mike Dalessio shared Open Source Update / March '25
π Rich Steinmetz published a new article about How I use AI coding tools as a Rails dev
How-TOs π
π Davide Santangelo shared a new article about Building a Vector Database in Ruby: A Comprehensive Guide and about Building a Ruby Gem with CLI and Networking Capabilities: The Lanet Story
π Ender Ahmet Yurt published a new article about Adding SessionTestHelper to Existing Rails Project
π Bill Tihen published a new article about Rails: Table Selection Form (Article 2 of 2)
π Henry Maddocks published a new article about Build Ruby with YJIT and Rbenv
π Vini Oyama published a new article about Building a Multi-Page Guided Tour in Ruby on Rails with Driver.js
βοΈ Andrey Sitnik published a new article How to make web videos way smaller in 2025 using the AV1 codec
βοΈ Jon Sully published a new article about The Developer's Guide to Avoiding PaaS Lock-in
Reply