After watching the BBC comedy series The Cleaner staring Greg Davies, I was surprised to learn that it was actually a remake of a German comedy series called Der Tatortreiniger. I don't think I've ever seen a German sitcom before, so I found the US DVDs (which is the only way to watch it with English subtitles) and gave it a go. It is fantastisch! It veers between farce, satire, and slapstick effortlessly. Just the right amount of witty and grotesque. I thoroughly enjoyed having my schoolboy…
Continue reading →
What if the heroine in a Jane Austen novel had visions of the future and the past? That's the rather compelling premise of Time Squared. But, ultimately, it doesn't really fulfil the promise. It starts as a fairly standard regency-style novel - which of the two dashing brothers will our orphaned heroine marry?!? Our protagonist sometimes has headaches which lead her to see glimpses of a future she cannot understand. And then... nothing. The story meanders along with the occasional twists and …
Continue reading →
It's one of those pithy little quotes which reveals so much about our two cultures. The average Briton considers anything more than a 45 minute trip a bit of a schelp, whereas Americans will seemingly drive half a day just to get some ribs from that one place they like. Conversely, I went to school opposite a church which pre-dated Columbus's invasion of North America - and I doubt that was the oldest church in the town! But who said it first? Oh, there are a variety of sites online which…
Continue reading →
In web-development circles, it is a well-known fact that trying to validate an email using a regular expression is… complex. The full set of modern email standards allows for such wonderful addresses as: chief.o'brien+ds9@spásárthach.भारत So determining whether or not your user has entered a valid email address becomes an ever-increasing challenge. But what if you have the opposite issue? Suppose you have a form which takes something which mustn't be an email address? For example - imagine y…
Continue reading →
I wrote a moderately popular post on Mastodon. Lots of people shared it. Is it possible to find out how many different ActivityPub servers it went to? Yes! As we all know, the Fediverse is one big chain mail. I don't mean that in a derogatory way. When I write a post, it appears on my server (called an "instance" in Mastodon-speak). Everyone on my instance can see my post. My instance looks at all my followers - some of whom are on completely different instances - and sends my post to…
Continue reading →
When I was seven or eight, I asked Santa to bring me a set of screwdrivers for Christmas. I wanted to take apart my toys to see how they worked. I also thought they might be useful on our upcoming holiday; if the aeroplane needed repairing mid-flight I'd be able to help! Santa heard my plea and delivered a set of screwdrivers. I used them for years. A few decades later and they're still in use - in fact, they're used a little too often. For years I resisted the idea of an electric…
Continue reading →
Everyone smokes in the future. It is such an obvious truism that sci-fi writers can predict faster-than-light travel, yet fail to see that manly men won't be smoking pipes on board their spaceships. Someone recommended that I read "Autofac" which is the sci-fi version of "The Magic Porridge Pot". But the story was surprisingly hard to find. Originally published in a magazine in 1955, it was subsequently republished in a collection called "The Variable Man" in 1957. It is impossible to find a …
Continue reading →
I was saddened to hear of Kris Nóva's untimely death a few weeks ago. I had her book "Hacking Capitalism" on my eReader for several months, but hadn't got around to reading it yet. Never put these things off. The book is a complicated but fitting legacy. It absolutely showcases Nóva's ideas, ideals, and potential. Perhaps a little overwrought in places, and a little underpowered in others. It's clear that her heart was in the right place and she was making a huge impact in the world. The s…
Continue reading →
Google Books is one of many projects that Google has forgotten about. There's no support available and, of course, it's impossible to send them a bug report. The best anyone can do is write a ranty blog post and hope it gets noticed. When I search for my name in Google Books, it returns books I have reviewed. These aren't books that I've written. They don't mention, quote, or cite me. My reviews don't appear on the dust-jacket. Google has got confused. Here's an example. Go to the Google…
Continue reading →
Here's the problem: the current Bluetooth spec doesn't allow high-quality audio to be sent to a headset when it is also sending audio from the microphone. Instead, it switches to the Hands Free Profile (HFP) which only streams low quality mono sound. It makes Teams calls sound like garbage. The usual solution in Google Meet, Zoom, and MS Teams is to manually tell the app to use Bluetooth for speakers but a separate mic for input. In my experience, that never works with Teams. It forces HFP…
Continue reading →
There's a new HTML element in town! You can now use <search> to semantically mark up a search box. It's great for letting screen-readers and other assistive tech know what a form does. It's only supported in WebKit for now - other browsers will get it eventually. The WordPress default search widget hasn't yet updated, but I'm going to show you how you can start using it today! In your theme, create a new file called searchform.php - WordPress will automatically load it for the search widget. …
Continue reading →
It looks like it's the end of the party for streaming services. Prices are going up, choice is going down, and the quality is declining. Despite all the hype about how transformative streaming would be for the industry - there's one thing which never really seemed to take off. It's almost impossible to find "foreign" TV on Netflix, Apple, Prime, and the BBC. Outside of a few breakout movie hits - like "Space Sweepers / 승리호" - there's a dearth of non-English content for me to watch. Take Der T…
Continue reading →