Parallel Programming Talks at Seattle Code Camp

Friday, February 26th, 2010

There are lots of interesting talks at Seattle Code Camp this year (April 17th and 18th). One of the biggest things I noticed was the number of talks on parallel computing, including one on patterns for parallel programming. I thought I’d submit something a bit different… Fast… Faster… FASTER! What happens when you ...

Moving To A Distributed Version Control System

Wednesday, January 27th, 2010

I’ve been using Subversion to host my code on a Windows Home Server box for the past year or so. At about the same time distributed version control systems (DVCS) started to become the “hot new thing”. Git, Mercurial and Bazaar with their associated community hubs; GitHub, BitBucket and Launchpad ...

Conditional Acceptance Tests with xUnit.net

Tuesday, September 8th, 2009

I’ve been using xUnit.net to run some basic acceptance tests. Obviously xUnit is a unit test framework first and foremost but I don’t have a problem with reusing the framework provided you’re really clear about which tests are unit tests and which tests are not. I created an AcceptanceTest ...

Gotchas: MSBuild Conditional Import Ignored by Visual Studio

Thursday, September 3rd, 2009

Here’s nasty little quirk of MSBuild and Visual Studio which took me some time to solve last night… I have a C# project file which has been modified to import a custom .targets file. This targets file in turn imports some settings (property and item groups) using the following ...

C# Optimization Revisited Part 3: The “Native Option” C++

Tuesday, September 1st, 2009

In part 1 and part 2 of my thread on C# optimization there was a lot of talk about algorithms and the like. The next two posts take a different tack… first re-implementing the same algorithm using different languages and then in a different language and hardware. It turns out ...

“TODO: Refactor this…” Twice the Code Smell

Thursday, July 30th, 2009

Today while reviewing some code* I came across the following: // TODO: Refactor this. Followed by a lot of code which clearly needed some love and attention. Why is this code smell? Well it’s undone work just for starters. Someone checked this in and called it ...

Unit Testing Interfaces with xUnit Theories

Wednesday, June 10th, 2009

Someone at p&p just asked me this and I thought it was worth blogging about. Suppose I have an interface IIntegrate that I’ve implemented for a number of concrete types within my application. In principle I can use an xUnit Theory to test the behavior of each interface. Something like this: ...

Dealing With Rounding Errors in Numerical Unit Tests Updated

Tuesday, April 14th, 2009

I’ve updated Dealing With Rounding Errors in Numerical Unit Tests to include some more features based on some of the comments I’ve received. If you used the original source code then best check the updated version which deals with the case where the expected value is zero a lot better.

The Complexity Pig

Thursday, March 26th, 2009

Once upon a time in a land not so far away a programmer was taking an afternoon walk. She was taking a few moments away from her desk to ponder a thorny refactoring problem. As she wondered down the path through the woods thinking about a possibly simpler design ...

An Alternative to the C# Generic new() Constraint using Lambdas

Friday, March 13th, 2009

A long while back I wrote about An alternative to the C# generic new() constraint using anonymous delegates to provide a mechanism for constructing an object which did not support a parameterless constructor. I’ve updated the same post to show an improved syntax using lambda expressions.