Tools & DevOps
This category covers everything that surrounds the act of writing code: git workflows, deployment automation, CI/CD setup, server configuration, command-line tooling, and the small scripts that remove repetitive work. Working as a one-person studio, this layer isn't a luxury but a necessity — every deployment done by hand is, sooner or later, a deployment done wrong. Most of these articles start from a single question: what do I need to build so I never have to do this a second time? From plain shell scripts to fully automated deployment pipelines, I document the setups I genuinely use on my own projects, including the walls I hit while building them.
Zero Downtime Deploy: A Symlink and Health Check Guide
How to run a zero downtime deploy with atomic symlink switches and health checks, step by step with real commands and instant rollback.
Monorepo vs Polyrepo: Choosing Your Repo Layout
A monorepo polyrepo comparison: one repo or many? Pros, cons and how to pick the layout that fits your team and tooling.
Docker Image Size Reduction: Multi-Stage & Alpine Guide
Shrink Docker images by up to 80% with multi-stage builds, alpine, .dockerignore and layer optimization in this practical guide.
Certbot SSL: Automatic Certificates with Let's Encrypt
Set up Certbot SSL step by step: plugins, certonly/webroot, DNS-01 wildcards, deploy hooks and rock-solid automatic renewal.
.env File Management: Keeping Secrets Safe in Projects
Practical ways to manage API keys, passwords and secrets with an env file: .gitignore, example files and leak prevention.
git reset vs revert vs stash: Undo Changes the Right Way
Learn the difference between git reset, revert and stash, and know exactly when to shelve, rewind or safely undo your changes.
Linux Commands: Command-Line Basics (CLI)
Essential Linux commands for files, directories and processes: learn ls, cd, cp, mv, rm, ps, grep and more with practical examples.
VPS Security Checklist: First Setup Steps
The vps security steps to take in the first hours after getting a new server: SSH hardening, firewall, fail2ban and updates.
gitignore Guide: Excluding Files and Using Templates
The right way to exclude unwanted files with gitignore: pattern syntax, global config, ready-made templates and the most common mistakes.
Docker Volume: Keeping Container Data Persistent
Learn how a Docker volume keeps your data safe even when a container restarts or is removed, how it differs from bind mounts, and how to back it up.
Deployment Strategies: Blue-Green vs Rolling Compared
We compare deployment strategies for zero-downtime releases: the pros, cons and trade-offs of blue-green versus rolling, and when to pick each.
Writing a Bash Script: A Practical Start to Automation
Learn to write a Bash script step by step, using variables, loops and conditionals to automate repetitive tasks.
Git Workflow: A Feature Branch and Pull Request Guide
How to set up a clean git workflow for teams: feature branches, commit discipline, pull requests and merge strategies that scale.
SSH Key Setup: Passwordless, Secure Server Login
Learn step by step how to generate an SSH key and set it up on your server for secure, passwordless login.
Linux Cron Jobs: Scheduled Tasks with Crontab
Run scripts periodically with Linux cron: crontab syntax, real examples, logging and fixes for the most common mistakes.
Nginx Reverse Proxy: Putting Your App Server Behind It
A step-by-step guide to placing your app server behind an Nginx reverse proxy with TLS termination, caching and clean routing.
VS Code Tips: Ways to Write Code Faster
Practical VS Code tips, shortcuts and settings to speed up your daily workflow and get more done with fewer clicks.
VS Code Extensions: Essentials Every Developer Needs
The most useful VS Code extensions to boost productivity: my picks for linting, Git, formatting and remote development.
Building a CI/CD Pipeline with GitHub Actions
Run your tests and deploys automatically with GitHub Actions: workflow YAML, jobs, secrets and real, working examples step by step.
Docker Compose: Build a Multi-Service App in One File
Learn Docker Compose step by step: define web, database and cache services in one file and bring the whole stack up with a single command.
Writing a Dockerfile: Efficient Images with Layers & Cache
Learn to write a Dockerfile with layers and cache in mind: instruction order, multi-stage builds and tips for small, fast images.
What Is Docker? Containers and Images Explained
What is Docker, how containers differ from virtual machines and how images work — the basics of isolation with examples.
Resolving Git Merge Conflicts: A Step-by-Step Guide
Hit a Git merge conflict? No need to panic: learn to read the conflict markers and resolve the change safely, step by step.
Git Rebase vs Merge: When to Use Each One
The git rebase merge difference, clean history and conflict handling: a practical guide to choosing the right one for your team's workflow.