FMP: Pwning ubiquitous capture with self-creating / self-sorting text files

Or: If appending to any of a dozen or more important text files using one Quicksilver append trigger is wrong, who's got TIME to be right?

By Nick Fagerlund

UPDATE 6/8/06: HEY! So, people have been sending me stuff, and it's quite cool, but I haven't posted any of it on the website. I was actually thinking of doing some of that this week, since I'm under-UNDER-employed until next, but, er, my iBook kind of died horribly this Wednesday. (Late-model G3. Logic board. 'Nuff said.) It's in the process of being revived, and I have all of my data, but it's probably going to be a little longer before I can do anything FMP related. Thanks and HUGE apologies go out to everyone who's sent me cool and interesting programs; I wasn't expecting this little one-off to become a "project," so the warmness of the response has been really fun to watch. More soon!

Current version: fmp1.3.rb
Previous version: fmp1.2.rb

"Fiendish Master Plan" is just a not-particularly-innovative note-taking practice, combined with a dog-simple Ruby script that takes care of the boring parts. I'm pretty proud of it regardless. The name resulted from Historical Reasons, and can be, nay, ought to be, safely ignored.


May 10, 2006: This is why open-source is the shit: you make something that pretty much works the way it's supposed to, you chuck it online, and then someone like David Douthitt comes through and rewrites the whole thing to make it stronger, faster, and better, for free. Thanks, David! Man, I love the lazyweb. Everyone else, enjoy version 1.3, available above.

New in version 1.3:

Executive summary!

So basically, you can create and add to an arbitrary number of running lists (the names and nature of which are up to you) from within a single text file.

Why is that even useful?

It kind of depends on your personal levels of laziness and recalcitrance. But the basic idea here is that if your tools put up any sort of resistance, you're going to be slightly less likely to use them when you should, which is bad. (A lot of people seem to come to this idea through reading David Allen.) Your simplest tools should be fun. If I already know exactly what file I want to append a new note to, clicking through my filesystem until I get to it isn't fun, and is in fact rather tedious. You'll still catch SOME of your great ideas, even if you do have to go through some rigamarole to get them down... but not as many as you could be catching. It's the difference between fumbling through your backpack for an old takeout menu and simply pulling a notecard out of your back pocket.

Power up!

FMP is basically software-agnostic, but I like to use it with an OSX program called Quicksilver. If you make an "Append text..." trigger that points to your main notes file, FMP will let you add to any of your note collections using a single hotkey. Adding another book to your "find this at the library" queue, putting lentils on your shopping list, starting a new file for features you want in your next cellphone, collecting plot and character ideas for the five different stories you're working on... you can do it all by simply hitting one muscle-memory button combination, typing a line, and hitting return. It's fun. Feels kind of badass, actually.

Currently, I have four related triggers set up:

More detail?

It's going to be easiest to explain this through examples. FMP dictates that you've got one file (~/Lists/fiend.txt, though that's easy enough to change) that, one way or another, catches your random notes. Say the last five lines you've appended to it look something like this:

If you're stressing out this weekend, make some cookies! Invite G&R, make it an event.
^buy Sichuan peppercorns
^seekmusic Neko Case - Fox Confessor Brings the Flood
Where is my Sleater-Kinney poster?
^seekbook some Steven Brust
Then you run fmp.rb, and that section of ~/Lists/fiend.txt looks like this:
If you're stressing out this weekend, make some cookies! Invite G&R, make it an event.
Where is my Sleater-Kinney poster?
In the meantime, the line:
Sichuan peppercorns
has been appended to ~/Lists/buy.txt.
Neko Case - Fox Confessor Brings the Flood
some Steven Brust
have gone into seekmusic.txt and seekbook.txt, respectively. If any of those files didn't exist before running the script, they do now.


Well, rules and things to know.


If you've any business running Ruby scripts and making append-triggers and stuff, you probably already know this, but just for good measure, here's how to get FMP running properly on your system. First, the "I know Unix" method:

And now the "I don't know Unix" method:


Yeah, sure, email me! (Yeah, that's a Turing test. Sorry.)


Are you the same Nick Fagerlund who wrote that version of Minesweeper with kitchy 3D graphics?

Surprisingly enough, that was actually some other part-Swede named after the patron saint of Russia. Yeah, I know.

You doin' anything after the show?

Naw. Wanna go get some drinks?