Saturday, November 14, 2009


Depending on how stingy you are,
Techcash charges 2% for deposits up to $1.5
Therefore, you should make deposits OVER $75 if you want to "save" on deposits.

(Unlike sleep-deprived me, who made exactly $75 deposit and wondered what my reasoning was... Yay MIT! However, I'm not terribly concerned. $1.50 does not seem like much in the face of the $200+ I just lost in the form of my retainers.)

Also note, the minimum deposit is $5, but the minimum deposit fee is $0.50, so you should deposit at least $25 in one go.

Tuesday, November 10, 2009

Status 001

so yea I should be tooling on my overdue essay. Meh. I hate essays and I feel like being immature and flaking out for no reason. I kind of missing being a child now, I've waited so long for college and awesome adultness, but sometimes I am homesick. It's taken me three months, but I am homesick... It shouldn't be a surprise that the friendships I've formed here pale in comparison to the ones I've had for years. I think it should be called past-sick, resistance to change.

Anyway, enough musing, back to my already-late CMS.100 essay.

Friday, November 6, 2009

American Jiu Jitsu--Yellow Belt--Notes

yellow belt
defensive: hands near but not blocking face, talk loudly, don't back up! fewest steps needed to regain balance (don't get cornered)

fighting stance: hands in fists, close to face, elbows in, head tucked to protect the chin, feet form a diagonal and hips face slightly tilted (body off of angle of attack), free to move and punch in many directions

Kiba dachi: feet together, hands up, like beginning of class throwing punches ready stance.

general: take full steps

high: smell armpit and really tuck head behind arm, keep head up, large step forward into strike, 45deg and hips facing attacker, other hand always up protect

cross: sidestep and turn out of way, arm up just in case not quick enough, hands always close to body

low: sit back, keep hand fairly close to body and just open arm to push strike away

Tai sabaki (body movement) - can be accompanied by strikes
general: always facing attacker, have clear distinct movements (complete tai sabaki before attack), bring trailing foot back (full step),

Left & right front corner: 45deg step foward, backfist?, hands down in fighting stance not defensive stance--not blocks

Left and right side: side snap kick to groin (keep toes pointed down)

Left & right rear corner: front snap kick to groin

Hand strikes
general: should be hitting with first two knuckles of hand

jab vs cross: jab to distract (with weaker hand), can be powerful, test for openness to attack. cross has full power

Cross: stops at center of body, not exaggerated Mortal Kombat all the way through. Not wind body back--leg already back due to fighting stance, use that to swing forward.

Uppercuts: stay in same stance for both right and left (don't switch leading foot). Strike stop at your head level. Use motion of dropping down low, hips to create force (not from side, from drop low). Keep elbow close, hand comes out slightly for strike.

Rolls! They aren't tested? for yellow belt. However they frustrate me a lot so I want to practice them (also I fail at left front rolls). Not crashing down on arm, using arm to guide, so no won't break arm. Currently landing on shoulder too much.

Also apparently should not practice one thing too much in one day--get a good roll, give it a day or so and try again.

Sunday, September 13, 2009

In retrospect

Things I wish I knew / had done... no claim to how correct they are.
1. Set up some guidelines with your friends before the first party (or sooner rather than later), to keep each other in check and make sure no one accidentally strays past their comfort zone.
If your friend / whoever is in an altered state of consciousness and has wandered off to a sketchy place, it doesn't matter wtf other "more experienced" upperclassmen say, or if you haven't set up guidelines with them, or you don't know the place they're at. They can always get their fix at another party--it's better to err on the safe side. Especially if she's the only girl in a roomful of guys, more likely than not something is wrong. Discretely talk to someone--try girls over guys--don't give up until you get someone who'll go and just check up on her with you.

Don't be afraid to watch over your friend / limit their consumption / whatever for fear of looking uncool / lame. More likely than not, they won't remember anything, let alone whether you were lame or not.

Exploring Tips

Wear pants you don't mind ripping / wear jeans
Bring band-aids unless you don't mind open wounds
If possible, have everything attachable so that you don't have to worry about carrying stuff or having stuff fall out of your pockets.
Make sure your batteries are charged, or bring spares / a spare light source
Bring your ID
Plastic bags are a good idea for rain...especially if you have a paper wallet...
If you set your cellphone to silent / vibrate, make sure to _un_silence it if you're depending on it as an alarm clock...
Explore stuff...but try not to screw up some poor grad student's experiments
Have fun :) [ Updates 11/6/09 ] Those zippered pouches that can be attached to keyrights / carabiners are really good.
Alcohol wipes are nice too
Trick: Wrap some duct tape around a card to store it compactly (or take a small roll and crush it)
Bandanas are nice, or makeshift a dust mask, e.g. some elastic string (from an ID badge thing at a competition) plus any bit of breathable cloth
Lights with switches and not pushbuttons are nice (esp. w/o headlamp)
Learn how to sew and patch pants
IDs, don't lose them, they can be annoying to search for / retrieve. Tape them down or something.
Those sharpies with keyring caps... they don't stand up to abuse. The keyring part falls off the sharpie too easily.
Socks with holes cut out = gloves
Consider that carrying out a irregular knock takes much more time than straight knocking
Try a sacrifical jacket to minimize skin cuts and protect the hands

Monday, August 31, 2009

Mailing Lists

More quick notes:
To subscribe to the free-food mailing list, type in
blanche -a kusername free-food
at an Athena prompt.

To subscribe to the Reuse mailing list(s), go to and sign up. See for more details / more ways to sign up (scroll to the very bottom).
Note that reuse is actually a Mailman list and not a Moira list so blanche doesn't work.

You'll first get an email asking you to confirm the subscription, and then you'll get a welcome email. (I thought I'd confirmed, but I never got a "Welcome" email... so I hadn't).

It sucks that, the MIT Office Outlook Web Access thing set up by default, doesn't have filters. I will need to figure out how to forward my email to gmail soon...

Friday, August 28, 2009

Shock Value

So on my way back to EC, my temp dorm, after dinner tonight (Chinese takeout! whee!), I grabbed a copy of The Tech (MIT's student newspaper) which had a REX schedule under "The Daily Confusion." This version had, uhm, some discrepencies with the official guide passed out on the 2nd floor of W20, the Student Center. Such as a one-track mind on sexual topics, apparently.

Passing along an upperclassman's thoughts, as delivered to us clueless [pre-]frosh: Not all East Campus (the region, not the dorm) people flamoyantly display their [sexual, whatever] deviancy. Not all EC people "snobbishly" think West Campus people reek of uncool normalcy. Unfortunately, some of the loudest EC people remain some of the most "anti-WC" criers.

So sayeth one person.

Seriously, come check out all the EC floors and people, not just take a look at the newspaper or some of the uhm paper-mache contructions and get turned off. EC people don't bite too hard. Even if no one goes out of their way to say hi, or they all seem busy, just walk up, ask if you can help with anything, and sooner or later people will notice "hey, frosh!" and start introducing themselves.

On a more personal side, I do feel like EC could be "home" (despite what my mom thinks, such as "Cooking for yourself?!"), regardless of my discomfort with some of the aforementioned frank talk and flamboyancy. But apparently 'tis a no-no thing to just settle in, so I suppose I will check out as many dorms as possible. Check out West Campus. (but they don't have midnight building parties in a wide-open space... Should I really look for the oh-so-important *perfect* people/attitude fit if I value these AFAIK EC-specific attributes so much? I am quite confused. Where else can you build wooden rollercoasters in your free time?).

REX... has begun.

Status Update...

Well, MIT admissions 2010 blogger results are out! As one of the 23 who didn't make it, I restored this blog to its pre-application, pre-gimmicky status as more of a notes blog than a personal blog. I can't resist saying, however... :) That enough free sushi at Bluefin to make me feel quite full, and on top of that two scoops of free Toscanini ice cream (mango and strawberry, mmm), make me verrryy happy. Although 'twas picture fail, because I was so excited by the sushi that I forgot to take any pictures to show my family the awesomeness of MIT. Oh, and not getting electrocuted by bad soldering on our underwater robot in the Zeisger swimming pool. That's always good. (yay for Discover Ocean Engineering, my FPOP!) Note: How to Get Around MIT, htgamit, remains free for incoming freshmen. It runs to a pretty crazy 400 pages this year, filled to the brim with juicy tips about MIT life. People should be manning a table in W20, the student center (near the front, on the side near Kresge), with stacks of books. Bring your ID 'cos they'll cross you off a list of frosh. Haven't seen them in Lobby 10 yet. Other things to do: Get a COOP membership, sign waivers for the Z-center.

Monday, August 17, 2009

SZS, the [SMS (Text Message) to Zephyr] Relay Service

[Update 11/6/09] Not, rather Really there are a bunch of errors in this article, try instead.

[Update 08/20/09] Updated the filter for text messages so that ones received would also be colored blue. Old: filter szs -c blue ( class ^szs$ ) New: filter szs -c blue ( class ^szs$ ) or ( sender daemon.webzephyr@ATHENA.MIT.EDU )

Uhh... I need sleep... okay, let's finish this up.

Abstract: Learn how to send and receive Zephyr to Phone messages, learn how to send phone to Zephyr messages, and learn how to set up a Barnowl filter to stick both sent and received messages in personals (and colorcode them).

So you want to use Zephyr to send and receive text messages? I did. At first, it's because I didn't have text messages on my cellphone subscription plan. Now, it's because texting on a cellphone feels unbearably slow compared to my normal typing speed, and becaues my Inbox fills up really quickly and I can't sort or do anything with messages on my phone. Google Voice also has this send/receive text messages capability, but I haven't set up my Google Voice account yet (I did get an invite already).

First off, unless you're just testing this out, you'll want a persistent Barnowl session. Go figure out owl-screen and set it up. I was planning to write an entry about this, but no worries ^^ There's plenty of documentation out there. See UsingZephyr | SIPB, and to go a bit more in-depth see UsingScreen | SIPB. There's a broken link in there that should point to owl-screen.txt | kchen. Do use owl-screen instead of running screen and then barnowl, though. owl-screen includes things such as a cont-renew-notify process, which sends you a timely zephyrgram telling you to renew your tickets (which authenticate that you are who you are).

Also, occasionally you may want to restart owl-screen or linerva may need to be restarted, so set logging on via :set logging on inside Barnowl.

To send text messages, see; I'll explain in more detail in this post.

Note that this page is linked from, which provides another gateway surface, between the web and zephyr. However, I've never actually used this purpose (for instance, if you're on a Windows machine which you aren't allowed to install software on, or don't want to, but want dialup access to Athena). I use a Java SSH applet, originally Mindterm SSH: Sometimes the Java applet would never pop up in its separate window, however, and I'll use Netscape Foundation - Jave SSH Client instead (although I'm not 100% sure it's fine to do this? I haven't really seen a Terms of Use).

Sending Messages from Zephyr

In Barnowl, the format is
:zwrite daemon.webzephyr -c szs -i
You can look up the email address for a give service provider, e.g. AT&T, here: Send Email to Phone (scroll down). Additionally, if you're not sure what service your friend is using, use Google to look up the number (for instance, try Free Cell Phone Carrier Lookup | enter in the "Mobile #" field[s], the "Name" and "Select Your Carrier" are unnecessary).

Messages you receive will filter to your Personal messages, so you can hit [Alt-p] to view any text messages you might have received. [Shift-v] (aka "V") will get you back to viewing all messages that you've gotten.

Note that [Ctrl-r] does not work on text messages that you've received (it will expand to :zwrite daemon.webzephyr, I believe). Instead, hit [Ctrl-R] and add -c szs -i, then hit [Enter]. Rather annoying, but I deal and you can too :)


In addition, you'll want to set your filters so that the messages you send, not just the ones you receive, will be visible when you hit [Alt-p].

Hit [Ctrl-a] followed by [c] to open up a new Screen window. Use nano if you're familiar with vi, etc. (To get back to Barnowl, hit [Ctrl-a][0]. To see a list of Screen windows, hit [Ctrl-a][w]).
vi ~/.owl/startup
filter personal -c green ( class ^szs$ ) or ( isprivate ^true$ and ( not type ^zephyr$ or ( class ^message$ ) ) ) or ( class kusername ) or ( type admin )
filter szs -c blue ( class ^szs$ ) or ( sender daemon.webzephyr@ATHENA.MIT.EDU )
Replace the colors with what you want. Use :show colors to see what colors are available. The second filter is to color your text messages differently from your other "personal" messages; it's optional.

Sending Messages from a Phone

Despite email address format as opposed to a phone number, send it as a regular text message, NOT a picture or multimedia message. My phone automatically sets it to a picture message when I type in an email address instead of a number, and my messages don't seem to get through (they may have gotten through occasionally, I don't remember and I'm too lazy to regexp through my logs).

Simply send a message to
Yea, that's it :) Heh.

Note: Messages over 140 chars will get cut off between the phone and Zephyr. The cell phone user will get invalidpducontent, although the first part of his/her message will get through to Zephyr. On the other hand, messages _from_ Zephyr to cellphones can be as long as you like.

Note: Some characters that you can type into Zephyr on your computer, for instance if you try typing in Chinese, you may not be able to view on your phone (e.g. you'll just see boxes) [for uhm fairly obvious reasons]

Note: You might note that on there's mention of texting classes and instances. This does indeed work (thanks jontec for testing this out, and AIM user I'm not sure the kusername of >.<), however note that messages appear like this (your phone number IS visible to everyone!):
   2013 / szs / daemon.webzephyr  02:56  (
       (Sent by via the webzephyr SMS/Email to Zephyr gateway.
       Zephyr replies to daemon.webzephyr -c szs -i )

G'nite, off to bed. Have to get up for work at 7, and can't take afternoon naps @ work, bleah >.< *yawn*

Sunday, August 16, 2009

Random Zsigs in Barnowl

Screw this, I'm breaking this "Intro to MIT Athena" stuff up into multiple entries. :) I mean, what was that maxim, "Real Artists Ship"? And considering I have 1 day left (work == no bloggy on Tuesday before 5 pm), I think I need to get going. So instead of going in order, I'm going to go with the stuff I can get done the fastest / the info that I feel can least be found elsewhere online. That'd be a) setting up a random zsig and b) using the szs service.

Abstract: We use the Zephyr (MIT messaging sytem) client Barnowl to set our zsig as a randomly selected line from a file consisting of zsigs separated by newlines.

Random Zsig: Intro

Highly recommend background reading: /help.c - barnowl - Trac and the "intro" file at /docs - barnowl - Trac.
OR view it inside barnowl. :help and :show quickstart pulls each up respectively.

A "zsig" appears after your kusername in Zephyr (see my previous post if you don't know what Zephyr is). By default, if your name is Jane Lillian Doe, your zsig is (Jane L Doe). For instance, if you're on Zephyr, you might see
   2013 / personal / jdoe  22:16  (Jane L Doe)
       ...hey I'm talking here.
A good percentage of people keep it that way, or remove the middle initial. Another set of people leave it at some interesting quote. To do so, as mentioned in the previous entry,
:set zsig 'this is a very interesting quote'
However, I had too much time on my hands earlier on in the summer, and so I set up a random zsig generator. It's very simple, actually, 'cos Barnowl is awesome :) Unfortunately, the documentation that I could find online all seemed outdated.

Well, the basic theory is that you can write some code that prints stuff out (stdout), and setup Barnowl to run that code, take the stdout, and pipe it to your zsig. (The wikipedia article is kind of technical on "piping", if it doesn't make sense just follow along).

Note: Unless you've gone and figured out Screen, don't start up Barnowl until you need to (I'll mention when).

Here we go!

  1. Remote connect to Athena.
  2. Create a file of zsigs, each separated by a newline. Use "nano" instead of "vi" if you're not familiar with vi, and modify the second set of instructions accordingly. For instance
    vi zsigs
    i #Enter into Insert mode
    a zsig
    random zsig2
    :wq  #Write the file and quit
  3. Create a file to store your code
    vi .zrandom
  4. Write a program, for instance:
    import random
    zfile = open('.zsigs')
    linelist =
    print random.choice(linelist)
    If you want to use another language (e.g. perl or C), or check out what version is running on Athena, check out What Runs Where on Athena: Languages | IS&T for how to indicate on the first line the language you want.
The Above Program, Explained
Since I don't program much if at all, I relied on Google to write this program. This progam imports the module random, which has pre-written functions such as the random.choice() used later. It opens a file ("~/zsigs") where I've written a list of zsigs I want to choose from randomly. These zsigs are separated by newlines, and so I read each line into a list. For instance, if I add a
print linelist
in there, I get this:
['zsig one', '2--this is a random zsig', 'foo', 'etc.']
Once I have it in list form, I can use random.choice() to randomly choose one of the items in the list. Meanwhile, I exit the "zsigs" file once I am done reading from it.

Note: You can test your program, for instance in my case:
nouyang@dr-wily:~$ python .zrandom*RECURSION*
The second line should be one of the zsigs from your list.

Setting Up Barnowl

Now, there's two ways to accomplish the same thing. We have to set it so that, when Barnowl starts up, it sets your zsig as an empty string. Then, we tell it to run the Barnowl command "zsigproc" and tell it where our zsig program is located. (If you have anything in "zsig" it will take precedence over your "zsigproc" variable). [1]

Note: To check what you've set variables as, use
:print variablename
Method 1: Manually
This really shouldn't be first, but when I set up my zsig generator I did it this way, and I learned a bit about Barnowl this way. Skip below for the easier method if you just want to get something working.
  1. Edit the file that Barnowl reads when it starts up. Again, use nano instead of vi if you're not familiar with vi, and modify the second set of instructions accordingly.
    vi .owl/startup
    i  #Enter "Insert" mode
    set zsig ''
    set zsigproc '~/.zrandom'  # The file where our zsig program is located
    [Esc]  #Escape into command mode
    :wq  #Write the file and quit
  2. Then open up Barnowl
    add barnowl; barnowl
  3. Voila! That's it.
  4. You can check that Barnowl is setup correctly. This should output zsigproc = '~/.zrandom'
    :print zsigproc
    Also, zsig should be set to an empty string. This should output zsig = ''
    :print zsig
  5. If you want to force Barnowl to reload the startup file,
    :source "~/.owl/startup"
    Also, you can zwrite yourself to check that everything's working.
Method 2: Easier
  1. Open up Barnowl
    add barnowl; barnowl
  2. Use the ":startup" command in Barnowl to write to the "~/.owl/startup" file (or wherever you decided to put the file) [2]
    :startup set zsig ''
    :startup set zsigproc '~/.zrandom'
  3. Force Barnowl to reload the startup file
    :source "~/.owl/startup"
  4. Optional: Check that the correct startup file is loaded
    :show startup
That's all there is to it!


[1] From /help.c - barnowl - Trac,
zsig - zephyr signature (default: '')
zsigproc - name of a program to run that will generate zsigs (default: '<null>')
[2] If you run :help startup inside Barnowl, you get
startup - run a command and set it to be run at every Owl startup  

Quote of the Day

Well, for a mild breather from my blogging spree, this brightened my day at work on Friday:
"My child has become a glutton" -- SWAP Kenya

And I thought those crazy titles in science fair were a peculiar phenomenon... it looks like "real scientists" do it too :) As for newspaper / blog writers, crazy titles are a given, heh.

Also, check out:
"More research of Sprinkles use and morbidity is needed to determine the safety of Sprinkles."
(from "Is Sprinkles Use Associated with Malaria Morbidity Among Young Children in Western Kenya?"
Sprinkles? Yea, that's right, Sprinkles, y'know, the multi-nutrient powder that's developed to address anemia and iron-deficiency, which leads to stunting and other problems. (ever wondered why North Koreans are so short? Now you know... ) (link's to the Google Talk, "Born and Raised in a Concentration Camp")

I know you weren't thinking of those sugary solids dispersed in a chaotic manner onto various treats (e.g. ice cream). Although obesity definitely causes morbidity...

Saturday, August 15, 2009

MIT 2013 AIM Blast, Zephyr, and Barnowl

[Update: 08.16.09 ~1 hour later] Well, all the quoting issues are fixed (yay speed bug killing courtesy of austein) so just ignore anything you see about quotes or bugs (excluding this statement itself--phew escaping that self-reference loop).

[Update: 08.16.09] Welll, in the name of progress, my blog post has already become outdated ^^; I'm too lazy to fix it all so I'll just list the changes up here:
  2013 / MSGS / austein  15:50  (Matthew Goldstein)
       The MSGS gateway has been upgraded:
       a) Zephyr users are again specified at the start of the message instead
       of the alias, making Blast's logs more readable
       b) Instances are now specified by #hashtags at the start of the message
       instead of commas
In short, you'll need to use / you'll see
[mit2013]: (zephyrgate) (kusername) #instancename yay this is a message
versus the old
[mit2013]: ("kusername" zephyrgate) ,instancename, yay this is a message
[14] Oh, also, double quotes don't work as of right now. So stick to Joyce-esque dashes :)


Disclaimer: This post is wordier, more passive, and less organized than I would like it to be, because I have too low of a ratio of motivation:time. [0]

Abstract: This post goes through getting onto the [MIT 2013] AIM Blast, getting onto MIT's messaging system, Zephyr, via the Barnowl client, and some basic commands for both.

So, if you're here, you're probably wondering, "Zephyr? Barnowl? Athena? Kerberos? Screen? WTF?" like I was. Let's walk through this in chronological order of when you would encounter them. (Or, see Other Useful Articles for other people's introductions).

Table of Contents
  1. Summary of Steps
  2. Zephyrgate
  3. Conclusion: Why Zephyr?
  4. Other Useful Articles
  5. Footnotes

Summary of Steps

AIM Steps
  • Join AIM Blast via the (closed) "MIT 2013" facebook group, or get someone already on it to !invite aimusername you
  • Optional: Set a nickname for yourself via !alias nickname (often set as "kusername", your Kerberos username, or "real name")
  • Optional: Maintain instances ("topics") by preceding messages with ,instancename, (e.g. ,zephyr, how do I get on zephyr?)

Zephyr Steps
  • Remote connect to Athena and startup Barnowl, a Zephyr client
    add barnowl; barnowl
  • Subscribe to the class "2013," which is magically linked to AIM via a piece of software
    :sub -c 2013
  • Write to the class with "test" as the instance (aka topic)
    :zwrite -c 2013 -i test
  • Send the message with the shortcut [Ctrl-d]
  • To reply to messages, scroll up or down with the arrow keys and hit "r" (or "R" if you want to change the instance)
  • To go to the last message, hit ">"


Presumably you will encounter the AIM Blast first, the invite is listed on the closed MIT 2013 Facebook group. The "blast" is a feature of AIM new to our class, and lets you send group messages. Unlike a normal AIM chatroom, it is permanently open--it operates like mailing list, always waiting in the background until someone speaks up, and then everyone in the Blast gets the message. [1]

Now, a current MIT student has invoked some magic to render the MIT 2013 Blast special: [MIT 2013] links to Zephyr via a "zephyrgate." Zephyr? Zephyr is the MIT chat system, used primarily by MIT and Carnegie Mellon University (two different "realms" in zephyrspeak). Zephyr's specialty lies in its system of classes and instances. [2] Class:instance :: blast:topic, in old SAT verbal analogy form. Classes can be created by anyone for anything from a literal class, e.g. 8.012 Mechanical Physics for Masochists, to a student group, to personal classes (reserved by convention) for each zephyr user (e.g. to be used as a twitter feed, diary, etc.). Thus, going from spontaneity to order: AIM > Zephyr > Forum > Email. The power of Zephyr lies in the fact that one can easily "filter" mesages by class or instance, or even by "dynamic filters" created on-the-fly, which we will go into in another post.

Note also that, on Zephyr, no list, such as might be found in chatrooms or IRC, exists of the number of people in a class. Although this makes it difficult in [MIT 2013] to tell if anyone will hear you, what can I say... zephyr == lurker heaven :P [3]
The AIM Side
So, on the AIM Blast, you'll get messages such as
[mit2013]: (aimusername) hello world #Note: appears like this even if you use gmail to login to AIM
[mit2013]: ("smart-enough-to-set-an-alias" aimusername) hey wassup
[mit2013]: ("another-alias" lorem ipsum dotum 
[mit2013]: ("kusername" zephyrgate) technogarblespeak
That last person is likely a current student... or a prefrosh invading Zephyr, heh. [4] [5] [6]

You may also see something like this:
[mit2013]: ("kusername" zephyrgate) ,zephyr, hey how do i change the name in the parentheses
The ",instance-name," is actually intrepreted on the zephyr side as an instance (messages not assigned an instance default to "personal"). Or, from our point-of-view, zephyrgate translates zephyr instances into ",instance-name," on the AIM side.
Some AIM Commands
!off -- mute [MIT 2013]
!on -- yea
!alias -- set your alias, e.g. !alias "Your R Name" or "kusername"
!history -- view the last few IMs on the blast
!invite -- invite a friend to the blast
Note that people on the Zephyr side can see your alias.

See AIM Blast Power User Tips for more.
The Zephyr Side: Getting Started
One more thing about zephyr... its most popular client (such as one might use Pidgin or Trillian or Gmail to connect to AIM), called Barnowl[7], is text-only... heh. But no worries! Text-only does NOT equal impossibly non-user friendly, unlike what everyone in the world would have you believe. Ready? Here we go.

(Note: It's helpful to have the MIT 2013 Blast open simultaneously, 95% of the time people _are_ listening and more than willing to help prefrosh invade Zephyr).

So, let's use our magic SSH powers (see my previous post) to connect to linerva (or athena-dialup or linux).

  1. SSH to the SIPB Linux Dialup
  2. Enter
    add barnowl; barnowl
    Immediately, your screen should display
       OWL ADMIN
           Welcome to barnowl version 1.2.1.  Press 'h' for on-line help.
           To see a quick introduction, type ':show quickstart'.                  
           BarnOwl is free software. Type ':show license' for more                
           information.                                                     ^ ^   
           Please report any bugs or suggestions to    (   )  
    Isn't the owl cute? :) [8]
  3. At this point, to gain loser points like me, you can talk to yourself. -^-^- Since this first part is easy to mess up, I've included the points where you should press [Enter]:
    :zwrite kusername[Enter]
    hello self[Enter]
    • You should immediately see
         Zephyr sent to kusername  01:29  (Your R Name)
              hello self
      were kusername is your kerberos username, and that R is your middle initial if you have one. The stuff in parentheses is called your "zsig," which we will learn about shortly.
    • Then you should see, in bold
         Zephyr from kusername  01:29  (Your R Name)
              hello self
      Yay :)
    • You can change the stuff in parentheses, your "zsig", via
      :set zsig "a new zsig"
    • Note that your zsig doesn't show up on the AIM side. On the other hand, AIM users have their zsig set as (alias Via MSGS Gateway).
  4. Okay, amusing detour aside, now that you're done talking to youself, "subscribe to class 2013":
    :sub -c 2013[Enter]
  5. To verify that you're subscribed (if you hit [MIT 2013] at a slow point in time when no one's talking), if you enter
    :show subscriptions
    you should see
    in the list of classes you are subscribed to.
  6. Now write something to class 2013 under the instance test:
    :zwrite -c 2013 -i test[Enter]
    Your message here[Enter]

Zephyr Shortcuts
That said, Zephyr's interface definitely has a steeper curve than your GUIs such as Pidgin or meebo, but it really isn't that bad. All you need to know are the keyboard bindings, or "shortcuts." [11] Barnowl actually has an extensive help documentation inside itself. If you don't like reading the help docs via CLI, check out the docs on the web: /doc - barnowl - Trac
h -- help
:view quickstart -- view a quick introduction to Barnowl
arrow keys -- move up and down messages
Shift-v ("V") -- return to default view (if you ever do something funky)
Shift-. (">") -- move to last message
r -- reply to message (the one that has an arrow next to it marking your place)
R -- reply to messages, but with the option to edit the command (e.g. change the instance)
Ctrl-c -- cancel message / command
Alt-p -- view personal messages
Ctrl-d -- send message
:quit -- quit barnowl

The Zephyr Side: Some Cultural Stuff
Okay, so one thing to note is that the culture on Zephyr is a bit different from AIM.
  1. Longer messages / more punctuation AIM defaults to one-liners (hitting [Enter] sends the message. You have to hit [Shift]-[Enter] to get a multiline message. Zephyr makes no distinction between one- or multi-line messages. On -c 2013, the rules are relaxed since anyone current students sub'd to 2013 know what to expect with all the AIM users, but on any other class one-liners such as "lol" are discouraged, while grammer/spelling/punctation is encourage. Again, see UsingZephyr.
  2. Different conventions:
    i,i -- I have no meaning, I'm just saying (said before random tangents, often)
    stark[ing] -- Replying to a message after a length of time (people then know to check their logs) (this is named after a gsstark, who did this a lot)
    ==kusername -- what kusername said
    kusername++ -- props for/ I agree with / I suport what kusername said
    kusername-- -- downvote (apparentally, CMU used to have a bot that tallied peoples' scores)
    -i instancename.d -- Indicates a tangent instance, sometimes used as a meta-instance to comment on the original instance
  3. [Update 08.16.09] Misc.: Due to twitter, people occasionally use "@username" instead of the old "re:username" or "username:". Nothing really wrong with it, but do take note that in Zephyr formatting is done with "@format(a message)" so some people may prefer that you not use "@" for addressing people. [13]

Zephyrgate Bugs
Messages may sometimes be lost in zephyrgate. Avoid quotes. Known issues: From zephyr:
hey "It's a shame, this entire message gets lost on the AIM side due to the unclosed _single_ single quote(s)" everyone
Hi "Oh noes! 'Only spaces appear where' both sets of quotation marks where on the AIM side :(" guys
So, in conclusion, use double quotes if you have to quote anything, and definitely avoid single quotes inside double quotes. Or do like James Joyce does and use dashes instead...
――You are an artist, are you not, Mr Dedalus? said the dean, glancing up and blinking his pale eyes. 
(from A Portrait of the Artist as a Young Man, V)

Conclusion: Why Zephyr?

So, at the end of all this, or even the first few times you get on Zephyr via Barnowl, you might wonder, why? It's annoying to get around this oldfangled CLI (command line interface) and AIM works perfectly well for -c 2013. Well, like anything, it takes a bit of time to get used to zephyr. But the kusername class you get to yourself, the ease of instances and filters, and the sheer customizability of Zephyr/Barnowl win me over. For instance, "j" and "k" are common conventions for moving up and down a document (e.g. vi, google reader). Well, by just editing a file or two or going straight through the Barnowl interface, I can [in a well-documented way] change Barnowl so that "j" and "k" also move up and down messages. (How to do this? Save for followup post, again). Also, with colorcoding via filters, my terminal looks just plain delicious :)

Other Useful Articles

UsingZephyr | SIPB. -- A no-frills tutorial. Using MIT Athena Remotely, Part 2: Zephyr and Barnowl | The Sam Range Blog -- Another good introduction to Zephyr and Barnowl lies here, which goes into some background info & really walks you through it.


[0] Okay, sheesh, these entries are annoying to format and take a long time to make (I'd say this one easily took a good 8 to 10 hours). I only have 2 more left in this series, and then I need some more non-tutorial-formal entries if I really plan to enter a blogging app... [1] See AIM Blast Creates Instant Message Groups for Mass IMs | Lifehacker for more info. [2] See XMPP: Chatroom Aggregator Idea for more insight into the differences between IM and Zephyr. [3] With important exceptions, such as the fact that anyone else on linerva can check out when you logged on and how long you've been idle (w | grep kusername)... and indeed the SIPB people who run the machines can see what processes you're running (aka ps x) [4] Re: Hello world || Ok, just kidding, we're not _that_ nerdy... I think. [5] Re: "another-alias" || Note: no clue how people get @gmail onto zephyrgate, which is AIM Zephyr... do I want to know? O__o Update: austein on -c 2013 informs us that you can use an email address to sign up for an AIM account, resulting in this monstrosity. Oh, and on the Zephyr side, it shows up as ""... [6] Re: Technogarblespeak || Well, more often technogarblespeak than straightup AIM users, at least. [7] Other people have worked to get graphical clients such as Pidgin to work with Zephyr, but these are generally outdated and not maintained. Stick with Barnowl. [8] Right away, you may see a message such as
   Zephyr from kusername  18:11  (Your R Name)
       Your tickets on  will expire within the next 24 hours.
       Run "kinit -l7d" to get new renewable tickets. 
This can be safely ignored if you're just testing stuff out on Zephyr and won't be on long. If you want a persistent Zephyr session, though (e.g. if you're on a flaky internet connection, or need your personal class to be constantly running to get text messages [8.1]), this will matter (if you fall under the above use cases, you can go ahead and head over to UsingScreen | SIPB for a look) and tickets will be explained in a followup post. [8.1] See SMS to Zephyr Relay (more will be explained in another post). [8] Alternatively, use [Ctrl-d] to send the message. [10] Note that on the SIPB UsingZephyr doc, 'tis exemplified
:subscribe CLASSNAME * *
I've verified on zephyr that the * * is no longer necessary (it's automatically added for you now) [11] There really isn't any menu to access these functions, Barnowl being CLI and all, so 'they're not technically shortcuts... [12] Some acronyms can be looked up by running
kusername@dr-wily:~$ athrun sipb whats
For instance, you might enter
athrun sipb whats i,i
However, we're stuck in barnowl and I haven't talked about Screen yet, so... [13] Source: pants on -c 2013:
I feel like it might be worth pointing out that the '@' character
is used within zephyr for formatting, like @bold(ZOWIE) or
@(@color(purple) a good color). As such, zephyr users tend
to read things like "@pbaranay(that sucks)" to mean "I'm saying
'that sucks' kind of like pbaranay would say it".
I personally don't care that much, but wish to forestall confusion
in your future zephyr adventures. 
[14] The reference to "making Blast's logs more readable" is because, in the past, due to the hack-ish nature of using Blast aliases to display Zephyr kusernames, using the !history command only displayed "(zephyrgate)" and not the individual kusernames. All the more reason to get on Zephyr and use Screen :)

Archived Blog notes. [27 jan 2010]
8.16.09 I'm using Ubuntu 9.04, Firefox 3.0.x
Webkit (Safari, etc.) users: Sorry, can't seem to get the code block text to NOT wrap. (seems to work in every other browser I can get my hands on)

8.20.09 I use "#" at the *end* of a line to denote comments, these should NOT be typed in.
(lines with "#" at the *beginning*, such as
#! blah blah
should be typed in).

If you notice any errors (spelling, content), do leave a comment or email me (the obvious, the name of this blog @ mitedu). Thanks!

Wednesday, July 22, 2009

Microbiology Lab Skills

Some tricks I've learned / re-learned over the last month:

Loading [agarose] gels: To minimize crossover, after fully ejecting sample, swish the tip around in the space in the well above the sample before moving the tip out (slowly). This'll keep the blue trail (assuming blue dye) following the tip out of the well to a minimum.

When eluting RNA/DNA with those spin columns (the last step), to minimize the amount of cap-flying-off (and thus transferring of sample from one tube to another), space the tubes apart in the centrifuge. [Edit 08.16.09] Oh, also turning the tubes so the open lid is right next to where the rotor (inner) lid will be seems to help too... I guess they spin outward during CF and when they hit the inner lid they sometimes come off

When reusing gloves (clean ones, of course), to "poke out' the fingers easily, swoosh the glove through the air and then squeeze the glove to force the air through the glove fingers.

Make sure to put the inner lid on the centrifuge... I think I have a phobia of CFs now, especially on the 1 min @ 14k spins >.< Just that revving-up-getting-worse noise, I don't like it.

Thursday, July 9, 2009

NCBI Save Search quirks

Just a quick note, for NCBI searches, for the "Save Search" link next to the search box to work, you have to check off one of the results. When you pull it up again under "My NCBI > My Saved Data > Saved Searches," all the results will pull up, not just the ones you checked off.

(still working on a long post about Zephyr, Barnowl, screen, etc., I might give up on the joomla one. and still working with zencart)

Tuesday, June 2, 2009

Installing AMP on Ubuntu (making a localhost)

Well, that was easy. Yet another one-step installation, yay!
In short,
 sudo tasksel install lamp-server
does the trick.


Installing LAMP (well, actually AMP) locally instead of accessing remote servers online helps with testing joomla/CMS installations, editing templates, not screwing up a live website, etc. The last time I tried to do this I got bogged down by all the articles that explained how to "install Ubuntu Server Edition," when what I really wanted to know was how to install AMP on top of the desktop version of Ubuntu. Also, the Ubuntu community documentation pages (that I turned to for help on wifi) were long and out-of-date on the subject of ApacheMySQLPHP.

Of course one option is installing the packages individually, but it turns out there's an easier way: Tasksel.

I typed in (at a terminal):
 user@user-desktop:~$ sudo tasksel install lamp-server

It immediately started downloading packages, prompted for a MySQL password, and the whole process was over in less than ten minutes.

To check that AMP installed properly, I entered "localhost" in my browser and voila, I was greeted with
It works! Kehe. That made me smile.


System used: Ubuntu 9.04.

For a bit more info, see Ubuntu Forums - View Single Post - HOWTO: Setup easy web development environment (XAMPP)

Saturday, May 30, 2009

Using that New MIT Athena Webspace

  • List of changes to this article.
  • Update 1/10/10: Those of you ubuntu who like graphical ways of accessing files on Athena (and copying to/from folders, including the /www or /Public folders ("uploading")), may like
    Places > Connect to Server... > [Service type: SSH] [Server:] > Connect
    as another way to connect to Athena filespace
  • Update 6/24/09: If you're curious about what we're doing and the background for all of this, found a neat blog by another '13er that goes more in depth (and has purty screenshots that I am too lazy to make): Using MIT Athena Remotely, Part 1: SSH and Linerva || The Sam Range Blog.
    See also the SIPB Documentation page which has lots of useful guides.
  • Update 8/06/09: Note that I'm using '#" to mark comments in blocks of code
This post explains how to connect to MIT Athena remotely & transfer files there or host a website.

Summary of Steps

In short, at a *nix or Mac terminal, type in:
(where kusername is your Kerberos username)
On Windows, ssh is not built in. Download PuTTY and enter into the "Host Name (or IP address)" box to connect to the remote server; everything else is the same.
Then type in:
add scripts
and choose a piece of software from the options given. OR if you just want to host a file or two,
cd www
and create your files (e.g. index.html) there. OR if you want to copy a file from a local directory to the remote directory,
sftp   #(OR
Connecting to
Password:  #Enter your password
cd www
put localfile.html remotefile.html
=== It took me a while (yes, I slow) to figure this out, but I found it surprisingly easy to set up a website using my new Athena lockerspace(s?). But the IS&T website was not too helpful (difficult to find the right page), and many of the documents linked to on the SIPB website pulled up 404 pages. [1] So here's my own help page.
First, created my Kerberos account (using the piece of paper IS&T sent me in the mail, aka the "account coupon in the May Admissions mailing"). [2]

Option 1: Creating a file in your webspace

For putting up files, or just getting a homepage up,
  1. Remote login to Athena account
    On *nix or Mac, open up a terminal.
    where user is your desktop username. Type in
    where kusername is your Kerberos username. [3] [4] [5]

    On Windows, ssh is not built in. Download PuTTY and enter into the "Host Name (or IP address)" box to connect to the remote server; everything else is the same.

    After typing in my password, I was greeted with
    Welcome to Linerva, the SIPB Linux dialup for MIT.
  2. Open the /www directory
    Type in
    cd www
    (This is what it should look like:
    kusername@vinegar-pot:cd www
  3. Create file
    I used vi to create a file, index.html [6]. If you haven't used vi before, use nano instead (replace the "vi" below with "nano", and ignore the 2nd block of instructions which are vi-specific).
    vi index.html  
    i #This enters into "edit mode"
    testing123123 #This is what my homepage will say
    [ESC] #The escape key, this escapes into "command mode"
    :w #This writes the file
    :q #This quits vi
  4. Feel free to logout now by typing
As far as I know, this puts a file up at three URLs:
See www under The Layout of a Typical MIT Locker.

Option 2: Copying a file to your webspace

[Update 6/10/09: Added the entire following section] This took me the longest to figure out, because the only instructions I could find were outdated or pulled up empty pages (e.g. Filezilla at MIT). Anyway, ftp doesn't work. In order to connect "from a non-Athena UNIX machine to an Athena dialup or private workstation," as opposed to "from Athena to a remote-access Athena workstation," you have to use sftp.
  1. So, open up a terminal, and sftp to MIT Athena.
    user@user-desktop: sftp  #(OR
    Connecting to
  2. Enter your Kerberos password when prompted.
  3. Change remote directory to the www directory (the public Internet accessible directory).
    sftp> cd www
  4. If you need to, change the local directory to where your file is located.
    sftp> lcd localdirectoryname
  5. "Put" (copy) the file from your local directory to the remote directory.
    sftp> put localfile.html remotefile.html
    Uploading localfile.html to /afs/
    localfile.html                                   100%   86     0.1KB/s   00:00    
  6. Disconnect (quit the sftp connnection).
    sftp> quit
Other useful commands:
ls #Lists contents of remote directory
lls #Lists contents of local directory
pwd #Prints name of current (working) remote directory
lpwd #Prints name of local working directory
rm filename.txt #Removes filename.txt from remote directory 
Most ftp commands work. Google for more commands, e.g. UNC @ Chapel Hill - sftp commands.

Option 3: Installing a CMS, wiki, etc.

For installing a wiki, CMS, etc., the SIPB people have created a really nice service called Scripts, which has quick-installers for many popular web packages. It does other stuff too, which I'm not really clear about. See In plain language, it makes getting those web packages up and running on my own webspace super easy. As detailed on,
  1. Remote login to Athena account (see above, under Option 1)
  2. Type in
    add scripts 
    (this has to be done each time I login)
  3. Type in
  4. Choose from the options given
    What piece of software would you like to install?
    1 MediaWiki
    11 Django
    Please enter a number 1-11: 3
  5. Blah blah follow the instructions
  6. Following the prompt, type in the name of the directory the web package should be installed in, e.g.:
    Desired address:
Voila! That's it, now just visit (whatever directory you installed in) and there's now a shiny new piece of software there. For joomla, note that the adminstration login is at . Yay now to play around with this stuff.


System used: Ubuntu 8.10, Firefox 3.0.10
 [1] I actually found this really useful blog post for prefrosh in May while writing this, but it just says
Want to upload things to your MIT Athena or Web space? You can do this via SFTP to, or for the less technically inclined, you can download SecureFX from the MIT software page. It's a handy drag-and-drop Windows tool.
At least it would have helped me ask the right question, though.
[2] There's a slight activation period wait so I came back the next day, and nearly couldn't remember my password. Note that attempting to login at pulls up
Your email account is provided by MIT's Exchange email service. Please access your MIT email by visiting
This is actually an error message, not a warning, and attempts to login on don't do anything except pull up this message again. I kept trying different passwords here to no avail, until I realized... yea. (I hadn't gotten a personal MIT certificate yet, and it turns out that, without a certificate, the only way to reset my password would be to visit IS&T in person and show ID). [3] This works too:
But it's a lot slower getting to the prompt for some reason. It goes through a bunch of random stuff first before it finally gets to the prompt:
What DISPLAY are you using [default: none]? none 
Setting DISPLAY to none:0
Running standard startup activities ...
zwgc: Unable to open X display -- disabling X driver.
zwgc: To receive Zephyrgrams, (type `zwgc -ttymode').
zwgc -ttymode
mailquota: Cannot connect to IMAP server on EXCHANGE.MIT.EDU
from: Cannot connect to IMAP server on EXCHANGE.MIT.EDU
[3.1] Some SIPB member verified on zephyr -c 2013 a while back that the "What DISPLAY are you using [default: none]?" field should be filled with "none."
 [4] The first time, it asked
Are you sure you want to continue connecting (yes/no)?
and I typed "yes."
ssh -l username
This also works, but requires more typing.
 [6] index.html is the default homepage file. If it's in the /www directory, typing in will pull it up by default as my homepage.

List of changes to this article:

  • 6/02/09: Found third mirror for files under www
  • 6/10/09: Figured out how to ftp to Athena space, so added it as another option
  • 6/24/09: Changed -l kusername to Also, added the Mac and Windows instructions with their colored divs and changed the monospace text to a font that differentiates between the number "1" and the lowercase "l".
  • 8/05/09: Fixed some formatting errors involving me putting HTML tags inside code blocks (and ruining the fixed whitespace). Clarified the vi vs nano instructions. Added [3.1].
  • 8/06/09: Moved changes list to bottom of post, fixed remaining html tag in code block, changed /user/u/n/kusername to user/k/n/kusername, removed lcd and inserted pwd and lpwd.