Terence Eden. He has a beard and is smiling.

Terence Eden’s Blog

Theme Switcher:

Rebuilding FourSquare for ActivityPub using OpenStreetMap

· 30 comments · 850 words · Viewed ~1,452 times


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". So, is there a way to recreate that early Web 2.0 experience with open data and ActivityPub? Let's find out! This quest is…

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

· 5 comments · 400 words · Viewed ~677 times


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 of Kbin. That's pretty cool! A user on one social network can mention a user on a…

Naming things is hard - DNS for the Federated Web

· 5 comments · 500 words · Viewed ~358 times


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 - shkspr.mobi. A few years later, I added a blog. I could have used the main domain, or created a subdomain like blog.shkspr.mobi. In the end, I chose a subdirectory of shkspr.mobi/blog I don't know if that was the right choice back then, but…

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

· 1 comment · 500 words · Viewed ~1,171 times


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 sequential number. This becomes a problem at scale. If you have…

How much decentralisation is too much?

· 22 comments · 1,000 words · Viewed ~4,080 times


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 ActivityPub! 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 want to interact with Twitter/FB/Insta then you have to do it on…

The ethics of syndicating comments using WebMentions

· 23 comments · 700 words · Viewed ~545 times


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. They can read your article after reading mine. Nice! I've also set up a "bridge"…

Create a "Share To Mastodon" Button for WordPress

· 6 comments · 450 words · Viewed ~1,458 times


A WordPress Popup.

Everyone 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 will share text to Twitter, I just create a URl which points to: t…