Dennis Doomen @dennisdoomen.com · 29/09/2026PackageGuard 2.8 adds gated policies so you can prevent your builds from succeeding based on a various quality, operation and security attributes. Read all about that at www.dennisdoomen.com/2026/09/pack... 000
Dennis Doomen @dennisdoomen.com · 28/09/2026Few conferences leave such a lasting impression as Techorama does, so I'm happy that, again, I'm playing a small part in their impressive line-up. To celebrate that, I can offer you a discount of 100 euros through tickets.techorama.nl/2026/redeem?... Will I see you there? 010
Dennis Doomen @dennisdoomen.com · 17/09/2026v2.7 of PackageGuard makes it easy to figure out why your codebase is using a specific NuGet or NPM package. It will show where in your project a particular package is used, which version was resolved and risks exists. Learn more about this at packageguard.org/docs/explain 000
Dennis Doomen @dennisdoomen.com · 15/09/2026Tomorrow, I'll be travelling to Oslo to speak at the renowned @ndcconferences.com. Although this is my 7th NDC, I remain humbled to be at the one that started it all. Will I see you there? 000
Dennis Doomen @dennisdoomen.com · 14/09/2026This evening, we've released Fluent Assertions 8.11. Check out the detailed release notes at github.com/fluentassert... #mvpbuzz #unittesting #assertions 000
Dennis Doomen @dennisdoomen.com · 10/09/2026PackageGuard, the fully open-source alternative to tools like Snyk, Black Duck and others, has just received an update that improves the risk report by removing overlapping risk factors and include all the vulnerabilities details. Also check out the new website at packageguard.org 000
Dennis Doomen @dennisdoomen.com · 09/09/2026Mockly, the open-source HTTP mocking library for .NET is getting better and better. Check out some of the newest features that got released over the weekend in the image below, or read the docs at mockly.org/docs/advance... 010
Dennis Doomen @dennisdoomen.com · 08/09/2026Pathy, the source-only .NET library that makes working with files and directories a very fluent experience, received a new version. Check it out at github.com/dennisdoomen... 010
Dennis Doomen @dennisdoomen.com · 07/09/2026Reflectify, a source-only open-source package with tons of Reflection smartness, got a new release. Check out the release notes at github.com/dennisdoomen... #mvpbuzz #dotnet #csharp #oss 001
Dennis Doomen @dennisdoomen.com · 07/09/2026When should a C# operation be a method rather than a property? Use a method if it’s expensive, performs a conversion, returns a different result each call, or causes side effects. Lazy-loading and internal caching are reasonable exceptions. #csharp #codingguidelines #codingconventions 010
Dennis Doomen @dennisdoomen.com · 04/09/2026My weekly Claude Team limit got reset halfway the week and will reset again tomorrow. Did that happen to anybody else? 200
Dennis Doomen @dennisdoomen.com · 31/08/2026Properties should be stateless with respect to other properties. Setting DataSource then DataMember should have the same result as the reverse. Sounds trivial, but I've seen plenty of classes where properties were anything but simple. #csharp #codingguidelines #classdesign #codingconventions 100
Dennis Doomen @dennisdoomen.com · 31/08/2026I've just burned through my 5-hour limit and 13% of my weekly limit in 38 minutes and I don't even understand what happened. Using Cloud Team and Sonnet 5. 200
Dennis Doomen @dennisdoomen.com · 27/08/2026PackageGuard, your totally free NuGet/NPM package scanning and risk reporting tool now supports generating a Software Bill Of Materials (SBom) in CycloneDX and SPDX format. Check out the documentation at github.com/dennisdoomen... Stay tuned for even more awesome features soon... 000
Dennis Doomen @dennisdoomen.com · 27/08/2026I always had a wish to replay "The Witcher 3", but that has now become a definitive plan.... www.youtube.com/watch?v=IGk1...youtube.comThe Witcher 3: Wild Hunt — Remastered | Official Announcement TrailerYouTube video by The Witcher 010
Dennis Doomen @dennisdoomen.com · 25/08/2026Over the weekend, I've released Reflectify 1.10, a NuGet package that replaces all that hand-rolled Reflection code with battle-tested extension methods. Check out the release notes at github.com/dennisdoomen... 100
Dennis Doomen @dennisdoomen.com · 25/08/2026I love this new description of the term IDE in the age of AI #dotnetdaych 010
Dennis Doomen @dennisdoomen.com · 20/08/2026Looking forward to my first real .NET conference in Switzerland. And let's start the conference season on a high note with two talks in the same day. Will I see you there? #mvpbuzz #dotnetdaych 130
Dennis Doomen @dennisdoomen.com · 17/08/2026During the weekend, I've released Mockly 1.11, the new in-memory HTTP mocking library in town. This version allows you to simulate delayed responses or requests that throw exceptions. Check out the docs at mockly.org 010
Dennis Doomen @dennisdoomen.com · 17/08/2026If you love Band of Brothers like me and remember every scene episode by episode, check out this amazing reunion. www.youtube.com/watch?v=xMaM...youtube.comThe Actors Roundtable | 25th Anniversary 'Band of Brothers' SymposiumYouTube video by The National WWII Museum 260
Dennis Doomen @dennisdoomen.com · 14/08/2026The 2026-2027 MVP ring has finally made it from the US. #mvpbuzz 010
Dennis Doomen @dennisdoomen.com · 13/08/2026We released Fallout 10.4—the first new version since Nuke was abandoned. Fallout replaces messy YAML pipelines with refactorable, debuggable, navigable C#. • Inspired by Make • Makes Azure DevOps → GitHub Actions migration easier • Used in my OSS & client projects 340
Dennis Doomen @dennisdoomen.com · 12/08/2026C# 12 primary constructors reduce boilerplate when capturing dependencies. Prefer when: ✅ Constructor only captures dependencies/config ✅ No complex initialization Avoid when: ✅ Validation or non-trivial initialization is needed #csharp #codingguidelines #classdesign 120
Dennis Doomen @dennisdoomen.com · 10/08/2026An interface with one method is often just a named function signature. If it is not likely to grow, a delegate is simpler, more loosely coupled, and easier to test. 211
Dennis Doomen @dennisdoomen.com · 05/08/2026Choosing between records and classes in C# matters! Records: data-focused, immutable, structural equality (DTOs, value objects) Classes: behavior-focused, mutable state, identity-based Record struct: small immutable values (stack allocation) Mix them and you've got a design problem. #CSharp 100
Dennis Doomen @dennisdoomen.com · 04/08/2026In general, if you find a lot of data-only classes in your code base, you probably also have a few (static) classes with a lot of behavior. Use the principles of object-orientation explained and move the logic close to the data it applies to. ⚠️The only exceptions to this rule are classes... 120
Dennis Doomen @dennisdoomen.com · 29/07/2026If you find yourself writing code like this someObject.SomeProperty.GetChild().Foo() ...then you may be violating the Law of Demeter. An object should not expose other classes it depends on, because callers may misuse that exposed property or method to access the object behind it... 110
Dennis Doomen @dennisdoomen.com · 23/07/2026In other words, you should be able to pass an instance of a derived class wherever its base class is expected, without the callee knowing the derived class. A very notorious example of a violation of this rule is throwing a NotImplementedException when overriding methods from a base... 100
Dennis Doomen @dennisdoomen.com · 21/07/2026Did you know there's a great way to start building an (open-source) library in .NET that comes with everything you'd expect from a professional package? And did you know it supports GitHub and Azure DevOps? If not, check out github.com/dennisdoomen.... Version 1.9 was released over the weekend. 040
Dennis Doomen @dennisdoomen.com · 16/07/2026✅7 done 🎤5 to go Hope to see you after the summer... #mvpbuzz 000
Dennis Doomen @dennisdoomen.com · 16/07/2026Do you know organizations that use GitHub with Enterprise Managed Accounts and Data Residency. If so, why (not)? 000
Dennis Doomen @dennisdoomen.com · 15/07/2026Yes, and my 4th year as an MVP is in the pocket. #mvpbuzz 1130
Dennis Doomen @dennisdoomen.com · 14/07/2026Interfaces should have a name that clearly explains their purpose or role in the system. Do not combine many vaguely related members on the same interface just because they were all on the same class. Separate the members based on the responsibility of those members, so that callers only need... 120
Dennis Doomen @dennisdoomen.com · 13/07/2026It used to be easy to name my favorite developer conference, but after two days at @wearedevelopers.bsky.social World Congress in Berlin, I have to reconsider. With 10–15,000 attendees, it's less like a traditional developer conference and more like a tech festival. 130
Dennis Doomen @dennisdoomen.com · 08/07/2026If a constructor dependency is only used by a single method, ask whether it belongs there at all. Passing it as a method parameter often produces a cleaner API and keeps the constructor focused on what the object actually needs. 100
Dennis Doomen @dennisdoomen.com · 07/07/2026This Wednesday, I'll be travelling to #Berlin to join the @wearedevelopers.bsky.social World Congress. On Thursday, I'll be conference speaker and workshop trainer. And then on Friday, I'll be the stage moderator for half a day. Can't wait to be there again. Will I see you there? 100
Dennis Doomen @dennisdoomen.com · 01/07/2026A class should do one thing well. It can model a primitive value like EmailAddress or ISBN, represent a business concept, hold plain data, or coordinate other classes. It should not do a mix of those. Good SRP warning signs: ❌And in the name ❌Hard to name or explain ⬇️ 100
Dennis Doomen @dennisdoomen.com · 29/06/2026Using AI tools to generate, suggest or refactor code is fine, but you are fully responsible for every line that ends up in the codebase. Do not merge AI-generated code without reviewing it, understanding it and verifying that it meets the same quality bar as hand-written code. 111
Dennis Doomen @dennisdoomen.com · 29/06/2026Today, I'll drive to one of my favorite conferences in Germany, the wonderful Developer World - DWX. This year is going to be quite busy. I won't just do one, not two, but three different talks, all new and shiny. Can't wait to immerse myself in the Germany hospitality. Will I see you there? 110
Dennis Doomen @dennisdoomen.com · 27/06/2026The days I have to work, my alarm clock rips me out of my sleep. The days I can sleep in, I wake up tired even before my usual work-day time. 010
Dennis Doomen @dennisdoomen.com · 26/06/2026These days it's not uncommon for me to have 3-5 agent sessions running in parallel in JetBrains Junie, Claude Code and GitHub Copilot. What about you? 420
Dennis Doomen @dennisdoomen.com · 25/06/2026Object-oriented design rests on four core principles. Understanding them is one thing; applying them correctly is what leads to maintainable software. #csharp #dotnet #softwareengineering 121
Dennis Doomen @dennisdoomen.com · 25/06/2026YAGNI isn't about avoiding change. It's about avoiding premature complexity. Don't add abstraction layers, extension points, or configuration options for requirements that don't exist yet. Build for today's needs. Refactor when tomorrow arrives. 110
Dennis Doomen @dennisdoomen.com · 24/06/2026Next week, I'll drive to one of my favorite conferences in Germany, the wonderful DWX Developer Week. This year is going to be quite busy with three different talks, all new and shiny. Can't wait to immerse myself in the Germany hospitality. Will I see you there? 100
Dennis Doomen @dennisdoomen.com · 20/06/2026I'm really sad because I just finished the main story of Death Stranding 2 on the PC. Emotional story, graphics, music and acting. Now what do I play now? 000
Dennis Doomen @dennisdoomen.com · 18/06/2026The simplest solution that fully solves the problem is usually best. Complexity makes code harder to read, test, debug and change. Avoid over-engineering, unnecessary abstraction, or clever tricks. If a junior dev can't grasp in one pass, it's too complex. Simplicity is a feature. 000
Dennis Doomen @dennisdoomen.com · 17/06/2026OMG. We just crossed the 700-million downloads mark... 130
Dennis Doomen @dennisdoomen.com · 16/06/2026Choose intuitive, predictable code. No surprises in naming, behavior, or side effects. Name clearly. Avoid side effects in getters. Follow conventions. Don’t break patterns without strong reason. Ask: would an experienced dev expect this? 220
Dennis Doomen @dennisdoomen.com · 04/06/2026Released .NET Starter Kit v1.8 for building binary or source-only NuGet packages via GitHub or AZDO. New: .slnx solutions, Azure DevOps pipeline templates, C# Coding Guidelines skills, .NET 10, updated dependencies, a Fallout-based build pipeline, and .editorconfig refinements. 070
Dennis Doomen @dennisdoomen.com · 03/06/2026Released Mockly 1.7 + FluentAssertions.Mockly. What's new? Request header matching, generic For(HttpMethod)/Head/Options, ProblemDetails responses, file/stream/bytes responders, query & form matching, response headers, new assertions, and automatic agent skill registration. mockly.org 010