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:
- Ubuntu Linux operating systems
- Apache and Nginx web servers
- PostgreSQL databases
- Python, PHP, and Javascript scripting languages
- SaaS infrastructure and DevOps automation
- Product design and technical strategy
- Email deliverability, including DMARC, SPF, and DKIM
Recent articles
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.
Learn how to manually create and install Let's Encrypt SSL certificates using DNS or HTTP validation when automated renewal isn't an option.
Learn how to configure an SSH jump server to add an extra layer of security to your production infrastructure by routing all SSH connections through a single hardened proxy.