Live data from Hacker News

Ergo Chat – A modern IRC server written in Go

github.com

61–70 of 163 posts

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

#61

Earlier quoted context omitted.

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"

Which you don’t need for irc. Also pretty sure that’s not an accurate definition as you can be walked without needing an account technically.

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

#62

Earlier quoted context omitted.

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"

[deleted]

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

#63
post #45

Earlier quoted context omitted.

Just think of all that information, stuck in the walled garden, away from the prying eyes of search engines or any other forms of public discoverability. Just waiting to get flushed down the drain or shoved into the training data of a future round of AI crapware...

IRC is also a walled garden.

It's not a website a search engine can crawl but anyone on the internet can log all the messages on IRC as long as they want without any restrictions. In fact if you are nice, you will never need to login and can have conversation for as long as you want with a guest login. It is not a walled garden.

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

#64
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.

I guess I did not make the scope of the project clear. Both Matrix and XMPP specs add up to 100s of pages, 500 or so give or take. IRCv3 seems to be over 100 pages too. In comparison, Gemini is about 10 pages long or so.

A bunch of people here talk about setting up a small server for family and friends, so I think a smaller protocol, akin to Gemini in size, could be a lot of fun to work with for small scale deployments.

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

#65
post #58

Earlier quoted context omitted.

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.

However on IRC this is not for technical reasons, but limited interest.

Pre-LLM-GenAI gathering information from huge chat logs was quite limited.

But different extraction mechanisms always existed. Some people kept logs, some servers/channels had web-archives.

Discord tries to keep it exclusive to them.

(Focussing on technical side here, whether it's socially wanted is a different big question, which ends with a "it depends")

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

#66
post #34
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…

Fully agreed, but let's not forget the psychological quirk of Discord moderators loving to divide the world into neat little boxes, so the mark of any established server is the myriad of different topic channels. Every single community has become a silo with their own memes channel. It's like they emulate modern social media websites where they try to keep you engaged and in one spot forever. I find it dystopian and…

[deleted]

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

#67

Earlier quoted context omitted.

your family and friends care enough to download and set this up?

The last line of OP: "The built-in websocket support is another key feature for me since it lets me to provide a web client just by serving some static files (I use Gamja for this)." https://github.com/Libera-Chat/gamja

https://codeberg.org/emersion/gamja is probably what you want, the repo above seems like a local branch and it's a few months behind.

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

#68
post #45

Earlier quoted context omitted.

Just think of all that information, stuck in the walled garden, away from the prying eyes of search engines or any other forms of public discoverability. Just waiting to get flushed down the drain or shoved into the training data of a future round of AI crapware...

IRC is also a walled garden.

For me, a "walled garden" is also something controlled and regulated by a party I have no influence over. They can arbitrarily make and change rules and decide who to let in or not, which feature to drop, how the UX looks like etc.

IRC is an open, community protocol, and as such not a walled garden. Even if I'm not involved, which I could be, I trust the composition of people there much more than any single commercial actor. The power dynamics are fundamentally different.

A single instance (an IRC network) may be a "walled garden", in control of the group that runs it. The incentives are different. Also because people can simply migrate to another network given the open protocol (and different, third party clients; the API cannot be shut down like with Twitter/X). Historical example e.g. Freenode ownership change.

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

#69
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.

I guess I did not make the scope of the project clear. Both Matrix and XMPP specs add up to 100s of pages, 500 or so give or take. IRCv3 seems to be over 100 pages too. In comparison, Gemini is about 10 pages long or so. A bunch of people here talk about setting up a small server for family and friends, so I think a smaller protocol, akin to Gemini in size, could be a lot of fun to work with for small scale deploymen…

The protocol isn't really an issue for the use-case you talk about. I founded the Snikket project, which aims squarely at the family-and-friends use case you mention (after all, it was made to scratch my own itch - my family's excessive use of WhatsApp for communicating with each other). I can tell you that my family don't care a bit whether Snikket uses IRC, XMPP or Matrix or some real-time Gemini equivalent.

There may be some scalability differences between different protocols/implementations for the admin of the service, but Snikket fits comfortably on even low-end Raspberry Pi devices, and literally over half of the typical resource usage is by the web dashboard (yay Python).

So what difference does the protocol make? It can make a difference to the developer experience. If all you want to do is exchange text messages, then yeah, XMPP and Matrix are absolutely overkill. But - especially for a family-and-friends use case - people also want file sharing, audio/video calls, and all that stuff. It very quickly gets quite complex to support all this stuff, especially in a way that allows you to evolve the protocol over time (trust me, what you think of as core messaging features today, were not a thing 10+ years ago, and messaging in 10+ years will also involve a new set of features).

There will always be a set of users for whom plain text messaging is enough (90% of my own daily communication is via messaging in a terminal app). However that set does not intersect significantly with the general population, and practically none of my family members would accept such a solution as a replacement for WhatsApp.

Post reply on HN