Writing

Ruby on Rails, Claude Code and Worktrees

Here’s how I use Claude Code to develop Ruby on Rails applications. Mostly medium sized ones that have been around for a while. No green-field, everything-is...

Multi Select with Hotwire Combobox

Recently, I put some work into lowering the barrier to contributing talks to RubyEvents. Not entirely out of the kindness of my heart, I might add. As the or...

Customizing Solr Highlighting with Sunspot

Need full-text text search in your web app? You don’t have to use Elasticsearch. There are alternatives. Even in 2025, some will refuse to switch to Elastics...

Porting a Ruby Gem to the browser with ruby.wasm

When I built a small Ruby command-line tool - Tints ‘N Shades - I wondered: What does it take to run this library in the browser? Can it be done? Should it b...

Using Jekyll with Esbuild

I know. What an unholy union. Why would anyone do this? Why would anyone want that?

The Simplest Static Site Generator

Sometimes, you want to build a simple HTML page and populate it with some data. You may have some JSON lying around and want to make a simple website to visu...

Processing images with ActiveStorage and Imgproxy

ActiveStorage has a nifty feature that allows you to serve variants of uploaded images. Think of a user uploading a profile image. You won’t need the full-si...