Be A Grafana/Graphite Power User

Graphite (the time series stats database) and Grafana (the brilliant visualisation tool) both have excellent documentation that tells us how to operate the software, but simply knowing how to use a tool does not mean you truly grok it.

This is a collection of tips and suggestions to help your use of these tools be easier and more meaningful.

read more

Kubernetes January Round Up

The first month of the year is gone and I have seen some interesting things come across my plate this year. So, I’ve pulled them together in case anyone else is interested.

read more

Getting Started With .NET Core on Mac or Linux

I’ve been writing C# for years and that has meant that I have always been constrained to working with Windows.

Not any more! With the advent of .NET Core and Visual Studio Code I am finally free to move completely to a Unix environment and take advantage of all the tools and technologies that are available in Mac OS or Linux environments.

Here are the steps I took to get my new .NET Core projects up and running.

read more

The Caching Antipattern

TL;DR - Caching done badly has bad implications. Try your hardest not to cache data; but if you really do have to, make sure you do it right.

There are only two hard things in Computer Science: cache invalidation and naming things.

– Phil Karlton


To make sure we’re on the same page, when I say caching, I am talking about the practice of speeding up your own application by masking slow dependencies by remembering previous responses and using them instead of making another slow call to the dependency.

As mentioned briefly by Phil Karlton in his well known sound byte, caching is a tricky problem. This is compounded by a number of common mistakes which I have seen over the years which have resulted in unnecessary confusion delay.

Common Mistakes

Here are some of the mistakes I have seen and what we should to differently.

read more