Skip to content

Blog

Notes on building and running web apps

Practical write-ups on web development, DevOps and Linux administration, from real projects.

Latest articles

GitHub Actions CI/CD to a VPS with Automatic Rollback
DevOpsOct 5, 2026

GitHub Actions CI/CD to a VPS with Automatic Rollback

Safe GitHub Actions deploys to a VPS: run tests, SSH in with a deploy-only key, build a fresh release, health-check it and roll back automatically on failure. Most "deploy to VPS with GitHub Actions" tutorials stop at ssh server "git pull && npm run build && pm2 restart" . That works until the day

Read article →
Deploy Next.js 16 on a VPS: PM2, Nginx, Zero Downtime
Web DevelopmentOct 5, 2026

Deploy Next.js 16 on a VPS: PM2, Nginx, Zero Downtime

Deploy Next.js 16 on a VPS by building on the server, running PM2 behind Nginx with HTTPS, and swapping release folders for zero-downtime deploys and rollbacks. This exact setup runs the website you are reading right now: a Next.js 16 App Router site with React 19, served by PM2 on an Ubuntu VPS

Read article →
OpenClaw on a VPS: Install and Secure It (2026 Guide)
Linux System AdminFeb 8, 2026

OpenClaw on a VPS: Install and Secure It (2026 Guide)

OpenClaw is an open-source AI agent that acts for you from chat apps. Run it on its own VPS, keep the gateway on loopback, and reach it over SSH or Tailscale. When I first wrote about OpenClaw in February 2026, it was the most talked-about open-source project of the year: an assistant you message on

Read article →
Vibe Coding Guide: From AI Prototype to Production App
Web DevelopmentJan 10, 2026

Vibe Coding Guide: From AI Prototype to Production App

Vibe coding is building software by describing what you want to an AI and iterating on the result. Great for prototypes; production still needs engineering. Most of my work in 2026 starts the same way: a founder has built something with Lovable, Bolt, Cursor or Claude Code. It looks great and mostly

Read article →
Linux User Management Script: Add, Lock, Delete Users
Linux System AdminFeb 14, 2024

Linux User Management Script: Add, Lock, Delete Users

This Bash script adds, locks, deletes and audits Linux users safely: strong hashing via chpasswd, a forced first-login password change and archived homes. I published a user management script here in 2024, and a lot of people copied it. Looking at it again with the eyes of someone who now audits

Read article →
Linux Server Backup: Files, MySQL, Postgres, MongoDB
Linux System AdminFeb 14, 2024

Linux Server Backup: Files, MySQL, Postgres, MongoDB

Back up a Linux server by dumping each database, archiving /etc and app files, running it nightly with a systemd timer, and copying it off-site with restic. I first published a backup script here in 2024. It worked, but it had the problems I now fix on client servers every month: passwords

Read article →
Bash Scripting for DevOps: 8 Scripts I Use on Servers
DevOpsFeb 6, 2024

Bash Scripting for DevOps: 8 Scripts I Use on Servers

Bash scripting for DevOps means small, strict scripts that automate deploys, checks and alerts. Start each with set -euo pipefail and lint it with shellcheck. When I first wrote about shell scripting here, I showed "Hello, World" and a loop that counts to five. That's how everyone learns, but it

Read article →
What Is DevOps? A Practical Guide for Small Teams
DevOpsFeb 1, 2024

What Is DevOps? A Practical Guide for Small Teams

DevOps is how a team ships software often and safely: automated tests, one-click deploys, monitoring and fast rollback, owned by the people who build it. Most explanations of DevOps stop at "culture" and "collaboration". That's true, but it doesn't help a founder with one server and a deadline, or a

Read article →
My New Work Station: Embracing the Heights of Productivity with a Standing Desk
Web DevelopmentJan 30, 2024

My New Work Station: Embracing the Heights of Productivity with a Standing Desk

Introduction: Welcome to the unveiling of my revamped workspace! In the pursuit of a healthier and more productive work environment, I recently made a significant upgrade – I embraced the world of standing desks. Join me as I share my journey into the realm of ergonomic bliss and discover how this

Read article →