How does git work?
An introductory guide explaining the core concepts of Git, including repositories, remotes, commits, and branches, with practical examples.
Steven Giesel is a Senior Software Engineer and Microsoft MVP with over 13 years of experience, specializing in .NET and modern backend development. He shares deep technical knowledge across topics such as C#, EF Core, RavenDB, distributed systems, and cloud-native architectures, and is an active speaker in the .NET community.
311 articles from this blog
An introductory guide explaining the core concepts of Git, including repositories, remotes, commits, and branches, with practical examples.
Explains the difference between abstract classes and interfaces in C# using real-world analogies like animals and ATMs.
A detailed guide to SOLID principles in C#, explaining each principle with code examples to improve code readability, maintainability, and flexibility.
Explores potential future features for the C# programming language, including compound assignments in object initializers and discriminated unions.
A guide to using Directory.Build.props to create a central NuGet package store for managing dependencies in a UNO Platform .NET 6 application.
Explains when Blazor components automatically re-render and common pitfalls to avoid, focusing on StateHasChanged, async methods, and lifecycle events.
Explains how to use TaskCompletionSource in .NET to convert event-based APIs into awaitable tasks, with examples for timers and error handling.
Explores valid use cases for the 'goto' keyword in C#, challenging its reputation as universally bad practice.
Explains the differences between C#, .NET, IL, and the JIT compiler, detailing their roles in the .NET development stack.
Explains C# delegates, including Action, Func, Predicate, and lambda expressions, and how they are used to pass methods.
Explains the .NET Garbage Collector's compacting phase, its performance benefits, and the Large Object Heap (LOH).
Explains the ObjectPool pattern in C# for performance optimization, showing how to reuse expensive objects to reduce garbage collection overhead.
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.