This is beloved firebrand Cory doing what he does best. Rallying the rebellion with righteous indignation and a no-nonsense approach to fixing technology's ills. If you've read any of his fiction, or listened to him talk, you'll know what to expect. An overview of how big tech has screwed us over and the consequences of those machinations. Unlike other writers, Doctorow provides eminently…
Continue reading →
You can now have this blog federated to your social media site by following @blog@shkspr.mobi If you're on Mastodon, it should look something like this: You should be able to follow it on Lemmy, kBin, PixelFed, and some cool social network I've never heard of. How This blog runs on WordPress. Thanks to the tireless work of Matthias Pfefferle, there's now an official WordPress ActivityPub…
Continue reading →
The Selenium WebDriver is a brilliant way to programmatically interact with websites. You can write little Python scripts which can click around inside browser windows and do "stuff". I use it to download a file generated by a Javascript Blob and automatically save it to disk. Here's how. Set up the WebDriver After you've installed Selenium and the Chrome WebDriver, this is the standard…
Continue reading →
People can subscribe to receive my blog via email. This is managed by the JetPack plugin. I want to be able to display something like "Join 1,234 subscribers and receive updates via email". So, how do I get the subscriber count from the API? As documented in the JetPack HTTP API, it is possible to interact with JetPack programmatically. A good starting point is /wp-json/ - that will show you…
Continue reading →
I recently came across a post about "The Energy Bill 2023 and the Fusion of Technology and Law - We are going to be governed under 'Law 3.0', and we won't like it one little bit". It is a superficial look at the "horrors" of being governed by technical measures. It starts off reasonably enough by describing the evolution of our legal system: Law 1.0 says "Thou shalt not kill". Law 2.0 says…
Continue reading →
Yesterday I was on a train. I clicked on a link and my browser loaded a long article for me to read. Halfway through reading it, the train went into a tunnel and I lost signal. That meant I couldn't see the images on the other half of the page for the rest of the journey. I had a sea of broken images. Even though the page had fully loaded, the images were set to "lazy" loading. When my…
Continue reading →
A few years ago, I got rid of all my paper books and switched exclusively to eBooks. Whenever I tell bibliophiles this, they usually shriek in horror. What about the smell of books?!!? What about showing off your bookcases to impress people!?!? What about your signed first editions!??!?! But the other day I had someone scoff at me and say "Good luck reading when civilisation collapses! I'll…
Continue reading →
Hello! Thank you for reading what I write. Sorry to ask, but… who are you? I was chatting to a friend about what it is like running a blog, finding new topics, keeping up with a daily schedule, moderating comments, etc. And they asked, quite reasonably, "who are your readers?" And, honestly, I have very little idea! The only analytics I have on here is basic WordPress JetPack statistics. I can s…
Continue reading →
I bloody hate this cartoon that's doing the rounds (I think it's by the incredibly talented Len in Private Eye). Here's what I want the caption to say: OK, one more time: Get here at least 30 minutes early because the queue barely moves and you'll inevitably be stuck behind someone trying to pay for their season ticket using pre-decimal coins. The person behind the counter either won't…
Continue reading →
I mentioned in my previous weeknotes that a change was coming. I've left the Civil Service. I've started my new consultancy. And now... I've got a new job! A previous regeneration saw me catapulted into the world of health tech at NHSX. Then another saw me go to data. Then over to cyber. And now… Just like an unexpected David Tennant coming back for a few episodes, I'm coming back to health a…
Continue reading →
Last night I received a call from my bank. They'd detected an unusual transaction and wanted to make sure that it was legitimate. Had I recently purchased £10,000 worth of crypto in the Maldives? What?!!? No! ARGH! I started to panic. All my apes money gone! No. Wait. The other thing. I knew it was a scam from the moment "James from your bank's fraud team" started his patter. You see, I have …
Continue reading →
Let's say you want to automatically delete specific sorts of comments from your WordPress blog. For example, immediately trashing any comment that has a specific phrase "Elephant Juice" in it. You can do this by going to Settings -> Discussion → Disallowed Comment Keys. Or you can add something to your theme's functions.php file. Here's the code snippet: add_action( 'comment_post', '…
Continue reading →