Skip to content

Archives

All the articles I've archived.

2026 237
June 3
  • 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
July 2
April 2
March 7
February 7
  • How to install NextCloud via Docker

    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

    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

    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

    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
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

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

April 1
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
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.