Zephyr is a general purpose chat system for MIT.
People use it to exchange information about classes, how their days are going, and talk on Zephyr classes and instances about everything from the latest episode of Game of Thrones to the next 18.03 problem set.
Zephyr is an underlying chat system; the built-in tools for exchanging messages via Zephyr are rudimentary. Most people who use Zephyr today take advantage of integrated clients that make the system easy to use.
Here are some of the primary clients used at MIT. There's also a listing of other Zephyr clients, but their use is generally not recommended.
BarnOwl is a command-line Zephyr client that supports advanced filtering and customisation. It is probably the most commonly used client, but requires some effort to get started. To use BarnOwl effectively, you should connect to an Athena dialup and run BarnOwl along with a program to renew your Kerberos tickets. The Athena command
athrun sipb pag-screen will set up ticket renewal, and
athrun barnowl after that will run BarnOwl itself.
See Getting Started with BarnOwl for more information.
Roost makes use of Webathena to keep you subscribed to Zephyr. This makes for a much easier setup.
Zulip (source code) is a web-based Zephyr client that also provides mobile apps for Android and iOS and desktop apps for Linux, Mac, and Windows. Zulip is developed by a company composed largely of MIT alums and SIPB members. Zulip, like Roost, is easy to set up because it uses Webathena for authentication.
See Zulip for MIT setup for details.
Generally the most interesting discussion on Zephyr happens on so-called Zephyr classes. A class is a bit like a chat room in other IM systems. Anyone can send a zephyr to a class, and anyone who is subscribed to that class will receive it. There is no security on classes — anyone who knows the name of a class can subscribe, and there is no way to determine who is subscribed to a given class. (For secure or private zephyring, consider zcrypt.)
To subscribe to a class, use the subscribe command:
:subscribe CLASSNAME * *
To send a zephyr to a class, use the zwrite command with the -c option:
:zwrite -c CLASSNAME
Zephyrs to classes usually have an instance attached. An instance is a short “topic” or “subject” that indicates the context of a zephyr. Different instances are often used to multiplex multiple conversations on a high-traffic class. You can specify an instance with the -i option to zwrite:
:zwrite -c CLASSNAME -i INSTANCE
A message without an instance specified will default to the instance “personal”.
You can send zephyrs to individuals (as opposed to classes) with:
It is possible to
zwrite to multiple individuals at once, by listing the
usernames separated by spaces:
:zwrite -C USERONE USERTWO USERTHREE
-C option automatically puts the line
CC: USERONE USERTWO USERTHREE
in the body of the zephyr,
although this is only a convention and is not required or enforced.
All messages are actually sent to a "zephyr triplet" — a class, instance, and recipient. Subscriptions are also made to zephyr triplets. The recipient can be either "*" — to indicate a broadcast message — or a specific individual.
When sending, the default class is "message", instance is "personal", and recipient is "*".
zwrite supports sending to arbitrary triples with
:zwrite -c CLASS -i INSTANCE USERNAME — the two examples above use the defaults for the parts that aren't specified.
For subscriptions, the class must be specified. You can specify all instances on a class with "*", or specify just one instance. You can only sub to recipient "*" or your own personals (indicated by "%me%").)
Some common classes include:
-c help is a class for asking (and answering) questions on virtually any topic imaginable. Be sure to use an instance (such as “linux”, “barnowl”, “campus”, or so on) when asking questions, since it's a fairly high-traffic class.
-c sipb is where most SIPB members hang out. It's a place for technical discussion, questions, support, and organizing SIPB events or projects. You should also always use an instance when sending to -c sipb.
By convention, nearly every Zephyr user has a "personal" class that is the same as their username. How this class is used varies from person to person, but it's often a sort of mini-blog, a place to report what one is working on or up to, or ask friends questions, or just rant about something.
Most classes have an unclass, formed by prefixing "un" to the name. For example, -c help has the unclass -c unhelp. The unclass is generally used for snarky or unproductive replies; the prototypical example that first inspired their creation was telling somebody with computer issues to run
sudo rm -rf /. Rarely, un- prefixes are stacked for even snarkier discussion, on -c ununhelp and so on.
Classes like -c help.d are sometimes used for discussions that deviate from the conversation on the main class. .d instances are more common, though; see below.
If you spend enough time on Zephyr, you'll begin noticing some strange phrases and words being thrown around. Some of these include:
USENET saying picked up from CMU zephyrland that expands to "I have no point here, I just like saying:". Sometimes people use scare quotes (e.g.
"foo") for similar purposes.
If somebody accidentally sends a Zephyr to the wrong class or person, they will send another Zephyr to that wrong/class person simply saying "mix". This basically just means, "oops, sorry, I didn't mean to send that Zephyr here". You might also see "-i mix", which is the same thing, only with instances. The specific invocation "unmix" is used when accidentally sending a Zephyr to a class instead of its unclass or vice versa.
To answer a question or replying to a topic to a topic several hours (or days, occasionally) later. The term originates from Greg Stark, who would often reply to zephyrs hours or occasionally days later without seeing if anyone had answered yet, or worse, if the instance had moved on to an entirely different topic.
You may see an instance change from
-i foo.d. This indicates a deviation or tangent from the the original topic.
.qat the end of an instance name indicates a quote.
Literally, "Things That Are Not The Same". When the things are people, pwants for "People Who Are Not The Same" may be used.
Literally, "Pseudo-Random Neuron Firing".
eiz or eip or else:
Instances used to comment on discussions on other classes in Zephyr without linking to the original source for reasons of privacy or discretion. "eiz" means "Elsewhere in Zephyr", "eip" means "Elsewhere in Personals".
"Elsewhere in Meatspace": instance used to comment on events not on Zephyr.
"Do X predicate", from Lisp naming convention. A discussion on whether one should do X. A common variation is "doxory", literally "Do X or Y".
Many of the acronyms may be suffixed onto normal instance topics with a period
to indicate relation. There are many other acronyms that are used; if you don't
know what it means, try using the
whats foo command at an Athena terminal. If
you don't have the command, run
add sipb first. Alternatively, running the
athrun sipb whats foo works as well.
There are rules that people tend to use on Zephyr. These include:
Good grammar, spelling, and punctuation. Not everybody uses capitalization, but they will still use good English. Please do not say things such as "hey wut r u up to???".
You don't need multiple question marks or exclamation points. Usually.
There are a few abbreviations people use, such as YMMV (Your Mileage May
Vary) or IIRC (If I Remember Correctly), as well as some nerdier ones
like DTRT (Do The Right Thing, in reference to
The Rise of "Worse Is
As mentioned above, try running
athrun sipb whats dtrt to look up an
Personal classes are by convention considered a little more private than non-personal (public) classes. Although most people don't mind people they've met subscribing to their personal class and lurking, it's poor form to talk loudly on the personal class of someone you don't know.
The default Athena startup scripts launch
zwgc on login.
zwgc displays a popup for each message, so if you are subscribed to many classes and use Zephyr as many do today,
zwgc's behavior is not very desirable. To disable
zwgc startup, add:
setenv ZEPHYR_CLIENT false
~/.environment file if you use
~/.bash_environment if you use
bash. This will cause your
shell to launch the
false executable instead of
zwgc, thereby disabling it ('false' does nothing).