(no commit message)
[wiki.git] / doc / zephyr.mdwn
1 [[!meta title="Using Zephyr (a.k.a. Zephyr For Dummies)"]]
2
3 <!-- For information on the archaic way of using Zephyr, see TraditionalZephyr.-->
4
5 ## Introduction to Zephyr
6
7 Zephyr is a general purpose chat system for MIT.
8
9 People use it to exchange information about classes, how their days are
10 going, and talk on Zephyr classes and instances about everything
11 from the latest episode of Game of Thrones to the next 18.03
12 problem set.
13
14 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.
15
16 ## Major clients
17
18 Here are some of the primary clients used at MIT. There's also a listing of [other Zephyr clients](http://zephyr.1ts.org/wiki/ZephyrClients), but their use is generally not recommended.
19
20 ### Barnowl
21
22 [Barnowl](http://barnowl.mit.edu/) 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](http://web.mit.edu/dialup/www/ssh.html) and run Barnowl along with a program to renew your Kerberos tickets. The Athena command `athrun sipb owl-screen` will set this up for you.
23
24 In addition to primarily supporting Zephyr, Barnowl also lets you connect to [AIM](http://aim.com) and and [XMPP](http://xmpp.org/) (Google Talk, Facebook, etc.) networks.
25
26 See [Getting Started with Barnowl](http://barnowl.mit.edu/wiki/GettingStarted) for more information.
27
28 ### Roost
29
30 [Roost](https://roost.mit.edu/) is a graphical Zephyr client built by [David Benjamin](https://davidben.net/) (MIT '12, SIPB member) as part of his [master's thesis](https://davidben.net/thesis.pdf). It is relatively new and currently considered experimental by its author.
31
32 Roost makes use of [Webathena](https://webathena.mit.edu/) to keep you subscribed to Zephyr. This makes for a much easier setup.
33
34 ### Zulip
35
36
37 [Zulip](https://zulip.com/zephyr) is a fully-featured web-based Zephyr client that also provides [mobile apps](https://zephyr.zulip.com/apps) for Android and iOS and desktop apps for Linux, Mac, and Windows. Zulip is developed by a group of MIT alums and SIPB members who also developed [Ksplice](https://www.ksplice.com/) (rebootless updates for Linux).
38
39 Zulip, like Roost, is easy to set up because it uses Webathena for authentication.
40
41 See [Zulip for MIT setup](http://zulip.com/zephyr) for details.
42
43 <!-- merge to http://zephyr.1ts.org/wiki/ZephyrClients (I would do this, except I can't log in…)
44
45 ## Other Clients
46
47 There are other clients besides the above, but their use is not
48 nearly as widespread.  Some of these include:
49
50 * Owl (unmaintained, BarnOwl evolved from this)
51 * vt / jervt
52 * zwgc (see TraditionalZephyr)
53 * Pidgin
54 * zephyr-mode for emacs
55 * [ZephyrPlus web client](https://zephyrplus.mit.edu)
56
57 -->
58
59 ## Culture
60
61 ### Classes and Instances
62
63 Generally the most interesting discussion on Zephyr happens
64 on so-called Zephyr <em>classes</em>. A class is a bit like a chat
65 room in other IM systems. Anyone can send a zephyr to a class, and
66 anyone who is subscribed to that class will receive it. There is no
67 security on classes -- anyone who knows the name of a class can
68 subscribe, and there is no way to determine who is subscribed to a
69 given class.
70
71 To subscribe to a class, use the subscribe command:
72
73     :subscribe CLASSNAME * * 
74
75 To send a zephyr to a class, use the zwrite command with the -c option:
76
77     :zwrite -c CLASSNAME
78
79 Zephyrs to classes usually have an instance attached. An instance is a
80 short &ldquo;topic&rdquo; or &ldquo;subject&rdquo; that indicates the
81 context of a zephyr.  Different instances are often used to multiplex
82 multiple conversations on a high-traffic class. You can specify an
83 instance with the -i option to zwrite:
84
85     :zwrite -c CLASSNAME -i INSTANCE
86
87 A message without an instance specified will default to the instance
88 &ldquo;personal&rdquo;.
89
90 Some common classes include:
91
92 <strong>help</strong>:
93 > -c help is a class for asking (and answering) questions on virtually
94 > any topic imaginable. Be sure to use an instance (such as
95 > &ldquo;linux&rdquo;, &ldquo;barnowl&rdquo;, &ldquo;campus&rdquo;, or
96 > so on) when asking questions, since it's a fairly high-traffic
97 > class.
98
99 <strong>sipb</strong>:
100 > -c sipb is where most SIPB members hang out. It's a place for
101 > technical discussion, questions, support, and organizing SIPB events
102 > or projects. You should also always use an instance when sending to
103 > -c sipb.
104
105 <strong>Personal Classes</strong>:
106 > By convention, nearly every Zephyr user has a "personal" class that
107 > is the same as their username. How this class is used varies from
108 > person to person, but it's often a sort of mini-blog, a place to
109 > report what one is working on or up to, or ask friends questions, or
110 > just rant about something.
111
112 ### Zephyr Slang
113
114 If you spend enough time on Zephyr, you'll begin noticing some strange
115 phrases and words being thrown around.  Some of these include:
116
117 <strong>i,i foo</strong>:
118 > picked up from CMU zephyrland and means "I have no point here, I
119 > just like saying:".  Sometimes people simply use quotes: `"foo"`.
120
121 <strong>mix</strong>:
122 > If somebody accidentally sends a Zephyr to the wrong class or
123 > person, they will send another Zephyr to that wrong/class person
124 > simply saying "mix".  This basically just means, "oops, sorry, I
125 > didn't mean to send that Zephyr here".  You might also see "-i mix",
126 > which is the same thing, only with instances.
127
128 <strong>.d</strong>:
129 > You may see an instance change from `-i foo` to `-i foo.d`.  This
130 > indicates a deviation or tangent from the the original topic.
131
132 <strong>starking</strong>:
133 > Answering a question or replying to a topic to a topic several hours
134 > (or days, occasionally) later. The term originates from Greg Stark,
135 > who would often reply to zephyrs hours or occasionally days later
136 > without seeing if anyone had answered yet, or worse, if the instance
137 > had moved on to an entirely different topic.
138
139 <strong>ttants</strong>:
140 >  Literally, "Things That Are Not The Same".
141
142 <strong>prnf</strong>:
143 >  Literally, "Pseudo-Random Neuron Firings".
144
145 There are many other acronyms that are used; if you don't know what it
146 means, try using the `whats foo` command at an Athena terminal. If you
147 don't have the command, run `add sipb` first.
148
149 ### Zephyr Etiquette
150
151 There are rules that people tend to use on Zephyr.  These include:
152
153 Good grammar, spelling, and punctuation.  Not everybody uses
154 capitalization, but they will still use good English.  Please do not say
155 things such as "hey wut r u up to???".  It makes you look like an idiot.
156 Really.
157
158 You don't need multiple question marks or exclamation points.  Usually.
159
160 There are a few abbreviations people use, such as YMMV (Your Mileage May
161 Vary) or IIRC (If I Remember Correctly), as well as some nerdier ones
162 like DTRT (Do The Right Thing, in reference to
163 [ The Rise of "Worse Is
164 Better"](http://www.jwz.org/doc/worse-is-better.html)).  Try running `add sipb; whats dtrt` to look up an
165 abbreviation.  Common abbreviations that you might find on AIM, however,
166 are not often used.  People tend to look down upon "lol", "rofl", and
167 such.
168
169 Personal classes are by convention considered a little more private than
170 non-personal (public) classes. Although most people don't mind people
171 they've met subscribing to their personal class and lurking, it's poor
172 form to talk loudly on the personal class of someone you don't know.
173
174
175 ## Interaction with Traditional Zephyr
176
177 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:
178
179     setenv ZEPHYR_CLIENT false
180
181 to your `~/.environment` file if you use `tcsh` or
182
183     ZEPHYR_CLIENT=false
184
185 to your `~/.bash_environment` if you use `bash`. This will cause your
186 shell to launch the `false` executable instead of `zwgc` which does
187 nothing.