September 24, 2010

Bulk view

New note-taking workflow with Emacs Org-mode

The new workflow looks like it works better for me. Or rather, it’s an old workflow with new tools. Now, instead of using Windows Live Writer or ScribeFire to post my notes directly to my blog, I’m back to using M-x remember and Emacs, keeping a superset of my notes in text files and publishing selected parts of it.

  • The new workflow
    • M-x remember saves quick notes into a large text file (~/personal/organizer.org), possibly with tags, with diagrams inserted later.
    • I regularly review and file items into the appropriate sections of ~/personal/outline.org.
    • I post selected items to my blog using C-u M-x org2blog-post-subtree, scheduling them by adding a timestamp or using the C-c C-s (org-schedule) command.

    I sometimes use Microsoft OneNote on my new tablet to take notes during meetings, but it’s easy enough to convert my handwriting to text and paste it into my Org-mode file. I still have to think of a better way to refer to images while keeping my file manageable, but a filename is probably okay.

  • A worked example

    This is being composed in a M-x remember window. (Well, remember is bound to C-c r on my system, so it’s easy to invoke).

    After I finish braindumping, I’ll use C-c C-c to save it somewhere.

    I may schedule the post immediately (C-c s (org-schedule) and then C-u M-x org2blog-post-subtree), or tag it for later review. (:toblog: – ready to go, but not scheduled? :rough: – needs more thinking?)

    When I review the items, I’ll copy this into the Geek – Emacs section of my outline.org.

    It feels nice having my notes in plain text, and being able to organize it in more than just chronological order…

  • The history

    From 2001 to about 2006, I kept an Emacs Planner wiki with all of my notes in it. Emacs Remember let me write notes that were automatically hyperlinked to whatever I was looking at, and I added code to Planner that made it easy for me to file the notes both chronologically and topically. Planner rocked. I loved being able to easily hyperlink between topics, and the wiki structure kept pages a mostly manageable size. (My public Planner files are still on the Net, but I need to regenerate the index or enable directory lists so that they’re usable.)

    When I moved to WordPress as a blogging platform in order to make it easier for people to leave comments, I hacked around with RSS to import my posts from Planner into WordPress (ex: http://sachachua.com/blog/2002/). Moving to WordPress meant a change in my workflow. I now had two places to store my notes: Planner and my blog.

    I tried Emacs Org because I liked the way it organized information. In Planner, we’d been struggling with elegant ways to manage tasks and notes that needed to be accessed in multiple contexts. The approach we had taken in Planner was to make copies of the information, but Org had a cleaner way to do it using different views. It was intriguing.

    When I started working at IBM, however, my information workflow diverged. I shifted to using a web-based to-do list and Lotus Notes, posting on an internal blog and an external one, and managing multiple sources and repositories of information.

    I wanted to go back to keeping my notes in plain text, encrypted if necessary, and to have a place where I could keep notes that might not be publishable. I still had to manage multiple computers, but synchronizing systems like Dropbox or SpiderOak got rid of some of the hassles I’d encountered with git. When I found out about org2blog thanks to a test link from punchagan, I modified the code to work with subtrees instead of new buffers, and that solved the blog publishing part of it.