Short Ruby Newsletter - edition 120

The one about the mythical IO-bound Rails app and where the community debates again the usefulness of Service Objects

Table of Contents

(ad)

Seeking impartial news? Meet 1440.

Every day, 3.5 million readers turn to 1440 for their factual news. We sift through 100+ sources to bring you a complete summary of politics, global events, business, and culture, all in a brief 5-minute email. Enjoy an impartial news experience.

πŸš€ Launches and discounts

πŸš€ Chris Oliver is launching a complete Hotwire course!

Source: @excid3

πŸš€ Aaron Francis announced their partnership with Stephen Margheim for their first rails course highleveragerails.com

πŸ“… Events

πŸ“… Balticruby extended call for proposals till 1st February, 2025

Source: @balticruby

πŸ“… Wroclove.Rb has opened their call for proposals for conference happening from April 11-13, 2025

Source: @wrocloverb

πŸ‘‰ All about Code and Ruby

πŸ“” Jean Boussier published a new article about The Mythical IO-Bound Rails App

Jean Boussier published also two more very interesting articles about Instrumenting Thread Stalling in Ruby Applications and about Why Does Everyone Hate fork(2)?

πŸ“” Noel Rappin published an article about Better Know A Ruby Thing: Singleton Classes

πŸ’» Code Samples

οΈπŸ’» Xavier Noria asked a question about checking presence:

Ara replied with:

Source: @hacopian.de

οΈπŸ’» Joey Wang shared a code sample to list nested app.call chain in Ruby

οΈπŸ’» Matheus Richard shared a sample on how to use it to improve readability

Source: @matheusrich

οΈπŸ’» Ruby Cademy shares an example on application of find_sole_by()

(ad)

Drowning In Support Tickets? Maven AGI is here to help.

Maven AGI platform simplifies customer service by unifying systems, improving with every interaction, and automating up to 93% of responses. Seamlessly integrated with 50+ tools like Salesforce, Freshdesk, and Zendesk, Maven can deploy AI agents across multiple channelsβ€”text, email, web, voice, and appsβ€”within days. Companies like Tripadvisor, ClickUp, and Rho slash response times by 60%, ensuring quicker support and exceptional customer satisfaction. Don’t let support tickets slow you down

οΈπŸ’» Sebastian Wilgosz tells us how to have default gems installed for new ruby versions automatically

Source: @sebwilgosz

Source: @jchibbard

οΈπŸ’» Ruby Cademy shared a rails command line code to generate polymorphic references

Source: @RubyCademy

Here is how to control method visibility using delegate:

Source: @RubyCademy

οΈπŸ’» Nidhi Sarvaiya shared code samples using β€˜it’ block parameter

πŸ’» Ara Hacopian shared:

Source: @hacopian.de

πŸ’» Joel Drapper shared a code sample about data sturctures in Plume

πŸ’» Kyrylo Silin shared a code sample about using it:

Source: @kyrylo.org

πŸ’» Kuba Suder shared two Ruby scripts for printing statistics about users on Bluesky: scans listed accounts and scans your home timeline:

Source: @mackuba.eu

πŸ“ Thinking about Code Design

οΈοΈπŸ“ Nate Berkopec talks about how you are missing out on saving your application’s memory usage if you aren’t making use of jemalloc

οΈπŸ“ Mika Henriksson talks over the discussion that frameworks are like urbanism

Source: @mhenrixon

οΈπŸ“ Gavin Morrice shared about PORO naming:

οΈπŸ“ Jason Swett shared his thoughts on the argument that service objects makes code easier to test:

Source: @JasonSwett

Jake Moffatt says he is searching for good codebases that demonstrates not using service objects:

Source: @jakeonrails

️Mike Coutermarsh and Ebi You joins in on the discussion:

Source: @mscccc

️ Andrei Maxim replied:

️Here is what Jose Farias thinks about the same:

️Abraham adds his comments too

Source: @Abe9000000

️Gavin Morrice quoted:

️Michael Chaney added:

πŸ“ Brandon Weaver shared about what is missing in Rails when talking about scaling:

πŸ“ Yaroslav Shmarov shared a code sample about organising configuration at the end of the files:

πŸ’‘Around code (news, findings, books, and more - all about Ruby)

πŸ’‘ Amanda Brooke Perino discovers that DigiD is built on rails

πŸ’‘ Nate Berkopec shared a rails PR that changes ActiveRecord connection pools

πŸ’‘ Mike Dalessio looks out for suggestions:

πŸ’‘ Yukihiro Matz shared a report Salaries by Skill - 2025 Dice Tech Salary Report - Tech Professionals. Please notice the sample size before deciding how you interpret this report.

❀️ Why Choose Ruby and Rails

❀️ Aji Slater wrote an article about Why Rails in 2025?

❀️ Victor Shepelev shared about how Ruby has most of the core concepts from the beginning:

❀️ Nate Hopkins shared a code sample about Ruby’s predicates:

❀️ Typecraft shared about Ruby having Hotwired:

❀️ Lee Wynne shared about why t hey are choosing Ruby in 2025:

Source: @leewynne

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

πŸ†• Brian Casel shared a preview of the Instrumental Editor:

🧰 Updates

🧰 J Ruby Dev Team announced a new version of JRuby:

Source: @jruby

🧰 Jorge Manrubia announced a new version of Release v0.1.13 Β· hotwired/spark

🧰 Vladimir Dementyev announced a new version of Ruby Next

Source: @palkan_tula

🧰 Stan Lo announced a new version of irb

Source: @_st0012

🧰James announced a new update for mocha:

🀝 Adam Wathan shared Tailwind CSS v4.0 release

Source: @adamwathan

🀝 Jason Swett shared about how to value a developer:

Source: @JasonSwett

🀝 Prem Sichanugrist shared about using Passkey:

Source: @sikac.hu

More content: πŸ“š πŸ—ž 🎧 πŸŽ₯ ✍🏾

πŸ—ž Newsletters

πŸ—ž Ruby On Rails published a new edition Ruby on Rails: Devcontainers without VSCode, a deprecation and more!

πŸ—ž Ruby Weekly published a new edition about Jean's epic journey to optimize Ruby's JSON parsing

πŸ—ž Awesome Ruby Newsletter published a new article about πŸ’Ž Issue 453 - Adding button loader to Turbo-powered forms

🎧 Podcasts

🎧 Indie Rails published a new podcast about IndieRails | New Year Sentiment

🎧 Emmanuel Hayford published a new podcast about The Rails Changelog | 029: Tuning Ruby on Rails App Performance with Jean Boussier

🎧 Chris Oliver published a new podcast about Sin City Ruby & Testing with Jason Swett

🎧 Jason Swett published a new podcast The Code with Jason Podcast

🎧 The Ruby On Rails Podcast released new podcast Episode 531: Taking Over Fireside with John Nunemaker & Garrett Dimon

🎧 David Hill published a new episode about Aaron Patterson - Ode to RailsConf

πŸ“½οΈ πŸŽ₯ Videos

πŸŽ₯ Yaroslav Shmarov shared Typesense search with Ruby on Rails #225

πŸŽ₯ Drifting Ruby published a new video about Refreshing Turbo Frames | Drifting Ruby

πŸŽ₯ Ruby TΓΌrkiye published a new video about The present and future of SQLite on Rails - Stephen Margheim 

πŸŽ₯ Ken Greeff published a new video about Adding Full Text Search to Rails Directory - Part 10

πŸŽ₯ Irina Nazarova published a new video about SF Ruby Meetup β€ͺ@productboardinc‬, January 2025

πŸŽ₯ Rails Quest by Kaleb Lape published a new video about Rails 8 Local Development Like a Pro: Custom Domains & SSL Setup Guide

✍🏾 Articles

What’s new πŸ†•

πŸ†• Ruby Gems published a new article about December 2024 RubyGems Updates

πŸ†• Harrison Broadbent published an article about Stealthly Browsing and Scraping with Ferrum

πŸ†• Affimon published an article about Our Production Ruby on Rails stack

πŸ†• Avo published a new article about Component variants in Rails with the class_variants gem

πŸ†• David Montesdeoca published an article about The one about learning Ruby

πŸ†• Davide Santangelo published an article about Prime Number Generation Algorithm in Ruby

πŸ†• Burdette Lamar published an article Nokogiri Cookbook

πŸ†• Rails Designer published an article about 6 Free Icon Libraries for Rails Apps and about Gems I use for Rails SaaS apps

πŸ†• Fritz Meissner published a new article about What happens when we misuse refactoring in conversation?

πŸ†• Jeremy Smith published an article about Stimulus Autocomplete with Combobox Navigation

πŸ†• David Morales published an article about Install Ruby: A Step-By-Step Guide | DevelClan

πŸ†• Blazej published a new article How The Odin Project Changed the Way I Learn Code

πŸ†• Maciek Korsan published a new article about Turbo Frames and the Extra DOM Node – How to Handle It?

How-TOs πŸ“

πŸ“ Anthony Drake published a new article about Migrating Away from Devise Part 6: Trackable Module and Tests

πŸ“ PaweΕ‚ DΔ…browski published an article about Deploying Rails on Docker: Kamal alternative - Dokku

πŸ“ Benito Serna published a new article about Fixing a bug in my lateral joins queries with rails

πŸ“ Victor Cobos published a new article about From Sticky to Pinned: A Stimulus Controller Approach

πŸ“ Rob Race published a new article about How to Build a Twitter Clone with Rails 8 Inertia and React

πŸ“ Sulman Baig published an article about Rails 8 CI/CD: GitHub Actions & Kamal

Marco Roth published a new article about 2024 Year-in-Review

Joshua Wood published a new article about LLMs and Debugging

Daniel Doubrovkine published a new article about Should You Work on Weekends?

Jamie Lawrence published a new article about I disagree

Dave Thomas published an article about AI Coding Is Based on a Faulty Premise

Reply

or to participate.