By 10:25 AM, I’d entered what Mystery Science Theater 3000 fans call “Deep Hurting.” The migration plan was solid. The backup discipline was comprehensive. The execution? Chaos. I run a containerized production Mastodon instance on an 8 GB Mac mini. (Yes, I know what the cloud people say, and FYI it’s Cloudflare Tunneled for protection.) [ ]
Keep secrets out of your images: use Docker Compose secrets mounted at /run/secrets and a tiny wrapper script that exports each secret file as an environment variable so unmodified apps keep working without baking credentials into images or repos.
Claude Code fails silently when run over SSH on macOS because it can't access your OAuth token stored in the keychain. SSH sessions don't have keychain access by default. Here's a simple zsh wrapper function that detects SSH connections and unlocks the keychain automatically — built with Claude Code's help.
In a late‑night dialogue with an AI, I tested whether pattern‑matching could ever amount to consciousness. The exchange sharpened Objectivist insights: life, stakes, and caring are prerequisites for awareness, ethics, and art. Without them, AI remains simulation — useful, even dazzling, but never truly conscious or creative.
Job hunting in 2025 means clearing AI‑driven applicant tracking systems before a human ever sees your résumé. Instead of juggling multiple Word files, I built a reproducible pipeline: YAML as source of truth, Pandoc and Lua for transformations, and Docker for consistency. Infrastructure thinking, applied to résumés.
Porting my Homebrew upgrade script from Perl to Go wasn’t about feature parity — it was about simplification. Along the way I learned how Go’s explicit error handling, type safety, and binary distribution align with platform engineering needs. Each port strengthens my portfolio with production-ready, operational tools.
Homebrew upgrades don't always need to drag you through major version bumps. I wrote brew-patch-upgrade.pl to keep updates patch-perfect, and along the way fixed my own Log::Any::Adapter::MacOS::OSLog so it finally installs like a proper Perl module. Together, they make upgrades quieter and logs clearer.
Running Mastodon on a tiny Mac mini? Yes, it’s possible—and surprisingly easy. Here’s how I built a secure, low‑maintenance, single‑user server with Docker, Cloudflare Tunnel, and a few smart overrides, all without breaking a sweat.
Every Labor Day weekend, Dragon Con's sprawling schedule sprawls across five hotels and thousands of events. The official app is fine for browsing, but I wanted the whole picture at once. Here’s how a forty‑odd‑line Perl script with Mojolicious turned chaos into one clean, scroll‑once list.
Discover how Util::H2O::More can turn a bare‑bones Perl script into a lean, testable modulino with far less boilerplate than Moo. From instant accessors to built‑in help and defaults, see each stage’s pros, cons, and complexity — and decide if speed from idea to “it works” is worth the trade‑offs.