Latest articles
All your Traefik are belong to us
Run Traefik as a permanent service on your dev box. One wildcard cert, with real domains, and self-registering Docker projects. Scales to production too.
Greybeards rise
How I unified my entire desktop under one vim colorscheme, iceberg, spanning terminal, prompt, i3, rofi, screensaver, and git. Consistency over aesthetics.
I just wanted PHP 8.2 (Composer had other ideas)
Create a Laravel 12 project targeting PHP 8.2 while running 8.4. Composer said no. This is the docker workaround, and the permission fix that followed.
Latest answers
Question: How do I register deepin-terminal as an alternative on Debian?
Register custom terminal emulators in Debian's alternatives system using update-alternatives, including --slave option for man page integration.
Question: How does Debian solve converging configuration files?
Learn how to override Debian package configs without losing changes during upgrades using .d directories, ordering, and dpkg-diver
Latest snippets
zsh: drop sed for regexp-replace and use zstyle to avoid hardcoding things in a script
Use zsh's built-in regexp-replace instead of sed for string substitution, and zstyle to avoid hardcoding values in your scripts and functions.
git status can now compare branches
Git now lets git status compare your current branch with both upstream and push branches using status.comparebranches, making divergence instantly visible.