Tuesday, July 31, 2007

Abbreviation Project/Scheme

Ok. All of the following is true even if you don't think it is. I wouldn't lie to you. No, not to you.

Right now, I'm learning the following scheme for abbreviations (it's pretty clever and useful):

http://www.eskimo.com/~oak/abr/Wil.txt

Under this scheme:
  • only the most commonly used English words are included
  • the more common a word, the shorter its abbreviation
  • abbreviations can be extended using a set of characters that are added to the end -- for example, 'g' attached to the end of an abbreviation generally means 'ing'
Now, you might ask "Why are you doing this?".

I'm going to use this scheme to:
  1. Type faster with fewer keystrokes
  2. As a shorthand system for taking notes (I take a lot of notes)
  3. As part of my note obfuscation scheme (I have a system for taking notes in code so they can't be easily read -- I sometimes do this when prying eyes are near and I don't want people to know what I'm thinking -- I've been doing this for years, since high school at least -- it's awesome -- my mom doesn't understand why I do it -- I can write most characters in 3 to 5 different ways -- some symbols can be used for multiple characters -- etc)
Further, you might ask "How will this allow you to type faster?".

Well, this scheme and a text editor with a feature known as "abbreviation expansion" will result in much faster typing and fewer keystrokes.

The best text editor I've found so far for this purpose is emacs. It has an abbreviation mode which allows for abbreviation expansion.

I wrote a perl script that produces an abbreviation list for use with emacs. Here is that file:

http://greglange.com/abbr.txt

So, when I fire up emacs and hit "k[space]" the "k" is magically replaced with "and" and when I type "bc[space]" the "bc" is quickly replaced with "because". If I type "Rt[space]", the "Rt" is replaced with "Right".

Also, you might ask "How are you learning this abbreviation scheme?".
  1. Slowly
  2. I'm using my flashcard system (written in Java) to learn all the one and two character abbreviations (later I'll move on to the longer abbreviations)
  3. At home, when I transcribe notes or work on one of my writing projects I use emacs and this system (at times it's slower going than my normal typing but I'm gradually getting better)

No comments: