How my homelab is wired: Proxmox, Tailscale, and Nginx Proxy Manager
A tour of my multi-site lab: Proxmox LXC and VMs, Tailscale subnet routes, Nginx Proxy Manager, and real wildcard SSL via Cloudflare DNS challenges.
Software engineer specializing in backend development.
A tour of my multi-site lab: Proxmox LXC and VMs, Tailscale subnet routes, Nginx Proxy Manager, and real wildcard SSL via Cloudflare DNS challenges.
How my multi-platform dotfiles are put together: shared shell shortcuts, install scripts, PowerShell caching, Hammerspoon, and the small aliases I type all day.
A follow-up to my 2021 Tailscale intro. Multi-site nodes, subnet routes, ACLs, reverse proxy access, and why accept-routes is not the same thing as shortest path.
Sketch what can break and how you recover before you write the happy path. A follow-up to comment-driven development.
A small AutoHotkey v2 script that brings Cmd+` style same-app window switching to Windows.
How I brought pwsh startup from ~900ms down to ~440ms by caching init scripts and lazy-loading modules.
How to set up a global Ctrl+Space hotkey to summon and hide cmux, since cmux does not have a built-in global hotkey feature.
A Hammerspoon script for universal media seeking across Spotify, Apple Music, and YouTube in Chrome.
How .localhost subdomains can help with cookie, CORS, and HTTPS issues when several local services share one machine.
A quick AutoHotkey v2 script to center the active window on its current monitor with Win+C.
Use Windows symlinks to hide Google Drive virtual disks and skip the extra My Drive click.
One thing I appreciate about being a web developer is that most of our mistakes are fixable.
Sketch the steps of a use case as comments first, then turn those comments into code once the flow is clear.
Why I moved a personal mesh off OpenVPN onto Tailscale, and how little setup that took.
Stand up OpenSSH inside Termux and connect from another machine on the same network.
This month I'm thinking to start a blog to archive and share some notes that had been stored for a while on my Google Keep account.