There Is No Best Coffee Roaster
For years I've been trying to find a single roast to become my house coffee. I've had some really great roasts, and I end up chasing those flavors. When the bag is gone I try to find more of it again.
This is a blog about software engineering, consulting, coffee and other things that I find interesting.
For years I've been trying to find a single roast to become my house coffee. I've had some really great roasts, and I end up chasing those flavors. When the bag is gone I try to find more of it again.
I got my first programming job in 2000 from a job fair at the Minneapolis Convention Center after a thousand emailed resumes went nowhere.
Umbraco 13 reaches end of life on 14 December 2026 and has been security-only since December 2025. Your three options, what the upgrade to 17 involves and how long it takes.
I'm going all in on vibe coded side projects this year. So far I have a handful of applications that I've built that I never would have had time to build in the past.
I signed into the NYTimes.com cooking site and without me clicking anything got signed up for three of their cooking email newsletters.
Today is the first big smoke day of 2026. The past five years we've had some brutal streaks of smoke days from all the smoke coming south from Canada and northern Minnesota but this one is extra bad.
Today's Record High is a website I created that tracks the record highs and lows for major weather stations and cities across the United States.
The questions to ask a software consultant in an initial conversation that separate real experience from a good sales pitch.
I created a Google Form and Google List to try and create a community Instagram directory of folks out shooting with Ricoh GRs.
AI gave me two different brew recipes for the same coffee in two separate chats. When I pushed back it changed its answer — not because I was right, but because I pushed. That's why I can't trust AI.
After years of posting photos only to Instagram I decided to build a dedicated photoblog at photos.clintmcmahon.com. This is the story of why I built it, how I used AI to migrate 250 old Tumblr posts and why the photos — not the code — are the product.
I bought a Canon PIXMA G620 photo printer to start printing family pictures at home and getting them up on the walls where they belong.
Some clients don't allow AI in their codebase. Here's what working without it looks like in 2026, and why I think the trade-off is worth it.
Over the last couple of years, my opinions have changed about the term software engineering. In this blog post, I share what I see as the difference between software engineering and software development in the age of AI.
AI has become a pretty great software engineering tool. Since I started software development in 2000 as a professional, a lot of things have changed that I wanted to share. This is a blog post about how I am using AI today in 2026 to make me a better software engineer.
enerally, you can use reader mode to get around these paywalls to view the article. But the other day I mistakenly stumbled on a new way to do it for the Star Tribune: if you scroll down to the bottom of the page as soon as the content loads.
This is my blog post about how I'm merging the MN Coffee Map, NYC Coffee Map and Chicago Coffee Map into a single Expo codebase.
Over time my git branches on my local machine get out of control. Here's the command to delete all your local git branches except main and develop.
I couldn't dial in my espresso consistently until I discovered that I should be preheating my portafilter. Here's why preheating your portafilter changes everything for home espresso on the Breville Barista Pro.
A local news broadcaster redirects users with ad blockers to a third-party error page with oddly personal messaging.