notes on "the art of getting things done" by david allen


V/EditOps? Class(10812): tickler V/EditOps? Class(10812): separate action from non V/EditOps? Class(10812): one next action for each project V/EditOps? Class(10812): st proj

even unimportant todos written down? 4 mental peac

next action

car tire example. mtng w banquet committee johnnys bday receptionist slide presentation examp

next PHYSICAL action todo by context

purpose values vision

Plans are worthless, planning is invaluable. --Dwight Eisenhower

purpose vision brainstorm organize

(in broad organizational planning, "vision" often refers to what i'm here calling "purpose"; "mission" is then a more specific/narrower "purpose" node that starts the detailed planning process)

even unimportant todos written down? 4 mental peac

next action

car tire example. mtng w banquet committee johnnys bday receptionist slide presentation examp

it's good to have a way to "mail yourself" a reminder that will appear on a particular future date. you can use an auxiliary calendar, or a 'tickler file', which is a file with 31 folders, one for each day of a month, and 12 folders, one for each month. the current day's folder is in the front; each day, you take the stuff out of the current day, put it in your inbox, and put the iempty current day's folder into next month's folder. at the end of each month, you put this month's folder in back, and put next month's in front, and take everything out of it, and put it either in your inbox or in the day folders.

the key metric for how much organizational overhead you need is: you want your head to be completely clear of remembering stuff to do

shortterm projects separate actionable


i am put off by the large amount of space spent in the "Welcome" and in Chapter 1 telling you how great the system will be. also, the book itself spends lots of space trying to motivate you rather than just explaining the system, which is annoying (even though it might be necessary -- perhaps disorganized ppl like me already kno what to do, we just dont do it).

when you remember things to do in your head, it creates stress -- therefore, everything should be stored in external memory

there are items that you want to handle but you havent decided what to do with them yet.

some of these, you will eventually decide to ignore.

5 steps of making todo lists: " collect things that command our attention; process what they mean and what to do about them; organize the results, which we review as options for what we choose to do "

3 requirements on todo collection mediums:

tickler file/calender

workflow for "process" step (in psuedo-Jasper notation):

process =
  collection! processCollection

processCollection = collection :
  collection processItem map

processItem = it :
  it whatIsIt
  actionable it // if
      action = it nextAction
      action duration < 2 minutes // if
          action do
        action delegable if
            action delegate
          [it action] defer
    it trash? if
        #no action needed; discard this item
      it ref?
          &refFiles += it
        &somedayMaybe += it

nextAction = it :
  proj = it whichProject  # my addition
  &plans.proj' nil? // if
      &plans.proj = it plan
  &plans.proj nextActionInPlan

delegate = action :
  action actuallyDelegate
  &waitingList += action

defer = [it action] :
  it dormant? calender
  (&calender += [it action] or (&nextActionsList += [it action])

note: he emphasizes the steps

  proj = it whichProject
  &plans.proj nextActionInPlan

that is, for each action item, (1) identify which project it is part of or what the desired outcome is, and (2) identify and write down what the next action required is

a data structure from a program i saw for GTD (written in proto-Jasper):

Activeness = ['active 'inactive] could also have said $'[active inactive] or use keywords Activeness = [ACTIVE INACTIVE] could also have said $'[active inactive] Activeness2 = [CANCELLED NOT_STARTED WAITING_FOR STARTED DONE]

many'-1' project.actions action.project many'-1' category.projects project.category :: str action.status :: Activeness2 action.priority :: [-1 0 1 2] action.note :: str action.duration :: duration action.inactiveUntil :: date

action.dueDate :: date' action.alarm :: date' action.context :: context [] action.contacts :: contact [] action.repeatDuration :: duration' :: str :: str project.status :: Activeness2 project.nextAction :: action' project.inactiveUntil :: date project.dueDate :: date' project.nextReviewDate :: date' project.note :: str
SOMEDAY before this, action doesn't need to be thought about

category.status :: activeness :: str [] context.location :: geolocation

todo = allActions todo.sort([DUEDATE STATUS])! general sort, by fn, is sortWith. this is sort by keys; its given a list b/c there can be secondary sorting criteria
is incorrect syntax, that's OR
(action.status in [NOT_STARTED STARTED]) & (action.'project -> action.project.status == ACTIVE) & (action.'category -> action.category.status == ACTIVE) & (action.inactiveUntilDate <= now)

durationSum = todo (.duration) map sum durationPriority2Sum = (.priority == 2) filter todo (.duration) map sum durationPriority2Sum = (.priority == 1) filter todo (.duration) map sum durationPriority2Sum = (.priority == 0) filter todo (.duration) map sum durationPriority012Sum = (.priority >= 0) filter todo (.duration) map sum

todo (.tillDueDate = .dueDate - now) map !

waitingForList = allAction

(action.status == WAITING_FOR)

somedayProjects = projects (.inactiveUntil == SOMEDAY) map somedayActions = projects (.inactiveUntil == SOMEDAY) map

nextActions = (.nextAction) allProjects map uniq nonil

in action.status, what is "status"? a keyword (global symbol)? a (local) symbol, taken from the same namespace that "action" was defined in?

/ note: (.x == 5) => (?.x == 5)