Newsletters

Writing a .NET profiler in C# 

March 09, 2025

In this issue, explore creating a .NET profiler in C#, implementing SMS verification and 2FA in ASP.NET Core, and learn about custom model binding. Plus, discover a Roslyn Analyzer for ThreadAbortExceptions and master key C# design patterns.

Finalizers are tricker than you think

March 02, 2025

In this issue, we delve into finalizers in C#, centralized logging with OpenTelemetry, WPF theming for Windows 11, and JSON payload logging with Serilog. Also, learn about strongly-typed Markdown processing in ASP.NET Core.

.NET MAUI Performance Features in .NET 9

February 23, 2025

In this issue, explore .NET MAUI's performance enhancements, optimize ConcurrentDictionary usage, learn about setting IIS environment variables, and discover the surprising benefits of short caching durations. Plus, dive into the 'in' parameter modifier in C#.

Asynchronous Programming

February 16, 2025

In this issue, explore best practices for asynchronous programming, ace senior C# interviews with tailored questions, and dive into monitoring Azure Functions. Discover .NET 9's networking enhancements and the new HybridCache API.

Why Tracebit is written in C#

February 09, 2025

In this issue, explore Sam Cox's unconventional choice of C# for Tracebit, dive into Vogen for value objects, and master ASP.NET Core with CRUD operations and middleware insights. Plus, learn about XAML binding evaluations.

Writing a .NET Garbage Collector

February 02, 2025

In this issue, explore a custom .NET Garbage Collector, optimize Web API performance with 12 key techniques, understand the risks of async void, and implement architecture testing with ArchUnitNET. Plus, learn to automate EF Core migrations with GitHub Actions.

.NET Open Source Projects

January 26, 2025

This issue dives into the evolving landscape of .NET open source, examining license changes, performance comparisons between .NET 8.0 and 9.0, and new tools for WinForms and testing. Explore insights on ASP.NET Core middleware too.

The impact of locks and waits on latency

January 19, 2025

This issue dives into enhancing .NET applications with insights on measuring thread waits, end-to-end testing in Blazor WASM using Playwright, useful C# testing tips, automatic HTTP logging, and simplifying state logic with pattern matching.

A detailed look at EF Core’s JSON Columns feature

January 12, 2025

In this issue, explore EF Core's JSON Columns, learn about memory leaks with timers, optimize performance using Visual Studio Profiler, and implement a custom numeric comparer in .NET. Plus, discover .NET Aspire's enhanced container management features.

Unit Testing Clean Architecture Use Cases

January 05, 2025

Welcome back. 🎉 In this issue, we explore unit testing in Clean Architecture, performance testing with NBomber, optimizing loop performance, and Linux process priorities for C# devs.

Automating Santa's Workshop with NServiceBus

December 22, 2024

In this final issue of 2024, we explore automating Santa’s workshop, mutation testing in C#, and a performance comparison of EF Core 9 vs. Dapper. Plus, learn about the Ambient Context pattern and semantic search in .NET. Enjoy your break.

Invoking Async Power

December 15, 2024

This issue explores async capabilities in WinForms with .NET 9, compares AsyncLocal and ThreadLocal, delves into exception handling, introduces C# 12's Experimental attribute, and addresses ASP.NET Core globalization challenges.

Lesser known CLR GC Handles

December 08, 2024

In this issue, explore the intricacies of CLR GC handles, migrate Azure Functions to .NET 8, discover performance boosts in .NET 9, learn about the new Testing.Platform, and rethink the default use of MediatR in projects.

C# 12.0: inline arrays

December 01, 2024

In this issue, explore C# 12.0's inline arrays for performance, discover patterns with ReadLine, learn secure password hashing, and dive into new LINQ methods and diverse approaches to Object Calisthenics.

What's new in C# 13

November 24, 2024

In this issue, explore the latest in C# 13 with new features like params collections and improved thread synchronization. Plus, dive into observability terminology, dynamic Htmx Islands, URL encoding in .NET 9, and distributed caching with Redis in .NET Aspire.

Announcing .NET 9

November 17, 2024

In this issue, we celebrate the launch of .NET 9 with performance and AI enhancements, explore C# 13's params collections, learn to monitor HTTP requests, and dive deep into resolving the hostfxr library.

Lock keyword gets an upgrade in .NET9

November 10, 2024

In this issue, explore the evolution of locking in C# with Marek, learn about mutation testing with Dawid, and discover early return patterns and DTO auto translators. Plus, delve into the benefits of C# Records.

A comparison of Rust’s borrow checker to the one in C#

November 03, 2024

In this issue, explore Rust's borrow checker vs. C#'s memory safety, master Action and Func delegates, implement health checks in ASP.NET Web API, identify loop antipatterns, and learn about concurrent collections in C#.

A Brief Introduction to the .NET Muxer

October 27, 2024

In this issue, explore the .NET muxer, dive into abstraction in software design, discover new LINQ methods in C# 13, and compare Ruby on Rails patterns with .NET. Plus, learn about enhancing the Result pattern in your code.

FrozenDictionary under the hood

October 20, 2024

In this issue, explore the speed of FrozenDictionary vs. Dictionary, dive into CSV parsing performance in C#, simplify code with LINQ's result pattern, build a wc tool in C#, and uncover undocumented .NET events.