@sir IRC is kind of broken as designed; the server pretty much expects to be talking directly to the user, so there are fundamental things missing, like knowing which past request an error message is a response to, or knowing whether a message you see or sent has been truncated because it was too long (or even what the length limit is)
@kragen the limit is well defined and you just seem to have encountered a bad client if it doesn't split it up/tell you it's too long.
@sir your client silently corrupting your data before sending it to the server is a solution in limited circumstances, but even so, it doesn't solve the problem, just makes it less frequent; and the institutionalized behavior when you violate the well-defined limit is to undetectably corrupt your data further, which is not reasonable behavior
@sir also, as explained in more detail in http://web.archive.org/web/20180911051912/https://gist.github.com/grawity/3257896 and https://developer.pidgin.im/ticket/4753, you can't reliably anticipate how much extra data the server network is going to tack onto your message before sending it to other clients, so the client isn't in a position to reliably solve the problem
@kragen I don't know what these people are talking about. The server tells you when your hostmask changes.
@sir that's not what a hostmask is; maybe you're thinking of a cloak?
@sir anyway, the IRC protocol has some serious deficiencies that can't be fixed in a backward-compatible way, but I'm not convinced that there's another protocol out there that's a Pareto improvement
@kragen this particular problem can be fixed in a backwards compatible way, though. What other problems do you have to complain about? Think carefully about whether or not they actually require incompatible changes before you answer
And for the record, IRC has been working well for over 30 years despite these "deficiencies", far longer than any of its competitors have come close to
@sir What is your proposal for fixing it in a backwards-compatible way?
IRC has *never* worked *well*. I've been using it since before Undernet existed (about 25 years ago) and running a server with some friends for most of that, I've written a couple of (shitty) IRC clients, and I'm hanging out with the ircII maintainer right now (ironically, on ICB rather than IRC). I could be mistaken about its problems but if so it's not due to the kind of profound ignorance you seem to be assuming :)
@kragen IRC can totally handle millions of users. Networks handle upwards of a hundred thousand every day without breaking a sweat. Some single channels have thousands of users alone. The design is quite scalable
@sir I know very smart programmers who devoted years of their lives to trying to get IRC to handle millions of users without success, though hey, maybe that's improved since then. Current networks are typically under 100K users and still have netsplits; fixing netsplits probably requires a new server-to-server protocol. Skype, by contrast, has handled tens of millions of users for a bit over a decade. I don't use it anymore because it's proprietary, but it does exist.
@kragen netsplits are pretty rare these days. I see them maybe once every 3-4 months
@sir yeah, that's definitely an improvement over 1994, and it roughly matches my experience. (I'm also on IRC all day every day.)
@sir I want to point out that, as far as I can tell, AP, Skype, and SSB don't have netsplits at all, though. (Not sure about Matrix.)
@kragen they do, they just don't call them netsplits and they don't necessarily have the same symptoms
@sir Yeah, of course any distributed system on a partitioned network will suffer a network partition. By "netsplit" I was referring to IRC's handling of that situation by irreversibly losing messages. (At least nowadays it doesn't enable randos to steal your channel — but fixing that required a backwards-incompatible protocol upgrade.)
All friendly creatures are welcome. Be excellent to each other, live humanism, no nazis, no hate speech. Not only for nerds, but the domain is somewhat cool. ;) No bots in general! (only with prior permission)