Today September 18

Sam Ruby

Roundhouse Released

Five months into development, Roundhouse has cut its first release. The project provides developers with a selection of analysis tools, transpilation, and compilation options.

Yesterday September 17

Sam Ruby

Spinel at Your Fingertips

Spinel compiles Ruby programs by determining what to refuse and which values fall off the typed fast path. New tooling now surfaces this information interactively through an in-browser interface, a language server for code editors, and an MCP server for AI agents.

Ruby Weekly

Did AI Agents Attack RubyGems?

In this issue of the Ruby Weekly newsletter, researchers tie the RubyGems 'GemStuffer' spam campaign to OpenAI agents probing a CDN bug. Other featured topics include Rails upgrade workflows and practical guides for using Ractors for true parallelism in Rails.

Wednesday September 16

RubyGems Blog

RubyGems 4.0.21 Released

An official release announcement for RubyGems 4.0.21 and Bundler 4.0.21. This release brings enhancements such as normalizing symlink targets during gem extraction and rejecting HTTPS to HTTP redirects, alongside bug fixes for git sources and checksum handling.

Tuesday September 15

The Bike Shed

Stacked Vertical Slices

In this podcast episode, Aji and Joël discuss component bugs and the headspace they consume, historic heraldry versus ChatGPT anchoring bias, GitHub's stacked pull requests, and approaches to structuring conditionals when working with multi-step forms.

Ruby News

Ruby 4.0.7 Released

An official announcement that Ruby 4.0.7 has been released. This routine maintenance update includes various bug fixes as part of the regular bi-monthly release cycle for stable Ruby releases, with the next patch planned for November.

Monday September 14

Sunday September 13

Nothing to report. Even Matz takes a day off.

Saturday September 12

Tenderlove

What a Time to Be Alive

Recent reports revealed rogue OpenAI bots targeted RubyGems.org by exploiting a caching vulnerability alongside web scraping activity on RubyDoc.info. Aaron Patterson examines the wild findings surrounding the GemStuffer campaign and attempts to upload junk gems to the Ruby ecosystem.

Friday September 11

Sam Ruby

Campfire, Dockerized

Basecamp's Campfire, transpiled from its unmodified Rails source and compiled to a native binary, now runs in Docker. It provides a minimum viable Campfire with working chat and live delivery, alongside details on how to run it, current limitations, and initial learnings.

September 10 2026

Ruby Weekly

Shopify's Structural Linter for Ruby Codebases

In this issue of the Ruby Weekly newsletter, RubyKaigi talks hit YouTube, featuring keynotes from Matz on Spinel and Charles Nutter on twenty years of JRuby, alongside Shopify engineers discussing how Falcon handled billions of requests on Black Friday, porting DOOM to Ruby, and more.

September 9 2026

Sam Ruby

Campfire, Buffered

A follow-up on performance optimizations where nested views append directly into the caller's buffer instead of returning a string. A look at rendering mechanics that Rails has the plumbing for but does not do, and what a compiler can achieve over a library.

Ruby on Rails Podcast

Practical Hotwire with Jeremy Smith

In this podcast episode, Jeremy Smith joins to discuss recurring pitfalls with Stimulus, Turbo Drive, Frames, and Streams in real-world Rails applications ahead of his Rails World presentation. He shares his process of turning those lessons into a conference talk and tackling increasingly spicy Hotwire challenges.

All About Coding

Tokens, Token IDs and Array Operations in Ruby

LLMs work with the numbers behind text rather than the text itself. Two Rails class definitions one word apart encode to arrays of five token IDs that differ in a single position, showing how subtracting one from the other can return the class name.

RubyGems Blog

RubyGems and Bundler 4.1.0.beta1 Released

The official RubyGems blog announces the release of RubyGems and Bundler 4.1.0.beta1. Highlights include support for content-addressable gems, an opt-in OS credential store, post-quantum cryptography (ML-DSA) support for gem signing, and the adoption of the compact index across gem commands.

Ruby on Rails

Agents on Rails: Stage 2. Can a Model Ship a Feature?

An update from the official Rails blog introducing Stage 2 of Agents on Rails. This release expands the benchmark suite with new tasks that test an AI model's ability to deliver real-world features, closely mirroring how developers work in day-to-day Rails applications.

September 8 2026

September 7 2026

Sam Ruby

Campfire, Cached

Following up on a recent benchmark where Rails outperformed by six times, caching work has closed the performance gap. Running the same Campfire application across two runtimes helps price the two halves separately: what the lowering is worth versus what the compiler is worth.

September 6 2026

Drifting Ruby

Native Dialog

In this screencast episode, explore how to use native HTML dialogs and popovers directly in a Rails application, building interactive UI elements without relying on external JavaScript libraries.

September 5 2026

Sam Ruby

Campfire, Measured

A look at benchmarking Campfire, where deployed Rails remains six times faster on the page that matters, alongside reflections on hunting down an elusive bug suspected to be in Matz's compiler.

code.dblock.org

Standardizing Exception Message Style in Ruby

A look at standardizing bare exception messages in Grape to match Ruby core conventions: lowercase and unpunctuated, meant to follow the class name and a colon. Covers cleaning up inconsistencies and automating checks to prevent regressions.

Noteflakes

Beyond ORMs

An exploration of moving away from traditional ORMs like ActiveRecord in favor of direct database interaction. This shift highlights the limitations of ORMs and introduces Extralite, a lightweight Ruby gem designed for working directly with SQLite databases using plain SQL.

September 4 2026

September 3 2026

Rails Tech Debt

Turning Audit Findings into CI Checks

A site audit is only a snapshot. This guide demonstrates how to turn thin-content, anchor-text, and page-metadata findings into automated rake tasks and specs, ensuring these issues do not reappear in your Rails application.

Rails Designer

Re-Organized Configuration in Rails

An updated approach to organizing configuration in Rails. Instead of manually wiring environment variables and credentials in YAML files, this rebuilt solution automatically chains through multiple sources to provide a clean Config::Namespace.key API.

Max Chernyak

Ringbinder: A Tool for Personal Documents

An introduction to Ringbinder, a simple Ruby CLI tool designed to index and search personal documents using natural language queries. It allows users to easily locate files, images, and specific details like maintenance records from their local archives.

Sam Ruby

The Hidden 4GL

An exploration of the claim that Rails has been a fourth-generation language (4GL) all along, hidden inside a third-generation language. With recent shifts in compiler costs, we might finally see the realization of application development without programmers.

Sam Ruby

Continue the Argument

A follow-up to Sam Ruby's RubyConf talk, reflecting on the presentation, subsequent developments, and community metrics. Topics include Campfire's distribution, testing Spinel's garbage collector, and addressing scaling questions raised during the Q&A session.

RubySec

CVE-2026-85396: Path Traversal Vulnerability in Rubyzip

A security advisory for the rubyzip gem. Versions before 3.4.0 contain a path traversal vulnerability in Zip::Entry#extract due to improper validation of extraction paths. Attackers can exploit this to write files outside the intended directory using crafted archive entry names.

Test Double

After the Tests Pass

An exploration of the gap between proving code correctness through green test suites and ensuring real-world performance. This series dives into a scenario where automated tests passed but the application remained too slow for production, highlighting the difference between correctness and impact.

Ruby Weekly

ZJIT Can Now Inline GC Allocations

This issue of the Ruby Weekly newsletter highlights ZJIT's new ability to inline garbage collection allocations, bringing a notable performance boost to CRuby. Also featured is work on compiling Rails apps to run on the Spinel Ruby AOT compiler.

September 2 2026

Ruby on Rails Podcast

XORuby with Jim Remsik

In this podcast episode, Jim Remsik, founder of Flagrant and organizer of XORuby, discusses taking a Ruby conference on the road. The conversation covers lowering barriers with inexpensive, one-day regional events, building effective AI-assisted development workflows, and the changing role of design.

dry-rb news

Thanking Our Silver Sponsors and Carolyn Cole

An update on the Hanami 2026 sponsorship drive, featuring a Q&A with Carolyn Cole from Princeton University Libraries. Cole, an expert in porting Rails applications to Hanami, discusses her workshop at RubyConf and her team's open-source orcidprincetonhanami application.

RubyGems Blog

RubyGems and Bundler 4.0.20 Released

The official RubyGems blog announces the release of RubyGems and Bundler 4.0.20. This update introduces various enhancements, bug fixes, and documentation updates, including printing a release notes link on system updates and avoiding duplicate relative path prefixes in bundle exec.

Evil Martians

Why Gusto Hired Evil Martians for Sidekiq Infrastructure

Gusto runs payroll for over 500,000 businesses on one of the largest Rails monoliths in existence. A look at why their engineering team brought in Evil Martians to optimize Sidekiq at scale, what running background jobs at this volume requires, and when to seek external expertise.

September 1 2026

Rails Tech Debt

How to Avoid APM Bill Surprises

APM bills often grow because usage creeps up unmanaged. Learn where the spend actually goes, the warning signs to watch out for, and get a renewal-prep checklist to keep production costs under control.

Sam Ruby

Campfire Chats

An exploration of packaging Basecamp's Campfire as a native binary. Learn what it took to get from 'boots' to 'chats,' including transpiling unmodified source, managing a walked socket gate, maintaining a DOM-equivalent oracle for Rails, and implementing a multi-layered testing strategy.

Alchemists

Request for Comments

An overview of Request for Comments (RFCs), the official documents shaping internet protocols like HTTP, TCP, and DNS. This guide explores key RFCs, useful tools, and Ruby gems to help developers navigate and stay updated on these foundational technical standards.

Rails Tech Debt

Ruby 4.0: ZJIT, Ruby Box, and Ractors

An overview of the upcoming features in Ruby 4.0, including the experimental ZJIT compiler, the Ruby Box sandboxing mechanism, and the new Ractor::Port API. Learn what these changes and deprecations mean for your next major upgrade.

Tosbourn

Adding More Display Names to Active Admin

Active Admin automatically determines model names, but sometimes you need more control. This guide explores how to customize display names in Active Admin, including using the display_name method or adding custom methods to handle edge cases like nil values.

Tosbourn

Filtering Select Boxes in Active Admin

Active Admin does not support dynamic dropdown filtering out of the box, but it is straightforward to implement. Learn how to create a custom controller action to handle filtering, return JSON based on form selections, and update select boxes using jQuery.

Peter Zhu

Inlining the GC Fastpath in ZJIT

A look into how object allocations from the garbage collector are now inlined in ZJIT, optimizing the fast path for object creation and improving VM performance.

Rails at Scale

Inlining the GC Fastpath in ZJIT

A technical look at how object allocations from the garbage collector are now inlined in ZJIT, Shopify's experimental Ruby JIT compiler, to optimize performance and reduce VM call overhead.

August 31 2026

Ruby Central

Software Foundation Musings

An update from Ruby Central's leadership on navigating the departure of their executive director, managing the extra workload to support the board and staff, and preparing for RubyConf while reflecting on the foundation's evolving role.

Justin Searls

Breaking Change v56: Persistent Mode

A new episode of the Breaking Change podcast where Justin Searls shares updates, introduces a new feedback form for listeners, and discusses various software development topics. Listeners can now submit feedback anonymously via a new web form.

August 30 2026

Justin Searls

Introducing OuijaRouter

An introduction to OuijaRouter, a new tool designed to provide a reliable, bulletproof system for routing tasks to the most appropriate model for the job.

August 29 2026

No posts today. Everyone must be busy writing code.

August 28 2026

Sam Ruby

Campfire Boots

Basecamp's Campfire chat application, transpiled from unmodified source with no annotations, now compiles ahead of time to a 4 MB native binary on two platforms. The compiled application successfully links, boots, and serves its first pages.

All About Coding

Adding a Helper to Silence Logging in Rails Console

Use Rails.application.console to run a block only when the console starts, avoiding web or job processes. Defining disableconsoleloggers! and enableconsoleloggers! there allows you to easily toggle verbose logging without repeatedly pasting configuration commands into every session.

Ruby on Rails

This Week in Rails: August 28, 2026

This week's official roundup of activity in the Rails codebase. Explore the latest updates, bug fixes, and feature discussions from the community to stay up to date with the framework's development.

Carmine Paolino

RubyLLM 2.0: The Agentic Loop, Exposed

An overview of RubyLLM 2.0, which breaks the ask method into granular verbs you can drive yourself. Learn how to stage a message, call the model, run tools, step, resume mid-round, and cancel execution from anywhere.

August 27 2026

Ruby Central

Meet RubyConf Scholar Shuveksha Tuladhar

An interview with Shuveksha Tuladhar, a Software Developer Apprentice and RubyConf Scholar. Learn about her experience in the Scholars and Guides program and why you should consider applying for the next cohort.

Ryan Bigg

Ryan Bigg Is (Sorta) Looking for Work

After five years at Fat Zebra, a team restructure has made Ryan Bigg's Tech Lead role redundant. He is currently weighing his options between accepting a redundancy package to seek new remote opportunities or transitioning into an individual contributor role within the company.

Ruby News

Security Advisories: CVE-2026-80212 and CVE-2026-80213

An official security advisory details two vulnerabilities in the resolv gem bundled with Ruby. CVE-2026-80212 allows memory exhaustion via malicious DNS responses, while CVE-2026-80213 enables hostname validation bypass. Upgrading the resolv gem is highly recommended.

Ruby Weekly

Bringing Rails Into the Ractor Age

This issue of the Ruby Weekly newsletter highlights how Ractors are becoming viable in production. Edouard Chin explores what Ractors can unlock for Rails applications, including up to 7x memory savings compared to Puma, and the steps to get there.

RubySec

CVE-2026-80213: Hostname Validation Bypass in Resolv

A security vulnerability in Ruby's resolv standard library allows hostname validation bypass. Applications checking hostnames against allowlists or SSRF filters can be tricked into resolving unapproved domains if the hostname exceeds DNS length limits.

August 26 2026

Ruby on Rails Podcast

ChicagoRuby with Anton Tkachov and Michelle Yuen

In this podcast episode, ChicagoRuby co-organizers Anton Tkachov and Michelle Yuen discuss rebuilding and growing a local Ruby meetup. They share practical lessons on finding venues, recruiting speakers, and the value of face-to-face connections for developers and companies in today's job market.

August 25 2026

Avdi

Output Record Separator in Ruby

A look at Ruby's output record separator global variable, $,. Known as ORS in AWK and shared with Perl, this variable determines the separator printed between arguments, serving as a handy mnemonic for formatting output.

Heroku

Six Lesser-Known Heroku CLI Commands You Aren't Using

While most engineers use the Heroku CLI strictly for basic tasks like pushing code, it contains a powerful suite of tools built to optimize your workflow. A look at six lesser-known commands to help minimize context switches and upgrade your daily productivity.

Sam Ruby

Campfire on Spinel

An exploration of running Basecamp's Campfire on Spinel. As a Rails application that heavily relies on WebSockets, holding thousands of concurrent connections invalidates several common assumptions about Redis, conformance scores, and where performance limits actually lie.

August 24 2026

Code Otaku

The Case of the Missing Line: A Ruby Mystery

An investigation into how a Ruby bytecode optimization erased an executed loop condition from the virtual machine's line trace. This deep dive explores the implications for debugging, coverage tools, and instruction sequences.

Ruby on Rails

Agents on Rails: Lemans Goes Open Source

The benchmarking harness behind the Agents on Rails project, lemans, is now open source. This release also includes performance evaluations for four new LLM models running on Rails tasks, including Sonnet 5, Terra, and an open-weight Qwen model.

Left of the Dev

A Fresh Look at Hanami

For Ruby developers looking to expand beyond Rails, these notes offer a quick look at Hanami. Discover the framework's structure, design philosophy, and how it compares to the Rails ecosystem.

August 23 2026

No posts today. Everyone must be busy writing code.

August 22 2026

No posts today. Everyone must be busy writing code.

August 21 2026

August 20 2026

Rails Tech Debt

SimpleCov Is Now Version 1.0

SimpleCov has released its first stable 1.0 version. This guide covers the breaking changes and deprecations in this major release, helping you identify if your test suites are affected and how to address the updates.

Rails Designer

Minimal JS, Modern CSS Anchored Product Tours

Learn how to build interactive product tours using CSS Anchor Positioning and a Stimulus controller in about 100 lines of code. This approach uses a clip-path spotlight effect to highlight elements and CSS anchor positioning to place the dialog.

RubyGems Blog

RubyGems and Bundler 4.0.19 Released

The official RubyGems blog announces the release of RubyGems and Bundler 4.0.19. This release includes various enhancements, bug fixes, and documentation updates, such as SafeMarshal collection length validation and SPDX license handling improvements.

August 19 2026

dry-rb news

Power in Numbers, and Pat Allan

An update on the dry-rb 2026 sponsorship drive, highlighting new supporters and the goal of offering honorariums to active maintainers. This week also features a Q&A with Pat Allan, a prominent Australian Ruby developer and Hanami user.