Tutorials
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...
Simple Tailwind CSS 4 Setup for Jekyll - Andy Croll
Simple Tailwind CSS 4 Setup for Jekyll
Tailwind CSS 4 changed how configuration works. The JavaScript config file has been replaced by CSS-based configuration using @theme directives and uses the tailwind CLI to shake down the generated tailwind c...
Supercharge Your Claude Code Workflow: Running Multiple AI Sessions in Parallel with Git Worktrees
Speed up your AI-assisted development by running multiple Claude Code sessions simultaneously. Git worktrees with automatic port and database isolation.If you're using Claude Code for software development, you've probably hit this wall: you want t...