

Recent
Migrating from Jekyll to Hugo Part 3: Deployment and Lessons Learned
·1099 words·6 mins
In the final part of this series, I cover deploying Hugo to GitHub Pages and share the challenges I encountered.
Migrating from Jekyll to Hugo Part 1: Why I Made the Switch
·791 words·4 mins
After years of running this blog on Jekyll, I finally made the switch to Hugo. Here’s why.

Getting Started with the Aspire CLI - A Complete Guide
·1356 words·7 mins
This blog was posted as part of the C# Advent Calendar 2025. Make sure to check out everyone else’s work when you’re done here
The Aspire CLI is a cross-platform tool for creating, managing, and running polyglot Aspire projects. This post covers the core commands you’ll use day-to-day.

Building a Flexible AI Provider Strategy in .NET Aspire
·1947 words·10 mins
How I architected a single codebase to seamlessly switch between Azure OpenAI, GitHub Models, Ollama, and Foundry Local without touching the API service
When building my latest .NET Aspire application, I faced a common challenge: how do you develop and test with different AI providers without constantly rewriting your API service? The answer turned out to be surprisingly elegant - a configuration-driven approach that lets you switch between four different AI providers with zero code changes.

Headless CMS Without a PC on GitHub Pages
·520 words·3 mins
Headless CMS Without a PC on GitHub Pages
I’ve been running my site on GitHub Pages - no server, just git and GitHub Actions. But I still want a CMS that works on mobile, without dragging around a laptop or doing a Git clone. Enter Sveltia CMS + Sveltia CMS Auth on Cloudflare Workers. Here’s how to glue it together.