Writing
Notes on .NET, Azure, tooling and the occasional terminal command I keep forgetting.
Trying out Omarchy — a .NET developer on Linux
I put Omarchy on a dead 2017 MacBook Air, and then on my main desktop. A five-minute install, hardware that just worked, and .NET development that turned out to be refreshingly boring.
The 6 levels of Claude Code — where do you stand?
Six levels separate people who treat Claude Code like a vending machine from people who orchestrate it. A map for finding where you stand and what comes next.
Securing an Azure Storage Account
A checklist for locking down a storage account: Azure AD and RBAC over account keys, private endpoints, encryption, Defender for Storage, and soft delete with point-in-time restore.
Azure Key Vault - Best Practices
Seven practices for a Key Vault you can defend: a vault per environment, RBAC over access policies, automated rotation, private endpoints, soft delete and a resource lock.
RSS feeds for your Github releases, tags and activity
GitHub publishes Atom feeds for releases, tags, commits, user activity and your private dashboard. The five URL patterns, ready to paste into a reader.
How to Flush DNS Cache in MacOS Catalina & Big Sur
One line in Terminal clears the DNS resolver cache on macOS Catalina and Big Sur — useful when a DNS change hasn't reached your machine yet.
How to install homebrew on MacOS
Install the missing package manager for macOS, then install, update and uninstall packages with it — every command, start to finish.
Renaming the hostname of your Raspberry Pi (Raspbian)
hostnamectl leaves /etc/hosts untouched, which breaks Docker and other networking services. Edit both files by hand instead — three steps and a reboot.
How to install Docker on your Raspberry Pi
Raspbian is officially supported, so Docker installs with a single curl command. Install it, add your user to the docker group, and run your first container.
Nothing matches that. Try a broader term.