Tutorials
How I ran one Ruby app on three SQL databases for six months – mackuba.eu
Since June 2023, I’ve been running a service written in Ruby (Sinatra) that provides several Bluesky custom feeds (initially built with a feed for the iOS/Mac developers community in mind, later expanded to many other feeds). If you don’t know muc...
Actually doing things in user's time zone - Julik Tarkhanov
My previous article about timezones turned out to be useful for quite a few folks, which makes me happy. One candle lights another.
Ben Sheldon asked about then actually doing something with those converted times. How do you actually send a newsl...
Create a Kanban board with Rails and Hotwire | Rails Designer
This one has been in my “articles backlog” for a long time. But for whatever reason it kept getting pushed back. I’ve built drag & drop features multiple times in the past, but recently I helped a new client with some custom UI work and a kanban-l...
Delete your old migrations, today - Julik Tarkhanov
We get attached to code - sometimes to a fault. Old migrations are exactly that. They’re digital hoarding at its finest, cluttering up your codebase with files that serve absolutely no purpose other than to make you feel like you’re preserving som...
Building a Sub-command Ruby CLI with just OptionParser
I’ve thought deeply about building CLIs and built a lot of them over the years. I’ve used Rake, Thor, my own gem GLI and many others. After all that, the venerable OptionParser—part of Ruby’s standard library—is the best choice for scripting and s...