---
title: "Surprisingly useful Rails console tips"
publication: "Ruby Weekly"
issue: 733
published_at: "2025-01-09"
canonical_url: "https://rubyweekly.com/issues/733"
---

Plus a deep dive into Puma, an intentionally vulnerable Rails 8 app, and a ton of library releases. |        

#​733 — January 9, 2025 

[Read on the Web](https://rubyweekly.com/issues/733)   

Hi folks – we're back from our extended holiday break and will now be with you till at least April ;-) I have a lot of email to get through from the break, but if you have anything to submit, hit _reply_ and let me know.
__
_Peter Cooper_  

Together with [![reinteractive\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_900,h_186/e_make_transparent/co_white,e_outline:9/goq5p4n0bj1gcxvxkfel.png)](https://reinteractive.com/service/code-care)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xwvmo2jlu5pg8l4s5uch.jpg)](https://railsatscale.com/2025-01-08-new-for-ruby-3-4-modular-garbage-collectors-and-mmtk/)  

[Ruby 3.4's Modular Garbage Collection and MMTk](https://railsatscale.com/2025-01-08-new-for-ruby-3-4-modular-garbage-collectors-and-mmtk/) — Ruby’s garbage collector has been the subject of numerous tweaks and improvements over the years, but in Ruby 3.4 you can replace it with an alternative implementation at runtime. It’s a cutting edge, experimental idea, but will allow implementers to improve things and try out new approaches faster. 

Matthew Valentine-House   

💎 [The Previous Ruby Weekly, If You Missed It](https://rubyweekly.com/issues/732) — I wouldn’t normally feature a prior issue, but it was a ‘surprise’ one to focus on the Christmas Day [Ruby 3.4 release](https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-0-released/), so it’s worth a read if you missed it. We also had some sad news about a much appreciated community member, Noah Gibbs. 

Ruby Weekly   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/354b53d8.png)](https://reinteractive.com/service/code-care) 

[Seamless Rails Upgrades: Fixed Price Maintenance](https://reinteractive.com/service/code-care) — Upgrading RoR can be daunting. Outdated gems, breaking changes, & limited resources often hinder smooth transitions. We offer expert Rails maintenance at a fixed monthly price, your application remains secure, performant, minimal business disruptions. 

reinteractive / CodeCare sponsor   

[Useful Things You Can Do with the Rails Console](https://impactahead.com/dev/useful-things-you-can-do-with-rails-console) — It’s always a good sign when you see people linking to an article saying they’ve been using the Rails console for ten years or more and still learnt something from it! There’s a lot of great stuff here. 

Paweł Dąbrowski   

**IN BRIEF:** 

- 🇺🇸 [RailsConf 2025 is now official](https://rubycentral.org/news/announcing-railsconf-2025-and-a-new-chapter-for-ruby-central-events/) and will be taking place in Philadelphia on July 8-10. There's also _no_ RubyConf 2025 but it will return in 2026.
- We're seeing a _lot_ of libraries bumping up minimum Ruby version support to Ruby 3.1 recently, so if you're running an older version, the time to upgrade is rapidly approaching..
- Stan Lo posted over the Christmas break about [steps being made to improve Ruby 3.4's documentation.](https://st0012.dev/ruby-3-4-docs)
- Ruby Central is [supporting RubyInstaller’s expansion to ARM64.](https://rubycentral.org/news/ruby-central-supports-rubyinstallers-expansion-to-arm64/)
- The Ruby community lost one of its greatest contributors last month: [In Memoriam - Noah Gibbs](https://blog.schwad.org/schwogs/6)
- The Rails Foundation has [a quick 2024 wrap up post.](https://rubyonrails.org/2024/12/18/wrap-up-2024-from-rails-foundation) On a more technical level, though, Greg Molnar has a great [roundup of what changed in Rails in 2024.](https://greg.molnar.io/blog/what-changed-in-rails-this-year/)   

[A Simple Trick to Understand Ruby’s Lazy Enumerator](https://joyofrails.com/articles/simple-trick-to-understand-ruby-lazy-enumerator) — This article employs some simple, effective, and interactive visuals to drive home the benefit of lazy enumeration in Ruby. 

Ross Kaffenberger   

[How Honeybadger Migrated from Sidekiq to Karafka](https://www.honeybadger.io/blog/sidekiq-to-karafka/) — Honeybadger ran into some limitations with Sidekiq’s Redis backend, so decided to try [Karafka](https://karafka.io/)’s Kafka-based approach. Here’s what they learnt. 

Roel Bondoc   

[Can Kamal Really Beat a PaaS? ⚔️ Read the Developer’s Guide](https://judoscale.com/blog/kamal-vs-paas?utm_source=ruby-weekly&utm_campaign=kamal-vs-paas) — With Rails 8 hot off the presses, we explore just how far Kamal can take your app.. and exactly where it can’t! 😱 

Judoscale sponsor   

[Dissecting Puma: Anatomy of a Ruby Web Server](https://dansvetlov.me/puma-internals/) — You might need a few cups of coffee at the ready for this epic! Dan digs into the popular [Puma](https://github.com/puma/puma) server for serving up Rack apps over HTTP and covers a huge amount of ground about how it works. 

Dan Svetlov   

📄 [How to Build an API with Sinatra and MongoDB](https://zuplo.com/blog/2025/01/07/how-to-build-an-api-with-ruby-and-sinatra) – A code heavy walkthrough. Alvaro (Blag) Tejada Galindo 

📄 [Is Docker on macOS Still Slow?](https://www.paolomainardi.com/posts/docker-performance-macos-2025/) – A quick benchmark of different approaches. Paolo Mainardi 

📄 [Writing Elegant Custom Matchers in RSpec](https://tejasbubane.github.io/posts/rspec-custom-matchers/) Tejas Bubane 

📄 [Auto-Saving Rails Forms with Turbo Streams](https://nts.strzibny.name/rails-autosave-form-turbo-stream/) Josef Strzibny  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/a5ew4vxc89qlnwaiwwqc.jpg)](https://github.com/jeremyevans/ruby-refrigerator)  

[Refrigerator: A Way to Freeze All Core Ruby Classes](https://github.com/jeremyevans/ruby-refrigerator) — Designed to be used in both production and testing to make sure no code is making unexpected changes to core classes or modules at runtime. 

Jeremy Evans   

[Gem Shop: A Vulnerable Rails 8 App for Security Education](https://paraxial.io/blog/gem-shop) — An _intentionally_ vulnerable Rails app with various security issues so you can see them, explore fixes, and learn about cybersecurity issues in a more hands-on manner rather than encountering them via a text message at 4am.. 

Michael Lubas (Paraxial.io)   

[Log Everything, Ask Anything with Honeybadger](https://www.honeybadger.io/?utm_source=rubyweekly&utm_medium=email&utm_campaign=2025-01-09-rubyweekly-link) — Honeybadger transforms your logs into rich events that help you fix issues before your users know what happened. [Try our free plan!](https://www.honeybadger.io/?utm_source=rubyweekly&utm_medium=email&utm_campaign=2025-01-09-rubyweekly-link) 

Honeybadger sponsor   

[Sanitize 7.0: Ruby HTML and CSS Sanitizer](https://github.com/rgrove/sanitize) — A popular, long-standing library that, oddly, we’ve never linked to before despite using it a lot. Sanitize removes all HTML and/or CSS from a string you supply except for the things you _want_ it to contain. [v7.0](https://github.com/rgrove/sanitize/releases/tag/v7.0.0) requires Ruby 3.1+ and improves its set of default ‘relaxed’ rules to fit modern standards. 

Ryan Grove   

[Rumale 1.0: A Machine Learning Library for Ruby](https://github.com/yoshoku/rumale) — Offers a similar interface to Python’s Scikit-Learn for working with support vector machines, regression, perceptrons, decision trees, K-means, component analysis, and similar concepts and algorithms. 

A. Tatsuma   

[Active Record Adapter for AWS Aurora DSQL](https://github.com/sj26/activerecord-dsql-adapter) — The “very beginnings” of an Active Record connection adapter for Amazon’s new [Aurora DSQL](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/what-is-aurora-dsql.html) database (essentially a Postgres-compatible serverless, distributed database service). 

Samuel Cochran      

📰 Classifieds   

😅 Thinking about a big rewrite? Don’t do it! [Here’s why](https://link.testdouble.com/865). 

--- 

💡 Discover and share Ruby & Rails snippets with CodeSnips. Follow coders, get inspired, and build your next app faster. [Visit codesnips.io](https://codesnips.io/). 

--- 

🔋 [Need talent to scale your Ruby on Rails team?](https://sinaptia.dev/services/staff-augmentation/) SINAPTIA can supercharge your team and deliver results in no time. [Test us!](https://sinaptia.dev/services/staff-augmentation/) 

--- 

🔹 Sell to enterprise with a few lines of code with [WorkOS — the modern, flexible identity platform for B2B SaaS.](https://workos.com/?utm_source=cpruby&utm_medium=newsletter&utm_campaign=q12025) Integrate SSO, SCIM and FGA in minutes, not months.     

- [connection_pool 2.5](https://github.com/mperham/connection_pool) – Generic connection pooling for Ruby. Idle connections [can now be reaped.](https://github.com/mperham/connection_pool/pull/187)
- [Mechanize 2.14](https://github.com/sparklemotion/mechanize) – Library to automate web interactions. Now with a `write_timeout`option.
- [Hotwire::Livereload 2.0](https://github.com/kirillplatonov/hotwire-livereload) – Auto reload Hotwire Turbo when app files are modified.
- [ValidatesTimeliness 8.0](https://github.com/adzap/validates_timeliness) – Date/time validation for Active Model. Now for Rails 8.
- [Spreadsheet Architect 5.1](https://github.com/westonganger/spreadsheet_architect) – Create XLSX, ODS, or CSV spreadsheets from Ruby.
- [Brakeman 7.0](https://brakemanscanner.org/) – Static analysis security vuln scanner for Rails apps.
- [sqlite3-ruby 2.5](https://github.com/sparklemotion/sqlite3-ruby) – Now with native gem packages for Ruby 3.4.
- [React on Rails 14.1](https://github.com/shakacode/react_on_rails) – A way to integrate React with Rails apps.
- [Good Job 4.7](https://github.com/bensheldon/good_job) – Postgres-backed job queue for Rails.
- [parallel_tests 4.8](https://github.com/grosser/parallel_tests) – More cores == faster testing.
- [TinyTDS 3.1](https://github.com/rails-sqlserver/tiny_tds) – FreeTDS bindings for Ruby.
- [Resque 2.7](https://github.com/resque/resque/releases/tag/v2.7.0) – Background job scheduler.
- [Alba 3.5](https://github.com/okuramasafumi/alba) – JSON serializer for Ruby.
- [Gollum 6.1](https://github.com/gollum/gollum) – Git-powered wiki.    

💬 Ok, that's our first issue of 2025! If you've got any links to articles or resources you'd like to share with us, just hit reply and let us know to take a look. You can also [share your links over on RubyFlow](https://rubyflow.com), the Ruby community link site. Finally, we're also [beginning to use Bluesky now](https://bsky.app/profile/rubyweekly.bsky.social) if you'd like to follow there too.         

Curated by [Peter Cooper](https://twitter.com/cooperx86) and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
