Books of 2020

My bookshelves and Kindle library show that in 2020 I started dozens of books but finished few. Here are some of the latter that I liked:

Human Compatible – by Stuart Russell. This is an actual down-to-earth, non pie-in-the-sky book about Artificial General Intelligences: computers that are as intelligent as a person, in a non-specific way. These aren’t machines that can only, say, recognise objects in photographs. These are machines you can have a chat with, and that can figure stuff out.

Creating such entities seems plausible. Since it’s possible in brains, it…should be possible in software? We just don’t know how to do it yet. But that doesn’t mean we know nothing. In fact, we know quite a lot. Including much about what we don’t yet know. This book goes over the current state of research, the challenges ahead, the potential for such technology, the spectacular dangers that could result, and a framework for reducing such risks from the early stages.

AGI is a world-changing possibility, and you don’t need to go full Kurzweil to get excited. Basic extrapolation takes you to interesting places, even without thinking about machines that can themselves build more-intelligent machines. Two ideas that stood out for me:

–machines with human intelligence, but a far greater working memory. Who knows how much knowledge exists out there that just needs someone to join the dots? Feed an AGI every medical journal in the world and see what they spot.

–AI tutors. We know personal tuition works better than class instruction. Once AGI arrives, we teach them how to teach. Then everyone can get a personal tutor. I am particularly fond of this as I think school is trauma for millions of kids – and would love to see schools replaced with something that doesn’t involve children spending a decade being bullied.

But this kind of potential isn’t actually the focus of the book. It’s more about mapping how we might get there, and why we should take the possibility seriously. If you’d like to know more, Scott Alexander has a proper review – one informed by an actual understanding of the AI landscape.

Schrodinger’s Killer App – by Jonathan P Dowling. I wanted to understand what a quantum computer was in more detail than ‘it can do multiple things at the same time, ta-da’ but less detail than ‘here is the equation for the collapsing wavefunction, thus encryption doesn’t work’. I needed quantum computers for someone who has read enough Sean Carroll not to require the double-slit experiment explaining, but still needs their hand holding for the next bit. This was the book! It’s a weird book! Half explainer, half rambly memoir, it takes you down a road and by the end of it you can see how quantum computers work in practice. Not understand, but at least get the general idea without feeling like it’s still a metaphor. You end up knowing why some problems will be helped by quantum computers, and some won’t. You end up knowing why there’s currently only a limited business model for quantum computers (you build one and sell it to the NSA; the end). You get a glimpse of new vistas in the utter weirdness of quantum mechanics, but not in a Deepak Chopra way. You also end up knowing a lot about the author’s life and his philosophy of being. He seemed like a fun, loud guy. He died unexpectedly this year.

The System – by James Ball. I haven’t finished this yet. But it’s a look at the structure of the Internet, from the physical cabling to how data is regulated in a borderless infrastructure – and how the money flows. I thought I knew roughly what was going on. Spoiler: haha I did not.

Superman: Up in the Sky – by Tom King / Andy Kubert. The best Superman story in a long time. No bloody Krypton. No bloody tantrums. No bloody heart-to-hearts with wise priests. It doesn’t even lead you down a trail of whether Superman will do the right thing: *of course he’ll do the right thing*. But how do you decide the right thing? And what happens when you make that decision? It’s about the nature of heroism and moral duty – and the role of inspiration.

Radicalized – by Cory Doctorow. Four short stories about Cory things. Tech. Power. Surveillance. Control. Rebellion. Identity. Look, I don’t know whether his ideas make sense. They’re the far carriage of a long train of thought. I don’t know how people feel equipped to evaluate critiques of capitalism and modern tech without, like, doing a PhD. But as with AGI I think it’s possible to get the gist of what people are thinking about. Cory is great at that. And he writes like a wizard. He sort of zaps you in the first two paragraphs, and then you’re in whirlpool till you’re done. In his attic there’s a shit book where every word is a slog, the characters are flat, and every page drops in overused references to Oscar Wilde. Be warned, though: Radicalized is a grim read. It will not cheer you up.

Outside of books:

–Joe Wicks kept me at least slightly fit
–Mrs Maisel, The Good Place and The Expanse made me laugh and think and occasionally upset me
–I got an air conditioner and don’t know what I’d have done without it

Happy New Year!


My old dance studio, Karen Hardy Studios, closed down this week. It had been trying to change form for a while, but couldn’t survive 2020.

It was a lovely, complicated place. As with any dance studio it had its fair share of politics, drama, and occasional creepy men. It sometimes muddied the idea of being glamorous with being elite. And the prices could be eye-watering.

But it wasn’t cynical. Karen herself was charismatic, skilled, and put the effort into knowing you. The staff poured their heart and soul into their work. The students had goals, workplans, written histories, and a solid idea of what they were working towards and why. The management continually developed and iterated new ideas, honing in on what worked (big Christmas parties, internal progress medals, almost-daily communications) and what didn’t (Sunday evening social dances, website member areas, complex lesson packages). The events were huge, star-studded, and lingered long in the memory. The studio building had a bar and lounge for chatting long after your lesson had finished, which *I actually did*, and encouraged you to call in when passing. It was a good setup.

And it was great at lifting me out of the world. For a couple of hours a week I was looked after, taught a skill and encouraged – in a little land of sparkles and catharsis. No matter what else was happening in my life, I walked in and felt better. And the ultimate otherworldly experiences were the international dancing competitions. These were whirlwinds of light and terror and camaraderie. I still get a contented glow thinking about them – particularly the Disney trips.

The world of competitive dancing is, like any other niche, full of tradition and social mores that have evolved and tessellated over the decades. It is often charming (infectious enthusiasm for *everything*), regularly idiosyncratic (let’s merge the bronze and gold level couples), and sometimes downright weird (international competition compères). It is regularly confusing even for people who know what they’re doing. At the top level it is run by competing cartels who will have nothing to do with each other, but who control their own domains by a mixture of rules, grandiosity, appeals to tradition, dubious claims to authority, and ever-so-polite ostracism. The big competitions have the not-entirely-unreasonable but not-entirely-reconcilable dual aims of calibrating dance skill while bringing in as much money as possible. The venues are full of competitors who have been dancing since they were 4, know the industry inside out, and who don’t really know what to say to a bunch of amateurs from London there for the teacher/student competitions.

The studio did a good job of filtering out this oddness. We pretty much sailed through it all on a wave of glitter, fear, and punch-drunk elation. Dance. Wait. Cheer. Check timings. Dance. Explore. Did I eat? Eat. Dance. Check timings. Console. Cheer. Food? Check timings. Somehow late. Run. Watch the superhuman professionals. Sleep. Repeat. All while looked after by the ever-excellent teachers.

I was always far more nervous about the social aspects than the dancing, but those competitions gave me huge (and much-needed) boosts in social confidence. Despite my being a bit weird and a lot quiet, I made friends who I would help move mountains to this day. (You weren’t allowed to be proper friends with the teachers or staff, though. You can see the theoretical reasons for this. Thankfully this worked fine and never caused any problems.)

It was a good few years. Ultimately I left the studio and discovered the wider London dance scene. But I fondly remember my time there, and I’m sad it’s gone.

Thank you to all the teachers and staff who ran the place. You were and are appreciated! You did a good thing.

Published at last

Unexpected discovery this morning:

Back in the day I used to write ‘non-murder-mystery’ games for a US website. They were aimed at children’s parties: some kids were assigned specific characters and had a sheet of facts that only they knew, while everyone else was a detective who questioned the characters to solve the mystery.

It was all very gentle and without any murdering or real unpleasantness. I think the most shocking thing I got away with was a town mayor who went on a haunted house theme park ride and came out with white hair and unable to speak.

This came to mind because at work we’re talking about having a murder-mystery during our Christmas party on Zoom, and I remembered that one of mine had been quite festive. So I googled it.

It’s still for sale, but apparently a few years back it was also packaged up as a book, which is available on Amazon under my name! I am a published author on Amazon! Sort of! And have been for six years! I had no idea.

It has one review! Saying it’s too difficult! They got away lightly: I remember my editor adding extra clues, much to my chagrin.

I’m gonna buy it.

PHP bug when uploading Word or Excel files to WordPress

If you’re unable to upload docx or xlsx files to WordPress due to “Sorry, this file type is not permitted for security reasons”, it may be down to this PHP bug. The MIME type of the file is reported incorrectly.

The bug seems to apply to PHP 7.3 upwards, and is not currently fixed. Here’s a workaround you can drop into functions.php:

function fix_office_file_mimetype_bug( $compact, $file, $filename, $mimes ) {
  if (strpos($filename, '.docx') !== false) {
    $finfo     = finfo_open( FILEINFO_MIME_TYPE );
    $real_mime = finfo_file( $finfo, $file );
    finfo_close( $finfo );

    if ($real_mime == 'application/vnd.openxmlformats-officedocument.wordprocessingml.documentapplication/vnd.openxmlformats-officedocument.wordprocessingml.document') {
      $compact['ext'] = 'docx';
      $compact['type'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
      $compact['proper_filename'] = $filename;

  if (strpos($filename, '.xlsx') !== false) {
    $finfo     = finfo_open( FILEINFO_MIME_TYPE );
    $real_mime = finfo_file( $finfo, $file );
    finfo_close( $finfo );

    if ($real_mime == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
      $compact['ext'] = 'xlsx';
      $compact['type'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
      $compact['proper_filename'] = $filename;

  return $compact;
add_filter( 'wp_check_filetype_and_ext', 'fix_office_file_mimetype_bug', 10, 4 );

Laser surgery

I had laser eye surgery this afternoon. It was a bit magical.

Nothing was wrong: it was elective. I’ve been short-sighted since I was 10, but for the last 15 years my vision’s slowly been getting better. I was due to reach perfection in the next couple of years, then sail right through it into long-sightedness. I was improving fairly quickly so was perpetually out of focus in one eye or the other, and lockdown seemed a good time to sort this.

So today I slid under a large machine and was told to stare at a green light while the LASIK surgery worked its wonders.

If you squick about eye stuff, skip to END OF SQUICK.


They cut a FLAP in my CORNEA. This was an unusual thing to witness. It wasn’t painful, due to anaesthetic drops, but I could feel it happening and it was certainly uncomfortable. This took twenty seconds of staring at a precision laser while my eye was held open with tape and a speculum (and a surprising lack of head restraint). There were some weird visual effects: I saw red, blue and green sparkles that are hard to describe: the best I can get is ‘dead-pixel fireflies’. They were beautiful, though, and I can’t imagine I’ll see them again. This was followed by the usual apparitions you get when you rub your eyes, just a lot more eldritch.

Then they LIFT THE FLAP and fire a different laser. Let me tell you, watching somebody lift up the front of your eye is a good addition to the qualia bank. Everything went fuzzy and an invisible laser spent 4 seconds reshaping my lens. You’re meant to keep staring upwards but in all honesty heaven only knows what was going on at this point – I had sensations of being something akin to cross-eyed, entirely outside of conscious control. I just concentrated on looking in the correct direction. This whole thing was painless, and I wouldn’t have known the laser was firing if the surgeon hadn’t kept me informed.

Then that’s it. Flap down and smoothed over with tiny brushes. More drops.


And then the same for the other eye. Bish bash bosh. Whole thing took 10 minutes.

I sat up, and things were foggy but…sharp. I walked out of the room, mildly dazed but fine. 5mins later the surgeon tested my vision with your basic letters on a chart, and said I already had 20:20 vision. 5mins later I was in a taxi.

It’s now 7 hours later, and things are good: a little foggy, but I can see unaided for the first time in 25 years. The fog should clear by morning. My brain refuses to parse good sight + gritty-feeling-in-eye as anything other ‘you need to take your contact lenses out’. I’m having to override that every ten minutes. It might take my subconscious a while to catch up, there.

I have a plethora of drops for the next week, a supply of artificial tears for the next couple of months, plus 2 checkups and strict instructions to avoid dusty environments / bright light / poking myself in the face. As far as I can tell this is all about making sure the aforementioned incision heals ok.

I am in awe that it is possible, as a matter of routine, to fire lasers into people’s eyes and fix their sight. In an hour. I didn’t even take my coat off.

Brandi Carlile

Me playing Spotify artist-radio during lockdown:

Me: Who’s this?! It’s great
Spotify: It’s Brandi Carlile
Me: What about this?
Spotify: Another Brandi Carlile
Me: Ok but this is definitely someone else and it’s excellent
Spotify: Still her
Me: Wh…
Spotify: Just go listen to her albums

Turns out I really like Brandi Carlile. You might too, if you like country but not, like, heavy country.

If you like The Story, you’ll probably enjoy everything else.

Only country singer I’ve ever heard mention skeptics, too.

Back to blogging

Hey. It’s been a while.

If you’ve come over from my old blog: this is a fresh start. All the old posts are now private, because I can’t face hunting for dumbass opinions in 4000 posts from my 20s.

The blog died out because Twitter and Facebook took over. But it feels like time to make something of my own again.

I still like Twitter, despite the obvious. I follow a bunch of delightful people. Most days I can log on and see lovely things. I’m not interested in broadening my bubble by following people who aren’t lovely.

But, like the blog, the day is coming when I’ll need to scrub my past tweets. I have 12 years of them, and no doubt some could come back to cancel me. I have enough seniority at work now that this would cause problems. If I were sensible I’d install the app that scrubs tweets on a 2 week rolling basis.

Certainly Twitter is no longer the place to store thoughts I want to keep. Ditto Facebook. I still like Facebook too. I enjoy seeing my friends’ baby photos and holidays and thoughts and worries. I just unfollow anybody ranty.

Facebook is also important. It’s such a part of the cultural landscape that IT people should know what’s going on. Plus, who am I kidding – it’s nice to get engagement! And Facebook is obviously very good at engagement. I’ve been using Facebook for little blog posts for a while – it’s a good way to share tech advice with non-techie people and I like getting the feedback and reactions. I’m not fond of reducing nice things to dopamine hits and declaring them bad.

But, let’s face it, one day Facebook are going to do something beyond the pale. Many would claim they already have, although those roads often lead to Cadwalladr and nobody wants that.

So: back to blogging, where I have more control. And after all these years I still like playing with WordPress.

In particular, I want to understand Gutenberg better. At the start of lockdown this led to a brief flirtation with front-end javascript frameworks like React and Vue, moving onto Gatsby and other static site generators.

That didn’t last long. JS has tentacled such that it’s inaccessible to broad-spectrum IT guys like me. I’ll figure out enough to understand Gutenberg, and leave it at that. WordPress and PHP it is.

I have a few life things coming up that I’d like to document. Some photo stuff. And there’s a lot of niche knowledge of work tools – CiviCRM in particular – that I’d like to make public.

So, hey. Nice to be back.