1. 1

A tl;dr of my thoughts on the rise of other chat mechanisms like Slack, and the decline of IRC.

Yes, the certificate is self-signed. Don’t hate the player, hate the game.


  2. 3

    I started out with EFnet in the mid 90’s and have been using Freenode for over a decade. IRC is a huge part of my social life. I’ve met most of my friends because of local IRC channels. I can also thank IRC connections for multiple real jobs.

    That said, I think most of the infrastructure around IRC is definitely built for and by hackers. Most bouncers are a SPOF waiting to happen, few support external user databases, many are ‘configured’ via messages sent through the bouncer itself, or a hackjob web-inteface.

    Give me a bouncer that:

    • connects to a database (eg, ldap)
    • can synchronize data across multiple instances (or deals well with data restored from a S3 backup)
    • can be configured via a reasonable API
    • can be monitored via a reasonable API
    • can handle 1000+ synchronous users.

    I feel like robustirc is a step in this direction, but clients are still problematic. The great thing about IRC is that the interface is simple and anybody can write a simple client. The bad thing is that the majority of IRC clients are awful. Text, and GUI based IRC clients could be improved greatly, but they are still mostly stuck in the stone age.

    This is where Slack wins, the visual interface is appealing. Its easy to setup. It has message storage, and search. I can connect from multiple clients are they all get the same thing. Its great, until you use the Slack IRC Bridge. Its amazing that the IRC Bridge exists, but its a awful experience for users who have no interest in using the Slack app or web interface. Many of the integration’s render horribly in text, and many messages translated from Slack -> IRC get mucked up in the process. Code pasted via snippets is fine, but you can’t deal with those in the IRC Bridge, code pasted directly into the channel via a Slack client render broken code through the IRC Bridge.

    With all that in mind, I find it strange that so many programmer communities are jumping ship to Slack. Sure its free, but so is /join'ing a channel on Freenode. People can be jerks in either IRC or Slack, and you can kick, ban, and ignore them from both.

    1. 2

      The game has changed: https://letsencrypt.org/

      1. 2

        What’s he talking about?

        ‘However, the world around us is no longer suited for IRC’.. the world that was ever suited to IRC is still well suited to IRC…

        A revival of IRC? freenode.net has 100,000 users online now. I don’t remember how many people were simultaneously online in the heyday of EFNet, but was it much more than this?

        1. 2

          IRC usage is in decline, as a lot of projects and teams adopt Slack over open protocols like IRC.

          1. 2

            Some numbers here. http://royal.pingdom.com/2012/04/24/irc-is-dead-long-live-irc/

            Fair enough on overall decline, my main reference point over the past few years was freenode only, which is still growing steadily, up 25% since this article.

            ‘Ideological zealots and power users’ is completely unuseful and inaccurate judgement onf the elitist control freaks who populate IRC ;)

            1. [Comment removed by author]

              1. 1

                Yup. This is my main experience of IRC for ever. I am conscious that it’s an environment where asking questions that are not pitched at the right level is not productive though - if you ask a question that you should reasonably be able to solve yourself, you may get an offensive response. Too hard / abstract question results in questioning your approach/tools/reason for existence, etc.

                1. 1

                  What happens if you ask a question that’s not pitched right on slack?

                  1. 1

                    They’re not comparable: slack is for a team who have some kind of shared purpose or relationship; IRC (the IRC I’m talking about) is a public space, where people have no motivation other than to be helpful, or help support a particular project, or, y'know, score ego points.

                    The answer to your question though is that there is no ‘not pitched right’ on slack (all the slack’s i’m in), I would expect any and all questions to get met with a helpful response.

                    1. 2

                      In the context of this post (and others) projects are choosing between irc and slack (or at least being told to choose), so some people find them comparable. But my question is really, at the point where a project decides to use slack, why can’t they decide to not be jerks on irc?

                      1. 1

                        Most slacks still seem to have multiple channels, which can certainly be set up along eg different technical levels. Asking a beginner question in the expert channel (or vice versa) is the equivalent of asking in the wrong irc channel.

                        The biggest difference for me is that I am only on well moderated Slacks that have a good, thorough code of conduct which is enforced, having been deliberately set up as welcoming spaces, whereas I started using IRC before that was a thing, and so many channels either have not embraced it, or have baggage from the more, ah, ‘abrasive’ past.

                  2. 1

                    We also had a pretty good experience using it in a research group. I set up a direct webchat link via Mibbit for people who weren’t interested in finding an IRC client, and a number of people just joined via the IM clients they were already using, some of which support IRC (Adium, Pidgin, Trillian, etc.).

                    There wasn’t really any preexisting “IRC culture” per se, good or bad, because it was just the members of the research group, so the culture was whatever culture we had.

                    Now I’m in another group that uses Slack, with some personnel overlap with the people who used to use IRC, and the main thing people like better about it is that the server stores messages when you aren’t connected, so you can read them later. You can do that on IRC if you use it (as I do) in the Unix-style irssi-in-tmux way, where you’re connected 24/7, but if you use Mibbit or Adium to IRC, you miss what happens when you aren’t connected. Some way of fixing that problem would be nice.

                    1. 1

                      Bouncers exist, but these are a power user’s client-side problem to what most people want to be a server-side solution.

                      1. 2

                        They exist, but they are definitely not built for the enterprise. Have you ever tried to run a ZNC for ~400 users? Its difficult to manage, doesn’t link to LDAP or any other database, most of its configuration takes place via a web-interface. SSL is also a pain, unless you use ZNC to generate the certificate. If you already have a Internal CA, its going to be pain.

                        Additionally, no bouncer that I’ve seen supports any type of HA, all of their state tends to be stored locally. Making them a Single Point of Failure.

                        I’d love to see a bouncer built for more than ‘hackers on quakenet’.

                        1. 1

                          I think an attempt at making an open Slack-like thing on top of IRC would at least be dependent on a bouncer layer and a client layer. The bouncer layer can abstract away the server’s problems such as lack of persistent logs and push notifications, if it isn’t integrated into the server. (You’ll also need a client capable of supporting this new stuff too. AFAIK, Palaver is an iOS client with ZNC integration, but it’s still IRC and ZNC, with all their warts at the end of the day.)