231 comments

[ 3.5 ms ] story [ 210 ms ] thread
I am invariably going to see in the world of Slack, "IRC, why don't you die already".

No, IRC is not going to die. FreeNode is alive and well. And while you busy slamming and wishing death of IRC, just check the memory usage of your Slack client.

How does the memory usage of my Slack clients in any way impact the utility of the tool? Private and public communities that are active, relevant, and directly impact my livelihood are on Slack, so I'm also on Slack.

I'm also on IRC, Discord, and Telegram.

This isn't a zero-sum game.

I'm on all of them. IRC is by far my favorite.

Kind of like HN. When someone is commenting on HN I automatically have more interest than eg Facebook vs. Twitter as the primitive experience of HN (Which I personally love) filters out a lot of "noise".

There's great communities out there on IRC.

Just head to #postgres on freenode and see how helpful they are over there.

Because communication should not be expensive.
The problem is that those communities chose to use Slack. And now they're locked in to a proprietary protocol controlled by a single company with perverse incentives for censorship.

In prior years those communities would've chosen IRC. But nowdays everything has to be pretty hand hold your hand for you (ie, host your images, assume you know nothing of how to participate on the 'net by yourself).

It is a zero-sum game. And Slack has done the embrace, they done the extend, and they've started the extinguish (by cutting off IRC bridges).

Slack is perfect for organizations, whereas IRC is not. And no, we're not locked into anything.
> Slack is perfect for organizations, whereas IRC is not.

Why not? Organizations can host their own IRC server(s). Won't that be better than relying on a third-party's services?

And if needed, they can write their own bots, clients, or even their own specific extensions to the protocol.

Because the last thing organizations eant to do is host their own infra for a chat, implement their own search for a chat, re-implement the bits, the hooks, the integrations for a chat etc.?
Hosting things on their own infrastructure is very popular for large companies. They tend to take security a lot more serious that the average startup.
Listen, you want to convince my boss to spend more on the infra. For in house chat w/ drag and drop file hosting, and boost my pay for now having responsibility to manage that, be my guest :)
> Slack is perfect for organizations, whereas IRC is not. How so?

> And no, we're not locked into anything. How so?

I wish there was a way to ignore certain users / bots, this is such a pain for me, it makes slack too spammy and noisy for me so I only ever read private messages.
I know several Open Source community where bots basically provide the whole additional services. PasteBin, Auto-Bug Attaching a IRC-Log to a bug report, Continous Integration Reports.. actually its easier to integrate into IRC at times.
My problem with Slack is that while it's much more advanced client it still doesn't feel native, is slow and often bloated. The only thing I miss is markdown, sometimes a bit of formatting is vital to getting the message across.
Is there a reason IRC couldn't look like slack to the user?

kiwiirc is an opensource webUI IRC client (demo at https://kiwiirc.com/). To my untrained eye it looks slack-ish, but not being a slack-native I'm not really sure what Slack's draw is and whether its something webUI clients for IRC can't do.

Wow, that is pretty darn nice for an IRC client!
The UI is the easiest thing to fix and as you have shown already has been for some time. What separates IRC and the rest is all the features you would expect by default in a messenger of the 21st century:

- history

- with search

- logins

- simple bots

- automatic content fetching (wiki/youtube Links, pics and gifs)

- file transfers that just work

- image pasting

- message editing

And probably others. Yes, those features exist in one way or another in IRC. The point is not whether you can or not; the point is how much time and energy do I want to spend to install and maintain those. I may have had the patience to do it a few years back, but I value other things now.

To many, not having such features on IRC is a bonus.
As a sidebar, from what I can tell the term "bot" for an automated agent accessible through chat originated on IRC.
For sure, credit where it's due. However IRC doesn't beat the ease of installation that Slack providers for bots.
There's not, and there are services like https://www.irccloud.com/ that "slackify" IRC so you don't have to deal with ZNC, making your logs searchable,...
IRC can't ever have authentication, because most clients won't support it. You can't have conversations that rely on rich text, code blocks with syntax highlighting, embedded images, or web previews: these things are possible (in some cases there's more than one way of doing them) but some users will always be using clients that don't support them, and will regard you as the problem if you try to create an expectation that clients should support those things. In turn this makes useful integrations hard: you can have a bot that sends an alert message that heap usage is high on your server, but it's not going to be able to include a graph. IRC can't ever have server-side history and synchronise read status between devices; you can run another server that does that for you (whether that be IRCCloud, ZNC or something else), but at that point you're not actually using IRC, you're using that server's protocol.
"Most" important clients support SASL authentication already.
Sure. But good luck persuading a network to go authenticated-only, or even configuring your private server that way. It's not impossible but it's very much not the culture and not where the documentation/support will guide you.
Having to share Gists instead of inlining code blocks, and (of less importance) reaction gifs, was a huge non-starter.
I like slack quite a bit, but it's not designed to be a replacement for general use case of IRC - it focuses on specific use cases and can be manhandled into other use cases with a lot of pain towards the users.

matrix.org/riot.im seems like a more sensible alternative to IRC - but their systems are overloaded and slow - multi second latency is the norm.

The speed has gotten better recently. It usually sends messages in under 1 second. The UI is still a little laggy when switching tabs but everything is slowly getting more polished and faster.
Some time ago I tried to start a federated homeserver, connected to it and joined the main matrix channel (at the matrix server). Thirty seconds later (IIRC) my client (riot) gave up on the attempt. Nothing showed in the channel. I was told the servers (synapse) were syncing the required information. I checked the logs and, true, a lot of stuff was being sent back and forth.

One hour later, a lot of stuff was still being sent back and forth. I still could not join the channel, and there was still no user-friendly feedback on the failure.

These are fundamental flaws in usability and design that really need to be addressed before the system can gain more widespread acceptance. Have they since been corrected, or have improvements been made to mitigate them?

They are also working on a new server written in Go instead of Python which will hopefully make it faster
I'd blame it on using python to implement the server...

Yes, sure, good for a PoC, but there are reasons ejabberd exists.

Irc is all but dead. I see less and less places where it is used. In the same way NNTP is dead as a doornail and completely irrelevant. Last time I saw that used for something else than filesharing was something like 10 years ago. The same place also used IRC.

Both failed to modernize or keep up with progress. The only places where this stuff is at all still used/tolerated is places where the average age is well above forty and where the audience is engineers only. Most millennials that I work with don't even know what this stuff is because they simply never encountered anything where this is still in use. The ones that do tend to be male and heavily involved with OSS. It's a somewhat elitist thing at this point.

People seem to like to hate slack and similar solutions. The OSS way to deal with stuff like this is to build something better and not get too nostalgic about decades old stuff that did not keep up with a changing world.

Here are the design goals for a modern team chat solution: - It must be stupidly easy to create a private team. Think minutes. This is not something you put an engineer on either. That would be a waste of time/resources. - There must be zero admin overhead. This is the first thing you do in a new project. SAAS is the way to go here for most places; sign up, click, click done. There's absolutely no excuse to waste any time setting up software, servers, and committing to managing that for the vast majority of teams. - It has to be inclusive. Anywone should be able to jump in. Especially non technical people. Like your manager, designers, users, etc. - It has to have mobile apps that are usable and fully featured.

IRC may be elitist but that can be an advantage. For me it is the place where I feel most confortable to have a social chat with strangers.

(Note: there is IRCv3 and irc cloud both of which bring quite a lot of Slack features into IRC)

Barely 30 and all the cool kids have already moved on... I think there's a metaphore in there somewhere.
A CLI for a workstation without irssi on it is no workstation at all.
Somebody unearthed an IRC server in the hinterlands of the intranet of the huge tech company I work for. There was nobody there.

The company is big on Jabber though...

At least they are using something which is an open standard, that's a good thing
I'm sure most large, old tech companies have at least one IRC server that someone's forgotten to shut down. And my employer also uses Jabber, but I'm pretty sure it's just because it allows them to have complete control over the relay and client.
Qualcomm has such an IRC server. I interned there and used IRC to chat with the other interns even though most of the full-time employees used Skype for business.
When I worked for an international bank during the late 90s and early 2000s they had a global IRC network on their internal WAN.

It was heavily used by all staff, which was fairly unique compared to the other banks at the time.

Over time the bank developed their own dedicated client for it, and added extensions to the servers for audit logging and username/realname enforcement, and then eventually spun the department developing the tech off into it's own startup company that then sold the product to other banks and companies. That spin off company is still around selling online collaboration software.

very cool. I started with IRC circa 92, on a VAX VMS system after discovering it using Gopher :)

Was great, though very addictive. The internet wasn't very well known, and not many people were online, and it was very common to make friends all around the world. I travelled and met a lot of people all over the world through IRC. I remember quite a number of people starting relationships and having babies ( many of which would be late 20s now... crazy).

I remember in 93 when tanks were rolling into moscow getting live updates from people who were there. Was a glimpse of the future yet to come around major world events.

Slowly more and more people started turning up on IRC, new IRC networks appeared, people started to perfer networking with people in their local country or local state.... then later mostly people in their local city.

Then it started to die off with the rise of the web and alternative chat software.

IRC isn't "dying off." Many (many) projects still use it as their main communication channel for developers/users.
sure.... I still use it. But now IRC is much much more fringe, somewhat like usenet, ftp, telnet, etc is very fringe these days. It used to be like THE social networking tool. Somewhat like facebook. Maybe one day facebook too will be used by developers to communicate while everyone else is in virtual worlds
ftp is fringe because it's unencrypted and deals very poorly with NAT, and has performance/scaling issues for huge file transfers and transfers with huge numbers of discrete files.

telnet is fringe because it's totally plaintext and has obviously been replaced by ssh2 everywhere.

whereas irc daemons can easily be linked together by TLS1.2 and irc clients can also talk to servers over TLS.

Yeah, it’s easy to get nostalgic about old stuff, particularly when the old stuff was legit good. But man, FTP and telnet needed to die in a fire.
What do you think of TFTP then? All things have their uses. Outside of the valley, a ton of things don't live on untrusted networks.
Someday when there's a universal way to share files between people on a network without passwords FTP might die. So far it is the least painful way of having a place people can just dump files to and grab files from without authentication.
Unfortunately, as of today, the majority of "computer operators" struggle to share a file if it requires more than a single operation of "drag/drop".
In 2018 teaching totally non-technical users to effectively use Dropbox and OneDrive is even a challenge, and those companies have a great many staff positions between them whose full time job is UI design and usability.
Why are you so condescending towards users? Maybe pretending that everyone who uses a computer and isn't a gerybeard is a drooling moron is part of why computers suck so much in 2018.
(comment deleted)
> somewhat like usenet, ftp, telnet, etc

Don't conflate protocols that are terrible with protocols that aren't 'hip'. ftp and telnet have been replaced (thankfully) and should die in a fire. Usenet is still cool though.

It's not really anything to do with the protocols, they don't really matter. The protocols represented the tools you could use to consume the internet, usenet allowed you to follow special interest groups, ftp allowed you to get files ( back in the day of public domain and shareware ), telnet let you into other systems, either for another shell or to play MUDs :) IRC allowed you to chat, Gopher allowed you to find information and resources, and of course there was email. Other than email ( which is a super crappy system ), all the others are fringe tools these days.
In my opinion the reasons for loss of userbase & mindshare:

1 Spam and noise -> No proper authentication and moderating system for channels. It's hard to keep bad agents out of channels.

2 Competition -> Forums had more features (including a solution for point 1, also https) and didn't require a special client. If you could easily send cat gifs in chats IRC would have been great.

If your network runs services you can set your channel to require being authed with nickserv to join. Sure people can make a new account if you ban them but they can on a web forum too.

Or you can set channel so only voiced nicks can speak and de-voice a nick to moderate.

Or even make an access list so only specific authed nicks can join. None of this is ideal though I agree.

Why is the biggest loss of userbase not attributed to really bad barrier of entry and UI? As a layperson it's much easier and friendlier to join Discord/related software which has a ton more features.
> Then it started to die off with the rise of the web and alternative chat software.

That's news to me and the ~eight IRC networks I'm on.

With how many members? Even the most niche discord channels will likely have more users than your 8 IRC channels.
networks, not channels
It is refreshing to still use a technology which mainly has not been tainted with current crap (share, like, subscribe). You have to deal with some mods on power-trips, but it is rare. Happy thirty!
Not too rare. Several channels are held to their project's Code of Conduct. And some of those CoCs require you to agree to use x-based pronouns when someone requests it, or else banned until you change your mind.
If your go-to example of "mods on power trips" is requiring basic respect for other peoples' personhood and right to their own identity, I'm inclined to agree it's not a particularly large problem.
Respect goes both ways. It's not respectful to ask someone to speak differently than what they believe about existence.
If you see an equivalence between asking you to respect someone else's identity, and asking someone else to respect your opinion about their identity - I don't know what to tell you. It's not the same, and it's dishonest to claim it is.
It's asking me to assent to someone else's belief about the concept identity, all the while completely dismissing my belief about the concept of identity. It's inherently saying their belief is more important than my belief.
Miss Manners says you should call people what they wish to be called.
I want to be addressed as 'greglindahlisarapist' from now on.
Please stop posting like this to HN.
How precious can someone be that calling someone what they want to be called is a burden? Just... do it. They’re not asking you to attend a sensitivity course, or buy into anything, it’s just a pronoun request, and what’s the harm? If someone wants me to call them a flying squirrel I will, and I’ll try my best to be both consistent and respectful about it, because why not?

The only time I think it’s fair to draw a line is if someone tries to dictate how you refer to other people, which is frankly none of their business. These CoC are really just “don’t be a dick, respect each other,” written down. If that’s burdensome to someone, that person has issues. If calling what you believe to be a “he” a “she” is really that hard, then that is definitively your problem.

Because I deeply value my integrity and honesty. Calling someone something other than what I believe they are, based on my fundamental beliefs and understandings about the life, the universe, and everything, would be a lie. So it comes down to me refusing to be dishonest and losing some convenience because of it. I'm okay with that.
Because the only thing I have left is my integrity and honesty.

As I said, very much your problem. For the rest of us who aren’t quite so fond of ourselves or bereft, it’s not a lie or a matter of convenience. Rather, it’s a matter of respecting another human and accommodation of the least order. It’s a minuscule request and a minuscule effort, unless as you claim to be, you’re just hanging on by fingertips. In the same way that I call people by their name, even if they changed it, and don’t harrangue them because I don’t like it, or because they changed it. “You’re not Bob, you’re Bill, and I won’t lie for you!”

Come on.

Edit: Wait, given who I think you are, you’re really someone who should focus on respecting other people’s basic rights and personhood over illusions of your own integrity. I’m going to have to be blunt and say that maybe your integrity isn’t as bulletproof as you’d like to think, and maybe your respect for other people is likewise, sorely lacking. I can see however how you’d dislike moderation on IRC though, and CoC’s, even if I don’t sympathize with why you dislike them.

Names are different. They're given to us by a person's choice. Gender is an intrinsic part of us from the moment of conception, which no one has a choice in at that moment, and it's a permanent attribute.
If someone was going to install an irc server, which one is recommended? Also, any client reconditions for Windows and Mac?
I like Textual on macOS. It's rather nice.

EDIT: Since this seems to be unclear: I was referring to the second question regarding IRC clients.

Have you encountered unicode errors? A Textual user on my server has been crashed multiple times by people doing weird unicode. I don't know if its just him.
Nope, that's never happened to me. I'm in maybe 30 channels on Freenode so I think it might just be him.
For those confused: Textual isn't an IRC Server, it's an IRC client.
Yes but that was the latter question, was it not?
ircd-hybrid on debian, personally.
I would recommend ircd-ratbox, which is the fork of ircd-hybrid most used on efnet.
For servers it depends. If you are going all-out, InspIRCd is what I roll. The only complaints I have with it are the massive config file (~2800 lines with the main config and the module config, more if you count the lesser files). The server for getting and going is UnrealIRCd, which is what I used to run. Solid and basic, just with a few less features.

For clients, I use Hexchat, which ill fight for as the best graphical client. The only thing mIRC has going for it is its legacy of scripts and people that still use it. For command line clients, ircii and weechat are good, especially coupled with tmux. I don't use them, but the people that do love them.

Also, if you want a bouncer, ZNC is great. Would highly recommend if you have a free server with a stable connection.

I'm assuming you mean irssi, rather than ircii. ircii is super old and basically unused these days.
Hah, yeah, sorry. I actually had to use ircii once, so its always in the back of my head. Unfortunately.
I run an IRC server with UnrealIRCd. Works well.
For Windows I always use Hexchat, which seems to be the only decent open source client for Windows. If anyone would like to jump in and point out others I don't know about, by all means.

(Heck, it's what I use on Linux too)

Is unrealircd not decent? That's what I used to use.
I really like Quassel. It's main model is client-server (you install the server component somewhere and it'll stay online, bouncer-like, and you can connect to it from multiple clients), but you can use it in a standalone mode too. The main client runs Linux/Windows/Mac, there's one for Android too.
I just use Thunderbird... It "just works" for email IRC and RSS - and it's very consistent btwn platforms. Maybe I'm missing out on some secret IRC features?
KVirc is pretty nice on Windows and Linux, IMO.
I still just use Pidgin. It ain't fancy (neither is IRC), but it also works a client for hangouts and some other things and has a portable apps version.
I feel like we will end up with another program that abstracts Slack/Telegram/IRC into neat CLI interface and we will go full circle again. :)

Happy birth day IRC!

Until they recently shut it down (boooooo), it was possible to bridge a company Slack channel into IRC and vice versa.

https://www.google.com/search?client=ubuntu&channel=fs&q=sla...

Slack’s own IRC bridge was quite terrible and had been for years. It had multiple unimplemented features and multiple bad bugs. Evidently they decided they had done enough embracing and extending, and so rather than fixing it it was time to extinguish.
Like WeeChat with various plugins?
I hate Slack and I particularly despise Gitter. All the communities I had to go on at one point were totally out of service or totally uninterested in helping newbies. I am glad some organizations still use IRC as their main online network.
I used IRC Cloud for some time. Pretty good, actually. Works almost everywhere, nice UI. It's certainly no irssi in a tmux/screen, but it's pretty good. Costs $5/month when I was using it (so close to the same as a VPS or proxy.)
IRC Cloud is fine, in the end it's still IRC. I used to use Adium, but now my work VPN is over AWS, so I can't (forget what the actual extension I needed Adium to support). Ever since I just use the freenode web client.
Running a weechat client on a ipv6, nat ipv4 VPS that costs me 3€/year. With weechat you also get a responsive web client for free through glowing-bear.org, so it's quite close to IRCCloud in the end.
Impressive! Any more details on that?
Hey. On which bit in particular?
My only experience with slack and gitter is through the browser and it 'required' piles of javascript, had no sane keybindings, and the UI was sluggish. They're also proprietary, walled gardens. If that's the future, then here's to 30 more years of IRC!
You’re conflating technology and community.
I noticed a correlation here, too. Is it so strange to think that a tool can select or influence its users in some way?
Ultimately, it is impossible to separate those two entities.
Design brought forth, intentionally or not, creates everything but the content of the experience. It's the "view" that people see that creates most of the UX.
What newbies? Users? Devs? Communities serve a purpose and are not for everyone.

On slack and Gitter they are often focused on work, on getting things done, so they really don't care about users or new developers and their problems which are unrelated to the project. And this is good, because everyone needs a channel where they can focus on getting things done.

You have no clue what in the world you are talking about. Hashicorp as an example use Gitter as one of the support channels and yet the community response there is poor as hell.
Is it as poor as your behaviour here? Should I call hackernews now a poor and toxic plattform too?
ahhh IRC

It brought me the joys of learning how to program while trying to write some tcl scripts for eggdrop bots and goofing around in a shell setting up said bot.

Every time I think of IRC I get this nostalgic feeling of the good old times when communities were vibrant. It was so much easier to just hop on gamesurge or quakenet and find people to game with, organize pugs, find random channels where you can discuss things that interest you, and of course your favorite local's city mingle spot.

I made some good friends from my local city's IRC channel in the early 2000s that I still talk to this day.

I feel as though communities aren't as strong as they used to be as IRC has been slowly losing its population. It just had this quick and fluid way of hopping channels and finding people with similar interests. Listing all of the channels with their user count, and seeing what's popular, or even creating your own channel and community was so empowering.

Irc was awesome, efnet was particularly fun as a teenager. Forcing network splits, installing eggdrop bots to take over a channel. Efnet was the wild west where basically anything was okay. Dalnet was more civilized. Undernet was definitely for warez.

I wonder if anyone ever paid for a mirc license in those days.

With great warez comes great responsibility.
Back when I was much more active on Undernet and EFNet, there was talk of 1-2 people actually having paid for an mIRC license.

Personally, a couple years ago I found the latest nagging screen guilt-trippy enough that I paid for a license even though I rarely use it.

Same people bagged themselves a WinZip license too I'll bet!
If you've never poked the IRC protocol directly, Google how to connect to IRC with Telnet.

You can pretty reasonably use IRC just by writing to a socket - by hand. It's all human readable and understandable. It's incredible. It's what an open protocol should be.

Writing a simple IRC client is a breeze!

I keep meaning to write a simple client to get some networking code practice. It's been sometime since I wrote some.

> It's what an open protocol should be.

I'm not sure how I feel about this. I agree, but I also want to welcome things like gRPC/Protobuffs over HTTP/2 which introduce really fast comms between clients and servers, sacrificing the visibility of the stream's contents.

> I also want to welcome things like gRPC/Protobuffs over HTTP/2 which introduce really fast comms between clients and servers, sacrificing the visibility of the stream's contents.

Protobufs and similar serialization protocols are great for complex data. It is worth pointing out that we've had ASN.1 for a while and it's pretty fast too, at least for limited subsets of OIDs/types, in certain encodings, though XER or JER would probably not compete with BER.

HTTP/2 is a complex protocol designed to fix problems with the way people build websites today. A lot of its features does not make sense/is not needed for simple message passing.

e.g., some HTTP/2 implementations will probably see HPACK DoS bugs/vulns because HPACK is stateful, whereas if HTTP/2 wouldn't have HPACK that problem would not have existed, but the reason why HTTP/2 has HPACK is because people bloat headers with tons of stuff.

IRC works and works well for its use case. Apart from newline-delimited strings - netstrings and TLV are other examples of formats that can build great, simple and introspectable/open formats.

I'd venture a guess and say that an RFC1459 PRIVMSG message parses faster than a protobuf message carrying the same information - due to parsing an RFC1459 PRIVMSG message is so simple. Of course, if you want arbitrarily sized messages, or messages with an arbitrary number of nested messages inside it you need more complexity.

Except for the complete lack of security and blind trust of server operators?

It's downright dangerous to use it,but then again people still use email.

The same can be said for slack too. Irc is far superior.
(comment deleted)
You like irc. Does not mean it's superior. It's unsafe and lacks too many features natively. It wasn't even great in the early 90s. It was popular and I liked the experience but the protocol is even more broken than email.

I am a fan of simplicity,but it needs to be safe to use and friendly to users.

Your argument can be made about more or less any popular chat platform to have ever existed. At least you can set up your own IRCd, so you and your friends don't have to trust nobodies on the Internet.
To be fair, you do have to ultimately trust everyone communicating with you. Trust is pernicious in that way. That is to say, there is nothing guaranteeing that the communication delivered to your server is what was sent by your clients in a completely "open" system.

There are ways to fix this, I think. And I make no claims that common chat systems have fixed this. Just pointing out that having your own IRCd server is not at all solving it.

I tried it before and it's not as easy as it sounds. There is no one spec, it's a handful of RFCs and other ad hoc extensions that are barely documented anywhere. I think there's at least a dozen different documents you have to refer to.
For most of the client protocol, it's just RFC 1459 and RFC 2812. Then there's CTCP, DCC, server-to-server protocols and the 005 numeric.

I'm not sure you need any of these for communicating via telnet or writing a small bot that will answer back.

Each of the big servers implement their own extensions, or share some extensions but not others. All poorly recorded in many documents across the Web.

To have a modern irc client, it is far from a clean protocol. If you just want the basics, it will still connect and send messages.

I tried to implement an IRC client in about 2004 and no popular server was implementing RFC 2812, which was released in 2000. I realise that's a long time ago but things move slowly in the IRC world, so I would be surprised if things had changed a lot since then.
RFC2812 was codifying one particular network's protocol choices and was never accepted by the wider community of IRC server and client developers.

There have been widely implemented improvements (eg RPL_ISUPPORT / 005) which succeeded by discussion and consensus rather than trying to lay down a new standard by fiat.

Yes, you can definitely connect manually through telnet (I did it back in the old days). The only problem is it will not stay connected too much, because you should also reply to server's PINGs at regular time intervals otherwise you'll get disconnected.
With most servers you don't actually have to specifically reply to the PINGs, just sending something regularly should keep you connected.
I've toyed with many protocols via reading RFCs, but in this case just run tcpdump on an existing client and you'll be set.
I've written several basic IRC clients and bots over the years. Compared to XMPP, and other newer proprietary protocols it is actually quite simple.

Hardly anyone uses the DCC file transfer stuff anymore, so other than encryption, all you really need to handle is channel messages and private messages, plus the management commands (ops, voice, mute etc).

For a simple client, the original RFC 1459 is still just enough.
I tried that once. Main issue is you have to reply to the pings or you get kicked.

I have found Matrix to be easier to interact with. You need a HTTP client instead of netcat but it's super simple to send JSON from a program or terminal.

Before I had a home network or always-on internet connection I used to play with servers locally. I actually set up my own IRC network using unrealircd and learnt how to configure it etc. I don't know why but one day I decided to try to telnet into the IRC server and it blew my mind that it actually worked. You can do the same thing with an FTP server as well.
Many of the oldest internet protocols are ASCII text protocols. IRC, HTTP, FTP, and SMTP can all be handled by a human being with a telnet client.
That's the way it all used to be, back when the net started rolling out. You could hook up to whatever you wanted, even roll your own protocol, just using either telnet or some sort of quasi-primitive scripting.

Now everything you touch has dozens of layers of junk on it -- and it's all mostly http.

It was a lot more fun when you were free to do your own thing without having to carry around 40 tons of tooling.

I used to do this when I was a teenager.

Look at "modern" chat protocols (like XMPP...): it's a nightmare in comparison!

Has anyone noticed that Slack communities are a lot less active these days?

And IRC communities are less active these days.

Where are the chatters going to now?

Not sure whether Slack communities are less or more active, but what I'm sure is that chatting hardly works as a means to convey knowledge. It's neither rewarding nor persistent. I mean, you spend your time for free answering some (usually) easy to google questions and soon your answer is lost in the countless logs and you have no way to refer to it later like it never happened.

All popular and large Slack communities (the same is true for IRC channels) I used to be a member of are very much alike – hundreds of people just sit there busy with their lives just in case somebody would post something interesting, and just occasionally there're small bursts of activity to educate another newbie who did @here in the channel. And even when (oh, miracle) there does occur some conversation you realise you have no time to follow it as it happens and later you're just to lazy to find it and try to make some sense out of it. So, first you turn off notification distractions. And second, after a while, you realise you haven't poked there for weeks and finally just remove it with no regret.

People get swallowed in the garden walls of 'social' apps and just browse, mostly interract via <3 and Likes, and don't really have opinions of their own anymore. Also typing, you know, it's a lot easier to tap an icon to mean something than type it awkardly.
Discord. It was made mainly for games and it has exploded the last few years for pretty much about everything. I was introduced to Slack because the programming language I was using had its official channel there. They had also an irc channel but people were not willing to use it. Then I made a discord server mainly because I was using Discord for Unreal Engine , which has to this day the most active community there according to my experience. Without me realizing it the main dev of the language I was using abandoned Slack and used my Discord server. I made him admin and the rest of the community reluctantly followed cause being coders saw no point using a game orientated chat client but a year later not only the Slack server was almost completely abandoned but not one even mentioned Slack or IRC.
It is worth noting that IRC is in the middle of overhaul and upgrade with IRCv3 [1] standard. Sadly not many clients and servers support it (almost none of them).

[1] https://www.ircv3.net

Just want to point out IRC3 aims to have "standardised account registration and verification, allowing clients to provide better interfaces for end users." This is really important, as registering an account on an IRC network can be a barrier to adoption.
It is worth nothing that IRCv3 is a coup d'etat made by a closed coven of developers:

Most IRC clients are slowly developed or almost dead these days; the modus operandi of the IRCv3 developers is that they write patches for those IRC clients to support IRCv3 features and then push hard for the maintainers of those clients to merge them ("this is what the future of irc looks like! it's what the other clients are implementing! do you wanna be the only one not implementing it???")

They argue the development of their "standards" is open, but the truth is that nobody cares about it (most people are OK with IRC as it is now) so very few people contribute; they pretend that nobody complaining is a tacit agreement that everybody is OK with their changes, when that's far from the truth.

To be fair the protocol was on in my opinion life support and IRCv3 really gives a few more years to the protocol and clients.

Actually, I still think most IRC clients stale as f* even with IRCv3, for example embedding images and videos in chats should be trivial but I've yet to see a Linux desktop client do it (without sacrificing other features). IRCv3 doesn't also fix client certificate updating, though neither does any client handle client certs nicely so it's a sweet dream of mine to see auto-updated client certs.

You could take away the web 2.0 I may not bother. IRC on the other hand ...
I heavily used IRC in the early and mid 90s. Glad to see that it’s alive and kicking. Happy 30th!
It's interesting that it's actually older than the "World Wide Web".
Love IRC. But what client should I use on my telephone?
I don't know about iPhones, but for Android there is 'IRC for Android' which had so far been excellent.
You can use a self hosted client like The Lounge which maintains IRC connections on your own server, and then you can view the client via a web browser (so it looks great on a phone, and you can get web push notifications)

It basically acts like any other chat client (e.g. works on multiple devices at the same time)

https://thelounge.chat https://demo.thelounge.chat

Sure. However simplicity is quite important when you choose IRC as company chat solution and you want not only your geeky devs to join but also not–so–geeky people like the guy from marketing and the friendly folks from the front–desk.
You only need to setup Lounge once, it supports multiple users at the same time. A non geeky person should have no trouble joining a channel.
Oh, wow. I see. With push notifications, mobile clients, TLS encryption this _could_ work in a company setting …provided you keep logs and make search results available for staff, too. Cool. Thanks for the links!
On iOS I am extremely happy with Palaver. There’s a ZNC plugin to send you notifications when you are mentioned, if that is something you need or want.

It’s not free, but I think it was around the $2 mark and definitely worth the money.

It might seem weird, and probably will not please everyone, but in my experience, using an XMPP client (Conversations) along with biboumi (an XMPP <-> IRC bridge, https://biboumi.louiz.org (note: I'm the author)) is the best way to use IRC on mobile:

- You can idle in the channels without doing hundreds of part/join when your phone loses the connection

- You get the full backlog of what was said while your phone was offline

And you can host just one biboumi instance for all your users. You can even configure it to connect to just one IRC server. The users just have to join channels like #nodejs@irc.myxmppserver.com

This is exactly what I do - I use Conversations and biboumi to idle in a bunch of channels for various projects I'm watching.

Thanks louiz! You do good work!

I run a quassel server, and then use quasseldroid from my phone and quassel client from computers to access it.
I use(d) IRCCloud. The paid version ($5/month) works very well too, as it also acts as a bouncer.
I have a $5/mo VPS on DigitalOcean that I run IRSSI in screen/tmux. On Android, you can use JuiceSSH. Many people use this combination actually, JuiceSSH has swipe left-right IRSSI shortcuts and you can read the scrollback you missed (no ping timeouts on a VPS). Swipe left-right can also be changed to window left-right in screen/tmux. I think my favorite feature is JuiceSSH has an input option that allows you to use your standard Swype-like keyboard or voice input.
If you get a weechat instance set up, you can then connect to that via the glowing bear app.
Interesting. Last IIRC, Stanford ITS used tinyfugue (tf) MUD which is sorta like IRC.
Met my fiancée over IRC many years ago and we're both using it as our main social communication with others online.

It's an enclave untouched by much of the current toxicity of social media. It requires you to make friends with others based on your words and not content filtering algorithms. You are exposed to other people with other ideas since it isn't filtered. All with a reasonably high lowest level since the lack of bells and whistles turn a lot of people away from it.

I only started using irc about 5 years ago but I have been using it daily since then and yeah the people on it aren't too bad. I have only really seen tech stuff on it recently, all the non tech irc channels I was in moved to discord :L
What channels do you frequent that can be used as "social channels" and aren't either a technical QA channel, or a those channels' "free talk" companion that nobody really uses?
Visit EFnet or Rizon, but yes, social IRC is mostly dead now
There are plenty. Breakouts from them forming their own communities every few years. The base of our community has been around for at least a decade and the main channel is on its fourth iteration since I joined.

Telling exact channel names would out me pretty fast though I reckon.

Same in my 'social' bubble, started as a small gaming community that branched off a bigger one (you know, free forums, then a site, then self-hosted forums, IRC channel which later turned into a Skype group chat which nowadays is a Discord channel, etc). These things just form organically.
I think you'll find that many social channels are a well kept secret. No one wants to ruin a good thing by advertising it to the public. Use IRC for a while, explore the bigger channels, start channels for your friends, and eventually you'll find your way into other social channels.
> current toxicity of social media

The only response I can conjure up for this is “wat”

IRC in my experience is the most toxic and mean-spirited place on earth. 4chan is easier to take because I can justify their meanness to lulz. People on IRC seem to be out to kill people’s spirit.

There are some exceptions like python on free node which is heavily moderated, but by and large (in my nearly 15 years of heavy IRCing) it is not for the faint hearted.

What channels are you using? Killing peoples spirit maybe once in a blue moon someone is rude. However, if anything I would say people are polite than they used to be. People still using IRC like IRC why would they want to actively harm the channels they use.
Sounds like you might be blaming a protocol for some poor channel choices.

There are still plenty of educational/social IRC communities that welcome curious people of all skill levels.

I can vouch for https://hashbang.sh (irc.hashbang.sh/6697) which has piles of industry leaders as regulars that prefer investing in open federated standards for internet communication over the endless array of hip walled garden flavor of the week chat systems.

We give out free bouncers/shells to anyone too :)

Or equivalently you might be praising a protocol for some excellent channel choices (to be accurate, this would be a response to the grand-grandparent comment).

My personal experience suggests that IRC communities are just like other communities, that is, with a right amount of moderation and a right set of users they will survive, otherwise they will fail.

I concur. I've learned a lot listening and participating in chat rooms, but not all of them are the same. Some are definitely toxic, some are uplifting -- intellectually or otherwise. My personal recipe is once I have a topic in mind, I browse through the channel list, filtering by popularity. In my experience, "toxicity", for the lack of a better term, is proportional to popularity (crowdedness) and mainstreamness. In practical terms, if a channel has a lot of members (150+) that's not a good sign. If it's also a mainstream topic, that's a definite red flag. In my case, I would consider joining that channel a waste of time and energy. If I'm interested in a mainstream topic, sorting the channels by user count will quickly reveal where people go to escape the madness; as channels get big and sickly the interesting and helpful people tend to go to one of the sattelite channels that don't have those problems. As an example, the best channel on Python I found for my purposes had ~5-15 active users per day. I'm especially happy with IRC, because I am intrinsically drawn to more obscure technologies and their channels don't have these problems.

That said, IRC is made by the communities using it. The only, but a significant technological advantage it has over other chat mediums is its minimalism. Barebones chat is much more conducive to technical discussions, than the bloated alternatives, and I think the same applies for other kinds of discussions as well.

wow, i have not made such experiences on IRC, worst things happened to me were questions go unnoticed.

but i also use it only for very specific technical topics.

I saw some, people can be tense, angry, mean, sometimes even so while wrong. I remember a dude going down on me because he misread quicksort in my question and started to unleash unjustified ad-hominem insulting comments until he/she realized.

People are people I guess.

It's true that IRC is not free of tension and caustic groups. That said, like reddit, you can find very nice places to chat. #electronics #emacs both are very light on issues and very openminded (maybe too open minded some would say).
I talk a lot in #emacs and I do treat it like a coffee klatch, but when people come with questions, I try to interrupt myself and at least address their questions.

I like #emacs. It's like a gathering of friends who happen to use Emacs.

hi, i'm python476 (i know, awkward), so you know I share your sentiment about emacs. And #electronics is similar. Just a bunch of dudes who like that topic, but it's rarely on topic, and they're one of the most friendly bunch I've seen.
#emacs is an off-topic channel, if you have any questions(that you can't find just by googling), then it's best to use stackexchange/reddit.
Sorry, I'll try to do a better job to answer your question in there next time I see it.
(comment deleted)
Wait, you think #python on Freenode is a friendly place? It's consistently the worst channel I've visited on IRC. The language is fantastic though.
(comment deleted)
I think it reflects the community's extremes. I have been using less and less Python because so many of the community can at times be their own worst enemy or mine. Personally I steer people to different first languages just so they don't get stuck only knowing Python.
You're likely to have filtered a lot more than you think simply by consciously selecting which server and which channel to join. I don't know which kind of filtering you're referring to, but if you're talking about those that constitute echo chambers, IRC isn't really helping much in that regard.
I also met my Wife on IRC, ~20 years ago (after chatting for 2 years). Explaining then to people how we met was difficult, so we ended up just saying through a mutual friend - which was also true.

I strongly doubt it we would have met, in this day and age. The mainstream online socialising of today is superficial and desperate.

Today, a remote worker, I communicate with my colleagues over IRC. It's rare that I'd speak to a stranger on it.

> The mainstream online socialising of today is superficial and desperate.

You say that but it's a sweeping generalization; a filtering down to more close-knit and direct interaction still happens all over the place. You're just not 'in' that kinda thing at the moment.

IRC brings back some memories. I haven't personally used IRC in a few years directly, but I can remember how when I started university, every freshman "had" to login to IRC through SSH and screen :-). That's where the course channels were sitting and you could get help, either if you didn't want to ask face to face, go to school or just needed to ask something. There were other channels too, some where you were invited and had small social groups you chatted with daily.

Nowadays, most of the communication has migrated to Telegram from IRC.

EDIT: If one was to start using IRC, I guess there isn't a channel or a server where most or some of the people using also Hacker News go?

Perhaps #hackernews and #startups on freenode?
Another good starting point is #xkcd. it is a large channel with a lot of tech-ish and math-y people.

EDIT: Note that channel discovery on IRC is largely a word-of-mouth thing so don't be shy to ask people for channel recommendations on irc. Most programming language have a dedicated channel, e.g. #D or #python or whatnot.

(comment deleted)
The last thing I want in this world is to enter a channel full of people who like xkcd. It must be insufferable.
Are you talking about freenode? I just joined #xkcd and it's 8 people and no topic set. 3 other users joined and immediately left, I guess those were from HN aswell.

(A big channel for everyone to join is ##programming, by the way.)

Ah I should have specified. sorry. It's at irc.foonetic.net
#emacs would be my recommendation. It's a pretty great channel for random discussion/chatter, and every now and then people even discuss emacs.
I always envy the guy who registered the nick "e" on freenode. He must be ancient, one of the first users since NickServ came into being, and I imagine him as this grey-bearded programmer wizard who speaks in x86 assembly. He hangs around in ##C and I've seen him speak occasionally I think.
(comment deleted)
(comment deleted)
IRC was where I learned to program in the late 90's. Both through instruction on channels like #C, and also literally implementing the RFC's - building both bots and servers.

It was a rush building "bot/server" combos like Nickserv... felt like superpowers and you could do all kinds of things through spoofing names and whatnot.

(I mean it was pointless since the only servers I could pair with were other empty ones with one or two people... but still - it was fun!)

I guess at some point my trajectory just.. changed - moving from that world to less heady stuff like Flash and so on... but the nostalgia is strong and I feel very lucky to have gotten my start in tech that way.

And the IRC network I help run must have turned 15 by now.

It’s not filled to the brim with thousands and thousands of users. It’s not monetizable.

But instead we have a nice, small community where we can hang out, be ourselves and do whatever we like without having to adhere some other company’s “community standards”.

It’s how I like the internet to be, and I don’t care one bit if it’s old-fashioned.