Software

I like to hack. Occasionally I produce the odd bit of code that might be useful to others. Here are some of the fruits of that. Share and enjoy!

RSS Feed Icon

Subscribe to my RSS Feed for notice of updates to this software.

PyLighter

PyLighter is a program that simply highlights the lines of Python source files as they are used by running code, in real time and at full speed. Find out more at the PyLighter page.

OmniFocus

I'm a proponent of David Allen's Getting Things Done (GTD) approach to personal productivity [book, web site]. I rely on OmniFocus by the Omni Group. Besides the most livable interface designs, I love Omni Group's applications for being scriptable. This lets me automate common tasks and tie applications together. Below are some OmniFocus widgets and scripts that I've found useful, divided into a few groups:

You might also be interested in sandro's OmniFocus scripts.

Screenshot of Where To Focus Dashboard widget

Screenshot of Where To Focus

Where To Focus [download version 0.5]

You use OmniFocus to pick your next action in your current context. But how do you decide what context to put yourself in? Introducing a new Dashboard widget that displays a bar chart of the number of available actions in each of your OmniFocus contexts. Click a bar to display the available actions in OmniFocus.

Requirements: Mac OS X 10.5 Leopard and OmniFocus. OmniFocus must be running for the widget to display information.

Populate Template Placeholders [download version 0.7.1]

Templates were the only thing missing in the current version of OmniFocus that were part of my old GTD system. But the scripting interface in OmniFocus is solid enough to implement them!

Here is a script that will take an OmniFocus project, replace placeholders with user entered strings, and adjust all dates by some fixed interval-again based on user input. Installation and use instructions are included in the download.

New in recent updates:

Updated! Verify Next Actions Exist [download version 0.5.2]

This script scans all projects and action groups in the front OmniFocus document identifying any that lack a next action. I use it in my daily reviews to keep all my projects moving forward.

The search differs from OmniFocus’s Stalled Projects filter in two ways:

To install, copy the script into the folder:

~/Library/Scripts/Applications/OmniFocus

creating the folder(s) if necessary. This script takes awhile to perform its analysis. As such, it uses Growl to display unobtrusive progress messages. So, you'll need to download Growl to use this one.

Two separate script, included in the zip file will clear the “Missing NA” suffix from selected items and, optionally, mark them as completed.

Complete and Await Reply [download version 0.1]

This one marks the selected action as complete and creates a new action, like the selected one but prefixed with “Reply on:” and placed in your Waiting For context. Great for email and other actions where you expect a reply.

To install, copy the script into the folder:

~/Library/Scripts/Applications/OmniFocus

creating the folder(s) if necessary. To give you confidence that the Waiting For action was created, this script uses Growl to display messages. So, you'll need to download Growl to use this one.

Detritus of History

I don’t use these scripts anymore, but here they are in case you find them useful.

OmniFocus-Mail Links [download version 0.8.1]

Superceded by OmniFocus’s built-in Clippings service and the Clip-o-tron 3000.

This pair of scripts allows you to:

Installation and use instructions are included in the download.

Send OmniOutliner Items to OmniFocus [download version 0.1]

Superceded by smart copy-and-paste between OmniFocus and OmniOutliner.

I rolled the little script below that takes the selected items in OmniOutliner and turns each into an OmniFocus project, preserving the structure. To install, copy the script into the folder:

~/Library/Scripts/Applications/OmniOutliner

creating the folder(s) if necessary.

Send OmniFocus Items to OmniOutliner [download version 0.1.3]

Superceded by smart copy-and-paste between OmniFocus and OmniOutliner.

This collection of three scripts allows you to create OmniOutliner outlines:

Installation instructions are included in the download.

Send URL to OmniFocus [download version 0.1]

Superceded by clipping service and links.

This script creates an action in the OmniFocus inbox reminding you to read the page that is displayed in the front window of Safari. The note of the action contains the page's URL. To install, copy the script into the folder:

~/Library/Scripts/Applications/Safari

creating the folder(s) if necessary.

Split/Merge Windows [download version 0.1.1]

Superceded by OmniFocus’s Perspectives.

The first script splits the front OmniFocus window into two windows. The second script merges the two windows back into a single window. To install, copy the scripts into the folder:

~/Library/Scripts/Applications/OmniFocus

creating the folder(s) if necessary.