I for one have over 2500 abbreviations for common words, and this number is growing. For example, I never write 'because' I write 'bc' and as soon as I hit the space bar the full word expands! How many times in your life are you going to have to write a common word like 'because'? Most assuredly often enough to make an abbreviation for it....


Mnemologistics is the art and science of reducing language and streamlining its logistics in order to effectuate faster, more efficient, and greatly enhanced language and communication.

A great part of this involves an attempt to develop a comprehensive abbreviation system - all of which leads to, among other things, a better way to read and write.


The Rationale

      Hitherto the great bulk of the written language has been limited to either the printing press or pen and paper. Today, however, a great deal of it is transpired through electronic media, moreover, the reading and writing people do has increased tremendously. More reading and writing is done today than any other time. Yet to date practically nothing has been done to make that reading and writing more efficient. We're still plucking out the full literal chunks of every letter of every written word, thus not only bringing needless toil for our fingers and eyes, but for our mental faculties which are dragged along with it, as they're part and parcel of the very language we read and write.
      Abbreviations have always existed, but never has a smooth transition to such an extensive abbreviation system been so close at hand. Now, a great change in the way we read and write, i.e., a new written language itself, can possibly be the outcome of such an extensive abbreviation system. Among other things, this would lead to a more mnemonic and abstract language.

      Most of the work for an abbreviation system involves creating the abbreviation system database, which means, among other things, noting the frequency of word usage, developing an effective keyboard home mapping scheme for the most common abbreviations, and of course figuring out the actual syntax for all the abbreviations so they don't conflict and so they're not too difficult to type and remember.

      Here is an old ad hoc list of abbreviations I used a while back.
      Here are Wil Baden's abbreviations and tips (39k). Abbreviated text can serve the following purposes:

  • - Reduce your keystrokes! (faster typing, handwriting, PDA's, eliminate or reduce carpal tunnel...)
  • - Save on eye and finger movements when reading text from the screen or paper
  • - Speed up reading, less page turning...
  • - More efficient editing
  • - Save paper when printing
  • - Save disk space.... :)
  • - ...
Note that nothing in the abbreviation system is short-hand. The full usage of the traditional language is preserved.

      This abbreviation system may sound like a pretty trivial thing at first but not so when one considers the fact that a concentrated shift to abbreviate text can lead to an overhaul of written language as we know it. Right now we're talking about abbreviating words which in turn are recognized by the computer then extended to their full traditional spelled out forms. Such an abbreviation system can increase writing speeds many fold. Today, an exceptional typist can type at 70 wpm, and an average person will type, say, at around 30 wpm. If abbreviations are used the average person will out-do the exceptional typist without abbreviations, and the exceptional typist still probably have trouble thinking as fast as she/he can type. All this has tremendous implications for language, and the way we communicate, not least of which is a move to a more mnemonic language.
      These changes, I believe, are for the better, and have great practical implications. Many people already spend so much time on the keyboard that carpal tunnel syndrome has become a major problem. With such an abbreviation system people will be able to type with little effort at least twice as fast, save paper when printing, save on eye and finger movement when reading, and speed up not only reading but hand writing and thinking as well. I've also done some preliminary work on the speech equivalent of this, i.e., abbreviating speech (mostly electronic) to more distinct and much shorter audio signals.


More on SpeedWords
Shorthand wiki
Abr Wikipedia[NEW - May 2006]
Old telegraph abbreviations list[NEW - May 2006]
Dvorak Keyboard
Constructed Languages (Colangs)
Commercial (non-linux/unix)Abbreviation Software
the simplified spelling society
Dynamic/algorithm created fonts: Alphabet Soup
GUI writing based on probabilistic modeling: The Dasher Project

Related Literature on the Subject

     Robert Logan's The Alphabet Effect - The Impact of the Phonetic Alphabet on the Development of Western Civilization has some interesting things to say about our language from which we can make some extrapolations as to what we might expect from the abbreviation system. He notes that a lot goes on with our system of language which we take for granted. He says we (1)code and decode (2) convert auditory signals or sounds into visual signs (3) think deductively (4) classify information and (5) order words through the process of alphabetization..... and that these are lessons the Chinese don't have to learn. He says "The extra lessons of alphabetic literacy explain why school children in North America take just as long to learn to read and write as Chinese children despite the fact they have to learn only 26 letter compared with the one thousand basic characters required to read Chinese."(p.21). [see also "The Origins of Text"].


Abbreviation Capable Editors and Word Processors


Here's a unix shell script that will take any body of text and give you a list of all the words used and the frequency of their use:

cat file.txt | tr -cs A-Za-z '\012'|tr A-Z a-z|sort| uniq -c| sort -n -r|head -15

This can be helpful for making decisions on your own abbreviations. The 'head -15' section simply says only show me the top 15 words. Words are all filtered to lower case. Here's an example of the output using the text in this last paragraph (not including the unix script):

   7 the
   4 of
   3 words
   2 unix
   2 this
   2 text
   2 script
   2 s
   2 here
   2 and
   2 all
   2 a
   1 you
   1 will
   1 very

The Brown Corpus takes representative texts from a wide range of sources, but if you're constructing your own private abbreviations there's no better source than your own writings. A good place to start however might be the Brown Corpus top words found in many of the unix operating systems at /usr/lib/eign.

There are a lot of benefits to come from something like this....books become thinner, less stressful on the eyes to read, less ink to waste on your printer. Say I have 500 pages to print, with an abbreviation system they become only 300 pages or less....more information fits on one page, less flipping of pages, it's an instant short-hand too, taking notes with pen and paper becomes less of a task, etc...


Abbreviation Utility

Juha Pohjalainen wrote a program (in the python language) which can be a great help for someone using an extensive abbreviation system.

                ABBREVIATE (v1.12)


abbreviate.py can do any of the following:

EXPAND: Take any abbreviated text and un-abbreviate (expand) it.
EXPORT: Allow various editors (vi clones, xemacs) 
   and word processors (MS-Word) the ability to use abbreviations
   using one plain text abbreviation list as a base. It does this by
   exporting the abbreviation list to a file which can be used by the 
   editor or word processor.
ABBREVIATE: Take any text file and abbreviate the text in it.

               QUICK START

You'll need python version 1.5 or better on your system
(see www.python.org if you don't have python). To run it download the
the program abbreviate.py program below and put it where it can be executed  on your
system and you'll be ready to go. "abbreviate.py -h" will give you a list
of available commands. 

Make sure abbreviate.py is in your path and that it's executable, and 
that you have an abbreviation list. The list should be of the
following format:

(abbreviation) (un-abbreviated word or phrase)

For example, you might have a list like:

bc because
fe for example,
hwe however

Words will be expanded according to case in the abbreviation. For
example, using the above list "hwe" would expand to "however" but "Hwe"
would expand to "However". If don't want any case conversion you can
write abbreviations the following way:

la=Los Angeles

Here case will be taken literally so "la" will expand to "Los Angeles"
but "La" will not expand at all.

You can have comments in the list designated by putting a "#" as the
first character of each line.

abbreviate.py can take a text file with abbreviated words and expand
the abbreviations using a specified abbreviation list as a basis for
the expansion. Say I write a report on my palmtop in abbreviated code.
Once I get this file to my PC as a plain text file I can expand the
abbreviated text with the command:

abbreviate.py -a my-abbreviation-list.txt -i my-report.txt

This will expand all the abbreviations in the file my-report.txt by
printing out the text on the screen. To send it to a file just tack on

 " > filename.txt" 

without the quotes to the above command.


abbreviate.py can export the abbreviations list to a format which
various editors (vi and some of their clones including vim and xemacs)
and word processors (ms-word) can use. The master abbreviations list
stays in tact and an editor specific file is created from the list. So
all you need do is keep only one abbreviation list. To create an
abbreviations file for the vim - and vi clone editors - you would give
the command: 

abbreviate.py -v -a my-abbreviation-list.txt > vi-abbreviations-list.txt

The produced file can then be appended to the vim configuration file,
e.g., .vimrc  


abbreviate.py can take any text and abbreviate it. For example to
abbreviate report.txt you would give the command:

abbreviate.py -b -a my-abbreviation-list.txt -i report.txt

Download abbreviate.py.

Juha also provides a word95 Macro to remove abbreviations - found
within in the abbreviate program above:

This is a perl script written by Markus Laker which will attempt to capitalize only the words at the beginning of a sentence.

-------- begin Markus' capitalization script ---------
# Capitalise the first alpha char in a paragraph as long as
# it's preceded only by spaces and quotes, and the first
# alpha after every dot, query and pling.
# Leave other capitals (e.g. in proper names) intact.

# This is a disproof of principle, as it were.

$/ = '';
while (<>)
{       s/^([\s"']*)(\w)/$1 . uc $2/e;          # do the first one;
        s/([\.\?\!]\W*)(\w)/$1 . uc $2/eg;      # do the rest.
-------- end Markus' capitalization script ---------


With a connector called ymouse sometimes connect two keyboards to the same computer. With this I'm improving the ergonomics of writing via the keyboard by having the extra keyboard at my feet and using that to press some commonly pressed keys such as the space key which as you can see in this very text I've had to press many times. Hitting the space bar with the feet takes just a little getting used to but it's effective and is a good change of pace. I also connect big button keys, or simply strip down the extra keyboard to frequently used keys like (Enter) (alt) (ctrl) etc. This makes it easy to reach with the feet. By the way, I'm not handicapped in any way but this sort of thing I think makes writing more effective and helps avoid things like carpal tunnel syndrome.

Remapping the Keyboard

The standard keyboard layout is not a very efficient one, in fact, its whole conception needs to be looked at in a different light..I'm talking above and beyond the Dvorak keyboard too as there are many common key strokes used above and beyond regular text language input. One thing I've started doing is mapping some of the most common non-language keys to a place (or combination of places) on the keyboard accessible without having to take one's fingers away from the home keyboard position - this is somewhat in the spirit of the "chord keyboard" conception. For the time being I've gone and mapped out the following keys:
[Enter]     ;l      # I have a big keyboard and I have a sore pinky
[backspace] ;h
[escape]    ;d 
[Page Up]  ;u
[Page Down] ;g
These make life at the keyboard much more effective. Of course I've got my own reasons for mapping things the way I do, everyone is going to have to decide for themselves what works best for them and their system. The more you can get away from reaching for the mouse the better off you are!

If anybody knows of a very light touch AND short distance (key press distance) keyboard please let us know in the guest book.


Sign My Guestbook
View My Guestbook