Is Android Unicode Yet?


Fontforge showing the version is from 2013.

Google's Android platform has dreadful support for Unicode. Even the most recent Android versions are missing out on languages, characters, and symbols which were added to Unicode in the last decade. Back in 2013, Google created the "Noto" project. Its aim? To include "all the world's languages". They wanted to banish "tofu" - the little […]

Continue reading →

Theatre Review: The River - Jez Butterworth


Poster for The River. A murky green colour.

Oooh! This is an interesting play. It is dense, wordy, and tense. It isn't a play with a frenetic pace or a huge emotional roller-coaster. It is a series of subtle arguments and twisted relationships which slowly (very slowly) reveal themselves to the audience. It is actorly - with winding speeches and hefty subtext. The […]

Continue reading →

Theatre Review: The Lightest Element


Poster for The Lightest Element. A woman stands between two men.

The problem with plays about science is that they necessarily have to give the audience a mini-lecture in the subject. The problem with biographical plays is they need to give the audience a summary of a life in a few short speeches. The problem with historical plays is they have to give a précis of […]

Continue reading →

Should you enable TOTP *only* authentication?


A QR code.

Here's a "fun" thought experiment. Imagine a website which let you sign in using only your username and TOTP code. No passwords. No magic links emailed to you. No FIDO tokens. No codes via SMS. Just a TOTP generated and displayed on your device. Is that useful? Sensible? Practical? It's certainly technically possible. Store the […]

Continue reading →

Styling links based on their destination


The HTML5 Logo.

Suppose you have lots of links on a page. You want to highlight the ones which point to example.com - is that possible in CSS without using JavaScript? Yes! This scrap of code will turn all those links red: a[href^="https://example.com"] { color: red; } Now, there are a few gotchas with this code. It matches […]

Continue reading →

GitHub's Copilot lies about its own documentation. So why would I trust it with my code?


Me asking Copilot how I switch it off. Copilot responds with a link.

In the early part of the 20th Century, there was a fad for "Radium". The magical, radioactive substance that glowed in the dark. The market had decided that Radium was The Next Big Thing and tried to shove it into every product. There were radioactive toys, radioactive medicines, radioactive chocolate bars, and a hundred other […]

Continue reading →

A decade later, has my mobile security advice changed?


Logo for 361 degrees podcast.

A decade ago, I appeared on the 361 Podcast to give my advice about mobile security. This was the era of the iPhone 5 and Android KitKat. BlackBerry was trying to have (yet another) resurgence and Nokia was desperately trying to keep Windows Phone alive. What advice did I give then, and is it still […]

Continue reading →

Book Review: Yellowface - Rebecca F. Kuang


Book cover. Bright yellow. A pair of almond-shaped eyes peer out.

This is a fucking audacious thriller! I literally stayed up way past my bedtime, tearing through the chapters, gasping out loud. The core of the story is simple - a woman steals her dead friend's manuscript and passes it off as her own. Will she get caught? The hook (for want of a better term) […]

Continue reading →

Book Review: How to Speak Whale - A Voyage Into the Future of Animal Communication by Tom Mustill


Book Cover for How To Speak Whale.

This is an excellent pop-science book. It gently weaves a personal tale (nearly getting crushed by a whale) into the current cutting-edge research of animal communication. It takes in along the way philosophy, geopolitics, and the crushing inevitability of death. At its heart is this question - if modern AI is brilliant at extracting semantic […]

Continue reading →

Social Media Blocking Has Always Been A Lie


Portrait photo of a woman with tape over her mouth. Photo by Katie Tegtmeyer, CC-BY.

What does it mean to block someone on a social media site? Way back in the mists of time, we dealt with trolls on Usenet with the almighty PLONK - PLaced On Newsgroup Killfile. It meant your newsreader never downloaded their posts. They could rant at you all day long, and you'd never hear from […]

Continue reading →