Recent blog posts

I occassionally write blog posts about things I've learnt. Here are some recent posts.

Hosted Pact Broker

Now you can use Consumer-Driven Contracts and Pact without having to worry about hosting your own Pact broker

Back in 2016 I wrote about using Consumer-Driven Contracts and the Pact framework when designing and testing contracts for RESTful APIs.


.NET Core Platform Infrastructure

What do the .NET Core SDK and Runtime packages install, and to where?

I’ve been using .NET Core for a few years now: I think the first version I installed was ASP.NET 5 beta 6, in mid 2015. I’ve installed a lot of different verions since then - my SDK folder currently contains 14 different versions - but it occurred to me recently that I’ve never really looked at what is being installed. So, I thought I’d take a quick look.


Visual Studio Shortcuts

Keyboard shortcuts are a great boost to productivity. Where can I find a list of shortcuts for Visual Studio?

In my post Diagnosing Process Crashes, or, What To Do When Computers Choose To Hate Us I wrote in passing about knowing how to use the correct tools to solve the problem in hand. However, knowing which tool best solves a problem does not necessarily mean that we know how to use that tool efficiently.


Diagnosing Process Crashes, or, What To Do When Computers Choose To Hate Us

Microsoft's Debug Diagnostic Tool is a valuable resource when troubleshooting mysterious crashes. Here is how we used it to identify a mysterious crash.

By their very nature computers are deterministic. We tell them what to do, and they unquestioningly follow our orders, repeatably and consistently. This is what makes us techies the happy, contented people that we are; we are the masters of our machines.


Build Pipelines #1: A Journey Of Discovery

Build automation is a good thing. How has it evolved over the years for the average .NET developer?

I’ve been spending some time recently setting up build pipelines for a number of open source projects I contribute to. I’ve been using automated build pipelines for about 15 years, but it’s been a while since I’ve built one from from scratch, and in the meantime technology has moved on. So, despite my previous experience, setting up the new pipelines has been a great opportunity to learn.


Consumer-Driven Contracts

How to use Consumer-Driven Contracts and the Pact framework to develop RESTful service contracts

Like many tech companies, at my employer we have a spider’s web of internal services communicating over HTTP. Services call other services. The website calls services. Our iOS and Android apps use these services. The services are owned by a number of different teams, and the apps are owned by entirely separate teams.