Howardism Musings from my Awakening Dementia
My collected thoughts flamed by hubris
Home PageSend Comment

My Note Taking System

Perhaps I'm a bear of very little brains, but I extend my cranial capacity with notes. Always have. New job? New notebook. Soon, it'd be filled, and I'd grab a new notebook.

Looking things up in a notebook is nearly impossible. I've tried lots of ideas: clipboards, indexes and multiple colors. Of course, the best searching is done by a computer. But that introduced its own complications. Notably, anything stored on the company computer became unavailable after the doors closed.

With laptops and cloud storage, my note taking system has evolved.

Text Files

While I appreciate fancy applications, like Evernote†By the way, the Evernote app, its interface, its cloud storage, its ability to store stuff other than notes, is really slick. So if you don't want your data as text files, it is easier to use it. , I need my notes in text files (not a proprietary format). Then I can edit my notes with Emacs or anything else that strikes my fancy. Also, text files allow me to take advantage of grep, scripts and other command line tools.

I'm sure I don't need to mention that text files stored in a Dropbox or Google Drive directory are easily shared between computers and devices, but text files are easy to check into a Git repository. Versioning like this also allows for discreet checkpoints in case of conflicts or disasters of the stupid variety.

Tagging

At first I organized my notes in folders, but this means that without effort‡‡Symbolic links are one approach , a note can only be in one folder. Sometimes a note starts out being useful for work, but grows. I now tag my notes.

The Mac file system can store meta information with a file, and a Google Code project, OpenMeta, makes it easy to add tags for multiple applications (including the Finder and Spotlight).

Sharing

My notes are written with Markdown format, and since those type of notes are easy to convert to HTML, they can be easily consumed by friends and collegues.

Once you add jQuery to the list, Outer Space is the limit.

For instance, when I need to do a presentation, I write it up as a markdown-formatted note with each slide separated by a single ! character. I then use my version of the Markdown Presenter project.

For another example, I often run little RPG campaigns for my kids, and I write up ideas as notes while I'm commuting home on the bus. When I get home, I export it as HTML that includes some JavaScript code, and this allows me to click on phrases like 3d6+7 and have it randomly roll dice to display 17. I have other JavaScript helper functions for keeping track of lost hit points, initiative, etc. You know, fun stuff.

Searching

Once you get a few hundred notes, finding the one you want can be a bit of work. I use applications like nvAlt and my own shell scripts.

Application Support

Clearly, deciding to write a bunch of notes in text files require nothing special, however, if you wanted to take advantage of both my workflow as well as my shell scripts, follow along…

  1. Create a folder in Dropbox (or Google Drive). I stopped using SimpleNote as a bug with their system removed all the '+' characters in my notes
  2. Download nvAlt (a fork of Notational Velocity) for notes written on my Mac.
    • Export to file system as text (see screenshot below)
    • Destination to ~/Dropbox/Notes
    • Remember to write in Markdown (optional, but helpful)
    • The 43 Folders Guy seems to like this app as well
  3. Download and install OpenMeta, as nvAlt and other apps tag files with this.

nvAlt Preferences

Now, you are ready to use my shell scripts that I describe in the next section.

A couple of other helpful applications that I use:

  1. I like Byword for editing my notes on my iPad
  2. This QuickLook plugin reads and displays Markdown-formatted text files
  3. Brett Terpstra (the guy who wrote nvAlt) has some nice Markdown-oriented service scripts
  4. An Emacs mode kinda works with Markdown-formatted files.
  5. Tags are easy with nvAlt, but Tagger makes it easy to tags everything from the Finder.
  6. Ali also makes a TagList for finding notes with particular tags. Nice, but I usually just use my scripts when I'm outside of nvAlt.

Shell Script Support

My command-line script is open source, so if you wann'em, you can have 'em:

But Howard, why did you write it as a shell script?

Shell scripts are not very fast, but I wanted to make it easy for anyone to fork, and adapt my script to new environments and paradigms.‡‡Can I really use that word and look myself in the mirror?

That said, if anyone wants to take the ideas and redo them in something faster, that'd be pretty cool. I will probably do that once I finish the test suite.

To use them, either clone the Git repo from Github, or just download the few files from the web interface, and follow the online instructions.

Tell others about this article:
Click here to submit this page to Stumble It