Posts
All the articles I've posted.
-
Jellyfin vs Plex: Media Servers for the Post-Netflix Apocalypse
Jellyfin vs Plex in 2026 — which self-hosted media server wins? Full comparison, Docker Compose setup, hardware transcoding, and why you should stop paying for streaming.
7 min read -
Obsidian LiveSync: Self-Hosted Sync Without Paying for the Privilege
Ditch Obsidian's $10/month sync fee. Set up LiveSync with CouchDB in Docker and own your notes completely — encryption included.
6 min read -
Semantic Versioning: The Part Everyone Gets Wrong
You think v1.1.0 is backward compatible. Your users think breaking changes are v2.0.0. Both of you are wrong about something.
5 min read -
Let's Encrypt Without Certbot
Certbot isn't the only ACME client. Explore Caddy, acme.sh, lego, and Step CA — with practical examples for wildcard certs and DNS-01 challenges.
6 min read -
Grafana Dashboard Variables: One Dashboard for All
Stop maintaining 50 identical dashboards. Grafana variables let you build one dashboard that adapts to any data source, environment, or metric.
4 min read -
Shell Setup in 2026: Starship, Plugins, Fish
Oh My Zsh had its moment. Here's the 2026 shell setup: Starship prompt, three killer plugins, and when to consider Fish or Nushell.
7 min read -
LLM Backends: vLLM vs llama.cpp vs Ollama
vLLM, llama.cpp, and Ollama all run local LLMs — compare throughput, memory use, GPU support, and which fits your hardware.
5 min read -
RAG Chunking: Why Chunk Size Is Everything
RAG breaks documents into chunks. But what chunk size? Too small and context is lost. Too large and semantic search fails. Here's how to pick.
5 min read -
The Zero-Trust Home Lab
Apply zero-trust principles to your home lab — network segmentation, VLANs, identity-aware proxies, and Tailscale as the glue.
4 min read -
HAProxy: Load Balancing Done Right
HAProxy is the battle-tested load balancer powering GitHub, Reddit, and Instagram. Here's how to actually use it without reading 500 config options.
8 min read -
Stop Living Dangerously on :latest Docker
Using :latest in production is a ticking time bomb. Pin your Docker image versions or watch a surprise update break everything at 2 AM.
4 min read -
MySQL & MariaDB CLI in 2026: What Changed
MySQL 8.0 broke auth, MariaDB forked hard, and Docker changed how you connect. Here's what still works and what'll bite you.
7 min read