Update zwrite -C option
[wiki.git] / doc / zephyr.mdwn
index 2dc6fcba46a5ac6f07f28ccc8d1203389d3c7e27..11e15c2fa1439560e400e1af28503bbf8a6bc01d 100644 (file)
@@ -63,9 +63,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:
 
@@ -86,6 +86,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>:
@@ -108,42 +131,77 @@ Some common classes include:
 > report what one is working on or up to, or ask friends questions, or
 > just rant about something.
 
+<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>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.
 
-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
 
@@ -182,5 +240,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).