| Context Transference | Friday 30 May 2025 |
| 7 AI Predictions (AI, We Really Need To Talk: Part 2) | Thursday 29 May 2025 |
| Notes on the Synthesis of Form | Monday 6 January 2025 |
| Coverage is not correctness - but it helps! | Tuesday 12 November 2024 |
| Lo-Fi Service Discovery in .NET8 | Tuesday 21 November 2023 |
| The Surface Area of Software | Sunday 4 December 2022 |
| Notes on the Monorepo Pattern | Sunday 4 December 2022 |
| Open-Source Software, Licensing and Enterprise Procurement | Friday 24 June 2022 |
| Storing growing files using Azure Blob Storage and Append Blobs | Saturday 16 April 2022 |
| Writing User Stories | Monday 10 January 2022 |
| Open-Source Exploitation | Monday 13 December 2021 |
| A Love Letter to Software | Friday 3 December 2021 |
| Hiring is broken! Let's fix it with empathy. | Thursday 30 September 2021 |
| How to write a tech talk that doesn’t suck. | Sunday 20 June 2021 |
| Agile software estimation for everyone. | Wednesday 10 February 2021 |
| Writing good code by understanding cognitive load | Tuesday 2 February 2021 |
| 9 time-management tips for developers | Monday 16 November 2020 |
| Does Functional Programming Make Your Code Hard To Read? | Wednesday 14 October 2020 |
| An introduction to TypeScript and ES Modules | Thursday 17 September 2020 |
| The happy path – using Azure Static Web Apps and Snowpack for TypeScript in your front end | Tuesday 1 September 2020 |
| Does remote work make software and teamwork better? | Monday 10 August 2020 |
| Azure Static Web Apps Are Awesome! | Wednesday 29 July 2020 |
| .NET Templates for C# Libraries, GitHub Actions and NuGet Publishing | Monday 4 May 2020 |
| Deploying Azure WebApps in 2020 with GitHub Actions | Sunday 3 May 2020 |
| The Quarantine Project | Sunday 3 May 2020 |
| Running .NET Core apps on Glitch! | Thursday 26 March 2020 |
| Small thoughts on literate programming | Friday 28 February 2020 |
| Hardware Hacking with C# and JavaScript | Wednesday 29 January 2020 |
| Music Streaming and the Disappearing Records | Sunday 15 December 2019 |
| Architecture for Everyone | Thursday 12 December 2019 |
| Creating Spark Dataframes without a SparkSession for tests | Tuesday 26 March 2019 |
| Building .NET Apps in VSCode (Not .NetCore) | Thursday 17 November 2016 |
| Get Coding! - I wrote a book. | Tuesday 28 June 2016 |
| Why code reviews are important | Thursday 7 April 2016 |
| Projections in Agile Software Development | Saturday 28 November 2015 |
| Using C# 6 Language Features In Your Software Tomorrow | Monday 20 July 2015 |
| Passenger - A C# Selenium Page Object Library (Video) | Monday 27 April 2015 |
| Page objects for browser automation - 101 | Wednesday 1 April 2015 |
| We need to talk about configuration. | Thursday 5 March 2015 |
| Cutting CODE!-A livestream show for programmers | Sunday 1 February 2015 |
| Deployments in .NET 2014/2015 Report | Friday 16 January 2015 |
| Testing an ASP.NET WebAPI app in memory | Wednesday 7 January 2015 |
| Thoughts about delivering platforms from Nick Dentons leaked memo | Thursday 11 December 2014 |
| NuGet 101 - A Bootcamp | Tuesday 9 December 2014 |
| Deployments on Windows / .NET in 2014 | Thursday 13 November 2014 |
| Garbage Collection in .NET - Workstation vs. Server GC. | Thursday 6 November 2014 |
| Code dojos as a learning tool | Wednesday 5 November 2014 |
| Performance Tuning and the Importance of Metrics | Sunday 26 October 2014 |
| Lessons learnt running a public API from #dddnorth | Sunday 19 October 2014 |
| Deferred execution in C# - fun with Funcs | Thursday 16 October 2014 |
| How to make it harder for people to steal your users accounts (and data!) | Wednesday 3 September 2014 |
| Inverting the FN keys on a Microsoft Wedge Keyboard | Monday 11 August 2014 |
| A summer in the wilderness; on not working; volunteering; taking clients | Wednesday 6 August 2014 |
| Continuously deploying Azure services using AppVeyor and GitHub | Tuesday 13 May 2014 |
| Exploring QueueBackgroundWorkItem in ASP.NET and Framework 4.5.2 | Friday 9 May 2014 |
| Slidedeck + Video - Profiling applications with dotTrace | Friday 2 May 2014 |
| Writing technical stuff that people want to read | Wednesday 23 April 2014 |
| Doing Open Source Right | Monday 31 March 2014 |
| ASP.NET MVC 101 - Extensibility Points | Thursday 20 March 2014 |
| HTML Image tags and onerror javascript handlers | Wednesday 5 March 2014 |
| Introducing:ReallySimpleFeatureToggle | Monday 3 March 2014 |
| SSL Termination and ASP.NET | Wednesday 12 February 2014 |
| The Assassination of OR/Ms …by that coward, relational storage | Tuesday 11 February 2014 |
| Azure WebJobs and continuous delivery | Thursday 23 January 2014 |
| Definition of 'refucktoring' in English | Saturday 4 January 2014 |
| Lessons Learnt Authoring Software Libraries | Tuesday 3 December 2013 |
| Instant Nancy Web Development - A book review | Wednesday 27 November 2013 |
| Using build failure conditions in TeamCity to ensure "improving" test coverage in .NET apps | Monday 18 November 2013 |
| Announcing:System.Configuration.Abstractions | Wednesday 6 November 2013 |
| Writing great user stories | Wednesday 6 November 2013 |
| Lessons learnt scaling a big mainstream RESTful API | Sunday 27 October 2013 |
| JustGiving's love affair with Nancy - A case study | Monday 7 October 2013 |
| Using SimpleServices to build a runnable and installable windows service | Friday 27 September 2013 |
| Using #NancyFx to make "invisible" applications visible | Wednesday 25 September 2013 |
| Building software that’s easy to monitor and administer | Monday 23 September 2013 |
| A source control strategy for Git that “just works” | Wednesday 11 September 2013 |
| How did [some bug] pass QA? | Friday 2 August 2013 |
| The Pragmatic Polyglot | Monday 24 June 2013 |
| Think people aren’t communicating? Remember you have the privilege of looking at the code | Tuesday 18 June 2013 |
| Composition over inheritance at a macro level - composing applications from packages | Thursday 28 March 2013 |
| A quick ASP.NET MVC Extension to support CDNs | Wednesday 20 March 2013 |
| ...from the trenches - 01 - Profiling a C# web app with dotTrace | Sunday 24 February 2013 |
| The Anatomy of a Continuous Deployment System | Wednesday 13 February 2013 |
| A prettier way to parse strings in C# | Friday 11 January 2013 |
| Should I train as a programmer or learn how to code? | Friday 7 December 2012 |
| Easy Google Analytics Event Tracking-Do it by convention! | Wednesday 5 December 2012 |
| Can I delete *.regtrans-ms files from c:\windows\system32\config | Friday 26 October 2012 |
| Effective software delivery–Tips for keeping your releases predictable | Sunday 29 January 2012 |
| Effective software delivery–Short, consistent release cycles | Sunday 29 January 2012 |
| iTunes Persistent Id Cloner - Sync one iPhone / iPod with many computers | Wednesday 25 January 2012 |
| JustGiving Direct Debit SDI–Y U NO WORK?! | Sunday 11 December 2011 |
| Configuring Windows Server 2008 R2 as a non-domain file server | Monday 28 November 2011 |
| CouchDb using C# in 15 minutes | Monday 14 March 2011 |
| The perils of outsourcing software development | Monday 29 November 2010 |
| Pluralization (Pluralisation!) in C# | Monday 15 November 2010 |
| JustGiving <3 CharityHack 2010 | Thursday 9 September 2010 |
| Serving different views for mobile devices in ASP.NET MVC | Monday 3 May 2010 |
| Automatic Html Encoding in ASP.NET 4.0 | Tuesday 13 April 2010 |
| What Are APIs Anyway? | Friday 19 February 2010 |
| C# Access Modifiers Are Type Specific, NOT Instance Specific | Wednesday 17 February 2010 |
| ASP.NET MVC View Engine That Supports View Path Inheritance | Tuesday 19 January 2010 |
| I don’t understand Bayonetta | Sunday 10 January 2010 |
| Albums of the year… 2009… | Tuesday 15 December 2009 |
| Writing Presentable Code Pt.1 – Properties and Variables | Wednesday 4 November 2009 |
| Reusable Editable Fields for ASP.net MVC Using jQuery | Thursday 8 October 2009 |
| Creating a WCF Proxy to talk to Magento | Monday 5 October 2009 |
| Designing Client Facing APIs – Best Practices | Wednesday 30 September 2009 |
| In defence of current-gen game design | Saturday 5 September 2009 |
| Localizing ASP.Net MVC Pages without the need to RunAt=”server” | Thursday 20 August 2009 |
| MobileTFL 1.0.0.9 | Sunday 9 August 2009 |
| MobileTFL 1.0.0.8 | Friday 31 July 2009 |
| After some radio silence – videogames! | Monday 6 July 2009 |
| Xml Comment Hell – A Software anti-pattern | Monday 6 July 2009 |
| How far has A.I. in games really come? | Monday 1 June 2009 |
| C# Extension Methods To Get Enum DescriptionAttributes And Other Custom Attributes | Thursday 23 April 2009 |
| Installing certificates using WiX / Voltive (A Code Sample) | Wednesday 22 April 2009 |
| Using A Wiki To Replace Requirements And Produce Documentation For Your Agile Projects | Tuesday 7 April 2009 |
| Controlling Your Software Development Environment And Release Cycle In An Agile Way | Sunday 22 March 2009 |
| Custom HTC Diamond ROMs Not Waking Up To Email Alerts | Friday 20 March 2009 |
| XNA Game Development:Coding For Multiplatform Multiplayer | Thursday 12 March 2009 |
| XNA Game Development:Coding For Multiplatform Multiplayer 2 | Thursday 12 March 2009 |
| Game Development | Tuesday 10 March 2009 |
| Why I Love Stand Up Meetings And How To Make Them Work For You | Friday 27 February 2009 |
| Simple C# HTTP Server for Windows Mobile | Tuesday 17 February 2009 |
| Bargain Bin Games:“Stranglehold” and “Kane and Lynch” | Wednesday 11 February 2009 |
| Installing Certificates using Wix (Windows Installer Xml / Voltive) | Wednesday 11 February 2009 |
| So I finished Fallout 3 finally... | Tuesday 3 February 2009 |
| C# Subversion ChangeLog Generator | Monday 19 January 2009 |
| SEO Lies & Real Solutions (Or Why SEO Experts Are All Hacks) - A Case Study | Thursday 15 January 2009 |
| Late Night Therapy | Tuesday 13 January 2009 |
| Microsoft, thankfully, standing firm on BluRay and the 360 | Friday 9 January 2009 |
| A Few Of My Favourite Things (Of 2008) | Wednesday 7 January 2009 |
| The Death of Middle Tier Games Studios | Thursday 18 December 2008 |
| On How I Learnt More About Business And People From World of Warcraft Than From "Corporate Life" | Monday 1 December 2008 |
| XBox Live Connection Bug - Live won't automatically connect until you perform a network test | Wednesday 19 November 2008 |
| Peer to peer networking using Windows Communication Foundation (WCF) Peer Channels and the Peer Mesh (C# .Net) | Monday 17 November 2008 |
| Do Good Things (Fable II) | Thursday 30 October 2008 |
| Protecting Your Software - Authorisation and You | Tuesday 30 September 2008 |
| StackOverflow, Bloodstock and The Clone Wars (Catching Up) | Monday 18 August 2008 |
| Vintage Game Club:Grim Fandango | Monday 14 July 2008 |
| Embrace, Extend, Extinguish:Integration with Uncooperative Systems | Saturday 12 July 2008 |
| The Vote Of No Confidence In The Entity Framework | Wednesday 25 June 2008 |
| The Dangers Of Pushing The "Cloud" To Market | Saturday 21 June 2008 |
| C# Developers Toolbelt | Sunday 8 June 2008 |
| Selecting a mostly portable notebook | Thursday 5 June 2008 |
| Beyond Good and Evil 2 | Wednesday 28 May 2008 |
| Web 3.0 Data Silos and Identity Portals - Overthrowing social networks | Tuesday 20 May 2008 |
| Stop Holding My Data Hostage - Data Ownership and Web 3.0 | Tuesday 6 May 2008 |
| Nine Inch Nails - The Slip | Tuesday 6 May 2008 |
| The Church of VB.Net | Monday 28 April 2008 |
| Discipline | Tuesday 22 April 2008 |
| Sharepoint | Tuesday 22 April 2008 |
| Ashes Divide samples appear online | Wednesday 2 April 2008 |
| RunAsRadio - Scott Kveton Shares His OpenID! | Friday 28 March 2008 |
| Fractured Online Identities | Wednesday 26 March 2008 |
| Singularity | Wednesday 5 March 2008 |
| Self Hosted WCF Services Revisited | Wednesday 5 March 2008 |
| LucasArts adventures reincarnated | Saturday 1 March 2008 |
| Development Tricks:Debug View | Friday 22 February 2008 |
| Using C#, Inversion of Control and WCF to produce a generic host for use in distributed systems. | Thursday 21 February 2008 |
| Pigs are flying and Microsoft are opening APIs | Thursday 21 February 2008 |
| Mass Effect | Sunday 3 February 2008 |
| Game Development in C# (XNA Woes) | Monday 28 January 2008 |
| 2008 | Sunday 6 January 2008 |
| Duke Nukem Forever Trailer | Wednesday 19 December 2007 |
| After such radio silence... | Sunday 29 July 2007 |
| Moving Forwards | Friday 4 May 2007 |