#166 🔍 How RubyGems.org handles 50 million requests a day

Happy Wednesday!

Here is issue #166 of our newsletter, bringing you news and the best tools for your current or future Rails projects…

1. 🔍 How does RubyGems.org handle over 50 million requests a day? A Rails World 2026 talk explains. Ernesto recaps Jenny Shen's talk on how the RubyGems compact index stays in sync at scale. That same index now carries the data behind Bundler's cooldown, which skips gem versions newer than the days you set, so a compromised release gets time to be noticed. Read on for where to set it: your Gemfile, bundle config, or CI.

2. 🧩 Rails World 2026: Action Text is no longer a one-editor deal. Ernesto recaps Jorge Manrubia's talk on how 37signals' Lexxy, a Lexical-based editor, opened Action Text to other editors through an ActionText::Editor base class with adapters for Trix and Lexxy. The work began with contenteditable breaking Trix across browsers and OS updates. Read the full recap to see where Trix stands now.

3. 🌿 Rails World 2026: Does every small interaction need a Stimulus controller? Ernesto recaps Marco Roth's talk on how ReActionView builds on Herb, so a select that re-sorts a list is answered by the controller action you already have. It works with Turbo and Stimulus, and the reactive part is still experimental. Find out how far down the adoption path your app could go.​


Upcoming Events

⚡Philly.rb's Lightning Talks at Indy Hall: October 20th, 5:30–8:00 pm. Space
is limited so RSVP here. Don't forget to Submit a talk if you've got one to share.


4. 🤖 One chat, two very different requests. How do you give each turn the settings it needs? Andrey Samsonov describes chat modes: naming a per-turn configuration of instructions, tools, model, and thinking effort that a separate router picks before every reply, instead of one fixed setup for the whole conversation. Swapping the classifier for Jev, a model that scores probabilities instead of generating text, cut routing to 351ms and to $0.04 per 1000 turns; see how he packaged it as the RubyLLM::Modes gem, and when modes are worth the extra step.

5. 📊 Does your coding agent know the Rails version you actually run? Henrique shows how to run the Rails Foundation's now open-source lemans benchmark on your own machine, building a small bench that grades itself for free before you spend a cent on a model. His sample task tests whether an agent reaches for Rails' normalizes over a hand-rolled callback, and GPT-5.4 failed to recall the API three times in a row. See how to build your own recall test before you trust an agent on a codebase a few versions behind.

6. 💎 Think adopting AI means a whole new stack? Aysan explains why AI-assisted development doesn't need a new tool stack: Rails generators, Rake tasks, CLIs, and test suites already give AI coding tools predictable interfaces to work with. So what do you already have that AI could use? Click through to see how Aysan answers it.


Check out our other articles on: ​​​​Ruby | Rails | Compatibility | ​​Upgrades​​​​ | ​​​​Tech Debt​​​ | AI​

Bookmark, share, or save them for later. We hope these links are helpful. 😉

Best,

The ​​​​​​FastRuby.io​​​​​​ Team

Do you know anyone who would love to receive this newsletter? Tell them to subscribe👇 and catch the latest issue right in their inbox.

Don't wait to bring your Rails application up to date.

We will get on a quick call and recommend a couple of options to start upgrading your Rails app.