News for hackers. Stuff that matters.
Re:Kchat: Persistent group chat in <50 lines using kdb+/k/q ... by toastal on Tuesday May 09, 2023 @04:35AM (#35871603)
Matrix has its de facto centralized server in Matrix.org where almost all rooms will have its data sent through because of accounts joining rooms. The servers have been too heavy/expensive for self-hosting that many end up relying on the big servers to use (maybe the Rust server will help, Dendrite?), but the “resilience” mentioned is a big cause for this expense (similar issues with Mastodon). JSON isn’t superior to XML--it can be in some cases but it’s not without drawbacks; experimental EXI could help with the size. XEPs are an ad hoc unified spec, and the buy-into-or-not nature has some advantages where it’s easier to experiment and fallbacks are common even with fragmentation. OMEMO isn’t perfect, but it does cover multi-device encryption and carbons work to get message history.

I like Matrix. But I don’t think it’s the only or best solution; the XMPP solution should be looked at more often. XMPP offers additional flexibility as well not being limited to just a chat/communications platform where folks use it for presence, UnifiedPush, etc.

Re:Kchat: Persistent group chat in <50 lines using kdb+/k/q ... by panick21_ on Tuesday May 09, 2023 @05:45AM (#35871952)
Its not to big to self host. It uses maybe a bit to much memory but anybody that has a real server (more then a Pi) can host it mostly fine. And many do.

Most federated system have one large server that has many users.

Re:Kchat: Persistent group chat in <50 lines using kdb+/k/q ... by toastal on Tuesday May 09, 2023 @05:51AM (#35871983)
I hosted an ejabbard server on a 2014 smart phone for a while earlier this year. ejabbard & Prosody are reasonable to host using DDNS on a home network on just about any hardware which is much more accessible and decentralized than needing a “real server”.
Re:Kchat: Persistent group chat in <50 lines using kdb+/k/q ... by wkat4242 on Tuesday May 09, 2023 @05:49AM (#35871973)
There's many servers on matrix and even synapse isn't that heavy.

What bothers me the most about xmpp is that only the barebones stuff is in the main spec and everything else is in extensions which creates a complex maze of support by servers and clients alike.

I've used both but I like matrix the most. Its bridges also seem the most mature.

Re:Kchat: Persistent group chat in <50 lines using kdb+/k/q ... by toastal on Tuesday May 09, 2023 @05:56AM (#35872009)
Being barebones is a part of the selling point for an eXtensible platform though. ejabberd came with really good defaults, and Prosody only a little painful (though most of that could be chalked up to DNS being a pain + Nginx behaving unexpectedly). If you need something more turnkey, Snikkit can be useful if you believe Docker is a good idea.
Re:Kchat: Persistent group chat in <50 lines using kdb+/k/q ... by wkat4242 on Tuesday May 09, 2023 @06:04AM (#35872057)
> Being barebones is a part of the selling point for an eXtensible platform though.

Understood but as a user I don't want core functionality like history to be hidden behind extensions which may or may not be supported or need additional components to client or server.

As a user (and home server operator) I found that Matrix+Element gives me a much better user experience with much less fuss (though I admit it was more than 5 years ago when I last ran ejabberd). And the bridges are amazing, just what I needed. Because Matrix is not very useful until everyone uses it, for the transition there are bridges.

I don't really care about the underlying architecture, I just want it to easily provide me a modern chat experience.

Re:Kchat: Persistent group chat in <50 lines using kdb+/k/q ... by toastal on Tuesday May 09, 2023 @06:15AM (#35872125)
> core functionality like history

I won’t disagree with this. It could be a part of the main spec, but there’s some novelty knowing you could do a ‘complete’ server or client in a day. There are certainly different modern expectations than compared to IRC. Compared to the OP, barebones XMPP is much closer to a ‘simple chat’.

> bridges

XMPP + libpurple were trying to do similar things. For a hot minute everyone, even the like of Facebook Chat and whatever Google’s chat was named at the time, was using XMPP til they all decided to go for a proprietary option and users had the option to chat from anywhere with anyone. That doesn’t discount Matrix for doing something needed now. Proprietary chat lock-in runs in cycles. Here’s to hoping they don’t adopt & abandon Matrix.

Re:Kchat: Persistent group chat in <50 lines using kdb+/k/q ... by wkat4242 on Tuesday May 09, 2023 @07:40AM (#35872791)
> I won’t disagree with this. It could be a part of the main spec, but there’s some novelty knowing you could do a ‘complete’ server or client in a day. There are certainly different modern expectations than compared to IRC. Compared to the OP, barebones XMPP is much closer to a ‘simple chat’.

Novelty sure but it's not really complete in terms of what a user expects. I still use IRC a lot too but with a client that provides all the mod cons I need.

There's just the reality that "simple chat" akin to ICQ in its early days, is just not what people want anymore.

> XMPP + libpurple were trying to do similar things. For a hot minute everyone, even the like of Facebook Chat and whatever Google’s chat was named at the time, was using XMPP til they all decided to go for a proprietary option and users had the option to chat from anywhere with anyone. That doesn’t discount Matrix for doing something needed now. Proprietary chat lock-in runs in cycles. Here’s to hoping they don’t adopt & abandon Matrix.

Yeah I know, they killed federation, I guess basically because of marketing. If google chat users can reach facebook chat users there's no need to sign up for facebook chat, thus less data mining. Keeping users in the walled garden is a goal.

This is also why I dislike Signal so much, they even ban other versions of their supposedly open client. I'll never adopt that as a whatsapp replacement because it's simply no better in terms of lock-in. I don't want yet another walled garden.

It doesn't really matter if the third party apps adopt Matrix and stop federating. It won't be any worse than it is now. I'll just bridge where needed.