Here are all the older or less relevant articles that I have retained for posterity. I just don’t like to throw stuff away.

Allow partially trusted callers - using ASP.NET in shared hosting (12 August 2008)

ASP.NET web services and SSL certificates - trust relationships (10 January 2009)

Automating Adobe Air builds using Ant and Flex (23 February 2011)

Automating Docker image deployments using Azure Container Instances (3 December 2017)

Avoiding temporary failure errors with Azure's distributed memory cache service (12 December 2013)

Azure Search is not ElasticSearch in the cloud (20 March 2015)

Comparing Web API 2 and WCF for building services on HTTP and REST (6 February 2014)

Contract-first web service development using WCF and .Net 4.5 (21 September 2012)

Converting EPiServer 6 to use claims-based authentication with WIF (15 June 2010)

CQRS is a state of mind rather than a cookie-cutter design pattern (9 September 2014)

Creating a security token service website using WIF in Visual Studio (13 May 2010)

Developing EPiServer page providers: optimizing performance (25 August 2009)

Developing mobile applications in a fragmented market (30 June 2009)

Entity Framework anti-patterns: How not to use an ORM with SQL Server (8 January 2012)

EPiServer CMS anti-patterns: common mistakes in development projects (9 September 2011)

EPiServer CMS has come a long way in the last few years (23 September 2014)

EPiServer vs Sitecore – Comparing .NET CMS platforms (18 March 2012)

EPiServer: Creating a re-usable generic custom property (16 May 2009)

Exception safety in C# - more than just trying and catching (12 December 2010)

Forget the Kindle and iPad: Paper remains a superior technology (14 January 2010)

Generic controllers in ASP.Net Core (28 November 2016)

Identity over-use: Surrogate vs Composite keys in SQL Server (13 September 2009)

Implementing a Docker HEALTHCHECK using ASP.Net Core 2.2 (21 September 2018)

Josef Muller Brockmann - grid-based layout and web design (13 March 2010)

Lies, damned lies and Adobe's penetration statistics for Flash (7 October 2009)

Optimizing Performance of the Azure Service Bus .Net Standard SDK (21 April 2019)

ORM wars: Comparing nHibernate, LINQ To SQL & the Entity Framework (10 November 2010)

Parsing OData queries for decoupled data entities in ASP.NET WebApi (15 October 2014)

Protocol buffers for .Net: protobuf-net vs protobuf-csharp-port (8 February 2015)

Regular expressions and RegEx performance in .Net (24 November 2012)

Selecting a web CMS: The most common mistakes in RFPs (27 January 2010)

Set up a federated identity provider on Azure using Active Directory and ADFS 2.0 (24 November 2013)

Simplifying .Net REST API development: Nancy, self-hosting and ASP.Net Core (12 July 2016)

Social media and fanzine culture (13 April 2008)

Stored procedures vs ad hoc or inline SQL in SQL Server 2012 (18 July 2012)

Targeting multiple .Net framework versions in a single Visual Studio solution (19 May 2014)

The CMS questions that you really should be asking suppliers (8 May 2009)

The Times Online doesn't need content to make its paywall a success... (25 May 2010)

The Umbraco 5 debacle proves that even a free CMS needs effective governance (19 June 2012)

Using logstash, ElasticSearch and log4net for centralized logging in Windows (6 April 2015)

Using the DIV tag to display columns rather than tables (12 February 2008)

Using the REST API connector as a data source in Informatica Cloud (15 October 2015)

Using the WCF Authentication Service without cookies (12 July 2010)

Using Umbraco 6 to create an ASP.NET MVC 4 web application (5 February 2013)

Web page size and browser performance - why it still matters (22 April 2009)

Why you should never use a proof of concept in development projects (3 July 2011)

Writing unit tests for Azure Functions using C# (5 July 2017)