logoalt Hacker News

Parley: Federated, decentralised chat that speaks plain IRC

155 points • by davidcollantes • today at 10:30 AM • 77 comments • view on HN

Comments

Conlectus • today at 12:27 PM

There’s a specific downside to LLM-based development that people can get neck deep in a new project without interfacing with the existing work in the field.

In this case, this is basically a poorly specified implementation of half of XMPP. Of course, I half expect the LLM would have mentioned that at some point, but the repository does not.

➕ show 6 replies
xena • today at 1:22 PM

How do you plan to handle bad actors creating biblical amounts of servers dynamically and then spamming at line rate from all of those servers?

➕ show 1 reply
singpolyma3 • today at 12:24 PM

So rooms are "global" between whatever hosts your host happens to know about? So it's one giant netsplit party forever and only your server admin can ban someone?

➕ show 1 reply
rixed • today at 12:47 PM

Instead of a separate federated network for a single app, why not implement the app on top of a pre-existing federated network, so that nobody has to create yet another account? Like, on top of atproto or activitypods or...?

➕ show 1 reply
aunderscored • today at 11:41 AM

Interesting. Why not use an open link network? These will result in around the same state. Spam _will_ be an issue here, in general. And with a different backend you're going to struggle to use preexisting tooling to handle it.

Using & channels is fun, I'd be interested to see how many bots and clients fall over dead when faced with that particular bit of IRC history.

➕ show 1 reply
user2722 • today at 12:13 PM

I had a pseudo-plan for something like this but for reasons related to privacy I had two types of chatrooms:

* regular chats, existing only on the server, no leaking the chat transcript except via users, but never via server to server.

* chambers: a global chatroom, located at a server, maybe with a MQTT anyone could subscribe to.

This never left the early planning stages though, but I thought the segregation between federated chatrooms and regular chatrooms was of interest to keep in sync with IRC open but closed nature of chats.

➕ show 1 reply
mococa • today at 1:06 PM

Besides not having C runtime linked (which is great for scratch/distroless Docker images) - any other advantage of using a pure Go SQLite instead of the C binding?

someonebaggy • today at 11:56 AM

Vibecoded?

➕ show 1 reply
Marlinski • today at 11:46 AM

Give me a day and I'll implement it in my agent-oriented IRC server https://github.com/marlinski/airc !

➕ show 1 reply
davidcollantes • today at 10:30 AM

Parley is a chat network with no centre.

Every person (or team) runs a small instance for their own domain. Instances find each other through DNS and well-known identity documents, exchange signed messages over HTTPS, and present the whole federated network to ordinary IRC clients such as Lurker, Mango, mIRC, WeeChat, Textual, etc., without the need of any plugins.

➕ show 2 replies
lnxg33k1 • today at 2:09 PM

But isn't IRC already federated?

➕ show 1 reply
myaccountonhn • today at 11:16 AM

I quite like this, but it feels like spam could quickly become a concern.

➕ show 1 reply
jagermo • today at 1:12 PM

is there a list of public instances one could join somewhere? I kind of want to dip into irc again. it was peaceful.

➕ show 1 reply
shreddit • today at 11:17 AM

This is exactly what i was thinking about for the last few weeks (but am too stupid to implement myself).

It’s like email just for IM…

➕ show 2 replies
padolsey • today at 11:19 AM

Both cool and worryingly convenient for the botswarms we've been warned of...

calvinmorrison • today at 12:13 PM

I recall this bait and switch. It was called Slack

➕ show 2 replies
pixel_popping • today at 12:35 PM

The connection to git.mills.io was interrupted while the page was loading.

➕ show 1 reply
okwhateverdude • today at 11:23 AM

lol, so XMPP, but instead of XML, it is IRC. Alright, I dig it.

➕ show 1 reply
nahid-fahh • today at 11:35 AM

[dead]

thomasreiminger • today at 1:15 PM

[dead]