This is the first article in a short series on some classic bits of computer science, which are occasionally useful in professional programming: Regular expressionsFinite state machinesComparing regular expressions and finite state machines A useful tool with a bad reputation Regular expressions are a way to define a set of 0 or more text strings … Continue reading Regular expressions

# Category: Introduction

# Recursion and iteration – an introduction to recursion

This is the second article in a series about recursion and iteration. Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling I will assume that you have already read the article on iteration, and this article will focus on recursion. Like iteration, recursion is a way of repeatedly doing the same or … Continue reading Recursion and iteration – an introduction to recursion

# Recursion and iteration – an introduction to iteration

This is the first of a series of articles about recursion and iteration Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling Recursion and iteration are both techniques for doing some work (or similar work) repeatedly, so that you can solve a bigger problem. This could be things like summing all the … Continue reading Recursion and iteration – an introduction to iteration

# Putting your code onto Azure using Terraform and Azure DevOps Pipelines

This article is about using two tools – Terraform from HashiCorp and Azure DevOps Pipelines (DOP) – to get code into Azure. It won’t go into details of either tool, but will describe the problem they’re trying to solve, and how they work together to solve it. Hopefully this will give you the necessary context … Continue reading Putting your code onto Azure using Terraform and Azure DevOps Pipelines

# Regression to the mean

In this article I’ll try to explain the statistics term regression to the mean. I’ll describe what it is, why it happens, and what consequences there are for important things like developing medicine, training and education. What is regression to the mean? Imagine there is a group of students taking a test, where the range … Continue reading Regression to the mean

# A beginner’s guide to practical quantum computing

I recently started dabbling with quantum computing, and this post is kind of the introduction I wish I’d found before I started. It’s not intended to be anything other than a very small tip of a very big iceberg. Hopefully, this will give you enough to help you know if quantum computing is worth your … Continue reading A beginner’s guide to practical quantum computing

# Computer science while washing the dishes 2: The Stack

As well as stacks as mentioned in the title, this also touches on sorting and fragmentation. Yes, I’m one of those people who think that their way of loading the dishwasher is the best way. This is part 2 of a probably 2-part series of articles on how washing up shines a light on computer … Continue reading Computer science while washing the dishes 2: The Stack

# Computer science while washing the dishes 1: The Queue

Calvin and Hobbes said that there’s treasure everywhere. For a sad geek like me, there’s also computer science everywhere. Doing the washing up the old school way involves a metaphor for the computer science concept of queue, if you think of people collaborating around the draining board. Quite a lot of this is a statement … Continue reading Computer science while washing the dishes 1: The Queue

# An introduction to building a CI/CD pipeline with Jenkins and Octopus

In this article I will give a high level overview of building a CI / CD pipeline using Jenkins and Octopus. There are alternative tools, and also other ways to use Jenkins and Octopus – please treat this as just some suggestions. I won’t try to answer all questions you might have about Jenkins or … Continue reading An introduction to building a CI/CD pipeline with Jenkins and Octopus

# Complexity: Performance trends in code

Introduction If you hang around programmers for long enough, you might hear people use terms like complexity or Big O notation, or say that performance is of the order … such as of the order N squared. I hope that this article makes those terms a bit less confusing. The basic idea is seeing how … Continue reading Complexity: Performance trends in code