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.
Background AI: Using Solid Queue for Slow OpenAI API Calls
Very often I see developers integrating AI into their Rails apps for the first time, and they make a… [more inside]
Going deep into Ruby hashes 🧠
Details that change how you understand performance. [more inside]
Stop Leaking API Keys: Managing Secrets in Kamal 2
I see developers make a mistake that can ruin their entire month. They are building a new Rails… [more inside]
How to setup your first Ubuntu VPS for Kamal
Here’s a simple Ubuntu setup for Rails app on Kamal. There is also a related talk from Wroclove.rb here.
CSV → chart in a few lines.
RubyCharts.from_csv(‘sales.csv’) .type(:pie) .title(‘Q1 Sales’) .save(‘report.png’) CSV → chart in a few lines. [more inside]
The Solo Developer’s Secret Weapon: Self-Hosted Automation with n8n
Automating My Life: How I Use n8n Instead of Custom Ruby Scripts Very often I find myself… [more inside]
Killing the Password: How to Add Passkeys to Your Rails 8 App
Very often I see users struggling with the absolute worst part of the internet: Passwords. They… [more inside]
Migrating a Rails App from Sprockets to JS Bundling with esbuild
In this article, Rishi shares his experience migrating from Sprockets to JS Bundling (JavaScript Bundling for Rails) [more inside]
CMDx 2.0.1 released — fault causes, telemetry, and tighter callback semantics
CMDx 2.0.1 lands a handful of focused improvements to the service-object runtime, mostly around fault handling, callback semantics, and observability. [more inside]
10 Crypto Disasters That Shook the World (And What They Teach Coders)
In the world of cryptocurrency, we often say that “code is law.” But when that law has a bug, or the… [more inside]
Introducing Rubyduino, a Ruby to Arduino UNO compiler based on Matz's Spinel!
Rubyduino compiles Ruby sketches for Arduino boards and uploads the generated firmware. [more inside]
relay.app v0.6.0 released
Relay is a self-hostable LLM web application that can be extended with your own tools and skills that live in your ${HOME} directory. It can be setup in under 2 minutes and installable as a RubyGem.
Coming soon: RubyCharts 📊
Server-side chart rendering in pure Ruby. No JavaScript. No browser. Just Ruby. [more inside]
Hotwire Native vs NativePHP: How Web Frameworks are Conquering Mobile and Desktop
Hotwire Native vs NativePHP: How Web Frameworks are Conquering Mobile and Desktop Very… [more inside]
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!