#​743 — March 20, 2025

Read on the Web

Together with  reinteractive

Ruby Weekly

Ruby Debugging Tips and Recommendations in 2025 — A brief piece but packed with advice from Stan (who knows a thing or two from all his work on debug.rb and modernizing IRB). Did you know you can use the Ruby LSP extension with debug.rb?

Stan Lo

Ruby, Ractors, and Lock-Free Data Structures — An extensive, multi-chapter article that goes into serious depth about Ractors, lock-free data structures and shared mutable global state in multi-threaded Ruby apps. There’s also code if you want to play along or experiment.

Ilya Bylich

Seamless Rails Upgrades: Fixed Price Maintenance — 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

▶  Building an 'Always-On' Production Profiler — A talk from Ruby Kaigi 2024 on Datadog’s production profiler. There’s a lot of detail here on how and what (CPU profiles, GC, allocations, heap live objects) to profile, various challenges of profiling in production, and using Rust in a gem.

Ivo Anjo

Installing the sassc Gem on a Mac: A Debugging Story — Native extensions are often the source of a failed bundle install and never particularly fun to figure out (at least for me). Luckily, Richard takes us on a tour of the issues here, advice that could be useful beyond just sassc.

Richard Schneeman

Creating Value Objects the Idiomatic Way — If you’ve got a value more elaborate than a number, string or simple list or hash, you might choose to use a class to create objects that represent those values: value objects. The modern way to do this in Ruby is with the Data class and Lucian shows it off here.

Lucian Ghinda

Simple Declarative Presence for Hotwire Apps with AnyCable — How to implement user presence tracking in a Hotwire application with minimal effort by using AnyCable and its new primitives.

Nazarova and Dementyev

Finding the Opposite of What You Have with Rails invert_where — Rails has so many helpful methods that many simply skip my radar as someone who’s been using Rails for so long. invert_where is certainly new to me and does something quite interesting..

Trésor Bireke

🚀 Need to Upgrade Ruby? Here is a Free Step by Step Guide by FastRuby — The team behind Bonsai and the next_rails gem shares their best practices for upgrading to any Ruby version.

FastRuby.io | Upgrade Services sponsor

The Ultimate Guide to Scaling Sidekiq – Sidekiq’s creator gave it the thumbs up so it must be good. Adam McCrea

📄 Preserving Flash Messages in Rails – Handy knowledge if you’re debugging why your flash messages aren't working as expected. Kevin Murphy

📄 Rails 8 Assets Series: A Dive into Propshaft – How Rails 8’s default asset pipeline approach actually processes assets. Radan Skorić

📄 Better Stability with Rails Load Testing in Apache JMeter Milap Neupane (Honeybadger)

🛠 Code & Tools

Just the Docs: A Jekyll Theme for Documentation Sites — Only tangentially Ruby related (but it is for Jekyll) but I love the look of docs/project sites using this. It’s clean, simple, and makes a lot of right design decisions for you out of the box.

Patrick Marsceill

TruffleRuby 24.2: The High Performance Ruby Implementation — Now supporting Ruby 3.3.5 features, TruffleRuby is an interesting Ruby implementation based upon GraalVM (a variant of the JDK with ahead-of-time native compilation well suited for dynamic languages).

Oracle

💡 Benoit Daloze's Matching Regexps 200 Times Faster is an interesting article showing off just how fast TruffleRuby is in a particular use case with an idiomatic pure Ruby solution being even faster than C code.

Confused About Request Queue Time? — Check out our illustrated guide, with diagrams galore and just a tiny bit of math.

Judoscale sponsor

Psyllium: A Gem Making It Easier to Use Fibers — Adds convenience methods to the Fiber class to make it easier to use in the same way that threads might be used.

Ethan Estrada

iri: Simple Immutable Ruby URI Builder — Offers an interesting chain-able fluent API for adding various elements to URLs.

Yegor Bugayenko

  • 🤖 Ruby OpenAI 8.0 – A way to use OpenAI's APIs. v8 adds support for OpenAI's new Responses endpoints.

  • 🤖 OmniAI 2.1 – A standardized API for multiple LLM platforms.

  • xgboost-ruby 0.10 – High performance gradient boosting for Ruby.

  • Steep 1.10 – Static type checking tool for Ruby.

  • RBS 3.9 – Ruby's type signature language.

📰 Classifieds

Rails Paralysis? Query Analysis Scout Monitoring brings you detailed insights about app database usage with a five-minute install.


Supercharge your team with SINAPTIA! We can augment your team with devs to help you keep up with your delivery schedule. Test us!

📢  Elsewhere

A quick roundup of some other interesting updates or useful resources in the broader developer landscape: