Link to the quickstart page.
[wiki.git] / doc / zephyr.mdwn
index 1b16065c84fcd3e354fabd55b3fec6f339d96345..b9f4d9a2a7e3aaf7ddd06529ed9f48b9a132332f 100644 (file)
@@ -8,22 +8,24 @@ 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 Battlestar Galactica to the next 18.03
+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.
 
+[Click here](https://sipb.mit.edu/doc/zephyr-quick/) for instructions on getting on Zephyr with Barnowl!
+
 ## Major clients
 
 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.
 
-### Barnowl
+### BarnOwl
 
-[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.
+[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 pag-screen` will set up ticket renewal, and `athrun barnowl` after that will run BarnOwl itself.
 
-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.
+In addition to primarily supporting Zephyr, BarnOwl also lets you connect to [AIM](http://aim.com), [XMPP/Jabber](http://xmpp.org/) (Google Talk, Facebook, etc.), [Twitter](http://twitter.com), and IRC networks.
 
-See [Getting Started with Barnowl](http://barnowl.mit.edu/wiki/GettingStarted) for more information.
+See [Getting Started with BarnOwl](http://barnowl.mit.edu/wiki/GettingStarted) for more information.
 
 ### Roost
 
@@ -34,11 +36,11 @@ Roost makes use of [Webathena](https://webathena.mit.edu/) to keep you subscribe
 ### Zulip
 
 
-[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).
+[Zulip](https://zulipchat.com/zephyr) ([source code](https://github.com/zulip/zulip)) is a web-based Zephyr client that also provides [mobile apps](https://zephyr.zulipchat.com/apps) for Android and iOS and desktop apps for Linux, Mac, and Windows. Zulip was originally a proprietary product developed by a company composed largely of MIT alums and SIPB members. It was acquired by [Dropbox](https://www.dropbox.com/about) in 2014, and [released as open-source software](https://blogs.dropbox.com/tech/2015/09/open-sourcing-zulip-a-dropbox-hack-week-project/) a year later. The Zulip for Zephyr service is offered by [Tim Abbott](http://web.mit.edu/tabbott/www/) (MIT '06, SIPB member)'s Kandra Labs.
 
 Zulip, like Roost, is easy to set up because it uses Webathena for authentication.
 
-See [Zulip for MIT setup](http://zulip.com/zephyr) for details.
+See [Zulip for MIT setup](http://zulipchat.com/zephyr) for details.
 
 <!-- merge to http://zephyr.1ts.org/wiki/ZephyrClients (I would do this, except I can't log in…)
 
@@ -64,9 +66,9 @@ Generally the most interesting discussion on Zephyr happens
 on so-called Zephyr <em>classes</em>. 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
+security on classes &mdash; anyone who knows the name of a class can
 subscribe, and there is no way to determine who is subscribed to a
-given class.
+given class. (For secure or private zephyring, consider [[zcrypt]].)
 
 To subscribe to a class, use the subscribe command:
 
@@ -87,6 +89,29 @@ instance with the -i option to zwrite:
 A message without an instance specified will default to the instance
 &ldquo;personal&rdquo;.
 
+You can send zephyrs to individuals (as opposed to classes) with:
+
+    :zwrite USERNAME
+
+It is possible to `zwrite` to multiple individuals at once, by listing the
+usernames separated by spaces:
+
+    :zwrite -C USERONE USERTWO USERTHREE
+
+The `-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.
+
+### Aside: zephyr triplets
+
+All messages are actually sent to a "zephyr triplet" &mdash; a class, instance, and recipient. Subscriptions are also made to zephyr triplets. The recipient can be either "*" &mdash; to indicate a broadcast message &mdash; 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` &mdash; 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%").)
+
+### Common classes
+
 Some common classes include:
 
 <strong>help</strong>:
@@ -109,42 +134,89 @@ Some common classes include:
 > report what one is working on or up to, or ask friends questions, or
 > just rant about something.
 
+<strong>hello</strong>:
+> -c hello is for introducing yourself to the Zephyrsphere!
+> Send a zephyr to `-c hello -i YOUR_USERNAME` to let people
+> know you're a Zephyr user! This is a way to find out who else you know
+> uses Zephyr so you can subscribe to their class, and to get to know
+> new people through Zephyr. Also, feel free to invite others to
+> subscribe to your class!
+
+<strong>unclasses</strong>:
+> 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.
+
+<strong>.d classes</strong>:
+> 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.
+
 ### Zephyr Slang
 
 If you spend enough time on Zephyr, you'll begin noticing some strange
 phrases and words being thrown around.  Some of these include:
 
 <strong>i,i foo</strong>:
-> picked up from CMU zephyrland and means "I have no point here, I
-> just like saying:".  Sometimes people simply use quotes: `"foo"`.
+> USENET saying picked up from CMU zephyrland that expands to "I have no point here, I
+> just like saying:".  Sometimes people use
+> [scare quotes](https://en.wikipedia.org/wiki/Scare_quotes) (e.g. `"foo"`) 
+> for similar purposes.
 
 <strong>mix</strong>:
 > 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.
+> 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.
 
-<strong>.d</strong>:
-> You may see an instance change from `-i foo` to `-i foo.d`.  This
-> indicates a deviation or tangent from the the original topic.
-
-<strong>starking</strong>:
-> Answering a question or replying to a topic to a topic several hours
+<strong>to Stark</strong>:
+> 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.
 
+<strong>.d</strong>:
+> You may see an instance change from `-i foo` to `-i foo.d`.  This
+> indicates a deviation or tangent from the the original topic.
+
+<strong>.q</strong>:
+> Similarly, `.q` at the end of an instance name indicates a quote.
+
 <strong>ttants</strong>:
->  Literally, "Things That Are Not The Same".
+> Literally, "Things That Are Not The Same". When the things are people,
+> <strong>pwants</strong> for "People Who Are Not The Same" may be used.
 
 <strong>prnf</strong>:
->  Literally, "Pseudo-Random Neuron Firings".
+> Literally, "Pseudo-Random Neuron Firing".
+
+<strong>eiz</strong> or <strong>eip</strong> or <strong>else</strong>:
+> 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".
+
+<strong>eiw</strong>:
+> "Elsewhere in Webspace": instance used to comment on events on the Internet beyond Zephyr (like, say, on another messaging service).
+
+<strong>eim</strong>:
+> "Elsewhere in Meatspace": instance used to comment on events not on Zephyr.
+
+<strong>doxp</strong>:
+> "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".
 
-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.
+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
+single command `athrun sipb whats foo` works as well.
 
 ### Zephyr Etiquette
 
@@ -152,8 +224,7 @@ 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???".  It makes you look like an idiot.
-Really.
+things such as "hey wut r u up to???".
 
 You don't need multiple question marks or exclamation points.  Usually.
 
@@ -161,10 +232,9 @@ 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
-Better"](http://www.jwz.org/doc/worse-is-better.html)).  Try running `add sipb; whats dtrt` to look up an
-abbreviation.  Common abbreviations that you might find on AIM, however,
-are not often used.  People tend to look down upon "lol", "rofl", and
-such.
+Better"](http://www.jwz.org/doc/worse-is-better.html)). 
+As mentioned above, try running `athrun sipb whats dtrt` to look up an
+abbreviation.
 
 Personal classes are by convention considered a little more private than
 non-personal (public) classes. Although most people don't mind people
@@ -183,5 +253,4 @@ to your `~/.environment` file if you use `tcsh` or
     ZEPHYR_CLIENT=false
 
 to your `~/.bash_environment` if you use `bash`. This will cause your
-shell to launch the `false` executable instead of `zwgc` which does
-nothing.
+shell to launch the `false` executable instead of `zwgc`, thereby disabling it ('false' does nothing).