All Blogs
Stop using GitHub Copilot as a chatbot!
Chat feels natural, but software engineering is not a conversation. This post explains why conversational interaction models optimize for negotiation, not commitment; and why treating GitHub Copilot …
You are holding GitHub Copilot Wrong!
If you’re constantly prompting, re-prompting, and steering GitHub Copilot, you’re using it wrong. This post explains why the problem isn’t your prompts, but the interaction model itself.
Building a Multi-Hierarchy Ticket Classification System
Learn how to build a production-ready ticket classification system that combines keyword matching, vector similarity, and LLM validation. Move beyond basic pattern matching to handle 125 subcategories …
Secretless cross-tenant dataverse access
Call Dataverse in Tenant B from Azure Functions in Tenant A without storing secrets or certificates; use a user-assigned managed identity and a federated identity credential. The app is multitenant …
How Azure CLI handles your tokens and what you might be ignoring
The Azure CLI feels like magic: One az login and you’re in forever. But behind that convenience sits a cache of refresh tokens, shared across tools and tied to your Windows account. This post breaks …
How Dev Proxy teaches you to make your apps more resilient
I added Microsoft Dev Proxy to my Mermaid → Dataverse converter expecting a quick resilience check—and ended up discovering everything that was quietly broken. From long-running rollbacks and Azure …
Building Azure functions that never store secrets — ever
Build Azure Functions that never store secrets by using Managed Identity. Request tokens from IMDS or the App Service identity endpoint and assign Microsoft Graph app roles at deploy time with …
Introducing Mermaid to Dataverse Converter
ERDs are great for explaining data models, but they’re usually trapped in dead slide decks. With Mermaid and the Mermaid to Dataverse Converter, your diagrams become source code: versioned, …
It’s OK to be seen trying
Some people won’t share until their work is perfect. Others share while they’re still figuring it out—and create space for everyone else to learn. This blog is a call to kill the myth of effortless …
Stuck in pilot - Part 1: The illusion of progress
Most AI pilots don’t fail because of the tech; they fail because the prep work never happened. This blog explores four critical gaps that sabotage your AI initiatives before they even start, and …
The MVP trap: AI lets you do more, but often worse
AI empowers individuals to do more, faster—but faster doesn't mean better. This post looks at how the MVP mindset is being distorted by AI tooling, what we lose when we remove people from the process, …
The productivity graph is broken and we’re pretending it’s fine
We plan as if people produce at a steady pace, every day, for eight hours. But the reality is lumpy, chaotic, and often filled with guilt. This post breaks down the 1–4–40 model of productivity, …












