Skip to content
kc@kumarChandrachooda.com:~$ cd /blog/archive && read --section="top" 0%
Archive

Every article

Newest first, grouped by year. Search or filter by topic.

  • 556 articles
Coming soon
Coming soon Nov 2025

The Dashboard You Get for Free

Wire four services into a .NET Aspire AppHost and run it once - traces, logs, health and environment variables for the whole system, before you have written a single line of observability code. Part 1 of a series on Aspire in production.

AI Engineering 30 Jun 2026

The Chatbot Is Not a Strategy

A chat window bolted onto a product is not an AI strategy, and neither is an assistant licence mandated for developers - the case for adoption with intent, and the staged-maturity evidence behind it.

AI Engineering 28 Jun 2026

A Blank Page Still Needs Gates

The diagnosis came back genuine and the repository is empty - now the discipline the old system used to impose for free must be rebuilt by hand. Greenfield delivery as three questions (decide, prove, ship) and the gates an AI-assisted team still owes itself.

AI Engineering 26 Jun 2026

Greenfield Is a Diagnosis, Not a Prize

Teams ask for a rewrite as though greenfield were a reward for enduring the old codebase - it is a diagnosis with a test attached, and misdiagnosis is how rewrites fail. Part 1 of 2 on choosing the field you build on.

.NET 25 Jun 2026

An Agent Card for Your API

FastEndpoints.A2A publishes an agent card at a well-known URL and answers agent-to-agent calls through a JSON-RPC 2.0 dispatcher written entirely by hand - implementing exactly the slice of the A2A protocol it can do honestly. The final missing chapter, and the close of both series. Part 12 of FastEndpoints — The Missing Chapters.

.NET 23 Jun 2026

Your Endpoints Are Now Tools

FastEndpoints.Mcp exposes opt-in endpoints as Model Context Protocol tools - schemas generated from your DTOs and enriched from your validators, a synthetic HttpContext that runs the real pipeline, and a visibility model that deliberately ignores your REST auth. Part 11 of FastEndpoints — The Missing Chapters.

.NET 21 Jun 2026

Rules That Plan Commands

FastEndpoints.CommandRules sounds like a Roslyn analyzer and is nothing of the sort - it is a small rules engine that turns an input into planned commands and dispatches each one now or onto a job queue. A close read of the newest package in the repo, capability matrix and all. Part 10 of FastEndpoints — The Missing Chapters.

.NET 19 Jun 2026

Four Ways to Generate an API Client

FastEndpoints will hand you a typed client four different ways - NSwag-generated C# or TypeScript, or Kiota clients built over either OpenAPI stack - served as a download endpoint or produced by a run-then-exit build mode. The lineages, the seams, and one version pin that tells a story. Part 9 of FastEndpoints — The Missing Chapters.

.NET 18 Jun 2026

Life After NSwag

Buried in the FastEndpoints package props is a comment marking NSwag for deprecation - and a whole second OpenAPI stack built on Microsoft.AspNetCore.OpenApi already ships beside it. Transformers instead of processors, AOT export via MSBuild tricks, and a golden-master test suite. Part 8 of FastEndpoints — The Missing Chapters.

.NET 16 Jun 2026

IQueryable In, OData Out

FastEndpoints.OData is ninety lines that bolt Microsoft's OData query engine onto a REPR endpoint - a sealed Configure(), a fake ParameterInfo, and an endpoint filter that fishes the response out of HttpContext.Items. Reading it is a masterclass in integrating with a framework through its narrowest seam. Part 7 of FastEndpoints — The Missing Chapters.

.NET 14 Jun 2026

Health Probes Without an Endpoint Class

FastEndpoints.HealthChecks is the strangest package in the repository - it never references FastEndpoints. One extension method, an IStartupFilter, an always-healthy self check, and two probes Kubernetes understands. Part 6 of FastEndpoints — The Missing Chapters.

.NET 12 Jun 2026

The Resolver Behind Everything

Mappers, validators, processors, even the Resolve<T>() you call in a handler - almost none of it goes through your DI container the way you assume. A static ServiceResolver with two caches sits behind everything, and reading it explains both the speed and the sharp edges. Part 5 of FastEndpoints — The Missing Chapters.

.NET 10 Jun 2026

All Configuration Is Static

The Config object you lambda into UseFastEndpoints is a thin view over nine process-wide static option singletons - and its properties hide the most useful hooks in the library: endpoint filters, a global configurator, warm-up, serializer swaps and custom value parsers. Part 4 of FastEndpoints — The Missing Chapters.

.NET 09 Jun 2026

The Antiforgery Check That Fails at Boot

FastEndpoints ships a CSRF middleware that is opt-in per endpoint, only inspects form posts, and refuses to start your app if you wired it up wrong. It earned a single clause in seventeen parts - here is the whole story. Part 3 of FastEndpoints — The Missing Chapters.

.NET 07 Jun 2026

Every Way to Send a Response

The Send facade is a struct, its methods return a fake Void, and every sender secretly marks the response started before writing a byte. A tour of the response surface the deep dive skipped - files, ranges, redirects, interceptors and all. Part 2 of FastEndpoints — The Missing Chapters.

.NET 05 Jun 2026

The Mapper in the Middle

Seventeen parts of reading FastEndpoints and the series never once mentioned mappers - the entity-translation layer half the endpoint base classes exist to serve. The Missing Chapters opens with the biggest gap: where mappers live, how they are found, and why they are secretly singletons. Part 1 of FastEndpoints — The Missing Chapters.

AI Engineering 03 Jun 2026

When the Percentage Looks Wrong

Every confusing statusline behaviour is a lesson about the harness underneath - the token arithmetic that refuses to match, the 300ms debounce, the five-second timeout, and the escape codes that fight back.

AI Engineering 02 Jun 2026

Five Scripts and One Settings Key

The statusline build, end to end - a stdin JSON contract, an entry point that reads once and delegates, a colour-coded session line, git platform routing, and the single settings.json entry that wires it all in.

AI Engineering 31 May 2026

A Statusline Is a Tiny Harness

The first exercise I give anyone learning to direct coding agents has no prompt in it at all - it is a status bar. Why sixty lines of PowerShell teach context and harness thinking better than any lecture about either.

Engineering Practice 29 May 2026

What AI Changes About Measurement

The series retrospective - what the AI-era evidence actually says with every figure dated and attributed, the nine characteristics of ISO 25010 as revised in 2023, and what I now gate differently when much of the diff was machine-written.

Engineering Practice 27 May 2026

The Misleading-Metrics Graveyard

Eleven numbers that still haunt engineering dashboards - what killed each one, from Goodhart to queueing theory to changing fashion, and the one-line replacement carved on every headstone.

Engineering Practice 25 May 2026

Reporting to Three Audiences

The team, the team lead and the executives need different slices of the same truth - what each audience should actually see, the numbers I put in front of a boardroom, and dashboard principles that skip the red-amber-green pantomime.

Engineering Practice 24 May 2026

Capturing It All in Azure DevOps

What Azure DevOps will measure for you and where it stops - the two clock definitions, the reactivated-item rule, how to read a cumulative flow diagram, and why Microsoft's own guidance points past its widgets to OData.

Engineering Practice 22 May 2026

SPACE and the Human Dimensions

Why no single metric captures developer productivity - the SPACE framework's five dimensions in plain terms, the measure-at-least-three rule, and what I do about the two dimensions no dashboard can hold.

Engineering Practice 20 May 2026

Flow Metrics and Little's Law

The queue mathematics underneath delivery - one equation from 1961, Scaled Agile's six flow metrics rewritten in plain terms, and why the biggest delivery gains hide in the waiting rather than the working.

Engineering Practice 18 May 2026

Five Metrics, Not Four

DORA as it actually stands - five metrics since the 2024 report, benchmarks dated to their vintage, the 2025 archetypes, and the comparison warning printed on the tin.