- Short Ruby Newsletter
- Posts
- Short Ruby Newsletter - edition 123
Short Ruby Newsletter - edition 123
The one with Ruby 3.4.2 release and a new JRuby release, while Aaron Patterson article was on front page of Hacker News

Table of Contents
(ad)
Hereβs Why Over 4 Million Professionals Read Morning Brew
Business news explained in plain English
Straight facts, zero fluff, & plenty of puns
100% free
π Launches and discounts
π Joel Drapper announced the release of Phlex 2.0:

Source: https://www.phlex.fun/
π Offer Lab launched their own product offerlab.com

Source: @OfferLabHQ
π Donn Felker announced the Hotwire Native Android course is now complete:

Source: @donnfelker
π Wilbert Liu launched a new tool Markdown to email:

Source: @wilbertliu
π Ruby Central shared a new initiative: community spotlight

Source: @rubycentralorg
π Andrea Fomera announced alpha testing for Spin CLI

Source: @afomera.dev
π Event
π Ruby Central announced the openings for Scholars and Guides program

Source: @rubycentral.org
π You can find the full list of conferences, meetups, open CFPs on rubyconferences.org
π All about Code and Ruby
π k0kubun announced the release of Ruby 3.4.2
π postmodern-mod3.bsky.social brings good news: Ruby 3.4.2 is ready to install π₯³

Source: @postmodern-mod3.bsky.social
π Aaron Patterson published an article about Tiny JITs for a Faster FFI in CRuby
You should also check the comments on Hacker News
π Peter Cooper shared a GitHub Gist with some conventions to help build Rails apps using LLMs

Source: @cooperx86
π» Code Samples
οΈπ» Ahmed Nadar shared a code sample about Turbo Streams: Immediate vs. Delayed broadcasting

Source: @ahmednadar
οΈοΈπ» Kyrylo Silin shared some code samples about using Comparable#clamp method

Source: @kyrylosilin
The code sample he provided first:

Source: @kyrylosilin
Simplifies to this after refactoring β¨:

Source: @kyrylosilin
οΈπ» Michael Chaney shared a bug story about a trailing comma in his code

Source: @MichaelDChaney
οΈπ» Alessandro Rodi shared a way to customize Turboβs failed request messages

Source: @coorasse
οΈπ» Ruby Cademy shared how handy has_many macros are in Rails

Source: @RubyCademy
οΈπ» OKURA Masafumi shared a code sample about Rubyβs string justification methods:
π» Dave Copeland shared a handy Ruby pattern for smarter factory methods

Source: @davetron5000.com
And then follows up with:

Source: @davetron5000.com
οΈπ» Ruby Cademy shared a smoother way to handle unknown attributes

Source: @RubyCademy
οΈπ» Bob Head shared a trick for quick sitemap refresh with Kamal

Source: @BobHeadMaker
π» Prem Sichanugrist shared his discovery π΅πΌββοΈ: the absence of no implicit βitβ in rescue blocks
and Xavier Noria pointed to a solution β‘οΈ:

Source: @fxn.bsky.socialβ¬
οΈπ» Ruby Cademy shared a code sample about using to_set for array comparison

Source: @RubyCademy
π» Jason Charnes shared a code sample about numeric nonzero

Source: @jmcharnes.bsky.social
π» Henrik Hauge BjΓΈrnskov posted how to use βclass_variantsβ with Flex
Joel Drapper brought some alternatives for Henrikβs code:

Source: @joel.drapper.me

Source: @joel.drapper.me
οΈπ» Ruby Cademy posted a code sample about defining a custom ActiveModel type

Source: @RubyCademy
π Thinking about Code Design
οΈπ Ismael Celis shared a code sample about real-time view layer event sourcing

Source: @ismaelcelis.com

Source: @ismaelcelis.com

Source: @ismaelcelis.com
π Xavier Noria shared insights about Ruby method performance optimization:

Source: @fxn.bsky.social

Source: @fxn.bsky.social
οΈπ Igor Alexandrov published that his team is migrating to Minitest

Source: @igor_alexandrov
And his network immediately replied π¨βπ»:

Source: @MichaelDChaney

Source: @dan_wetherald

Source: @_ChrisCovington
οΈπ Irina Nazarova shared some insights from SFRuby:

Source: @inazarova
π Noel Rappin asked about common Bundler/Rubygem troubleshooting scenarios
Here are some responses:

βͺ@bradgessler.comβ¬

@davetron5000.comβ¬
π Xavier Noria shared some words on clearer module decoration

Source: @fxn.bsky.social
Plus an extra information:

Source: @fxn.bsky.social
π‘Around code (news, findings, books, and more - all about Ruby)
π‘ Hiroshi Shibata announced updates to Ruby branch maintainers:
π‘ Dean De Hart reminded us about a Game Boy emulator written in Ruby: Ruby Boy

Source: @Deaniocom
π‘ Zil N asked about Rails productivity hacks

Source: @zilasino
And the responses rolls in π€©:

Source: @marcosbondel
Here is the presented gem by William Estoque: awesome-print

Source: @westoque

Source: @BilalBudhani
π‘ Avi Flombaum reflected on AI code generation with the focus on Hotwire and Stimulus

Source: @aviflombaum
β€οΈ Why Choose Ruby and Rails
β€οΈ Elvinas Predkelis shared his positive amazement with the Rails ecosystem:

Source: @predkelis
β€οΈ Jorge Manrubia highlighted the impressive productivity of 37signals team

Source: @jorgemanru
β€οΈ Michael Koper reinforced Jorgeβs point: Rails indeed empowers small teams to build big things:

Source: @michaelkoper
β€οΈ Mark Allen shared the capabilities and the power you hold when building apps, dismissing the downfall of Ruby on Rails:

Source: @markhenryallen
β€οΈ Michael Schwab shared about Ruby on Rails:

Source: @schwabsauce
π§° Gems, Libraries, Tools and Updates
π New Gems and Repos
π Alessandro Fazzi published a new repo alessandro-fazzi/ruby-devel-notebook: Jupiter notebook docker image with ruby kernel
π Nick Sutterer published a new gem trailblazer-test - Super strong, non-verbose tests for your operations.
π Javi Ramirez introduced a new gem of usage_credits: π³β¨ Add usage-based credits to your Rails app

Source: @rameerez
π§° Updates
π§° J Ruby Dev Team rolls out a new version of JRuby - 9.4.12.0
π§° Phusion B.V. presented a new version of Passenger 6.0.25
π§° Brad Gessler released an update on mailto

Source: @bradgessler.com
π§° Ismael Celis announced an update about his event sourcing app with a demo

Source: @ismaelcelis.com
π§° Bozhidar Batsov announced a new version of RuboCop
Here is also the plugin migration guide
π§° Samuel Williams announced a new version of rocketry/rubydns

Source: @ioquatix
π§° postmodern-mod3.bsky.social announced an update for Ronin

Source: @postmodern-mod3.bsky.social
π€ Zeke Gabrielse spoke about the founderβs paradox

Source: @_m27e
π€ Nate Berkopec shared some thoughts on web performance metrics

Source: @nateberkopec.bsky.social
π€ Michael Chaney talks about the importance of using constants and meaningful names instead of magic numbers

Source: @MichaelDChaney

Source: @MichaelDChaney
π€ Andrew Atkinson shared his experience with query optimization

Source: @andyatkinson.com
This post brought the following questions:

Source: @andyatkinson.com

Source: @andyatkinson.com
π€ Justin Jackson shared his thoughts on Why AI Won't Replace Web Developers

Source: @justinjackson.ca
More content: π π π§ π₯ βπΎ
π This Week In Rails published a new edition about Routes Lookup Optimizations, PostgreSQL Alter Table improvements and more!
π Ruby Weekly published a new edition about Using JITs for faster FFI in Ruby
π Hotwire Weekly published a new article about Week 07 - Hotwire Native Cameras, OfferLab's Success, and more!
π Awesome Ruby Newsletter published a new edition about Issue 456 - Tiny JITs for a Faster FFI
π§ Podcasts
π§ Pablo shared a new episode about: On tests and RSpec
π§ Remote Ruby published a new episode about: So Long, and Thanks for All the BETs! - Remote Ruby
π§ The Ruby On Rails Podcast published a new episode about Episode 532: Hotwire Native with Joe Masilotti
π₯ Videos
π₯ Thoughtbot published a new video about Live coding on AI projects
οΈπ₯ Irina Nazarova shared a link to the livestream from SFRuby Meetup 2025
π₯ Boulder Ruby published new video resources: Presentation Night Meetup Videos
π₯ Dave Kimura shared a new video about Frozen String Literal
Jason Sweett published a new video about Performance Improvements for Build Navigation - Live Coding on SaturnCI
Kaleb Lape published a new video about Rails 8 Tutorial 2025 | Add Payments in 5 Minutes with the Pay Gem π°
βπΎ Articles
Whatβs new π
π Ruby Gems published a new article about January 2025 RubyGems Updates
π Greg Molnar published an article about The state of Security in Rails 8
π Aaron Patterson posted an article about Tiny JITs for a Faster FFI in CRuby
π Pat Shaughnessy published a new article about Using Different Size Pools
π Charles Oliver Nutter published a new article about Boosting JRuby Startup with AppCDS and AOT caching
π Shane P. published an article about Turbo Streams and design
π Dave Thomas published a new article about Source Files: Keep Code Local
π Michiharu Ono published an article about How (and How NOT) to Name Rails Models Beyond the Obvious
π Josef Strzibny published a new article about Combining multiple sitemaps with a sitemap index
π Davide Santangelo published an article about Building a Tiny Language Model (LLM) in Ruby: A Step-by-Step Guide - V3
π Kyrylo Silin published a new article about OKLCH CSS variables for Tailwind v4 colors
π Nemwel Boniface published an article about Stimulus.js Explained: A Beginnerβs Guide for Ruby on Rails Developers - DEV Community
π Saeloun Blog published a new article about Rails 8 Adds A New Script Folder By Default And Scripts Generator.
π Jeremy Smith shared an article about Electronic Signatures with Rails
π Pedro Leonardo published an article about Email Verification with Sent Codes in Ruby on Rails without Devise
π Julie Kent published an article about Rails async queries by example
How-TOs π
π Rails Designer published a new article about How to Send Requests from Stimulus Controllers
π JoΓ«l Quenneville published a new article about How to customize ids in URLs in your Rails app
π Brooke Kuhlmann published a new article about RSpec Configuration
πDave Kimura published a new article about How to fix asdf 0.16.x which "broke" my ruby version
βοΈ Pascal LalibertΓ© shared an article entitled Not Killing It where he talks about what comes with progress
βοΈ Rails Designer published a new article about Build Features from the Outside In
βοΈ Zeke Gabrielse published a new article about The outlier paradox
βοΈ Reni Mercier published a new article about How I use git add βpatch for reviewing my work
βοΈ Ryan Bigg published a new article about Ghosts 'n' Stuff
βοΈ Victor Cobos published a new article about Hide Scrollbars While Keeping Scrolling Intact
Reply