Hello 👋
I'm John, a full stack engineer and system administrator with over 25 years of experience building and operating SaaS products. I write articles and tutorials about software development and infrastructure. My areas of expertise include:
- Product operations and engineering strategy
- Ubuntu Linux operating systems
- Apache and Nginx web servers
- PostgreSQL databases
- Python, PHP, and Javascript scripting languages
- SaaS infrastructure and DevOps automation
- Email deliverability, including DMARC, SPF, and DKIM
Recent articles
PostgreSQL spawns a new process for every client connection, which becomes expensive under load. Learn how to install and configure PgBouncer to pool connections and keep your database performing well at scale.
A practical, phased runbook for migrating PostgreSQL from an old primary/replica pair to a new primary/replica pair using logical replication for the major-version move and streaming replication for steady-state high availability.
When multiple feature branches depend on the same code, your branch strategy can either keep development moving or create merge chaos. This guide covers two practical approaches: daisy-chained branches and sibling branches from a shared base.
A comprehensive guide to deploying a Next.js application on a production server using Nginx as a reverse proxy and PM2 for process management and zero-downtime deployments.
From early home computers to modern Linux servers, the terminal has been a constant companion through four decades of change.
Learn how to use systemd timers to schedule recurring system jobs. Systemd timers provide better logging, prevent overlapping jobs, and integrate seamlessly with the rest of your infrastructure.