Discover the latest articles, tutorials, and insights from the Ruby and Rails ecosystem.
1653 articlesHow to build a feature as a Rails engine in a folder of the main app, loaded as a path gem. Covers isolate_namespace, appending the engine’s migration...
Learn what service virtualization is, how it works, its types and benefits, and compare testing approaches that simulate APIs, databases, and external...
https://amalrik.github.io/posts/ruby-4-threads-ractors-fibers/
I released a new version of CanCanCan! 3.7.0 is here!
When I attended Rails World, this is the kind of talk I was interested in: What does the future of Rails look like at scale? How are big corporations ...
I wrote up the code behind the AI-generated cover images on my blog: a text model summarizes a post, an image model draws the summary, and Active Stor...
Rails 8’s authentication generator mixes up users after a database restore: cookies that were already in browsers start resolving to other people’s se...
Long time no see, guys. I’ve just released actual_db_schema gem v0.10.0.
The Smart Rubyist #1: I prefer to be in the top 10% developers who train AI with new ideas https://x.com/AndyObtiva/status/2109689588474163310?s=20
For the past two years, I've been working with a client, an enterprise software company, and it has opened up a whole new world for me. There's so muc...
Still keeping port 22 open and a key pair in your launch template just so someone can run rails console in staging? This guide walks through replacing...
I’ve been building a small 3D game engine using mruby: https://github.com/carlosdanielpohlod/redgem The engine is written in C++, but I wanted Ruby to...
I was in the audience in Austin when DHH opened Rails World 2026. The conference tagline was “Shaping the future of Ruby on Rails,” so I walked in exp...
runsheets is a Ruby gem that serves markdown runbooks as a local web page. Fenced code blocks you mark as runnable get a Run button. Every run is writ...
You might have heard about the opening keynote at Rails World a couple of weeks ago. We are a Ruby on Rails shop, so some of our engineers were there....
LLMCostTracker records the LLM calls your Rails app makes through RubyLLM, the official OpenAI and Anthropic SDKs or Faraday into your own database: p...
A start-to-finish walkthrough of shipping a Rails 8 app to a single VPS with Kamal 2, using Vite, Solid Queue, PostgreSQL as a Kamal accessory and Doc...
While searching for quality I found scrap. SCRAP is by Robert C. Martin (Uncle Bob): github.com/unclebob/scrap. The algorithm, the metrics, the smells...
Farce is a new library for Ractor-shareable, Fiber Scheduler-compatible, concurrent data structures, with support for software transactional memory an...
Workhorse keeps your background jobs in PostgreSQL and runs them in Ruby, TypeScript, Python, Go and Rust.
After working with agents and agent files for tons of apps, repos, projects, I decided to distill my thoughts on it:
I just released a gem that answers one question about a Rails app: what stands between it and Rails X?
Callbacks, concerns, and Current keep code close to the model, but can hide effects and dependencies. When to use them and how to make those dependenc...
Link preview crawlers don’t run JavaScript, so every route of a static SPA shares the same generic card. In Rails, a content_for :head block solves th...
Building a Rails 8 admin panel with Inertia and React instead of Hotwire: the trade-offs, the architecture, and a practical tutorial. https://rubyinsi...
https://www.jvrc.ca/my-experience-at-xo-ruby-toronto/
Staging had grown past 130 GB, a full pg_dump was out of the question, seeds never reproduced real bugs, and the data was full of PII. This post walks...
#820 — October 8, 2026 Read on the Web Ruby Weekly Warming Up the Puma Master Before It Forks — Using Puma with preload_app!? Your workers still star...
This summer, Mike handled CVE-2026-66066, an Active Storage vulnerability that let a crafted image upload read files from the server, including your a...
SELECT * FROM posts carries no promise about the order of the returned posts. Yet, every relational database hands them back in some order, and code a...
https://dev.to/ciembor/brunch-gem-isolated-development-environments-for-git-branches-and-worktrees-4n38
A Rails job sends a webhook, then fails while saving its receipt. Trace what retry_on repeats, how attempts are counted, and how a failed retry enqueu...
I was in the audience at Rails World 2026 when Aaron Patterson (tenderlove) kicked off the closing keynote. Aaron opened with a well-worn line: “the p...
https://rubyai.beehiiv.com/p/ruby-ai-news-october-2nd-2026 A special edition of The Ruby AI Newsletter breaks down the Future of Rails now that AI can...
https://minitestrails.com/guide/testing-api/
https://rubycode.co/blog/redesign-development-around-ai
https://www.rubyforum.org/t/monthly-update-september-2026/753
I used Stave, an open-source configuration safety tool, to answer those questions for three of the most popular open-source Rails applications: Mastod...
Building a Ractor-Native Ruby 4 Stack: RESP, Redis and Background Jobs
A summary of my time at Rocky Mountain Ruby 2026. https://kevinjmurphy.com/posts/rocky-mountain-ruby-2026-recap/
#819 — October 1, 2026 Read on the Web Ruby Weekly Lexxy 1.0: Rails' New Rich Text Editor to Replace Trix — Built on Lexical and already powerin...
I just released Billing in Rails 8, a 126-page implementation guide for building subscription billing into a Rails app with Pay and Stripe. It focuses...
This applies to programming with any languages, including Ruby: Tech Repost 2026-09-29: Programming Is Building a Mental Model… https://andymaleh.blog...
Every time Bundler resolves your Gemfile, it’s talking to the compact index. In this post, the speaker walked us through what the compact index actual...
Ruby Memes 2026-09-30: DHH’s AI Vision https://andymaleh.blogspot.com/2026/09/ruby-memes-2026-09-30-dhhs-ai-vision.html
ReActionView adds real reactivity to your existing .html.erb templates, no Hotwire, no Stimulus, no JavaScript you have to write yourself. That is the...
The video and slides for the Montreal.rb September 2026 talk “Ruby Version Managers in 2026” have been published! https://andymaleh.blogspot.com/2026/...
I was in the audience at Rails World 2026 for Jorge Manrubia’s talk on Lexxy, a new rich text editor for Action Text. Jorge explained why 37signals bu...
Dissecting DHH’s RailsWorld 2026 Keynote Speech from a Software Engineering Point Of View https://youtu.be/VsM8Ej-em8I
LlmCostTracker tracks LLM spend and budgets in a Rails app by user, feature, or any tag, in your own database and with no proxy.