One Gym Session, One Cell Phone, One Working App
Every markdown editor I tried got something wrong, so I built a small WPF app with a live preview instead. Here’s what it does, how it’s built, and two bugs that only showed up once I actually ran it.
Every markdown editor I tried got something wrong, so I built a small WPF app with a live preview instead. Here’s what it does, how it’s built, and two bugs that only showed up once I actually ran it.
I’m pleased to share that I’m partnering with Pluralsight again, this time on a course called Integrating AI Agents in Enterprise Systems. It’s part of a new path on Agentic AI Integration for Developers, and…
A few weeks ago I passed Microsoft Certified: Azure AI Apps and Agents Developer Associate (AI-103). It took two attempts however. Some notes on the exam, what you are tested on, and my experience follows….
Willpower depletes and systems don’t — the same principle that makes good software resilient is the one that carried me through the hardest periods of my life.
I’ve been sitting on this one for ages. Every so often someone asks how a tool I once built called Social Opinion got started, or how I ended up in Twitter’s NYC office talking to…
I work across multiple locations. Scotland, England, client sites, my campervan, and sometimes Europe. That means I need a setup that travels without compromise. A proper second screen, a decent keyboard, and access to my…
Sometimes I get messages asking if I take sponsors. It’s not something I had considered but after some thought, it makes sense. I’m opening up a few sponsorship slots on the blog. A quick bit…
Last updated: 28 July 2026 I’ve been building out an AI agent, Iron Mind AI, a personal trainer agent, incrementally using the Microsoft Agent Framework. Each post in this series adds a new capability: function…
Last updated: 28 July 2026 Retrieval-Augmented Generation is a pattern, not a framework, and the gap between a RAG tutorial and a RAG pipeline that stays healthy in production is substantial. This series covers what…