Terence Eden. He has a beard and is smiling.

Terence Eden’s Blog

Theme Switcher:

A quick guide to getting Mozilla VPN working on a headless Linux server

· 1 comment · 500 words · Viewed ~683 times


Mozilla VPN logo.

The Mozilla VPN service is great, but it doesn't work using the CLI if you have a "headless" server. After a bit of faffing about, I got it working. I suffered so you don't have to. Get an account Sign up and use code MOZILLA20 for a cheeky 20% discount! Get a token in the browser To start with, you'll need to get an authentication token. This requires you to be on a machine which can run a …

Unicode Roman Numerals and Screen Readers

· 12 comments · 800 words · Viewed ~3,164 times


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…

How to write a L7 Apprenticeship Portfolio

· 4 comments · 1,250 words · Viewed ~5,175 times


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…

How to generate a Base32 TOTP secret string on a Mac

· 4 comments · 500 words · Viewed ~1,036 times


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…

Zero Interfaces

· 2 comments · 350 words


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. …

Happy 2nd Birthday to this Bitwarden bug!

· 1 comment · 200 words · Viewed ~280 times


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…

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

· 1 comment · 250 words · Viewed ~238 times


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…

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

· 1 comment · 450 words · Viewed ~216 times


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…

Telling Women What To Do

· 3 comments · 600 words · Viewed ~335 times


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…

Touring TNMOC with a living legend

· 600 words


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…

Offline Digital Currency Transactions

· 2 comments · 850 words


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…

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

· 13 comments · 600 words · Viewed ~5,320 times


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...…