I’ve learned programming by writing IRC bots and this is still my default activity when I learn a new language. It’s fun, because you get to play with sockets, text parsing and you can mix in all the interesting things you like (if you want to): TLS, asyncio, natural language parsing.
I met my first real girlfriend on IRC in 1996. It was like a joke: she really was Canadian, we really did meet over IRC, and whenever I told anyone I had a “Canadian girlfriend I met over the Internet” they didn’t believe me.
When I lived in northern Finland I made a pilgrimage to the very first IRC server. At that time it was a flower pot in an instructor’s office at oulu University. Sadly the instructor was at lunch, so I never got to see it, I only visited the next room :-(
How many years ago was this? Do you know if the machine is still there? It is cool that it has been preserved, if not quite in its original form.
Early 2000s, I’d estimate it was roughly 2003, no idea if the machine has been preserved.
I may be able to find out though.
IRC and I are the same age. It’s been 16 years of using IRC for me by now, and I’m still to see any real alternatives really take off. XMPP sadly died. Matrix is promising, but most people seem to still use it as an IRC bridge.
Matrix makes quite a fine IRC bridge though. Better mobile support, lets you see a list of when you were pinged, and image hosting. These days it has almost every feature I need to switch from telegram but the client is still too awkward to use.
and I’m still to see any real alternatives really take off
and I’m still to see any real alternatives really take off
The largest slack server I’m on has 70 people. That’s 1/4 of the number of nicks in #lobsters, half of whom are regular participants. Our channel is only the ~150th largest channel on Freenode. There are some significantly larger channels.
I don’t know what the largest Slack channel is (there surely must be some much larger than the largest one I’m on), but I don’t really see Slack going after that kind of audience. Slack feels to me like a meeting or conference room, whereas IRC feels like an auditorium or a stadium. It has tooling and social conventions to accommodate large, public audiences. I haven’t seen that replicated on other chat platforms.
Slack has been undeniably successful and has taken users from IRC in being so. I think it accomplished this through market segmentation, though, and isn’t trying to solve some of the scale problems IRC has solved.
When Slack kicked Reactiflux off the platform for having too many members, they had 7,500 members. Currently, Reactiflux on Discord has 35,000 members. At least one estimate puts freenode at ~88,000 users.
There are some enormous Discord “servers” (which is a total misnomer – they aren’t dedicated servers afaik, but it’s a word that resonates with gamers); maybe Discord would be a better spiritual successor from a scale perspective. I’m not sure what the biggest Discord is, but the biggest streamer I could think of (Ninja) has 40K people in his Discord, 8K of which are signed in right now (on a weekday during a workday/schoolday). These big-name streamers have big fan communities that use Discord a lot like I’ve always used IRC: partially for asking for help, but mostly for dumb jokes :)
I was just addressing the “alternatives take off” part. I agree they might be targeting different segment. I also think they did better job focusing on UX. The next alternative that addresses the segment you’re describing should similarly focus on good UX. Maybe charge for hosted versions or something to pay for developers to keep it a polished product, too. Users hate buggy software when their prior software worked well. They’ll switch back if they can.
Before I had internet at home, there were internet connected computers at the local library. A random friendly person was chatting on IRC and taught me how to connect. I was about 15, and this was before ever having used the web, before Netscape Navigator and Altavista. Through IRC I found a channel for chatting about assembly, I think it was #asm, where I also met a friend, which I still have contact with. We were in the demoscene for years, but now we play in the same band, have “proper jobs” and kids.
I’ve had my share of silly arguments on IRC, but in general talked to and met loads of interesting and bright people I might otherwise never have met.
So, thank you IRC protocol designers, IRC server and client software developers, server administrators, moderators, lurkers, ops, bots, helpful people, bright and inquisitive people and not quite so bright and inquisitive people, for making IRC an experience worth remembering.
May you live at least another 30.
IRC is great. It’s easy to implement a client for, simple enough to understand, and used pretty widely. It’s still the main protocol I use to keep in touch with people.
The only thing I wish that it would get is server side history, so I could scroll back in a channel without idling or setting up a bouncer.
Early this year I finally broke down and subscribed to IRCCloud. They handle all the details of staying connected so you have access to channel history. Admittedly it works out to about 14 cents per day. Well worth it, in my opinion.
I’ve been keeping an eye on IRCCloud – I currently keep a ZNC server running… playing with it has been quite fun and instructive so far, but I would be OK paying 5$/month for someone taking care of it all. I’m waiting for them to open up a bouncer service so we can connect with other clients than their official IRCCloud client… apparently it’s on their roadmap (see bottom).
There are people working on a revised spec called ircv3, that aims to address those issues.
I haven’t been in touch with that group, so I can’t speak to their progress or success.
I’m aware of ircv3, but I’m not aware of any proposal to add server side history to it – at least not one that’s gone anywhere. I’m sure someone cares about the other features, but they don’t really make a difference for me.
Edit: And I found one: https://github.com/ircv3/ircv3-specifications/pull/292
Uh, that is interesting. Thanks for sharing! I wonder if there are already any clients and servers out there.
Also see this story: https://lobste.rs/s/zdkuil
the rust irc crate aims for ircv3 support ;)
(I’m trying to contribute to it (but outside of the v3 things))
You mean this crate? https://crates.io/crates/irc
I’m certain IRC will outlive all the competing proprietary text cha protocols that are much more popular right now.
Sounds like a good time to finally set up my bouncer. If only there were one that had good Emacs compatibility.
I just run weechat on a server and connect to the weechat relay with weechat.el. There’s a few bugs in weechat.el (e.g. nicks go out of sync) and some things missing (e.g. nick list), but that’s a small price to pay for replacing another standalone app with emacs :)
I did this at the beginning but quickly switched over to ZNC because of bugs like that, the inability to have per-client history rollback, and other little details… I still use Weechat half the time on the client side though :) (I also use Textual on macOS, and Palaver on iOS).
Znc is what I use with erc
I’ve been trying to set this configuration up for half a year now, but I never get anything I’m satisfied with. The ZNC documentation is quite bad and confused, imo. And when I manage to set it up, even using ZNC.el it won’t work with IRCnet. Switching between multiple servers is another annoyance.
But maybe I’ve just messed up somewhere.
I used to use znc, seemed to work just fine with ERC.
Now I use weechat (a bit more features, nice Android app), again with ERC. There is weechat.el, but I prefer ERC (connecting to what weechat calls an “irc relay”, instead of using the weechat protocol). I use https://gist.github.com/unhammer/dc7d31a51dc1782fd1f5f93da12484fb as helpers to connect to multiple servers.
Ive used znc with Circe, works great
What did you find in Circe that made it better than ERC or Rcirc?
In case it’s useful - I used to use ERC, and I switched to Circe long enough ago that I can’t exactly remember, but I think the issue was that I wanted to connect to both freenode and an internal IRC server at the same time, and ERC made that awkward or impossible to do. It may well have improved in the last 5 years though.
It was easy for me to setup and use so I stick with it. Never tried those other two