#​800 — May 14, 2026

Read on the Web

Together with  Jidoka

Ruby Weekly

One Engine, Many Tools: Introducing Rubydex — Prism unified Ruby’s parsing layer, and now Vinicius Stock (creator of Ruby LSP) is betting the Rubydex static analysis toolkit can do the same one-level-up for code indexing, with Ruby LSP, Tapioca, and Packwerk already migrating.

Vinicius Stock

Adopting Herb at GitHub — GitHub spent the past few months integrating the Herb ERB toolchain into its Rails monolith. Joel tells the tale, including what Herb caught that erb_lint missed in GitHub’s ~500,000 lines of ERB.

Joel Hawksley (GitHub)

Jidoka: Automation with a Human Touch — Turn your roadmap into a supervised software delivery line. Jidoka pairs coding agents with senior engineers, so teams can modernize legacy code, ship faster, with quality built-in.

JIDOKA by SINAPTIA sponsor

⚡️ IN BRIEF:

Ruby 4.0.4 Released — The latest CRuby is here. It’s a scheduled, routine update (which the latest stable release gets every two months) so there are no new features, but a lot of bugfixes, so it’s worth the upgrade.

Takashi Kokubun

🤓 My favorite fix is for a regression in 4.0 where regexes starting with 'k' or 's' became slower. Why? s and k are the only two ASCII letters with two other characters that become case-equivalent with them (namely, S/ſ - long S, and K/K - the Kelvin sign) causing Onigmo to de-optimize such regexes.

RubyGems Signups Down as Spammers Target London CouncilsRubyGems.org has temporarily disabled user signups (installs and pushes remain live) due to a ‘GemStuffer’ campaign where, oddly, public data shared by local councils in the UK is being turned into junk gems en masse.

Joseph Edwards (Socket)

A Ruby Timeout That Works (on Linux) — In 2015, Mike Perham called Timeout Ruby’s most dangerous API and its problems remain (namely that it won’t interrupt a blocking syscall). Brad is now working on an alternative approach, leaning on Linux’s TCP_USER_TIMEOUT.

Brad Gessler

How Depot Got CI MicroVMs Booting in Under a Second — Stop waiting for CI warm pools. Depot CI uses just-in-time microVMs that cold boot in under a second for faster builds.

Depot sponsor

📄 Solidus vs. SpreeSolidus and Spree are Rails-based e-commerce platforms that share a common ancestry. (Note: This telling of the story is from the Solidus POV.) Jared Norman (SuperGood)

📄 Use class_names to Conditionally Apply CSS Classes in Rails – If you’re interpolating strings into class attributes, do this instead. Andy Croll

📄 A Reusable Drag-and-Drop Image Preview in Rails – How to build a drag-and-drop image upload custom element that works in Rails forms. Rails Designer

🛠 Code & Tools

▶  Rails Just Made Your Database Agent-Ready — A recent PR to Rails core adds rails query to allow read-only queries from the command line. The video covers the essentials with numerous examples. Of course, there’s an agent skill that lets agents use it well to answer queries too.

Emmanuel Hayford

🤖 Need Claude Skills Tailored to Your Engineering Org? Let’s Talk! — We open-sourced our Rails upgrade skills based on 60,000 hours of experience. Let’s build yours for a11y, dead code, or QA.

Ombulabs.ai | Custom AI Solutions sponsor

ASTro: AST-Based Reusable Optimization Framework — Ruby core’s ko1 is working on an experimental optimization framework that generates specialized C code from AST interpreters. Numerous sample implementations span various subsets of Ruby, Lua, Pascal, and others.

Koichi Sasada

💡 Two of Koichi's ASTro-based Ruby implementations (abruby and koruby) can run the optcarrot benchmark, and faster than CRuby (without YJIT) too.

ruby-warning 1.6: Custom Processing for Warnings — A tidy way to customize Ruby warnings. For example: Warning.dedup to deduplicate them, Warning.ignore(:missing_ivar, __FILE__) to ignore a specific warning in the current file, or you can even hide all warnings from gem dependencies.

Jeremy Evans

  • rbspy 0.47 – The live sampling profiler has added Ruby 4.0.4 support.

  • Rack::JsonSchema 1.6 – JSON Schema-based Rack middleware offering request/response validation, mocking, and API documentation.

  • FriendlyId 5.7 – The "Swiss Army bulldozer" of slugging and permalink plugins for Active Record.

  • Cutoff 1.1 – Enforcing total execution-time 'deadlines' with checkpoints.

  • ☎︎ Phonelib 0.10.20 – Phone number validation and formatting library.

  • MiniScheduler 0.20 – Adds recurring job scheduling to Sidekiq.

  • Chusaku 1.5 – Annotate your Rails controllers with route info.