FEATUREDSeparating Planning from Doing Musings on reminding myself to separate the act of planning from the act of doing. 21 Dec 2023
Globally applying InternalsVisibleTo across multiple .NET projects A method to globally apply the InternalsVisibleTo assembly attribute for all class libraries in a solution. 1 Aug 2024
My thoughts on Blazor in .NET 8 My thoughts on the maturing of Blazor in .NET 8 as it becomes an increasingly versatile web framework. 12 Dec 2023
Strategy vs Tactics I've noticed that early planning sessions for business technology projects can sometimes pivot a bit too quickly from strategy to tactics. 25 Oct 2023
How I version my software projects Standardising my versioning approach across software projects to use some of the best bits of CalVer and SemVer 2.0. 12 Aug 2022
Making GitHub Actions jobs conditional, based on commit messages Creating some flexibility within a GitHub Actions pipeline by skipping certain jobs based on keywords or tags in your commit message. 30 May 2022
Free up purgeable space in macOS with DaisyDisk How to force-delete "purgeable space" in macOS when all else fails. 6 Nov 2020
Migrating to the new Blazor CSS Isolation Some notes on migrating to the new Blazor CSS Isolation in .NET 5+ 1 Nov 2020
On premature optimisation and abstraction Is introducing abstractions too early in a software project akin to premature optimisation? 30 Aug 2020
Running multiple instances of cloudflared on Windows How to run multiple instances of the Cloudflare Tunnel agent as separate Windows services 9 May 2020