Newsletters

Dynamically adapting to application sizes

October 08, 2023

In this issue, explore .NET 8's Dynamic Adaptation To Application Sizes, async method chaining in C#, memory-mapped files, Arm64 performance enhancements, and the relationship between .NET 8 Identity API and IdentityServer.

Improve memory allocation by initializing collection size

October 01, 2023

This issue covers performance tips like initializing collection sizes and avoiding GetHashCode for lookups, plus the latest debugging enhancements in .NET 8 and improved unit test profiling. Discover more inside.

Feature Flags 101: A Guide for .NET Developers

September 24, 2023

This issue dives into essential .NET topics, including a guide on Feature Flags, insights on .NET 8's System.Text.Json, and a comparison of struct types. Plus, learn about accessing private members in C# and reverse engineering .NET apps.

What's New in First Release Candidates for .NET 8

September 17, 2023

Explore the latest in .NET 8 with first release candidates, performance enhancements, and new features like pattern matching and OpenTelemetry for microservices. Plus, learn resilient email sending and tackle race conditions with EF Core.

Expression Parsing Made Easy

September 10, 2023

In this issue, discover powerful techniques like Pratt parsers for expression parsing, optimizing .NET code, and new Identity API endpoints in .NET 8. Dive into closures in C# and explore .NET’s .gcdump internals.

The "Weak Event" Pattern in C#

September 03, 2023

In this issue, explore the "Weak Event" pattern in C#, discover the nuances of O(1) operations, dive into the new BearerToken authentication in .NET 8, and unravel async programming with Task and await.

Struct memory layout optimizations

August 27, 2023

In this issue, we explore struct memory optimizations, feature flag-based filters for APIs, the Builder pattern in C#, and tips for improving .NET Core performance. Plus, discover new Visual Studio features and Blazor updates.

Tales from the .NET Migration Trenches

August 20, 2023

In this issue, we explore the complexities of .NET migration, unexpected Enum behaviors, Visual Studio features, LinkedIn API challenges, securing APIs with OAuth DPoP, and the new keyed service support in .NET 8.

.NET 8 Interceptors

August 13, 2023

In this issue, we delve into .NET 8 Interceptors for method invocations, the IHostedLifecycleService for hosted services, hot reload in Windows apps, and building hybrid apps with .NET MAUI. Plus, learn to create SAS tokens for enhanced Azure security.

How to benchmark different .NET versions

August 06, 2023

This issue features insights on benchmarking multiple .NET versions, simplifying multi-targeting with polyfills, mastering locking mechanisms in C#, and implementing Linear Ridge Regression. Plus, explore streaming videos from Azure Blob storage and generating sitemaps in ASP.NET Core.

A Comprehensive Guide for Efficient Data Binding

July 30, 2023

In this issue, explore efficient data binding with ASP.NET Repeater, unlock .NET source generators, enhance debugging with Visual Studio tips, and learn about cancellation tokens and structured logging. Dive into these essential topics.

Introducing C#12’s Future Features

July 23, 2023

In this issue, explore the future of C#12 with primary constructors and semi-auto properties, diving into logging with Serilog, migrating from .NET 4.8 to .NET 6, and mastering Docker concepts. Plus, tips on using dictionaries effectively.

How small is the smallest .NET Hello World binary?

July 17, 2023

This issue features a deep dive into .NET with insights on minimal executable sizes, Entity Framework tips, Blazor updates, SIMD performance boosts, and custom ASP.NET Core middleware. Enhance your .NET skills today.

The minimal API AOT compilation template

July 09, 2023

In this issue, explore the new AOT compilation template in .NET 8 for faster startup times, learn about Azure App Configuration for seamless updates, and discover the latest improvements in ASP.NET Core caching and the .NET Community Toolkit.

LINQ: Select.Where or Where.Select?

July 02, 2023

In this issue, explore LINQ best practices with Select.Where vs. Where.Select, learn about incremental loading in MVVM, and discover the Outbox Pattern for reliable data propagation in distributed systems. Plus, tips on C# code analysis and API management.

Using StringBuilder To Replace Values

June 25, 2023

In this issue, explore tips on optimizing memory in .NET with StringBuilder, learn about recursive validation with MiniValidation, and discover new features in C# 12 and ASP.NET Core 8. Dive in for valuable insights.

Arrays: A Data Structure Deep Dive

June 18, 2023

In this issue, dive deep into arrays and their role in efficient data manipulation, explore how Lists work in .NET, and discover tips for detecting heap allocations and using custom equality comparers in NUnit tests.

Reduce heap allocations by using static anonymous functions

June 11, 2023

This issue explores techniques to reduce heap allocations with static anonymous functions, delves into implicit operators in C#, and covers time abstraction in .NET 8. Plus, learn about SameSite cookies and filtering JSON in EF Core 7.

Raiders of the lost root: looking for memory leaks in .NET

June 04, 2023

Explore memory management in .NET with insights on writing your own memory profiler, understanding heap vs. stack allocation, and enhancing the nameof operator in C# 12. Plus, dive into Entity Framework Core relationships and JWT authentication.

The Art of HTTP Connection Pooling

May 28, 2023

In this issue, explore HTTP connection pooling for peak performance, manage feature toggles in .NET Core, refactor HTTP clients, discover useful IEnumerable extensions, and enhance debugging with C# Source Link.