welcome
RSS FeedI'm an experienced Azure ASP.NET Software Engineer and tech team lead, and I specialize in developing web applications and software integrations at scale. I have over 25 years of experience using Microsoft technology and a deep understanding of what it takes to build reliable, high-performance software that meets the needs of businesses both large and small. Welcome to my space on the web where I write about the tech topics that interest me.
Check out my blog posts reaching back to when I started my blogging journey in 2003.
Featured
-
Return on Intelligence: The Preface to an Eight-Part Series on the AI Bubble
Published: at 11:30 AMPreface to an eight-part essay series arguing that the AI bubble will burst not because AI is fake, but because AI is real enough to break the market's first ownership story.
-
Building and Publishing a .NET Aspire Hosting Extension for Webhook Testing
Published: at 10:00 AMA step-by-step guide to building, publishing, and using a .NET Aspire Hosting Extension for webhook testing.
-
The Robotic Rubber duck - coding an energy forecasting engine with OpenAI Codex
Published: at 01:11 AMAn adventure coding without coding.
-
The Five Waves of Distributed Resilience
Published: at 06:45 PMOver the past 30 years, distributed systems have undergone a quiet revolution. From crude polling loops to language-native durable execution engines, the way we build and orchestrate resilient business logic has advanced through a series of distinct technological waves.
-
Deploying .NET applications to Coolify
Published: at 05:45 PMA step-by-step guide on migrating from WordPress on Digital Ocean VPS to Cloudflare Pages and Astro SSG, including integrating Giscus comments and other benefits.
-
Moving from WordPress on Digital Ocean VPS to Cloudflare Pages and Astro SSG
Published: at 05:45 PMA step-by-step guide on migrating from WordPress on Digital Ocean VPS to Cloudflare Pages and Astro SSG, including integrating Giscus comments and other benefits.
-
Exploring the Traits of Exceptional Developers
Published: at 11:25 PMAn exploration of the qualities that define exceptional developers, including T-shaped skills, continuous learning, problem-solving, and the ability to switch between big-picture thinking and detailed focus.
Recent Posts
-
Return on Intelligence, Part 8: The New Power Map
Published: at 08:00 PMThe final part of a long-form essay series mapping the likely winners and losers after the AI bubble breaks and the mature AI economy begins.
-
Return on Intelligence, Part 7: After the Crash
Published: at 07:45 PMThe seventh part of a long-form essay series arguing that the AI crash, when it comes, will not be the end of AI, but the start of its mature economic phase.
-
Return on Intelligence, Part 6: Breaking Point
Published: at 06:30 PMThe sixth part of a long-form essay series. The market does not stop believing in AI. It starts doubting who owns it. The pressure map showing how multiple assumptions can weaken at the same time.
-
Return on Intelligence, Part 5: Firmware
Published: at 05:15 PMThe fifth part of a long-form essay series. Firm-ware is the operating logic embedded into the company itself. AI makes that logic programmable.
-
Return on Intelligence, Part 4: SaaS Was a Compromise
Published: at 03:00 PMThe fourth part of a long-form essay series arguing that SaaS is more vulnerable to AI than many people believe because SaaS won partly because custom software was too expensive. That compromise is now being repriced.
-
Return on Intelligence, Part 3: Moats
Published: at 02:45 PMThe third part of a long-form essay series arguing that intelligence alone is not the moat. Durable moats may be context, distribution, workflow, identity, permissions, governance, execution rights, data and systems of record.
-
Return on Intelligence, Part 2: Prototypes
Published: at 01:30 PMThe second part of a long-form essay series arguing that early AI companies and interfaces are prototypes of futures they may not own. A prototype can be directionally right and economically doomed.
-
Return on Intelligence, Part 1: Echoes
Published: at 12:15 PMThe first part of a long-form essay series arguing that the AI bubble will burst not because AI is fake, but because AI is real. This opening chapter uses lived experience from the dotcom bubble to explain why real paradigm shifts produce the most dangerous bubbles.
-
From One Giant ‘Skill’ to a Real Agent Library: Temporal + .NET Aspire Debugging With Copilot
Published: at 10:00 AMI started with a single ‘Temporal .NET skill’ file, then realised I’d built a context-stretching custom agent. Here’s the structure I use now: a small router agent, modular skills, reusable prompts, and MCP-powered observability via Aspire + Temporal docs.
-
Combining .NET Aspire with Temporal - Part 3
Published: at 05:55 PMPart 3 of a multi-part blog series on Temporal with .NET Aspire.