Nov 9, 2025
UUIDv7 was added to PostgreSQL 18 to support time-based UUIDs, but you don't have to upgrade to take advantage of them now.
https://t27duck.com/posts/31-using-uuidv7-with-rails-without-postgresql-18
Apr 10, 2025
Ransack upgrade to 4.0 got your down? Here's a quick and easy fix if you're fine with exposing all columns.
https://t27duck.com/posts/30-allow-all-columns-and-relations-in-associations-in-ransack-4
Jan 24, 2025
Part 6 of a multi-part series for moving away from devise to Rails' authentication generator
https://t27duck.com/posts/29-migrating-away-from-devise-part-6-trackable-module-and-tests
Jan 16, 2025
Part 5 of a multi-part series for moving away from devise to Rails' authentication generator
https://t27duck.com/posts/28-migrating-away-from-devise-part-5-user-sign-up
Jan 9, 2025
Part 4 of a multi-part series for moving away from devise to Rails' authentication generator
https://t27duck.com/posts/27-migrating-away-from-devise-part-4-email-confirmation-setup
Jan 2, 2025
Part 3 of a multi-part series for moving away from devise to Rails' authentication generator
https://t27duck.com/posts/26-migrating-away-from-devise-part-3-password-recovery
Dec 27, 2024
Part 2 of a multi-part series for moving away from devise to Rails' authentication generator
https://t27duck.com/posts/25-migrating-away-from-devise-part-2-sign-in
Dec 19, 2024
Part 1 of a multi-part series for moving away from devise to Rails' authentication generator
https://t27duck.com/posts/18-migrating-away-from-devise-part-1-setup-and-sessions
Nov 18, 2024
Bluesky has blown up a bit recently as an X alternative. It provides a free API to post to an account's timeline.
https://t27duck.com/posts/17-a-bluesky-at-proto-api-example-in-ruby
Nov 5, 2024
Caddy offers a simplified and easier to manage configuration than nginx. I wanted to give it a try.
https://t27duck.com/posts/16-migrating-from-nginx-to-caddy
May 22, 2024
Want some code to run every few minutes but don't want to load up a scheduling library or background job processor?
https://t27duck.com/posts/12-quick-and-dirty-cron-for-rails
Jun 25, 2022
Google One Tap provides an easy and frictionless method of allowing a user to authenticate with your application.
https://t27duck.com/posts/10-integrating-google-one-tap-in-a-rails-application
Mar 30, 2022
Postgres 10+ made partitioning tables much easier, however adding an index to a table with many partitions and data in them already is not straightforward if you want to avoid long table locking.
https://t27duck.com/posts/9-adding-an-index-to-a-partitioned-table-and-its-children-in-postgresql-and-rails
Dec 20, 2020
Another year, another major Rails release. Rails 6.1 looks to be a solid one. Though, despite all the new features and fixes a new Rails version brings, there is always one looming problem for developers - the upgrade.
https://t27duck.com/posts/8-how-i-upgrade-ruby-on-rails
Jul 31, 2020
Sidekiq will happily chug along and process any and all jobs that are in the queue. But, what if you want it to take a break for a bit?
https://t27duck.com/posts/7-programmatically-defer-sidekiq-jobs
Sep 16, 2019
Sidekiq 6 requires redis 4 or later. Some distros don't ship with that version so an upgrade is required.
https://t27duck.com/posts/6-upgrading-redis-not-as-difficult-as-you-may-think
Jul 23, 2016
If you're running your Ruby apps on your own server, you obviously need Ruby installed. The problem is the version of Ruby provided by the OS is commonly not what you want.
https://t27duck.com/posts/3-building-installing-and-configuring-your-own-ruby-rpm-for-centos
Jul 15, 2016
I decided to move my projects from one hosted git service to a different one and needed to make the change near seamless for contributors and production
https://t27duck.com/posts/2-seamlessly-migrating-from-one-git-service-to-another-for-your-team-and-capistrano
Jun 26, 2016
I decided want to migrate a Rails 4.2 side project from unicorn to puma. The app has relatively high traffic throughout the day, so I want to avoid any visible downtime.
https://t27duck.com/posts/1-migrating-from-unicorn-to-puma-with-no-downtime