All posts by Stephen Darlington

Reading 2020

As with 2019, I had the goal of reading twelve books in 2020 and, again, I missed that target by one book. I finished “How To” on New Years Eve so I can’t even claim to have got close.

If I have a defence for missing the target, other than it being 2020 of course, it’s that a few of the books were quite long. Discussing politics apparently takes a lot of words.

Only one of the eleven books I read was non-fiction. It was… fine. I plan to read more novels this year.

As I look back on what I wrote, books being a bit meh, kind of fine, was a theme. I don’t think I read a bad book in 2020, one where I wanted the hours back, but many were quite forgettable.

Highlights? Unix: A History and a Memoir. Facebook. How to be a Liberal.

I’ve set the same challenge — twelve books — for 2021. Wish me luck. My past record suggests I’ll need it!

How to

“If you convert [your car] to run on copies of this book instead of gas, it will burn through 30,000 words per minute, several dozen times faster than the word consumption of a typical human.”

If you thought that “How to“, the follow-up to “What if…” would be more practical, then you’d be wrong.

Whether it’s chasing a tornado without getting up from your couch or moving your house with jet engines, Munroe takes another fun, inventive journey through science and maths. While it doesn’t quite hang together as well as “What if,” it still manages to amuse, educate1 and entertain.

There are so many good bits that it’s difficult to mention even a few highlights, but I think possibly my favourite part is where he fails to faze Colonel Chris Hadfield, even when asked how to land a space shuttle that’s attached to the carrier aircraft (response: “Easy peasy”).

If you’re at all interested in science or engineering, you should read this book (if you haven’t already). Just — please — don’t take the advice literally.


  1. I mean, not directly. You’re unlikely to have an exam where you need to know how to build a lava moat. But the thought-process in getting a serious answer to an absurd question absolutely has value. ↩︎

Unsociable Christmas Tree

Last year I got myself a Raspberry Pi-powered Christmas Tree. It has eleven LEDs, and you can program the Pi to switch them on and off.

Naturally, doing all that takes time, and last year I just didn’t have very much. I just downloaded the sample project and set it up with a random flashing pattern.

It amused me, anyway.

This year I wanted to get a little more sophisticated. I decided that it should be interactive. My first thought was a web server where people could connect using their phones and change the LED patterns. Then I thought better of it. Because of COVID we have no guests, rendering it far less interesting. Also, setting up a web server is hardly very exciting.

I wanted it to detect something but options were somewhat limited. The tree connects to the Pi’s pin connectors, but it didn’t leave any pins free to plug in anything else.

Next, I looked at my Arduino components. Could I do the sensing on the Arduino and the lights on the Pi? A sensible argument would be that wiring up two small computers like that would be ridiculously and unnecessarily complicated. While you wouldn’t be wrong, the whole point of this exercise is ridiculous.

In my Arduino bag of tricks, I have distance, presence, light and moisture sensors, buttons, switches and displays. I could have cobbled together something but while reading Twitter I got a better idea: how about I plug in a webcam and have the Pi detect faces and show different patterns depending on who is looking at it?

Luckily, other people have done most of the hard work. I based most of what follows on a blog “How to train your Raspberry Pi for facial recognition.”

There are lots of steps, but they’re relatively easy to follow. It was all working fine until it asked me to build OpenCV from source, at which point I ran out of disk space.

I gave up for a while.

What I’m saying is that while I was planning on something a little more elaborate, I ran out of time. Again.

When I came back to it, I realised that OpenCV was something that many Raspberry Pi owners were likely to use and I was surprised that I had to build my own version.

Luckily my surprise was supported by the actual Raspberry Pi software archive: if you install python3-opencv you get all the libraries you need, and all without all the hassle of having to build your own1. As a side benefit, this removes about half of the steps in the tutorial!

The rest worked incredibly well “out of the box.” I ran it, trained it on a few unsuspecting family members and was very impressed that it worked the first time. It uses a lot of CPU on my Pi 4, so I’m not sure that it would work on any of the earlier models.

My next task was to hook in the Christmas Tree code so that the tree responds to changes in what the webcam could see. And… that’s where I ran out of time.

The interface between the facial-recognition and the tree lights is, well, minimal. If it finds someone it recognises, all the lights come on, otherwise, it goes dark. You can see the code on GitHub — only a handful of lines are mine.

It technically meets the requirements of an Unsociable Christmas Tree but is certainly less ambitious than I would have liked. Still, getting machine learning working on a Pi and connecting it to something physical was fun. Maybe next year I’ll get the time to bring everything together?


  1. In theory, installing python3-opencv means you can skip the whole of point 4, “Install OpenCV by running the following commands in your Terminal,” from the guide. In practice, I tried to build my own version of OpenCV so it’s possible that I have extra libraries installed that you also need. If I get the time, I’ll come back and try this on a default installation of Raspberry Pi OS. ↩︎

The Problem with Men

If there’s one thing to take away from “The Problem With Men” is that there is an International Men’s Day and it’s on November 19th. Is that two things?

But you probably knew that.

The problem with this book is that it’s very much preaching to the choir. If you’re un-ironically asking when International Men’s Day is on March 8th, this book is not likely to be on your radar.

That’s a shame as it nicely lays out the argument for International Women’s Day, equality, feminism and counters many of the rather odd objections. The chapters are mostly questions, from “What’s wrong with asking when is International men’s day on International Women’s Day?” to “Can a man really be a feminist?” It’s short — one chapter is a single word! — to the point and amusing.

In summary, it’s a must-read for the very people who won’t read it.

How to be a Liberal

You can’t say that it lacks ambition. Ian Dunt’s “How to be a Liberal“:

tells the forgotten story of the advance of liberalism and the events which led to its current retreat.

And, by and large, it succeeds. I’m not qualified to say how complete it is — he may have missed out half of the story for all I know — but from Descartes to Mills, to Keynes, Orwell, Trump and Brexit, the history is here, right up to events of 2020. It’s well researched and mostly easy to read1. Having heard the author on various podcasts, I might have expected more swearing.

From a personal point of view, I think it clarifies a lot of my thinking and opinions, putting a name and a structure around things that I’ve likely believed for a long time but had never known the correct label.

In the UK, “liberal” is often understood to be directionless, wishy-washy, neither Labour nor Conservative. I never thought I was without principle. Being in favour of private enterprise doesn’t mean there shouldn’t be limits. A belief in personal responsibility doesn’t mean that I think people should end up destitute for mistakes or bad luck.

I never thought I was without principle, but perhaps I lacked the vocabulary to easily explain where I was coming from. With its discussion of the “harm principle,” the English Civil War, the American and French Revolutions, Keynes and Hayek, I now have a better handle on that framework.

It also ends on a positive note. I don’t know about you, but I needed that.


  1. A few typos and dodgy sentences made it into print. Not enough to spoil the book but enough to be noticeable. ↩︎

Come Again

I learned about this book on Richard Herring’s Leicester Square Theatre Podcast (RHLSTP!). One of my favourite nineties comedy performers interviewing one of my favourite two-thousands comedy performers. I guess what I’m saying is that I’m not entirely impartial; I was predisposed to like “Come Again.”

Webb’s first book was a kind of a memoir. This is a novel. I’m pretty much the perfect demographic. The lead character went to an English university in the early nineties to study Computer Science. Even though it was a different university, so much was familiar.

Is it well written and researched or just lazy nostalgia?

I think that’s the question for the book as a whole. It’s a quick, unchallenging read. The writing is functional and it’s structured to included a few nice twists and the odd end-of-chapter cliff hanger.

The three sections are quite different in tone. The first and second work well but the third, while entertaining, doesn’t quite seem to fit.

So clearly I’m not going to describe this as “must read.” It’s a fun read and maybe that’s all it needs to be.