I was doing some technical writing at work recently, and I realised that I had automatically and unconsciously used a particular structure for the document. It’s not something that geeks like me are always taught – I know it only because my Dad used to help people improve their technical writing. So, in case it’s … Continue reading Organising technical documents for a good user experience
This is a silly little bit of data crunching and very limited visualisation, based on the names of artists who have been in the UK music charts. I fancied using R for a change and also trying out notebooks (I’ll explain both a bit below), and this seemed to be about the right size and … Continue reading Analysing the names of artists in the UK music charts using R
This article is the third in a series on covariance and contravariance: Covariance in arraysContravariance in interfacesCovariance in interfaces In the previous article I showed how an interface could be contravariant, meaning it is expecting a smaller type for something you pass it. In this article I will show how an interface can be covariant, … Continue reading Covariance and contravariance, part 3: Covariance in interfaces
This is a short and simple post, that is part 3 in a series: How far away is the most remote part of the UK?How far away is the closest bit of the EU?Which bits of the EU are the closest? The code I wrote to calculate the distances for the previous article also kept … Continue reading Which bits of the EU are closest to the UK?
This article is about captured variables in C#. In case you've not come across them before, they're where some code appears to capture and drag with it a variable declared outside the code, such that the code can continue using the variable long after it appears that this should be possible. They’re not something I … Continue reading Captured variables
This is part two in a series about variance – contravariance and covariance. Arrays and listsContravariance in interfacesCovariance in interfaces In the previous article I introduced the concepts of variance and type size. I also gave arrays as an example of covariance. In this article I’ll give an example of contravariance, and go into more … Continue reading Covariance and contravariance, part 2: Contravariance in interfaces
This article is the combination of a few different things. For a long time, I’ve wanted to visualise in some way the details of the plot to the film Ocean’s 11. Also, occasionally I get grumpy about decrees about how people should document their code. Finally, I recently attended a talk given by my friend … Continue reading Describing films and code using pictures
This post is the first in a series - for once I will split a large topic into a few small posts. The series is about covariance and contravariance, together known as variance. Arrays and listsContravariance in interfacesCovariance in interfaces Covariance and contravariance are terms I came across occasionally, and never understood properly. Having put … Continue reading Covariance and contravariance – part 1: Arrays and lists
This article is part two in a series: How far away is the most remote part of the UK?How far away is the closest part of the EU?Which bits of the EU are the closest? The previous article talked about how I produced a kind of choropleth map – instead of the colour on the … Continue reading How far away is the EU?
Someone posted a question in a Ministry of Testing Slack channel about introducing mutation testing at work. My answer is below, as someone suggested I turn it into a blog post. I've edited it slightly to make it stand on its own rather than as a response to a particular person's question. It's basically a … Continue reading Using User Experience Techniques to Introduce Mutation Testing