
Why I Live in IRC (2015) - Spydar007
https://aaronparecki.com/2015/08/29/8/why-i-live-in-irc
======
VelNZ
I've been an IRC user since 1996 and still going strong. There have been many
chat networks that have come and gone, but IRC, by virtue of being a protocol
rather than a commercial venture, lives on.

These days, I use Textual on OS X which has a very clean interface and things
like in-line images and videos combined with ZNC for logging messages while
I'm away. I log in and they all come up, if I want older ones I use the
backlog module with /bl #chan <num lines to go back>. Granted it's not as
elegant as scrolling up in Slack but I don't tend to need it often. I'm even
connected to my friend group's Slack via IRC so I never have to open Slack
itself!

I find the idea of piping in various things into IRC intriguing and something
I've been meaning to implement. It's trivial to get a Python/Perl/etc script
to connect to an IRC server and spit out some information.

Long live IRC!

~~~
rekoros
In case you didn't know, you can pipe A LOT of things to IRC with
[https://sameroom.io/integrations/irc-
integrations](https://sameroom.io/integrations/irc-integrations)

~~~
rekoros
Albeit not all of IRC, just networks that resemble Freenode
([https://sameroom.io/limitations#irc](https://sameroom.io/limitations#irc))

------
dijit
+1 for IRC, the interface is clunky and the protocol hasn't aged particularly
well (especially for mobile devices who may not be able to hold a connection
forever). But the social aspect of easily accessible chatrooms and the
plethora of clients/tools surrounding IRC is really second to none.

You can put a pretty skin on it (slack,discord) but at the end of the day it's
going to take years to bring up the level of tooling and at the end you wind
up in a closed loop on someone elses platform.

FWIW; I dream of electric sheep so I'm completely biased. I run an IRC network
if anyone is interested in joining.

host: irc.darkscience.net/6697 (SSL required)

chan: #darkscience

~~~
lmm
IRC is great for a world where people have one account on one computer that's
permanently switched on, but it inherently fails to handle use from multiple
devices. All "solutions" to this end up involving running your own server (or,
more likely, having someone else do it) and talking to that via a probably-
proprietary (or at least nonstandard) protocol at which point you no longer
have the benefit you're talking about. (That protocol is often layered over an
open protocol, but commands-over-ssh is very hard to interoperate with if not
standardized)

Good UI is not just "pretty", it's also about having commands be discoverable.
Traditional IRC clients are terrible in this regard.

There's no reason the platform has to be closed - I'm friends with the people
working on [http://matrix.org/](http://matrix.org/) (though not involved in it
myself) and hope they succeed.

~~~
scrollaway
I recommend IRCCloud.com to people.

I'm a huge fan of IRC but it's true the IRC protocol has many issues (I talked
about them before on HN; can't find the link now). IRCCloud may be (slightly)
proprietary but at least it still only talks to IRC, and it's a good
alternative to Slack&Friends (which are 100% proprietary) and webchat (which
have the same issues as desktop clients and are generally atrociously ugly).

Free IRCCloud accounts stay online 2 hours when shut off. I pay for mine,
which stays online forever. It's a fairly similar experience to slack except I
can still use the same open protocol as everyone else.

Matrix is extremely promising but IMO not there yet.

~~~
lorenzhs
I run WeeChat in a tmux and connect to it with Glowing Bear. It's a similar
experience, and it's all free software. It also leverages the whole power of
WeeChat in a nice interface (triggers, scripts, etc), so it can do some nice
tricks that IRCcloud can't.

Oh and there's also a Matrix script for WeeChat, so you can use matrix from
WeeChat (and thus Glowing Bear)!

~~~
scrollaway
Got some examples? I never tried WeeChat. I used to use Quassel (I liked the
client a lot), but after my server died I figured it wasn't worth the trouble
of maintaining it.

~~~
lorenzhs
Examples for what? There are some screenshots of Glowing Bear on the GitHub
page ([https://github.com/glowing-bear/glowing-
bear](https://github.com/glowing-bear/glowing-bear)) and in a blog post I once
wrote ([https://4z2.de/2014/04/10/glowing-
bear](https://4z2.de/2014/04/10/glowing-bear), probably outdated). I use it
with a sans-serif font on the Desktop, too. The UI is quite hackable, you can
add custom CSS rules to override things to your liking in the settings (simply
changing the font doesn't require that, though).

Some useful scripts include colorize_nicks.py (colourises nicks in messages,
to make them stand out over the text) and grep.py (easily and efficiently
search logs). Matrix.lua ([https://github.com/torhve/weechat-matrix-protocol-
script](https://github.com/torhve/weechat-matrix-protocol-script)) allows you
to use the Matrix protocol with WeeChat, and by extension Glowing Bear.

Trigger-wise, I have triggers that remove colour from status messages (most of
them are just noise) or replace (lenny) with ( ͡° ͜ʖ ͡°) when I send a
message, mostly because I can ;)

Getting push notifications requires a bit of setup, but there are scripts for
Pushbullet/Pushover/..., or irssi-notifier (which also works with WeeChat) to
do that. It's a bit complicated because we don't run any servers (Glowing Bear
is just a bunch of static files, everything happens in your browser or your
WeeChat), so we can't provide push notifications out of the box. Disclosure:
I'm one of the Glowing Bear devs, so I may be biased :)

------
lorenzhs
I agree with the author on many points, but he's wrong about mobile support.
WeeChat has a relay plugin (built-in) that allows mobile clients to connect to
your existing WeeChat session. There are even some options to choose from:
WeeChat-Android has recently gotten some love again (I hear it works nicely),
and Glowing Bear works on every device that has a modern browser and has a
nice responsive UI, along with some neat features like embeds and direct imgur
upload.

Both connect to your WeeChat instance directly, so there's no cloud provider
you have to trust, as the relay works as a socket and websocket. This allows
Glowing Bear to work in the browser (Disclosure: I'm one of the devs)

[https://github.com/glowing-bear/glowing-bear](https://github.com/glowing-
bear/glowing-bear)

[https://github.com/ubergeek42/weechat-
android](https://github.com/ubergeek42/weechat-android)

Oh and the point about long URLs being unclickable has been addressed by bare
mode, which is bound to meta-L by default. This is not a concern for the
mobile clients obviously, as they don't run in a terminal.

~~~
aaronpk
Thanks! A few months after writing this article I actually discovered glowing-
bear and have been using that now too! It's now the primary way I access
weechat, both on my laptop and on my phone.

------
lifthrasiir
I'm a long-time IRC user (back to 2004---wait, it might not qualify as "long-
time") as well, but I feel that the current reputation of IRC is simply built
around communities that _still_ conglomerate on IRC. IRC is a horrible
protocol in the modern standard, lacking every bit of the modernism you
define. I still don't like a recent trend of using something like the Slack
instance for public discussion, but that trend clearly shows that the
continued "success" of IRC is simply an illusion or at best depending on an
external factor.

~~~
adrusi
It's a fantastic protocol because of how simple it is. It doesn't try to bake-
in features beyond the most fundamental of getting a message from one person
to others. If you want want support for multiple clients you can have it, you
just need to connect through a bouncer. I think some people see this as a
cludge: if you can't use a piece of software effectively without additional
software that's a sign that the original software is lacking. This is simply
not true: what matters is how usable and reliable the end result is. It's not
an argument to say that a setup being composed of multiple components makes it
hard to set up, because there are ready-made solutions like IRCCloud around
for people who aren't interested in doing it themselves. The fact that the
setup is comprised of multiple pieces is only a testament to its versatility.
You probably want a bouncer for your own usage so that you can use multiple
devices and receive messages offline, but you don't need any of that for your
bot running on your server, and because none of the multi-device functionality
is baked into the protocol, your bot never has to worry about it.

IRC lacks comprehensive presence signaling, and to the extent that this makes
read receipts impossible it's a good thing. It has /away which is almost good
enough, but lacks good support for being set automatically by clients.

End-to-end ecnryption is becoming fashionable even on proprietary chat
networks, and IRC lacks it, and that is a missing feature. The other main
missing feature is federated identity, which no major network has.

But apart from that IRC's only problems are where it has the same feature
twice, or whan lack of cross-network standardization prevent clients from
offering higher-level interfaces. Most networks support both SASL and
NickServ, which have overlapping functionality. I don't think ChanServ is
standardized, so clients are stuck with showing things like flags on channels
and users, rather than presenting a "channel settings" menu. If ChanServ were
standardized, clients could automatically configure private channels.

For these few things that IRC (currently) lacks, it gives unparalleled
customizability, compatability (I can connect to basically any other chat
service like Facebook Messenger or Slack through IRC, but not the other way
around), and respect for users' freedom (XMPP and others offer this too, but
are smaller).

------
avindroth
I am not an IRC user, but I wonder whether Python Paradox[1] applies to IRC
users.

To soak wisdom from top-tier hackers in the field, you want to go where they
hang out. IRC might just be the hacker playground.

That alone makes a convincing case for using IRC.

[1]: [http://paulgraham.com/pypar.html](http://paulgraham.com/pypar.html)

~~~
chrisseaton
That essay seems so wildly out of date, even though it's only a decade or so
old.

> And people don't learn Python because it will get them a job; they learn it
> because they genuinely like to program and aren't satisfied with the
> languages they already know.

These days I think Python is every bit as much a corporate language as Java
is, and I'm sure huge numbers of people learn it to get jobs at the
conventional tech giants like Google as well as small startups.

~~~
thanatropism
Python somehow became the default language for data science, which is like the
new php+mysql in terms of a high labor-intensive field attracting very new,
short-term opportunity, unskilled coders.

------
mhd
I know of others who forward almost everything to email, including custom
scrapers/converters (and then of course there's RMS). If your info feed
contains more long form resources, that seems like a better end point. But for
twitter feeds and notifications, IRC seems mostly sufficient.

Now I do wonder what would be the equivalent for someone heavily into image-
based communiciation/updates. Unifying your reddit, snapchat, facebook, imgur
etc. Forward everything to pinterest (or a similar homebrew interface)? Maybe
even rendering some text updates to images...

------
erlehmann_
I use IRC over XMPP almost daily, with a transport that connects me to a
channel and represents it as multi-user chat, like
#maemo%irc.freenode.net@irc.netlab.cz.

The primary reason is that XMPP behaves really nice if the connection is
spotty: When I am using IRC in a moving train, I almost never timeout even if
the network is not reachable for minutes – and as soon as the client
reconnects, I get all the messages from the chatroom.

------
dvcrn
This was very informative and this "hub" is something that I want to setup for
myself. When I started writing down concepts I immediately picked slack
because of all the integrations but isn't it a bit 'overkill' to use a
community system for me alone to get all my feeds aggregated together?

Are there solutions out there that offer something similar but without the
community aspect?

------
yankcrime
FWIW there's a really good Slack plugin for Weechat called wee-slack [0]. It
uses the Slack API (as opposed to their IRC gateway) and so is surprisingly
full featured.

[0] [https://github.com/rawdigits/wee-slack](https://github.com/rawdigits/wee-
slack)

~~~
aaronpk
That's awesome, I'll take a look at that. Do you know if it logs to disk the
same way weechat logs IRC channels? Right now I'm a little annoyed that I
don't have local logs of the Slack channels I'm in.

~~~
AdamGibbins
Yes, it does - filters, logging, etc all work as they do for IRC. Huge +++ for
wee-slack, has made Slack much more bearable. Supports many things Slack's own
IRC protocol doesn't, like the ability to see edited messages.

------
pimeys
IRC user since 1995 and still going strong. Too bad IRCNet is declining, it
has been my source of entertainment since the beginning, having these Finnish
chat rooms and close circle of friends. I never really got into the english
tech-related irc channels, they move too fast and are hard to follow...

------
Raphmedia
My main issue with IRC is channel rot. Every channels I was once a part of
died. Most channels that are still "active" are in fact filled with quiet
lurkers.

Otherwise IRC is still my favourite. I simply don't visit anymore...

------
k__
I lived in IRC from 2001 to 2006.

Back in the days it was my go to social software. People were always online
there and I even started programming with mIRC. Funny thing, back in the days
I built chat-bots for fun and now they are big business, haha. Well, most
people there were nerds and this was okay. We also had our own small bulletin
board communities.

Later I wanted to meet girls and they just didn't show up often on IRC or
BBoards.

So I started using LiveJournal, MSN Messenger and MySpace. Later I switched to
Facebook and WhatsApp.

------
cm3
I never could use IRC because it's hard to sift through the noise. I have the
same issue with group chats as implemented in Slack, but at least Slack can be
accessed with an XMPP client, meaning I can get asynchronous delivery of
messages without the need to have a client running 24/7\. Do all heavy IRC
users have a bouncer and a bot or do they rely on a service like irccloud?
Either way, without async messaging, it's hard to use in a distributed team.

~~~
mgbmtl
> Do all heavy IRC users have a bouncer

As a heavy user of IRC, I would say yes. At least, I wouldn't be able to use
it without irssi running inside tmux on some server, and everyone I know does
the same.

For a large Free Software project, we use Mattermost (a Slack clone with
unlimited history) and it works great. There are a few features missing, but
it has been a huge boost for engagement. As someone who has been using IRC for
20 years, I never thought I could get used to using a web-based client, but
it's worth it.

Small annoyances, such as having to educate people not to use "@channel"
because it will email a notification to 300 people, but it's just a matter of
time before it's fixed.

~~~
cm3
For obvious reasons I don't consider web clients a reliable solution, but it's
a practical alternative when away from your desk.

~~~
mgbmtl
Considering a lot of people use Gmail for email, I would be curious as to why
you consider web clients to be unreliable.

(I don't use Gmail, but a ton of tech people do. Something like Mattermost is
rather harmless, since less critical than email.)

For what it's worth, Mattermost also package native desktop applications for
Linux, Mac, Windows and iOS/Android. The desktop ones are basically a wrapper
around a standalone browser. Has better native desktop notifications
integration.

~~~
cm3
I much prefer that I can choose my client, be it pidgin, emacs, mutt, irssi,
thunderbird, you name it. Web interfaces are limited in functionality, give me
little control how my client works, and I'm at the whim of a server operator.
Mutt or Gnus or irssi haven't changed drastically, but a web interface can
change without an option for you to restore the previous version. That's a
huge problem with the deployment model of web apps, especially for power
users.

Like I wrote above, I'm not a real IRC user because it doesn't support async
messaging well, and I was curious if there was a viable xmpp-like async mode.
I love email and xmpp because they works like git in that I can use it offline
as well. Please don't argue that everything is 24/7 connected due to IoT or
something like that as an explanation why offline mode has no use today.

Async messaging has other advantages, like drafting a response and pondering
about the details over one or more days. That said, realtime chat has its
place, but with distributed teams it's most practical to use distributed async
messaging for the normal case and fall back to realtime protocols when you
need a live conversation. I consider live communication to be the same as
calling someone on the phone and disrupting their workflow or failing to reach
them due to being unavailable at the moment.

Don't get me wrong, IRC and monitoring chat rooms works for many developers,
but that doesn't mean it must work for me as well. We're not all the same
after all. When I use live comms, it's on-demand, like a phone call.

~~~
mgbmtl
I 100% agree. I wasn't sure if you meant reliable as in security, uptime, etc.
So reliable as in "stable UI/experience".

I'm also a heavy mutt and irssi user. I think their UI stability is more an
issue on how application authors deal with change/improvements, but I agree
there's probably a technical factor where libncurses offers less flexibility
than HTML/CSS does, so web apps are much more likely to change often.

------
jiyinyiyong
I started learning programming since 2012. I don't like IRC. IRC is not
friendly to people like us. Hard to connect, hard to find a free and neat
client, hard to talk to the people, hard to start a new thread(also hard since
it's in English, but this is somehow good for others). That's why I like
talking with people on Twitter and WeChat.

------
laurent123456
Regarding the long URL issue, since IRC can be easily customised, wouldn't it
be possible to create a filter that, for each message, would send the URLs to
a URL shortener service and display the result? It could even be a self-hosted
service to make sure the URLs remain private.

~~~
TeMPOraL
Of course it's easy to do that in a client. Also, on many channels there are
bots doing that - every time someone posts a URL, a bot will reply with a
shortened version of it.

~~~
lorenzhs
A bot creates noise for everybody - I think it's nicer to have the client
handle this (urlserver.py / bare display in WeeChat, or a non-terminal
client). But that creates friction for new users so maybe it's not the holy
grail either.

------
dharma1
irc since -95. Though I use it just for work these days. I don't think irc
will ever go away. It would be nice to have it working in a persistent,
distributed way without servers, maybe in the future.

------
jv0010
Asl?

~~~
penetrarthur
but irc is not aim

