Does anyone know of a working implementation of the ActivityPub protocol in Racket?

Does anyone know of a working implementation of the ActivityPub protocol in Racket?

s.

3 Likes

I've been thinking about writing an implementation to use on my website. Would love to collaborate on it if you're interested! I am pretty new to Racket, so it would be nice to have another pair of eyes on the plan

2 Likes

Thanks @jacobhall

I'll admit I'm not sure if this is something I have the time to embark on.

What capabilities would your website need?

Μy understanding of is ActivityPub provides two layers:

  • A server to server federation protocol (so decentralized websites can share information)
  • A client to server protocol (so users, including real-world users, bots, and other automated processes, can communicate with ActivityPub using their accounts on servers, from a phone or desktop or web application or whatever)

In addition, Mastodon has its own client api https://docs.joinmastodon.org/client/

I did find an implementation in scheme but I don’t know if it is used and have not reviewed it: https://codeberg.org/WammKD/Guile-Mastodon

S.

Also, this may be well-known to y'all but I don't know for sure: Christine Lemmer-Webber, one of the four authors of the ActivityPub w3c recommendation, has participated in several RacketCons, and may have useful information in this space.

2 Likes

In response to @spdegabrielle above -- I'm interested in implementing the server to server federation protocol.

With a few more pressing projects at the moment, it might be a while before I take a stab at this. To anyone who comes across this thread, feel free to ping me if you'd like to get this going together.

1 Like

In response to @spdegabrielle above -- I'm interested in implementing the server to server federation protocol.

With a few more pressing projects at the moment, it might be a while before I take a stab at this. To anyone who comes across this thread, feel free to ping me if you'd like to get this going together.

I have implemented the OSI transport and (partial) session layers about 30 years ago.

I know nothing about any networking in Racket, nor about the Activitypub protocol.

But I'm interested,
Butbecause I have attention deficit, I may have difficulty finding the time to work on this project. (much like you, but for differet reasons).

-- hendrik

3 Likes

@jacobhall & @hendrikboom3

I'd suggest finding a platform that will let you collaborate asynchronously, that you can publish the address of here so others can join in.

While there are many options, not all based on git, these are some I've seen racketeers use:

(not an endorsement - I've only used GitHub in anger so I can't provide a comparison)

1 Like

these are some I've seen racketeers use

@spdegabrielle git feels like the move. I have accounts on all of the services you listed, so I'm cool with whichever. That said, GitHub is usually my choice because in my experience there are more people who know that platform and might contribute. If we go that route, we could perhaps mirror the project to Sourcehut and/or GitLab. If that would prevent your contributions though, let's use a platform you're comfortable on! @hendrikboom3, any thoughts?

1 Like