#748 — May 1, 2025 |
|
Ruby Weekly |
![]() |
Itsi: A Fast, New Ruby Rack Server — Itsi is an interesting new player joining the world of Ruby app servers. It’s written in Rust, is Rack compliant, and works as a reverse proxy, API gateway and static file server. You can choose between a typical blocking model, an (optional) fiber-based scheduling approach, or even mix the two in a hybrid model. Wouter Coppieters |
📊 Ruby Gem Analytics Powered by ClickHouse and Ruby Central — How would you like to quickly run SQL queries to do analytics over every single Ruby gem download since 2017? Now you can. There’s a lot of interesting data in here, and it’s a fascinating collaboration to boot. Clickhouse and Ruby Central |
![]() Rails Is Super Easy to Upgrade … — … as long as you're on 6.0 or higher. You don't need to pay a retainer to keep Rails up-to-date, but if you're stuck on Rails 5, 4, or 3, or a custom fork of 2 (we’ve seen it!) you might need help getting over the hump. Ready to enter the 2020s? Test Double sponsor |
Inline RBS Comments Support for Sorbet — The story of how engineers at Shopify added support for inline RBS typing comments to the Sorbet static type checker. It’s still experimental but could hugely improve the DX of using types. Alexandre Terrasa |
💡 In related news, Jake Zimmerman has an excellent post about the past, present, and future of Sorbet's type syntax. |
IN BRIEF:
|
Creating Beautiful Charts with JRuby and JFreeChart — One of the biggest wins of using JRuby is the direct access you get to established, mature libraries used in the Java ecosystem. Here’s an example of taking advantage of that by using JFreeChart to render graphs, but you could use the same technique with many other Java libraries too. Charles Oliver Nutter |
🕹️ I took advantage of this feature of JRuby myself many years ago when I ported one of Notch's Ludum Dare entries from Java to Ruby – it still runs too! |
Streaming LLM Responses with Rails: SSE vs. Turbo Streams — If you want to get the results of LLMs into the hands of users ASAP, streaming is the way to go, but in a Rails app there’s more than one way to pull it off.. Justin Paulson |
Sharding a Real Rails App (Mastodon) with PgDog — PgDog is a Postgres proxy server that can be used to shard data and route queries appropriately. Leo Kokotov |
The Ultimate Guide to Scaling Sidekiq — Ooooh, pretty diagrams! Yeah I made them myself and I think they’re quite nice. Judoscale sponsor |
📄 Use Getter Methods Instead of Instance Variables in Ruby Objects Lucian Ghinda 📄 Autoscaling on Heroku Fir: Your Options Today in 2025 – Fir is Heroku’s latest ‘generation’ of its platform/stack. Adam McCrea 📄 Improving Rails Migrations Using 📄 Sorting Elegantly in Rails with 📄 Turbo Drive, Frames, Streams, Morph? What to Use? Rails Designer 📄 Setting Up Rails with Dev Containers Mateus Pereira |
🛠 Code & Tools |
![]() |
HUGLO: A Forthcoming Hyper-Ultra-Giga Low-Overhead Tracing Profiler — A tracing profiler that captures function calls, system calls, thread state changes and GC activity with overhead “low enough for continuous use in large-scale production systems.” It’s not open source yet but Matt says if there’s enough interest he’ll consider it.. Matt Stuchlik |
💡 In the meantime, you might need to keep using ruby-prof. |
🚀 Need to Upgrade to Rails 8.0 and Ruby 3.4 but Not Sure How? — Your 0-downtime upgrade journey begins with a Roadmap. Know how long it will take before you begin. FastRuby.io | Upgrade Services sponsor |
ruby-mcp-client: An MCP (Model Control Protocol) Client Library — We’ve recently highlight Fast MCP which provides a way to create MCP servers from Ruby – this project provides the other angle, giving you a way to use MCP servers, such as an AI agent would. Even if you don’t use AI, this could provide an interesting alternative to certain APIs. Szymon Kurcab |
|
|
📢 Elsewhere |
A quick roundup of some other interesting updates or useful resources in the broader developer landscape:
|