Blog
I write about the tech I'm building, the coffee I'm drinking, and the photos I take along the way. Sometimes it's code, sometimes it's travel, and sometimes it's just whatever's been on my mind.
Is September Getting Hotter in Minneapolis? A Data Visualization Look
A Highcharts data visualization analysis of September temperatures in Minneapolis, comparing historical highs and monthly averages to see if the city’s falls are warming.
October 03, 2025The Principles of Being a Software Architect
A direct, professional breakdown of what it takes to be a trusted software architect in high-stakes environments.
September 29, 2025Code Review Your Own Code
LLMs speed us up, but they don’t replace the basics. Always open a PR and review your own code, even if the bulk of it came from an agent.
September 25, 2025MPLS Coffee is now MN Coffee
This month I'm releasing a big set of updates to MPLS Coffee. The biggest is a facelift and a name change from MPLS Coffee to MN Coffee.
September 02, 2025Early mistakes in Big Little Cities
We just finished our second month of Big Little Cities. As it was successful, we also had some mishaps. This blog post is about what we did wrong along the way.
August 14, 2025I Rebuilt My Website In .Net 8
A breakdown of my personal site rebuild using .NET 8, Bootstrap, and markdown-powered blogging.
July 24, 2025Short 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.
July 23, 2025How 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.
July 03, 2025How 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.
June 17, 2025How 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.
June 12, 2025Adding IndieAuth and IndieWeb Features to My ASP.NET Core Website
How I made clintmcmahon.com IndieWeb-friendly with IndieAuth, microformats, and the IndieWeb Webring.
June 06, 2025It'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.
May 14, 2025AI 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.
May 06, 2025Photos: April 2025
I did not take very many photos in April. But here are the best of the ones I did take.
May 02, 2025Call 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.
April 25, 2025What 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.
April 17, 2025Photos: 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.
April 14, 2025