Remove unnecessary closing slash on get_the_post_thumbnail() in WordPress


The HTML validator showing lots of info messages.

I am a pedant. I like it when validators say "nothing to report". No errors, no warnings, no information messages. My blog is plagued with messages on the HTML validator saying Info: Trailing slash on void elements has no effect and interacts badly with unquoted attribute values. By default, the WordPress function get_the_post_thumbnail() spits out […]

Continue reading →

Walkie Talkie Review (ZX-808)


Small blue radio in hand.

I am easily influenced. At EMF Camp, I saw my friends Skylar and Cameron using some nifty walkie-talkies out in the field. Skye (patiently) explained to me the joys of PMR446 and - because I was quite drunk I hastily bought some radios on Amazon. Hey, they were on special - £30 for a pair! […]

Continue reading →

Book Review: Ithaca - Claire North


Book cover. The Greek queen Penelope weaves.

I'm an absolute sucker for Claire North's books. She has an almost supernatural ability to weave an intricate yet satisfying tale, all while leaving the reader hungry for more. Ithaca presents a God's-eye-view of the story of Penelope. It's a fast, furious, and feminist story which plunges us straight into the middle of the Greek […]

Continue reading →

Cybersecurity and Shakespeare - a brief look at how technology can prevent tragedy


A pixelated Shakespeare.

Shakespeare, famously, shunned computers. Like some sort of retro hipster, he didn't write his plays on a laptop, refused to use spellcheck, and didn't register his copyright on the blockchain. Lord, what fools these mortals be! What would Shakespeare's plays have been like if their characters understood basic cybersecurity? Now, it is true that very […]

Continue reading →

Named Alternates for WordPress


Screenshot of Lynx, the text browser, showing named alternates.

HTML documents have the concept of an alternate representation of the document. For example, a page's header might say: <link rel="alternate" type="application/rss+xml" href="https://shkspr.mobi/blog/feed"> That tells you there's an alternative representation of the page, what sort of content it is, and where it is located. That's nice. But it's hard for a browser to tell the […]

Continue reading →

Why is it so hard to chat to people nearby?


Pile of Lego minifig heads each with a different expression. Image by Andrzej Rembowski from Pixabay.

I recently went up to a conference in a city I'd never visited before. As I was sat on the train up, I wondered if any of the other passengers were also going to the conference. It's a bit socially awkward and creepy to go up to a bunch of strangers and interrogate them about […]

Continue reading →

Book Review: The Pursuit of Purpose - Ken Banks


Book cover - a cabin surrounded by snow covered trees.

I've bumped in to Ken Banks a few times over my career - and he has always been a kind, inspiring, and dedicated chap. How did he get that way? This book is part autobiography and part an explanation about how people can find purpose in life. It is refreshingly secular on the latter, and […]

Continue reading →

LLMs are good for coding because your documentation is shit


A pet cat typing on a computer keyboard.

That's it. That's the post. Fine! I'll expand a little more. Large Language Models are a type of Artificial Intelligence. They can read text, parse it, process it using the known rules of English, and then regurgitate parts of it on demand. This means they can read and parse a question like "In Python, how […]

Continue reading →

Disable JavaScript on Specific Sites using Firefox for Android and uBlock Origin


The my rules sub-page.

Sometimes, you want to stop scripts running only on specific domains. The best way to do that, I think, is with uBlock Origin - a free and fast ad-blocker. On the desktop version, it's simple to block scripts. Click the plugin icon, then click the disable scripts button. But on mobile it's a little more […]

Continue reading →

DMCA as a vector for pornographic spam?


To: Webmaster of https://shkspr.mobi/, Google has been notified, according to the terms of the Digital Millennium Copyright Act (DMCA), that some of the material found on your site allegedly infringes upon the copyrights of others. We’re in the process of removing the allegedly unlawful materials from Google Search results. The notice that we received, with any personally identifying information removed, may be found on the website of Lumen, a third-party aggregator of legal complaint notices, at https://lumendatabase.org/notices/42788513.

There's a law in the USA called the DMCA - Digital Millennium Copyright Act. Amongst its myriad provisions is the ability for copyright holders to send takedown notices to service providers. If someone has ripped off your content, you can send them a legal letter saying "take that down". People often send DMCA requests to […]

Continue reading →