Main | Site Map | greg.lange@gmail.com
My GTD Tools and Processes

This page describes my system for getting things done. It includes processes and tools for being productive, working on projects, and for remembering things.

This page is a work in progress. This version is just a first stab at documenting what I do.

Index Cards

Index cards are a cheap form of memory. They are small enough to carry anywhere. They are big enough to capture a reasonable amount of text. I write all sorts of things on index cards. I write ideas, things I need to do, phone numbers, grocery lists, jokes, and anything else I want to remember.

I use unlined cards. I have index cards stashed all over the house, in my car, at my desk at work, and in my disc golf bag. I always have cards to write on.

Hipster PDA

A Hipster PDA is a stack of index cards clipped together and meant to be carried everywhere. My Hipster PDA looks like this:

IMG_1834

Each card is labeled in the upper left corner. The label describes the content of the card. I write on the front and back of the cards. Every card has the same label on the front and back. A card looks like this:

card

I keep the cards in alphabetical order by label. In addition to cards with content, I keep plenty of blank cards. The covers of the PDA are cards that I've doodled on. I change these covers regularly since they wear out fairly quickly.

I periodically remove cards from the Hipster PDA. I either type the cards into a text file, put them in a holding box, scan them in, or toss them when they don't have any more meaningful content (like after buying all the items on a grocery list).

If I process or do part of a card, I just draw a line through that part.

Holding Boxes

I use holding boxes to get cards out of my Hipster PDA. These boxes are the right size for index cards. The ones I have now look like this:

IMG_3698

A card goes in a holding box if I want to get it out of the PDA and I don't have time to process it or if it's not worthy of going into a text file.

Scanner

I sometimes scan cards and other notes for future processing. This helps get rid of the physical clutter of a box full of cards or a pile of notes.

Process Directory

Cards and notes that are scanned are put in a directory for processing. Once I process an image, I delete the file. When I have a little extra time and nothing better to do, I'll process some files.

Wiki Text Files

I use text files to store my notes. The files have camel case names. Each file contains content related to one idea, topic, or project. One text file can refer to another by enclosing the other file's name in square brackets. This reference can be in camel case or it can consist of words with spaces between them.

These text files form a personal wiki. It sort of works like the Portland Pattern Repository's Wiki.

Simple Text Markup

To give my text some structure, I designed a simple text markup scheme. Essentially, sections of text are enclosed in curly braces. These sections have one or more tags. Tags are names that describe the section. Tags can have arbitrary attributes similar to the attributes of html tags. Sections can be nested arbitrarily.

I use this markup language to do things like embed flash cards in my notes, record the source of some block of text I copied off the web, mark some text as something I'm actively working on, and embed lists of items.

Using this simple text markup, I'm able to write python scripts to do useful things to/on/with the text files. For example, I have one python script that syncs all the flash cards with my flash card program's data file. I have another python script that counts the words only in sections that are chapters in the novel I'm working on. I have another python script that prints any active section.

I intend to produce another web page describing this markup language in more detail. I'll also provide the python code I have to do useful things with marked up text files.

Subversion

I keep the wiki under source control. I use Subversion. This allows me to keep my notes backed up. It also lets me work on my wiki from many computers. I also can retrieve every saved version of every file.

Abbreviation Scheme

I've memorized about one thousand abbreviations for common English words. I use these abbreviations when I do IRC, instant messaging, or type text. There are many pieces of software that have a feature called "abbreviation expansion". Using software with this feature, abbreviations are expanded into the words they are short for as they are typed. So, for example, I type "bc" and "bc" is replaced by "because".

I also use these abbreviations when I write notes in my Hipster PDA. Notes written this way are very easy to type in because you can type the abbreviations very quickly without thinking about what they mean.

I intend to produce another web page describing my abbreviation scheme.

Emacs

My text editor of choice for entering text into my wiki is Emacs.

Emacs is easily customizable and it has a large number of very useful features. I use Emacs' abbreviation expansion mode, fly spell mode, and refill mode. With the "move-to-file" command it's easy to move a block of text between files. I use "skeletons" to make typing the text markup described above easier.

I intend to produce another web page describing in detail how I use Emacs.

Mnemosyne

To learn/memorize new things I use Mnemosyne.

Mnemosyne is sort of like a flash card scheduler. It attempts to show you the cards you need to see each day and only those cards. While you go through your cards, you tell Mnemosyne how well you know each card. Mnemosyne uses that information to schedule cards for an appropriate day in the future. Each day you'll need to review a fraction of your cards. For example, I have over 2,000 cards and I only have to review about 30 cards each day.


Main | Site Map | greg.lange@gmail.com