.NET WhenAll vs WaitAny The Craziest Feature .NET Released in YEARS The StringComparer class supports a new option — CompareOptions.NumericOrdering — that allows you to do things like have “07” equal to “7”. Another use case is when you have…
The Responsibility Process (Notes)
This post contains my margin notes from the book The Responsibility Process: Unlocking Your Natural Ability to Live and Lead with Power by Christopher Avery. This book was recommended to me by Cameron Presley, and is a core part of…
Professional Development – 2025 – Week 8
Deep Rock Galactic Driller
A friend of mine has the Deep Rock Galactic board game that comes with multiple figures that can be painted. Here’s a gallery with 26 pictures. (I didn’t track how long it took to complete.) Things I learned:
Professional Development – 2025 – Week 7
Sociology The Theory of Stupidity
Professional Development – 2025 – Week 6
.NET The Most Underrated .NET Feature You Must Use Channels can be thought of as in-memory queues. See the official Microsoft docs here. Decisions 5 Questions to Help Your Team Make Better Decisions
Professional Development – 2025 – Week 5
.NET Everything a .NET Developer Needs to Know in 2025 This is an updated version of last year’s roadmap — so many things!
Professional Development – 2025 – Week 4
.NET Fixing Your Dictionary Problem in .NET A common scenario is checking if a key exists before inserting it. This causes two passes through the hashing algorithm — lookup, insertion. Note that ConcurrentDictionary<T> has a GetOrAdd() method. You can make…
Professional Development – 2025 – Week 3
.NET The Problem with Singletons You Need to Avoid For most applications, using the traditional singleton pattern (or using a singleton scope in a service container) is good enough to minimize overhead of things “create once use many.” There are…
Professional Development – 2025 – Week 2
.NET Don’t Use This LINQ Feature. It’s Bad. Code Cop #26 This video was about .Skip(x).Take(y) versus .Take(x..y). The performance difference is minor for providing a range argument. The former tends to be more readable as well. The New Way…