Hello new Review Board student! Along with our code reviews and mailing lists, IRC is one of the primary communication mechanisms that we use in the project. I thought I’d jot down a few notes on the following:
- What is IRC? And how do I start using it?
- How to talk to people on IRC (etiquette and protocol)
So here goes.
What is IRC? And how do I start using it?
Briefly, IRC (Internet Relay Chat) allows you to talk in chat-rooms. Chat-rooms are a little antiquated now – but if you’ve ever used instant messaging, it’s like that – except there can be any number of people in the chat at once.
The basic idea is this: there is an IRC server that users connect to via IRC clients. On the IRC server are any number of channels (“channel” is synonymous with chat-room). Users can join any number of channels, and talk back and forth in there. That’s basically it.
So you’re definitely going to need an IRC client of some kind in order to connect to an IRC server. Here’s a big list of IRC clients. Here are popular ones for each major platform:
- InstantBird (cross-platform, tabbed UI)
- ChatZilla (Firefox add-on)
- Thunderbird (built-in IRC chat function)
- Mibbit (Web-based)
Connecting to Freenode
Once you have a client installed, you need to instruct it to connect to an IRC server. The IRC server that the Review Board project uses is called Freenode.
The path to connecting to a server is different from client to client, but here are the need-to-knows:
Open ports: 6665, 6666, 6667, 6697 (SSL only), 7000 (SSL only), 7070 (SSL only), 8000, 8001 and 8002.
Here’s additional information on Freenode servers.
You’ll also need to choose a unique nickname – but again, this is different from client to client.
Once you’ve connected to a server, you need to join a channel. By convention, channels start with the # character, and the channel we work in is:
Your chat client might have a built-in way to connect to channels. If not, the command you need to send to the server to join is:
And that will put you in the channel. If all goes well, you should see a list of names of the people who are in the channel, and you can start chatting.
Your mentors have the following IRC nicknames:
Christian Hammond: ChipX86
David Trowbridge: purple_cow
Steven MacLeod: smacleod
Mike Conley: m_conley
How to talk to people on IRC (etiquette and protocol)
That list of people you see in the room represent connections to the server – it doesn’t necessarily mean that they’re actively chatting; it just means that they’re connected via a client somehow.
Oftentimes, people connect and just idle while they do other things. That’s normal behaviour.
If you’d like to talk to someone, one of the established ways of opening connections is “pinging” them.
Pinging somebody is a way of getting their attention. Most IRC clients have a mechanism that alerts the user when their IRC nickname is mentioned, and pinging is writing somebody’s handle in the message, like this:
m_conley> ChipX86: ping(30 seconds elapse) ChipX86> m_conley: pong
In this scenario, ChipX86 ponged (though he could have said anything else, like “hey”, or “hello”), to let me know that he’s there. I can start a conversation with him now.
But I can also ask questions when the person I’m asking is not there…
IRC is beautifully asynchronous
IRC is an awesome place to ask questions when working on Review Board. However, we’re not always at our computers, or we’re super busy, and so we won’t respond to pings right away.
Instead of waiting for us to respond to a ping, just ask your question after a ping attempt.
We might not answer right away, but you can be sure that when we get a free moment, we’ll notice that we were pinged, and then we’ll read the back-scroll. And then we’ll respond to you if you’re in the room.
Being always there
You’ll notice that some people are always in the channel. Some people do this by just never / rarely shutting their computers off.
Most people do this by having a bouncer / proxy set up. Their bouncer is hosted on a remote machine, and it stays connected (and re-connects if it loses the connection). The user then connects to the bouncer, and the bouncer just forwards messages to the client.
This is really handy if you never want to miss what’s going on in IRC – your client will re-connect, and you’ll get a dump of the conversation that elapsed while you were disconnected.
For the term, we can set you up a bouncer – just talk to ChipX86.
Sometimes, you just want to talk to a single person privately. Questions about Review Board should probably be in the #reviewboard-students channel so that other people can listen and chip in, but questions about things like grades or performance can / should be done via private messaging. Each client does this differently, but generally, right-clicking on a nickname in the channel user list allows you to open up private chat.
That’s all for now. Happy chatting!