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.
An overview of Matz's Spinel AOT Ruby compiler
I’ve decided to revive Ruby Inside from the dead and get blogging again! What better way to do start than with a dive into Matz’s new AOT Ruby compiler, Spinel? It’s gaining new features every day, and you can even make CRuby extensions with it.
llm_cost_tracker 0.8.0 — track OpenAI/Anthropic/Gemini spend from your Rails app
llm_cost_tracker is a Rails-engine cost ledger that hooks into Faraday and the official OpenAI, Anthropic, and Gemini SDKs to capture token usage and tool charges per request, prices them against a pluggable rate snapshot, and persists everything via a durable inbox to Postgres or MySQL — with a built-in dashboard that slices spend by model, provider, tags, and pricing mode. [more inside]
Understanding the Hash pattern parser refactoring
New on Ruby Stack News: Understanding the Hash pattern parser refactoring (Day 42). Perfect for developers interested in how Ruby compiles pattern matching under the hood. [more inside]
Stop Fearing OOP: A Simple Guide to Ruby Classes for Beginners
The Blueprint and the House: Ruby Classes and Objects Explained Very often I see new… [more inside]
Skip the RSpec examples you don't need: rspec-tracer 2.0 in pre-release
Skips examples whose tracked inputs (Ruby files, declared globs, env vars, Rails view templates) haven’t changed since the previous run. The 1.x line has been on RubyGems since 2021; 2.0 is a ground-up rewrite around an explicit input-taxonomy model. [more inside]
mruby-llm generally available
mruby-llm is a LLM runtime for mruby. It supports chat, sessions with serialization, MCP, tools, streaming, and much more. And because it is mruby, you can compile it to a native executable. Great for agents.
State machines are everywhere in backend systems most of the time, we just don’t call
I wrote a short piece on why you’ll probably debug one at some point in your career and why it matters. [more inside]
Welcome to Hanakai
If you’ve followed Hanami for a while, you’ll know we’re rather fond of flowers. Now our garden has grown: Hanami, Dry, and Rom are finally coming together as one. Welcome to Hanakai!
Build Your Own Cloud Empire: Hosting Unlimited Rails Apps with Kamal 2
If you are a solo developer or an indie hacker, you probably suffer from “Shiny Object Syndrome.” You… [more inside]
Glimmer DSL for Web 0.9.1 Hello, Modal!
Glimmer DSL for Web (Matz Approved Fukuoka Award Winning Frontend Framework for Rails) had a new release in version 0.9.1 that includes a new sample called Hello, Modal! to teach how to create modals in Glimmer DSL for Web in the Frontend of Rails web applications.
CMDx 2.0: faster, leaner service objects for Ruby
CMDx 2.0 is a full runtime rewrite focused on speed, ergonomics, and observability for service-object-style business logic. [more inside]
10+ years helping Rails devs reach the App Store. Today, someone shipped without me.
After a decade of helping Rails developers ship to the App Store, the first customer app built with Ruby Native shipped today. The developer never opened Xcode. [more inside]
Ractor::Wrapper and the Ractor improvements in Ruby 4
Ractor::Wrapper makes non-Ractor-shareable service objects (such as db connections) accessible from multiple Ractors. discusses how the improvements in Ruby 4.0 made it usable.
Bundlebun bundles Bun, and a tour of Rails asset pipelines and JavaScript runtimes
Introducing Bundlebun: a gem that packs Bun—the fast all-in-one JavaScript runtime, package manager, and build tool that powers Claude Code—right into your Gemfile, and pins the exact version for everyone. No Docker, curl|sh, or Homebrew. [more inside]
telegem v3.4.0: async gem for creating telegram bot
telegem is a fast async first gem aiming to reduce stress and provide clean dsl for building telegram bits in ruby and today we are pleased to announce v3.4.0 [more inside]
RubyGems stats are not about popularity they’re about dependency gravity.
248B+ downloads later, it’s clear: infra gems dominate everything. Meanwhile, niche gems (like mine) live where real problems exist. That’s the real ecosystem. [more inside]
Images, Volumes, and Containers: Docker Explained in Plain English
Very often I see developers completely give up on learning Docker because of the vocabulary. You… [more inside]
DB GUI 0.4.0 Remember SQL Command History
DB GUI is a Database querying desktop app built in Ruby. It supports PostgreSQL to start. Version 0.4.0 added support for remembering SQL command history. I needed that feature at my job, so I added it very quickly, thanks to the awesomeness of Ruby!
Deploying Prebuilt Docker Images with Kamal
A small but useful realization from recent client work: Kamal isn’t only for applications you build yourself. [more inside]
Create and deploy a Rails app in under 5 minutes with Ace Template
Ace Template is a Rails 8+ application template that allows you to go from rails new to deployed in under 5 minutes. No ops experience needed — see screencasts for Kamal, Fly.io, and Heroku.
Ruby Native is here (plus discount code)
Ship your Rails app to the App Store without opening Xcode. $100 off through May 18. [more inside]
Relay: an environment for LLM hackers
Relay is a self-hostable LLM environment with support for OpenAI, Google, DeepSeek, Anthropic, xAI and zAI out of the box. It is distributed as a rubygem, and takes only two minutes to setup. It can be extended with tools from MCP servers, or your own ~/.relay/tools directory.
The Execution Boundary in Rails
What changes when Rails work leaves the request-response path and starts running later, elsewhere, or under a different failure model? [more inside]
Ten Years of Frontend
In this episode, we look at where we were years ago and the journey where we have landed today. Over the past 10 years, much has changed with our approach to client interactions and in the episode we explore my favorite and current approach. This episode marks a significant milestone in my journey, as I’ve consistently released one episode every week for the past decade!