Why I Switched From nvm to fnm for Node Version Management
A hands-on move from the bash-based nvm to the Rust-based fnm: faster terminals, automatic per-project Node switching with –use-on-cd, and the corepack notes.
Pillar 12 · Operate
A hands-on move from the bash-based nvm to the Rust-based fnm: faster terminals, automatic per-project Node switching with –use-on-cd, and the corepack notes.
A production-grade systemd service unit for a long-running app on Ubuntu 24.04: restart policy, a dedicated service user, and the sandboxing directives that cost nothing to add.
A copy-pasteable .gitattributes and layered .gitignore pair that normalises line endings, marks binaries, and stops build artefacts and secrets-adjacent files ever reaching a commit.
WSL2 loses DNS the moment you connect a corporate VPN, or silently after a Windows update. This is how to match the symptom to the right fix instead of copy-pasting a resolv.conf that gets overwritten.
A systemd unit that dies instantly with status=203/EXEC or 217/USER never executed your program at all. Here is how to read those codes and fix the unit rather than guess.
The FCA, PRA and Bank of England have standardised what operational incidents and third-party arrangements UK firms must report, and when. Treat it as a data-capture and submission build, not a policy.
Stop installing command-line Python apps into your global interpreter. pipx gives each tool its own venv, and uv tool does the same job faster — here is how to run both, and which to standardise on.
A systemd timer is two files and a lot of capability people never use. Set up a oneshot service and its timer with catch-up, randomised delay, a dedicated user and sandboxing.
A copy-pasteable nginx reverse proxy server block that preserves the client IP, sets X-Forwarded-Proto, keeps WebSockets alive and reuses upstream connections.
Verification of Payee is a fuzzy-matching, latency-bound service returning match, close-match or no-match inside the payment flow. The matching logic and false-positive rate are the real engineering problem.