MongoDB-backed ASP.NET Core Identity, without the EF Core detour

If you're already running MongoDB and you reach for ASP.NET Core Identity, the
official story points you at Entity Framework Core. That's a fine answer if you
have a relational database. If you don't, you end up bolting a second data
access stack onto an app that has exactly one store. You don't need it.

AspNetCoreIdentity.MongoDriver is a store provider that talks to Mongo through
the…

Read more →
I needed up-to-date .NET mapper benchmarks. They didn't exist.

The day AutoMapper stopped being a no-brainer

For years, AutoMapper was the default. You added the NuGet package, wrote a profile, and never thought about it again. That changed for me in 2025.

Two things happened almost back to back:

  1. AutoMapper went commercial. On July 2, 2025, Jimmy Bogard announced commercial editions of AutoMapper (and MediatR) under a new company, Lucky…
Read more →
TensorSharp.ai Review: A .NET-Native Way to Run GGUF Models Locally

Why TensorSharp is interesting right now

Local AI is no longer just a Python or C++ story. TensorSharp is an open-source, .NET-native inference engine for GGUF models that gives developers three ways to work: a CLI for quick tests, an ASP.NET Core server with a browser chat UI, and OpenAI- plus Ollama-compatible HTTP APIs for drop-in integration. The official docs also position it as a real…

Read more →
Replacing Electron with .NET 10: Writing a zero-latency, SIMD-accelerated IDE

Modern development tools have normalized lag. As an industry, we’ve somehow accepted that opening a text editor should consume 2GB of RAM, and that typing rapidly should occasionally stutter while an extension parses a JSON tree on the UI thread.

The standard playbook for building cross-platform editors today is to use Web Technologies (Electron/Tauri) or to drag along a decades-old monolithic…

Read more →
Dev Log: When the design contradicts itself, stop typing

I’m reviving Munchausen, a C# NuGet package I started 9 years ago. This is part 5 of an 8-part series documenting both the development process and the engineering decisions behind bringing the project back to life.

This is the Dev Log: the practical work, cleanup, implementation steps, and day-to-day progress behind this part of the project.

M4 is the milestone with opinions. It's the…

Read more →
Dev Log: The first public API, and the type graph that wouldn't stay small

I’m reviving Munchausen, a C# NuGet package I started 9 years ago. This is part 4 of an 8-part series documenting both the development process and the engineering decisions behind bringing the project back to life.

This is the Dev Log: the practical work, cleanup, implementation steps, and day-to-day progress behind this part of the project.

M3 is a milestone with a flag on it: the…

Read more →
Agent Framework RAG for Agents: Giving Your Agent the Right Context

This is Part 13 of my series on the Microsoft Agent Framework. You can read the original post over on lukaswalter.dev.

In the previous article, we looked at workflows.
Workflows make sense when the process itself needs structure: state, checkpoints, events, human approvals, and resumable execution.

This post is the bridge from Agent Framework into RAG.
I plan on doing a full RAG deep dive…

Read more →
Differences Between C, C++ and C#

There is one thing in common with the languages C, C++ and C#: their first letter. The fact of their name be similar makes some people think that these languages are almost the same thing. But… is it true? Are there any more similarities between these languages beyond their name?

Page 1