Categories: organizer

RSS - Atom - Subscribe via email

Hipster PDA: GTD Tiddly Wiki

| emacs, organizer, productivity

Miguel Javier said:

GTD Tiddly Wiki is a GettingThingsDone adaptation of JeremyRuston’s
Open Source TiddlyWiki. The purpose of GTD Tiddly Wiki is to give
users a single repository for their GTD lists and support materials so
they can create/edit lists, and then print directly to 3×5 cards for
use with the HipsterPDA.

No kidding. I wonder what we should do to get Planner to support 3×5
index cards sanely…

E-Mail from Miguel Javier

View or add comments

Colored index cards

| emacs, organizer, planning, productivity

I love posting my productivity ideas because every time I do so, I get
comments suggesting even better ways to do things. Today’s tip comes
from Christopher Allan Webber, whose
colored index cards are leaps and bounds ahead of my deck of
plain white index cards. He has some cool ideas here!

He uses colored notecards to separate his notes into categories.

Yellow schedule & project cards
Red todo cards (or just stuff I should copy to planner-mode)
Blue idea cards
Green expenses (writing down stuff to copy to my ledger file later)

He also uses cards that are lined on just one side. On the lined side of schedule & project cards, he
writes down:


Mon 5/9 Lab
Wed 5/11 Critique of Assignment II & I (pics don’t have to be dry – must by Wednesday)
Mon 5/16 Field trip
. . Assignment #2 dry-mounted

On the back, he keeps a TODO list. When a task needs to be done
multiple times—for example, preparing a print of a picture—he adds
extra checkboxes before the task.

I think he writes down non-project-related TODOs and random notes on
red cards, which are easy to pick out in the pack. Right now, I jumble
them all together on white index cards. I’ll try keeping the front
half of the deck for tasks and the back half for notes.

Green cards help him keep track of his expenses. I keep receipts in
front of my index cards using the handy fold-back clip, although an
organized table view would be pretty cool.

I don’t know where he managed to find lined-on-one-side 3×5 colored
index cards. I guess bookstores in other countries are better stocked.
On the other hand, I found 3×5 organizer refills, so I’m not
absolutely deprived.

He was bemused by my mention of “two pages of month templates from a
3×5 day planner”. If you crack open a pack of 3×5 organizer refills,
you’ll get year, month, and day views. Normally a single month would
span two pages, but if you’re using a planner where month views
haven’t been labeled “January”, “February”—in short, blank ones—then
you can use one page to represent one month. If you don’t have
organizer refills handy, simply print the numbers 1 to 15 down one
side of an index card and 16 to 31 on the other. Leave space at the
top for the month name, and space beside the numbers for appointments.

He also had this interesting anecdote to relate about a friend’s way
of planning.

“Oh, I gave up keeping track of to do lists,” she sighed. “These days
I just write everything on my mirror with a dry-erase marker, so when
I groggily stumble into my bathroom in the morning I go, ‘OH SHIT! I

I should do that with a random Japanese quote of the day. I’ll write
it down the day before, then groggily try to read it in the morning.
Or I can scribble my Big, Hairy, Audacious Goals (superb teaching and
quality assurance for computer science education, and strategy
coaching for life planning (must find better way to summarize these
things!)) on my ceiling at home. Ooooh. My ceiling is low enough for
me to do that…

Check out Christopher Allan Webber’s website at . =)

I love swapping ideas with people, so feel free to send in more suggestions!

View or add comments

How I use my Hipster PDA

| emacs, organizer, planning, productivity

After all my experiments with wearable computing
using a one-handed chording keyboard and a speech synthesizer,
I’ve found that the most portable device for me is still a 3×5 pack of index cards bound with a fold-back clip.
Jokingly dubbed the “Hipster PDA” elsewhere on the Net, this low-tech device is surprisingly flexible and easy to use.
I use mine to keep track of tasks and random notes for later entry into my online planner.

My Hipster PDA is composed of:

  • a colored index card with my contact information
  • my inbox: cards with notes on them that haven’t been entered into the computer
  • two pages of month templates from a 3×5 day planner
  • a year calendar for 2005 and 2006
  • my archive: index cards that have already been entered but might still be useful
  • a colored index card with yellow sticky notes
  • a stack of blank index cards
  • a fold-back clip holding all of these things together
  • a black signpen or a mechanical pencil tucked into the fold-back clip

One of the things I’ve found much easier to do with my 3×5 pack of
cards than with a PDA or a Franklin-Covey planner is to keep track of
get-togethers. When my friends and I schedule our next get-together, I
lay the month templates out so that I can see the next 30 days at a
glance. This is difficult to do with a PDA because PDA screens are
small. A Franklin-Covey planner would probably be more organized, but
I like being able to lay things out side-by-side instead of flipping
through pages.

When I need to jot something down, I flip the deck and write on the
last card. After I finish one side of the card, I turn it over, clip
it, and write on the other side. When the whole card is full, I move
it into my inbox.

Index cards are handy because it’s easy to give information away to
other people. Paper gets crumpled and business cards can disappear
into the chaos of a purse or a bag. An index card is big and bright.
I’m thinking of replacing half of my white cards with brightly-colored
cards so that people can easily find information I give them.

I’m planning to do other things with my pack of 3×5 index cards. For
example, I can write my projects on the cards. Reviewing these cards
will reinforce these goals in my mind and remind me to keep making

Index cards totally rock.

View or add comments

BBDB tags

| emacs, organizer, productivity

Right, that tags thing looks like a good idea. It should be easy to
hack into BBDB. I’ll need to actually tag people, and then write an
Emacs Lisp script that scans through all of the records, gathers them
into categories, and then creates the list.

HEY. This might actually work. Here’s a quick test of tags:

ateneo Charles Yeung,Sean Uy,Ryan Kristoffer Tan,Stephanie Sy,Bit Santos,Jerome Punzalan
pisay Jerome Punzalan,clair ching,mario carreon
linux Eric Pareja,Jared Odulio,Chris G. Haravata,levi guerrero,Zak B. Elep,clair ching,Dean Michael Berris,Jan Alonzo
blog Charles Yeung,Sean Uy,Ryan Kristoffer Tan,Stephanie Sy,Aaditya Sood,Bit Santos,Raven,Jerome Punzalan,Richard Plana,Phillip Pearson,Eric Pareja,Jared Odulio,Celsus Kintanar,Jan Michael Ibanez,Mark A. Hershberger,Chris G. Haravata,levi guerrero,Cha Gascon,Sim Gamboa, III,Marcelle Fabie,Zak B. Elep,David Edmondson,edelgado,Dominique Cimafranca,clair ching,Sean Champ,Dean Michael Berris,Jason Banico,John S. J. Anderson,Jan Alonzo
debian Federico Sevilla III,Paul Lussier,Angus Lees,Frederik Fouvry,Zak B. Elep,Joe Corneli,clair ching,Sean Champ,Miles Bader,Jan Alonzo,Jesse Alama
emacs Manoj Srivastava,Paul Lussier,Lukhas,Angus Lees,Mario Lang,Jan Michael Ibanez,Mark A. Hershberger,Frederik Fouvry,clair ching,Miles Bader,Ethan Aubin,John S. J. Anderson,Jesse Alama
planner Paul Lussier,Mark A. Hershberger,Frederik Fouvry,Zak B. Elep,Joe Corneli,clair ching,Ethan Aubin,John S. J. Anderson,Jesse Alama

Use C-o to add a “tags” field to your BBDB records. This should be a space-delimited list of tags (case-sensitive for now).
Call M-x sacha/planner-bbdb-insert-tags-alist to produce a list like the one above.

(defun sacha/bbdb-get-tags (record)
  "Return the tags for RECORD as a list."
  (let ((tags (bbdb-record-getprop record 'tags)))
    (when tags (split-string tags))))

(defun sacha/bbdb-test-tags (query tags)
  "Return non-nil if QUERY is a subset of TAGS."
  (let ((result t))
    (while (and result query)
      (unless (member (car query) tags)
        (setq result nil))
      (setq query (cdr query)))

(defun sacha/bbdb-search-tags-internal (records tags)
  "Return a list of RECORDS matching TAGS."
  (when (stringp tags) (setq tags (split-string tags)))
  (let (result)
    (while records
      (when (sacha/bbdb-test-tags tags
                                  (sacha/bbdb-get-tags (car records)))
        (setq result (cons (car records) result)))
      (setq records (cdr records)))

(defun sacha/bbdb-search-tags (tags)
  "Display all the records that match TAGS."
  (interactive "MTags: ")
  (bbdb-display-records (sacha/bbdb-search-tags-internal (bbdb-records) tags)))

(defun sacha/planner-bbdb-link (record)
  "Return a link to RECORD."
  (or (bbdb-record-getprop record 'plan)
      ;; From a BBDB entry with a plan page; use that. Yay!
      (concat "[[bbdb://"
               " " "."
               (bbdb-record-name record))
              "][" (bbdb-record-name record)

(defun sacha/bbdb-get-tags-index ()
  "Return a list of tags and records."
  (let ((tags-alist '())
        (records (bbdb-records))
    (while records
      (setq tags (sacha/bbdb-get-tags (car records)))
      (while tags
        (setq entry (assoc (car tags) tags-alist))
        (setq list (cdr entry))
        (add-to-list 'list (car records))
        (if entry
            (setcdr entry list)
          (add-to-list 'tags-alist (cons (car tags) list)))
        (setq tags (cdr tags)))
      (setq records (cdr records)))

(defun sacha/planner-bbdb-insert-tags-alist (&optional tag-alist)
  "Insert TAG-ALIST into the current buffer."
  (unless tag-alist (setq tag-alist (sacha/bbdb-get-tags-index)))
  (insert (mapconcat
           (lambda (item)
             (concat (car item) " | "
                      (cdr item)

To think that only took me an hour of leisurely coding (including tagging my contact information)…

View or add comments

Keeping in touch

| emacs, organizer, productivity

How can I keep in touch with other people?

One way is to call people up or write them a friendly note every so
often. I find this difficult to do because I’m still not used to small
talk. I’m also not used to being interrupted for a purely social call
unless it’s someone I know well. I’m much more comfortable dealing
with information. I want to be useful.

First, I need to keep track of people’s interests. When I run across
something that might be useful for them, I can send them the
information. If I also keep track of other little facts I know about
people, then I can make them feel a little more special.

Second, I should regularly refresh my contacts. I should make sure I
keep in touch with people. Maybe I should set goals for how often I
should get in touch with different kinds of people. There are people I
don’t expect further contact with, there are people I should write at
least once a year, and there are people I’d like to correspond with
more frequently.

The next step would be to proactively search for useful information.
If I periodically read about other people’s interests, I will not only
learn many new things and gain more common ground with them, but might
also find resources they haven’t run across before.


I already keep notes on people in my BBDB (Big Brother Database,
Emacs). BBDB makes it easy for me to associate notes with e-mail.
Whenever I read a message from someone in my address book, the BBDB
record pops up and I can review or add notes easily.

However, I don’t regularly review these contacts or make a conscious
effort to stay in touch with a wide range of people. I tend to react
instead of act, and I’d like to change that.


I would like to be able to see my contacts grouped by relative
frequency. This would allow me to flip through, say, all the people I
have yet to contact this year, and randomly pick people to get in
touch with. I need to also keep track of our last few communications,
in terms of both when I got in touch with that person and when I got a

I would like to be able to see my contacts grouped by interest. I can
achieve the same effect by searching through the records for a
particular keyword. This would allow me to easily look up all the
people I should get in touch with regarding a particular topic.

I would like to be able to create tasks based on each contact or group
of contacts. I should be able to list all the tasks associated with a
particular person as well as see the tasks on my day page, perhaps
under the “social” context.


First, I should add two fields to my BBDB records to keep track of the
last time I spoke/wrote to the person and the last time I received a
reply. I can probably configure Gnus to update this automatically for
mail, although I can also do that myself. I can also add an entry for
maximum days without contact, or something like that.

I can add another field called “Next action”, which keeps track of the
next thing I can do for that person.

I can write Emacs Lisp code to extract all the relevant information
from BBDB and prioritize the list.

Hmmm. Sounds useful.

View or add comments

Hipster PDA: Month view

| organizer, planning

Being able to quickly see my schedule for two months totally, totally
rocks. My iPAQ didn’t have the screenspace for something like that,
but my 3×5″ pack of index cards with some inserts from an organizer.
In particular, aforementioned monthly templates make planning
get-togethers so much easier. I can print index cards for these too,
but then it’d be a hassle to design the template and print it
back-to-back. Anyway, this totally rocks.

(I also had another epiphany earlier: we’re actually planning
gimmicks! We have a social life! We have a barkada! Nifty. Now I just
need to make sure I keep in touch with other people I know, too…)

View or add comments

Hipster PDA

Posted: - Modified: | organizer

3×5 index cards totally rock.

View or add comments