1. 22

  2. 6

    IRC client on PicoLisp, 144 lines.

    1. 3

      Or, if you are willing to dump UNIX, you can just use the shell. https://code.9front.org/hg/plan9front/file/1dfd821d54b8/rc/bin/ircrc

      1. 4

        Portability and Usability is always a nice thing to have. A Lightweight IRC client is also awesome.

        “Do one thing and do it well” — Emphasis was placed on building simple, short, clear, modular, and extensible code that can be easily maintained and repurposed (per the Unix philosophy).

        And here we go again. The vague “Do one thing and do it well” manta is used in another project slogan.

        The same way people tend to put all binaries from one project inside the same bucket and say “you know, this thing isn’t Unix Philosophy compliant”, cause isn’t doing “one thing well”, the “one thing” is a totally abstract concept.

        iproute2(specially ip command) is a pretty good example here: does “one thing well”, that is, network management. But it does not fit on the same mantra if we further expand what iproute can do: assign ip addresses, show/manage l2 related info, manage routes, policy routing, network namespaces, tunnels, etc. It does well but it isn’t only one thing.

        1. 15

          The « Do one thing well » concept is good per se. You don’t want you mail client to connect to IRC, or let you edit videos.

          This must no be used as a cool way to say « lack of features ». Because this is the case here. I gave it a quick try, and it’s like a bad reimplementation of suckless’ sic(1).

          There is no channel management, no prompt, no screen clearing, … Every log gets printed to stdout (with a hilight on nicknames), and you type your stuff in the middle of this giant IRC log. So the only thing it does well is to connect you to an IRC server. As @c-cube said, it doesn’t support TLS either, so I don’t consider it as a valid IRC client.

          On the other side of the “one thing well” spectrum, there is catgirl.

          1. 1

            Agree with the part that this is not mean to be used with software that lack basic features (oh, you need to patch the source code to configure a simple behavior on your tiling window manager).

            But also, people tend to use the “One thing well” to justify feature creep on softwares that are more than one binary, or as the iproute, does more than one thing well.

          2. 7

            It looks like a nice little client, it’s impressive what you can fit in < 400loc. However, it doesn’t seem to support TLS, which to me means it’s literally unusable as a daily driver. The same criterion (TLS support as a sign of maturity) more or less applies to IRC bot libraries.

          3. 2

            I love this comment on hackernews. It really puts things into perspective.