Hacker News new | past | comments | ask | show | jobs | submit login

I've been on IRC since the 90's and was an Op for Undernet #Linux & #Japan for many years, used to run an IRC server for a small IRC network back in my London days, and also ran a server for the same little network in my Japan days...

The article was excellent, however, it made no mention of Matrix.

Matrix, like IRC, is decentralised.

You can run your own homeserver - just like running an ircd.

Connecting to a Matrix homeserver with a suitable client - I use Element - you get all the equivalent benefits of IRC (chat) but with the additional Discord-like benefits of being able to post images in-chat, text formatting.

Another benefit is chat history (if configured for a room). Also, fully encrypted rooms. You can have voice and video rooms too.

What I'm trying to say, I suppose, is that I'm a full convert now to Matrix. It's better than Discord in that Discord is a walled garden, whereas Matrix - like IRC - is completely decentralised, and I highly recommend using Matrix over IRC these days.




Many who have causally read about Matrix and looked into running a homeserver have run across the reference implementation Synapse, which is (IMO only, pls no flame) a bloated python monstrosity. This turned me off for years.

A second-gen (?) alternative written in Go called Dendrite is much lighter weight, but is lacking in some features last I looked.

A couple of years ago, I found Conduit (https://conduit.rs/) an ultra lightweight homeserver implementation written in Rust with an engaged and responsive community. I've been running this for 18-24 months now and use it for family communications, as well as small business and my group at my $DAYJOB. I highly recommend anyone who hasn't already to check out Conduit :)


>bloated python monstrosity

>an ultra lightweight

370 crates in Cargo.lock

176 crates downloaded by cargo-tree


Not a surprise, Rust has attracted the Node.js crowd and they've brought their packaging philosophy with them, if not their love for reinventing the wheel every few weeks.


lightweight refers to resource utilization; it's disingenuous to pretend that has anything to do with compile-time dependencies.


To be fair this is a problem of the Rust web ecosystem. Include a few de-facto standard Rust web crates and you're up to 200 transitive dependencies


Thanks, will check it out. Last time I looked, dendrite, construct, and conduit were not ready, so synapse was the only option (which I used).

Look forward to trying out conduit.


Its still somewhat slow with loading existing chats but Matrix has serious potential. It is already doing much better than the fediverse in terms of discovering niche communities.


Matrix 2.0 will put an end to that trait plaguing the protocol's viability. With the new "sliding" sync, clients will be able to fetch stuff much more efficiently (and more akin to Discord's API, for example) than before. Syncing an freshly logged-in account takes seconds instead of minutes and syncing messages when returning to the app is instant. They presented this at FOSDEM this year: https://www.youtube.com/watch?v=eUPJ9zFV5IE


Agreed.

Some rooms have so many user and so much chat history, that my own puny homeserver struggles to join them. I've tried all sorts of tweaks - from tweaking the PostgreSQL service, to using things like noatime etc. on the ext4 filesystem. This has helped immensely, but some rooms, like the Python room on matrix.org, brings my homeserver to its knees :)

Perhaps in the future the Synapse devs will improve the code so that mammoth rooms don't bring more resource-starved homeservers down. Alternatively I could throw more resources at the homeserver, but for my use-case, the 6GB ram and 6 cores I assign to the VM running the Synapse instance and the PostgreSQL service - and the IRC bridge heheh - is the bare-minimum I can get away with.

On saying all that, I like Matrix more than I like IRC, nowadays, and more folks should IMO get on Matrix.

(p.s. custom emoji's would be lovely on Matrix ;) )


So somebody running a Matrix home server needs an excess of 6GB of RAM and 6 devoted cores? And you call that puny??


conduit runs on pi zero -- though you can't directly migrate so that is of limited use to you. It would probably fail to join matrixhq or python room but, this is due to obvious resource constraints. Any reasonable horsepower and you won't have an issue.


The slow loading and tracking of who has read what are the two biggest gripes I have about the protocol.

If I'm joining a huge channel with thousands of people I _really_ don't care whether astroboy8756 has read my message or not. I don't want that traffic to enter my client at all.


Same thought – I was surprised to see no mention of Matrix or XMPP.


XMPP is a monstrosity, just let it die… The X is why it failed, depending on the client used by participants, some features wouldn’t work as expected. I remember someone shitting me because the messages I sent were ugly in his client, maybe because of a bad font on one side or the other or something, don’t know, don’t care.


This may sound true, until you realize that matrix is just as extensible, and it has the same problem with clients which don’t support the full set of features.

This is not the problem. I’d say that XMPP is just as alive as Matrix, except it’s not so hip anymore. It definitely feels faster with more mature clients.


Pretty sure the client feature parity problem is inherent to open ecosystems with many vendors with varying priorities and budgets. Just look at the web back when there were more browsers in the game, or email clients etc.


Absolutely. Which may be a lesser problem than a closed protocol.


Big miss


Do you have the same opinion on GitHub, a completely closed source Git frontend where 99% of OSS code lives?


In a way, I do.

Which is why I use self-hosted Gitlab ;)




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: