Fred Stluka on 11 Nov 2009 05:48:23 -0800

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] PLUG North question on task management


Thanks for posting this.  Looks like I missed a great talk by JP.
Hopefully, we'll have a repeat at PLUG West soon.

I followed the link to Gina Trapani's site and looked into her
todo.txt project.  Very interesting!  Here's what I wrote to her
after I read it:


Todo.txt looks like a useful tool.  I've kept text files:
    remind.lis (calendar)
    todo.lis (like your todo.txt)
    done.lis (never delete from todo.lis -- move lines here instead)
    phonebook.lis (contacts)
for 25 years now.  I process them with tools like grep, sort, etc.,
and with text editors.  I've sometimes written CLI tools like jot to
jot down a thought, or status, or what I was doing, with a timestamp
into my daily log, so I can look back later and recover my context
stack after an interrupt or see what I was working on that day when
filling out a time card or computing billable hours.  Years ago, when
working on a dumb terminal on VAX/VMS, and having no multi-window
capability, I automated the process of prompting myself for a jot
each time I closed a nested shell to return to the previous task.
I'd be working on something, and someone would interrupt, so I'd
launch a nested shell, deal with the interrupt and then close the
shell, being automatically prompted for what I'd been doing during
that time, and then returned to my previous environment (a text
editor, or e-mail, or command line shell, or whatever).

Text files are definitely the way to go.  Very accessible, and
very scriptable.  Never a concern about corruption (my automated
backups do a diff of my admin text files so I can review them
before overwriting any previous backup).  Never a concern about
migrating from one proprietary binary format to another.  I started
typing in my phone list 25 years ago.  I eventually added addresses,
keywords for searching, notes about the people, etc.  I've never
lost a single bit of contact info.  My entries have become multi-
line, so I wrote my own grep that finds a match and echoes an
entire entry, not just the single line.  I put a month/year on
each line so I know when I last confirmed/updated that phone
number, address, etc.

25 years ago, I created a command called x to look up the phone
extension of someone at work.  Each line of phonebook.lis was a
name and a phone number, so I could type:
    x joe
    x 5412
and see the echoed line(s).  Later, I added more info to some/all
lines and could search by more fields.  Then I enhanced x to search
not only phonebook.lis, but also remind.lis, todo.lis, done.lis,
past years archives of done.lis, my e-mail address book and mailing
lists, my list of tech skills of people I know and refer business
to, phone lists and org charts of various companies where I've
worked, my list of acronyms, lists of acronyms in use at various
companies, my e-mail message archives, and even hitting various Web
sites to look up an acronym or the definition of a word or to just
plain Google it.

My x command has evolved into my "tell me about this thing" command.
It's great while I'm on the phone with someone and want to know all
about them:  birthday, anniversary, when we last had lunch, names
of their spouse and kids, recent conversation notes, projects we
worked on together, etc.  Too much info sometimes, so now x calls
some subset scripts like: notes, lists, skills, acronym, define,
etc. which I can call directly if I want less info.

I think you're on the right track, but you'll definitely need to
add multi-line capability and entire entry matching.  As part of
the multi-line, you'll want a way to record details for each task:
original objective, progress each day, remaining work, ideas for
the future that may eventually become their own tasks, current
priority, etc.

Good luck with it!

BTW, to learn more about me, check out:
where you'll see my resume, my Tips pages, my links page, etc.
Also, see:
to learn about my "Tip of the Day" type mailing lists.  Since
you seem to be working in Java on Windows, you may especially
like the Java tips, and the tips about writing sophisticated
batch files in Windows.  For example:


Fred Stluka -- --
Bristle Software, Inc -- -- Glad to be of service!

Kevin McAllister wrote:
Last night JP asked a question about any suggestions for task  
management and noted a system he'd created using text files and bash.   
I couldn't think of it then but there is a project called "todo.txt"  
that does something similar there may be some ideas you could learn  
from there.

The other parts of the conversation were related to how to manage the  
myriad things flowing at  you as interrupts through the day.  I just  
wanted to comment in my typical wordy fashion on that question with a  
description of how I manage it.

First for anyone not familiar with David Allen's book Getting Things  
Done and if you've ever felt overwhelmed by your workload, I very  
highly recommend you pick up a copy of the book and read it.  It lays  
out a practical system for dealing with pretty much everything.

So like JP I have a list of many/many tasks organized both by project  
and context in a MacOS application called OmniFocus.  (Context is  
physical location or needs in order to do the task, e.g. @Computer,  
@Phone.)  And I also typically create a daily or weekly list of  
priorities.  A way to view this list is, if magically I get no email,  
phone calls or pop-ins during the next 5 days this is what I'll do.   
I'll typically print that out or handle it in it's own list so I can  
maintain focused on it throughout the week.  And for motivational  
reasons I try to estimate a list I'll be able to accomplish completely  
assuming the level of urgent issues I need to deal with is about  

So how I deal with interruptions.  First I've chosen to fight to  
sandbox my really creative work from them.  So I've been working to  
institute Do Not Disturb time blocks with my co-workers, and then to  
enforce it upon myself by logging out of IM, IRC, quitting email and  
twitter clients and blocking every kind of notification.  This has  
been very worthwhile and I recommend it but I know depending on your  
work and responsibilities it could be impossible.

Second when they do arise I make a conscious decision to recognize  
that I've been interrupted, and that to return to my current task will  
take work.  So I have a text file open always called logbook.txt when  
interrupted I write down in a full grammatically correct sentence the  
next thing I need to do on that task.  The full sentence part is  
important, at the time of the interruption it is completely impossible  
for you to understand that you won't be in the same mind context when  
you return to that task, and that a one or two word note that says,  
"search library" or "Fix server" will be zero help in recapturing the  
context, where a full sentence captures a complete thought and re- 
reading the sentence will help you recapture some or all of that  
context.  So people have come to expect that when I'm interrupted it  
will take 20 seconds for me to jot down a state dump before I switch  
contexts and help them.

Finally it's important to decide explicitly when interrupted how you  
are going to handle the new thing:
a) I'm going to work on that now.
b) I can't do that now, but I'll get to it today.
c) I am not going to decide about that now.

The case of 'a' is obvious in case 'b' you need to decide now, what  
you are going to do (what's the next physical action) and estimate how  
much time is required and capture the action on your "due today" list  
or a calendar to trigger when you need to start if you are going to  
actually get it done today.

In the case of 'c' you need a trusted place where you can record that  
new stuff and know you will sweep through it eventually and make your  
project and next actions decisions about it.  For that OmniFocus has  
an INBOX function, but it would be simple to set up an INBOX or  
INCOMING project in any other tool and make a habit of processing that  
stuff at least daily.  It's also important to keep in mind that as you  
work you can interrupt yourself as you make new discoveries about your  
current task, you should treat this these interruptions similarly.  I  
wrote about that particular problem earlier this year here:

Also a final note, the full sentence idea I use for capturing mental  
state is based on something I learned from Jean Moroney of Thinking  
Directions: It's based on her  
technique called "Thinking on Paper."  If any of the stuff I was  
talking about above is of interest I'd recommend checking out her  
work.  She periodically gives a free teleclass called "Jumpstart your  
Thinking" which gives you a low risk way to evaluate what she is doing.

Hope this is helpful.

Philadelphia Linux Users Group         --
Announcements -
General Discussion  --

Philadelphia Linux Users Group         --
Announcements -
General Discussion  --