Unicode Roman Numerals and Screen Readers


Screenshot of a Table of Roman numerals in Unicode.

How would you read this sentence out aloud? "In Hamlet, Act Ⅳ, Scene Ⅸ..." Most people with a grasp of the interplay between English and Latin would say "In Hamlet, Act four, scene nine". And they'd be right! But screen-readers - computer programs which convert text into speech - often get this wrong. Why? Well, because I didn't just type "Uppercase Letter i, Uppercase Letter v". Instead, I u…

Continue reading →

How to write a L7 Apprenticeship Portfolio


Some giant question marks standing in a field. Photo by https://www.flickr.com/photos/dbrekke/181939582/

I've recently completed my Level 7 Apprenticeship. One of the more onerous tasks was completing the portfolio. This document was the source of much stress and confusion with our cohort. This blog post attempts to demystify it and provides a template to make it easy to complete. My main piece of advice is that you should read the official guidance from the Institute For Apprenticeships. If your…

Continue reading →

How to generate a Base32 TOTP secret string on a Mac


A padlock engraved into a circuit board.

I needed a way to generate a TOTP secret using a fairly locked-down Mac. No Brew. No NPM. No Python. No Prolog, COBOL, or FORTRAN. No Internet connection. Just whatever software is native to MacOS. As I've mentioned before, the TOTP specification is a stagnant wasteland. But it does have this to say about the secret: The secret parameter is an arbitrary key value encoded in Base32 according to…

Continue reading →

Zero Interfaces


R2D2 interfaceing with the Death Star.

The best gadget I got in lockdown was a set of motion activated lights. They have no user interface. I walk by them in the dark and they turn on. Midnight piss? No fumbling for a light switch, no shouting to a digital assistant, no logging in to an app. Simple. I love it. It got me thinking about other things which have "zero interfaces". Once they're set up, they just keep quietly working. …

Continue reading →

Happy 2nd Birthday to this Bitwarden bug!


Screenshot of the Bitwarden Android interface. Emoji are showing as question marks.

Exactly two years ago to the day, I reported a weird little emoji bug with Bitwarden. Let's say you want a password of: ✅🐎🔋📎 (As close as possible to Correct Horse Battery Staple) That works. Emoji are stored and retrieved correctly. You can use them with any system which supports them. But you can't view them. Here's what it looks like if you try to see your password using the Bitwarden Andr…

Continue reading →

The Mobile Phones of Doctor Who - behind the scenes of The Poisoned Sky


Still from Doctor Who. Martha is holding a PDA.

As I've discussed previously, I'm helping a collector who has acquired loads of mobile phones used in Doctor Who. Today's edition - The Poisoned Sky. As the Sontarans choke the Earth, the Doctor and UNIT battle to keep both Martha and Donna alive. A large plot point is Evil Clone Martha stealing a UNIT PDA and using it to HACK THE MAINFRAME. At various times she prevents missiles being…

Continue reading →

Didn't your mother ever tell you to share your toys?


Sharing Is Caring.

Many years ago, I was involved in student politics. It was a great way to understand the fundamental disconnect between the ways different people see the world. I remember having a blazing row high-spirited discussion with someone about the way I thought about society. In a fit of rage an attempt to provide clarity, I tried using a metaphor: "Didn't your mother ever tell you to share your…

Continue reading →

Telling Women What To Do


I had a weird experience in a previous job. As it is long in the past, I thought now was a good time to blog about it. I worked in a hip office. Everyone was trendy and right-on. It was a heavily female dominated industry and the office politics were biased towards intersectional feminism. Which I regarded as a good thing. I'd rather have a natter about reproductive justice than who won the…

Continue reading →

Touring TNMOC with a living legend


Photo of Bruce Perens and me waving at the camera. In the background is a banner for OpenUK and lots of old computer science books.

This is a retropost. It was written in 2022, but published later. Well, that was the most bizarre day. A few days ago, Amanda Brock - the CEO of OpenUK - asked if I'd be on a podcast. I agreed, and offered up my office's media studio for the recording. Then she asked if it was OK if Bruce Perens came to record an episode. Errr... OMG, yes! So I got to spend 10 minutes showing Bruce around the…

Continue reading →

Offline Digital Currency Transactions


A tiny lego Storm Trooper eats a chocolate coin.

Wouldn't it be good if digital currencies worked offline? I'm going to talk through a proposed user experience, and then discuss how it would work in practice. Let us imagine a future digital currency ₢. It might be fiat, it might be crypto, doesn't really matter. Alice loads up a smartcard with ₢100 and locks it. Alice gives Bob the smartcard. Bob uses offline verification to see that the sma…

Continue reading →

Adventures in home automation - Home Assistant on a Raspberry Pi 2


Screenshot of a website with loads of toggle switches.

They say that The Best Camera Is The One That's With You - the same is true of Raspberries Pi. As much as I'd love a 4B, they seem permanently sold out. So I dug through my scrapheap of old tech and resurrected an ancient Pi2. It's old, outdated, slow, with limited RAM, and has a bunch of much-abused GPIO pins. But it works and - crucially - is still supported by Home Assistant OS. Well...…

Continue reading →

Unethical Arbitrage


A tiny lego Storm Trooper eats a chocolate coin.

I don't understand capitalists. Taylor Swift - the popular beat combo - wanted to sell tickets for her concert. She priced the tickets too low. People purchased the tickets and resold them at a higher price - up to $28,000. Tay-Tay's fans purchased the higher priced tickets. And there was much wailing and gnashing of teeth. Why didn't the organisers of the concert just sell the tickets at the…

Continue reading →