# Fuzzy matching – context and testing

This is the third article in a short series on fuzzy matching:  Introduction  Example algorithms  Testing and context  In this article I will consider the difference between context-dependent and context-independent fuzziness, and think about how fuzzy matching systems can be tested.  Context-dependent and context-independent fuzziness  If you are trying to do fuzzy matching of strings, … Continue reading Fuzzy matching – context and testing

# Fuzzy matching – example algorithms

This is the second article in a short series on fuzzy matching:  Introduction  Example algorithms  Testing and context  In this article I will go into three algorithms that are examples of fuzzy matching – Levenshtein distance, Dynamic Time Warping (DTW) and Hidden Markov Models (HMMs).  Levenshtein distance  The Levenshtein distance is a way to do … Continue reading Fuzzy matching – example algorithms

# Fuzzy matching – introduction

This is the first article in a short series on fuzzy matching:  Introduction  Example algorithms  Testing and context  In this article I’ll describe how fuzzy matching is different from non-fuzzy or conventional matching, why you might want to use it, and some of what makes it hard.  Conventional matching  In conventional matching, when you compare … Continue reading Fuzzy matching – introduction

# Modelling a river lock

In this article I will model a lock on a river or canal. As well as going into the specifics of the model, I’ll touch on more general topics about modelling. These are things like diagrams to represent the model, tools, models as conversation starters, iterating models etc.  A lock has a model that is … Continue reading Modelling a river lock

# Computer science while doing the laundry 2: Bin sort

This is part of a short series of articles about computer science while doing the laundry: Merge sortBin sort In the previous article I used doing a lot of laundry to illustrate merge sort, which is probably an impractical way of doing the laundry. In this article I will suggest a way that might actually … Continue reading Computer science while doing the laundry 2: Bin sort

# Computer science while doing the laundry 1: Merge sort

This is part of a short series of computer science involving laundry: Merge sortBin sort  In this article I will explain merge sort, which is a way of sorting things when there are so many of them it’s awkward or impossible to use other approaches. I’ll use doing the laundry as a way of explaining … Continue reading Computer science while doing the laundry 1: Merge sort

# Connecting Azure Data Factory code to an external database table

In this article I will talk about how to connect Azure Data Factory (ADF) to a database table. This can be surprisingly complex, so I will start with the simplest version and work towards more complex versions. I won't go into connecting ADF to other types of data store such as APIs, blob storage etc, … Continue reading Connecting Azure Data Factory code to an external database table

# An introduction to parameterised types

This article is about parameterised types, which are also known as generics or parametric polymorphism.  I first came across them in the functional programming language ML, but they have spread beyond the functional programming world, to languages like Java, C#, and TypeScript. Parameterised types let you define a family of similar but different types What … Continue reading An introduction to parameterised types

# Encapsulation

This is the second of the things requested by Jesper. To me, the software engineering term encapsulation is part of the bigger term modularisation. Modularisation is chopping a big lump of code into smaller parts or modules.  It’s important to get the boundaries between parts in the right place.  Once there are modules, they can … Continue reading Encapsulation

# Modularisation – cohesion at many levels

This article builds on the previous article, so if you are new to the terms coupling and cohesion as they apply to software, please look at that first.  In this article I’m going to look at cohesion as it applies to methods (or functions, if that’s what you call such things).  Specifically, I’m going to … Continue reading Modularisation – cohesion at many levels