-
Software Development
Find the bug – The case of the degrading system
The following code contains a bug, can you spot it? class Program{ private Timer nextcheck; public event EventHandler ServerSigFailed; static…
Read More » -
.NET
WCF Is Dead and Web API Is Dying – Long Live MVC 6!
The time has come to say goodbye to Windows Communication Foundation (WCF). Yes, there are plenty of WCF apps in…
Read More » -
.NET
Sorting and Grouping – organizing data with LINQ
Last week I introduced LINQ from the perspective of a C# game developer completely unfamiliar with the framework. Today I…
Read More » -
Software Development
Code review challenge – The concurrent dictionary refactoring – answer
Here is the full method that we refactored: public void ReturnMemory(byte* pointer) { var memoryDataForPointer = GetMemoryDataForPointer(pointer); _freeSegments.AddOrUpdate(memoryDataForPointer.SizeInBytes, x =>…
Read More » -
Software Development
Code review challenge – The concurrent dictionary refactoring
In a recent code review, I had modified the following code: _freeSegments.AddOrUpdate(memoryDataForPointer.SizeInBytes, x =>{ var newQueue = new ConcurrentQueue<AllocatedMemoryData>>();…
Read More » -
.NET
Windows applications: Icons and the Shell; names, sizes, etc.
When adding Icons to your Windows applications a few things matter. Selecting the icon resource The icon selected by the…
Read More » -
.NET
Hack the Remote Desktop .RDP file
Glad I found out about the string to add to a .RDP file to make it connect to the administrative…
Read More » -
.NET
LINQ – a game development focused introduction
I was recently asked for some pointers on how to get started with LINQ – and to maybe write a…
Read More » -
Agile
Do We Really Need Estimates?
Okay, so you’ve read anything I wrote before, you probably know by now, that I am a strong proponent of…
Read More » -
.NET
Did you know that Visual Studio shows deadlocked tasks?
I didn’t… And it’s not a new feature – since it existed since freaking Visual Studio 2010! Yesterday during an…
Read More »