Opinion

Taking control of your digital legacy

A couple of years ago I sat at a close friend's kitchen table together with his wife. He was gone. We spent hours trying to make sense of what he'd left behind online: domains, virtual private servers, source repositories, online accounts, subscriptions, decades of accumulated technologist debris. Most of it made no sense to her, and honestly, plenty of it didn't make much sense to me either. We were grieving, crying and laughing at the same time, while trying to put a lifetime of digital footprint into some kind of order.

Read more...

Template plus source package: my .NET console stack in 2026

Back in 2021 I wrote about my preferred .NET console stack, an opinionated alternative to dotnet new console built around Spectre.Console, dependency injection, and structured logging. That recipe worked well, and I've since used it as the foundation for several tools, including ARI, Blobify, DPI, BRI, and AZDOI. The original approach shipped everything as a .NET template, which was great for getting started, but over time I ran into a familiar problem: templates are excellent for scaffolding, yet not so great for keeping shared bootstrap code in sync across many applications.

Read more...

My preferred .NET console stack

There's type of application that has followed me since I learned to code in the mid-'80s, and that's the console application. For years they looked the same a Main(string[] args) and some naive inconsistent command line parser. That gradually improved with the adoption of various OSS helper libraries. In this post, I'll walk through what today is my alternative starting point to dotnet new console, a way that greatly reduces the boilerplate code needed for logging, parsing, and validation of arguments, letting me focus on the problem to solve and not the plumbing.

Read more...

Being a good open source citizen

Cake project Gource contribution visualization

Read more...