Mastodon Now Sends Referer Headers! Hurrah!


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 and don't want to "leak" where they're visiting from.Is it such a bad thing to tell a website "I was…

Continue reading →

Self Hosting is an Unhelpful Term


A router with lots of fibre optic and ethernet cables plugged in.

Mathew Duggan has a brilliant post called "Self-Hosting Isn't a Solution; It's A Patch". In it, he (correctly and convincingly) argues that compelling people to run their own computer services is a complex and distracting crutch for the current problems we face. It's expensive to self-host, there are moderation problems, and the difficulty level is too high for most people. But, in my opinion, I think he misunderstands something about self-hosting because, as a term, it is both misleading and …

Continue reading →

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


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 name will be something like user.bots.example.com.ap.brid.gy Get the DID of your account …

Continue reading →

Introducing ActivityBot - the simplest way to build Mastodon Bots


Logo for ActivityPub.

As you may have read, BotsIn.Space is closing down, I have lots of automated bot accounts living on the Fediverse - and I want them to continue posting. Installing and maintaining an entire Mastodon instance sounds like hard work. Paying people to host my stuff feels like putting my fate in someone else's hands. Say… didn't I write my own ActivityPub server? Why, yes! Yes I did! I took the code and stripped it down to the bare essentials. All you need to do is upload two files - index.php a…

Continue reading →

No, ActivityPub votes aren't anonymous


Logo for ActivityPub.

Several years ago, I posted this poll on Twitter. Terence Eden is on Mastodon@edentIf the recent Twitter hack had exposed they way you voted on every Twitter poll, how would you feel?(There is no suggestion that this has happened, I'm just curious about people's relationships to voting and privacy.)Meh. So what?: (167)167Hmph. That's annoying.: (68)68Umm… This could be bad!: (32)32Delete account & run away: (8)8❤️ 0💬 8🔁 005:55 - Thu 23 July 2020 Most of the tech world that I interact with has …

Continue reading →

The Limits of Organic Growth for Startups and Social Networks


A tiny lego Storm Trooper eats a chocolate coin.

Many years ago, when I was younger and more foolish, I worked for an advertising startup. Things seemed to be going pretty well! The office was expanding, the sales team was screaming into phones, the budget for servers was rising. Growth had been healthy, but now looked to be plateauing. One day we were summoned into a large conference room. Our CEO was on the speakerphone (I told you this was a long time ago) with an important update on our financial situation. I think every arsehole in the …

Continue reading →

The Fediverse of Things


Binary code displayed on a screen.

One of the most frustrating things in modern technology is the effort spent trying to artificially restrict abundance. Take, for example, this tale from museum-worker Aaron Cope: I was out with a friend who worked for Twitter and I asked them whether it would be possible for the museum to “create 200,000 Twitter accounts, one for each object in the Cooper Hewitt’s collection”. My friend looked at me for a moment, laughed, and then simply said: No. In that blog post, Aaron reveals that the…

Continue reading →

HTTP Signature Infinite Loop?


A padlock engraved into a circuit board.

I'm trying to get my head round HTTP Signatures as they're used extensively in the Fediverse. Conceptually, they're relatively straightforward. You send me a normal HTTP request. For example, you want to POST something to https://example.com/data You send me these headers: POST /data Host: example.com Date: Sat, 24 Feb 2024 14:43:48 GMT Accept-Encoding: gzip Digest: SHA-256=aaC57TDzM0Wq+50We2TkCsdMDvdqON92edg7KI+Hk8M= Content-Type: application/activity+json Signature:…

Continue reading →

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 English letters at all!!! A decade ago, I was miffed that GitHub only supported some ASCII characters in its project names. There's no technical reason why your repo can't …

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 flat files. But it will happily send messages and allow itself to be followed. This shows that it is totally possible to broadcast fully-featured ActivityPub…

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". 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 divided into two parts. Get nearby "Points of Interest" (POI) from OpenStreetMap. Share a location…

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 of Kbin. That's pretty cool! A user on one social network can mention a user on a different social network - neither needs to be registered on the other. And that is where things get a…

Continue reading →