Have some fun doing it.
.NET, Windows, developer tools, and mistakes included.
Find your starting point
Newest thing / Article / windows From sln to slnx in Minutes: Cleaner Diffs, Faster Merges Start with these.
One video and one article. They show how I teach, what I care about, and why the answer is usually "it depends."
Read this first / 5 min Tame Configuration in ASP.NET Core with IValidateOptions
Silent misconfiguration is sneaky and expensive. Learn how to validate strongly typed settings in .NET using IValidateOptions, add cross property rules, inject services, support named options, and fail fast at startup with ValidateOnStart.
Read the article →Most watched.
What developers have watched most across the channel, ranked by real YouTube views.
Worth reading.
Practical guides I would hand you when the same problem shows up again.
Tame Configuration in ASP.NET Core with IValidateOptions
Silent misconfiguration is sneaky and expensive. Learn how to validate strongly typed settings in .NET using IValidateOptions, add cross property rules, inject services, support named options, and fail fast at startup with ValidateOnStart.
Read it → data / 4 minRepository Pattern vs DbContext in Entity Framework Core
Tired of arguing about repositories in EF Core? This practical guide compares direct DbContext, thin repositories, and specification style queries with small, runnable C# examples. Learn when each option shines, what to avoid, and how to keep your code clean without hiding EF Core features.
Read it → csharp / 5 minThe Traps of Nullable<T> in C#: a Practical Guide with Tiny Examples
Nullable<T> is not a mini reference type and pretending it is will bite you. This guide walks through how nullable value types work at runtime, how boxing really behaves, and what operator lifting does. You will see small, runnable C# snippets that expose common traps and safe patterns. Learn how to handle equality, pattern matching, and generics without surprises.
Read it → windows / 4 minFrom sln to slnx in Minutes: Cleaner Diffs, Faster Merges
Solution files got an upgrade in .NET 10. This guide explains what .slnx is, why it replaces .sln, and how to migrate using the CLI, Visual Studio, or Rider. Learn how it reduces merge conflicts, what changes in CI and Docker, and how to roll it out to a team with confidence.
Read it →Choose a rabbit hole.
Start with the thing you need to fix, understand, or finally stop searching for.
Latest.
Videos and articles together, newest first.
From sln to slnx in Minutes: Cleaner Diffs, Faster Merges
Solution files got an upgrade in .NET 10. This guide explains what .slnx is, why it replaces .sln, and how to migrate using the CLI, Visual Studio, or Rider. Learn how it reduces merge conflicts, what changes in CI and Docker, and how to roll it out to a team with confidence.
4 min1 like →
Short / csharp The C# const trap 🪤
0:47475 views16 likesYouTube → Article / aspnetcoreFive DI Anti-Patterns Haunting .NET Apps and how to fix Them
Dependency injection is powerful until small mistakes turn into late night outages. This post walks through five common DI anti patterns in .NET, shows why they fail, and gives compact fixes. Learn lifetime rules, avoid hidden dependencies, and make testing easy.
4 min0 likes → Article / csharpMeasure Twice Allocate Once: Faster Lists in .NET
Lists grow by reallocating and copying, which adds hidden cost as data scales. This post shows why setting List capacity up front reduces allocations and improves cache behavior. You will see small runnable examples and practical patterns you can drop into production.
4 min1 like → Article / aspnetcoreTame Configuration in ASP.NET Core with IValidateOptions
Silent misconfiguration is sneaky and expensive. Learn how to validate strongly typed settings in .NET using IValidateOptions, add cross property rules, inject services, support named options, and fail fast at startup with ValidateOnStart.
5 min2 likes → Article / csharpVirtual vs Override vs Partial in C# Explained with Small Runnable Examples
Virtual, override and partial are tiny C# keywords with huge impact on design. This post explains how they work, when to use them, and where bugs appear. Learn the difference between override and new, why sealed override matters, and how partial classes and partial methods keep generated and hand written code happy. Every section comes with short, runnable snippets and real project tips.
4 min1 like →A little .NET in your inbox.
One useful tip, a few links worth your time, and the occasional war story. No inbox flood.