| Existential Dread and the End of Programming | Tuesday, 17 February 2026 |
| 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 |