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.

Be A T-Shaped Developer

Modern development jobs increasingly require knowledge across multiple domains. Here's why becoming a T-shaped developer with deep expertise in one area, broad knowledge across others is crucial.

October 29, 2025

My Facebook ads stopped working and crashed in September

My Facebook ad traffic dropped from 15K to nearly zero sessions in September. Here's what happened, what I learned, and how I'm building more resilient traffic sources.

October 28, 2025

Marketing Feels Like Hell for Developers

Marketing feels unnatural to developers because it’s built on ambiguity, not precision. Here’s how to approach it like an engineer and make it work for you.

October 13, 2025

My /feeds Page: Building Community on the Indie Web

Why I created a /feeds page, what it is, and how it helps foster community in the indie web.

October 09, 2025

Find Coffee Anywhere You Are In Minnesota

An overview of the web application that I built to display all the coffee shops in Minnesota. Complete with open hours, directions and Google AI summaries.

October 06, 2025

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, 2025

The 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, 2025

Code 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, 2025

Photos: August 2025

Photo round up from August 2025

September 22, 2025

MPLS 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, 2025

Early 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, 2025

Photos: July 2025

Photo round up from July 2025

August 01, 2025

I Rebuilt My Website In .Net 8

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

July 24, 2025

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.

July 23, 2025

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.

July 03, 2025

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.

June 17, 2025

Photos: May 2025

A collection of my favorite photos taken in May 2025.

June 13, 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.

June 12, 2025

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.

June 06, 2025

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.

May 14, 2025