This is the first of two things requested by Jesper. Please visit his blog for wisdom about testing, business strategy and things like that. I’m not always available for weddings and bar mitzvahs, but if anyone else has requests or suggestions for the blog, please let me know via the Contact page. This started off … Continue reading Exceptions 1: Basics
Category: Computer theory
Comparing regular expressions and finite state machines
This is the last in a series about regular expressions and finite state machines Regular expressionsFinite state machinesComparing regular expressions and finite state machines In this article I won’t be introduce any big new things, but instead I’ll be showing how two things I’ve already discussed in the previous two articles relate to each other. … Continue reading Comparing regular expressions and finite state machines
Finite state machines
This is the second article in a series about some classic computer science: Regular expressionsFinite state machinesComparing regular expressions and finite state machines Finite state machines are a way of checking that a series of inputs is valid, potentially doing some actions while you’re doing this checking. They’re not something I use all that often, … Continue reading Finite state machines
Regular expressions
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
Magic roundabouts and starvation
This is the second in a small series of articles using roundabouts to explore some ideas in computer science: Mini roundabouts and deadlockMagic roundabouts and starvation In this article I’ll go into starvation, using the wonder / horror that is the Magic Roundabout (like Duff’s device for road junctions). Unfortunately, this won't involve anything from … Continue reading Magic roundabouts and starvation
Mini roundabouts and deadlock
This is the first in a small series of articles using roundabouts to explore some ideas in computer science: Mini roundabouts and deadlockMagic roundabouts and starvation In this article I’ll go into dependency, which can lead to deadlock. For this I’ll be using the mini roundabout as an illustration. In the next article I’ll use … Continue reading Mini roundabouts and deadlock
Recursion and iteration – loop unrolling
This article is part of a series on recursion and iteration: Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling In this article I will talk about loop unrolling, and the wonder / horror that is Duff's device. Image credit Loop unrolling Loop unrolling is something to do only when you're very … Continue reading Recursion and iteration – loop unrolling
Recursion and iteration – blurring the lines
This article is part of a series on recursion and iteration Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling In this article I will look at how the lines between iteration and recursion can get a bit blurry. This breaks down into three areas: Iteration = fast, recursion = slow isn't … Continue reading Recursion and iteration – blurring the lines
Recursion and iteration – mutual recursion and tail recursion
This is part of a series of articles about iteration and recursion. Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling I have covered the basics of recursion in a previous article. In this article I will go onto two more advanced, rare and obscure versions of recursion - mutual recursion and … Continue reading Recursion and iteration – mutual recursion and tail recursion
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