CD#548 Walking the reference graph for .NET garbage collector
Walking the reference graph for .NET garbage collector
11 minutes by Kevin Gosse
This article explains how to implement reference tracking for a .NET garbage collector in C#, focusing on finding references between objects using GCDesc structures. It details how GCDesc encodes reference locations within objects through ranges, explains different encoding patterns for regular objects versus arrays of value types, and provides code examples for traversing reference graphs—a critical step toward marking reachable objects during garbage collection.
The intelligent terminal with AI built for Windows
sponsored by Warp
Never forget a command or struggle with syntax again. Warps Agent Mode allows you to type in natural language to accomplish any task right in the terminal. Store and share resources, from repeatable runbooks to templatized commands with Warp Drive.
New, simpler solution file format
8 minutes by Chet Husk
Microsoft has introduced a new XML-based solution file format called SLNX for .NET and Visual Studio, which is more concise than the traditional SLN format while maintaining all functionality. Starting with .NET SDK 9.0.200, developers can migrate to this format using the "dotnet sln migrate" command, and the CLI supports building and managing projects in SLNX files just like with traditional solution files.
Covariance and contravariance in interfaces
12 minutes by Liam Mooney
Covariance (marked with 'out' keyword) allows for conversions from more specific to more general types, as seen in IEnumerable where values only come out of the interface. Contravariance (marked with 'in' keyword) works in the opposite direction, allowing conversions from more general to more specific types, as demonstrated by IComparer where values only go into the interface.
Enforcing .NET Coding Guidelines with GitHub Copilot Custom Instructions
4 minutes by Oleksii Nikiforov
Using GitHub Copilot with custom instructions can improve the quality of generated code by enforcing coding guidelines. Oleksii will show you how to use GitHub Copilot custom instructions in the context of .NET development. You can use his repository with a set of rules as a starting point.
Resolving Paths To Server Relative Paths in .NET Code
10 minutes by Rick Strahl
In this post Kevin describes how you can build a couple of helpers that are more flexible and also provide some additional functionality of resolving site root and relative paths to full site root paths.
And the most popular article from the last issue was:
newsletters
Would you like to advertise in the newsletter? Check out our media kit and get in touch.

Older messages
CD#547 Writing a .NET profiler in C#
Sunday, March 9, 2025
CPU profiler for .NET using Silhouette ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
C#546 Finalizers are tricker than you think
Sunday, March 2, 2025
Common pitfalls when implementing finalizers
C#545 .NET MAUI Performance Features in .NET 9
Thursday, February 27, 2025
with full trimming and NativeAOT support
C#539 A detailed look at EF Core’s JSON Columns feature
Sunday, January 12, 2025
Comparing it with the traditional tables with indexes
C#538 Unit Testing Clean Architecture Use Cases
Sunday, January 5, 2025
Battle-tested approach to unit testing
You Might Also Like
📱 I Wish More Companies Made Phones This Bonkers — How to Check the Age of Your Hard Drive
Tuesday, March 18, 2025
Also: The 10 Best Apple TV+ Shows You're Missing Out On, and More! How-To Geek Logo March 12, 2025 Did You Know The weekday that falls most frequently on the 13th day of the month in the Gregorian
Tomorrow's Photo Management Class: How to sign up!
Tuesday, March 18, 2025
[Attention: Our final free class on photo management is happening tomorrow! This is your last chance to sign up. Register now.] Open your Photos app. What do you see? Thousands of random pictures?
The Sequence Engineering #508: AGNTCY, the Agentic Framework that Brought LangChain and LlamaIndex Together
Tuesday, March 18, 2025
The new framework outlines the foundation for the internet of agents. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
URGENT: Microsoft Patches 57 Security Flaws, Including 6 Actively Exploited Zero-Days
Tuesday, March 18, 2025
THN Daily Updates Newsletter cover ⚡ LIVE WEBINAR ➟ ASPM: The Future of AppSec -- Boom or Bust? Discover How ASPM is Redefining Application Security with Smarter, Unified Solutions. Download Now
⚙️ Making AI for coding work
Tuesday, March 18, 2025
Plus: New self-driving data
Post from Syncfusion Blogs on 03/12/2025
Tuesday, March 18, 2025
New blogs from Syncfusion ® Sneak Peek at .NET MAUI: 2025 Volume 1 By Paul Anderson Let's explore the new features and enhancements that will be added in the Syncfusion .NET MAUI suite for the
AI agents are changing work 🤖
Tuesday, March 18, 2025
Windows vs. M4 MacBook Air; VPN tips; Metallica on Vision Pro -- ZDNET ZDNET Tech Today - US March 12, 2025 person walking to work AI agents aren't just assistants: How they're changing the
Interested in a tailored threat briefing for you and your team?
Tuesday, March 18, 2025
Learn from expert identity attack researchers and creators of the SaaS attacks matrix ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Biome vs. Prettier & ESLint; ESLint flat config improvements; returning from async functions;
Tuesday, March 18, 2025
We have 6 links for you - the latest on JavaScript and tools Is Biome ready to replace Prettier & ESLint? medium.com ESLint: Evolving flat config with extends eslint.org @nzakas@fosstodon.org @
What is a HoundDog(.ai)?
Tuesday, March 18, 2025
Still waiting to hear back from HoundDog… if you have an in, please reach out and let them know I want them on the show!! Until then… Stop PII Leak Detection in the Code! ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏