Follow

Hello, World! Would you like to see a question and answers platform like Quora/StackExchange with ActivityPub support? And if yes, then how would such a platform be beneficial to you?

@tuxether I certainly do. Many problems that stem from climate change can probably not be solved anymore, but perhaps we can prevent the worst by sticking our heads together. Please keep me posted and let me know if I can help. Thx.

@tuxether A platform where you can ask any question and get answers or find a question and provide an answer while not even leaving your Mastodon account, and that will keep all those questions organised for future use by community? Fuck yeah, I'd like that very much!

@tuxether Am working on just such a platform in Go.
I'd certainly be open to sharing the code and joining forces with whoever is interested.

It's early stages, but moving along.

@MatejLach I was thinking of using the go-fed library written by @cj. How are you implementing it in go?

@tuxether

I'm actually implementing AP myself, manually, no autogenerated code. I want the code to be nice and readable + I wanted to implement it myself for the experience.

I have it up on GitHub in a private repo, I'll open-source once it's a bit more fleshed out, but I'll invite you to take a look if you want.

Just need your GitHub username if you have one.

@cj

@MatejLach @tuxether Oof, hand rolling all the JSON ways of functional properties is not easy!

@cj
Yeah, it's rather frustrating at times and slows progress down considerably, but am almost done with the vocabulary and it looks pretty neat.

@tuxether

@cj
But doing it all manually makes me understand perfectly why people wouldn't want to.

@tuxether

@MatejLach @cj Wouldn't doing it manually result in several 100,000 lines of Go code? That's a lot of code to maintain.

@tuxether
I don't think so, but am far from done yet. Why would it be so large?

@cj

@MatejLach @cj The go-fed/activity library is about 40,000 lines of Go code that codegens about 500,00 lines of Go code.

@tuxether @MatejLach To be fair, v1 generates a lot less lines of code. But it is no less trivial.

Can experimentally play with it on the v1.0.0 branch here:

github.com/go-fed/activity/tre

@tuxether

Well, my code's structured completely differently. But I guess we'll see how it goes. Am certainly for a design allowing for thousands of lines of code, not tens of thousands.

Now it may not be as rigorously strict implementation as go-fed generates, but am just aiming for something that works and is nicely maintainable.

@cj

@MatejLach @tuxether That's all fine and well, just would hate to see a Golang app break because it can't handle the stupid things that can be done in an ActivityStreams object.

@MatejLach @tuxether And I don't want you to get the wrong impression, I know a few other folks rolling their own ActivityPub in Golang. I am just happy to have an ecosystem that is growing!

@cj
Yeah, it's as much a personal challenge if I can pull it off as anything.

Your lib is definitely appreciated btw, it helped me get inspired a number of times already. :-)

@tuxether

@tuxether if it's better than shouting into the void with a #AskMastodon I'm here for it

Sign in to participate in the conversation
FLOSS.social

FLOSS.social was launched on 1 April 2018 as a Mastodon instance for people who care about, support, or build Free, Libre, and Open Source Software (FLOSS). Of course, discussions aren't limited to just FLOSS -- let's share our unique interests! English is preferred for maximum conversation opportunities within the FLOSS community, but it is not required. Respect is required, however: Users on FLOSS.social agree to abide by the Contributor Covenant Code of Conduct. This service was installed and is maintained in part by Masto.Host with equipment located at OVH. You can support this instance financially through the Monthly Supporter Program, processed through CommitChange using the free software Houdini Project.