• 0 Posts
  • 18 Comments
Joined 29 days ago
cake
Cake day: February 6th, 2025

help-circle
  • Matrix is probably something worth looking at, at least from an intellectual standpoint, for you. It uses shared message state and a DAG, plus some fancy perfect forward secrecy (using Signal’s Double Ratchet algorithm), which is at least interesting. There’s also Tox (chat/protocol) if you want totally distributed chat.

    Personally, I really like distributed models from a theoretical standpoint; but for end-user applications they pose very difficult constraints, we live in a world with ⪅50% publicly routed IP for one, they fundamentally require immense data replication, latency in peer-finding, bandwidth constraints, and ultimately sub-par UX. I thought IPFS with a way to pay nodes to pin content was a really neat idea, but hasn’t caught on, for example. Not to discourage you, if you think it’s workable then have at it, but I think it at least explains the current state of things.


  • I do think the other home server implementations gaining parity (production-ready) with the reference home server would go a long way. I haven’t run a home server but I’ve heard from those that have that it really has a hard time scaling. (Though this serves as impetus to give it a try over spring break)

    Which brings me to the caveats of the protocol, I personally don’t think the design is ideal, it’s more described as a distributed message bus, what I’ve read of the spec it’s over engineered, it made good decisions wrt using modern web technologies (JSON, WebRTC), but it didn’t scope itself to the particular task.

    That said, I haven’t written a federated protocol, and they have. But if I was going to, I’d really want to look at Discord and see how to copy a lot of that model, but break parts of it out to facilitate federation:

    I originally wrote a huge hypothetical design here that I speculated would fare better, but honestly the specifics become less relevant, point is that the shared state of rooms is a real challenge, and one out of scope for just a federated instant messaging system, and I’m no longer certain it’s viable.


  • I really wish Matrix had been more successful, but it has some pretty core problems that prevented it from gaining more traction.

    It fell into the same trap as XMPP, though perhaps even worse, with a focus more on its protocol and specification than a single unified product vision. The reference server implementation is slow, and using a language not optimal for its purpose, with alternative server implementations left incomplete and unsupported. It took a long time for them to figure out voice and video and for it to work well, and the “user flow” still isn’t at Discord levels.

    I’ve rooted for Matrix for a long time, but as a former XMPP evangelist, to me the writing on the wall says it isn’t suited for success either. I’d love to be wrong, but I don’t see a way through.




  • Rust By Example is very good for showing the ropes in a very practical way, that’s how I got up and running with it.

    Secondly is the O’Reilly book Programming Rust, which is probably closer to what you want, it explains the actual technical details of much of the language, and to me seems written for an audience that already knows programming. Lastly would be Rust for Rustaceans by No Starch Press, if you actually do want to pursue Rust further, as it discusses very, very in detail the systems of the language, and how they can be used to make something so powerful like Serde.









  • In my experience these “containment” boards/servers/sections tend not to work.

    Long term it basically just creates a place that attracts those you don’t want, and becomes place for those ideologies to spread. Then it either gets bad enough they take over (you know the site) or they break off wholesale and form a new community dedicated to those worst impulses (pyrrhic victory at best).

    The best policy is to actively moderate, and in the case of the fediverse, defederate, those groups and those that give them shelter.



  • Somewhat out of scope for this specific article, but in the States’ a lot of cities only make announcements over Tw*tter or Facebook.

    I was planning on going to a 4th of July parade with my family, and I only learned it was cancelled (wildfires) because somebody else told me, who was following there, the city website had no mechanism for this kind of news.

    Which is really what I’d prefer to see, websites maintained for announcements, and if they want to also post that news on other social media they can use software to crosspost. Also RSS feeds for those who still use readers, plenty of ‘Content Management’ suites provide that functionality by default.