• 1 Post
  • 30 Comments
Joined 5 years ago
cake
Cake day: June 28th, 2020

help-circle




  • It is slow. Syntax & community idioms suck. The package ecosystem is a giant mess—constant dependency breakage, many supply-side attacks, quality is all over the place with many packages with failing tests or build that isn’t reproducible—& can largely be an effect of too many places saying this is the first language you should learn first. When it comes to running Python software on my machine, it always is the buggiest, breaks the most shipping new software, & uses more resources than other things.

    When I used to program in it, I thought Python was so versatile that it was the 2nd best language at everything. I learned more languages & thought it was 3rd best… then 4th… then realized it isn’t good at anything. The only reason it has things going for it is all the effort put into the big C libraries powering the math, AI, etc. libraries.




  • FYI for the other commenters, UnifiedPush can work thru the Prosody mod_unified_push or any server with a up where Conversations (& its forks like Cheogram, Monocles, Blabber) can be a distributor. This has the added bonus of coming with an awesome decentralized XMPP chat server getting to reuse a single connection & single app to server instead of separate ones. Conversations is the most efficient chat client on Android in terms of resources (battery, network, RAM) so might as well keep it lightweight—which you are probably trying to get push notifications from the likes of Signal or Element, but what is the point when you have an efficient XMPP server for your chat needs?

    However, I think UnifiedPush might be a bit flawed—as if the startup that created ntfy is pushing others to try to adopt their standard instead of getting folks on board with the older & capable MQTT (which also can be ran thru mod_mqtt on your XMPP server). I am not yet sure if this is a tinfoil take or not.







  • Pijul is also worth looking at.

    Fundamentally anything with a snapshot-based model is reliant on patch order mattering. As such you always end up with some centralized server. Pijul & Darcs are based on Patch Theory that says if Patch B is applied before or after Patch A assuming there is no conflict or dependence, it should not matter in a communicative way—that is to say the 1 + 2 ≡ 2 + 1. You can avoid a series of conflicts & better support a distibuted/decentralized development model if the order doesn’t matter.





  • It is de facto centralized around Matrix.org & the servers they run, which was originally funded by Israeli Intelligence so who knows what they are doing with all the metadata flowing to a single cluster of servers. Also using the eventual consistency model like a blockchain duplicating all data between all nodes while resilient is incredibly wasteful on storage & RAM. The costs are so high, most medium-sized servers with open sign-ups needed to shutdown due to storage costs & scaling up a node costing too many extra resource for CPU/RAM. There also wasn’t anything lacking about the prior arts—but open source & startup like to reinvent more things than they should.

    Ejabberd, which I mentioned, can run nodes with 2 million simultaneous connections per node & run on meager hardware in comparison with an extra decade of stability / battle testing.


  • Host your own XMPP node outside the country’s jurisdiction, turn on E2EE if it weirdly wasn’t on by default, & don’t trust the big centralized servers they could easily ban. Apparently everyone wants to dismiss XMPP since you can disable the E2EE (since it is a generic protocol for lots of stuff) despite encryption being on by default on every modern client—so there is your deniability 🙃 Unlike Matrix, the average user can afford to run it on a toaster too.