Newsletters

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.

Using Windows Error Reporting in .NET

October 13, 2024

In this issue, explore Windows Error Reporting in .NET, memory profiling in unit tests, and implementing OpenTelemetry in ASP.NET Core. Plus, learn about partition methods for collections in C# and migrating from EF Core 6 to 8.

10 Lessons I Learned from Using Aspire in Production

October 06, 2024

In this issue, discover key insights from Oleksii on using .NET Aspire in production, enhance your IP address tracking with Steve's efficient dictionary, and learn about avoiding identity obsession with Peter's DDD tips in EF Core.

Implementing Blocked Floyd-Warshall algorithm

September 29, 2024

In this issue, explore the Blocked Floyd-Warshall algorithm for all-pairs shortest paths, learn about disabling Activity recording in OpenTelemetry, and discover async streaming in ASP.NET Core. Plus, implement geo-distance searches and master conditional compilation symbols in C#.

Anatomy of the .NET dictionary

September 22, 2024

In this issue, dive into the intricacies of .NET dictionaries, explore efficient data structures in C#, and uncover the power of behavior-switching in Akka.NET. Plus, learn about TDD for password validation and enforcing code quality gates.