Review: Octopus Home Mini - Real-Time Smart Meter Monitoring


Tiny pink device.

I unashamedly love my smart-meter. Rather than having my energy provider guesstimate my bill, or having to send manual readings each month, it automatically beams them back to its mothership. It also enables interesting things like variable energy tariffs. By design, the smart-meter is limited in how much data it can send back. You can choose to have readings sent monthly, weekly, daily, or…

Continue reading →

Book Review: The Martian Contingency by Mary Robinette Kowal


Book cover featuring Astronauts on Mars.

The Lady Astronaut books are an absolute triumph - it's just a shame that they've been somewhat overshadowed by the TV series "For All Mankind". They both follow a similar trajectory - what if women were an integral part of the early space race and helped us to colonise off-world? The books, thankfully, don't pad out as much as the rival show - this latest novel is tightly focussed and takes us …

Continue reading →

Theatre Review: Just For One Day


A crowd of singers.

Leave your cynicism at the door. Jukebox musicals usually stick to a single-artist (Mamma Mia, & Juliet, Tommy). As a result, they all start to sound a bit samey after a few numbers. Shows like Return To The Forbidden planet shoe-horn in songs from a dozen artists without much regard to plot, tone, or pacing. Just For One Day goes down a different route. Rather than just recreate the famous…

Continue reading →

Reading NFC Passport Chips in Linux


A mocked up passport which looks like it has been issued by the fictional country of Wakanda.

For boring and totally not nefarious reasons, I want to read all the data contained in my passport's NFC chip using Linux. After a long and annoying search, I settled on roeften's pypassport. I can now read all the passport information, including biometrics. Table of ContentsBackgroundRecreating the MRZPython code to generate an MRZCan you read a cancelled passport?Cryptography and other…

Continue reading →

An annoying SVG animation bug in Chrome


Logo for the Chromium browser.

Writing web standards is hard. You have to write a formal specification which is useful for machines, humans, and web developers. I recently stumbled across what I think is a little bug which might be caused by a misreading of the SVG Animation specification. Here you should see two overlapping circles gradually appear: If you're on Chrome, you…

Continue reading →

Theatre Review: Operation Mincemeat


Logo for Operation Mincemeat - a black scribble on a yellow background.

Everyone I know told me to go and see this show. I resisted as long as possible but managed to score cheap last-minute tickets via a friend. I wish I hadn't waited so long! If you're unaware of the book (or the film. Or the novelisation of the film. Or the Twitter thread. Or the inaccurate tumblr retelling.) the story involves a dastardly British plan to use a corpse to fool the Nazi menace…

Continue reading →

Book Review: Venomous Lumpsucker by Ned Beauman


Book cover with fish.

No book has the right to be this good. It's the sort of howling sci-fi satire that Ben Elton used to excel at - a novel set five minutes in the future with a eye firmly on today's problems. The plot is delightful - what if carbon credits extinction credits were the new capitalist plaything? What second, third, and forth order effects would that have on the world? The worldbuilding is sublime -…

Continue reading →

Convert Shotwell Photo Metadata to Digikam Metadata


Linux bash terminal icon.

Mostly notes to myself. Shotwell stores most of its information in a database. Which I lost. Because I'm an idiot. But a bunch of metadata is also stored in the image's EXIF metadata! Most importantly is the "Original File Name" which should become the "Description" in DigiKam. Unfortunately, there's no way to copy those values automatically on import. So here's a one-liner which will read…

Continue reading →

Book Review: If Only They Didn't Speak English - Notes From Trump's America by Jon Sopel


Book Cover.

I expected so much more from this book. It starts with a central thesis - the UK over-indexes on America because we speak the same language, but there is an enormous gulf in attitudes between the two nations. We rarely hear on the news what's happening in France, Germany, or Ireland even though they're much closer geographically, politically, and culturally. That sounds like a pretty good book! …

Continue reading →

Why do people have such dramatically different experiences using AI?


A t-shirt which says Dunning and Kruger and Gell and Mann.

For some people, it seems, AI is an amazing machine which - while fallible - represents an incredible leap forward in productivity. For other people, it seems, AI is wrong more often than right and - although occasionally useful - requires constant supervision. Who is right? I recently pointed out a few common problems with LLMs. I was discussing this with someone relatively senior who works…

Continue reading →

Book Review: Beyond Measure - The Hidden History of Measurement by James Vincent


Book cover.

This is a charming travelogue through the confusing and contradictory world of measurement. It has a similar thesis to Seeing Like A State by James C. Scott and is infinitely easier to read than Inventing Temperature by Hasok Chang Emanuele Lugli has noted, units of measurement are, for the powerful, ‘sly tools of subjugation’. Each time they’re deployed, they turn the world ‘into a place that …

Continue reading →

Your Password Algorithm Sucks


Sorry but you password must contain and upper case letter, a number, a haiku, a gang sign, a hieroglyph, and the blood of a virgin.

There are two sorts of people in the world; those who know they are stupid and those who think they are clever. Stupid people use a password manager. They know they can't remember a hundred different passwords and so outsource the thinking to something reasonably secure. I'm a stupid person and am very happy to have BitWarden generate and save fiendishly complex unique passwords which are then…

Continue reading →