Blog
Thoughts on .NET, open source, and building software.
AdoNet.Async: Bringing `await foreach` to ADO.NET
AdoNet.Async adds async-first interfaces and base classes to System.Data — IAsyncEnumerable rows, ValueTask operations, and a drop-in .AsAsync() adapter.
Lucent Code: AI That Reads Your Code Like Your IDE Does
Lucent Code is a VS Code AI assistant that uses your language server for code intelligence — not file search. Any model, any provider.
Building Zero-Allocation .NET with Source Generators
The ZeroAlloc suite wires mediator dispatch, DI registration, validation, and more at compile time — no reflection, no boxing, no dictionaries at runtime.
MailPeek: Stop Sending Test Emails to Real People
MailPeek is an in-memory fake SMTP server with a real-time web dashboard for ASP.NET Core. Capture every email your app sends during development.
Giving AI Agents Eyes Into Your .NET Codebase
Roslyn CodeLens MCP gives AI coding assistants semantic .NET code understanding — type hierarchies, call graphs, DI registrations — without grep.
Hello World — Why I Started This Blog
A first post about why I'm writing, what excites me about programming in 2026, and how AI is changing the way I build software.