You may have noticed me doing research about the technology stacks being used by apps, this is because I'm involved in a couple federated projects (both of which are new use cases, and extending the format).

One of those (current dayjob) is (for educators to curate educational resources together), and we now decided to use for the back-end, which I explain in detail here:

I'm open for feedback & collaboration requests!

@mayel ActivityPub---the protocol favoring dynamically typed languages. *Sigh*

@tuxether It's less about the protocol and more about wanting to be generous and tolerant (if you can put it that way) in terms of interoperabilty.

@mayel Thanks for the great read! Glad you have found the best choice for your needs.

It's a bummer that static typing is viewed as an obstacle -- especially in terms of flexibility. Static typing eliminates a whole class of errors (and Go's duck typing of interfaces is pretty flexible), & the static/dynamic typing just forces folks to consider errors at compile time vs runtime.

I am excited for y'all, and will use this as motivation for future features. :)

in Elixir the need for static typing is reduced due to guards and structs


feel free to reach out if you are interested in incubating some of those things in upstream pleroma.

we definitely are interested in doing a lot of those same initiatives for pleroma 2.x series, especially cleaning up the AP code so that it is more modularized, as well as making it possible to run pleroma without OStatus transport and so on.


That's good to hear! Do you have any more details about your plans & timelines? I'll also look around the issue tracker in more detail.


i missed this somehow.

right now, we plan to release pleroma 1.0 very soon. the last few prerequisites for that are hopefully going in over the next week or two. after that, the tree is basically open for whatever.

Woohoo! I have no helpful ideas atm but yay! Your projects sound awesome.

@mayel Good call with Elixir. I use Go in my dayjob and appreciate both its concurrency and lack of robustness. Having a process not crash the whole system, and choosing Elixir over more popular languages, makes it clear that you're prioritizing robustness. That's a refreshing change of pace.

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!