Posts
Reduce allocations and comparison performance with the new unique package in Go 1.23
A new addition to the Go standard libary is interning via the unique package, allowing developers to potentially reduce allocations and improve comparison performance.
Posted on Friday, 2nd August 2024
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
Turbo charging your command line with ripgrep
Posted on Tuesday, 12th September 2017
GraphiQL in ASP.NET Core
Posted on Thursday, 10th August 2017
Injecting content into your head or body tags via dependency injection using ITagHelperComponent
Posted on Monday, 17th July 2017
.NET Core solution management via the command line interface
Posted on Monday, 3rd July 2017
Tips on starting and running a .NET user group
Posted on Thursday, 22nd June 2017
Retrospective of DDD 12 in Reading
Posted on Monday, 12th June 2017
Another day, another fantastic DDD (DDD South West 7)
Posted on Friday, 12th May 2017
C# 7 ValueTuple types and their limitations
Posted on Thursday, 20th April 2017
Setting up a local Selenium Grid using Docker and .NET Core
Posted on Monday, 20th March 2017
An in-depth look at the various ways of specifying the IP or host ASP.NET Core listens on
Posted on Friday, 10th February 2017
C# IL Viewer for Visual Studio Code using Roslyn side project
Posted on Monday, 30th January 2017
Year in review and looking at 2017
Posted on Tuesday, 10th January 2017
In-memory C# compilation (and .dll generation) using Roslyn
Posted on Wednesday, 28th December 2016
In-memory testing using ASP.NET Core
Posted on Tuesday, 6th December 2016
New Blog, now .NET Core, Docker and Linux powered - and soon to be open-sourced
Posted on Saturday, 26th November 2016
Getting started with Elastic Search in Docker
Posted on Tuesday, 15th November 2016
Going cross-platform with ASP.NET Core talk at Bristech 2016
Posted on Thursday, 3rd November 2016
Building rich client side apps using Angular 2 talk at DDD 11 in Reading
Posted on Saturday, 3rd September 2016
Executing JavaScript inside of .NET Core using JavaScriptServices
Posted on Thursday, 1st September 2016
Angular 2 CLI interview with .NET Rocks
Posted on Tuesday, 23rd August 2016
Integration testing your ASP.NET Core middleware using TestServer
Posted on Sunday, 31st July 2016
Proxying HTTP requests in ASP.NET Core using Kestrel
Posted on Saturday, 2nd July 2016
Fira Mono - An exceptional programming font, and now with (optional) ligatures
Posted on Friday, 17th June 2016
Select by camel case - the greatest ReSharper setting you never knew
Posted on Monday, 6th June 2016
Social authentication via Google in ASP.NET Core MVC
Posted on Sunday, 29th May 2016
ASP.NET Core tag helpers - with great power comes great responsibility
Posted on Monday, 9th May 2016
Capturing IIS / ASP.NET traffic in Fiddler
Posted on Monday, 25th April 2016
Publishing your first NuGet package in 5 easy steps
Posted on Friday, 15th April 2016
Tips for learning on the job
Posted on Tuesday, 29th March 2016
Easy slug generation with Slugity
Posted on Friday, 18th March 2016
OzCode Review - The magical extension that takes the pain out of debugging
Posted on Thursday, 10th March 2016
The Ajax response object pattern
Posted on Sunday, 21st February 2016
Adding search to your website with Azure Search
Posted on Wednesday, 10th February 2016
Personal targets and goals for 2016
Posted on Monday, 1st February 2016
Angular 2 based Piano Note Training game side project
Posted on Sunday, 24th January 2016
An often overlooked reason why you should be on Stack Overflow
Posted on Saturday, 16th January 2016
Are you a consumer or a creator222
Posted on Friday, 15th January 2016
How to setup Google Analytics and event tracking in your Angular application
Posted on Saturday, 9th January 2016
Reflecting on 2015
Posted on Saturday, 2nd January 2016
A deeper look at C# 6's nameof expression
Posted on Tuesday, 29th December 2015
Visual Studio 2015 Shortcuts interview with .NET Rocks
Posted on Monday, 30th November 2015
Using the Surface Pro 4 Type Cover on the Surface Pro 3
Posted on Wednesday, 11th November 2015
Podcasts for .NET Developers
Posted on Tuesday, 3rd November 2015
Using Roslyn to look for code smells
Posted on Friday, 9th October 2015
Detecting CSS breakpoints in Javascript
Posted on Monday, 21st September 2015
New website, now Azure powered
Posted on Wednesday, 11th February 2015
Personal targets and goals for 2015
Posted on Wednesday, 21st January 2015
I used to use a mug for every beverage, now I use this!
Posted on Sunday, 11th January 2015
Harnessing your IoC Container to perform application event tasks in ASP.NET MVC
Posted on Monday, 29th December 2014
Worth a watch: John Sonmez on creating a test automation framework using Selenium
Posted on Monday, 24th November 2014
Improving upon ASP.NET MVC's default display annotation convention
Posted on Tuesday, 4th November 2014
ReSharper not running your unit tests? This could be why...
Posted on Monday, 20th October 2014
9 ways I improved my productivity in Visual Studio 2013
Posted on Tuesday, 7th October 2014
My experiences programming on a Surface Pro 3
Posted on Friday, 19th September 2014
ASP.NET Naming Conventions - how to avoid calling everything a service
Posted on Tuesday, 12th August 2014
Sessions in ASP.NET MVC using Dependency Injection
Posted on Friday, 13th June 2014
Golden Nuget Package #1: RouteDebugger by Phil Haack
Posted on Monday, 9th June 2014
Creating reusable HTML components in ASP.NET MVC using Razor
Posted on Friday, 9th May 2014
Generics and Lambda Expressions in Javascript? With TypeScript you can!
Posted on Wednesday, 30th April 2014
Upgrading to StructureMap 3
Posted on Saturday, 19th April 2014
Space shooter I wrote in Javascript using Typescript
Posted on Wednesday, 16th April 2014
Fixing the "your project file uses a different version of TypeScript compiler" error in Visual Studio 2013
Posted on Friday, 4th April 2014
Why you shouldn't suppress errors in PHP using the @ operator
Posted on Friday, 14th March 2014
The architecture of StackOverflow.com
Posted on Monday, 24th February 2014
Microsoft's latest advert reminds the world why technology (and developers) rocks
Posted on Sunday, 2nd February 2014
Mocking AutoMapper with the IMapperEngine
Posted on Tuesday, 28th January 2014
JCrop integration with CKFinder
Posted on Thursday, 23rd January 2014
How to create a virtual directory in IIS Express
Posted on Monday, 20th January 2014