TextMate Book Review

April 19th, 2007 No Comments »

200704192215

I have written about TextMate before. In a nutshell, I find that TextMate is a great text editor for OS X (I think it is the best, but I don’t want to start a flame war). One of the things that makes it such a great application is its extensibility. Even a user with limited coding skills (like me) can easily add new features or modify how existing features work. I created a GTD bundle for it, using other bundles for code and coding examples. Perhaps the most difficult part of creating a new bundle is sorting through the TextMate blog, wiki and mailing list for help. The answers are there; Allan Odgaard (the creator) and the mailing list regulars are extremely helpful. The only problem was that you needed to search for answers. I say this in the past tense because a new book brings all of the answers together.

TextMate: Power Editing for the Mac, by James Edward Gray II, is more than a collection of the tips and tricks that you can find on the various web sites; it is a users guide and a programming guide too. The users guide section is great – James really emphasizes the importance of key commands. This is good for those coming to TextMate from the emacs world and miss the arcane “control-c control-x” functionality. It is also good for new users who like TextMate in general but may be overwhelmed by the plethora of key commands. The book them goes into a discussion of the basic bundles that everyone should know.

The second half of the book is the programming guide. This starts with the basics of snippets and tab commands and goes on to walk through creating language files – the place where the grammar of a language is described. The importance of language files is that they tell TextMate how to highlight text in a given language. One nice feature is that James builds a non-trivial example of a bundle as he goes through this section. The example bundle is like a picture – it’s worth a thousand words of explanation!

The bottom line is that this is a great book. I thought I pretty much knew everything I needed to know to develop bundles for TextMate, but I was wrong. After going through the book, I realize that I had only scratched the surface of the features of TextMate. I now have many ideas for new and improved features for my GTD bundle!

Updates

March 26th, 2007 No Comments »

Things have been busy lately, but I’ve still been plugging away on things. The first thing that I will be writing about is a program I cobbled together to synchronize iCal calendars. The other extracts information from iCal to Remind. I should have something up on them in the next few days.

A new approach to a pensieve

January 1st, 2007 No Comments »

The two components of GTD, in a Harry Potter sort of way, are a Rememberall and a Pensieve. The Rememberall is a task manager, and the Pensieve is where non-actionable data are kept and retrieved.

As I’ve explained in other posts, I modified the TODO bundle in TextMate to make the GTD bundle, which is my Rememberall. I’m still looking for a Pensieve. I’ve tried DevonThink Pro (DTP) for about a month, but it really seems too cumbersome for me. One of the problems for me is that you can link folders (that part is cool) but you must manually synch the folder – I’d really like to see it automatically synch. The other issue for me is that DTP indexes almost every file. I still need to use another app to find everything.

200701011612

So, my new Pensieve is the Finder (using Houdaspot as the search engine). Also, I am using Mori to collect random thoughts and web clippings. What makes this setup special is that Mori is a CoreData application, so Spotlight (and therefore Houdaspot) indexes its entries. What this all means is that Houdaspot is my one-stop-shop for all my data! I’ll write more after I’ve tried it for a while.

 Users Mike Library Application-Support Ecto Attachments Mori .

Taking a drink of the kool-aid

December 22nd, 2006 No Comments »

200612222042

Well, I succumbed to this sale and bought a copy of DevonThink Pro (DTP). It’s an expensive application, even with the discount, but I think it’s worth it.

A discussion on another blog laid out the concept of a pensieve as a GTD collection tool. Well, DTP is my pensieve. I can collect articles from the web, as text files, web archives, or simple links; I can sync with my documents folder; and I can also link in my E-mail inbox and address book. Basically, I can add in anything that I want to reference in one place. The feature that is supposed to make DTP shine is its Artificial Intelligence search engine. I’m still learning my way around this, but it seems to work as advertised.

Anyone else tried DTP?

First impression: Leatherman Juice XE-6

November 14th, 2006 No Comments »

The kids’ school had an auction Saturday night, and I won a Leatherman Juice XE-6. I have used Leatherman tools for more than 15 years. They are a pretty good knife, and a great all-around tool, and this is one of the new breed of Leathermen (Leathermans?).

It seems to be an interesting compromise, it is shorted than my old PSTs, but almost twice as thick and heavier. The extra weight is a result of several new blades being added, including a serrated blade, an awl, and a cork screw. It also has a nice pair of scissors and a diamond file.

I’ve had it for a couple of days now, but haven’t needed a knife yet, so I’m not sure how it is going to work out. Has anyone else tried on of these new tools?

Update: I’ve been carrying this knife for about a month now, and I’m pretty happy with it. Yes, it is still heavy, but the blade configuration makes it much more useful as a knife – not just as a pair of pliers. I used to carry a Leatherman for its tools, and a folding knife for a knife blade. Now I can get by with just the one knife, so I suppose it saves weight after all!

Tangerine

November 10th, 2006 No Comments »

Tangerine, from the Potion Factory, is a very interesting application. It somehow analyzes your iTunes library and can create custom playlists based on the tempo of the music. I’ve played with it a little, and the one feature I’d like it to have is the ability to limit which part of the library is used for the playlist selection. Otherwise I end up with a fast Barry Manilow song getting mixed in with Kiss and Golden Earring (actually, my iTunes library is 100% Barry Manilow free – really). Has anyone else tried Tangerine?

A thought on GTD applications

October 31st, 2006 No Comments »

I have tried a countless number of GTD apps over the past couple of years – web based, browser based, Microsoft Office based, text based, and so on. My current favorites are my TextMate GTD bundle at home, and Thinking Rock at work.

I think that my requirements for a GTD app come down to three criteria, in this order:

Ease of data entry. This is what kills most applications for me, and probably what makes text file based GTD apps work the best. I hate the “type, click, click, type, click” data entry model that most GUI based apps use. Plain text with tab completions seems to be the most natural way to go. Thinking Rock is GUI based (in Java, no less) but I can enter a bunch of tasks with no clicking – that comes later in the TR process.

Ease of task management. This is where text based apps can lose out to slick GUIs. TR makes it very easy to rack and stack tasks. The TextMate bundle may not be as flexible, but it does what I need it to do.

Portability. I used to think that this was extremely important – at one time I carried a full version of emacs on a thumb drive so that I could access my GTD files anywhere. Now, I’m somewhat happy with printing out my To Do list every morning and annotating on paper during the day.

What other metrics should be used in evaluating GTD software?

GTD Bundle Progress

October 31st, 2006 No Comments »

I am still working on a script that will allow a user to send a task to TextMate from QuickSilver. Adam Potthast sent a good example, but I’d like to add some functionality to the script. Specifically, I want the script to figure out what project and what context to assign to the task. So far, I have a long way to go.

I have tweaked the active list view to not show “wait” tasks. I think this helps me focus on what I need to do now. As always, feedback is highly encouraged.

GTD with “Metadata Markdown” Syntax

October 8th, 2006 2 Comments »

Last week, I read Patrick Rhone’s article on GTD implementation that inspired me in a couple of directions. First, it was an awesome description of how to implement GTD from soup to nuts. Everything from how to build a to-do list to how to capture non-task data (an area that I have neglected, but am working on another posting to discuss). It was a great overview that took all of David Allen’s concepts and provided concrete examples. But, the other inspiration (the topic of this post) is his “Metadata Markdown” syntax for lists.

In a nutshell, this syntax works to provide “state” (my word, not Patrick’s) to a task. I have reversed two of the items, but here they are:

  • (Dash): Undone Action Item.
  • (Plus): Done Action Item. -> (Right Arrow): Delegated (with a note to whom and the date). <- (Left Arrow): Waiting – (i.e. for another action). ^ (Triangle): Data Point.

The difference between this and what Patrick devised is I reversed “Delegated” and “Waiting.” To me, the right arrow gives me the impression that I have passed the task along, where the left arrow better fits my thinking for a task that I am waiting on. I also added one more item:

  • (Asterisk): Project.

So that I don’t have to keep writing “Patrick Rhone’s ‘Metadata Markdown’ Syntax”, I’m going to call it “OrgFu”

So, why am I writing about this? I developed a GTD bundle for TextMate over the past few months that was fairly close to Patrick’s model, and I thought his syntax would improve my bundle.

Now, how to setup this bundle.

Please read through this post. It describes the basics of how to get the bundle and set it up (Note – it is currently in the TextMate Subversion repository as “GTD2″ but this will probably change in a week or so). I still need to update that post to reflect these new features, but it works for now. Please also note that previous GTD bundle users will need to use this new contexts.gtd file with GTD2.

Now, to begin using this bundle.

Items are entered using a shortcut key and then pressing “enter” – just like before. The big difference is that the item now appears with an OrgFu prefix. Usually that is the undone action item state (-). While the contexts file has lines for DELEGATED (->), WAIT (<-) and DONE (+), they are there for generating views – you shouldn’t add a task in any of these contexts. Here are a couple of screenshots of the bundle in “action.”

A GTD project file
Figure 1. A basic GTD project file.

OrgFu project file

Figure 2. Another sample file.

And now, where OrgFu shines.

In the old days (last week), changing the status of a task changed its context, like from TASK to DONE. That’s OK, but if you want to keep a long term file of past actions, this may become confusing – “did I call him, or did I E-mail him?” Now, thanks to OrgFu, the context never changes; only the state changes.

The various to-do list views from GTD are here in OrgFu, but I think they look even better with the OrgFu syntax. Also, they work better for printing and using during the day.

Task View

Figure 3. An Active Task View

GeekTool

Figure 4. What the GeekTool output looks like.

But what if you’ve been using GTD already?

You may be hoping that there is some cool AppleScript to convert from GTD to OrgFu. That means that you don’t know me very well. You’ll need to manually add OrgFu syntax to your existing GTD files. It took me about 5 minutes to add the syntax, and a few more minutes to determine that the views and GeekTool export were working properly.

So, what’s next?

Well, I just finished the initial build of this bundle. It will probably take a week or so to work out the bugs. The goal is for OrgFu to replace my original GTD bundle. As always, please write me to let me know what you think about this buundle and where you’d like to see it go. You can contact me at mike at panalaska dot org.

GTD Bundle updates

August 27th, 2006 No Comments »

Well, if either of you are still reading, I am still alive and have new, cool features to announce for the GTD Bundle. First, I have introduced a new concept called an exclusion list. Basically, it allows me to hide a project from my overall task list. For example, I want to build new bookshelves, but I’m not ready to do it, so I can plan out the project but not see it on my task list. The second, minor feature is that the help file actually reflects how the bundle works.

You can see my updated overview here.