Theatre Review: The Mind Mangler ★★★★★

This is a blast from start to finish. I haven't heard such screams of laughter since, well, the last Mischief production I saw! The Mind Manger is a crap magician dealing with his shitty home life, a tosspot stooge, and an audience full of idiots. Naturally, everything that can g … | Continue reading


@shkspr.mobi | 11 hours ago

Gadget Review: KAIWEETS KTI-W01 Thermal Imaging Camera ★★★★⯪

The good folks at Kaiweets have sent me their KTI-W01 Thermal Camera to review. You can use coupon code TEB15 for an exclusive 15% discount. Let's get this unboxed and working! Demo Photos The photos are stored as JPGs which can be read by any normal graphics program. They also c … | Continue reading


@shkspr.mobi | 1 day ago

Book Review - Systems Ultra: Making Sense of Technology in a Complex World by Georgina Voss ★★★⯪☆

Every technology is a transitional technology. This book makes the case that the complexity of modern technology is, well, complex! Systems are designed by so many people that their outputs are an utter mystery to anyone - even those deeply enmeshed within them. It is somewhat sc … | Continue reading


@shkspr.mobi | 2 days ago

Review: WAVLINK DisplayLink - Dual HDMI/DisplayPort adapter ★★☆☆☆

The good folk at WAVLINK have sent me their Dual-Screen USB-C adapter to review. Plug it in to a USB-C socket and you now have two extra monitor ports. It'll even work on a USB-A socket, if it is USB 3.0. But is it any good? No. Not really. Hardware It's a fairly chunky hub, […] | Continue reading


@shkspr.mobi | 3 days ago

Software I Miss from Earlier Versions of Android

My love of Android waxes and wanes according to how much the software feels like it is fighting me. On a good day, I can flash the OS and install whatever apps I want. On a bad day, I can't remove bloatware and I'm forbidden from changing the internals. I started using the latest … | Continue reading


@shkspr.mobi | 4 days ago

Theatre Review: The Divine Mrs S ★★★★★

An outstanding and joyous show. Through Rachael Stirling we catch a glimpse of Sarah Siddons - the acclaimed 18th/19th century actress. Stirling - and the entire cast - are exceptional. They transport us backstage with a dazzling array of characters. Every single actor gets a sce … | Continue reading


@shkspr.mobi | 5 days ago

Where you can (and can't) use Emoji in PHP

I was noodling around in PHP the other day and discovered that this works: | Continue reading


@shkspr.mobi | 6 days ago

Toilet Review! Better Bathrooms Smart Toilet Seat ★★★★⯪

I want to make one thing **very** clear. Despite my propensity for IoT gadgetry, I did not connect my toilet to the Internet! It's 2024. Why are you still scraping your arsehole with paper like some kind of 20th century throwback? A decade ago, I got a cheap bidet attachment. It … | Continue reading


@shkspr.mobi | 7 days ago

Server-Side Rendering of Embedded Markdown Code Snippets in WordPress

Because I'm a grumpy old man, I don't use Gutenberg or Block themes on my WordPress. Instead, I write everything in Markdown. When I write code snippets in Markdown, they look like this: ```php $a = 1; echo $a; if ($a < 5) { // Do Something return thing( $a, true ); } ``` But […] | Continue reading


@shkspr.mobi | 8 days ago

I can't use my number pad for 2FA codes

This has to be the most infuriating bug report I've ever submitted. I went to type in my 2FA code on a website - but no numbers appeared on screen. Obviously, I was an idiot and had forgotten to press the NumLock button. D'oh! I toggled it on and typed again. No numbers appeared. … | Continue reading


@shkspr.mobi | 9 days ago

Book Review: The End of Mr. Y - Scarlett Thomas ★★★★⯪

Oooh! This is an interesting slice of philosophical fiction. On the surface, it is a fairly standard story about a mysterious Victorian book which contains dark secrets and has since been lost to history. You probably know how it goes; our fearless heroine finds a long-lost copy, … | Continue reading


@shkspr.mobi | 10 days ago

Hardware I miss from my old Android phones

I've been using Android since before it was released in the UK. When I was working at Vodafone, I got a pre-release HTC device with an early version of Android on it. I've been pretty much in the Android ecosystem ever since. Recently, I treated myself to an upgrade - a Pixel 8 P … | Continue reading


@shkspr.mobi | 11 days ago

Use CSS to boost the font size of emoji with no extra markup

I want to make emoji bigger than the text that surrounds them. At my age and eyesight, it can be difficult to tell the difference between 😃, 😄, and 😊 when they are as small as the text. Is there a way to use CSS to increase the font size of specific charac … | Continue reading


@shkspr.mobi | 12 days ago

Movie Review: The Holdovers ★⯪☆☆☆

You can safely skip the first 45 minutes of this movie. It's the most clichéd Dead Poets / Breakfast Club nonsense I've seen in quite some time. As for the rest? Well… it is shot on film with a unusual aspect ratio. So, you know, that's cool... There's also lots of ✨acting✨ and q … | Continue reading


@shkspr.mobi | 13 days ago

Review: ACS ACR1251T-E2 USB Token NFC Reader II ★★★★☆

Recap - I want to build an NFC reader expansion card for the FrameWork laptop. So I've bought a couple of components. This is the ACR1251T-E2 - it's a USB pen-drive sized NFC reader with a side-out USB-A plug. Costs about £40. There's a recessed green LED which flashes to let you … | Continue reading


@shkspr.mobi | 14 days ago

Review: ACM1252U-Z2 NFC Reader Board ★★★★★

Recap - I want to build an NFC reader expansion card for the FrameWork laptop. So I've bought a couple of components. This is the ACM1252U-Z2 and Oh! It is a dinky little component! The only sign that it is working is a flashing green LED. There's no buzzer on the board. It reall … | Continue reading


@shkspr.mobi | 15 days ago

Why do Doctor Who companions leave?

If you got the chance to travel in time and space, with an immortal alien, and got to rescue the universe again and again - would you ever give up that life? Would you be content to go from unravelling the mysteries of the universe and fighting DALEKs to, I don't know, marrying a … | Continue reading


@shkspr.mobi | 16 days ago

Lazy way to cause SHA-256 collisions for lazy evaluators

Humans are lazy. That's why we have computers; to do the boring work for us. I recently downloaded a file. The website said the file should have a SHA-256 hash of: ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb So I ran sha256 filename on my machine. And then la … | Continue reading


@shkspr.mobi | 17 days ago

Theatre Review: Instructions for a Teenage Armageddon ★★★★★

There are lots of one-man plays. There are a decent number of one-woman shows. Where are the one-girl stories? This is Rosie Day's attempt to fix that imbalance. The plot isn't particularly original (it is hard being a teenage girl!!!) but the way the story unfolds is magical. It … | Continue reading


@shkspr.mobi | 18 days ago

The Fediverse of Things

One of the most frustrating things in modern technology is the effort spent trying to artificially restrict abundance. Take, for example, this tale from museum-worker Aaron Cope: I was out with a friend who worked for Twitter and I asked them whether it would be possible for the … | Continue reading


@shkspr.mobi | 19 days ago

Fixing broken suspend on Pop_OS

My Linux laptop used to suspend perfectly. I'd close the lid and it would go to sleep. Open it up, it would spring to life - presenting me with a password screen. But, some time in the last few months, it has stopped doing that. If I close the lid, it keeps running. This is […] | Continue reading


@shkspr.mobi | 20 days ago

Inconsistency is a feature, not a bug

Some of my best friends are designers. But I think we can all agree that - however well-meaning - they can be a little obsessive. Whether it is fretting over tiny details, or trying to align to a grid which doesn't exist, or spending time removing useful affordances in the name o … | Continue reading


@shkspr.mobi | 21 days ago

Theatre Review: Buffy Revamped ★★★★★

The great thing about getting older is that the popular culture of your youth is repackaged and sold back to you with increasing urgency. Yes, I want that Lego set I couldn't afford as a kid. Why, of course I want to watch a reboot of Frasier! Another few Ghostbusters movies? I'm … | Continue reading


@shkspr.mobi | 22 days ago

Beat Saber is gaming without the bullshit ★★★★★

Several years ago, at the start of the pandemic, I tried using Nintendo's Ring Fit as an exercise method. It didn't last long. I felt I was spending too much time earning in-game currency, making choices on what to spend it on, crafting, managing inventory, choosing power-ups, an … | Continue reading


@shkspr.mobi | 23 days ago

3,000 blog posts!

This is the 3,000th blog post I've published on this site! Bloody hell! I first started a blog on Blogger.com in 2004 - twenty years ago. Like all blogs, I managed half a dozen posts before I forgot about it. Cut to 2007 and I decided to launch shkspr.mobi as a weird site dedicat … | Continue reading


@shkspr.mobi | 24 days ago

Book Review: How Big Things Get Done - Lessons From the World's Top Project Manager by Bent Flyvbjerg, Dan Gardner ★★★★⯪

Infrastructure is impossible. You have to wrangle thousands of people over dozens of months, with a budget of millions, to deliver something made of hundreds of plans, which has to fit seamlessly into the world. How does any infrastructure get built? It mostly doesn't. This is th … | Continue reading


@shkspr.mobi | 25 days ago

What isn't realtime?

There are a few heartstopping moments when you have to transfer a Very Large Amount of Money. Will the bank deny the transaction? Will I have to remember my mother's cousin's dog's maiden name? Will the money arrive safely? I clicked the "Transfer Your Life Savings" button on the … | Continue reading


@shkspr.mobi | 26 days ago

Thoughts on building an NFC reader for the Framework laptop

The Framework laptop has several little slots which can be used be used to expand the functionality of the laptop. They convert the internal USB-C ports into a different sort of port. For example, Framework sells an official HDMI card and Ethernet card: But the community have bui … | Continue reading


@shkspr.mobi | 27 days ago

Viewing my CT Scan in 3D using Linux

Several years ago, I had a CT scan of my jaw. The dentist wasn't sure if she was allowed to give me a copy of the scan, which led me to ask "who owns the copyright to my medical images?" I still don't have an answer to the copyright question - but I do now […] | Continue reading


@shkspr.mobi | 28 days ago

Book Review: The Terraformers - Annalee Newitz ★★★⯪☆

This is a fascinating story told on an almost geological timescale. It is a tantalisingly glimpse, into a much larger world. It is a story of contradiction - there's an epic universe, but we're stuck in a parochial backwater. It is full of un-human creations - yet its politics ar … | Continue reading


@shkspr.mobi | 29 days ago

Fifteen MegaWatt Hours from Sunshine - Four Years with Solar Panels in London

Just as the UK was entering the first COVID19 lockdown, we got solar panels installed on our roof. Four years later and our generation meter shows they have produced 15,480kWh of electricity. That's a rather impressive 3,870kWh per year. This is what the average UK household uses … | Continue reading


@shkspr.mobi | 1 month ago

Receive push notifications from your rice cooker

I have a lovely, and reasonably priced, Mini Panda Rice Cooker. It does not have any SmartHome features. You put in water and rice, press a button, it cooks rice. Nice! The only problem is - I don't know how long the rice will take to cook. It uses "Fuzzy Logic" to work out exact … | Continue reading


@shkspr.mobi | 1 month ago

Restaurant Review: No Catch - Vegan Fish and Chips ★★★★⯪

There's nothing finer to do in Brighton than walk along the promenade eating a wodge of chips the size of your face. But it was raining, so we sat inside and ate all the chips instead. This is Brighton's 100% vegan chippie. As well as big fluffy chips, battered (veggie) sausage, … | Continue reading


@shkspr.mobi | 1 month ago

There's nothing you can do to prevent a SIM-swap attack

It is tempting to think that users are to blame for their own misfortune. If only they'd had a stronger password! If only they didn't re-use credentials! If only they had perfect OpSec! If only...! Yes, users should probably take better care of their digital credentials and bury … | Continue reading


@shkspr.mobi | 1 month ago

A personal WordPress MonoRepo for my themes and plugins

I use a self-built WordPress theme for this blog. I also use a variety of self-developed WordPress plugins for various enhancements. I used to publish these plugins, but I get terribly confused by the SVN shenanigans involved, and they weren't used by many people, so I stopped. R … | Continue reading


@shkspr.mobi | 1 month ago

Solved! "Access Point Name settings are not available for this user"

Android's user-hostile interface never fails to disappoint! I was struggling to get a new eSIM working. I could make and receive calls / texts, but data just wasn't connecting. I tried rebooting, flipping to aeroplane mode, changing bearer, manually selecting the network. Nothing … | Continue reading


@shkspr.mobi | 1 month ago

Caboom! Comment Anywhere, Bring Onto Own Media

In the IndieWeb movement there's a concept of "POSSE" - Publish Once, Simultaneously Syndicate Elsewhere. You should publish your words, pictures, songs, reviews on your own site. And then you can choose to share them out to where your audience is. Perhaps that's posting the link … | Continue reading


@shkspr.mobi | 1 month ago

What the UK Government gets wrong about QR codes

One of my most memorable experiences in the Civil Service1 was discussing link shortening services with a very friendly2 person from the Foreign and Commonwealth Office. I was trying to explain why link shortners like bit.ly and ow.ly weren't sensible for Government use. They did … | Continue reading


@shkspr.mobi | 1 month ago

The tooth, the whole tooth, and nothing but the tooth

You know that ice-breaker game "Two Truths And A Lie"? When I'm forced into some mandatory office fun, I always say... I've sat in the seat of a space shuttle. I still have two of my baby teeth. I used to be a voice-over artist. Well, one of those truths is about to come crashing … | Continue reading


@shkspr.mobi | 1 month ago

Theatre Review: Murder Trial Tonight II - Aldwych Theatre ★★☆☆☆

Overwrought melodrama in London's most uncomfortable theatre. This show has been done countless times before. You, the audience, watch extracts from a murder trial. At the end, you vote on whether she done it or not. It feels more suited to a Channel 5 show which asks punters to … | Continue reading


@shkspr.mobi | 1 month ago

.well-known/avatar

Hot on the heels of a post I wrote 4 years ago, wouldn't it be useful to have a well-known URl for user avatar images? When I sign up to a web service, I don't want to faff around uploading an image to use as my avatar. I want that service to look at my […] | Continue reading


@shkspr.mobi | 1 month ago

Review: Ross Noble's Jibber Jabber Jamboree ★★★★★

"This is a show which rewards punctuality!" Thus spake Ross - they only comedian I know of who can successfully heckle his own audience, chastise himself for doing so, go on a twenty-minute segue about cancer-sniffing dogs, and then return (more-or-less) to where he started. It i … | Continue reading


@shkspr.mobi | 1 month ago

How updates work in ActivityPub / Mastodon

I didn't realise this, so I'm documenting it to stop other people making the same silly mistake that I did. Messages in ActivityPub have two distinct ID strings. Here's a (truncated) view of what happens when I send a new message on Mastodon: "id": "https://mastodon.social/users/ … | Continue reading


@shkspr.mobi | 1 month ago

I made a mistake in verifying HTTP Message Signatures

It's never great to find out you're wrong, but that's how learning and personal growth happens. HTTP Message Signatures are hard1. There are lots of complex parts and getting any aspect wrong means certain death2. In a previous post, I wrote A simple(ish) guide to verifying HTTP … | Continue reading


@shkspr.mobi | 1 month ago

Notes on installing GrapheneOS on a Pixel 8 Pro - some bugs & oddities

These are notes to myself - and anyone else who finds them useful. Before starting, I booted the Google OS to install the latest firmware and an eSIM. After a few days of enduring Google's naggy software, I was ready to commit to installing something better. I tried using the Web … | Continue reading


@shkspr.mobi | 1 month ago

Movie Review: Poor Things ★★★★★

Yes. Every single frame of this movie is a delight - even the closing titles. It is an explosion of outrageous colour, extravagant lenses, and delirious shots. Like an Escher woodcut electrified into life. I adored director Yorgos Lanthimos' earlier film The Lobster - this feel a … | Continue reading


@shkspr.mobi | 1 month ago

Can you trust ProtonApps.com?

I've recently signed up to the privacy-preserving service Proton. All the email, calendar, drive, VPN, and other services seem to hang off the proton.me domain. I wanted to download the Android apps to my phone - without using the Google Play Store. The VPN app is on F-Droid but … | Continue reading


@shkspr.mobi | 1 month ago

OpenBenches on the Volunteer Technologist Podcast

I was delighted to be interviewed by the Volunteer Technologist podcast about our OpenBenches project. Huge thanks to Gene Liverman for having me on. It is available, as they say, wherever you get your podcasts. | Continue reading


@shkspr.mobi | 1 month ago