• Home
  • Consulting
  • Nothing Works and Everyone Is Euphoric
    If coding has been solved, why does software keep getting worse?
    2026-07-24
  • Postgres Backups to S3 with WAL-G and Kamal
    How to set up PITR backups for Postgres using Kamal and WAL-G.
    2026-07-14
  • Switching to Linux After 19 Years on macOS
    Is 2026 the Year of the Linux Desktop? Well...
    2026-01-09
  • Event-driven Modular Monolith
    Strategies for keeping legacy Rails apps maintainable.
    2025-10-07
  • Base32 Encoding Explained
    How does Base32 (or any Base2ⁿ) work exactly at the bit level?
    2023-12-17
  • BasedUUID: URL-friendly, Base32-encoded UUIDs for Rails Models
    I made a simple Ruby gem to encode UUIDs to a more manageable format.
    2023-12-06
  • How to Use UUIDv7 in Rails for Primary Keys
    UUIDv7 is a new time-sorted UUID format. Here's how to use it in Rails (and Postgres).
    2023-11-22
  • Building an Image Processing Service in Go
    ImgKit project notes.
    2022-12-15
  • How I Nearly Lost the Lightroom Catalog With All of My Photos
    A cautionary tale of how a botched migration to Synology NAS left me with 500GB of corrupt RAW files.
    2021-06-07
  • Docker on macOS Without Performance Problems
    Solving the issues with Docker for Mac, once and for all.
    2021-04-04
  • Home
  • Consulting