Live data from Hacker News

Ergo Chat – A modern IRC server written in Go

github.com

51–60 of 163 posts

Re: Ergo Chat – A modern IRC server written in Go

#52

IRC is often romanticized, but after working with its protocol spec, I found it rather unsavory. Its unstructured message format looks like this: :User1 PRIVMSG User2 :Hello, are you receiving this message? While this might look fine at first glance, the lack of more regular structure caused issues. Some messages are easier to parse than others. Each implementation introduced quirks and variations, creating countless…

Matrix was invented because XMPP was getting too complex.

Are we once again at a point where it's time to start over?

A federated asynchronous group chat protocol with modern e2e encryption for desktop and mobile use (thus, not always online) is impossible to build without a faire share of complicated corner cases.

Re: Ergo Chat – A modern IRC server written in Go

#54
post #2

I've been running Ergo for the past year for my friends/family chat. I went this route because of the ease of hosting, very low resource requirements and a protocol and codebase that I feel I can understand and debug if needed. The v3 chathistory support and the always-on[1] multi-client[2] features paired with modern clients (like Goguma) go a long way at providing a modern chat environment. Most others on the serve…

I think ircd is the wrong layer to attach those features to.

You can run something like thelounge and have that on any server.

Re: Ergo Chat – A modern IRC server written in Go

#55
post #29

Whenever IRC comes along, someone mentions its lack of chathistory/backlog as a missing feature. Having witnessed what Discord have wrought, I am now in the firm belief that backlog - at least for communities - is an anti-feature . Because the logs persists between sessions, people start to post things there for perpetuity, a task classically reserved for bulletin forums. Without a server-side backlog, the chat is fl…

Perhaps what we need is a group chat that automatically maintains a summary of relevant chat history created by AI?

The AI could maintain a Wiki with relevant stuff gathered from the discussions.

Not sure if it's good enough today, but it does seem like an interesting prospect. Not many people like filling Wikis.

Re: Ergo Chat – A modern IRC server written in Go

#56
post #52

IRC is often romanticized, but after working with its protocol spec, I found it rather unsavory. Its unstructured message format looks like this: :User1 PRIVMSG User2 :Hello, are you receiving this message? While this might look fine at first glance, the lack of more regular structure caused issues. Some messages are easier to parse than others. Each implementation introduced quirks and variations, creating countless…

Matrix was invented because XMPP was getting too complex. Are we once again at a point where it's time to start over? A federated asynchronous group chat protocol with modern e2e encryption for desktop and mobile use (thus, not always online) is impossible to build without a faire share of complicated corner cases.

> Are we once again at a point where it's time to start over?

Ask Sisyphus.

In the meantime, while everything else keeps going through newer iterations of XKCD 927 (https://xkcd.com/927/), IRC keeps chugging along, and gaining new features and functionality as it enters its fourth decade despite the previous commenter's gripes.

Re: Ergo Chat – A modern IRC server written in Go

#57
post #45

Earlier quoted context omitted.

IRC is also a walled garden.

IRC is pretty much the opposite of the definition of a walled garden. Its content is not discoverable by search engines by default, but that is not the definition of a walled garden, which is typically a synonym for closed platforms where you have no choice how to access their content (e.g. being forced to use a specific client software).

Hm, for me the definition of the walled garden is "you have to have an account to see any discussions"

Re: Ergo Chat – A modern IRC server written in Go

#58
post #45

Earlier quoted context omitted.

IRC is also a walled garden.

IRC is pretty much the opposite of the definition of a walled garden. Its content is not discoverable by search engines by default, but that is not the definition of a walled garden, which is typically a synonym for closed platforms where you have no choice how to access their content (e.g. being forced to use a specific client software).

But in general IRC is not really archived etc? So just as throw-away as Discord imo.

Re: Ergo Chat – A modern IRC server written in Go

#59
post #56
post #52

Earlier quoted context omitted.

Matrix was invented because XMPP was getting too complex. Are we once again at a point where it's time to start over? A federated asynchronous group chat protocol with modern e2e encryption for desktop and mobile use (thus, not always online) is impossible to build without a faire share of complicated corner cases.

> Are we once again at a point where it's time to start over? Ask Sisyphus. In the meantime, while everything else keeps going through newer iterations of XKCD 927 ( https://xkcd.com/927/ ), IRC keeps chugging along, and gaining new features and functionality as it enters its fourth decade despite the previous commenter's gripes.

> Ask Sisyphus.

that doesn't make any sense.

Re: Ergo Chat – A modern IRC server written in Go

#60
post #2

I've been running Ergo for the past year for my friends/family chat. I went this route because of the ease of hosting, very low resource requirements and a protocol and codebase that I feel I can understand and debug if needed. The v3 chathistory support and the always-on[1] multi-client[2] features paired with modern clients (like Goguma) go a long way at providing a modern chat environment. Most others on the serve…

Interesting, does push notification work? Will phones receive messages and notify while sleeping?

This explains the notification options with Goguma, the mobile client we use: https://codeberg.org/emersion/goguma/src/branch/master/doc/n...

I didn't bother setting up proper push notification so we use the "Servers supporting chathistory" mode. This means that when the app is not in the foreground a workmanager task polls every few minutes. So in this mode notifications can be delayed by a few minutes which is fine for our use case.

Post reply on HN