Hacker News new | comments | show | ask | jobs | submit login

I challenge you to write a functional irc client based solely on the rfc.

I've actually written IRC bots mostly from the top of my head.

The protocol and semantics are really simple.

Type this into a console near you:

   nc irc.freenode.org 6667
   USER foo bar batz boo
   NICK test345
   JOIN #testchannel
   PRIVMSG #testchannel hello world
   PRIVMSG test345 hello self
Yes, that's all it takes for a minimal, functional client. (just remember to type PONG every once in a while)

I'm not sure what you mean by fractured. Like every protocol it has a few rough edges, but those are nowhere near the semantic nightmare that I witnessed when trying to dabble with XMPP (which admittedly was more than a year ago).

I remember attempting to write an IRC bot a while back and finding that RFC severely lacking when it came to connecting to whatever irc network I had chosen to test it against. The problem was that the handshake to join the server was different in the RFC than what the server was expecting. This sentiment was mirrored by others I consulted with over IRC that were devs on the epic3 irc client. So, while writing a IRC bot may be simple, I would imagine that writing a client isn't. The protocol itself was the same (in the "COMMAND args" sense), but the conventions differed.

Let me tackle this from a different angle:

How long did it take you bring your client into a reliably working state? And have you tried to do the same with a XMPP client for comparison?

As said, I didn't mean to claim IRC is perfect - nothing is.

But if you think the differences that IRC networks have introduced are problematic then I invite you to try and build a most basic jabber client.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact