No More Note-taking Apps for Me

A friend of mine, who tells me that William Turkel is my doppelgänger (a more productive one at that) wrote to tell me that he has recently written about his use of an iPad note-taking app called [Noteshelf]( I responded that There are so many of those note applications running around that it’s hard not to imagine, were I interested more generally in application development, making one of my own. Folks obsessed with the perfect note-taking system buy them like popcorn at the movie theater. I bought a few of these when I first got an iPhone and then a few more when I first got an iPad.

None of them do quite what I want, and it is very tempting to keep perusing them, or to keep reading reviews of them on sites like [43folders]( or [Lifehacker]( or whatever new get organized site has sprung up recently for those, like me, dream of the perfect workflow / system that will bring order to their chaotic brains and channel all that energy into useful output. As Merlin Mann perhaps pioneered: there is a great deal of money to be made by simply being unproductive and searching out better means of being productive and chronicling your search. Thousands, or millions, feel similarly.

We live in an age of consultants. (Don’t get me started on the number of consultants that universities now rely upon.)

Myself, I simply decided to settle on [Evernote]( for note-taking. It’s far from perfect, but it syncs to all my devices and offers a number of abilities, including the ability to OCR notes I take in an actual notebook once I scan (take a photo) of the page with my phone or pad. I picked up a year’s worth of the Premium service with the purchase of a [Fujitsu ScanSnap][] for our home — amazing little device that. Now, Evernote has it right and is offering a [Moleskine notebook][] designed to be scanned. Sweet, but pricey at its current cost of $30.

[Moleskine notebook]:
[Fujitsu ScanSnap]:

Towards My Own Markup

*Please note: this entry was written while sitting in my daughter’s hospital room. It was written for want of something to do on this the second day of her hospitalization as the timelessness and placelessness of hospitals continued to fray the edges of my consciousness. It was written in an attempt to begin to smooth some of the fraying.*

For general purposes, Markdown, as well as the other “plain text markup languages”, serves very well. I do not, however, find Markdown very conducive when I am writing either for myself or writing to think. For one, I find I do generally prefer an indented line for the beginning of a paragraph, with no blank line above or below. It’s especially useful when you are either writing through a series of short paragraphs or bits of dialogue, where the Markdown language could very well have half your screen filled with white space.

I also find that I prefer the `Creole` language’s use of equal signs for headers a better option than the hash signs, which it reserves for numbered lists. Using the hash sign also resolves the problem of having numbers get out of order as you write a list. Markdown of course fixes this as it converts to HTML, but you still have some confusion in the plain text original.

Now, one solution to developing my own markup language would be to fork a version of Markdown, in whatever programming language I would prefer to work in — there are versions of Markdown in Perl, PHP, Python, and Ruby (and I am sure there are more versions in other programming languages). My problem is that I have a pretty extensive back catalog of entries in my WordPress database, 1034 posts as of today, and most of them are in Markdown. I also have over 200 notes in MacJournal, most of which are by default marked up similarly.

It would be easy, I think, to write a script, using something like `awk`, to go through those posts and replace `\n\n` with `\n\t`. The same would be true for numbered lists — replace `^d.` with `#.` — and most uses of the hash signs for headings would be similar.

But instead of working with over one thousand bits of text, and with no real interest in double-checking if everything came out correctly, the better solution might be to proceed with my new markup language and then simply write a quick script to change it to Markdown *when I decide to make a text public*.

Mind, only some of this is brought about by my current return to command line geekery. It’s also the case that my favorite note-taking application, MacJournal, cannot sync all of my devices easily. Two (or more) computers by Dropbox? No problem. iPhone and iPad … well, you can sync but only through the abomination of getting both machines on the same network, setting them up to sync, etc. This is silly. I already have my MacJournal data sitting in a DropBox account. My iPhone can connect to my Dropbox account. Sync to that.

MacJournal can’t do that. The cool new journaling application Day One *can* sync many devices through DropBox, but it currently cannot hold images and it does not feature tags. (I suppose one could make tags work the same way I make them work in my textCMS, as hash tags, e.g. `#tag`, but that only offers me searchability not my preferred way of working with tags, via browsing.) And Day One stays away from plain text files for storage, preferring a variant of the Mac OS `plist` for formatting entries in the file system. And, too, I have to abide by its preferred markup language, which is Markdown, and not one of my own choosing. But, its UI is quite nice.

Gollum is a Ruby Gem that creates a small wiki-server that runs locally. [Check it out on GitHub(

And while, yes, I am setting out to learn Python, I am finding Ruby in general so much easier for me to grok. Gems et alum.

Part of that ideal textCMS could be [QuickQuestion][qq]. I’m not quite sure I need it. Like [Brett Terpstra][bt], QuickQuestion’s author, I like keeping a bunch of small plain text notes, but I label them simply by a [Typinator][tt] keystroke (dtt) that inserts `yyyy-mm-dd-hhmm`, e.g., `2012-01-15-1552`. It seems like a dumb way to label files, but it keeps me from worrying about what to label a file and focused on content. Sometimes I append a word or two to the date-time as a way of making it easy to scan in the file system, e.g., `2012-01-06-1510-macports`, otherwise I rely upon hash tags (`#tag) at the end of a file that allow me to `grep` for the files I want.


grep notes

To find lines within files within the current directory:

grep -ri foo ./

* The `r` option makes the search recursive.
* The `i` option tells `grep` to ignore case.
* `./` sets the location to the current directory.

Vim Resources

More of the plain text CMS stuff, I’m afraid. Steve Francia has a [Vim crash course][vcc], and he also has something he calls his [Ultimate Vim config][uvc] (on GitHub). Swaroop C H has published a terrific introduction to Vim, entitled [A Byte of Vim][bov]. (He has also published an introduction to Python entitled _A Byte of Python_, but as the lack of a link indicates I have not read it.)