The Tech - Online EditionMIT's oldest and largest
newspaper & the first
newspaper published
on the web
Boston Weather: 44.0°F | Overcast

Ask SIPB

student information processing board

Want to learn more about Zephyr? Need to figure out if someone is logged in and communicate with them quickly? In this column, part 5 of 6 of our introductory orientation columns, we cover the basics of using Zephyr.

Question: What is Zephyr?

Answer: Zephyr is a powerful, built-in instant messaging system for Athena. While originally designed to notify users of official information, it has since expanded in its purpose, allowing users to communicate quickly and easily.

Question: How can I find out if one of my friends is logged in?

Answer: You can use the zlocate command to determine whether someone is logged in, such as:

athena% zlocate username

This will bring up a list of hostnames of Athena machines that person is logged into currently. If you get a message that says “Hidden or not logged in,” this can mean several things. First, it can mean that person is not logged into an Athena machine. It can also mean that, for some reason, that person has decided to hide himself or that the person has turned off his ability to receive zephyr messages. Note that if you try to zlocate a username that does not exist, you will still receive the Hidden or not logged in message.

Athena cluster computer hostnames are based on the building and room number of the cluster. For example, if zlocating a friend shows that he is logged into w20-575-67 and m66-080-1, that means that he is logged into a computer in room 575 in building W20 (Student Center) and a computer in the basement cluster (room 080) of building 66.

Question: How can I make use of a .anyone file and znol?

Answer: The .anyone file is a buddy list. By creating a text file named .anyone in your home directory with a list of Athena usernames (one on each line), you can easily see which of them is logged in. To see who on your .anyone file is logged in:

athena% xzul &

For a more informative, non-refreshing display:

athena% znol

After issuing znol, you will receive zephyrgrams (messages) when people in your .anyone file log in or log out, if they have set their exposure appropriately. If you wish for this to happen automatically upon logging in, add the text “znol” to the end of the .startup.X and/or .startup.tty files in your home directory. (You may have to create the files if they don’t exist already.)

Question: How do I send a personal zephyr?

Answer: To send a zephyr to other users:

athena% zwrite username1 username2 username3

where username1, username2, and username3 are the usernames of the intended recipients. You can add as many (or as few) usernames as you want to the zwrite command. If you zephyr multiple people, and you wish to add a CC line to inform them who you are zephyring:

athena% zwrite -C username1 username2

Keep in mind that command line options for zwrite are case-sensitive, so -C is not the same as -c.

Question: What are Zephyr classes and instances and how do I subscribe to or unsubscribe from them?

Answer: Zephyr classes and instances allow groups of people to have conversations via Zephyr. Zephyr classes are slightly more private than instances, since you must know the name of a Zephyr class to be able to subscribe to it. Zephyr classes have sub-channels within them called instances. (Although the terms “class” and “instance” come from object-oriented computer programming, their meanings are different in the context of Zephyr.)

A Zephyr class exists as long as at least one person is subscribed to it, so if you want to use a new Zephyr class to talk with a group of friends, just come up with a name, and make sure you and your friends are subscribed to that class.

To temporarily subscribe to a Zephyr class for just your current Athena session, type:

athena% zctl sub class_name \* \*

To subscribe to a Zephyr class for current and future Athena sessions, type:

athena% zctl add class_name \* \*

To temporarily unsubscribe from a Zephyr class, type:

athena% zctl unsub class_name \* \*

To unsubscribe from a Zephyr class for current and future Athena sessions, type:

athena% zctl del class_name \* \*

To subscribe to or unsubscribe from a Zephyr instance, you should use class MESSAGE, and the name of the instance in place of the first \*. For example, to subscribe to white-magic:

athena% zctl add MESSAGE white-magic \*

The class MESSAGE is a publicly-known class that anyone can subscribe to. Therefore messages sent to an instance within class MESSAGE are visible to anyone subscribed to the overall class.

Question: How do I send a zephyr to a class or an instance?

Answer: To send a zephyr to an instance:

athena% zwrite -i instancename

This changes the instance you are sending to from PERSONAL to instancename, and by default sends to the class MESSAGE. For example, zwrite -i help would send a zephyrgram to the instance help, and anyone who had subscribed to the help instance would receive the zephyrgram.

To send a zephyr to a class:

athena% zwrite -c classname

This sends a zephyrgram to class classname instead of class MESSAGE. By default, it will send to the instance PERSONAL within class classname. To send a zephyr to an instance within a class:

athena% zwrite -c classname -i instancename

Capitalization does not matter in the names of Zephyr classes and instances. For example, zwrite -i white-magic is the same as zwrite -i WHITE-MAGIC.

Also note that people will often refer to zephyr classes and instances by -c and -i respectively. For example, “-c help -i food” would refer to zephyr instance food within the zephyr class help.

Question: What useful zephyr classes and instances are there?

Answer: For notifications of events affecting the network, you can subscribe to -i network. This is not an officially supported channel, however, meaning that information is not always sent here, and this is not a guaranteed way to contact the network group.

As mentioned in Friday’s column, http://web.mit.edu/3-DOWN provides information about both scheduled and unscheduled network and service outages. To receive updates every time the information on 3-DOWN changes, you can subscribe to -c 3down.

If you’d like to get zephyr notification when you receive new mail, you can subscribe to -c mail. If you have SpamAssassin set up, as described in the March 14, 2003 column, you can subscribe to -c mail -i inbox to receive notification only for non-spam messages.

Finally, for help on any topic you can think of, you can subscribe to -c help and send zephyrs there with your questions. Other people who have also chosen to subscribe to -c help may then respond. If you know the answer to a question, you are encouraged to participate as well by helping others.

It is customary to use the instance name to specify the subject, e.g.:

athena% zwrite -c help -i motorcycles

Question: What are personal Zephyr classes and what are they used for?

Answer: Personal Zephyr classes can be used for a variety of things, including just rambling and other random topics. In general, users choose the class based on their usernames, and friends subscribe to these classes.

For example, if the user named sipbtest wanted to communicate with a group of his friends, he could send zephyrs to class sipbtest, and ask his friends to subscribe to class sipbtest.

Question: I don’t like this interface. What other ways of receiving zephyrs are available?

Answer: “Owl” as an easy-to-use text-mode Zephyr client. Owl is in the ktools locker and can be run like this:

athena% add ktools

athena% owl

The most important command to know in owl is ‘h’, which brings up the online help. Here is quick summary of the other commonly used keys:

<up> <down>: move up and down between zephyrgrams.

<left> <right>: scroll around within long zephyrgrams

z: send a zephyrgram (you can use -C, -c and -i just as with zwrite)

r: reply to current zephyrgram

d: mark current zephyrgram for deletion

x: delete marked zephyrgrams

l: show list of online users (equivalent of znol)

:q <enter>: quit owl

If you are interested in learning more about owl, check out the owl webpage: http://web.mit.edu/ktools/www/owl.html.

You can also use owl-beta, currently version 2.0.7, which has some advanced features, including the ability to log into AOL Instant Messenger. Though other programs, such as gaim in the IM locker provide more familiar interfaces for using AIM, owl-beta can provide one convenient interface for both instant message protocols. Keep in mind, though, that this is a beta version, and may contain bugs. To run owl-beta:

athena% add ktools

athena% owl-beta

In order to log into AIM, first type “:” This should bring up a prompt at the bottom of your owl-beta window. Type aimlogin yourscreename and owl-beta should prompt you for your password. In order to add a buddy to your buddy list (on both the AIM server and your session), use addbuddy aim samplescreenname, and to delete a buddy from your buddy list, use delbuddy aim samplescreenname. To send an instant message to someone, you follow almost the exact same procedure as sending a Zephyr: type “a”, and then enter the screenname of that person.

Question: Where can I learn more about zephyr?

Answer: For more information about Zephyr, you can pick up a paper version of Inessential Zephyr at the SIPB office in W20-557, or read the online version at http://www.mit.edu/afs/sipb/project/doc/izephyr/html/. You can also refer to the OLC Stock Answers at http://web.mit.edu/answers/zephyr/.

To ask us a question, send e-mail to sipb@mit.edu. We’ll try to answer you quickly, and we might address your question in our next column. Copies of each column and pointers to additional information will be posted on our website: http://www.mit.edu/~asksipb/