Blazor with an RSS Feed
A tutorial on creating an RSS feed for a blog or website using Blazor and the System.ServiceModel.Syndication package in ASP.NET Core.
A tutorial on creating an RSS feed for a blog or website using Blazor and the System.ServiceModel.Syndication package in ASP.NET Core.
A guide to unit testing applications that use the RavenDB document database in .NET, covering setup and repository patterns.
A deep dive into how the .NET Garbage Collector works, explaining its phases, generations, and impact on application performance.
Explains how to implement CancellationToken support in Blazor applications to cancel long-running tasks and manage resources when users navigate away.
Explains why using finalizers in C# is problematic and advocates for IDisposable for deterministic resource cleanup.
Explains tail-recursion using the Fibonacci series in C#, comparing performance and stack usage with regular recursion.
Explores the performance benefits of sealed classes in C#, focusing on virtual dispatch and type checking, with benchmark results.
Explores the performance differences between passing by value and by reference in C#, focusing on structs, copying costs, and dereferencing overhead.
A guide to advanced .NET Collections, covering generic, concurrent, and immutable namespaces for efficient C# development.
Final part of a series on migrating C# codebases to nullable reference types, covering practical techniques and tools for incremental adoption.
Explains the difference between ReadOnlyCollection and truly immutable collections in C#, showing how underlying data can still change.
Part 3 of a series on migrating C# code to nullable reference types, focusing on advanced annotations and attributes for better compiler flow analysis.
Explores the pitfalls of using public const in C#, explaining compile-time replacement and versioning issues, and suggests using static readonly instead.
Explores how C# nullable reference types work under the hood, comparing their IL compilation to nullable value types.
Explores four methods for creating arrays in C#, comparing performance and use cases for new, ArrayPool, GC.AllocateArray, and GC.AllocateUninitializedArray.
Explains the difference between default(MyStruct) and new MyStruct() in C# 10, highlighting that default bypasses parameterless constructors.
A technical guide on building a fully automated CI/CD pipeline using GitHub Actions, DocFx, and .NET to test, build, release, and document with one click.
A guide to migrating existing C# codebases to use nullable reference types, covering concepts, techniques, and tools to reduce NullReferenceExceptions.
Explains the differences between struct, readonly struct, ref struct, and record struct in C#, focusing on usage, limitations, and memory management.
Explains core C# concepts essential for LINQ and IEnumerable, including boxing, extension methods, lambdas, and closures.