james mckay dot net
because there are few things that are less logical than business logic


I have worked extensively with .NET since the release of ASP.NET 1.0 in January 2002, through to April 2016. During that time, I contributed to the ASP.NET forums from time to time, where my username is jammycakes.

GitHub projects

The following GitHub projects may be of interest, although I am not actively maintaining them:


Date Title
4th March 2019 A brief history of pointless mappings
29th October 2018 Which .NET IOC containers pass Microsoft’s tests?
15th October 2018 The state of IOC containers in ASP.NET Core
28th August 2018 First impressions of JetBrains Rider
5th June 2017 What should a .NET renaissance look like?
28th August 2014 Sorting out the confusion that is OWIN, Katana and IAppBuilder
4th November 2013 So I’ve built my own ALT.MVC engine
23rd September 2011 First impressions of MSpec
20th June 2011 Keep the number of projects in your solution to a minimum
13th June 2011 Tourists and residents, Visual Studio and vim
3rd June 2011 Silverlight is dead. Long live HTML 5.
28th March 2011 The great .NET productivity killer
3rd March 2011 Abstracting your ORM is a futile exercise
14th February 2011 Team Foundation Server is the Lotus Notes of version control tools
9th December 2010 How to host WCF services in ASP.NET applications without bloating your web.config
10th May 2010 Introductory videos on IOC containers
23rd March 2010 NAnt and MSBuild are completely pointless
4th February 2010 Catching Exception is almost never justified and almost always harmful
26th October 2009 How to validate a URL in .NET
11th May 2009 Reinventing the wheel, badly
4th May 2009 Handling exceptions in assembly-level setup methods in MbUnit
29th April 2009 XsltArgumentList violates the Single Responsibility Principle
23rd February 2009 Sometimes, sweeteners can be a bit sour
24th November 2008 Another XSLT sweetener
17th November 2008 An XSLT sweetener
27th October 2008 Unit testing URL generation and Html.ActionLink in ASP.NET MVC
8th September 2008 Paths and file locations in ASP.NET
6th June 2008 How to become a better .NET developer
20th May 2008 Where are all the passionate .NET developers?
30th April 2008 Why I hate web.config
23rd April 2008 The two golden rules of exception handling
7th February 2008 恭喜发财, now give me some Unicode
3rd February 2008 Published
14th January 2008 Missing ASP.NET tab in IIS on Windows Server 2003
11th December 2007 Volta, GWT and leaky abstractions
13th September 2007 Beginners' languages can have advanced features too
27th February 2006 Why doesn’t C# have a synchronized keyword?
27th November 2005 IIS oddity
13th May 2005 Fun with cookies