Exceptions 3: Where to put catch blocks and handle exceptions

This is the third article in a series about exceptions: BasicsTypes and filteringWhere to put catch blocks and handle exceptionsFinishing up Where your catch blocks are and where exceptions are dealt with matters - probably best to avoid sticking a pin into your code randomly to choose the spot.Image credit The location of catch blocks … Continue reading Exceptions 3: Where to put catch blocks and handle exceptions

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

How permanent is your data?

This article was inspired by a video from the British Museum, where a conservator discusses a 500-year-old khipu.  A khipu is a document, used for keeping records or accounts, made of knotted strings. https://www.youtube.com/watch?v=-mvjiMjZf-4 I recommend you watch the video – I found it really interesting and well-presented. I hadn’t come across khipus before, and … Continue reading How permanent is your data?

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