The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
Today
Why Active Record’s Snapshot Semantics Are a Trade-off, Not a Missing Feature
Active Record objects hold the database-derived state they loaded; they do not stay synchronized when another process changes the row. I built four small, reproducible experiments covering stale reads, lost updates, optimistic locking, and association-cache staleness, then looked at Rails’ abandoned Identity Map and what genuinely live objects would require. [more inside]
Tracking LLM Latency & Cost with Rails Events
Wiring an LLM into a Rails app takes a handful of lines. Understanding what it actually costs you (feature by feature, user by user) is harder. [more inside]
error_track: Drop-in Rails error dashboard with zero external services
Sentry and Honeybadger are great — until you don’t want another vendor, another bill, or exception data leaving your infrastructure. [more inside]
Why is Ruby on Rails a great fit for AI agents
I wrote a longer post on why I believe Rails is a great fit for AI agents
Ruby.org just got a built-in search! 🔍
Press Cmd+K or Ctrl+K to quickly find docs, news, and security advisories. A small but welcome quality-of-life improvement for the Ruby community. 💎 [more inside]
The Embarrassing Ruby/Rails Community Chronicles 2026-07-28
While going through Bystander Intervention training for my job, I stumbled upon “Persistent unwanted personal questions” being mentioned as a form of verbal abuse. I have to confess I recently experienced that at a Ruby tech event… [more inside]
Meet gem nosj, gem json's evil powerful twin. Faster, more features, easy to debug
Meet gem nosj, gem json’s evil powerful twin. [more inside]
Ruby creator Matz headlines the Ruby Association Activity Report 2026
Ruby creator Matz headlines the Ruby Association Activity Report 2026 alongside Fastly’s Kazuho Oku and speakers from ClearCode, STORES, and Evil Martians. [more inside]
Ruby Method Arguments: a new book, from your first call to metaprogramming
A new book on Ruby method arguments that
follows one thing all the way down: how a Ruby method receives its arguments. From
def greet(name) to keyword arguments, splats, blocks, closures, method_missing,
instance_eval, and building a small DSL — with the patterns behind Rails and
RSpec rebuilt from scratch. Every example was run before it was printed, and the
exercises have self-checking solutions in a free companion repo.
How Rails Knows What Changed
An Active Record Dirty-tracking lifecycle traced through a broken audit callback: pending changes before save, saved-change history afterward, net typed differences, object-local baselines, reload, and type-aware in-place mutation. [more inside]
Talk to you Rails app with your agent
Run queries against your production DB, change feature flags, reset cache, check background jobs, etc from your agent using MCP. Extend with custom plugins. All securely.
Automate Tech Debt Audits with Claude Code
Over the years, we have written about many of the tools we use: Skunk for combining code quality and code coverage data, bundler-audit for security vulnerabilities in your dependencies, libyear-bundler for measuring dependency freshness in a Ruby application, and RubyCritic for churn vs. complexity analysis. [more inside]
A brand new SEO+GEO tracker in Rails (SerpBear alternative)
I am releasing SerpTrail 1.0 today, a new SEO rank tracker built with Rails, Hotwire, SQLite, and Kamal
Most Rails multi-tenant apps trust developers to remember where(tenant_id: ...).
That’s not an architecture. Let PostgreSQL enforce tenant isolation with Row Level Security while Rails focuses on business logic. Human-readable code. Database-enforced security. [more inside]
RubyConf Austria 2026 Talk Video: Frontend Ruby on Rails with Glimmer DSL for Web
My RubyConf Austria 2026 talk has been published on YouTube! What if your frontend was just… Ruby?
Calling all open source maintainers working with Ruby
We’re creating a shared place where Ruby users can ask questions and discuss ideas about your project:
ActiveModel Conditional Validations
There are options to applying validations conditionally in ActiveModel. I encourage you to also consider other ways to model your rules. Hit the link to read through some options. [more inside]
Audition is a linter/fixer that gets your code Ractor-ready
Vibe coded a useful thing for Rubyists over the weekend. Audition is a linter/fixer that gets your code Ractor-ready: static analysis powered by Shopify’s rubydex, plus dynamic probes that actually run your code inside Ractors and report what breaks. [more inside]
Why N+1 Queries Are a Natural Result of Lazy Loading
N+1 is lazy loading repeated across a collection. This RailsRevelry article traces the per-owner association load path, the relation.loaded? versus association(:invoices).loaded? distinction, preload/eager_load/includes, why preloading doesn’t fix count or scoped reads, and strict_loading as enforcement. [more inside]
A Supporter Sympathizes with My Discrimination by RubyConf 2026
I am thankful to the Software Engineer who shared a very supportive comment regarding my experience of discrimination by RubyConf 2026.