Process

Testing the In-Progress Chess Game

Posted on

Last October, I was asked why released of a legacy system were so hit and miss. There were a couple of reasons for the flaky releases, which I have summarised below. When you judge the quality of the metaphors, please bear in mind that these were invented off-the-cuff. Configuration The first reason releases were unreliable […]

Process

The Dedicated Scrum Master Role

Posted on

After reading a discussion about whether having a dedicated Scrum Master is an effective way of running a team, I got to thinking about what I have experienced in the real world. This is an empirical point I’m about to make; I’ve worked with a good number of organisations, but not enough to get to […]

Automation

Datadog Notes

Posted on

When you think about Datadog, you are very often thinking about charts. Which visualisations will bring forth insights from your metrics. What actionable information can you present on your wallboards. What you might not be thinking about is the humble subject of Datadog notes. You can add notes to your dashboard using the Edit Dashboard […]

Programming

Find SQL Server Job Clashes

Posted on

If you are working on an older application that has a lot of logic inside of the SQL database in jobs, procedures, and functions – you may find that your job schedules cause a repeating wave of SQL compilation peaks. If you suspect jobs may be the cause, you can use a query to find […]

Programming

C# Implicitly Scoped Using Statements

Posted on

This is a little gold nugget that is coming in C# 8 – implicitly scoped using statements. On a simple level, it means that when you consume an IDisposable class your previously explicitly scoped using statements: using (var connection = GetConnection()) { // Use the connection, it will be disposed of at the end } […]

Programming

Create and Hydrate a TypeScript Class from JSON

Posted on

It is pretty common to want to hydrate a class from a JSON value obtained in a service. If you just parse the JSON you get the properties, but not the behaviours that you expect. As this is a reasonably common problem to solve, it is worthing doing it just once. The following function will […]

Programming

TypeScript NotFunction Type

Posted on

I have been working out how to create a TypeScript NotFunction type for a while, in response to a Stack Overflow question. With the arrival of conditional types, I think there may be a way. It’s not perfect – but it does work. The type works by taking all possible types and converting the type […]