NHibernate 3.0 binary data truncation

February 01, 2011 - 104 words - 1 mins
NHibernate 3.0.0 has a bug which silently truncates data going into varbinary(MAX) fields to 8000 bytes — not a pleasant one to find in production because your test documents weren't big enough! This stackoverflow answer contains a workaround for hbm file mappings; translated to FluentNHibernate aut… read more

Software Craftsmanship

January 25, 2011 - 334 words - 2 mins
There’s been a lot of talk over the last few weeks about Software Craftsmanship — triggered by the Dan North’s recent criticism of the manifesto. Martin Fowler seems to think the movement is partly a reaction to the ‘de-technicalisation’ of Agile, while Bob Martin responds with “we just don’t like w… read more

MVC unit testing error

January 06, 2011 - 56 words - 1 mins
I was trying to run a unit test on an MVC 3 controller and check the output of a RedirectToRouteResult when I got the following compiler error: Cannot apply indexing with [] to an expression of type 'System.Web.Routing.RouteValueDictionary' This confusing and clearly incorrect error message actually… read more

How to recreate the BPOS Outlook profile

December 14, 2010 - 80 words - 1 mins
The Microsoft Online Services Sign In client does a once-only configuration of Outlook when you first sign in to create a BPOS profile. If that profile is subsequently deleted, Outlook will refuse to start with "The profile name is not valid", but the Sign In client gives you no option to … read more

GC on iOS

December 09, 2010 - 223 words - 2 mins
The Whereoscope guys have put up a well-publicised post explaining why they prefer Android development to iOS. One of the main gripes they had was the lack of garbage collection; I felt I had to put forward my take on the GC question. GC has been available in Cocoa since 2007, and there’s no technic… read more

Microsoft BPOS Admin UX Fail

December 08, 2010 - 90 words - 1 mins
Attempting to verify a domain for Microsoft BPOS (cloud-hosted Exchange & Sharepoint) and this gem pops up. Giving multiple possible reasons for failure without indicating which one it was is pure laziness on the part of the developer. There is no way I can tell if the domain has been validated… read more

Perth .NET DevJam 2010

December 03, 2010 - 362 words - 2 mins
I had the privilege of doing a brief presentation at the 2010 Perth .NET Community of Practice DevJam last night. I haven’t spoken at an event like this before, so it was a new experience for me — I managed to get the timing about right after a few practice runs, and got a two-screen Keynote slidesh… read more

Sorting an NSMutableArray using a block

November 09, 2010 - 60 words - 1 mins
Now we have blocks in Objective-C, we no longer need to define standalone methods to implement a custom array sort. However, I’m always forgetting the exact syntax, so, mostly as a reminder to myself: [alerts sortUsingComparator:(NSComparator)^(Alert *a1, Alert *a2) { if ([a1.severity… read more

Building a REST application server in Haskell Part 1

November 07, 2010 - 453 words - 3 mins
As mentioned previously, I’m boning up on Haskell. I prefer to learn by doing, so I’m attempting to build a functioning application as part of the process. I’ve struggled to find much entry level (real application) source code, so I'll be posting my progress as I go in the hope that it will help oth… read more

happstack-util build failure on OS X

October 22, 2010 - 99 words - 1 mins
Attempting to cabal install happstack on OS X resulted in numerous errors, including: ghc: could not execute: /Library/Frameworks/GHC.framework/Versions/612/usr/lib/ghc-6.12.3/ghc-asm There’s a bug with the Haskell platform installer for OS X — the shebang line in the file /Library/Frameworks/GHC.… read more