6 ms·
I have full faith that, if I had left a computer running, in the corner of my home, with an IRC client open, it would have been able to maintain a connection to
by esotericn 7y ago
I have full faith that, if I had left a computer running, in the corner of my home, with an IRC client open, it would have been able to maintain a connection to Freenode (not continuously, but just work) for fifteen or more years.
Personally I don't think IRC will ever be replaced. Well, it will, but it'll happen when my generation dies and gets fully replaced with the New Shiny.
I _hope_ that some sort of real, proper standard, that doesn't endlessly reinvent itself, that isn't subject to some for-profit bollocks, that on a very basic level, has like, a standard, has _clients_ (not just one wanky proprietary web frontend) that just sits and gets the job done like TCP, comes out of all of this.
Meanwhile, I'm fairly sure IRC will still be there in another fifteen.
Hell, at this point, IRC has been a constant in my life for longer than everything other than family. It actually feels like a friend. A portal to another quirky world, just as it did all those years ago.
I think it's almost two decades now since I first logged in. My my. The years are short, indeed.
- zanny 7y agoI started reading up Ruma sources with the intent to start contributing when I'm done with my current work (and when async lands in stable). Hopefully it (and maybe Dendrite) will be able to provide your 15 years of uptime on the client side in the future.
- myself248 7y agoOh, yeah. A little longer than that, here My freenode nick was registered in 2005, and I know that's the "new" registration since I accidentally confused the nickserv RELEASE and DROP commands once, and had to re-register the nick I had just mistakenly unregistered. It had a few years of history prior to 2005, but I don't know the details anymore. And prior to Freenode, I was on a few other networks going back to '94 or so. But moving networks meant it wasn't a "constant" in terms of being the same environment, just the same interface. We're not the only ones who feel that IRC will be around until we're gone... https://xkcd.com/1782/ https://xkcd.com/1782/
- jjcm 7y agoDie? No, but it is slowly degrading. More and more the people in my old freenode chatrooms are idle or simply leaving. We've gotten so used to phone notifications and a persistent history, that IRC has fallen behind purely from a convenience factor. It's rock solid in what it does, I have zero doubt about that or your 15 year claim. But even if the protocol works, if the user base isn't being added to it will die eventually.
- tastroder 7y ago> if the user base isn't being added to it will die eventually. Which is, sadly, a lost cause. We had a simple, reliable, open, decentralized base that simply did not adopt to the needs of a changing userbase of the internet enough. Non-technical users have expectations that are incompatible with the text only format and they prefer platforms that feel more like their other social media tools. Technical users don't fix that and get riled up about nonsense instead, like non-TLS connections and other points that were addressed a decade ago, alongside people that just prefer a more decentralized system. It feels like xkcd #927 is also relevant [0]. The open source world in chat/social platforms often looks like Googlers looking for a promotion instead of addressing real needs and most efforts seem to be drowning in irrelevance. Even technically sensible projects like Matrix, who's going to use that? Not the instagram crowd that's for sure, heck, many technically inclined people cannot be bothered with IRC when the alternative is convenient. I'd be really surprised if we see a widely adopted open messenger in 10 years, it's more likely that people just settle on a new random walled garden every 3-5 years. [0] https://xkcd.com/927/ https://xkcd.com/927/
- zingmars 7y ago> We've gotten so used to phone notifications and a persistent history, that IRC has fallen behind purely from a convenience factor. I have that with a bouncer (znc) and a plugin. I've not used it, but it is my understanding that IRCCloud does this too. Problem is that there aren't many easily usable options for this apart from IRCCloud and even IRCCloud itself isn't all that well marketed. Always seemed kind of weird how while IRC is full with FOSS people who are willing to use their time on various projects they're not getting paid for, most of whom also seem to worry about IRC dying out, nobody is really doing anything about it. A lot of the conveniences we miss could mostly be solved by making modern clients that are actually good.
- rtpg 7y agoI feel like Matrix is basically the "real standard" here that supports a lot more than IRC. The question for me is about how easy it is to build a client for that (IRC is stupid easy, of course). Ideally you should be able to build a Matrix client in something like a Python REPL and like 20 lines of code with an `input` loop at the end. I don't know if that's the case at the moment.
- Arathorn 7y agoOoooh... sounds like a fun challenge :D I've typed this out straight into the HN input box so it almost certainly doesn't work and will be full of typos and escaping bugs, but for illustrative purposes: here's what a ~8 line Matrix client for basic bi-directional chat in a given room could look like (complete with login) in almost-bash, with deps only on curl and jq: USERNAME='@whoever:matrix.org'; SERVER='https://matrix.org'; ROOM='#test:matrix.org' read -s -p "Password for $USERNAME:" PASSWORD TOKEN=`curl -X POST $SERVER/_matrix/client/r0/login --data "{ 'type': 'm.login.password', 'login': '$USERNAME', 'password': '$PASSWORD' }" | jq .access_token` ROOM_ID=`curl $SERVER/_matrix/client/r0/directory/room/$ROOM | jq .room_id`; curl "$SERVER/_matrix/client/r0/join/$ROOM_ID?access_token=$TOKEN" (while true; do SYNC=`curl -s $SERVER/_matrix/client/r0/sync?access_token=$TOKEN&timeout=30000&since=$SINCE` echo $SYNC | jq ".rooms.join.$ROOM_ID.timeline" SINCE=`echo $SYNC | jq .next_batch`; done) & while true; do read -p "<$USERNAME> " INPUT; `curl -s -X POST $SERVER/_matrix/client/r0/rooms/$ROOM_ID/m.room.message?access_token=$TOKEN --data "{ 'body': '$INPUT', 'msgtype': 'm.text'}"`; done Spread out a bit more with comments: # set your matrix ID & server URL, and the room you want to chat in: USERNAME='@whoever:matrix.org' SERVER='https://matrix.org' ROOM='#test:matrix.org' # prompt for a password; log in and grab an access_token read -s -p "Password for $USERNAME:" PASSWORD TOKEN=`curl -X POST $SERVER/_matrix/client/r0/login --data "{ 'type': 'm.login.password', 'login': '$USERNAME', 'password': '$PASSWORD' }" | jq .access_token` # resolve the room alias (#test:matrix.org) to a room ID (!vfFxDRtZSSdspfTSEr:matrix.org) ROOM_ID=`curl $SERVER/_matrix/client/r0/directory/room/$ROOM | jq .room_id` # check that you're joined to the room (redundant if you know you're already there) curl "$SERVER/_matrix/client/r0/join/$ROOM_ID?access_token=$TOKEN" # set a background loop running to receive messages, and use jq to filter out the # messages for the room you care about from the sync response. For now we print them # as JSON pretty-printed by jq, but that's not too bad. (while true; do SYNC=`curl -s $SERVER/_matrix/client/r0/sync?access_token=$TOKEN&timeout=30000&since=$SINCE` echo $SYNC | jq ".rooms.join.$ROOM_ID.timeline" SINCE=`echo $SYNC | jq .next_batch` done) & # set a foreground loop running to prompt for your own messages and send them # into the room as plaintext. while true; do read -p "<$USERNAME> " INPUT; `curl -s -X POST $SERVER/_matrix/client/r0/rooms/$ROOM_ID/m.room.message?access_token=$TOKEN --data "{ 'body': '$INPUT', 'msgtype': 'm.text'}"` done If I have time I'll actually try running & debugging this to be usable and edit the post (but got to run into a meeting now :( ). Needless to say, this'd be much prettier on Python - and you'd prolly want to use a nice SDK like https://github.com/poljar/matrix-nio https://github.com/poljar/matrix-nio (see https://matrix.org/blog/2019/07/03/usage-of-matrix-nio/ https://matrix.org/blog/2019/07/03/usage-of-matrix-nio/) so you get things like E2E Encryption for free. But doing it in plain bash hopefully gives more of an idea.
- agumonkey 7y agoIRC is probably peak in its niche. Simple design, cheap to run, cruftless. Anything else added really lowers its value.
- hoseja 7y agoIRC is a pretty awful standard though. It works, through immense hacking effort but as (utterly under-) specified, it's a nightmare.
- Avamander 7y agoIRCv3 tries to fix a lot of those concerns and provides a lot of features long due. If you have any specific concerns not yet addressed by IRCv3 I'd start talking about it in the issue tracker.
- dngray 7y agoI am hoping they go with Matrix, least then I will be able to have the choice of having a client appropriate to my needs. I do prefer my chat client to not be a part of my browser. That way I can close my browser, start my browser and chat client on login ie from i3/sway etc. A tab in a browser runs the risk of getting closed. I love using weechat (weechat.org) and have used it for decades. The Matrix plugin for Weechat is really well done https://github.com/poljar/weechat-matrix https://github.com/poljar/weechat-matrix Other people who want to use Riot can if they want at the end of the day I think matrix is probably the best option as it will cater for many people's needs.
- buboard 7y ago> client to not be a part of my browser. But that should also be an option too. Matrix could be great to integrate with for both private and public web communities , and that would incentivize people to create more homeservers. There is currently a lack of such solutions for communities and matrix could fill that gap. It's just sad that we have to end up sending people to sign up to discord .
- Arathorn 7y agoweechat-matrix even supports single sign on login (as of yesterday: https://github.com/poljar/weechat-matrix/commit/1a846d61ae07bf01dace834c92b61b4b236772aa https://github.com/poljar/weechat-matrix/commit/1a846d61ae07...) so it should work nicely with Mozilla's IAM SSO: https://wiki.mozilla.org/IAM/Frequently_asked_questions https://wiki.mozilla.org/IAM/Frequently_asked_questions
- 693471 7y agoYou really don't want Matrix. One year of Matrix to IRC bridge cost me about 30GB in Postgresql database to hold the state/logs of everything. It was less than 500MB of plaintext irssi logs.
- shantly 7y agoDid you figure out what's with the 60x bloat? Badly denormalized and storing tons of metadata? Storing images/video?
- microcolonel 7y agoI've been on Freenode since my tweens. Maybe the long term thing is overlay protocols, to solve the issues with directly connecting to IRC on mobile, and with shelling into a client on the same.