Skip to content

Archives

All the articles I've archived.

2026 374
July 41
  • Btrfs RAID 5/6: Still Don't

    The kernel docs still warn about it. The Btrfs wiki still warns about it. People still build it and lose data. Here's the write hole, why RAID 1/10 are fine, and what to use instead.

  • Dragonfly vs Redis: Single-Binary Performance

    DragonflyDB vs Redis 7.4 and Valkey 8.x: architecture deep dive, real performance benchmarks, honest gotchas, and when to swap your cache layer for a dragon.

  • ntfy vs Gotify vs Apprise: Push Stacks

    ntfy is curl-friendly push with iOS. Gotify is self-hosted with web UI. Apprise abstracts 70+ providers. Here's how to wire homelab notifications.

  • Syncthing Through Untrusted VPS Relays

    Sync files between machines that are never online together using Syncthing's untrusted encrypted devices, dual-VPS failover, and a Tailscale-only network path.

  • SnapRAID: Parity Without Real-Time RAID

    Your media library doesn't write often enough to justify mdadm or ZFS overhead. SnapRAID calculates parity on a schedule, mixes drive sizes, and pairs with MergerFS for a unified pool. Here's the setup.

  • KeyDB: A Redis Fork With Multi-Threading

    KeyDB forked Redis and shipped multi-threaded I/O and active-active replication years before Redis itself did. Here is whether it is still worth using today.

  • Mastodon vs Misskey vs Pleroma 2026

    Three ActivityPub servers for your own fediverse instance. Mastodon polished, Misskey feature-rich, Pleroma/Akkoma lightweight. Here's how to pick.

  • mdadm Day-2: Grow, Replace, Scrub

    Creating a RAID array is the easy part. The drama starts six months later when one drive starts dying. Here's the survival guide for everything that happens after mdadm --create.

  • Self-Hosted Email Gateways in 2026

    Self-hosted secure email gateways compared: Proxmox Mail Gateway vs Hermes SEG vs DIY Rspamd, plus which classic appliances are now abandonware.

  • pg_repack vs VACUUM FULL: Reclaim Bloat Live

    Postgres table bloat killing your query performance? Compare VACUUM FULL vs pg_repack and learn how to reclaim disk space live without any scheduled downtime.

  • Vikunja vs Focalboard vs Taiga

    Vikunja is a todo+kanban all-rounder. Focalboard is Trello-ish (archived). Taiga is agile/scrum. Here's how to pick self-hosted project management.

  • Hardware RAID vs Software RAID in 2026

    Hardware RAID controllers used to be necessary. Now they're often a liability. Here's when to flash that LSI card to IT mode, when to keep it, and why ZFS specifically refuses to share.

  • FreshRSS vs Miniflux vs Tiny Tiny RSS

    Three self-hosted RSS readers compared. FreshRSS is polished, Miniflux is minimalist, TT-RSS is feature-rich. Here's how to pick yours.

  • pg_stat_statements: What Most Tutorials Miss

    pg_stat_statements is far more than a slow query log. Here is what most tutorials skip entirely: tail latency percentiles, cache hit ratios, and WAL bloat.

  • RAID-Z and dRAID: ZFS Parity Explained

    RAID-Z isn't just RAID 5 with a new name. Variable stripe widths, no write hole, and dRAID's distributed spares change the rebuild math entirely.

  • Assume Your App Gets Popped

    How to expose a possibly-vulnerable app to the public internet and survive it: rootless containers, a file-integrity tripwire, and zero inbound SSH on the box.

  • Mealie vs Tandoor vs Grocy Kitchen Stack

    Mealie is the polished recipe app. Tandoor is the kitchen-ops powerhouse. Grocy tracks your entire house. Here's how to pick a self-hosted kitchen stack.

  • Postgres EXPLAIN ANALYZE Without Crying

    Learn to read Postgres EXPLAIN ANALYZE output without losing your mind. Costs, row estimates, buffer hit stats, and the index and query fixes that matter most.

  • RAID 50/60: Nested Parity Done Right

    RAID 5 and 6 don't scale gracefully past 8 drives. RAID 50 and RAID 60 stripe across multiple parity sub-arrays so rebuilds only stress one group. Here's when nesting actually pays off.

  • Linkding vs Hoarder vs Wallabag in 2026

    Linkding is minimal bookmarks. Hoarder is AI-tagged content store. Wallabag is read-it-later. Here's how to pick the right self-hosted bookmark tool.

  • pgAdmin vs Adminer vs CloudBeaver: Web UIs

    pgAdmin, Adminer, or CloudBeaver — three web UIs for your databases, zero overlap in who should use them. Pick the wrong one and you'll hate your life.

  • Borgmatic: Borg Backup, Done Right

    BorgBackup is great. Borgmatic makes you actually run it: config-driven schedules, hooks, healthchecks, and a backup system that pages you when it breaks.

  • Owncast vs PeerTube vs nginx-rtmp

    Owncast is the Twitch-alike. PeerTube is federated VOD. nginx-rtmp is roll-your-own RTMP. Here's how to pick a self-hosted streaming platform.

  • PostgreSQL on ZFS: Tuning, Snapshots, Pitfalls

    Run PostgreSQL 18 on ZFS for atomic snapshots, lz4 compression, and silent corruption detection. Tuning guide, backup automation scripts, and the real pitfalls.

  • Kasm Workspaces: Browser Desktops

    Kasm Workspaces streams disposable Linux desktops and apps to your browser. Threat model, real homelab uses, and how it compares to Guacamole.

  • Navidrome vs Airsonic vs gonic

    Three self-hosted music servers, all Subsonic-compatible. Navidrome is polished, Airsonic feature-heavy, gonic minimal. Here's how to pick yours.

  • TimescaleDB Continuous Aggregates Without Pain

    Stop melting your DB with Grafana queries. TimescaleDB continuous aggregates pre-roll your metrics so dashboards stay fast even at 90-day ranges without pain.

  • Stop Feeding the AI Your Whole Repo

    Comparing context-mode, code-review-graph, token-savior, and claude-context — MCP tools that stop AI coding agents from reading your whole codebase blind.

  • ClickHouse for Self-Hosted Logs

    ClickHouse can store TB of logs on one node, query in seconds, and outscale Loki and Elasticsearch in raw cost. Here's how to wire it up with Vector and Grafana.

  • DuckDB for Local Analytics: Pandas on Steroids

    DuckDB runs SQL directly on CSV, Parquet, and JSON files with no server and no import step required. Here is why it belongs in every home lab data toolkit.

  • Kodi vs Jellyfin Native for HTPC

    Kodi is the classic media center. Jellyfin's native players ride on the Jellyfin server. Here's which client to run on your HTPC and why.

  • Homebridge vs Home Assistant Hub Showdown

    Homebridge bridges devices into Apple Home. Home Assistant is the full local automation platform. Here's which one to pick — or why you'd run both.

  • PoE Injectors and Switches for the Home Lab

    Cut rack cable clutter with Power over Ethernet. A no-nonsense guide to PoE standards, switch power budgets, and cleanly powering your home lab gear rack.

  • RTK vs snip vs lean-ctx: Token Killers

    RTK, snip, and lean-ctx filter your AI coding agent's output before it burns context tokens. I run RTK daily — here's the one I'd actually switch to.

  • TIG: Telegraf + InfluxDB + Grafana

    When Prometheus is overkill: a push-based metrics stack for IoT, smart home, and homelab data. Telegraf, InfluxDB, and Grafana, working together end-to-end.

  • OctoPrint vs Mainsail vs Fluidd 3D Print

    OctoPrint is the Marlin classic. Mainsail and Fluidd front Klipper. Here's how to pick the right 3D printer web UI for your hardware.

  • TrueNAS vs OpenMediaVault vs Unraid

    Three popular NAS operating systems compared: TrueNAS Scale's ZFS, OMV's flexibility, and Unraid's mixed-disk magic. Which is right for your home lab?

  • USB-C Power Delivery for Mini PCs

    USB-C Power Delivery can cleanly power your entire mini-PC homelab. Here is what PD versions, cable wattage ratings, and UPS compatibility actually matter.

  • ESPHome: DIY IoT Without Cloud

    ESP32 boards + ESPHome's YAML firmware = your own cloud-free smart sensors and switches. Sensors, OTA updates, and Home Assistant integration in 30 minutes.

  • 10GbE NIC Cheat Sheet: Mellanox, Intel, Chelsio

    Used 10GbE NICs for your homelab in 2026: which Mellanox, Intel, or Chelsio card to buy, which ones to skip entirely, and exactly why the X540 runs hot.

  • Bazzite vs Nobara vs CachyOS Gaming

    Three Linux gaming distros, three approaches. Immutable Bazzite, tweaked Nobara, performance-tuned CachyOS. Here's which one to pick for gaming Linux.

June 99
  • Zigbee2MQTT vs ZHA

    Two paths to running Zigbee in Home Assistant — Zigbee2MQTT for power-user flexibility, ZHA for plug-and-play. Coordinator hardware, range, and the migration myth.

  • DIY Patch Panel and Rack Cabling for Sanity

    Stop living with spaghetti rack cables. A practical guide to DIY patch panels, structured rack cabling, and a cable layout that will not haunt you at 2 AM.

  • Flatpak vs Snap vs AppImage in 2026

    Flatpak owns desktop. Snap dominates Ubuntu. AppImage is portable. Here's how to pick the right Linux app distribution format for your use case.

  • Home Assistant on Proxmox

    Running Home Assistant OS as a Proxmox VM beats Docker for full Add-ons, USB passthrough, and Supervisor features. Setup, USB sticks, and zero-headache backups.

  • SFP+ Optics and DACs Without Getting Burned

    SFP+ optics, DACs, AOCs, and fiber for home lab 10G networking — what to buy, what to avoid, and how to stop vendor lock-in from wrecking your wallet.

  • Wayland vs X11 in 2026: It's Time

    X11 is officially legacy. NVIDIA works, screen share works, color management is here. Here's the actual state of Wayland in 2026 and when X11 is still needed.

  • Jitsi Meet Self-Hosted

    Self-host Jitsi Meet as your private Zoom alternative: encrypted video calls, no SaaS bill. Here's how to deploy it with Docker without it falling over.

  • COSMIC vs KDE vs GNOME in 2026

    Three Linux desktops, three philosophies. COSMIC is opinionated Rust. KDE is maximally customizable. GNOME is workflow-first. Here's how to pick.

  • Hailo-8 vs Coral: AI Accelerators for the Edge

    Hailo-8 vs Google Coral: which edge AI accelerator actually wins for Frigate NVR, Whisper transcription, and local home lab inference workloads in 2026?

  • Matrix: Synapse vs Dendrite vs Conduit

    Three Matrix server implementations — Python's Synapse, Go's Dendrite, Rust's Conduit. Which one runs your federated chat without eating your homelab alive?

  • AI Swarm Audited My 840-Post Blog

    I pointed a parallel swarm of AI agents at 840 technical posts to fact-check and refresh them — the architecture, the token bill, and the guardrails.

  • Mini PCs With 2.5GbE: Picking the Right Box

    A 2026 home lab guide to mini PCs with built-in 2.5GbE: NIC chipsets, idle power consumption, thermals, and which small form-factor box fits your use case.

  • Minisforum vs Beelink vs Trigkey Homelab

    Three mini PC brands dominate homelab 2026: Minisforum, Beelink, Trigkey. Here's how to pick the right Ryzen or N100 box for your cluster.

  • OPA & Gatekeeper: Policy as Code

    Open Policy Agent and Gatekeeper enforce rules across Kubernetes — block privileged pods, require labels, restrict images. Rego basics and real homelab constraints.

  • SigNoz vs Uptrace Self-Hosted Observability

    Two OpenTelemetry-first observability platforms backed by ClickHouse. Here's how SigNoz and Uptrace compare for self-hosted homelab and small-team use.

  • Used GPU Buying Guide for Home Lab LLMs

    Your no-BS guide to buying a used GPU for local LLM inference in 2026. Budget tiers from $200 to $1500 plus, real VRAM math, and tips to dodge the scams.

  • Longhorn vs Rook-Ceph

    Two ways to give your K8s cluster persistent block storage — Longhorn for simplicity, Rook-Ceph for scale. Real homelab tradeoffs, not vendor marketing slides.

  • Gateway API vs Ingress in 2026

    Ingress is the annotation-soup classic. Gateway API is the role-oriented future with proper L4/L7 separation. Here's when to migrate and when to wait.

  • Rock 5B vs Orange Pi 5 vs Pi 5

    Rock 5B, Orange Pi 5, and Raspberry Pi 5 compared for home lab use — NVMe, 2.5GbE, NPU, Frigate, k3s performance, and which one you should actually buy.

  • Velero: K8s Backup and DR

    Your cluster will fail. Velero captures everything — manifests, CRDs, persistent volumes — and lets you replay it on a fresh cluster. Setup, gotchas, real DR plans.

  • BIOS/UEFI Tweaks for Headless Servers

    Before you rack that server and walk away forever, these BIOS and UEFI settings will save you from a 3 AM drive to the datacenter or your dusty basement.

  • Claude Code in a Homelab Workflow

    Claude Code puts an agentic AI assistant in your terminal for real homelab work — compose files, bash, Ansible, systemd. The honest take on cost and data.

  • Kustomize vs Jsonnet for K8s Manifests

    Kustomize patches YAML with overlays. Jsonnet is a real templating language with imports and functions. Here's which K8s manifest tool to pick.

  • cert-manager: ACME at Scale

    cert-manager makes Let's Encrypt automatic on Kubernetes — once. Then you scale, hit DNS-01 quirks, wildcard limits, and rate-limit walls. Here's the full survival guide.

  • Rootless Docker: Tips, Gotchas & Fixes

    Rootless Docker tuning deep-dive: network drivers, env vars, port drivers, cgroup delegation, and real troubleshooting — anchored to Docker Engine 29.x.

  • Argo Rollouts vs Flagger Progressive Delivery

    Argo Rollouts uses a Rollout CRD with a slick UI. Flagger watches your Deployment with a Canary CRD. Here's which progressive-delivery tool to pick.

  • Network Booting Diskless Nodes with iPXE

    Boot any OS over the network using iPXE — covers dnsmasq proxyDHCP setup, HTTP boot menus, Talos OS live boot, and the quick netboot.xyz shortcut method.

  • Argo Workflows vs Tekton

    Two Kubernetes-native pipeline engines from CNCF — Argo Workflows and Tekton. Different philosophies, same goal: stop using Jenkins. Honest comparison.

  • DIY NAS Build: Compute, Drives, Power Walkthrough

    Build a proper DIY NAS in 2026: case selection, CPU choice, drives, HBA card, ZFS pool layout, UPS sizing, and a real power budget that will not fail you.

  • k3sup vs kubeadm for Homelab Clusters

    kubeadm is the official Kubernetes bootstrapper. k3sup is a one-shot SSH installer for k3s. Here's which one to use for your homelab cluster.

  • Dead Container Took Down Prod

    A real postmortem: how a forgotten survey-tool container, an uncapped Docker log driver, and rootless networking combined to kill prod for a Monday morning.

  • Mikrotik RouterOS for Home Lab

    Mikrotik routers cost $50, run a real OS, and humiliate prosumer gear. RouterOS basics, VLANs, firewalling, and why your homelab probably needs one of these.

  • Dell R720 vs HP DL380 G9: Used Server Knife Fight

    Dell R720 or HP DL380 G9 for your home lab? We compare CPU generation, power draw, fan noise levels, iDRAC vs iLO, and which used pizza box wins the fight.

  • etcd vs Consul vs ZooKeeper Coordination

    etcd powers Kubernetes. Consul is the service-discovery Swiss army knife. ZooKeeper is the grizzled veteran. Here's how to pick a coordination store.

  • pfSense vs OPNsense in 2026

    Two FreeBSD firewall distros, one bitter fork. pfSense vs OPNsense in 2026 — which one to pick for your home lab, and why the licensing drama still matters.

  • FastAPI vs Flask vs Django Picked Right

    FastAPI is async and type-driven. Flask is the micro-framework. Django is batteries-included. Here's how to pick for homelab apps and small SaaS.

  • NVMe Heatsinks That Actually Cool

    NVMe drives throttle hard at 70-85C. Here is how to monitor temps, intentionally trigger throttling to confirm it, and pick a heatsink that fixes the issue.

  • Zeek for Home Lab Forensics

    Zeek (formerly Bro) turns network traffic into structured logs you can actually query. The IDS that doesn't shout — it documents. Setup and use in a home lab.

  • Neo4j vs ArangoDB: Graph DB Showdown

    Neo4j is the household graph DB with Cypher. ArangoDB is multi-model with AQL and free clustering. Here's which one fits your homelab graph use case.

  • SAS vs SATA in 2026: When SAS Still Wins

    SAS drives are not dead — they are cheap on eBay right now. Here is exactly when used SAS3 hardware beats SATA for home lab storage builds on a budget.

  • ModSecurity vs Coraza WAF

    ModSecurity 3 is end-of-life and Coraza is the open-source successor — Go-native, faster, and friendlier. Here's the migration story and what actually changes.

  • Photon vs ESPHome: ESP Firmware Compared

    Particle Photon 2 vs ESPHome for ESP32 projects: cloud lock-in, OTA updates, Home Assistant integration, and which firmware wins for self-hosters long-term.

  • Postgres vs SQLite for Home Lab Apps

    SQLite is brilliant until you need concurrent writes, replication, or online migrations. Here's the actual line where Postgres earns its keep.

  • SOPS + age: Secrets in Git

    Stop the .env-in-1Password dance. SOPS encrypts secrets per-key, age provides modern crypto, and git stores them safely. Here's how to ship it without footguns.

  • Self-Host a Local AI Coding Workhorse

    Self-host Gemma 4 or Qwen3-Coder via Ollama or llama.cpp in Docker, then let Claude delegate the grunt work to it. Free tokens, zero code leakage.

  • ddrescue vs TestDisk vs PhotoRec

    Drive is dying. Which tool do you reach for? ddrescue clones, TestDisk repairs partitions, PhotoRec carves files. They're a workflow, not rivals.

  • Zigbee Coordinator Showdown: Sonoff vs ConBee vs SkyConnect

    Sonoff Zigbee Dongle Plus-E vs ConBee III vs SkyConnect — pick the right Zigbee USB coordinator for your Home Assistant home lab or apartment setup in 2026.

  • WebAuthn & Passkeys for Sysadmins

    Passkeys finally killed passwords for real users. Here's what WebAuthn actually is under the hood, and how to roll passkeys out on your self-hosted services.

  • Give Your AI Agent a Cheap Intern

    Stop burning expensive AI tokens on boring grunt work. The overseer/workhorse pattern routes mechanical tasks to a cheap model and saves more than you'd think.

  • Borg vs Duplicacy: Dedup Backup Wars

    Borg is open-source classic with SSH targets. Duplicacy has lock-free multi-source magic but commercial GUI. Here's which backup tool to pick.

  • Owntracks + Home Assistant: Private Location Tracking

    Stop feeding Google your daily commute. OwnTracks + MQTT broker + Home Assistant gives you real presence detection without the surveillance capitalism overhead.

  • KVM/QEMU/libvirt: CLI Workflows

    virt-manager is fine, but real homelab automation lives on the command line. virt-install, virsh, cloud-init — provision VMs in seconds, not click-by-click.

  • BirdNET-Pi for Self-Hosted Bird Identification

    Turn a Raspberry Pi and a cheap USB mic into a self-hosted bird ID station using BirdNET-Pi and Cornell ML audio models running entirely locally offline.

  • Claude Code + SearXNG: Private Web Search

    Wire a self-hosted SearXNG instance into Claude Code via a Bash wrapper for private, scriptable web search — and when to use it vs the built-in tool.

  • fd vs find: Rust Speed vs POSIX Power

    fd has sane defaults, parallel walking, and respects .gitignore. find is gnarly but ships everywhere. Here's when each one wins.

  • Linux Namespaces from Scratch

    Containers are just namespaces and cgroups in a trench coat. Build one yourself with unshare and nsenter — no Docker required. Here's what actually happens.

  • rclone vs Restic: Sync vs Backup

    rclone copies and syncs files to cloud storage. Restic does deduplicated encrypted snapshots. Confusing them costs you restores at 2 AM.

  • Scrypted vs Frigate for Self-Hosted Cameras

    Scrypted bridges your IP cameras to HomeKit and Google Home. Frigate adds AI object detection on your own hardware. Here's how to pick — or run both at once.

  • mtr vs traceroute: Packet Loss

    traceroute lies. mtr tells the truth. Here's how to read packet-loss reports like an oncall engineer and stop blaming your ISP for the wrong hop.

  • ESPresense: Room-Level Bluetooth Presence in Home Assistant

    Track which room you're in with cheap ESP32 nodes and BLE signal distance — real room-level presence for Home Assistant automations that actually work.

  • Hetzner vs DigitalOcean vs Vultr

    Picking a cheap VPS for home-lab overflow — off-site backups, public endpoints, CGNAT escape. Real tradeoffs, honest picks per scenario.

  • ZFS Encryption vs LUKS

    Native ZFS dataset encryption vs LUKS under your pool — which layer to encrypt at, performance trade-offs, key management, and raw send/recv.

  • iperf3 + nload: Network Diagnosis

    Your gigabit link drops to 200 Mbps and you don't know why. iperf3 measures throughput honestly, nload visualizes traffic — together they find the bottleneck fast.

  • Plex Meta Manager: Posters, Collections, Sanity

    Stop staring at a Plex library that looks like a clearance bin. Kometa (formerly Plex Meta Manager) automates collections, posters, overlays, and bulk ratings.

  • Syncthing vs Resilio vs Seafile

    Dropbox got expensive and your data left the building. Syncthing, Resilio Sync, and Seafile compared — pick the one that fits your threat model.

  • SMART Disk Monitoring with smartmontools

    Disks fail. SMART tells you when. Here's how smartctl and smartd actually predict failure, and the attributes that matter (most don't).

  • Jellyseerr Tagging Workflows for Real Libraries

    Stop guessing whose request is clogging your 4K library. Jellyseerr tags + Sonarr/Radarr + Maintainerr = real per-user quota control that actually holds up.

  • OpenConnect vs AnyConnect

    OpenConnect replaces the bloated AnyConnect client on Linux. Run ocserv for a self-hosted Cisco-compatible VPN server — no 200MB installer required.

  • fio: Real Disk Benchmarking

    Stop trusting marketing IOPS numbers. fio measures what your disk actually does on your workload — sequential, random, mixed. Here's how to read the output honestly.

  • Boundary vs Teleport

    Zero-trust access for SSH, k8s, and databases — HashiCorp Boundary vs Teleport compared on identity, session recording, and self-host fit.

  • Whisparr & Mylar3: Specialty *arr Apps Explained

    Sonarr handles TV. Radarr handles movies. But who handles comics and adult content? Meet Mylar3 and Whisparr — the *arr apps nobody talks about, until now.

  • Dify: Visual Agent Workflows

    Dify is an open-source LLM-app builder you can self-host. Visual workflow editor, RAG, agents, tool use — without writing 500 lines of LangChain glue.

  • LazyLibrarian + Readarr: Automating Your Book Library

    LazyLibrarian vs Readarr for ebook and audiobook automation in 2026 — why Readarr got retired, what to run instead, with real Docker Compose configs.

  • stunnel vs spiped

    TLS tunneling for legacy plaintext services — stunnel's X.509 cert model vs spiped's pre-shared key simplicity, and when each one actually wins.

  • OpenRouter vs LiteLLM

    Two ways to route LLM traffic across providers — OpenRouter as a hosted gateway, LiteLLM as a self-hosted proxy. Which one fits your home lab in 2026?

  • Immich vs PhotoPrism vs Ente: Self-Hosted Photo Libraries

    Google Photos went paid and the alternatives matured fast. Immich, PhotoPrism, and Ente: which self-hosted photo library actually fits your life in 2026?

  • Unbound vs Technitium vs BIND

    Picking a recursive DNS resolver for your home lab — Unbound, Technitium, and BIND9 compared on speed, GUI, DNSSEC, and split-horizon.

  • Function Calling in Local LLMs

    Local LLMs can call tools, query APIs, and run code if you set them up right. Function calling on Ollama and llama.cpp explained — patterns that actually work.

  • HACS: When Custom Integrations Bite You

    HACS custom integrations can brick your Home Assistant setup overnight. Here's how to use them safely, recover when they don't, and know when to skip them.

  • ntopng vs darkstat

    ntopng vs darkstat: full DPI flow analysis vs a tiny always-on stats page. Pick the right tool for home-lab network visibility without losing your mind.

  • Gemma 4 vs Qwen3.6

    Gemma 4 vs Qwen3.6: sizes, reasoning, coding benchmarks, and which model you should actually pull for your home lab rig.

  • AnythingLLM as Knowledge Base

    AnythingLLM is the closest thing to a real private NotebookLM you can self-host. Workspaces, RAG, agents, document chat — running locally on Ollama in 20 minutes.

  • FRR vs BIRD

    FRR vs BIRD: two open-source routing daemons compared for BGP, OSPF, and home-lab dynamic routing. Which one belongs in your stack?

  • Home Assistant Add-Ons vs Docker Containers

    HAOS Add-Ons vs bare Docker Compose for Mosquitto, ESPHome, Frigate — when the Supervisor magic is genuinely worth it and when it just gets in your way.

  • Local Vision LLMs Worth Running in 2026

    · Updated:

    Pixtral, Qwen3-VL, and Gemma 4 compared for local multimodal use in 2026. LLaVA is dead; here's what to run in Ollama for OCR, screenshots, and vision tasks.

  • HAProxy vs Envoy

    HAProxy vs Envoy for L4/L7 load balancing — config style, performance, observability, service mesh fit, and which one belongs in your home lab.

  • Home Assistant Voice: Wyoming vs Rhasspy

    Wyoming protocol vs Rhasspy for local Home Assistant voice — which offline stack actually works in 2026, hardware requirements, and when to choose each one.

  • MCP Servers: Tools for LLMs

    Model Context Protocol turns your LLM into a tool-using agent — file access, APIs, your home lab. Build your first MCP server in under 50 lines of Python.

  • Caddy vs Traefik

    Caddyfile zen vs Traefik labels-everywhere — picking a reverse proxy for self-hosted services in 2026. Real configs, real gotchas.

  • Promtail to Alloy Migration: A Practical Diff

    Promtail is deprecated. Here's how to migrate your scrape configs, pipeline stages, and Docker log setups to Grafana Alloy without losing your mind or data.

  • RAG Evaluation with Ragas

    Most RAG demos look great until you ship them. Ragas measures faithfulness, context precision, answer relevancy — the metrics that actually predict user trust.

  • Bun vs Deno vs Node in 2026

    Picking a JavaScript runtime in 2026 — Bun, Deno, and Node compared on speed, ecosystem, TS support, and self-hosted use cases.

  • LibreNMS for SNMP-Heavy Home Networks

    LibreNMS auto-discovers your switches, APs, and UPS over SNMP with zero MIB hunting. Here's how to deploy it and stop abusing Prometheus for this job.

  • LLM Distillation Explained

    How tiny 7B and 8B models keep punching above their weight — knowledge distillation, the teacher-student trick that makes local AI actually usable on home hardware.

  • Rancher vs Podman vs Docker Desktop

    Rancher Desktop, Podman Desktop, and Docker Desktop go head-to-head on cost, k8s, resource use, and real-world friction for local dev.

  • SmokePing for Internet Connection Sanity

    SmokePing turns your ISP no-issue-detected excuse into a documented lie. Set it up in Docker and get clear visual proof of latency spikes and packet loss.

  • Garden vs Tilt vs Skaffold

    Three inner-loop dev tools for Kubernetes — Garden, Tilt, and Skaffold. Which one actually makes K8s development bearable? Honest comparison, no fluff.

  • Lima vs Multipass

    VM-backed Linux dev environments on macOS/Linux — Lima vs Multipass compared on speed, container support, and resource use.

  • Riemann: The Forgotten Event-Stream Monitor for Home Labs

    Riemann processes events as streams, not time-series. Here is why that distinction matters and when Clojure-based stream alerting still beats Prometheus rules.

May 67
April 95
March 30
February 17
January 25
2025 142
December 11
November 19
October 14
September 16
August 19
July 14
June 5
May 8
April 11
March 10
February 8
January 7
2024 66
September 3
August 1
July 26
June 23
May 1
April 3
March 2
February 7
2023 20
September 2
  • Linux Bash Tips and Tricks pt1

    · Updated:

    Bash tricks that save keystrokes — history expansion, brace expansion, process substitution, and the shortcuts your fingers will thank you for.

  • Set the Timezone in Ubuntu with timedatectl

    · Updated:

    Set, verify, and sync your timezone in Ubuntu using timedatectl — one command to fix the clock on a newly provisioned server.

July 2
April 2
March 7
  • NocoDB DB Management System

    · Updated:

    NocoDB wraps any SQL database in a spreadsheet UI — self-host an Airtable alternative on top of MySQL, PostgreSQL, or SQLite with Docker.

  • Appwrite Backend-as-a-service (BaaS)

    · Updated:

    Appwrite is an open-source Firebase alternative you can self-host — databases, auth, storage, and functions without vendor lock-in.

  • Wireguard VPN Server in Docker

    · Updated:

    Run a WireGuard VPN server in Docker with the linuxserver image — Compose setup, peer config generation, and road warrior access to your home network.

  • Install & use Doxygen via Docker

    · Updated:

    Generate code documentation with Doxygen without installing it — run it from a Docker container and get HTML docs from any codebase.

  • Automatic Backup of Docker MySQL or MariaDB Containers

    Automate MySQL/MariaDB backups from a running Docker container using cron and mysqldump — no downtime, no excuses for losing your data.

  • WordPress on PHP-FPM & Caddy in Docker

    · Updated:

    Run WordPress on PHP-FPM with Caddy as the web server — all in Docker Compose with automatic HTTPS and proper PHP config.

  • Docker Compose useful commands

    · Updated:

    The docker compose commands you actually use daily — up, down, logs, exec, pull, and the flags that make them way more useful.

February 7
  • How to install NextCloud via Docker

    · Updated:

    Self-host Nextcloud in Docker with persistent storage and a reverse proxy — your own Google Drive without the Google.

  • Ed25519 ssh keys

    Ed25519 is faster and more secure than RSA for SSH keys — generate a key pair, add it to authorized_keys, and ditch the old RSA habits.

  • Install a php script in PHP-FPM & Caddy via Docker

    Run PHP apps with PHP-FPM and Caddy in Docker — FastCGI configuration, volume mounts, and the Caddyfile that wires it all together.

  • Install Caddy reverse proxy via Docker

    · Updated:

    Get Caddy running as a reverse proxy in Docker — automatic HTTPS, Caddyfile config, and Docker Compose setup in under 10 minutes.

  • Access Docker socket via TCP

    · Updated:

    Expose Docker's Unix socket over TCP so remote tools and dashboards can connect — daemon.json config for Linux and Windows.

  • Install docker on Ubuntu/Debian

    · Updated:

    The official, no-nonsense way to install Docker Engine on Ubuntu and Debian — repository setup, key import, and one command to verify it works.

  • Linux su with custom shell

    · Updated:

    Use su with a specific shell to switch users without the default login shell — useful when /etc/passwd points to something unexpected.

2019 2
September 1
  • When systemd swallows your service logs

    · Updated:

    Service restart not showing logs? systemd hides stdout. Learn journalctl, systemctl status, and debugging workflows for silent systemd failures.

July 1
  • Three ways to upload ISOs to Proxmox

    · Updated:

    Three ways to upload an ISO to Proxmox — web UI, wget direct download, or SCP from the CLI. When each one wins, plus storage paths and checksum verification.

2016 6
August 2
  • Enable WebGL on Chrome or Firefox

    · Updated:

    WebGL disabled or hardware acceleration broken? Force-enable it in Chrome and Firefox with the right flags and about:config tweaks.

  • Ubuntu & Bash tutorial & basic utilities

    Essential bash utilities for Ubuntu newcomers — file management, text processing, process control, and the commands you'll type every day.

May 2
  • Why You Should Switch to ZShell (zsh)

    · Updated:

    Switch your default shell to zsh on Linux — why zsh beats bash, installation, Oh My Zsh setup, essential plugins, and the gotcha that still catches everyone.

  • Alsa CLI Volume control

    · Updated:

    Control Linux audio volume and mic boost from the terminal with ALSA's amixer — no GUI needed, no remembering cryptic card numbers.

April 1
  • Linux distribution info & kernel info

    · Updated:

    Find your Linux distro version, kernel version, and architecture with uname, lsb_release, /etc/os-release, and hostnamectl.

February 1
  • Bulk rename files in bash

    · Updated:

    Remove spaces and special characters from filenames using bash loops, rename, find, and parameter expansion tricks.

2015 1
July 1
2013 7
October 1
September 1
  • Bash for loops sequential counting

    · Updated:

    Master bash for loops, while loops, and seq for sequential counting — iterate over files, ranges, and arrays without losing your mind.

July 3
  • Adding Extra Swap to Linux

    · Updated:

    Out of RAM and no time to reimage? Add swap via a file on any partition using mkswap, swapon, and fstab — done in under 5 minutes.

  • Repair & Optimize all Mysql Databases one liner

    · Updated:

    Repair and optimize all MySQL databases at once with mysqlcheck — a one-liner that runs on every table without logging into MySQL.

  • Remove all old installed but unused kernels

    · Updated:

    Old kernels pile up in /boot and eat disk space — safely remove unused kernels on Ubuntu and Debian with apt and dpkg.

May 2
2012 7
October 1
September 1
  • Logrotate & Compression

    · Updated:

    logrotate keeps your /var/log from eating the disk — configure rotation schedules, compression, and retention for any service log.

April 1
  • SSH keys and secure file copy

    · Updated:

    Generate SSH keys, set up passwordless auth, configure SSH, and transfer files securely with SCP — the foundation of headless Linux work.

March 2
  • Recursively delete all empty subdirectories

    · Updated:

    Clean up empty directories with find and rmdir — safely prune orphaned dirs left after file migrations.

  • Directory FileCount

    · Updated:

    Count files in a directory (recursively or not) with find, ls, and tree — quick one-liners for when du just isn't telling you enough.

February 2
  • Archive & Compression utilities

    tar, gzip, bzip2, xz, zip — demystified. When to use each compression tool, speed vs ratio trade-offs, and the flags you'll actually need.

  • Sed 101

    · Updated:

    sed is the stream editor for making text substitutions, deletions, and insertions in files — the patterns you'll use 90% of the time.