Latest Blog Posts

Providing context to cancellations in Go 1.20 with the new context WithCause API

A new addition to the context package in Go 1.20 is the ability to provide the cause of a context's cancellation. In this post we'll take a look at this new API and how to use it.

Posted on Wednesday, 4th January 2023

Playing With Slog, the Proposed Structured Logging Package for the Go Standard Library

Currently going through Go's proposal process, the slog package aims to introduce structured logging as a first-class citizen within the Go standard library. In this post we take a look at the proposal, the package and what it does.

Posted on Thursday, 24th November 2022

Global Error Handling via Middleware with Go's Gin Framework

In this post we'll take a look at how we can utilise middleware to simplify error handling when using the popular Gin router for Go.

Posted on Wednesday, 1st June 2022

Automate testing of poor network conditions with Shopify's Toxiproxy in Go

You build things differently when you expect them to fail, and in a complex distributed system that communicates across networks failures should be expected. To combat this Shopify build Toxiproxy, a tool for simulating a wide range of network conditions. In this post we look at how we can leverage Toxiproxy to introduce network failures into our tests, so we can better defend against them.

Posted on Sunday, 5th December 2021

Integration testing your Polly policies with HttpClient Interception

Posted on Thursday, 30th July 2020

Effectively stubbing remote HTTP service dependencies with HttpClient Interception in C#

Posted on Thursday, 21st May 2020

Consider Chesterton's Fence Principle Before Changing That Code

Posted on Thursday, 2nd April 2020

A couple of nice Tuple use cases

Posted on Monday, 16th March 2020

Chaos Engineering your .NET applications using Simmy

Posted on Friday, 3rd January 2020

Managing your .NET Core SDK versions with the .NET Install SDK Global Tool

Posted on Tuesday, 3rd September 2019

Approval Testing your Open API/Swagger Documents

Posted on Wednesday, 28th August 2019

You can stop mocking ILogger

Posted on Saturday, 1st June 2019

Subcutaneous Testing in ASP.NET Core

Posted on Thursday, 14th March 2019

The myth of the right tool for the job

Posted on Friday, 18th January 2019

Skipping XUnit tests based on runtime conditions

Posted on Wednesday, 2nd January 2019

Aaaand, we're back...

Posted on Thursday, 8th March 2018

GlobalExceptionHandler.NET version 2 released

Posted on Friday, 8th December 2017

Going serverless with .NET Core, AWS Lambda and the Serverless framework

Posted on Wednesday, 8th November 2017

REST Client for VS Code, an elegant alternative to Postman

Posted on Wednesday, 18th October 2017

Global Exception Handling in ASP.NET Core Web API

Posted on Wednesday, 20th September 2017