The World of IRC - A New Life for the C64/128

by Bill Lueck (coolhand on IRC)

1) Introduction

With the mysterious and magnificent world of the Internet growing at an astounding rate - like doubling every year - readers of this magazine should find that the Internet is actually available to them now - or at least very soon. In fact, most readers of C= Hacking probably get there copies of this magazine on the Internet.

The Internet is not simple. It has complexities and intricacies that can baffle the most erudite and experienced computer scientists in the world. But, for the purposes of this article, maybe you can just accept that the Internet is a worldwide connection of data lines that let computers all over the world talk to each other.. and more importantly, that allow the PEOPLE using the computers all over the world to talk to other computers.. and to talk to other PEOPLE! Here, then, lies the foundation for IRC: it is the mechanism on the Internet that allows PEOPLE to talk to other PEOPLE.

2) Getting on the Net

If you obtained this magazine via the Internet, then you have passed Step 1 (finding a site)! If you do not have access to the Internet (and have not tried), then you need to look around. Possible sites may be a college/university, your employer (use with care), or a commercial provider.

If you are enrolled in college, then you probably have an account, or you may be entitled to one, with no or little cost. The policies on student accounts vary a lot from institution to institution, and from country to country. But check into it.. it is one of the most common methods of Internet access.

If you are employed, and your company has access to the Internet, it may be possible for you to use their facilities. Just a word of caution - make sure that it is ok with your employer to use his facilities... and not on "company time".

Another way that is becoming increasingly more common is to use commercial "Internet providers". These are companies whose sole purpose is to offer you an "account" and give you access to the Internet. The cost, time on line, storage, access, etc., can vary greatly.. you must shop around a bit.. if you have this choice at all.. for the best deal.

These commercial sites are not always easy to find. There may be several commercial providers in an area, but, strangely, they tend not to advertise. Word-of-mouth through friends, BBSs, or User Groups seem to be the best way to locate the site possibilities. But they CAN provide a very good solution.

Another variation on commercial sites are national companies such as Compuserve, Genie, America Online and Delphi. They provide varying degrees of access.. and possibly at somewhat higher costs than local providers. But, again, it is another option.

There is MUCH to do on the Internet, once you have access to it: telnet, ftp, usenet, archie, gopher, www... These may be just names to you now.. but the are all fascinating parts of the Internet. But this article is intended as an introduction to IRC - a fabulous Internet resource which allows users who have access to a client program called IRCII (most often invoked as "irc") to talk to each other (and often to exchange files) in world-wide conversational "channels" (like "party lines", often called "rooms" on some BBSs). Why is this important to readers of this magazine? Well, there is a channel for c64/128 users on IRC called #c-64, a place where c64/128 users are able to meet and exchange all sorts of information, opinions, and files. More on this later.

3) The IRC Client

First, to use IRC it is necessary to have access to an IRC client. A client is a program, usually available on your local site, which actually interprets and responds to your commands, accepts your typing, and shows you the conversation on the channel(s) you have joined.

The most common way to access IRC from a site is to use the IRCII client that your site makes available. This is most often done by simply typing "irc" at your prompt or invoking the irc option from your menu if you don't have a shell account. The first thing you will notice is that your client is attempting to connect to a "server". A server is a special program, run only on certain sites, that actually provides the backbone of the IRC network.

Most sites have several servers pre-defined. You should see the client trying one or more servers until it connects with one.

With Unix irc clients you can define your own unique set of servers by starting IRC with:

irc nick server1 server2 ... serverN
where "serverX" is the alpha or numeric IP address of the server. This will automatically set your irc nick (handle) and will establish a series of servers that your client will switch to if your connection to IRC gets broken (or if a server is not available when you invoke "irc").

What is an IP address, you ask? Well, a basic premise of the Internet is that each computer on the net (at all sites) has a UNIQUE address - a computer code - that allows other computers to send specific data just to that computer. In that way, computers can make sure that the messages and data files that they want (and YOU want) to send to certain places get to their proper destinations.

IP addresses may be used in an alphabetic or numeric form. In most cases they can be used interchangeably. So, all irc servers have a unique alphabetic (and an equivalent numeric) IP address.

Once an IRC session is in progress, Unix users can change servers by typing:/server newserver where "newserver" is as above, the alpha or numeric IP address of the server you want to switch to. More on servers later; but just to mention few now: irc.indiana.edu (midwest); irc.virginia.edu (east); irc.ctr.columbia.edu (east); irc.math.byu.edu (west); irc.colorado.edu (midwest); irc.texas.net (southwest). There are dozens more. Just ask someone on IRC...or do a few /whois nick commands. You will spot many more.

If your site does not have an irc client, it should be possible to install one yourself. This means that you need to ftp the source code for an irc client to your account on your site, make some usually minor edits, then compile the code in your home directory or a subdirectory below it.

One good site for obtaining the necessary irc client code is cs.bu.edu. cd to /irc/clients. Unix users will find the IRCII client source code in two forms: IRC2.2.9.tar.Z (Unix tar and compress at 471k) or IRC2.2.9.tar.gz (Unix tar and GNU compress at 306k). Both files are the same (except for the compression). Be sure to use "BINARY" mode for the ftp transfer.

Move the file to its own subdirectory if you have not ftp'd it to one already. Then uncompress and untar the file. You should now find a small subdirectory tree of files. Be sure and read the INSTALL file in the top subdirectory.

Also in the main subdirectory, there should be two files that need editing to make the client work with you site. One is "Makefile". In it there are at least two edits. Make INSTALL_EXECUTABLE the path name that u want the executable to reside in. This is most often your home directory or the "bin" subdirectory under your home directory. The other is IRCII_LIBRARY. Set this to the top subdirectory where the IRCII code resides. You also must read through the computer system options and set them for the type of computer and Operating System that your site uses.

The other file is "config.h". Change the #define DEFAULT_SERVER line to the alpha or numeric addy of your primary default server. Be sure to enclose the server in quotes ("server").

For VMS users, there is a subdirectory in "clients" named vms. cd to it. There are two versions - irc176 and ircII-for-vms. The first is a more native VMS version, the second is a Unix-like version. They are both executables, and should run on VMS systems. Try both.. see which you like best.

Another fairly new area of IRC clients is the personal client, running on your own computer which would be connected to the Internet through a version of SLIP or PPP, protocols that move much of the overhead of a normal Internet provider down to your own machine. There are IRC clients available for the PC, Amiga, MAC... and even the rumor of one to be produced for the c64/128. This type of client is expanding very rapidly and will be a significant option for an ever increasing number of Internet users.

If you have Telnet only access from your site, there are some sites which offer a "public" irc client, ones which you can use without having an account at that site.. sorta like anonymous ftp for those of you who know what that is. There are drawbacks, though. There are not many of these public clients, they are often slow in response time, you cannot exchange files with other users (DCC), and many of the sites are not always up. Still, it is one possibility that might work for certain situations. Actually, it is the way that I started on IRC and used it for several months (my site did not have a local client, and I did not know how to install one myself).

The public IRC sites I know about now are tiger.itc.univie.ac.at 6668, sci.dixie.edu 6667, irc.nsysu.edu.tw, and irc.demon.co.uk. They are not available from all sites, and usage is limited. But try them if you need to.

Another variation of the "public" options is to apply for a free Unix account at nyx.cs.du.edu. You will have to be validated, which involves a little paperwork. But once completed, you will have a FREE Unix account with full IRC privileges, including DCC file exchange. Of course, you need a "local" account somewhere with telnet and ftp privileges, but this is often easier to obtain than an account with all options locally.

4) Basics of IRC

Well, hopefully, you will now have an Internet site with a method of accessing IRC. Next, we want to give some tips on using and enjoying IRC and introduce DCC, the command for transferring files between people on IRC... and between "bots" and people.

A "bot", you say? Some of you may laugh; sure of course, a bot. What else is new? But... I remember that it was ages before I finally figured out.. or someone gave me a clue.. as to what a "bot" really was. Before we go on, let me give you a VERY brief description of a bot. We can say that a bot may be a "script", a series of IRC language statements understood by your IRC client; or it may be a separate program (typically written in "C"); which, in either case, runs without any help from its "owner" - YOU.

Instead, a bot is intended to respond to others on IRC who "talk" to it by "/msg", "/dcc chat", or even "on-channel" commands like "!list" or "&help". One bot even lists the c64 files it has on-line in response to someone typing "load "$",8".

What a bot does and how you command it varies a LOT. There really is no standard way to talk to a bot. Try "/msg <botname>" help as a starting point and see what happens. Most often there will be instructions that tell you what to do next. Experiment a little - you will get the hang of it.

Back to the main plot. The first thing to do after you get connected to IRC is to choose a "nick". This is the handle that you will be known by and talked to on IRC. Do this by typing:

/nick <nick>
It's your choice.. unless someone else is already using it. IRC does not let two people use the same nick at the same time. It will tell you about this if you try - sometimes in a rather active way - like "kick" you off. Don't worry - just reconnect.. but try a different nick. Try just changing the nick a little - like even putting a "1" or "2" behind it.

Any number of people, however, can use the same nick at different times. This CAN cause a little confusion.. make sure you know you are talking to who you think you are.. check a nick's whole address with:

/whois <nick>
Next, you will want to join a channel. Do this by typing:

/join #<channel>
A channel is a logical connection of all IRC users anywhere in the world that have typed the same /join command. All lines typed to the channel by anyone on the channel are spread by IRC to all other people who are on the channel. This is the real power of IRC... a world-wide "conference" or "party line", where people with the same interests can communicate with each other.

Because of different delays in different parts of the Internet, all the lines typed by everyone will not always appear at the same time or even in the same order at everyone's terminal. This usually does not cause much of a problem - just be aware that it happens.

If the channel name does not exist at the time you type /join, it will be created for you! Yes, anyone can "create" a channel. But #c-64 is almost always there. Give it a try!

After you get on a channel, you can type:

/who *
This will give you a list of who (which nicks) is on the channel and what their home sites are. This address may or may not be the correct email address for the nick - so check with the person first (perhaps a "/msg <nick>" - see below) if you want to email him.

As mentioned before, normal channel conversation is seen by everyone who has joined the channel. This is great most of the time. Occasionally, though, you may want to tell just one person (or bot) something that the entire channel would not want to hear. In this case, use the command:

/msg <nick> <message>
Type it on a line of its own, and just <nick> will see your <message>. Quite handy for the more "personal" or "specialized" conversations. Careful, though... use the wrong <nick> or leave out the "/" and people other than you intended will see your <message>.

If you find you are doing a lot of /msg's to the same nick, try:

/query <nick>
This will put you in a sort of 'permanent' /msg <nick> mode, so that everything you type that would normally go to the channel will not act like a "/msg <nick>" preceded it, and it will go just to <nick>. Type just "/query" to cancel this mode.

Let's jump, now, to /dcc, the command that allows most IRC users to transfer files. DCC stands for "Direct Client to Client". What it does is allow two nicks to transfer files *directly* between their sites, not going through either of their servers. One of the nicks can even be a bot; IRC does not make a distinction.

When two nicks exchange files, the sender must always start by typing:

/dcc send <nick> <filename>
The recipient will get a message telling what file is being offered and must type:

/dcc get <nick> [filename]
The [filename] is optional, but must be used if more than one file is to be transferred simultaneously. Yes, simultaneous transfer of multiple files CAN be done. Many people do not realize this. Just use the [filename] option with the "/dcc get" command.

The files that you send and the files that you receive with DCC are always in the directory you are in when you start IRC. You can type "/cd" to see what that directory is and you can type:

/cd <pathname>
to change that directory. Or, you can give the absolute or relative pathname of the file you want to send if it is not in your "local" directory.

There are often a couple of bots on #c-64 that can give you c-64 files. "coolhand" is partly a script bot that currently has a lot of c-64 files available for DCC. If coolhand is on IRC, type:

/msg coolhand xdcc list
to see a list of lists (of files). To see the individual files on list n, type:

/msg coolhand xdcc list #n
To have coolhand's script dcc you file #n, type:

/msg coolhand xdcc send #n
followed by:

/dcc get coolhand
when you get the dcc offer message.

There are many scripts that you can use that will autoget a file that is DCC'd to you. The xdcc script that coolhand uses is one such script. (Yes, coolhand will also autoget a file that you send to it.)

5) What/Who is on IRC?

Ok, now you are on IRC. So what will you find? Who is on the #c-64? The answers are quite varied.. and constantly changing. I personally have been on IRC for over 2 years.. (or is it 3?) And I have yet to ascertain an absolute pattern of people or topics. Frustrating? Well, maybe to some. But interesting? Yes, most certainly. IRC, and the #c-64 channel, is a microcosm of the world, with all its variety of people, personalities, projects, propaganda, and priorities. It is a capability, a tool for communications, that is unexcelled in its scope and possibilities.

IRC is totally international, and so is the #c-64 channel. Besides the U.S. and Canada, Europe is very well represented. There is also a smaller but increasingly active contingent in Australia, as the net becomes more accessible there. You will also find a few c-64 users in S. America, Africa, and Asia. Russia and other former Soviet Union countries also have a presence. English is the accepted language for use on #c-64, although you will occasionally see a few other language used for brief times.

What is the channel used for? Just about anything you can imagine that normal conversation would be used for. With a special emphasis for the special interest of most channel participants - the c64/128. For the most part, almost everyone on the channel has had or still has a c64 or c128. Some are active users on a real c64/128, while others use one of the several emulators that exist for various platforms. Many former and current 64 "scene" members are finding their way to the channel, but all members of the c64 community are always welcome, and all are treated equally.

Many people find IRC and #c-64 a very useful way to exchange information quickly without having to wait for email to pass back and forth. As was mentioned before, the DCC capability allows for immediate transfer of files, another quick and effective way to pass information and things like utilities and coding examples. Such capabilities have encouraged many people to either return to the c64 or take up using and programming it for the first time. Yes, the c64 community is actually growing again, thanks in part to the growing presence of the Internet, IRC, and #c-64!

So, when you first get on the channel for the first time, don't be afraid to ask for help. You will probably find that the people on there are either new themselves, or were once new at one time and had the same uncertainties and questions that you do. Most everyone is very willing to help new people. So ask. Also, if you have knowledge or a talent to offer or a willingness to help somehow, just make that known. The channel is full of people, some of whom probably need exactly what you have to give.

A key thing: be patient! When you are new on the channel, you may not be noticed right away, especially if there are several conversations already going on. In other cases, you may find that there is really no one on the channel, except maybe a few bots. So hang in there or come back a bit later. Believe me, the IS a lot of action on #c-64 most of the time.

Besides being patient yourself, be patient with other people on the channel. Like in the non-cyber world, misunderstandings CAN occur, since your total communication with other people is via the typed word. But the same rules of courteousness that common society utilizes also apply on IRC. Treat people with respect and kindness, and they will most likely respond in a like manner. Sounds like the golden rule? I think so, and I think you will find that its works pretty well on IRC as it does in other life.

Hopefully, this article will help you get started enjoying IRC and particularly #c-64. There's a lot to be gained there... information, files, and even new friends. It's a way to give our c64 community new life and spirit. Give it a try! See you there.


Some of the material in this article was previously published in "Driven" and is used here by permission.