
Hi, my name is John, I’m a professional Software Developer based in Leeds, UK.
I commonly work with small to medium size businesses based in the North of England using predominantly C# and ASP.NET to write a mixture of frontend and backend applications.
Recent Articles
The Case Against Generative AI
January 10, 2026
Generative Artificial Intelligence (AI) tools are awesome and I use them every day. They are massive boost to coding and they make learning new things much easier. However, there are a lot of claims about AI that seem to be far ahead of where the technology is…
Securing an ASP.NET Website with OpenID Connect
November 16, 2025
The Microsoft ASP.NET middleware makes it straightforward to implement OAuth2 and OpenID Connect flows in an ASP.NET Website. In this article we will go through the code and configuration required to implement the authorization code flow using the standard…
Using Microsoft SQL Server Profiler to Capture Entity Framework Queries
October 17, 2025
Microsoft SQL Server Profiler is an excellent tool for getting information about the SQL being built and run by Entity Framework against your Microsoft SQL Server database. SQL Server Profiler installs with SQL Server Management Studio (SSMS) but is a…
C# JSON Parsing with Json.NET and JObject
September 15, 2025
Parsing JSON using C# can be a fiddly but with Newtonsoft’s Json.NET library it becomes a breeze. The library provides a number of types for parsing JSON which I find useful for hacking together tools to help work with big JSON structures. However, it can…
How to Mock HttpRequestData for Unit Testing in Azure Functions
August 19, 2025
It turns out that unit testing Azure Function Http Triggers is not straightforward. In particular, isolated functions that use the Built-in HTTP model . The built-in model passes HttpRequestData to the Run method and returns a HttpResponseData object…
Migrate Azure DevOps Pipeline Variables using Azure CLI and PowerShell
July 7, 2025
Recently I’ve been working on a project which has an Azure DevOps YAML pipeline with all environment config added using pipeline variables . The variable groups feature provides a much better way of grouping and managing pipeline config so I decided to…