Blog

This is a blog about software engineering, consulting, coffee and other things that I find interesting.

2025

El Casino from Sey Coffee ⭐

A Pink Bourbon from Colombia that made the best cold brew of the year—red fruit and blueberry notes that I could drink all day.

West End Blues from Tandem Roasters

A Portland Maine traditional espresso that didn't match my first bag—switched to primarily espresso as I figured out milk was leaving me bloated.

I Rebuilt My Website In .Net 8

A breakdown of my personal site rebuild using .NET 8, Bootstrap, and markdown-powered blogging.

Short Weekend at Grand View Lodge

We had a short weekend at the Grand View Lodge in Nisswa, Minnesota. Here are some pictures from that trip.

Huckleberry & Never Coffee Roasts

Two dark roasts—Blue Orchid and Boomerang—that confirmed I'm a light-to-medium roast person. Good reminder about personal preference.

How I Use AI to Save Time on .NET Projects

Real-world ways I use AI tools like GitHub Copilot to speed up .NET development without sacrificing quality or my job.

Mixed Tape from Dogwood Coffee

A Minneapolis roaster that's fine but not great—chocolate and corny notes couldn't justify specialty prices for the weekly rotation.

Banko Taratu from Verve

An East African cold brew with blood orange and black tea notes—saved my Verve subscription after too many fruity African blends.

How to Fix a Broken .NET App You Just Inherited

A practical guide for developers and consultants who need to take over and rescue a legacy .NET codebase.

Photos: May 2025

A collection of my favorite photos taken in May 2025.

How To Fix Missing 'sub' Claim an ASP.NET JWT

If you're using Azure AD B2C and can't find the 'sub' claim in your Web API, ASP.NET Core's default claim mapping is likely the culprit. Here's how to work with JWT claims directly.

Adding IndieAuth and IndieWeb Features to My ASP.NET Core Website

How I made clintmcmahon.com IndieWeb-friendly with IndieAuth, microformats, and the IndieWeb Webring.

It's OK to ask for help

So often in my career I've offered to help someone with a task and they don't take me up on it. I can't figure out why people don't take free help.

Mustefa Abakeno from Verve

An East African light roast that made outstanding cold brew with pear and marmalade notes—one of the best cold brews I've made in some time.

AI Use Case: Debugging Vue + Quasar UI Code with ChatGPT

I use AI in my day-to-day life as a developer and human. One way that I use AI as a developer is to understand code bases that I'm not familiar with.

Photos: April 2025

I did not take very many photos in April. But here are the best of the ones I did take.

Call your dad

Today is my dad's birthday. This morning Siri put a prompt on my homescreen to tell me to call him today. That's the AI I want in my life.

Montes De Oro from Verve ⭐

A Costa Rican with green apple, plum, and butterscotch notes—earned five stars even when espresso ran thin. Might be my favorite Verve coffee.

What to write on LinkedIn

I've been on LinkedIn from the beginning but I still have no idea what I'm suppose to write on the platform.

Photos: Southern California Spring Break

We just returned from our spring break in Southern California. Here are a collection of my favorite photos from the trip.