Equip 3rd party types with a deconstructor
Explains how to add deconstructors to third-party C# types using extension methods, enabling tuple deconstruction for unmodifiable code.
Explains how to add deconstructors to third-party C# types using extension methods, enabling tuple deconstruction for unmodifiable code.
A guide to selecting dispatchers in the SObjectizer actor model framework for C++, focusing on strategies for binding agents to threads.
Explores a surprising C# compiler warning when using pattern matching with nullable properties, revealing edge cases in static analysis.
Explores SObjectizer's runtime telemetry feature for monitoring actor model applications in C++, covering setup and practical usage.
C# 13 may allow the use of 'ref' and 'unsafe' in iterators and async methods, addressing current limitations with references and spans.
Explores message delivery challenges during shutdown in actor-based systems using C++ and SObjectizer, with a practical example of an image cache agent.
Introducing NCronJob, a lightweight .NET job scheduler library that sits between BackgroundService and full-featured schedulers like Hangfire.
Explores SObjectizer's mutable messages feature in C++ for efficient actor model communication, preventing unnecessary data copying.
Overview of bUnit v2, a major update to the Blazor unit testing library, covering new features, breaking changes, and API refinements.
Final part of a performance deep dive into the SObjectizer actor model framework for C++, covering benchmarks and tuning options.
Explains how to use xUnit's TheoryData<T> for type-safe parameterized tests in C#, replacing untyped IEnumerable<object[]> data.
A practical guide for developers on how to approach, understand, and incrementally improve a newly inherited legacy C++ codebase.
Explores performance analysis in the SObjectizer actor framework, focusing on throughput, latency, and factors like service time and waiting time.
Explores new lock statement patterns in .NET 9, comparing the new Lock class with traditional Monitor-based locking and showing performance benchmarks.
Introduces performance metrics and considerations for message-passing applications using the actor model, focusing on SObjectizer and C++.
Explains why using multiple boolean parameters in functions is problematic and demonstrates cleaner refactoring techniques.
An updated visual mind map of LINQ features and operations, now including all additions up to .NET 9.
A simplified infographic explaining how the .NET Garbage Collector works, with links to more detailed technical articles.
Explores new .NET 9 enhancements to the SearchValues object, enabling efficient string searches alongside character lookups.
A guide to setting up distributed tracing for C# applications using Grafana and Tempo, including infrastructure configuration and integration.