I wanted one command that builds a release, stamps the right version into it, and hands me an artifact ready for the App Store or Google Play. No manual archive steps, no hunting through Visual Studio menus, no “wait, which signing profile did I use last time.” Just a publish script for two app stores.
MAUI iOS Archive Fails on Windows: The Real Cause
A MAUI iOS archive fails on Windows with a cryptic Unzip error. I burned an afternoon blaming two real, documented bugs before finding the actual cause: a plain JSON file. Have you hit “The filename, directory name, or volume label syntax is incorrect” or “The given path’s format is not supported” while archiving a .NET MAUI iOS app through Visual Studio’s Pair-to-Mac? Save yourself the detour. Here’s the whole mess, dead ends included.
MAUI iOS Provisioning: Why Old Certs Return
I spent an evening trying to convince Visual Studio and my Mac that I no longer work for a defunct company — and that my MAUI iOS provisioning setup has nothing to do with it.
The Real Cost of Developer Context Switching (And Why ‘Quick Fix’ Is a Lie)
Developer context switching sounds like a minor inconvenience. Then you live through what it actually costs a project. Here’s what it cost one of mine.
Every Software Engineer Is About to Lose Their Job. Again.
I’ve been in this field for over twenty years, and in that time I’ve watched a lot of technologies show up promising to revolutionize the industry. Some of them actually did. Most didn’t. Each time, people proclaim that every software engineer is about to lose their job. So even though I’ve been using chat-based AI for a while now, I was slow to touch the newer agentic coding tools. Call it stubbornness, call it healthy skepticism, call it whatever you want — I just wasn’t in a hurry.
host.docker.internal Is a Liar (On Linux)
I spent two days chasing a 5-second page load that had no business existing. Along the way I blamed the CPU governor, IPv6, disk contention, and a laundry list of side projects running on the same box. All of those theories were reasonable. None of them were it. The real answer was one bad assumption baked into a couple of connection strings, and it wore three different disguises before I finally cornered it. The gist of it: host.docker.internal is a liar (on Linux).
Here’s the whole mess, in order, mistakes included.
How to Alienate Your Users: An Asshole’s Guide For Responding to Help Requests in Open Source
Open-source projects thrive on community participation and collaboration. As a maintainer, how you respond to help requests can make or break the user experience. Here are some key points to implement if you want to ensure you alienate your users.
What is a Full-Stack Software Engineer?
You’ve heard the buzzword, you’ve seen the job postings. If so many people are hot about this topic, it must be worth learning about, right? What is a full-stack software engineer anyway?
Unit Testing Auth0 Scripts
You’re a good developer. You like testing your code. Security is important to you, so you also decide that you’ll use a 3rd party service for authentication and choose Auth0. Out-of-the-box, however, doesn’t quite get you what you need so you add some custom rules and scripts to it. You realize, however, that even though these scripts run in a NodeJS instance on their side, they don’t follow conventional patterns. How do I go about unit testing auth0 scripts, you ask yourself?
Skip Authentication Schemes in ASP.NET Core
Authentication in ASP.NET Core is both powerful and dynamic. It provides you the power to incorporate many different schemes and augment the logged-in security principal. Authentication schemes are how we apply authentication in ASP.NET Core. What if you want to skip authentication schemes in favor of another?











