Stories
Slash Boxes
Comments

SoylentNews is people

Meta
posted by martyb on Friday May 15 2020, @08:00PM   Printer-friendly
from the can-we-talk? dept.

Background:
Back in the early days of SoylentNews, things were often fly-by-the-seat-of-our-pants. We tried to plan ahead and anticipate future needs. In retrospect, I'd like to think we did pretty well, all in all. One early casualty was the choice of our discussion system. My memory is fuzzy on the details, but I seem to recall it was based on "phpBB Forum Software" (Corrections welcome!) That eventually was superseded by IRC.

Internet Relay Chat (IRC):
Yes, SoylentNews has its own IRC service. It's used for all manner of purposes. Ostensibly, it's for staff to communicate with each other about site plans, development, and operations. But, multiple "channels" are readily implemented, so we have a bunch of channels up and running. If you are new to IRC, the easiest way to get started is to use our web portal — just select a nick, accept "#Soylent" as the channel, and you're there!

If you have heard about IRC and are curious about our IRC service, please read on past the fold. Otherwise, a new story will be along presently.

Unrelated:
Please join me in wishing NCommander a Happy Birthday!

Operating Systems:
One of the early missteps was the choice of CentOS as the operating system for one of our servers: beryllium. All of our other servers ran Ubuntu. That CentOS server, beryllium, became the server for all the other services that were not directly required for site operations. Quite frankly, it's a bit of a mess. For the curious, expand the following for a subset of what is runs there:

Charybdis, IRC server, http://irc.soylentnews.org - port 6667, 6697(SSL)
Atheme, IRC services
Iris, IRC web chat, http://chat.soylentnews.org - port 3989, forwarded from 80 by apache
Various IRC bots
ZNC, IRC bouncer for staff, http://irc.soylentnews.org - port 60000
Yourls, URL shortener service on http://sylnt.us - port 80
MySQL, used for Yourls
Postfix
Mailman
Dovecot
Apache2/httpd
OpenSSH
ntpd

Progress:
We are in the process of cleaning things up.

We now have 3 servers running Gentoo: lithium, magnesium, and our new server aluminum. Gentoo lets us custom build our servers so they are only running the services we need. That gives us better security (smaller attack surface) and better performance, too. Oh, and no systemd.

The Nitty Gritty: At this point, I'll turn the microphone over to Deucallion (aka Juggs) on what's happening with IRC on aluminum (lightly edited):

So far we have brought a new ircd (Internet Relay Chat - Daemon) into the network: "call.me.al". The 2 crucial key points are:

  1. Moving services (NickServ, ChanServ, GroupServ, HostServ, SaslServ et al.) Those are all provided by one server side process (atheme), anyone not clued up won't really to know they exist as a separate thing and just interact with it to register a nick and then as the channel bots they see with all the daft names.
  2. Will be reversing DNS entries for irc1 and irc3.

If I do my part right, there will be minimal to no outage time caused by any of it.

Then there are all the ancillary bits and bots that do logs and stats and story subs and the like but they are not intrinsic to the main IRC infrastructure and just an inconvenience if they go away for an hour or so while ported across.

I announce to everyone here on IRC when I am doing work on something and anticipate a possible outage of some kind as TBH the only people who care if IRC goes down or is degraded in some form are the people using it at that time. As a user it is nice to know in that scenario that it is not your client playing up, nor your network, or your ISP etc. it's just gone for maintenance and sit it out; do not bother investigating. Same reason I announce when I stop messing with stuff so people know there are no works underway.

And for clarification the 3 ircds we currently have now are all classified as hubs, no leafs, they are peers in a network. There is no master-slave relationship in play. We think of irc. as being master because all the other ancillaries sit on it but they can just as well sit on irc2. or "call.me.al". The ircds and services do not give a flying monkey what DNS name resolves to them, it is just convention to name the ircd that resides at irc2.soylentnews.org "irc2.soylentnews.org" or as it is "irc2.sylnt.us" - but it is just that, a name, a label.

This is specifically why I am going with "call.me.al" for aluminum: it breaks that cognitive second guessing about "do I need to match the reverse DNS here or not" questions in my mind at least when I come back to look at it in a year or 2 or 3 or 5. Maybe I am just a simpleton with OCD or some such, but to my mind - a label should be a label, the DNS should be another thing. If they do not need to match, make them different for clarity.

Epilog:
Do keep in mind, this is all being done by volunteers from their (limited) spare time and at no charge. There's still much to do, but we are making progress. Our goal is that over the next couple months or so, to have all of our servers refreshed and moved over to Gentoo. There will be hiccups. Hopefully they will be minor, few, and far between. As always, we will keep the community apprised as to our progress.

So cross your fingers, and join me in thanking these fine folk for all their efforts: TheMightyBuzzard, Deucallion, audioguy, and NCommander!

Previously:
(2020-05-09) Site Potpourri for Mother's Day [Updated]


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by Unixnut on Saturday May 16 2020, @01:35PM (4 children)

    by Unixnut (5779) on Saturday May 16 2020, @01:35PM (#994977)

    > Exactly. Propietary copy of IRC, but a bloated piece of crap at that.

    Too true. My company moved from internal IRC to a hosted Slack set up. Slack seems like a crippled version of IRC, with the addition of being able to send animated gifs, emoticons and files.

    For these "features", I am given such bloat it is mad. The web client would cause my browser to chew up memory until it crashed, so I switched to their desktop app, only to find that it is effectively a standalone web browser running web code. I've seen the thing consume 4.4GB of RAM and use all my cores at 100%, to just render a chat window. On multiple occasions when I am doing resource intensive work, I had to kill Slack, otherwise my system will grind to a halt due to lack of resources.

    It is mental, and the features provided are not even that special. I am sure you could have created a custom IRC client that provided the same features (off the top of my head, just base64 encoding binaries and sending them across the channel would have worked), all while using existing infrastructure and keeping backwards compatibility with every other client out there.

    Plus I can't pick which client I want to use. I have to use their bloated mess, or I can't do my work. There is no "IRC bridge", or method of using third party clients, no ability to say "I don't care for the animated gifs, just give me a low-resource, plain text interface", nothing.

    It is in so many ways such a complete step back in usability, performance and design that to all intents and purposes it should be long forgotten on the scrapheap of history, yet it is the most "popular" chat app used in offices across the world. The only thing it did which IRC doesn't, is Audio/Video calling, but it is so godawful at that, that nobody actually uses it unless they have no choice. We sure don't, using Skype (and recently Zoom) instead.

    I really don't understand why it is so popular, it has no redeeming feature that I have seen.

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 0) by Anonymous Coward on Sunday May 17 2020, @05:25AM (2 children)

    by Anonymous Coward on Sunday May 17 2020, @05:25AM (#995261)

    Those "features" you mentioned are already supported in many IRC servers and clients already. The ops, IRCops, and admins usually turn them off so random clients are supported and to cut down on spam/exploits.

    • (Score: 2) by Unixnut on Monday May 18 2020, @08:26AM (1 child)

      by Unixnut (5779) on Monday May 18 2020, @08:26AM (#995646)

      > Those "features" you mentioned are already supported in many IRC servers and clients already. The ops, IRCops, and admins usually turn them off so random clients are supported and to cut down on spam/exploits.

      Which ones? If I can find something that does the same flashy animated gifs and file uploads (that our programmers absolutely "must have" apparently), I may be able to convince the company to go back to IRC, especially as slack costs us a few thousand dollars a month in costs.

      • (Score: 0) by Anonymous Coward on Wednesday May 27 2020, @09:13AM

        by Anonymous Coward on Wednesday May 27 2020, @09:13AM (#999549)

        Look for ones with UTF-8 support (emojis and emoticons), DCC or fserve support (upload files), and inline images (animated gifs). There are a few out there that do all of that and support is getting better and more widespread.

  • (Score: 0) by Anonymous Coward on Tuesday May 26 2020, @11:49AM

    by Anonymous Coward on Tuesday May 26 2020, @11:49AM (#999167)

    What "killed" IRC and the first generation of IM systems was mobile phones.

    IRC and like assumed a persistent connection, thus any disruption in the connection between client and server was seen as a disconnect.

    Mobile phones disconnect from the network almost constantly.

    The newer IM networks and Slack makes heavy use of the push servers of Apple and Google to fake a persistent connection.

    For IRC to do the same, there would have to be a network-wide bouncer service of some sort.