in GTD
2 Comments »

Okay, I’m back again, finally, with another installment of my Text Fetish series. You can read about it here: introduction, next action format, retrieval commands.

Today, we’re going to discuss editing functions. Basically, there are two major ways of interacting with the todo.txt file. First, you can open in your handy dandy text editor. I’m a big fan of Crimson Editor, but I’ve also been looking at PSPad (for more light-weight programming stuff), but Notepad is fine as well, as well as any of the other notepad-like editors out there.

The second way to interact with your todo.txt file is by the command line, using a combination of batch files and perl scripts. I have most of my stuff in one huge perl script, with a bunch of batch scripts pointing into it. Yeah, not necessarily elegant, but works for me.

I’m going to introduce the following four commands:

  • na: This command tells the perl script that you want to create a new next action. All it does it output a line to you, reminding you of the proper format, and then sucks in the line that you type in, and append it to the todo.txt file.
  • edit: This command tells the perl script that you want to edit a particular line. Note that every time the script outputs NAs to you, it prepends a number to each line, so that you can identify it. It’s important to note that this line numbers are not tied to specific next actions, i.e., just because “Get Milk” is [5] right now, doesn’t mean it will be [5] the next time you do something. This is important to remember when you start removing things from the todo.txt file. More on that later. The edit command just sucks in the new line you type in, and completely replace the old line with it.
  • pri: This command tells the perl script that you want to change the priority of a line, either adding one, removing it, or changine it. This command prepends the relevant next action with whatever priority you assign. Priorities are just single characters - any character is okay, except for ‘x’, which tells the script that you want to remove the priority altogether.
  • someday: This command tells the perl script that you want to demote a next action to a someday/maybe. All it does is replace the current context, e.g., @home with @someday/maybe. Note that I assume that only one context is used per next action.

Here are the commands in action. First, I’ll see what kind of next actions I’m looking at right now. (Note, it looks a lot better in the console window - the spaceing actually makes sense!)

F:MiscellaneousGTDToDoBlog>get @home=====| @home |=====F:MiscellaneousGTDToDoBlog>getall[ 1] 96 | | (!) | Win lottery!!! @anywhere e:2006-08-22[ 3] 96 | -93 | | Wash Car @errands e:2006-08-22 d:2006-08-25[ 4] 95 | -95 | | [TV] Get Eureka’s next episode (recur: every wed) @online- e:2006-08-22                s:2006-08-23 d:2006-08-23[ 6] 96 | -88 | | [p:Bills] Download transactions and balance books @online+ e:2006-08-22                d:2006-08-30[ 7] 96 | | | [p:Blog] Create fictitious todo.txt @laptop- e:2006-08-22[ 8] 96 | | | [p:Blog] Post about hotkey @online- e:2006-08-22[ 9] 96 | | | [p:Blog] Update Text Fetish #0 with links (pigpog: Publish post) @online-            e:2006-08-22[ 10] 26 | | | [p:Test] Test #1 Start Date @laptop- e:2006-08-22 s:2006-10-31[ 11] 96 | -13 | | [p:Test] Test #2 Due Date @laptop- e:2006-08-22 d:2006-11-13[ 12] 96 | | | [p:Test] Test #3 No Dates @laptop- e:2006-08-22=====| Waiting |=====[ 5] 27 | | | [TV] Waiting for next Hell’s Kitchen @waiting e:2006-10-30=====| Someday |=====[ 2] 27 | | | Learn to play piano @someday/maybe e:2006-10-30

Okay, let’s add a new next action. Say I need to get milk after all.

F:MiscellaneousGTDToDoBlog>naNA Format: (!) [p:Testing] Testing @home e:t s:yyyy-mm-dd d:yyyy-mm-dd ==> [Grocery] Get milk @errands e:2006-11-26F:MiscellaneousGTDToDoBlog>get @errands=====| @errands |=====[ 3] 96 | -93 | | Wash Car @errands e:2006-08-22 d:2006-08-25[ 4] 0 | | | [Grocery] Get milk @errands e:2006-11-26

Oh wait, I also need eggs. Since I just did the get @errands command, I know that my get milk NA is on line #4. So I can edit this line to add eggs.

F:MiscellaneousGTDToDoBlog>edit 4Are you sure you want to edit the following line?line [4]: [Grocery] Get milk @errands e:2006-11-26New version of this line? (Type ‘cancel’ to cancel edit) [Grocery] Get milk and eggs @errands e:2006-11-26 

Notice that there is a confirmation question for you - just in case you forgot that the line numbers can change. If you were to type in cancel, then the todo.txt file is left unchanged. This check happens with most of my commands.

Let’s say that it’s really really important for me to get milk. I’ll use the pri command to do give this next action a bit of a flag.

F:MiscellaneousGTDToDoBlog>get @errands=====| @errands (1 NAs) |=====[ 4] 0 | | | [Grocery] Get milk and eggs @errands e:2006-11-26F:MiscellaneousGTDToDoBlog>pri 4Are you sure you want to change the priority for this line?line [4]: [Grocery] Get milk and eggs @errands e:2006-11-26Priority for this line, e.g., !, A, (x to remove)? (Type ‘cancel’ to cancel this operation) ! 

Now let’s say that the ! priority is a bit too serious for such an errands. Let’s change it to something less exciting, say “C”. Be aware that as soon as you change a line’s priority, the ordering inside the text file is going to change. So, before trying to reprioritize it, make sure to confirm what line you’re on.

F:MiscellaneousGTDToDoBlog>get milk=====| milk (1 NAs) |=====[ 2] 0 | | (!) | [Grocery] Get milk and eggs @errands e:2006-11-26F:MiscellaneousGTDToDoBlog>pri 2Are you sure you want to change the priority for this line?line [2]: (!) [Grocery] Get milk and eggs @errands e:2006-11-26Priority for this line, e.g., !, A, (x to remove)? (Type ‘cancel’ to cancel this operation) C 

But to be honest, it really shouldn’t be prioritized at all, so let’s remove the priority. Again, double check where it is.

F:MiscellaneousGTDToDoBlog>get milk=====| milk (1 NAs) |=====[ 2] 0 | | (C) | [Grocery] Get milk and eggs @errands e:2006-11-26F:MiscellaneousGTDToDoBlog>pri 2Are you sure you want to change the priority for this line?line [2]: (C) [Grocery] Get milk and eggs @errands e:2006-11-26Priority for this line, e.g., !, A, (x to remove)? (Type ‘cancel’ to cancel this operation) xF:MiscellaneousGTDToDoBlog>get milk=====| milk (1 NAs) |=====[ 4] 0 | | | [Grocery] Get milk and eggs @errands e:2006-11-26 

Finally, notice that I’ve been wanting to wash my car now for something like 96 days! It’s probably time to demote this next action. I can do this with the someday command.

F:MiscellaneousGTDToDoBlog>someday 3Are you sure you want to change this line to someday/maybe?line [3]: Wash Car @errands e:2006-08-22 d:2006-08-25Comments for this line? (Type ‘cancel’ to cancel edit) Never going to get this done.F:MiscellaneousGTDToDoBlog>get @someday=====| @someday (0 NAs) |===== 

Doh, I always forget that I have to use the getall command to see my @someday/maybes!

F:MiscellaneousGTDToDoBlog>getall @someday=====| @someday (ALL) |==========| Waiting |==========| Someday |=====[ 2] 27 | | | Learn to play piano @someday/maybe e:2006-10-30[ 3] 96 | | | Wash Car (2006-11-26: Never going to get this done.) @someday/maybe e:2006-08-22 

Notice that the comment I added has been inserted into the Wash Car line.

And that’s all there is for simple editing functions. Next time, I’ll show how I move through the next actions, i.e., mark them done, use recurrence, and pigpogging.

Earlier Posts in this Series:

Categories: GTD, todo.txt

2 Comments »

A little while ago, I received a lovely email from Neil Weisenfeld, inventor of the FileFlag. If you head over to that web site, you can see an excellent description of this invention. I’m sure that anyone who uses hanging folders, and a lot of them, understands the pain that Neil was trying to mitigate when he invented the FileFlag. What is it, you might ask? Well, it’s basically a little flag thingy (my technical terms, not his) that you attach to some or all of your hanging folders. Then, when you take a file out of your filing cabinet, you raise the flag (like on an old-fashioned rural mailbox) and close the cabinet. Later, you can see exactly where your folder lives. It’s basically an ingenious way to remember where files fit, without having to: (a) use sticky notes, (b), leave the draw open with the files push aside, or (c) gasp, refile from scratch.

Neil explained the invention to me, and even sent me a free sample (my first swag, ooooh) to try out. I must say, I like them. Unfortunately, I don’t have hanging folders for all of my files (too many files, not enough space in my filing cabinet). But, I’m thinking that they’ll be good on my on-the-top-of-my-desk-filing-holder-thingy. Here, I don’t have so much a problem with not knowing where a file goes, but, the flag is a good way for me to remind myself that there’s something to look at in a particular file.

Anyway, if you deal with files, use hanging folders, and are looking for a cool gizmo thingy, head on over to FileFlag and check it out.

Small print: Yes, I got some swag. Yes, I’m recommending you check out a product. No, I wouldn’t recommend it if I didn’t think it might be useful, for at least some of you.

in GTD
2 Comments »

I was a lucky recipient of a Scrybe beta invitation last week. I’ve actually been playing with it. I like it, I really like it. It’s very useful for me right now, because I’m kind of on vacation - I’m not doing my “real” work, but I have things to keep track of. And I’m not on my computer all day. So, using scrybe to set up a couple of weeks of stuff, then “papersyncing” or printing it to a lovely calendar/task list was very very sweet. There are some issues (especially since this is just the first part of the beta, and the only functionality is the calendar and task list), but it’s very cool. Here’s my take on it so far:

  1. The concept of labels vs. requires is interesting. Coming from GTD, I immediately used “Requires” for my contexts, e.g., @home, etc. Unfortunately, when it comes to printing out the tasks, they are grouped by label instead. This isn’t as useful. Would be nice to be able to choose to group by requires also.
  2. Can’t add notes to a task, although that seems to be a bug right now - it’s been discussed in other threads.
  3. Printing, or “papersync” is very cool. Very much like PocketMod, but even better :). I prefer the booklet with simple grid, but the other formats are good as well. I like how you can select which lists (i.e., labels) to add. For me, since I’m using labels for GTD contexts, I can choose exactly which contexts to show. I also like how the print menu shows how many tasks are waiting in each label.
  4. There is no ability to search. This is devastating.
  5. I like how you can use natural language to set up dates on tasks, e.g., Call Mom @ in 3 days. Very nice.
  6. There are only four colours available for labelling the calendar events. Although they are very pretty and match the style nicely, I’d rather be able to: (a) add more colours and (b) choose my own colours.
  7. I would love to be able to set up recurring tasks, e.g., two weeks after a task is complete, do it again.
  8. I would love an API so that I can insert tasks and events straight from the keyboard - no mousing required.
  9. I don’t like how the week starts on Mondy - sorry Europeans. But I’m continually off by a day because I’m used to seeing days in a certain place. I think it would be better to have an option for what the first day of the week is.
  10. When I first tried the offline ability, it seemed to work, but recently, I off the grid. I tried to open my scrybe calendar, and was told I couldn’t get there from here. I think that I had forgotten to enable the offline ability the last time I was online? Now that I’m online, it’s no problem, but I’m not confident that the offline will work again.
  11. When printing out tasks, I would prefer a box, instead of a bullet, beside each task (both in the task list, and on the calendar days). That way, you can check the box when the task is completed.
  12. For the most part, I love the look and feel of the application. It’s a slightly different paradigm - e.g., having to go back to all lists, then filtering exactly what you want to see. But it works very well.
  13. I would like the option to not show completed tasks (instead of having to refilter my lists all the time.)
  14. I would like the option to remove or rename the General label. It’s useless to me - would be better if I could rename it to “unfiled”.
  15. I like the ability to import and export text. Very interesting, and might be useful as a way for syncing between different applications (well, initial syncing, not ongoing syncing.)

Categories:

in GTD
7 Comments »

I received the most interesting email the other day. Adrian, over at MCQN.com, sent me an email to introduce an online todo list application, which he developed. What was really interesting was the fact that I can tell he actually reads my blog, and it’s not just a blanket sales email. Reminded me of one of my favourite posts by Scalzi, author of two of the most amazing books in today’s scifi. But I digress.

Anyway, Adrian introduced me to Tedium, and asked me to try it out, even though he realizes I’m in the process of “rolling my own” Perl goodness version of a todo list. Since the email was so nice (and not too nice, if you know what I mean), I checked it out. I have to say, Tedium is quite a nice little online application.

There’s an option for a bit of a sandbox tour, but I found the pre-populated todos, or tasks, or next actions, to be a bit overwhelming. So, I deleted them all and tried out my own. Now this is a bare-bones todo list, but it does offer the ability to tag items, say with contexts, if you’ve drunk the GTD kool aid. Alternatively, you could use these tags for project names. Or both. The sky’s the limit. Tags rule.

You can also assign a due date (yes, not very gtdish, but it is done). Then, you can view all of your tasks, or just those with a certain due date time frame, e.g., in the next week. You can also view by a certain tag, e.g., @home or Smith Project.

I have to say though, the coolest thing is that you can create new views. There’s a handful of layouts, say three columns, or a two-by-two matrix, etc. Choose what things you want in each area, and voila, a new view on your tasks. Here are a couple of the views I tried out:

The other thing I really liked about it is that it took basically zero time to figure out how to use it. For instance, I’ve tried some of the tiddly wikis out there, but I get overwhelmed with trying to figure out how to work them, and how to get tiddlers to open/close/get out of the way etc. Tedium is not like that - it’s usable right out of the box. Very little learning curve to this one.

Contest

Part of what Adrian is looking for is to get more information about “how or why people would or wouldn’t use it”. This program is going to keep evolving, but he needs feedback for that to work. Now, Tedium is free for the first 30 days, and then there’s a $19.95/year (I’m assuming USD here) subscription fee. This may be pricey, considering that there seems to be other, free, options out there. But, on the other hand, sometimes paying for something means that you’re going to get a kick-ass product as it develops further.

Adrian’s given me a coupon for a one year subscription. I’m allowed to give it away if I’m not going to use the program. And I can’t switch to Tedium, even if I wanted to give up my Perl goodness. I just can’t have my tasks online, since I’m offline too often. Anyway, I’m going to run a contest. It’s not going to be fancy. Here are the rules:

  1. Try the program out for a few days.
  2. Write a comment for this post. The available topics are:
    • how or why you would use this program, if you had a year free
    • how or why you would not use this program, even if you had a year free. In other words, what should be fixed in it before you would consider it useful.
  3. I’m going out of town for a couple of weeks, so you have until 19 Nov 06 to get your comment in. I’m going to pick what I think is the most useful comment and deem that individual the winner.
  4. Make sure to include an email address in your comment, in case you’re the lucky winner.

I’m going to point Adrian to this post so that he can see what kind of feedback you have for him. On your marks…get set…GO!

5 Comments »

Update: I absolutely hate working with Windows Live Writer and Blogger Beta. Why can’t they play nice together. Tonight, my lovely post with all its screen shots refused to post. So, I sent the text to Blogger, and then saved all the clips as actual images, then uploaded them. Only to be told that FireFox was crashing, thank you very much. So, I tried again. Siiiiigh. So, if you get this post twice, my apologies. And, whenever you get two posts at around the same time, it’s technology’s fault. ;)

Yeah, I could have just called this post “Shortcuts to Folders”, but it didn’t sound as punchy.

There’s a post on the 43 Folders board (which I just started looking at again) asking for

an app (or a built-in Windows XP shortcut) that allows me to quickly save to or open favorite folders within different applications

A couple of the suggestions included:

  1. ActiveWords - where it seems you can assign an activeword to a folder. Type in the active word, and the folder will open.
  2. SlickRun - freer version of ActiveWords, and a big favourite of mine. I don’t often use it to open folders, but that skill is most definitely within it’s capabilities.
  3. TweakUI PowerToy - where you can customize the start places folders that show up in many Windows applications dialog boxes.

I found both the question and set of answers interesting, especially since I didn’t think that the responses really answered the original question. In my head, I had an image of the save dialog box from say, Word. I didn’t think that either ActiveWords or SlickRun would cut it, since you would be using a magic word to open a specific folder in a brand new explorer window, not navigating to it in an existing window. The TweakUI suggestion was valid, but I thought maybe limited as to how many places you could add.

Then, out of the blue, I got an email from someone with almost exactly the same question:

I’m trying to find some way to save documents to particular folders in several applications (Word, Excel, Stata, etc.). How would I do this? If I need a different magic word for each app, that’s totally fine.

Now, the names of the original poster and the emailer are not the same, but the questions are eerily similar? Coincidence? I think not. Anyway, the personal email to me - yay, I love it when people flatter me, triggered me to craft a response. But not just any response - no - this is a complex question, requiring its own post.

I’m going to look at three different solutions: SlickRun, mentioned above. TweakUI, also mentioned above. And my personal favourite for this kind of thing: AutoHotkey. The solution you choose depends on your requirements. Hmmmm, this sounds like a summary table in the making:

*When I’m discussing these applications, I’m assuming that they’re already installed. They’re not hard to install, just beyond the scope of this particular discussion.

SlickRun

SlickRun is an awesome little program that I use all the time. You create a magic word, say to call a batch file, type in that word in the SlickRun box, and the batch file is executed. Create a magic word that does some kind of DOS echo goodness, and you can append text to a file, nice and simple. Create a magic word to launch a particular application (even with commands) and voila. I’ve got some posts about SlickRun and the goodness you can do with it. Here, I want to talk about how you can use it to open a folder. Very simple, really.

All you would do is create a magic word for every one of your favourite folders. Let’s say that my GTD folder is really important to me (holds miscellaneous GTD stuff, but important nonetheless). I create a new magic word, “gtdfolder” like this:

And that’s it. Now, when I type “gtdfolder” into the SlickRun box, it automatically opens that particular folder in a new explorer window. No screenshot for that one - you all know what an explorer window looks like.

This is a great way to open folders that you want to poke around in. Unfortunately, it’s not very useful when you’re already in a program and want to save a file to that particular folder.

TweakUI Power Toy

Microsoft has some fine, damn fine, power toys out there - very fun and functional. Tweak UI has been on my machine for years. I mostly use it to trim down the list of things I can create with a right-click (e.g., I’m not going to right-click on my desktop and create a new Word document - ain’t done). I also use it on some machines to handle an automatic login - so the computer is protected by a password, but my better half doesn’t need to remember it.

Another thing TweakUI can do is play with the set of places that you find in Open/Save dialog boxes. I’ve never used it for this, but I’m about to try it out. Now, my default Open dialog box looks like this:

Let’s go into TweakUI and see what we can do. Under the Common Dialogs option, you can choose up to 5 custom places. Unfortunately, you can’t tell it exactly what places you want, i.e., a specific folder. So, it’s customizable, but not too much. And, you’re still limited to 5.

Now, I applied these changes, but I don’t think they’re going to show up until I reboot. And it’s not that exciting anyway. So no screenshot for that. I’m a little sad though - I never realized how limited this option was - I always thought you could choose whatever folders you wanted. Bummer.

AutoHotkey

AutoHotkey is a kick-ass keyboard macros-slash-text replacements-slash-scripting utility. I don’t use it to its full potential, but I do use it, mostly for text replacement. And this seems like the perfect solution to our problem. From the Tutorial page:

Finally, keystrokes can also be sent in response to abbreviations you type, which are known as hotstrings. For example, whenever you type Btw followed by a space or comma, the following line will replace it with “By the way”:

::btw::by the way

I’ve always got a monster ahk script running, containing a whack of hotstrings. For example, if I type .da I get today’s date, in short form, surrounded by square brackets. That’s just the sort of goodness you can do. The line above, ::btw::by the way is set up so that as soon as you type btw, followed by a space, comma, period, etc., then “by the way” is inserted instead. I tend to like my hotstrings so that I don’t need to type the ending character. That way, I don’t need to figure out how to get rid of the trailing space, period, etc. (I think there’s a way around that, but I haven’t bothered to figure it out.)

So, let’s make a new hotstring for my favourite folder. It will look like this:

:*:gtdfolder::f:miscellaneousgtd

The * means, don’t wait for a character, as soon as “gtdfolder” is typed, change that to “f:\miscellaneous\gtd”. Now, when I’m in my open dialog box, the cursor is already placed in the “File name” box at the bottom of the dialog box. Simply type the hotstring for my favourite folder.

Before the last letter:

As soon as the last letter is typed. Notice that the last slash is not actually in my hotstring. Windows is smarter than me.

Hit enter, and you navigate to your favourite folder:

Now, what could be easier than that? It also works if you’re a user of the Windows Address Bar (it’s a toolbar that you can have in your task bar that gives you a place to type in directory names so you can quickly navigate to particular directories - easier than creating a new magic word for every directory. Right-click on your toolbar and play with it - it’s sadly under-appreciated.)

Conclusion

For this task, TweakUI is just not flexible enough. SlickRun is fine if you just want to explore different folders. But, if you’re talking about working with Open and Save dialog boxes, then AutoHotkey is the one for you. And, even better, it works in every program’s dialog box, not just those with the “My Places” section.