Gig Review: The Leo Green Orchestra perform The Rolling Stones at the London Palladium


Poster for the gig.

For the first time in its illustrious 114 year history, the historic London Palladium will host a monthly orchestral residency beginning in February 2024, which will see iconic artists’ music celebrated. This was an entertaining, but curious, gig. It isn't a tribute act - no sequinned sound-alikes strutting the stage here - it's a a full rock-n-roll orchestra fronted by three dazzlingly talented female vocalists. They blasted out hit after hit - knowing that the audience is probably u…

Continue reading →

FILE/DINK/DWZ/3+1 - a personal financial quadrumvirate


A complex line graph.

Brits hate talking about money. But this benefits no-one. This is my situation - it's probably different to yours. I'm acutely aware I'm in a better financial position than most. This isn't financial advice - but I'd sure appreciate anyone's thoughts. I've recently moved down to a 4-day-a-week job. Taking a 20% hit to my salary felt like a moment of madness. But it was part of a (somewhat) calculated plan. I've previously mentioned FIRE - Financial Independence Retire Early. It's a culty…

Continue reading →

A simple(ish) guide to verifying HTTP Message Signatures in PHP


Screenshot of JSON. As described in text.

Mastodon makes heavy use of HTTP Message Signatures. They're a newish almost-standard which allows a server to verify that a request made to it came from the person who sent it. This is a quick example to show how to verify these signatures using PHP. I don't claim that it covers every use-case, and it is no-doubt missing some weird edge cases. But it successfully verifies messages sent by multiple Fediverse servers. Let's step through it with an example of a message sent from Mastodon to my…

Continue reading →

HTTP Signature Infinite Loop?


A padlock engraved into a circuit board.

I'm trying to get my head round HTTP Signatures as they're used extensively in the Fediverse. Conceptually, they're relatively straightforward. You send me a normal HTTP request. For example, you want to POST something to https://example.com/data You send me these headers: POST /data Host: example.com Date: Sat, 24 Feb 2024 14:43:48 GMT Accept-Encoding: gzip Digest: SHA-256=aaC57TDzM0Wq+50We2TkCsdMDvdqON92edg7KI+Hk8M= Content-Type: application/activity+json Signature:…

Continue reading →

Review: Matter-enabled Energy Monitoring Smart Plugs - Meross 315


Two plugs side by side.

Matter is coming to fix all your smarthome woes! A single IoT standard, working across multiple radio protocols, bringing together different products from many different manufacturers. And… it works! Mostly These are the Meross 315 Smart Plugs. They are small(ish), cheap(ish), and easy(ish) to use. As soon as I plugged them in, before even configuring them, my home went crazy. I got a pop-up on my phone asking if I wanted to control them with Google Home. Nope! I then immediately got a…

Continue reading →

Review: An NFC reader/writer with USB-C - ACR1252U-MF


Box with a drawing of the NFC reader.

I needed to read and write NFC cards on Linux. I only buy USB-C peripherals now, so I found the brilliantly named "ACR1252U-MF" which appears to be the only USB-C reader on the market. Total cost was about £35 on eBay. It's a cheap and light plastic box with a short USB cord. When you plug it in, there's a flashing light which can't be disabled. When it is powered up, or it detects and NFC chip, it makes this weird and scratchy beep: 🔊 💾 Download this audio file. On Linux, it shows…

Continue reading →

Giving the finger to MFA - a review of the Z1 Encrypter Ring from Cybernetic


A plain black ring. What secrets does it contain within?

I have mixed feelings about Multi-Factor Authentication. I get why it is necessary to rely on something which isn't a password but - let's be honest here - it is a pain juggling between SMS, TOTP apps, proprietary apps, and magic links. I'm also not a fan of PassKeys. It feels weird to me that my computer is the password. I get the theoretical way it works - but it rubs me up the wrong way. So, Yubikeys? I find them an annoyance. I never have my keys to hand - which sort of defeats the…

Continue reading →

Book Review: We Are Bellingcat - Eliot Higgins


Book cover with an inverted question mark.

The problem with autobiographies is that every anecdote ends with "needless to say, I had the last laugh!" This corporate-autobiography is no different - as it details the rise and impact of Bellingcat - a team of investigators and journalists. I am in awe of Bellingcat - and have seen them give talks on a couple of occasions. This book is a thrilling account of how they perform "open source" investigations; solving crimes with freely available data. But every few pages, I got an uneasy…

Continue reading →

It's a process; not a product


A pet cat typing on a computer keyboard.

Sometimes a client asks me a question and I'm a little stunned by their mental model of the world. A few weeks ago, we were discussing the need for better cybersecurity in their architecture. We spoke about several aspects of security, then they asked an outstanding question. "What should I buy to be secure?" It took a few moments to tease out exactly what they thought they were asking. In their mental model they could just buy a box which did what they needed. Want to print from any…

Continue reading →

Minority Governments and the Boundary Commission


Map of the UK covered in coloured shapes.

The UK is almost certain to have a General Election this year. The Boundary Commission for England has reworked the existing Parliamentary constituencies to make them more fair. As such, constituencies are generally more equal in terms of electorate. But, of course, geography trumps geometry. So the Isle of Wight now has two constituencies of 56k and 54k, whereas the average constituency has 73k. I wanted to know if these new boundaries meant that a political party could win the majority of…

Continue reading →

Drinking Champagne with the Secretary of State


Selfie by Matt Hancock, featuring some of the team behind NHSX. I am in the background.

This is a retropost. Written contemporaneously in February 2019, but published much later. My life is weird. Again. Looking out over London from the top floor. The Eye is glittering and the Palace of Westminster is glowing. Someone pours me a glass of (very expensive) champagne, as the Secretary of State laughs at my witty bon mot. Is this my life now? People of distinction and influence listening to what I have to say? It isn't an oak-panelled room, with deep armchairs, where cigar-smoking …

Continue reading →

ActivityPub Server in a Single PHP File


Logo for ActivityPub.

Any computer program can be designed to run from a single file if you architect it wrong enough! I wanted to create the simplest possible Fediverse server which can be used as an educational tool to show how ActivityPub / Mastodon works. The design goals were: Upload a single PHP file to the server. No databases or separate config files. Single Actor (i.e. not multi-user). Allow the Actor to be followed. Post plain-text messages to followers. Be roughly standards compliant. And those…

Continue reading →