]> sipb.mit.edu Git - wiki.git/blobdiff - doc/zephyr.mdwn
more projects
[wiki.git] / doc / zephyr.mdwn
index d64a70b1260e07983f7b75e6941fac17b3aa5829..97800d50b60bc1410b150f0d729b0b3ad4e0e410 100644 (file)
@@ -22,11 +22,11 @@ terminal. Some of these zephyr clients have become so widely used that
 there are users who do not know that there are other ways to send (and
 receive) zephyrgrams. This wiki will cover the traditional commands,
 typed at the athena% prompt, as well as the more common modern zephyr
 there are users who do not know that there are other ways to send (and
 receive) zephyrgrams. This wiki will cover the traditional commands,
 typed at the athena% prompt, as well as the more common modern zephyr
-client Barnowl.
+client BarnOwl.
 
 
-The information in this wiki about Barnowl just barely touches the
-surface.  More for in-depth functionality, visit the [Barnowl
-wiki](https://barnowl.scripts.mit.edu:444/wiki).
+The information in this wiki about BarnOwl just barely touches the
+surface.  More for in-depth functionality, visit the [BarnOwl
+wiki](https://barnowl.mit.edu/).
 
 ## Modern Zephyr
 
 
 ## Modern Zephyr
 
@@ -37,22 +37,49 @@ customize barnowl.
 
 ### Other Clients
 
 
 ### Other Clients
 
-There are other clients besides Barnowl, however their use is not
+There are other clients besides BarnOwl, however their use is not
 nearly as widespread.  Some of these include:
 
 nearly as widespread.  Some of these include:
 
-* Owl (unmaintained, Barnowl evolved from this)
+* Owl (unmaintained, BarnOwl evolved from this)
 * vt / jervt
 * zwgc (see TraditionalZephyr)
 * Pidgin
 * zephyr-mode for emacs
 
 * vt / jervt
 * zwgc (see TraditionalZephyr)
 * Pidgin
 * zephyr-mode for emacs
 
-Using Barnowl is recommended, as it is better supported and more
+Using BarnOwl is recommended, as it is better supported and more
 documentation exists for it.
 
 documentation exists for it.
 
-### Using Barnowl
+### Using BarnOwl
+You will need access to an Athena machine to run barnowl.  The easiest
+way to do this would be to SSH into linux.mit.edu.
+
+On a Debian-based linux distro, open up a terminal and type `ssh
+<username>@linux.mit.edu`.
+
+On Windows, download a SSH client (such as
+[PuTTY](http://chiark.greenend.org.uk/~sgtatham/putty/download.html); you will need to [change PuTTY’s character set](http://utf-8.scripts.mit.edu/wiki/PuTTY) to UTF-8 to prevent occasional display glitches.)
+and install it.  Once you've opened it, type `<username>@linux.mit.edu`
+into the prompt and hit enter.
+
+On a Mac, open Terminal from the Utilities Folder in Applications. Type
+`kinit <username>@ATHENA.MIT.EDU && ssh -K
+<username>@linux.mit.edu` If this command fails (saying -K is
+invalid), then just do `ssh <username>@linux.mit.edu`.
+
+Alternatively, use a Java applet called Mindterm SSH inside any web browser. MIT makes this available at [athena.dialup.mit.edu](http://athena.dialup.mit.edu/ssh.html); although this will give you an Athena terminal, you may want to ssh from there to linux.mit.edu so as to follow the rest of these instructions exactly:
+
+       athena.dialup.mit.edu login: <username>
+       <username>@athena.dialup.mit.edu's password: <password>
+       (wait a while)
+       <username>@<some-server>:~$ ssh <username>@linux.mit.edu
+       <username>@<other-server>:~$
+       
+(In all these cases, don't include the angle brackets, just replace
+<username> with your MIT username).  You will then be prompted for your
+password.  Enter it, and then carry on with running barnowl!
 
 To start barnowl, run the command `add barnowl; barnowl` at the prompt
 
 To start barnowl, run the command `add barnowl; barnowl` at the prompt
-on any Athena machine or dialup, such as linerva.mit.edu.
+on any Athena machine or dialup, such as linux.mit.edu.
 
 The simplest use of Zephyr is to send personal zephyrs to other
 users. To send a zephyr, type `:` to bring up a command line, and run
 
 The simplest use of Zephyr is to send personal zephyrs to other
 users. To send a zephyr, type `:` to bring up a command line, and run
@@ -61,8 +88,10 @@ by simply typing z.
 
 You can then enter your message, and then enter a `.` on a line by
 itself to finish the zephyr. By convention, zephyrs are usually
 
 You can then enter your message, and then enter a `.` on a line by
 itself to finish the zephyr. By convention, zephyrs are usually
-word-wrapped to 70-character lines or so; Pressing M-q (Alt-q, or
-Escape then q) will word-wrap the text you've entered for you.
+word-wrapped to 70 characters or so per line; barnowl will wrap at about
+10 characters less than the width of your terminal window, so if you
+have a large window, you may need to press M-q (Alt-q, or Escape then q)
+to word-wrap the current paragraph to a smaller width.
 
 Once you've sent and received zephyrs, you can navigate the message
 list with the arrow keys. Press `d` to mark a message as deleted, `u`
 
 Once you've sent and received zephyrs, you can navigate the message
 list with the arrow keys. Press `d` to mark a message as deleted, `u`
@@ -90,52 +119,71 @@ given class.
 
 To subscribe to a class, use the subscribe command:
 
 
 To subscribe to a class, use the subscribe command:
 
-    :subscribe CLASSNAME * *
+    :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
 
 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 \93topic\94 or \93subject\94 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:
+short &ldquo;topic&rdquo; or &ldquo;subject&rdquo; 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
 
     :zwrite -c CLASSNAME -i INSTANCE
 
 A message without an instance specified will default to the instance
-personal\94.
+&ldquo;personal&rdquo;.
 
 Some common classes include:
 
 
 Some common classes include:
 
-<strong>help</strong>::
->  -c help is a class for asking (and answering) questions on virtually any topic imaginable. Be sure to use an instance (such as \93linux\94\93barnowl\94\93campus\94, or so on) when asking questions, since it's a fairly high-traffic class. 
-
-<strong>sipb</strong>::
->  -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. 
-
-<strong>Personal Classes</strong>::
->  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.
-
-<strong>"un" Classes</strong>::
->  Many people use "un" classes in addition to their personal class, for example `johndoe` might use `-c unjohndoe`.  Sometimes there are nested un-classes as well, such as `-c ununjohndoe` or `-c unununjohndoe`.  It is extremely rare to see anything more than three "un"s.  Un-classes are generally used for snarking about a conversation going on in the next class up (`-c unjohndoe` snarking about `-c johndoe`), or for more intense ranting.  The more "un"s, the more intense the snarking/ranting generally becomes.
+<strong>help</strong>:
+> -c help is a class for asking (and answering) questions on virtually
+> any topic imaginable. Be sure to use an instance (such as
+> &ldquo;linux&rdquo;, &ldquo;barnowl&rdquo;, &ldquo;campus&rdquo;, or
+> so on) when asking questions, since it's a fairly high-traffic
+> class.
+
+<strong>sipb</strong>:
+> -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.
+
+<strong>Personal Classes</strong>:
+> 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.
 
 ### Zephyr Slang
 
 
 ### 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:
+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>:
 
 <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"`.
+> picked up from CMU zephyrland and means "I have no point here, I
+> just like saying:".  Sometimes people simply use quotes: `"foo"`.
 
 <strong>mix</strong>:
 
 <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.
+> 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.
 
 <strong>.d</strong>:
 
 <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.
+> 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>:
 
 <strong>starking</strong>:
-> Answering 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.
+> Answering 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>ttants</strong>:
 >  Literally, "Things That Are Not The Same".
 
 <strong>ttants</strong>:
 >  Literally, "Things That Are Not The Same".
@@ -143,19 +191,53 @@ If you spend enough time on Zephyr, you'll begin noticing some strange phrases a
 <strong>prnf</strong>:
 >  Literally, "Pseudo-Random Neuron Firings".
 
 <strong>prnf</strong>:
 >  Literally, "Pseudo-Random Neuron Firings".
 
-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.
+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.
+
+### Zephyr Etiquette
+
+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.
+
+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
+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.
+
+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.
 
 ### Startup
 
 
 ### Startup
 
-There might be some options that you want to be consistent from session to session; you don't want to have to set the same variables each time.  You can fix this by adding the commands to your "startup" file, for example, `.owl/startup`.  This can be done from within Barnowl, by using the `startup` command:
+There might be some options that you want to be consistent from
+session to session; you don't want to have to set the same variables
+each time.  You can fix this by adding the commands to your "startup"
+file, for example, `.owl/startup`.  This can be done from within
+BarnOwl, by using the `startup` command:
 
     :startup set foo bar
 
 
     :startup set foo bar
 
-Where `foo` is the variable you want to set, and `bar` is the value.  You do not necessarily have to use the `set` command, either, any command you can type in Barnowl can be added to the startup file.
+Where `foo` is the variable you want to set, and `bar` is the value.
+You do not necessarily have to use the `set` command, either, any
+command you can type in BarnOwl can be added to the startup file.
 
 ### Logging
 
 
 ### Logging
 
-It is handy to be able to log your conversations so you can refer back to them later.  To log classes, for example:
+It is handy to be able to log your conversations so you can refer back
+to them later.  To log classes, for example:
 
     :set classlogging on
 
 
     :set classlogging on
 
@@ -163,66 +245,107 @@ And to log personals:
 
     :set logging on
 
 
     :set logging on
 
-This will log to the "zlog" directory in your locker. You probably don't want people to see what classes you're on or what people you talk to, so you can run the Athena command
+This will log to the "zlog" directory in your locker. You probably
+don't want people to see what classes you're on or what people you
+talk to, so you can run the Athena commands
 
     mkdir -p ~/zlog
     fs sa ~/zlog system:anyuser none
 
     mkdir -p ~/zlog
     fs sa ~/zlog system:anyuser none
+    mkdir -p ~/zlog/people
+    mkdir -p ~/zlog/class
 
 
-to make this directory completely hidden.
+to create the necessary directories and make them completely hidden.
 
 ### Colors
 
 
 ### Colors
 
-By default, there are seven colors you may use in the terminal:  red, green, yellow, blue, magenta, cyan, and white.  In order to use color in Zephyr, you can use the following notation:  `@(@color(red)This is some red text))`
+By default, there are seven colors you may use in the terminal: red,
+green, yellow, blue, magenta, cyan, and white.  In order to use color
+in Zephyr, you can use the following notation: `@(@color(red)This is
+some red text)`
 
 
-Colors may vary from machine to machine, as different terminal profiles may have different shades of the seven colors.
+Colors may vary from machine to machine, as different terminal
+profiles may have different shades of the seven colors.
 
 ### Filters
 
 
 ### Filters
 
-Some people like to customize their Barnowl by color-coding classes.  This makes it easier to tell different classes apart (and minimize mixing).  Barnowl has some already existing filters, for example, `personal` (for incoming personals), `out` (for outgoing personals), and `ping` (for pings).  To assign a color to a filter, add the following to your startup file:
+Some people like to customize their BarnOwl by color-coding classes.
+This makes it easier to tell different classes apart (and minimize
+mixing).  BarnOwl has some already existing filters, for example,
+`personal` (for incoming personals), `out` (for outgoing personals),
+and `ping` (for pings).  To assign a color to a filter, add the
+following to your startup file:
 
     filter personal -c green
 
 
     filter personal -c green
 
-What if you want to color-code your class, or a friends class?  You can create and color filters with:
+What if you want to color-code your class, or a friends class?  You
+can create and color filters with:
 
 
-    filter johndoe class johndoe
+    filter johndoe class ^johndoe$
     filter johndoe -c blue
 
     filter johndoe -c blue
 
-You can update your settings and filters without restarting your Barnowl session by:
+You can update your settings and filters without restarting your
+BarnOwl session by:
 
     :source ~/path/to/config/file
 
 
     :source ~/path/to/config/file
 
-You can see all the filters by using `:show filters`, and narrow to a particular filter with, e.g., `:view personal`. You can use `:view all` or the keyboard shortcut `V` to see all messages again.
+You can see all the filters by using `:show filters`, and narrow to a
+particular filter with, e.g., `:view personal`. You can use `:view
+all` or the keyboard shortcut `V` to see all messages again.
 
 
-For more detailed information on filters, visit https://barnowl.scripts.mit.edu:444/wiki/Filters.
+For more detailed information on filters, visit
+[https://barnowl.scripts.mit.edu:444/wiki/Filters](https://barnowl.scripts.mit.edu:444/wiki/Filters).
 
 
-## Running Barnowl in Screen
+## Running BarnOwl in Screen
 
 
-It can be very annoying to have to close Barnowl when you turn off your computer.  During the time your computer is off, you're missing many (possibly important) zephyrs.  It can be aggravating to be using zephyr via an unreliable network connection.  It can also be frustrating if you leave your computer on with Zephyr up, but go to a different computer and want to check your zephyrs - how do you do this?  These problems can be solved with the magic of screen.
+It can be very annoying to have to close BarnOwl when you turn off
+your computer.  During the time your computer is off, you're missing
+many (possibly important) zephyrs.  It can be aggravating to be using
+zephyr via an unreliable network connection.  It can also be
+frustrating if you leave your computer on with Zephyr up, but go to a
+different computer and want to check your zephyrs - how do you do
+this?  These problems can be solved with the magic of screen.
 
 
-A more detailed and extensive explanation of this can be found at http://web.mit.edu/kchen/bin/owl-screen.txt.
+A more detailed and extensive explanation of this can be found at
+[http://web.mit.edu/kchen/arch/common/bin/owl-screen.txt](http://web.mit.edu/kchen/arch/common/bin/owl-screen.txt). Basic commands are [Ctrl-a] followed by [c] to open a new window (like a tab), [Ctrl-a][w] to see a list of open windows, and [Ctrl-a] followed by a number to go to that window.
+
+Do note that running `owl-screen` as apposed to just runnning `screen` and then a barnowl instance provides niceties such as reminders to renew your tickets (the process `/mit/kchen/arch/i386_rhel4/bin/cont-renew-notify`). Also, BarnOwl will always be located on the `0` tab of an `owl-screen` instance, so [Ctrl-a][0] will always take you back to BarnOwl.
 
 ### Screen
 
 
 ### Screen
 
-You should find a computer or server on which to run your screen session(s) that is up all the time, for example, linerva.mit.edu.  Screen allows you to run programs inside of it on one computer, and to access those same programs from other computers via ssh.
+You should find a computer or server on which to run your screen
+session(s) that is up all the time, for example, linux.mit.edu.
+Screen allows you to run programs inside of it on one computer, and to
+access those same programs from other computers via ssh.
 
 ### Quickstart
 
 
 ### Quickstart
 
-1.  Pick a machine to host your screen session on.  If you don't know of any options, linux.mit.edu (Linerva) is a good choice.
+1.  Pick a machine to host your screen session on.
+    If you don't know of any options, linux.mit.edu (Linerva) is a good choice.
 2.  ssh to that machine.
 3.  Run "add kchen".  You may want to add this to your `~/.environment` file.
 4.  Run "owl-screen"
 
 2.  ssh to that machine.
 3.  Run "add kchen".  You may want to add this to your `~/.environment` file.
 4.  Run "owl-screen"
 
-Your screen session is now ready.  Once you start the screen session, you'll need to get renewable Kerberos tickets in order to run it for any extended period of time.  Press C-a C-c to open a new screen window, and run
+Your screen session is now ready.  Once you start the screen session,
+you'll need to get renewable Kerberos tickets in order to run it for
+any extended period of time.  Press C-a C-c to open a new screen
+window, and run
 
     kinit -l7d -54
 
 
     kinit -l7d -54
 
-(length 7 days, both Kerberos 5 and Kerberos 4). Press C-a 0 to return back to your Barnowl window.
+(length 7 days, both Kerberos 5 and Kerberos 4). Press C-a 0 to return
+back to your BarnOwl window.
 
 
-When you're ready to log out, press C-a d to "detach" your screen, and then type `exit` or `logout` to log out.  Later, when you want to "reattach" your screen, ssh to the machine again, and run `screen -r`.
+When you're ready to log out, press C-a d to "detach" your screen, and
+then type `exit` or `logout` to log out.  Later, when you want to
+"reattach" your screen, ssh to the machine again, and run `screen -r`.
 
 ### Kerberos Tickets and AFS Tokens
 
 
 ### Kerberos Tickets and AFS Tokens
 
-In order to keep your screen session authenticated, you'll need to keep your Kerberos tickets and AFS tokens up-to-date.  There is a script that will do this for you, located in the `kchen` locker.  After you ssh into the machine that hosts your screen sessions, run the following commands:
+In order to keep your screen session authenticated, you'll need to
+keep your Kerberos tickets and AFS tokens up-to-date.  There is a
+script that will do this for you, located in the `kchen` locker.
+After you ssh into the machine that hosts your screen sessions, run
+the following commands:
 
     add kchen
     owl-screen
 
     add kchen
     owl-screen
@@ -231,10 +354,30 @@ In order to keep your screen session authenticated, you'll need to keep your Ker
 
 ### Attaching and Detaching Sessions
 
 
 ### Attaching and Detaching Sessions
 
-To detach a screen session (for example, if you want to log out), press C-a d (Control-A, then D).  Screen continues to run, but is no longer active.
+To detach a screen session (for example, if you want to log out),
+press C-a d (Control-A, then D).  Screen continues to run, but is no
+longer active.
 
 
-To reattach a screen session, possibly detaching from wherever it's currently attached, run:
+To reattach a screen session, possibly detaching from wherever it's
+currently attached, run:
 
     screen -dr
 
 
     screen -dr
 
-`screen` can do a whole lot more.   To find out about it, see [UsingScreen](https://sipb-www.scripts.mit.edu:444/doc/wiki/UsingScreen).
+`screen` can do a whole lot more.  To find out about it, see
+[UsingScreen](https://sipb-www.scripts.mit.edu:444/doc/wiki/UsingScreen).
+
+### Interaction with Traditional Zephyr
+
+The default athena startup scripts launch zwgc on login. 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
+
+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.