Terence Eden. He has a beard and is smiling.

Terence Eden’s Blog

Theme Switcher:

ActivityPub - How to send an updated user profile to Mastodon and the Fediverse

· 350 words · Viewed ~1,164 times


Logo for ActivityPub.

Let's suppose you've updated the description of your ActivityPub account from "World's Number 1 Taylor Swift Fan" to "This account is now a Nickleback Truther". How do you let the rest of the Fediverse know that you've changed your allegiance? By default, most Mastodon instances won't periodically poll your account information just to see if you've updated it. So how does the information get…

A reasonably practical guide to validating RFC 9421 HTTP Signatures for ActivityPub in PHP

· 2 comments · 900 words · Viewed ~1,256 times


A padlock engraved into a circuit board.

If you're reading this, you've probably been hitting your head against a brick wall trying to parse and decipher the new HTTP Signatures sent by Mastodon and other Fediverse servers. This is a basic and somewhat incomplete guide to accepting these signatures. I'm sure there are various gotchas, but it works with the signatures I've seen in the wild. Shut Up And Show Me The Code! OK, wow, no…

Some updates to ActivityBot

· 1 comment · 1,150 words · Viewed ~730 times


Logo for ActivityPub.

I couple of years ago, I developed ActivityBot - the simplest way to build Mastodon Bots. It is a single PHP file which can run an entire ActivityPub server and it is less than 80KB. It works! You can follow @openbenches@bot.openbenches.org to see the latest entries on OpenBenches.org, and @colours@colours.bots.edent.tel for a slice of colour in your day, and @solar@solar.bots.edent.tel to see…

Adding "Log In With Mastodon" to Auth0

· 4 comments · 600 words · Viewed ~502 times


Login screen with several social login buttons.

I use Auth0 to provide social logins for the OpenBenches website. I don't want to deal with creating user accounts, managing passwords, or anything like that, so Auth0 is perfect for my needs. There are a wide range of social media logins provided by Auth0 - including the usual suspects like Facebook, Twitter, WordPress, Discord, etc. Sadly, there's no support for Mastodon. All is not lost…

Social Media Payments and Perverse Incentives

· 6 comments · 450 words · Viewed ~469 times


Mock up of a Mastodon post. There's a a £ button next to boost. It offers the options to tip the suggested amount £0.15, or to tip a custom amount.

At the recent "Protocols for Publishers" event, a group of us were talking about news paywalls, social media promotion, and the embarrassment of having to ask for money. What if, we said, you could tip a journalist directly on social media? Or reward your favourite creator without leaving the platform? Or just say thanks by buying someone a pint? Here's a trivial mock-up: Of course, this…

Now witness the power of this fully operational Fediverse!

· 11 comments · 850 words · Viewed ~1,251 times


Logo for ActivityPub.

How can you measure the popularity of a social network site? Perhaps by counting the number of active accounts, or the quality of the discourse, or even how many people reply to your witty memes. Me? I prefer to look at how many people visit my blog from each site. It is an imperfect measure - and a vain one - but lets me know where I should be spending my time. No point posting on a network…

The Peaceful Transfer of Power in Open Source Projects

· 6 comments · 600 words · Viewed ~13,915 times


A book from 1680 written by Robert Filmer. Patriarcha - The Divine Right Of Kings.

Most of the people who run Open Source projects are mortal. Recent history shows us that they will all eventually die, or get bored, or win the lottery, or get sick, or be conscripted, or lose their mind. If you've ever visited a foreign country's national history museum, I guarantee you've read this little snippet: King Whatshisface was a wise and noble ruler who bought peace and prosperity…

Getting started with Mastodon's Quote Posts - technical implementation details for servers

· 5 comments · 650 words · Viewed ~594 times


Screenshot of me quoting a post.

Quoting posts on Mastodon is slightly complex. Because of the privacy conscious nature of the platform and its users, reposting isn't merely a case of sharing a URl. A user writes a status. The user can choose to make their statuses quotable or not. What happens when a quoter quotes that post? I've read through the specification and tried to simplify it. Quoting is a multi-step process: The…

Mastodon Now Sends Referer Headers! Hurrah!

· 4 comments · 650 words · Viewed ~762 times


Cartoon of a tusked mastodon holding a phone.

Back in 2022, I wrote this rather grumpy post on Mastodon, the federated social media platform. @Edent@mastodon.socialTerence EdenMastodon enforces a "noreferrer" on all external links.I have mixed feelings about that.As a blogger, I want to see *where* visitors are coming from. I also like to see (and sometimes join in) with the conversations they're having.But, I get that people want privacy…

Hashtag Standards (part deux)

· 1 comment · 400 words


Screenshot from the Twitter website showing hashtags being linked.

What is a hashtag? Fifteen years ago (fuck, I'm old) I started documenting what Twitter's nascent hashtags could and couldn't do. Back in 2010, this is how the official Twitter site linked hashtags. Notably, punctuation symbols didn't "count" as part of a tag. How does modern social media handle something like #Fish&Chips? Mastodon links directly to #Fish&Chips BlueSky links directly to…

A few thoughts on domain verification for social media

· 9 comments · 900 words · Viewed ~429 times


Glowing computer text showing dot com dot info etc.

Both Mastodon and BlueSky have the concept of "self-verification". Rather than trust a central authority to assess your notability and then bless your account (as Twitter used to do), they let anyone self-attest using Domain Verification. What does that mean? You tell the service what your website is. The service gives you a secret code. You upload that secret code onto your website. The…

Set your domain name as your handle for a BlueSky bot which is bridged from the Fediverse

· 3 comments · 300 words · Viewed ~316 times


A confused little cardboard robot is lost amongst the daisies

If you've found this page, it's because you are me in the future and want to remember these instructions! Create an account on the Fediverse using a domain you control For example @user@bots.example.com Follow the Fediverse-ATProto bridge @bsky.brid.gy@bsky.brid.gy Your account will need to be over 2 weeks old and have a name, profile picture, etc. You now have an account on BSky! Its…