IRC (Internet Relay Chat) is mostly just people talking. It's the primary real-time activity on the Internet. Web pages may be weeks or months old, usenet posts might be days old, mailing-list messages might be hours old, but IRC happens right now. If you've seen someone using "the Internet" on TV or in a movie, they were probably using IRC--it's the only thing on the Internet that really moves.
IRC happens on networks that are set up within the Internet. There are three main IRC nets at the moment: EFNet, Undernet, and DalNet. Each net is made of up several servers that carry the traffic. When you use IRC, you use a client program on your end to connect to a server on the IRC net.
How can you jump into IRC if you haven't tried it out yet? Let's assume you already have an account with a local Internet service provider. Here's one way to get in. We'll call it the "old way":
Your provider should have a local phone number for you to dial into. Use your regular modem software (such as Procomm, Smartcom or Telix), call that number, and log in with your name and password. You may get a menu of things to do--if IRC is one of the menu choices, no problem: select IRC and jump right in. If you get a unix prompt (a % or a $), try just typing "irc" and hit enter. Chances are the IRC welcome message will jump right up at you. Make sure the terminal emulation in your software is set to vt100 or vt102 to avoid headaches.
One advantage of the "old way" is that you don't have to do any setting up at all. The client software is running at your provider, so it doesn't matter what kind of computer you're using. advantage is that you even the dustiest old XT can manage to dial in and display an IRC screen that has nothing but scrolling text. The disadvantage is that you'll have to enter all your commands manually, and you won't have any of the bells and whistles that the newer client software has. Trying to leave IRC briefly to do something else when you're using the "old way" requires some basic unix know-how, which not everyone has.
The "new way" is connecting to IRC through a SLIP or PPP connection. For this one, we're assuming you have some kind of TCP/IP connection that goes right to your home computer (such as a PPP account with your local provider), and uses a program like winsock or the TCP/IP package in Windows 95. You set up an IRC client that will run on your computer at home. This client will connect your home computer directly to a server on one of the IRC nets. The advantage of the "new way" is that lots of IRC commands and such are automated, or linked to buttons in the client software--just push a button to do something. It's easy to switch from your IRC client in one window to another program in another window, to cut and paste text, or to grab files off your hard drive and send them to other users. The main disadvantage is that you will have to set the client software up yourself at least once--and some of these programs are full of obscure little switches. How well a SLIP/PPP client runs will depend on your home system, as well--you may find that the "old way" runs faster, if all you want to do is talk. The original Windows IRC client is Caesar Samsi's WSIRC, which a lot of Internet providers include in the bundle of software they give to new SLIP/PPP customers. A newer, full-featured Windows IRC client is mIRC--make sure you get the newest version (3.92). There's also a Netscape Chat client (for Windows only) that's designed to work hand-in-hand with Netscape's web browser.
If you are using the "new way", the first thing you'll need to tell your client software is what server you want to connect to. What you're really doing is connecting to one of three independent IRC nets--you need to choose a server on one of those nets to connect to. There's a list of suggested server addresses at the end of this article; you can get complete lists through most of the Web pages listed here, too. Now, everybody will tell you that you should connect to the server that's "closest to you geographically". The real advice is that you should try servers more-or-less close to you until one will let you on. Some will be busy, others won't let you on for reasons we'll get to later. For Minnesotans, "close to you" means the United States. Connecting to a server in Chile or South Africa is considered bad form, and many servers boot people off who are connecting from too far away. Anyway, the conversations on EFNet, Undernet or DalNet are the same no matter what server you use. If you have to specify a port, use 6667 or a number a few integers away.
Whether you connect by what we're calling the "old way" or the "new way", your basic screen will be the same. You'll have a main window with messages scrolling across it, and a line at the bottom of your screen for entering commands. The new clients have button-bars and menus, but you can enter manual commands into the new clients, too. The first thing you should see is a welcome screen from the server you've connected to. Once that screen scrolls by...nothing. You have to enter a command by typing it in at the bottom (or in the new clients, by pushing a button or choosing something from the menu).
All IRC commands will start with a forward slash ( / ). Let's look at the most basic commands one by one:
First, you will probably want to use a "nick", meaning a nickname or alias. Everybody else does. If you wanted to give yourself the nick "TuringTest", you would type this command in the space at the bottom:
/nick TuringTest
Two people can't have the same nick on the same net at the same time, obviously. If you get a message saying your nick is taken, choose a different one. Common names are poor choices, as are character names that net geeks might choose.
Now that you have an identity, you need to join a channel. All conversations happen in channels. The /list command will give you a list of channels. Try a command like:
/list -min 8
to show you a list of channels that have at least eight people in them. If you enter /list by itself, it shows you every channel. Keep in mind that on EFNet, there are typically over 3000 channels open at any one time. Most of the time, you won't want to have all those channels scroll by (but if you're using the mIRC client, the list will go in a separate window that you can use for quick reference). Another way to /list just a few channels is like this:
/list #m*
This will show only channel names that begin with "m". Actually, all channel names begin with "#", or rarely with "&" if they're limited to the server you're on. You can do a search by substring, too:
/list *ind*
will show any channels with "ind" anywhere in the name.
Once you've decided on a channel, you can jump in. Use the command /join to join a channel, like so:
/join #irchelp
This will put you into the channel named #irchelp. Once you're joined, you'll start to see the conversation scroll across the main window. Whenever you type anything that doesn't have a slash in front of it, everyone on the channel will see it. The conversation will look something like this:
<TuringTest> Hi everybody!
<Eliza> Hi, TT!
<Golem> Hey there!
When you connect the "old way", this conversation will be mixed in with messages from the server, telling you when someone joins the channel or leaves, among other things. You might see a message like this, too:
* Eliza takes another sip of coffee.
This is called an "action", and it's basically just a flourish. You can do this easily, with the /me command:
/me takes another sip of coffee.
When you want to know who someone really is, you may be able to get the info with the /whois command:
/whois Golem
but you might have to go ahead and ask them privately, with the /msg command:
/msg Golem Can I get your e-mail address?
To get a list of everyone on a channel, you use the /names command:
/names #irchelp
You don't do /names by itself for the same reason you generally don't do /list by itself: you'll end up with page after page of stuff. Always use /names with a channel name after it.
When you want to get out of a channel, you can use the /leave command. If you want to try a different IRC net, you need to change to a server on that net. You can use the /server command for this:
/server irc-2.texas.net
Finally, the /quit command will get you out of IRC completely, and the /help command will give you online help with anything you want to do.
What do people talk about? Sex, yes, but only a few crowded channels are about sex. A surprising amount of conversation is simply relaxation and silliness. There are always a few game channels running. There are always channels for IRC questions and help for new users--good places to start. Channels for tech discussions are popular and easy to find. If you want to practice a language, there are usually channels in languages from Finnish to Malay, and channels for nations from Brazil to Korea. And of course, big events get discussed as they happen: try listening in during the NBA playoffs in a month or two.
Don't rely on published lists of channels too much, though. Some channels are semi-permanent, others come and go as the need arises. Topic drift is rampant--don't assume that the channel name or the topic has anything to do with what's being discussed inside. A few long-running channels (like the Malaysian channel #warung on EFNet) are popular enough to have lasted for months, but if everyone were to leave that channel, it would cease to exist, just like any other.
You can always make your own channel. If you try to /join a channel that doesn't exist, congratulations: you just created it. Make your own channel, and you become the channel operator for that channel. A channel operator gets to set the rules for the channel, gets to kick people out of the channel or even ban them all together, and gets to make other people operators with the same privileges. (Again, the new clients have all this automated.) You can spot channel ops; they have an @ in front of their names.
The IRC atmosphere can be an odd mixture of anarchy and strict unwritten rules. Channel ops get to do pretty much whatever they want while controlling the conversation in their channel. Anyone can get kicked out for any reason, or for no reason. Some channels will have ops that try to keep the topic on track, others just don't care. Some channel ops will kick you off in a second for using all capitals. Some will kick you off simply because they don't like what you have to say. Don't like it? Make your own channel. Most popular channels are well-run: nobody wants to stick around on a channel where the op is a control freak.
Unfortunately, there are a few people in IRC who have gotten a reputation for being general malcontents. Persons whose behavior becomes intolerable can find themselves banned from particular IRC servers. Sometimes repeat offenders will try to log on under fake names to try and get around a ban; sometimes the only way for IRC admins to stop such people is to ban a whole site from connecting to IRC through their server. Someday you may try to connect to an IRC net through a particular server for the first time, and be kicked off with a message like "Ghosts are not allowed". Don't take it personally: this usually means that your entire site has been banned from that one server. Try a different server on that IRC net--remember that IRC will look the same no matter what server you're connecting through.
IRC nets have been growing for years, and on some of them the strain is showing. The oldest and biggest, EFNet, can suffer from what's called a "netsplit", where one part of the IRC net gets disconnected from the other. During the netsplit, people on the "other" half of the net will be unreachable. The best thing to do during a netsplit is just to stay put. The pieces will come back together in a few minutes, and everything will be fine.
Bots are another famous feature of IRC. A "bot" is a program that someone sets up under an IRC alias, usually one that simulates a human user, but really isn't. Opinions are divided on bots: some people love them, some whole servers ban the use of any bots at all. There are good bots and bad bots. The most common use of a bot is probably to keep a channel open while the original op is away. Other bots will answer your help questions, or host "game shows", or quote witty lines once in a while. Bad bots may disrupt channels, or abuse anyone who uses a certain key word, or worse. Chances are you won't have bad bot experiences very often; if you do, you'll just have to roll with the punches.
General hacking finds a home on IRC as well. You may find yourself face-to-face with real hackers, or worse yet, obnoxious hacker-wannabes. Usually you won't get into any trouble unless you go looking for it, but there's one caveat that bears repeating: if anyone tells you to type in an IRC command that you haven't heard of before, resist the temptation. Even if it sounds like it would do something interesting, it's more likely that it would really give the other person control of your IRC session, and possibly of files on the machine you're connecting from. The same warning applies to scripts or bots: don't run anything if you don't know what it is.
Don't let that possible unpleasantness keep you from trying IRC, though. Thousands of people around the world are connected through IRC twenty-four hours a day; soon, you might be too.
Next month, we'll look at the history and future of IRC networks. Until then, here's plenty of net addresses to keep you going:
Web pages about IRC in general:
http://www.world.net/~pirovich/irc.htm
http://urth.acsu.buffalo.edu/irc/WWW/ircdoc.html
http://mistral.enst.fr/~pioch/IRC/
http://internet.relay.pages.de/webs.html
http://www.singnet.com.sg/public/IRC/index.html
Information about IRC nets:
http://irc.ucdavis.edu/dalnet/
Some suggested server addresses for the different IRC nets:
EFNet:
irc.bu.edu
irc.colorado.edu
irc-2.texas.net
irc.sdsc.edu
irc.winternet.com
irc.umn.edu
irc.ais.net
Undernet:
us.undernet.org
Dalnet:
irc.skypoint.com
irc.dal.net
Information about the mIRC client is at:
http://mars.superlink.net/user/mook/mirc/
Lots of other clients are available by ftp through:
ftp.undernet.org
ftp.funet.fi
cs-ftp.bu.edu