Blog
Thoughts on software engineering, developer tooling, and building for the web.
PINNED

Maybe Love Is the Now
I used to think love was the time you give someone. Then I started wondering whether time is even the thing we actually hand over.
Observability 101: Stop Debugging in the Dark
What observability actually means, and how traces, metrics and logs fit together. Part one of two — the concepts before the instrumentation.
The Crucial Role of English Proficiency in Software Development
Explaining OOP to a colleague taught me that the hard part often is not the concept. It is the language you have to carry it in.
Code Smart, Not Fast: Avoiding Premature Optimization
The mistake that keeps derailing projects: optimising code before you know what is slow, and paying for it in clarity.
Adding Entity Framework Core and SQLite
Adding a real data source to a Minimal API — wiring up EF Core with SQLite, from DbContext through to dependency injection.
How to send an email with ASP.NET Core Minimal API and MailKit
Sending email from an ASP.NET Core Minimal API with MailKit, built from scratch rather than pasted from a snippet.
Getting started with ASP.NET Core 7 Minimal APIs
A beginner-friendly introduction to Minimal APIs in ASP.NET Core 7 — explained, for once, through cooking.