2022 - a year in review


A selfie of Terence reflected in a spherical mirror.

It's my birthday! Therefore it marks the end of another year of me hurtling around Earth's yellow sun. So, as is customary, here's my year in review. (more…) …

Continue reading →

Getting Started with Mastodon's Conversations API


A threaded conversation. You can see the order in which people have replied to each other - and what posts they are referencing.

The social network service "Mastodon" allows people to publish posts. People can reply to those posts. Other people can reply to those replies - and so on. What does that look like in the API? Here's a quick guide to the concepts you need to know - and some code to help you visualise conversations. When you scroll through the website, you normally see a list of replies. It looks like this: Because it acts as a one-dimensional list, there's no easy way to figure out which post someone is…

Continue reading →

Book Review: "A World on Fire: An Epic History of Two Nations Divided" by Dr Amanda Foreman


Book cover engulfed in flames.

1861: "On the one hand, slavery is bad. On the other hand, cheap cotton from the South keeps the UK economy working." 2022: "On the one hand, invading Ukraine is bad. On the other hand, cheap gas from Russia keeps the UK economy working." Plus ça change, plus c'est la même chose… This is an incredible book. I knew very little about the American Civil War - this is a thorough history of that bloody event told from the perspective of the UK. The UK was officially neutral. But that didn't stop …

Continue reading →

Twitter's archive doesn't have alt text - but Mastodon's does!


The Twitter logo drawn in circles.

Because I don't trust Alan, the Hyperprat who now runs Twitter, I decided to download my Twitter archive before setting my account to dormant. About a decade ago, I wrote about how the Twitter archive works and where it is deficient. Things have got better, but there are still annoying limitations. For example, Hannah Kolbeck - founder of the Alt Text Reminder Bot recently pointed out that there's no alt text in the archives. Here's a snippet of Twitter's JSON for an image I posted: …

Continue reading →

How to search Mastodon by date & time


The Mastodon logo. It sort of looks like a smiling elephant.

Two years ago to the day, I built Twistory - a service for seeing what you posted on Twitter on this day in previous years. If you've ever used Facebook, you'll know how it is supposed to work. You see posts which show that exactly 5 years ago you were starting a new job, 6 years ago you were at a wedding, etc. The Twitter version never really worked properly because the Twitter API doesn't support searching for historic Tweets. What I had to do was manually build search queries like:…

Continue reading →

Book Review: The Bees - Laline Paull


Book cover with a honeycomb pattern.

This is an astoundingly delightful book. It takes Nagel's classic question "What is it like to be a bat?" and takes us in to the heart of the hive. Humans can only understand our own lived reality. So here we have bees' behaviour translated into schemes and intrigues which would not be out of place in a medieval court. Bees wings are roaring engines, and their enemies are the hoards of traitorous insects and arachnids outside the hive. It wonderfully conveys the "alienness" of the bees'…

Continue reading →

Book Review: Gnomon - Nick Harkaway


A shark's fin tears through the streets.

This was a rare DNF for me. I'm sure there's a brilliant story in there somewhere but it became too much of a chore to read. The prose is excruciatingly complicated. Half a dozen times in one page I had to use my eReader's dictionary to look up an archaic word. Perhaps that's part of the metastory? How much we rely on our external brains. The book is weirdly formatted. It uses different fonts to tell parts of the story from different perspectives. That's a neat idea - but just didn't work…

Continue reading →

WhatsApp Web for Android - a reasonable compromise?


Screenshots showing the interface. There's a list of conversations with a preview, a bunch of settings, and a conversation which has emoji and voice notes.

I am weak. I flounced off WhatsApp at the start of the pandemic due to Meta's shitty policies. Many of my friends made the move to Signal and some stuck with Telegram. But lots of them preferred WhatsApp and didn't want yet another inbox - especially one which was only connected to their weirdo privacy freak friends. I like Signal. It does everything I need. But some people are reluctant to move over. And, frankly, I'm a little tired of missing birthdays, group chats, wedding invites, and all…

Continue reading →

Better sharing of WordPress posts to Mastodon


The Mastodon logo. It sort of looks like a smiling elephant.

WordPress's Jetpack plugin allows you to easily syndicate your blog to Twitter, LinkedIn, Tumblr, Email, and a few other services. But there's no native way to publish directly to your Mastodon feed. This is a guide to how I got my blog to publish every new post to Mastodon with a nicely formatted preview. This uses Jan's "Share on Mastodon" plugin which you'll need to install and configure. Once you've followed these instructions, you'll get a share which has a headline, excerpt, link,…

Continue reading →

Algorithm Induced Alcoholism


Screenshot of a long list of emails from Flavourly.

I like beer. I like the Internet. What if I could get beer using the Internet?!?! A few years ago I purchased a mixed crate of beer online. I unticked all the checkboxes for marketing messages - but incautiously allowed them to send me special offers. Every couple of months, they'd send me an email offering discount beer. And I'd ignore it. Mostly because I was still slowly working my way through the last crate. But one day their marketing algorithm obviously decided that I was about to…

Continue reading →

Cheers is Hell


Logo for the TV series Cheers.

After spending 2020 watching every episode of Frasier, we thought we'd binge watch its predecessor sitcom "Cheers". It's a tough watch. It obeys all the familiar tropes of a sitcom - a static location, characters drawn in broad strokes, and whacky banter. On paper, it's great. But on screen... Look, let's get this out of the way - Cheers is pretty funny! We're only on the first 3 seasons, but each episode has a strong comic plot, plenty of chuckles, and general mayhem. Sure, a few of the…

Continue reading →

Job leaving rituals in the WFH era


Laptop covered in stickers.

One Friday last year, I posted some farewell messages in Slack. Removed myself from a bunch of Trello cards. Had a quick video call with the team. And then logged out of my laptop. I walked out of my home office and sat in my garden with a beer. The following Monday I opened the door to the same office. I logged in to the same laptop. I logged into a new Slack - which wasn't remarkably different from the old one. Signed in to a new Trello workspace - ditto. And started a video call with my…

Continue reading →