Pushing The Button


Pop up notification saying the NHS covid app is shutting down.

This is a retropost. Written contemporaneously in 2020, but published four years after the events. It's May 2020 as I write this. I'm typing to capture the moment. Right now, I've no idea what the impact is. This is the exact moment, on Thursday May 7th, I hit the Big Red Button - three of them! - to open source the UK's COVID-19 Beta test app. https://shkspr.mobi/blog/wp-content/uploads/2020/05/Open-Source-NHSX.mp4 It was thrilling and terrifying. We'd spent the last few weeks getting…

Continue reading →

Inside the Plume SuperPods


Industrial metallic fins.

I few years ago, Virgin Media sent me their "Intelligent WiFi Plus Pods". They're part of a mesh network which is meant to improve WiFi coverage around your house. They were basically fine, but they are hardcoded to your Virgin Media service so can't be used for anything else. I eventually swapped to a different router and they became useless. Virgin refuse to collect them (despite repeatedly promising to) so I decided to crack one open. I was hoping there would be a reset pin or something in …

Continue reading →

Book Review: The Glass Hotel - Emily St. John Mandel


Book cover for the glass hotel.

This book didn't really resonate with me. I enjoyed both Station Eleven and Sea of Tranquillity, so I think I was expecting something in a similar vein. Instead of ethereal sci-fi, this is a tangled tale which feels like a mish-mash of half a dozen movies. The central premise of a Ponzi scheme which warps the lives of those around it - which leads to a jumbled cast of characters, none of whom really get a chance to be fleshed out. The pivotal mystery at the start of the novel is resolved in…

Continue reading →

Theatre Review: Pippin - 50th Anniversary Concert


The cast of Pippin.

This has to be the campest, most ludicrously sequinned, joyous shows I've seen in quite some time. I knew nothing about Pippin, but my dad saw it back in the 1970s and loved it - so I snagged us a couple of tickets. The story itself is fun enough; an over-privileged princeling goes off to find his purpose and finds himself waylaid by vices, murders, and ducks. It's a silly, wry, and self-knowing show. More like Into The Woods than anything else. As this was an "in concert" production, I was …

Continue reading →

Bank scammers using genuine push notifications to trick their victims


`In app popup. "Are you on the phone with Chase? We need to check it's you on the phone to us. Let us know it's you and enter your passcode on the next screen. @ Not you? Your details are safe. Just tap 'No, it's not me' and we'll end the call."`

You receive a call on your phone. The polite call centre worker on the line asks for you by name, and gives the name of your bank. They say they're calling from your bank's fraud department. "Yeah, right!" You think. Obvious scam, isn't it? You tell the caller to do unmentionable things to a goat. They sigh. "I can assure you I'm calling from Chase bank. I understand you're sceptical. I'll send a push notification through the app so you can see this is a genuine call." Your phone buzzes.…

Continue reading →


While attending IndieWebCamp in Brighton a few weeks ago, a bunch of us were talking about blogging. What is post? What should it contain? What's optional? Someone (probably Jeremy Keith said: A blog post doesn't need a title. In a literal sense, he was wrong. The HTML specification makes it clear that the <title> element is mandatory. All documents have title. But, in a practical sense, he was right. This blog post has an empty <h1> element - the document might be semantically invalid,…

Continue reading →

WordPress GeSHi Highlighting for Markdown


The PHP logo.

I've launched a WordPress Plugin for an extremely niche use-case. WP GeSHi Highlight Redux works with WordPress's Classic Editor to convert Markdown to syntax highlighted code. That allows me to write: ```php $a = "Hello"; $b = 5 * 2; echo $a . str($b); ``` And have it displayed as: $a = "Hello"; $b = 5 * 2; echo $a . str($b); I've previously written about the WP GeSHi Highlight plugin. My plugin is a fork of that. It has the following changes: RSS & Atom feeds - disable code…

Continue reading →