Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)KO
kosmo @satl.ink
Posts 1
Comments 15
Mastodon federation & reinstallation
  • I expect that should be fine, but there's a URL signature scheme that is apparently involved, I'm worried that should I turn up a new instance, it won't federate with e.g. mastodon.social

  • Mastodon federation & reinstallation

    So, I experimented with running a mastodon instance on another domain. Due to issues with the "cache" directory actually requiring persistence, and thus somehow making all custom emojis 404, I decided to wipe it and try a different fediverse server on that domain. I didn't know about or expect to need to run tootctl self-destruct, so I dropped the database and installed something else. I still have the instance key around, but I realize I should have unsubscribed/deleted all accounts first. Is my other domain now broken permanently for the fediverse? Can I somehow use the extant instance key to unbreak it? I can't find clear documentation of the mastodon cryptosystem, and if it's permanent, this feels like a denial-of-service vector more than a security feature...

    3
    Following remote communities is hard.
  • I haven't used it yet, but I wrote a small service to combine webfinger from subdomains into a primary domain, and ended up abandoning it. You'd need to handle more than just the webfinger stuff, and be able to route activity pubs as well, and I'm still learning about the protocol enough to see if this is possible. I think the best case is that locally you might be [email protected], but would federate as [email protected], and webfinger/mentions would work for that, and something at example.com would route activity pubs appropriately to the "real" hosts with name rewriting.

  • Following remote communities is hard.
  • I'm not a frontend dev, and I feel like CORS stuff comes into play here, but it should be possible to do something like the "Sign In With Facebook" or "Pay with Paypal" type of redirect after asking the user for their host. At very worst it should be possible to have Instance B's backend send a call to Instance A after the user provides it with the name of the other instance, but you need to be careful about validating the legitimacy of the request in that case. There's a lot of room for better cryptography/signatures in activitypub I'd imagine that could help.

  • There's a word to describe anyone who still uses Twitter by choice (and isn't from a marginalised community): Complicit.
  • If Twitter were a store, people would have no problem boycotting it. I think the mentality change that is necessary for the 2020s is that you have a choice where to "spend" your generated content, just like you have a choice where to spend your money (ostensibly at least: ISPs, privatized utilities need not apply).

  • The time to streamline Lemmy onboaring is now. Let's do it like mastodon did.
  • Another problem with "everyone just joins lemmy.ml" is that eventually it becomes the weakest link, and other instances will either accept the hordes for the volume/content, or be forced to isolate. It's much better if we hide the cost of decentralization from users but also keep the decentralization as much as possible. It's not an easy problem, but it's worth solving.

  • Following remote communities is hard.
  • At the simplest I feel a chrome extension or similar would be straightforward. A more native flow doing some sort of faux login/modal that could subscribe on the primary host would be better.

  • Is docker documentation up to date?
  • Your reverse proxy is doing websockets incorrectly, there's some bogosity in the spec for websockets that makes them single hop and the proxy needs to propagate the upgrade request. Search for "nginx reverse proxy websocket", e.g. https://www.nginx.com/blog/websocket-nginx/

  • lemmy.ml is overloaded, use other instances instead
  • The backend especially is not too demanding (thanks to using a compiled binary via Rust). The database demands probably scale, but postgres scaling is relatively well understood. I think right now the least scalable parts look like the frontend node and websocket stuff, but that can be improved. I'm not sure how I feel about Activity Pub protocol wise, it feels pretty chatty, so transit scalability might be something else to consider.