That's Not How A SIM Swap Attack Works


A padlock engraved into a circuit board.

There's a disturbing article in The Guardian about a person who was on the receiving end of a successful cybersecurity attack. EE texted to say they had processed my sim activation request, and the new sim would be active in 24 hours. I was told to contact them if I hadn’t requested this. I hadn’t, so I did so immediately. Twenty-four hours later, my mobile stopped working and money was withdrawn from my bank account. With their alien sim, the ­fraudster infiltrated my handset and stole deta…

Continue reading →

Gadget Review: Benfei SATA to USB-C Drive Enclosure


Plastic box with a SATA connector.

The good folks at Benfei know that I'm always losing my USB Thumb Drives. They're just too damn small. I crave something bigger and harder to lose. Not as huge as a CD Drive, but not as small as a MiniDisc. Something chunky and satisfying, with a slim elegance. So they've sent me their SATA to USB-C drive enclosure. It's a cute little box, with a built-in USB-C cable. The cable has one of those weird adapters which lets you convert it back to USB-A. Personally, I think we should force…

Continue reading →

Gadget Review: Benfei USB-C to Ethernet Adapter


A USB-C to Ethernet converter.

Sure, WiFi is basically fine. But sometimes you need the raw power, high speed, and utter reliability of Ethernet. Billions of packets hurtling down twisted copper pair in order to deliver your data - that's what it is all about, right? But - alas! - laptops don't have Ethernet ports these days. And mobile phones tend to shun them as well. Who can save us from the tyranny of multi-GigaHertz radiowaves?! The good folk at Benfei have sent me their latest gadget and, somehow, I need to make 300…

Continue reading →

You don't need an API key to archive Twitter Data


The Twitter logo.

Apparently there's no need for IP laws any more, so here's a way to archive high-fidelity Twitter data without signing up for an expensive API key. This is perfect for academics wishing to preserve Tweets, journalists wanting to download evidence, or simply embedding content without leaking user data back to Twitter. Table of Contentstl;drBackgroundEmbed CodeAPI CallOptionsOutputTweet With ImageRepliesQuote TweetsDownloading MediaOther ExamplesLimitationsPython CodeHave Fun tl;dr You can…

Continue reading →

Book Review: Great Robots of History by Tim Major


Pygmalion kissing a statue who has been brought to life.

This is a lovely and twisted anthology of stories. Each presents a "historic" robot - be they an automaton, a puppet given life by the gods, or a resurrected villager. Some, like the Mechanical Turk, are historical fact but others are invented just for us to gawk at. The stories are mostly dark and brooding, with the macabre turn. They're fun - but the constant theme is "what if I, an intelligent person, got trapped in the brain of a dullard?" Robots who are self-aware of their limitations…

Continue reading →

Gadget Review: Benfei Laptop Riser with Built-In USB-C Dock


A metal laptop stand with USB ports built in.

The good folks at Benfei have sent me a laptop stand to review. You know the drill, a few pieces of metal, some hinges, and rubber feet. But this stand holds a little more interest for the gadget lover - a built in USB-C hub! What do you get for your £35? USB-C power input - capable of taking 100W of PowerDelivery. A built-in USB-C cable to connect to your laptop. HDMI port which supports 4k @ 60Hz. Four USB-A ports. And that's it! There isn't any DisplayPort, no Ethernet, no sound, no …

Continue reading →

FobCam '25 - All my MFA tokens on one page


A padlock engraved into a circuit board.

Some ideas are timeless. Back in 2004, an anonymous genius set up "FobCam". Tired of having to carry around an RSA SecurID token everywhere, our hero simply left the fob at home with an early webcam pointing at it. And then left the page open for all to see. Security expert Bruce Schneier approved of this trade-off between security and usability - saying what we're all thinking: Here’s a guy who has a webcam pointing at his SecurID token, so he doesn’t have to remember to carry it around. He…

Continue reading →

Book Review: How to Live Safely in a Science Fictional Universe by Charles Yu


Book cover with multi-colour ray guns.

There's a fine line between genius and madness - and I'm not sure where this book lies. It dives right in with some splendid technobabble: The base model TM-31 runs on state-of-the-art chronodiegetical technology: a six-cylinder grammar drive built on a quad-core physics engine, which features an applied temporalinguistics architecture allowing for free-form navigation within a rendered environment, such as, for instance, a story space and, in particular, a science fictional universe. Come…

Continue reading →

Book Review: Fabulosa! - The Story of Polari, Britain's Secret Gay Language by Paul Baker


Book cover in shocking pink, featuring men in drag dressed as a queen, a nun, and bicycle leathers.

This is a gem of a book. The language of Polari was used extensively in the gay community during the early 20th century. A way to speak without being overheard, using a mixture of rhyming slang, underworld cant, and loanwords. While Julian and his friend Sandy dominate the story - being one of the only mass-broadcast records of the language - the book dives in to the hidden history of its origins, how it developed, and what happened to it. Written by a professor with an excellent ability to…

Continue reading →

An opinionated HTML Serializer for PHP 8.4


The HTML5 Logo.

A few days ago, I wrote a shitty pretty-printer for PHP 8.4's new Dom\HTMLDocument class. I've since re-written it to be faster and more stylistically correct. It turns this: <html lang="en-GB"><head><title id="something">Test</title></head><body><h1 class="top upper">Testing</h1><main><p>Some <em>HTML</em> and an <img src="example.png" alt="Alternate Text"></p>Text not in an element<ol><li>List</li><li>Another list</li></ol></main></body></html> Into this: <!doctype html> <html…

Continue reading →

Pretty Print HTML using PHP 8.4's new HTML DOM


The PHP logo.

Those whom the gods would send mad, they first teach recursion. PHP 8.4 introduces a new Dom\HTMLDocument class it is a modern HTML5 replacement for the ageing XHTML based DOMDocument. You can read more about how it works - the short version is that it reads and correctly sanitises HTML and turns it into a nested object. Hurrah! The one thing it doesn't do is pretty-printing. When you call $dom->saveHTML() it will output something like: <html…

Continue reading →

Gadget Review: Windfall Energy Saving Plug (Beta)


A small smartplug with a glowing red power symbol.

The good folks at Windfall Energy have sent me one of their interesting new plugs to beta test. OK, an Internet connected smart plug. What's so interesting about that? Our Windfall Plug turns on at the optimal times in the middle of the night to charge and power your devices with green energy. Ah! Now that is interesting. The proposition is brilliantly simple: Connect the smart-plug to your WiFi. Plug your bike / laptop / space heater into the smart-plug. When electricity is cleanest,…

Continue reading →