A highly-upvoted Hacker News comment linked to a post I wrote twelve years ago on The Young Lady’s Illustrated Primer:

a book from Neal Stephenson’s Diamond Age … that is powered by a computer so advanced it’s almost magical, and it teaches children everything. It does this through a fully interactive story. It teaches you how to read, how to do maths, it teaches you morals, ethics, even self-defence.

Looking back at the post, I’m shocked by just how little I remember writing it. I suppose when you’ve been blogging for almost twenty years, that’s to be expected. It’s also a reminder that while blogging is rarely as viral as Facebook and Twitter, its permanence and searchability can pay dividends over decades.

Dǎoháng, or how to navigate in China

When you request an Uber in Shanghai, chances are they’ll call or text to find out where you’d like to be picked up. This poses a problem for people who can’t speak Mandarin, like myself. What to do? Reply with a single word: Dǎoháng.

Supposedly, this means “just go where your mobile phone map tells you to“, which sounds like a lot to fit into a couple of syllables, but it worked for me.

There was a brief decade or so, beginning when I was around eight, when I was truly excited by international travel. I’d devise meticulous lists of what I should pack: socks, notebooks, goggles, multiple copies of hotel reservations, digital camera batteries, special ‘pop up maps’ that I could fit in a pocket. I’d count down the days and nights and hours and minutes until I left for the airport.

Today, a combination of work and familiarity has robbed me of the anticipation of travel. At the same time, the contents of my ‘pack list.txt’ file has inexorably shrunk to a scant few lines: a country-specific power charger and whatever clothes I feel like taking. That’s because wherever I travel, I feel confident that I can get by with my iPhone. As long as I have data and power, I stride the world as a god, summoning taxis and divining the whereabouts of moderately good restaurants by communing silently with my black slab. It matters not whether I can speak a single word of the language — with my phone, I can figure it out, one way or another.

This is not the most responsible or respectful way to travel, but neither is it the least responsible way to travel. And I find it refreshing to just hurl myself into a new land and have to figure it out on the fly. It’s like a game.

Until I visited Shanghai.

The whole trip was unusual. Earlier in 2016, I was invited to the opening of The Shanghai Project that September, a new arts festival that would be hosting an exhibition based on my book, A History of the Future in 100 Objects. Then the exhibition was pushed back to ‘Phase 2’ in April 2017, so I was dis-invited to the opening. And then I was re-invited in order to speak at a roundtable, with barely a couple of weeks’ notice. But hey, I won’t turn down a free trip to Shanghai!

So I was even less prepared than usual, and because I’d be in China for under 72 hours, I hadn’t bothered figuring out what I’d do for mobile data.

When I landed, nothing worked on my phone. I couldn’t connect to the airport wifi because it wouldn’t send me an SMS code. No Google, no Dropbox, no Slack, no Foursquare. I was Samson, shorn of my locks.

I’m being melodramatic. I got picked up from the airport by an intern, who kindly let me connect to her phone’s hotspot. And the hotel had free wifi that resided behind the Great Firewall, so I could get to my beloved Google and Slack. But I didn’t want to spend all my time cooped up in the hotel and I didn’t much like the idea of exploring without any mobile data (because, yes, I’m a child).

And then a staffer at the festival helped me get a prepaid China Mobile SIM. She actually persuaded the the China Mobile store to stay open later, just for me. I felt bad, especially since I can’t speak Mandarin and they had the usual baffled look of people who see someone who looks Chinese but inexplicably cannot speak Chinese.

I inserted the SIM card. The eclipse ended; the rays of the sun reached my body; my superpowers returned. I wandered the city, a god once again, in need of nothing and of no-one.

Note: I drafted this in 2016 and for some reason I forgot to post it, so here you go. I believe that Uber doesn’t exist in China any more…

My Tech Stack, 2018 Edition

I always find it interesting to learn about the tools people use in their work and play – often there are a few things that I haven’t heard of that I end up using – so I’m doing the same in case it’s useful to you.


My main work computer is a 2017 5K iMac. This is overkill for the kind of work that I do today but I wanted a large high-res monitor for designing mobile mockups in Sketch and enough power to support my HTC Vive VR headset. It has a 3.8ghz i5 processor with 24GB RAM, 512GB SSD, and a maxed-out Radeon Pro 580; I plan to keep it for some time.

When I’m on the move, I work from a 2017 MacBook. It’s incredibly light and thin, and with 16GB RAM it can keep up with almost anything I throw at it, work-wise. By being judicious with the stuff I keep on it, a 256GB SSD has been fine. It would be nice to have more than one USB-C port but it hasn’t been a big problem.

I usually don’t upgrade my iPhone every year, but it was genuinely unavoidable last year since I really needed to see what our apps looked like with the new notch. I did get the ‘cheaper’ iPhone X 64GB though, and it turns out that 64GB is totally fine for my purposes. I wear an Apple Watch Series 2, which has about two days of battery life and yet still isn’t powerful enough to run third party apps smoothly; and I adore my AirPods, which may be Apple’s best product of the last few years.

I use a Moto G5 for testing our apps on Android – I deliberately chose a cheap, but not dated, device.

At home, I do most of my web browsing on a 2016 iPad Pro 9.7″. I’m not using it quite as much as I imagined I would because the iPhone X is so fast, and I’ve moved over to reading books on my Kindle Paperwhite.

We have three Sonos: Play 1s for music in the kitchen and living room. They sound good but I detest the Sonos app and can’t wait until Airplay 2 rolls out. Depending on how Sonos deals with integration, I may have to buy a Sonos One to make them all work properly; or I might add to the single HomePod I have upstairs, which sounds fantastic but is really quite expensive.

Our Nest Thermostat has genuinely saved us a lot of money already, and the various Homekit-compatable Philips Hue lightbulbs are… fine. It is kind of ridiculous that my lightbulbs occasionally need their firmware updating, but it’s also very cool that I can hook them up to a motion sensor so that I get free nightlights when I go downstairs. Of course, you can remote control the Nest and the Hue lights.

We have a 43″ 1080p Sony TV, powered by Android – it’s fine. There’s a Nintendo Switch connected to it, mostly used for Splatoon 2; a PS4; and an Apple TV, mostly used for Netflix, BBC iPlayer, and Plex (more on that later).

Also in the living room is an Electric Objects EO2 digital painting frame, a lovely present from my brother. It is honestly very cool and it cycles through various classical artworks, internet gifs, and random modern art. Many people don’t realise it’s a monitor. Electric Objects is no more, so you’d have to check out Meural or Depict if you’re curious.

I record The Cultures podcast on a Blue Yeti microphone and pop guard. Rounding out my stuff is a ScanSnap S1300 which I got after a particularly stressful Christmas a few years ago when I didn’t have access to all my paperwork for tax filing. Since then, I’ve scanned practically every bit of paper I own. It took a while, but I appreciate the sense of security you get when your paperwork is immune to your house burning down.

Mac Apps

I use Safari on my desktop and laptop. It isn’t as integrated with Google as Chrome is, but it’s faster and significantly more power-efficient on the MacBook (to the extend of getting another 1-2 hours of battery life). Plus if you use Safari across everything, it helps you sync up bookmarks, history, and other stuff. I use 1Blocker for blocking ads.

Sketch is my design tool of choice, along with Pixelmator for any photo manipulation. Dropbox is invaluable for sharing and backup, and I use 1Password religiously as a password manager (it has apps on every platform). It takes a while to get all your stuff in there, but once you’ve done it, you’re pretty safe. Other work apps include the usual Microsoft Office (better than you think, these days), Slack for chat, and the Google Suite.

I can’t stand Final Draft for script reading and writing, so I use Highland instead. It is very pleasant, and much cheaper.

Reeder for my RSS feeds; Tweetbot for Twitter (more powerful than Twitterific); IINA for videos (more native than VLC); Audio Hijack and Skype for podcasting (and for my sins); Transmission for torrents; and Plex for streaming those torrents to my Apple TV (or any other device you can think of). Because I am simultaneously a terrible and good person, I bought a lifetime membership to Plex.

After using practically every note-taking app in existence, I’ve gone back to Apple’s bog-standard Notes app. It syncs excellently across all my devices, which is what I care most about.

Fastmail for my non-Gmail backup; WordPress.com for blogging; Micro.blog for a potential Twitter replacement, and Rocket for inserting emojis into everything. Apple Music, because all my stuff is from Apple.

iPhone Apps

I won’t bother listing the obvious ones here, but here’s a few notable ones:

  • Letterboxd for keeping track of movies I’ve watch
  • Goodreads for books
  • Google Photos, just as a way to back everything up
  • Amaroq for Mastodon (another potential Twitter replacement)
  • WeatherPro has very good forecasts and a lot of data
  • Dark Sky is surprisingly good at predicting rainfall in the next few hours
  • Train Times is still the best dedicated app for seeing how late you’re going to be
  • Instapaper for all my long-form internet reading
  • Reeder for RSS feeds
  • Apollo for Reddit
  • Overcast for podcasts (“Smart Speed has saved you an extra 181 hours…”
  • Unobstruct for cruft from websites


I’ve turned on two-factor authentication on every service I use, and I’d encourage you to do the same. It would be very damaging and stressful if someone got access to my stuff online, and two-factor auth is the best way to protect yourself. Use Google Authenticator if you want to be ultra-secure, or Authy if you want to be slightly less secure but have an easier life.

Things I’m anticipating

The next smart home addition will be a Homekit-compatiable keypad door lock. Haters be damned, this is the 21st century and I don’t want to carry around bits of metal to gain entry to my house. I think this is the year they’ll get sufficiently affordable and secure.

As mentioned, I’d like to make all my speakers Airplay 2 compatible, so that’ll mean getting a Sonos One or another HomePod. I’ve been doing more reading, so I’m curious whether there’ll be significant improvements to the Kindle this year.

I’m not desperate to get a new Apple Watch or iPad – we’ll see what the improvements are. Finally, I’m waiting for a 4K OLED Dolby Vision-compatible (the ‘best’ HDR format) TV to get sufficiently cheap.

Do I need all this stuff?

No! But this is both my work and my hobby. Also, I don’t own a car and I don’t have kids so ¯\_(ツ)_/¯

More Calories Please

Public Health England now recommends that:

…adults try to limit the calories of their three main meals to 400 for breakfast and 600 each for lunch and dinner […noting] that the remaining calories of the daily guidelines – 2,000 for women and 2,500 for men – are likely to be made up of snacks and drinks.

To achieve this, the government is challenging the food industry to reduce calories in products consumed by families by 20% by 2024. The categories of foods this applies to includes pizzas, ready meals, ready-made sandwiches, meat products and savoury snacks. It’s likely they’ll achieve this target with smaller portion sizes, which fills me with deep and profound sadness.

I successfully weaned myself off unhealthy snacks and drinks several years ago, so I tend to eat bigger portions for my main meals. There is no world in which I want to eat just 1600 calories for breakfast, lunch, and dinner, with the remaining 900 calories on snacks. I can manage this fine when I’m preparing food for myself at home or work, but when I’m on the move it’s clearly going to become harder and harder to find ready-made lunches that have 700-800 calories without adding on crisps or snacks or whatever.

I’m not a nutritionist or a food scientist, but I do know that barely anyone eats the suggested servings for things like breakfast cereal. Just try weighing out 45 grams – it looks like nothing. If retailers have to reduce their portion sizes, I wouldn’t be surprised that people just end up buying multiple portions – a hugely wasteful practice.

Others feel the same way. Susan Jebb, professor of diet and population health at the University of Oxford was interview by the Guardian:

While she welcomed raising calorie-awareness, she noted that the recommendation to eat a total of 1,600 calories for main meals was well below daily levels and assumed people were snacking. “Maybe it is better to have a slightly bigger meal and not to snack,” she said.

Valuing Friendship over Principle

Lately, I’ve been spotting more and more cases of people valuing friendships over principle. Here’s what Quinn Norton, who was hired and then swiftly fired from the New York Times Opinion section for her offensive comments in the past, along with her friendship with neo-Nazi Andrew Auernheimer, said:

I was called a Nazi because of my friendship with the infamous neo-Nazi known on the internet as weev—his given name is Andrew Auernheimer; he helps run the anti-Semitic website The Daily Stormer. In my pacifism, I can’t reject a friendship, even when a friend has taken such a horrifying path. I am not the judge of who is capable of improving as a person. This philosophy also requires me to confront him about his terrible beliefs and their terrible consequences. I have been doing this since before his brief time as a cause célèbre in 2012—I believe it’d be hypocritical for me to turn away from this obligation. weev is just one of many terrible people I’ve cared for in my life. I don’t support what my terrible friend believes or does. But I strongly advocate for people with a good sense of themselves and their values to engage with their terrible friends, coworkers, and relatives, to lovingly confront them for as long as it takes, and it would be wrong to not do so myself.

This is obviously an extreme case. I imagine – or at least, hope – that most people would end friendships with those who become neo-Nazis. And note that I am deliberately talking about friendships, not familial relationships. You can’t choose your family.

But I’ve seen many more cases where people will refrain from criticising friends (often not very close friends) who say or do things that conflict with their principles. I’m not talking about ending friendships with people who say racist or sexist things, because to be frank, most people know better than to do that. I’m talking about expressing political, professional, intellectual, and philosophical differences with friends.

Let me give a slightly painful, personal example. In 2010, I wrote a post entitled Can a Game Save the World, where I criticised comments by Jane McGonigal about the power of games. I’m not in the habit of criticising friends, especially in public, but: given her very public profile; the resounding silence from anyone in the games or tech industry at the time; and the degree to which I disagreed with her, I felt a responsibility to say something, if only to show that disagreement existed within the games community. I certainly wouldn’t bother in most cases.

My post led to arguments. Many mutual friends privately told me they agreed with everything I had written, but for the most part they said nothing because I assume they didn’t want to affect their friendship with Jane, or possibly their professional lives, given her influence.

What’s the lesson? We all draw our own lines, and in our comparatively new online world of having hundreds of friends and kind-of-friends and acquaintances, maybe we aren’t sure how to express differences and disagreements, especially when it seems the only way to do so in public is via a megaphone to the entire world that can only broadcast 280 characters at a time (another reason for blogs to come back!).

But we should remember that adults can have disagreements and yet remain friends. I’m no Chidi Anagonye, I don’t believe in radical truth-telling, but I do think it’s essential for us to practice how to disagree with each other publicly, politely, and firmly, because that’s how we learn what we really believe, and what we’re prepared to do to to defend those beliefs.

After all, “if you won’t stand for something, you’ll fall for anything.”

Disneyworld Day 8: Animal Kingdom

  • Our final half-day at Disneyworld! It’s been emotional. There was just one more ride we really wanted to see, which was…
  • Navi River Journey at Animal Kingdom; yesterday, we’d improbably bagged a Fastpass for the morning. It’s a high tech slow ride, very different from Frozen Ever After in that it has no story and has few animatronics. Instead, it uses projectors on see-through surfaces to create the impression of depth, as you can see real leaves and trees and such both in front and behind the projected image. It was good enough to fool me for about ten seconds, which is impressive. Some of the projections worked better than others; I particularly liked these giant leaves suspended from the ceiling, shaking in sync with projected images of creatures scampering on top.

Continue reading “Disneyworld Day 8: Animal Kingdom”

Disneyworld Day 7: Animal Kingdom

  • Lazy morning today, partly because we’re running out of things to do at the parks.
  • Most of the Disney resort hotels have a respectable if slightly aged arcade; ours had the best game ever, skeeball.
  • Festival of The Lion King in Animal Kingdom was a good musical, although I wasn’t sold on the pair of birds who stood in for Simba and Nala during the love song bits. I get the logistical problems involved in having ‘lions’ do it, but it’s just confusing to have birds instead. I liked the ‘human’ performers best.

Continue reading “Disneyworld Day 7: Animal Kingdom”

Disneyworld Day 6: Epcot

  • We needed to be at Epcot for 10:15am at the latest due to a valuable Fastpass, so we gave ourselves over an hour. As it turned out, there was a runDisney half-marathon ending around 9:45am, which snarled up the traffic and blocked off the ticket entry gates. It’s great that Disney organises running events and delays are bound to happen. That said, there was poor queue management (no signs about the new entry queue location) and little to no communication about the massive delays.
  • Disney are fully capable of emailing guests when disruption is expected. If a ride becomes unavailable during your Fastpass reservation time (e.g. it breaks), they’ll email you with a replacement Fastpass for other rides. So if they know that there’ll be big delays on a certain day, why let guests book tickets during that disruption? Or why not email them when the disruption turns out to be bigger? I realise that within a complex organisation, these are not simple things to set up; but for a company so focused on delivering happiness to guests, I’m surprised they let people stew in line for so long. I know a fair few people missed their reservations because of the delay.
  • As it turns out, so did we. Fortunately for us, Frozen Ever After was broken at this time so we were emailed a replacement Fastpass anyway.
  • Finally, I’d note that our bus driver told us, “Hey, you should know that a half-marathon is on and Epcot will be super busy and slow to get into. So maybe you should go to another park instead.” Really useful information – if only she’d told everyone this before we got on the bus, rather than five minutes out of Epcot.
  • Partly due to the big queues, Frozen Ever After only had a 25 minute wait when we got into the park, so we chose to just line up instead. It has a neat waiting area filled with cute details and looks remarkably like a town square. The ride itself had incredibly good animatronics that (I assume) used internal projection mapping on a deformable surface. At some point these things will start walking around… As for the story, it was a standard recap of the movie, which was a little disappointing, but probably what the kids want.

Continue reading “Disneyworld Day 6: Epcot”

Disneyworld Day 5: Kennedy Space Center

  • We booked a trip to Kennedy Space Center today with Gray Line, which looked like the best choice for people staying at Disneyworld who don’t (or in our case, can’t) drive. By and large it worked out pretty well – we got picked up directly from our hotel.
  • Unfortunately, our coach driver provided wholly unwelcome running commentary about the history of Disneyworld, nearby shopping centres, Florida, Orlando, etc. I get that some people appreciate this, but there’s no way to turn it off and it’s pretty loud. To cap it all off, the driver got a speeding ticket on the highway so we had to stop for 15 minutes.
  • Kennedy Space Center is an odd mishmash of historical artefacts from the early days of rocketry plus a heavy dose of NASA and corporate propaganda. Now, I’m a big fan of space exploration but I couldn’t really figure out whether they were more about education or entertainment. None of this detracted from their collection of truly sensational rockets and artefacts though.
  • You can see some decent rockets and Space Shuttles at other museums, but KSC has one thing that they can’t match: an actual working launch complex. Included in entry are frequent bus tours of the launchpads, Vehicle Assembly Building, crawlers, and if you’re lucky, some alligators and falcon nests.

  • Our driver’s very good commentary was accompanied by NASA videos that tried to convince us that their new Space Launch System rocket will be the bee’s knees rather than a billion-dollar-per-launch white elephant that can’t compete against SpaceX’s Falcon Heavy & BFR combo. But the driver was enthusiastic about the recent successful launch of the Falcon Heavy from a launchpad we drove around, so it’s all good.

Continue reading “Disneyworld Day 5: Kennedy Space Center”