Internationalise The Fediverse

Translation icon. By Linh Nguyen.

We live in the future now. It is OK to use Unicode everywhere. It seems bizarre to me that modern Internet services sometimes "forget" that there's a world outside the Anglosphere. Some people have the temerity to speak foreign languages! And some of those languages have accents on their letters!! Even worse, some don't use […]

Continue reading →

A (tiny, incomplete, single user, write-only) ActivityPub server in PHP

Screenshot of a map. There is a pop-up containing an image of me drinking a pint.

I've written an ActivityPub server which only allows you to post messages to your followers. That's all it does. It won't record favourites or reposts. There's no support for following other accounts or receiving replies. It cannot delete or update posts nor can it verify signatures. It doesn't have a database or any storage beyond […]

Continue reading →

Rebuilding FourSquare for ActivityPub using OpenStreetMap

Map of London with several bits highlighted.

I used to like the original FourSquare. The "mayor" stuff was a bit silly, and my friends never left that many reviews, but I loved being able to signal to my friends "I am at this cool museum" or "We're at this pub if you want to meet" or "Spending the day at the park". […]

Continue reading →

Federation is pretty cool, but kinda confusing, and maybe a little scary

Otome-chan says: "See here. you can see this mastodon user's post (which to them looks like a regular tweet on twitter does) ends up in our random microblogs section. We can also view their profile directly as well as follow them to have their posts appear in our microblogs (as well as threads if they go out of their way to make one). It seems kbin microblogs appear as threads/comments to you on lemmy. so I have to imagine mastodon posts might be similar?"

Last week, this strange mention appeared on my Mastodon feed. After a bit of clicking around, I figured out what had happened. A user on the Kbin social network had linked to my Mastodon profile. Thanks to the magic of the ActivityPub protocol, it filtered into my mentions - even though I've never even heard […]

Continue reading →

Naming things is hard - DNS for the Federated Web

The multicoloured interlocking lines of the Fediverse logo.

How should I design my personal DNS for all the cool new Federated Services and IndieWeb protocols? Way back in the early 2000s, I started this website - A few years later, I added a blog. I could have used the main domain, or created a subdomain like In the end, I chose […]

Continue reading →

Snowflake IDs in Mastodon (and Unique IDs in the Fediverse more generally)

Hundreds of snowflakes - each one unique and beautiful.

Computer Science has two canonical "hard problems": cache invalidation naming things off-by-one errors Let's talk about how we name unique items in Federated services - for example, posts on a social media service. If you have only one service, it's pretty easy. Every time a new entry is created in a database, give it a […]

Continue reading →

How much decentralisation is too much?

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

Twitter's over, my dudes! And now everyone is on Mastodon! But Mastodon isn't a site, it is a federated network running an interoperable protocol! Yay for ActivityPub1! Anyway, that means there isn't one Mastodon website. There are many. There is only one Twitter. There is only one Facebook. There is only one Instagram. If you […]

Continue reading →

The ethics of syndicating comments using WebMentions

The WebMention logo is a stylised letter W with an arrow at the end.

This blog uses WebMention technology. If you write an article on your website and mention one of my blog posts, I get a notification. That notification can then be published as a comment. It usually looks something like this: This means readers of my post can see where it has been mentioned around the web. […]

Continue reading →

Create a "Share To Mastodon" Button for WordPress

A WordPress Popup.

Everyone1 is decamping from Twitter to Mastodon! The great thing about the Federated Internet (hereafter the "Fediverse") is that it is distributed. The bad thing is… it is distributed! What do I mean by that? Here's an example of the problems with decentralised systems. If I want to create a link on a website which […]

Continue reading →