Writing
2026
-
Coffee Break Features and Afternoon-Long Reviews
If AI agents can implement software faster than we can safely validate it, do our sprints still fit the work?
-
Projection-Oriented Modeling: Stop Mapping, Start Projecting
Object mapping treats different representations as separate models that need translation. Projection-Oriented Modeling treats consumer-specific models as vie...
-
The Gateway Pattern: Building Typed Client SDKs in .NET
How to structure a typed HTTP client SDK using the Gateway Pattern — a three-layer approach that separates URL construction, HTTP transport, and domain-meani...
-
T4Editor v5: C# IntelliSense Finally Comes to T4 Templates
T4Editor now has Roslyn-powered C# IntelliSense, syntax highlighting, and error diagnostics inside T4 code blocks. Here's how it works.
-
Pick and Omit in C# with Facet .NET: TypeScript Utility Types for .NET
If you’ve worked with TypeScript, you know how powerful utility types like Pick and Omit are. They let you create new types by selecting or excluding propert...
-
My thoughts on Vibe Coding as a Senior .NET Engineer
My take on where we are, where we are headed, and how to stay relevant.
2025
-
Faceted search in .NET
Eliminate boilerplate and build powerful, type-safe search experiences with source generators.
-
Blazor vs MVC: Why Developers Still Choose MVC in 2025
Recently, I came across a fascinating discussion in the .NET community that made me pause and reflect. A developer behind Blazorise asked a simple but profou...
-
Advanced Flattening with Facet .NET
If you've ever found yourself writing DTOs with properties like CustomerAddressStreet, CustomerAddressCity, ShippingAddressLine1, and ShippingAddressZipCode,...
-
Facet: A Source Generator Competing with Traditional Mapping Libraries
A look at Facet, as we discover how source generation is changing the mapping landscape.
-
Facets in .NET
The Problem with Traditional DTOs If you’ve worked with modern C# applications, you’ve written this pattern countless times: public class Use...
-
BlazorFrame: Enhanced iframes in Blazor
Iframes (inline frames) are one of the most powerful yet dangerous features of the modern web. They allow us to embed third-party content into our applicatio...
2024
-
Source Generators: The End of T4 Templates?
In the evolving landscape of .NET Development, code generation has been a cornerstone for creating boilerplate code, improving developer productivity and aut...