Writing
Articles
Essays on thinking clearly, working for yourself, and doing real work while AI rewrites the rules. Two decades of them.
How to Use Rhinos AssertWasNotCalled
How to use Rhino Mocks' AssertWasNotCalled to prove a service method never fires when validation fails, with a working ASP.NET MVC example.
2009.03.30Read →Castle ActiveRecord – NonUniqueObjectException
Fixing Castle ActiveRecord's NonUniqueObjectException by evicting a cached NHibernate object from the session after you're done reading it.
2009.03.29Read →Nine Questions with Me
I sat down for Chris G. Williams' long-running Nine Questions interview series, joining a list of some pretty notable names. Here's the interview.
2009.03.26Read →A New Development Term: Blackfield Development
Brownfield development gone nightmare mode: legacy code so obscure and untested even its original authors can't explain it. I call it blackfield development.
2009.03.25Read →ASP.NET App – is not a valid Win32 application
Getting is not a valid Win32 application on an ASP.NET MVC app under IIS7? Enable 32-Bit Applications in the app pool's advanced settings.
2009.03.24Read →Cool YouTube Tip : Seek
Quick YouTube trick: append #t=2m13s to any URL to jump straight to that timestamp, and use the start parameter when embedding videos.
2009.03.20Read →Unit Testing JsonResult in MVC
A simple trick for unit testing JsonResult in ASP.NET MVC: cast the anonymous type to a RouteValueDictionary and assert on its keys.
2009.03.20Read →AHK Script for Enabling/Disabling Spark Intellisense
An AutoHotkey script that toggles Visual Studio between ReSharper and Spark View Engine intellisense with one keyboard shortcut, no manual menu digging.
2009.03.02Read →An Exercise in Managing the Measurements
NCover only profiles assemblies touched during test runs, so untested code vanishes from coverage reports. Here's the hack that forces it to load everything.
2009.02.19Read →Build Report Will Not Show in CCNET
A CruiseControl.NET gotcha: adding NCoverExplorer to dashboard.config needs both a CCNET service restart and an IIS reset, or the report never shows.
2009.02.12Read →Fluent Func/Expression Reflector
A reader's cleaner take on getting property and method names via C# Expression/Func reflection, wrapped in a fluent, static NameOf<T> helper.
2009.02.12Read →Using Expressions and Func as a Reflection Tool
Tired of magic string column names in Castle Active Record queries? Use Expression<Func<T>> lambdas to resolve property names at compile time.
2009.02.10Read →