Tutorials
A quick DEMO of Ruby-LibGD v0.2.4. – Linking Ruby knowledge from the most remote places in the world.
Not a tutorial, not a benchmark — just experimenting with 2D and 3D rendering in Ruby and confirming that the foundation is already mature and reliable. Links: # frozen_string_literal: true require….
The timezone bug that hid in plain sight for months | Arkency Blog
We recently fixed a bug in a financial platform’s data sync that had been silently causing inconsistencies for months. The bug was elegant in its simplicity: checking DST status for “now” when converting historical dates.
The broken code
I found ...
Use StringInquirer for Readable Predicate Methods - Andy Croll
You’ve probably seen Rails.env.production? in your codebase to ensure that certain code only runs in production. Instead of having to compare strings, Rails.env == "production", Rails wraps the string in an ActiveSupport::StringInquirer so you get...
How We Improved Rails Response Times by 87% — Fast Retro Blog
The whole observability setup lives on a single server, locked behind Tailscale so nothing is exposed to the public internet. I deploy it with Kamal 2 — the same tool I use for Fast Retro itself.
The stack has four pieces:
Prometheus — scrapes m...
Build a Resumable CSV Import with ActiveJob::Continuable | Code With Rails
Long-running background jobs have an uncomfortable relationship with deploys. You kick off a 100,000-row CSV import, deploy new code five minutes later, and the worker restarts. The job either starts over from the beginning or silently dies. Most ...
evilmartians.com/chronicles/tutorialkit-rb-the-ruby-wasm-journey-goes-onward
Ruby and WebAssembly are both powerful technologies, but together they unlock vast new possibilities. Evil Martians continue pursuing our goal of making ruby.wasm beneficial to the broader Ruby community (and beyond). To that end, we’d like to int...
Kamal's missing tutorial – how to deploy a Rails 8 app with Postgres to your VPS
Last updated: Jan 2026. Now fully updated for Rails 8.1+ and Kamal 2.8+!
Rails 8 is out. And with it Kamal 2, the new default way of deploying Rails apps.
For those unfamiliar, Kamal is a tool that puts your Rails app in a Docker container, whic...
Ruby Skills: Teaching Claude Code About Ruby's Tooling And Ecosystem - st0012.dev
Eventually you add something like Use chruby 4.0.0 to run Ruby commands in either the project or your user-level CLAUDE.md.
While this is frustrating, I don’t blame Claude. Ruby has at least seven version managers - rbenv, chruby, rvm, asdf, mise...
Killing IDORs in Rails Applications: Make the Database Say "No" By Default
Rails is great at making the happy path simple. You need a record, you write Model.find(params[:id]). You need an authorization check, you add a line under it. The code reads well, it feels clean, it passes review, and it's also the reason why per...
Implementing OAuth in Hotwire Native apps with Bridge Components — Mike Dalton
OAuth is a common technique for registering and authenticating users on web and mobile apps. Many interactions in a Hotwire-based Rails app work without requiring native code but that’s not the case for OAuth.
Hotwire Native uses embedded web vie...