Yet another compendium of Chinese sci-fi stories - and there are some great stories in this collection. There are also some essays about what makes Chinese science fiction Chinese. Based on my (limited) experience, I'd say one of the defining characteristics of the Chinese SF I've read is the way exposition is dispensed with and replaced by poetry. Mankind streamed across the river of time,…
Continue reading →
I finished watching Frasier over lockdown - the miserable tale of a self-destructive incel - and decided to continue watching old American sitcoms. I thought Cheers was a hellish dystopia populated with malicious tormentors. So now on to M*A*S*H. It's hailed as a masterpiece of comedy. But, really, it's an exercise in military propaganda. The first season is genuinely hilarious and, at times,…
Continue reading →
Due to a strange mix-up with an eBay order, I've come into possession of these rather quaint anti-suffragette postcards. I hope it is obvious that I am pro universal suffrage. What amuses me about these cards is how emotional they are! These aren't dispassionate arguments designed to calmly influence the rational man. It is all pure emotion! Looking through the archives of anti-suffragette…
Continue reading →
Should my bank be able to block me from using their Android app, just because my phone is rooted? I'm reluctantly coming to the conclusion that... yeah, it's fair that they get to decide their own risk tolerance. Sage of the Internet, and general Sooth Sayer, Cory Doctorow once gave an impassioned speech on "The Coming War on General Computation". I'll let you read the whole thing but, I…
Continue reading →
I once described my ideal coding environment to a colleague as "telneting directly into prod and damn the consequences!" I jest. But only a little. When I build for myself I treat best practices and coding styles as harmful. Chaotic evil but, hey, it's only myself I'm hurting. Anyway, my wife and I run a hobby site - OpenBenches.org - which was coded in a long alcopop fueled weekend. It's fair…
Continue reading →
Well, this is a glorious mess! The puppetry is astounding. The grey-clad puppeteers manipulate their charges with grace, precision, and joy. The work is so much more intricate than, say, Avenue Q. The mannerisms of the Tom Cruise doll are perfectly executed, with subtle moments of genius. The puppets range from miniscule to gigantic, with some requiring multiple people to bring them to life. …
Continue reading →
Tom Dolan has an excellent blog post which touches, in part, on comparative cost. If you're working for, say, a TV company - then you know exactly how much an hour of TV programming costs on average. If you want to do something like build a website, it's quite natural for people to evaluate its budget in terms of how many hours of TV it costs. That can be a useful metric. It allows people to…
Continue reading →
There's no one dafter than the previous owner of your property. Over the years we've found dodgy wiring, horrificly bodged plaster, and things plumbed in backwards. We've started re-doing our garden recently. The hideous decking was quickly rotting away and needed removing. But what would we find under there? Google's StreetView for the web lets you take a short trip back in time - if you're…
Continue reading →
I'll cheerfully admit to only having a hazy familiarity with the play (it's the one with twins that isn't 12th Night, and with the shipwreck which isn't Tempest, and with the annoyed money-lender which isn't Merchant of Venice... wait... perhaps I have seen it in aggregate!) On the one hand, this is an entirely traditional production. Sumptuous Elizabethan clothing - with resplendent codpieces - …
Continue reading →
I am using Auth0's Symfony library to allow users to log in with their social network providers. It works really well. Using this firewall configuration, a user who visits /private is successfully taken through the login flow and I can then use $this->getUser() to see their details. security: password_hashers: Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: …
Continue reading →
I used to work in a call centre for a Very Big Company. Every week, without exception, we'd get a bunch of new starters to train. And every week, without exception, a newbie would be fired after looking up a famous person's data. This was in the days before GDPR. There was a lot less general awareness of data protection issues. It didn't matter how often will drilled it into trainees' heads -…
Continue reading →
If you hang around with computerists long enough, they start talking about the Semantic Web. If you can represent human knowledge in a way that's easy for computers to understand it will be transformative for information processing. But computers, traditionally, haven't been very good at parsing ambiguous human text. Suppose you saw this text written for a human: Our opening hours are:…
Continue reading →