Visual Studio Debugging Windows: Watch, Locals, Autos, Immediate, Call Stack and Threads

This tutorial is part of a series: Part 1 – Getting started with Visual Studio Debugging Part 2 – Visual Studio Debugging Tool Windows In the previous tutorial, we saw some of the basics of debugging in Visual Studio. This included Breakpoints, Navigation through code, and Investigating variables with the DataTip and QuickWatch. In this tutorial we will go over all the windows Visual Studio has for debugging.

Pipeline Pattern in C# (part 2) with TPL Dataflow

In the First Part of the series, we talked about the Pipeline Pattern in programming, also known as the Pipes and Filters design pattern. In this part, we'll see how to implement such a pipeline with TPL Dataflow.

Pipeline Pattern Implementations in C# .NET - Part 1

The Pipeline pattern is a powerful tool in programming. The idea is to chain a group of functions in a way that the output of each function is the input the next one. The concept is pretty similar to an assembly line where each step manipulates and prepares the product for the next step.

13 Things that Keep Us Motivated as Software Developers

I've been developing software for 10 years now. Every now and again I wonder what it is that makes me tick. What's the element that makes me come to want to go work in the mornings. In other words, what is it that motivates us as software developers?

Find, Fix, and Avoid Performance Problems in C# .NET: 10 Best Practices

Don't know about you, but I'm obsessed about performance. I've gathered a list of 10 best practices on dealing with performance problems, starting with when you need to deal with them at all.

C# Debugging in Visual Studio 2019 Tutorial - Part 1

This tutorial is part of a series: Part 1 – Getting started with Visual Studio Debugging Part 2 – Visual Studio Debugging Tool Windows Unfortunately, writing code goes hand in hand with creating bugs. We all cause bugs, it’s one of the inevitable facts of life. This process of solving those bugs is called Debugging. Debugging comes in many forms: Stepping through the code with a debugger, investigating logs, unit testing, profiling, and analyzing dumps.

Extension Methods Guidelines in C# .NET

Extension methods are awesome, right? They are probably most widely used in the LINQ feature. But when should we use them? And when shouldn't we? Let's talk guidelines.

8 Techniques to Avoid GC Pressure and Improve Performance in C# .NET

Poor memory management can hurt performance in many ways. One such effect is called GC Pressure. This article will show 8 techniques to minimize GC pressure, and by doing so, improve performance.

Cache Implementations in C# .NET

One of the most commonly used patterns in software development is Caching. It's a simple, yet extremely effective concept. The idea is reuse of results. When performing a heavy operation, we will save the result in said cache