New blog post: How to implement a basic ActivityPub server https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/
@Gargron What's the blog made with?
@angristan hugo
@Gargron Thanks. This actually seems a lot less intimidating than I thought it'd be, considering it's a w3c spec and all
@flussence @gargron intimidating specs don't survive long in the real world :P
@Gargron This is awesome, Eugen. Please go on with this series if you have time – I would have loved to have read it while I was trying to get my head around the spec; it would have saved me a lot of confusion :)
@Gargron very cool, thank you!
@Gargron Really appreciate this, thanks.
@gargron very cool, thank you. I’d love to read more such tutorials. 😀
@gargron
literally only a few hours ago i got my own activitypub compatible server to be recognizable to mastodon and got my user on it to show up in search
this blog post is helpful for my next steps
thank you
@Gargron it's really useful, I was thinking about implementing a lightweight server in rust (for fun and to learn rust) and that's precisely what I needed! Although the w3c paper is quite digestible it's good to have an explanation about signatures and all.
So thanks! If you post more details about following I would find it very helpful!
@bortzmeyer @Gargron More straight forward than https://www.w3.org/TR/social-web-protocols/
@bortzmeyer They're not in the spec! The spec left them "up to the implementation"
@bortzmeyer It's both bad and good. Lack of directions for transport and authentication layers means ActivityPub could be used over udp or websockets. Of course that's little use to us, since those layers being incompatible would cut us off.
@bortzmeyer That's us!
@bortzmeyer @Gargron mastodon hasn't complied to the spec in the past
@saxnot @bortzmeyer That's a lieeeee
@bortzmeyer @saxnot That, and the fact I literally was part of the AP design sessions, why would I violate the spec with my implementation if my implementation literally shaped the spec. The lie originates from the OStatus days, and even then it wasn't true, GNU social wasn't 100% compliant with the written specs and I refused to repeat those mistakes.
@bortzmeyer @Gargron oh this was my gut feeling but now it's official ?
@bortzmeyer @Gargron I proposed and volunteered to write Mastodon Client Conventions but it looks like we also need Mastodon ActivityPub profile
@bortzmeyer @saper ActivitySuite
@bortzmeyer I mean, you're kinda right because Mastodon predates ActivityPub and became popular before that. But why is it a failure? We have Mastodon, Misskey, Pleroma and PeerTube talking to each other using ActivityPub, Webfinger and HTTP Signatures. They may not all be written down in the ActivityPub spec because it's "up to the implementers" but they're all real standards!
@bortzmeyer ActivityPub is the language, and to use the language we need a transport layer. The designers of ActivityPub wanted that separation because it would not be possible to push the standard through W3C otherwise. What you're looking for is some kind of ActivityPubSuite standard.
@Gargron I'm just now getting around to reading this, but anything that says "Now to the hard part: You’ll need to generate an RSA keypair." is encouraging. TY!
(activitypub blogbacks???)
@Gargron wow great thank you