The Pragmatic Programmer sets the Bar

The Pragmatic Programmer has a given place in my list of must read books for professional developers. The subtitle “from journeyman to master” explains the contents very well. The book is made up of short chapters with concrete advice on how to become a master software developer. The 70 numbered tips are short and look… Continue reading The Pragmatic Programmer sets the Bar

Improve TFS Merge and Diff with TortoiseMerge

To always control exactly what is about to be commited is a best practice when working with source control. Unfortunately the TFS tooling is very limited, so I prefer using TortoiseMerge which is part of the TortoiseSVN package. Diff Using the built in TFS merge tool (diffmerge.exe) checking pending changes looks like this. Looking at… Continue reading Improve TFS Merge and Diff with TortoiseMerge

Null Sematics in LINQ’s Sum


Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/abel.nu/coding.abel.nu/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

C# LINQ code is not always executed as C# code. With LINQ-to-SQL or Entity Framework it is translated into SQL instead. This can bring unpleasant surprises when things that can’t happen do happen. One day when you’re deep in the zone coding a marketing specialist shows up with a haunted look because the CEO wants… Continue reading Null Sematics in LINQ’s Sum

Developers held Accountable without Authority

With authority follows accountability. The other way around is also true. Anyone who’s held accountable has to have authority. Unfortunately it is far too common that developers are held accountable for a project, even though they don’t have any real authority. They typically are responsible for the delivery, but the authority stays on management level… Continue reading Developers held Accountable without Authority