Ghost Writers In The Sky

Everyone on the spaceship was dead. And I can't help wondering if it was my fault. "So, Macy, I understand something funny happened to you while you were filming a scene on your latest movie, right?" The talk-show host is warmly genial and his generous smile hides the dead eyes o … | Continue reading


@shkspr.mobi | 5 hours ago

Theatre Review: Macbeth - with David Tennant and Cush Jumbo ★★★★★

Would you like to spend two hours with David Tennant whispering in your ears? You'd be a fool to say no! The stage is bare, the costumes are monochrome, Pepper's Ghost serves as a backdrop, the audience wears headphones. Is this style over substance? Almost. So let's talk about t … | Continue reading


@shkspr.mobi | 1 day ago

Theatre Review: Immersive 1984 ★★★☆☆

Greetings Comrades! Are you ready to begin your assessment? This immersive reworking of Orwell's 1984 holds so much promise, but the production is so sparse that it ends up feeling a little underwhelming. In theory, everything about this should work. It is set in Hackney Town Hal … | Continue reading


@shkspr.mobi | 2 days ago

An Easy Guide To BlueSky Verification

The new Twitter-Wannabe BlueSky has an interesting approach to verifying accounts. Rather than you sending in your passport, or paying a 3rd party, or bribing an employee - you can self-verify for free! This opens up verification to small organisations, individuals, and anyone wh … | Continue reading


@shkspr.mobi | 3 days ago

2024 - A Year In Review (special mid-life crisis edition)

It's my birthday! Therefore it marks the end of another year of me hurtling around Earth's yellow sun. So, as is customary, here's my year in review. I'm not really sure what happened to the last year. As the philosophers once said, "the years start coming and they don't stop com … | Continue reading


@shkspr.mobi | 4 days ago

The street finds its own use for the Internet of Things

Being the further and various adventures of The Guerrilla Infrastructure Team - a renegade bunch of digital anarchists and freedom fighters who mostly just wish things were slightly better and who would stop at nothing to find convoluted technical solutions to complex social prob … | Continue reading


@shkspr.mobi | 5 days ago

Under Electric Candle Light

It isn't true that Vampires only live in the dark. Yes, we are obligate nocturnal, but we've always been surrounded by artificial light. In fact, we thrive on the pinpricks of illumination that pierce the night. The long shadows of a fire are our hunting grounds, flickering candl … | Continue reading


@shkspr.mobi | 6 days ago

Spelling Errors

The scream of a hundred days drew to a close and silence covered the land. The choir of villagers were delirious with exhaustion. Some of them had been at the chant for a week without sleep in order to draw God ever closer. The last few months had been spent screaming in a foreig … | Continue reading


@shkspr.mobi | 7 days ago

Set your domain name as your handle for a BlueSky bot which is bridged from the Fediverse

If you've found this page, it's because you are me in the future and want to remember these instructions! Create an account on the Fediverse using a domain you control For example @user@bots.example.com Follow the Fediverse-ATProto bridge @bsky.brid.gy@bsky.brid.gy Your account w … | Continue reading


@shkspr.mobi | 8 days ago

Tell me, what did you eat last night?

"The electric tongue says the soup needs more salt." "It got more salt!" Mothers and daughters have been bickering about seasoning ever since the stone age. One person's "too salty!" is another person's "you call that flavour?!" It is amazing kitchen knives are only ever rarely u … | Continue reading


@shkspr.mobi | 9 days ago

When Doves Cry

I spend every day crying for men I've only just met. Way back when, the selling of emotions was a complex affair. My grandmother was a lust seller - although she wouldn't have described herself like that. Bedecked in feathers and fake jewels, she gyrated on celluloid. She's in th … | Continue reading


@shkspr.mobi | 10 days ago

Anyway, the wind blows

Finding the root cause of an incident will always come to a dead-end at some point. We can use various investigatory techniques to ascertain why a part failed or who installed it incorrectly, but that doesn't get to the heart of the systemic failures which led us here today. This … | Continue reading


@shkspr.mobi | 11 days ago

Introducing ActivityBot - the simplest way to build Mastodon Bots

As you may have read, BotsIn.Space is closing down, I have lots of automated bot accounts living on the Fediverse - and I want them to continue posting. Installing and maintaining an entire Mastodon instance sounds like hard work. Paying people to host my stuff feels like putting … | Continue reading


@shkspr.mobi | 12 days ago

Down at the Bottom of the Garden

The AI was getting increasingly stressed. The lights flickered as it failed to retain its calm. "I just need you to watch the video again! Please!" it implored. Navid sighed. This was exasperating. The AI had been a reassuring presence when he first installed it. Now it was scree … | Continue reading


@shkspr.mobi | 13 days ago

Angels and Daemons

A few weeks ago, I was clearing out some ancient backup CDs and floppy disks from my attic when I made a curious discovery. Pressed between a copy of Windows ME and a box-fresh copy of the original Duke Nukem Forever, I found a scratched and decaying Compact Flash cart. It was st … | Continue reading


@shkspr.mobi | 14 days ago

Revenge of the Mutant Algorithms! No Time To Speak

Saint Chibubalah held the unique distinction of being canonised by the Catholic Church before his death. Although it was undoubtedly an unprecedented honour, it was of very little use to him while stuck within the confines of a miserable cell. Technically, it wasn't a dungeon. Th … | Continue reading


@shkspr.mobi | 15 days ago

A simple and free way to post RSS feeds to Threads

Threads is Meta's attempt to disrupt the social media landscape. Whether you care for it or not, there are a lot of users there. And, sometimes, you have to go where the audience is. Here's how I build a really simple PHP tool to post to Threads using their official API. This all … | Continue reading


@shkspr.mobi | 16 days ago

Revenge Of The Mutant Algorithms - The Guerilla Information Team

Throughout November I'll be releasing new weird sci-fi short stories. Each one is a campfire horror yarn, with a technological twist. Your feedback is highly appreciated. Everything you read is possible - there's no magic, just sufficiently advanced technology. Chapter 4 - The Gu … | Continue reading


@shkspr.mobi | 17 days ago

Revenge of the Mutant Algorithms - Universal Soldier Bin

I gently lowered my face into the autoshave. A hundred AI blades started re-sculpting my beard into this month's mandatory fashion. The snug rubber vacuum seal held tight against my skin while the microbots collected the discarded hairs and applied antiseptic to the few areas whe … | Continue reading


@shkspr.mobi | 18 days ago

A Cheap and Lazy way to create Mastodon Bots using… BlueSky?!

With the sad news that BotsIn.Space is closing down, I needed to find a new way to host some of my automated accounts. I didn't want to spin up an entirely new instance, or self-host anything. So here's what I ended up doing. RSS → BlueSky → Bridgy → Mastodon RSS to BlueSky I set … | Continue reading


@shkspr.mobi | 20 days ago

Revenge Of The Mutant Algorithms - The Myth of the Fall of Icarus

Throughout November I'll be releasing new weird sci-fi short stories. Each one is a campfire horror yarn, with a technological twist. Your feedback is highly appreciated. Everything you read is possible - there's no magic, just sufficiently advanced technology. Chapter 2 - The My … | Continue reading


@shkspr.mobi | 20 days ago

Revenge Of The Mutant Algorithms! Are Memories Made Of This?

Throughout November I'll be releasing new weird sci-fi short stories. Each one is a stand-alone story. Think of them as technological campfire horror yarns, each with a little twist. Your feedback is highly appreciated. Everything you read is possible - there's no magic, just suf … | Continue reading


@shkspr.mobi | 21 days ago

Gadget Review: Swivel Based Recliner Lotus XC6/XR6 Chair

People like to send me gadgets to review. My motto is "if it has a USB-C port, I'll review it!" So the good people at Flexispot have sent me a chair with a USB-C port. Fair play! This is the Lotus XR6 Recliner Chair - the electric variant of the XC6. Here's what it looks […] | Continue reading


@shkspr.mobi | 21 days ago

Using phpList for a blog's newsletter

Some people like to receive this blog via email. I previously used JetPack to send out subscriber messages - but it became increasingly clear that Automattic isn't a good steward of such things. I couldn't find any services which would let me send a few thousand subscribers a few … | Continue reading


@shkspr.mobi | 22 days ago

Is this a bug in every Markdown (Extra) parser?

Markdown is, I think it is fair to say, a frustrating "specification". It's origins are a back-of-a-fag-packet document and a buggy Perl script - and we've been dealing with the consequences ever since. There are now multiple Markdown parsers, each with their own idiosyncrasies. … | Continue reading


@shkspr.mobi | 23 days ago

Highly Predictable Interactions

I remember the first time as an adult I ordered a takeaway. I picked up the phone, menu in hand, and prepared to do battle. The person on the other end of the phone didn't speak English, my menu was out of date, they couldn't understand my address, and I didn't have the right mon … | Continue reading


@shkspr.mobi | 24 days ago

Using a CSS cursor to show the external link's favicon

How do you know where this link goes to? If you're on a desktop, you might notice that hovering your mouse over it displays the destination somewhere on your screen. If you're a geek, you could view the source-code of a page. Can we improve the experience for users? Here's an att … | Continue reading


@shkspr.mobi | 25 days ago

Review: The Cheapest USB-C Headphones I Could Find ★★★★★

Ever since phone manufacturers killed off the headphone jack, there has been an epidemic of people blasting sounds from their shitty speakers in public. Music, TikTok, phone calls - it seems some people want the whole world to share their sonic experience. Forget that noise! I ha … | Continue reading


@shkspr.mobi | 26 days ago

Adventures with ultra-cheap ZigBee lightbulbs

The people who built my kitchen were idiots. They designed it to be lit with a dozen recessed GU10 spotlights. That's not so terrible - GU10 LED bulbs are only about £1 each - but because I am a bigger idiot, I decided I wanted remote-controlled bulbs. And ZigBee bulbs are expens … | Continue reading


@shkspr.mobi | 27 days ago

Gadget Review: Lotus XR6 Recliner Chair

People like to send me gadgets to review. My motto is "if it has a USB-C port, I'll review it!" So the good people at Flexispot have sent me a chair with a USB-C port. Fair play! This is the Lotus XR6 Recliner Chair - the electric variant of the XC6. Here's what it looks […] | Continue reading


@shkspr.mobi | 28 days ago

Opening Compact File Set (CFS) files in Linux

I was sent some medical images in a password-protected CFS file. Here's how to open them in Linux. You can't. OK, that's a bit of an exaggeration. It's complex, but here's how to do it. The Linux software for the Compact File Set hasn't been updated in years and only works with a … | Continue reading


@shkspr.mobi | 29 days ago

Theatre Review: Coriolanus at the National Theatre ★★★⯪☆

What is the city but the people? What indeed? David Oyelowo is a powerhouse. His Coriolanus is a shitheel teetering somewhere between Trump and Mugabe. He isn't a noble character with a fatal flaw; his flaws are his character. The citizens celebrate him, turn on him, fear him. It … | Continue reading


@shkspr.mobi | 1 month ago

Movie Review: Humanist Vampire Seeking Consenting Suicidal Person ★★★★★

There are some movies - like Snakes On A Plane - where the title simultaneously tells you the whole plot and compels you to watch it. Similarly, how can you resist something called "Vampire humaniste cherche suicidaire consentant"? Like the darkest of chocolates, the bitterness o … | Continue reading


@shkspr.mobi | 1 month ago

WordPress - Sic Transit Gloria Mundi

Why do so many vastly-wealthy tech personalities go mad? My ideal job involves being employed by a millionaire tech-bro. Just before they get on stage, or moments before they file a lawsuit, or an instant before they publish their thought leadership - I will appear to them. I wil … | Continue reading


@shkspr.mobi | 1 month ago

You can use text-wrap: balance; on icons

A fun little CSS experiment! There's a new(ish) feature in CSS which allows you to set the way text is wrapped. Ordinarily, a long line of text might be split at an inopportune time. For example: This very long headline ends with a single word Having a dangling word doesn't alway … | Continue reading


@shkspr.mobi | 1 month ago

Book Review: The Appeal - Janice Hallett ★★★★★

I was 25% of the way through reading this when I purchased the sequel. It is an utterly compelling murder mystery - not least because the death doesn't occur until well after the halfway point. Who dies? Why? Who did it? Why?! With every paragraph I felt myself trying to decipher … | Continue reading


@shkspr.mobi | 1 month ago

Import JetPack Statistics into Koko

I've quit JetPack stats. I've moved to Koko Analytics. All the stats code is self hosted, it is privacy preserving, and the codebase is small and simple. But I am vain. I want all my old JetPack stats to appear in Koko so I can look back on the glory days of blogging. Koko has [… … | Continue reading


@shkspr.mobi | 1 month ago

Liberate your daily statistics from JetPack

Because Ma.tt continues to burn all of the goodwill built up by WordPress, and JetPack have decided to charge a ridiculous sum for their statistics, I've decided to move to a new stats provider. But I don't want to lose all the statistics I've built up over the years. How do I do … | Continue reading


@shkspr.mobi | 1 month ago

Theatre Review: The Duchess [of Malfi] ★★★★★

After seeing one Doctor Who on stage, it was time for another! I was lucky enough to get preview tickets for Jodie Whittaker in "The Duchess [of Malfi]". The Duchess is… dark. No, darker than than you're imagining. I've seen plays with content warnings. This is the first I've see … | Continue reading


@shkspr.mobi | 1 month ago

Collaborative discussions at an unconference

Unconferences are brilliant. Rather than a set agenda, people come up with their own sessions. A dozen Post-It® Notes are slapped on a wall, everyone writes down what they want to talk about, they're slotted into a grid, and - BAM! - you've got yourself an unconference. At the re … | Continue reading


@shkspr.mobi | 1 month ago

Book Review: 4,000 Weeks - Oliver Burkeman ★★★★★

I think I highlighted something in every chapter of this book. If you live an average lifespan, you'll probably be alive for around 4,000 weeks. I've used up over half of mine. Fuck. This book is a slightly curious mix of the practical and the philosophical. It makes a compelling … | Continue reading


@shkspr.mobi | 1 month ago

Restaurant Review: 123V Vegan Sushi ★★★★★

Have you ever grabbed a little pack of sushi as part of a supermarket meal deal? Some dry and flavourless rice, wrapped in something slimy, tasting overwhelmingly of sadness? 123V is the literal opposite of that. Flavours so enticing that the soy sauce and wasabi almost felt redu … | Continue reading


@shkspr.mobi | 1 month ago

Tending To My Digital Garden

I've written over 3,000 blog posts throughout the years. This blog has become a repository of my thoughts, feelings, experiments, hopes, and creations. It has also become outdated, buggy, and suffers from link-rot. So, every day, I tend to my digital garden. I go in to old posts … | Continue reading


@shkspr.mobi | 1 month ago

How to make Markdown Footnotes start at Zero in WordPress

As a dedicated and professional computer scientician0, I believe that all indices must start at zero. Not one, not two, but zero1. The zeroth2 element is sacrosanct to our creed; for in the beginning there was nothing. If you're using WordPress's JetPack, it uses an ancient versi … | Continue reading


@shkspr.mobi | 1 month ago

Is IPA furigana a bad idea?

My name is Terence(/ˈtɛɹəns) Eden(ˈiːdən/). Modern HTML allows the user to use to annotate text. This is usually used for furigana - which allows pronunciation to be placed above words. For example: "シン・ゴジラ (Shin Godzilla)" shows you how to pronounce both words if you are unfami … | Continue reading


@shkspr.mobi | 1 month ago

DVD Review: Doctor Who and The Planet of The Spiders ★★★★☆

I had never seen Pertwee's final story. So I was overjoyed when an anonymous reader got it for me from my wishlist. It is an utterly bonkers story which nearly makes sense. Let's address the elephant in the room first. The "yellow face" isn't acceptable now and shouldn't have bee … | Continue reading


@shkspr.mobi | 1 month ago

The Cleaner 🆚 Der Tatortreiniger - Series 3

Did you know that Greg Davies' BBC comedy series The Cleaner is a remake of a German comedy series called Der Tatortreiniger? Last year I compared the English episodes to their German counterparts. Only one episode was unique to the UK version - the rest were more-or-less faithfu … | Continue reading


@shkspr.mobi | 1 month ago

Is Android Unicode Yet?

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 wo … | Continue reading


@shkspr.mobi | 1 month ago