43 Folders

Back to Work

Merlin’s weekly podcast with Dan Benjamin. We talk about creativity, independence, and making things you love.

Join us via RSS, iTunes, or at 5by5.tv.

”What’s 43 Folders?”
43Folders.com is Merlin Mann’s website about finding the time and attention to do your best creative work.

Academic notes in one big text file + tag clouds

Back when I first started writing my dissertation (seems like another lifetime now), I used FileMaker Pro to store all my notes. After hundreds of dollars and a lot of headaches, I now realize that I could easily have used the command line and text files. And I would have ended up with a much more portable, robust, and versatile data bank than anything FileMaker could offer.

I present my quick and dirty note storage solution here as a command line newbie, so I would be grateful for any tips or help. Thought it might be of interest to all the grad students and academics out there.

1) I take notes on index cards. This limits me to "atomic" bits of information, thwarting my bad habit of keeping a massive stream of unbroken notes. (When I used FileMaker, some of my entries were several pages long, clearly defeating the purpose of a database).

2) When I process my inbox, I append these new notes to a growing text file. Each note occupies a single line and gets a unique date/time stamp. It also gets a bibliographic code (author-date of publication - e.g., Wallace03), which I can use to search a separate .bib file. (I save the index cards as a paper backup.)

3) I tag each note with several keywords, using "kw" to set them apart. E.g., kwrenaissance kwprinter kwstatistics kwflorence kw1490s- these might be tags for a note on the number of printers in Renaissance Florence.

4) I can now quickly search my notes using grep. If I want to look only for keywords, then I make sure to begin my search query with kw. So let's say I wanted to see my notes tagged "Beethoven." Well then I would type "grep kwbeethoven notes.txt." (I leave all my keywords uncapitalized.) Immediately all the relevant lines pop up. If I want a broader search, then I leave out the kw (and be sure to turn on case insensitive [-i]).

5) If I'm not sure whether I've used a keyword before (or if I'm lazy), I can always count on VIM's autocomplete feature. Let's say I want to enter a keyword for Roman Law but can't remember whether I've previously used kwlawroman or kwromanlaw. Well, then I simply type kwrom followed by CTRL-N or CTRL-P, which allows me to flip through all the other words beginning with kwrom in the document. I can do the same thing for kwlaw.

6) tr -cs A-za-z '\012' < notes.txt | sort | uniq -c | grep kw | sed 's/kw//' > keywords.txt

And finally, this ugly little command will pull out all the words beginning with kw, strip them of that unsightly kw, count how many times they appear in my notes, and put the results in a text file. I'm sure there would be a prettier way to do this, but it works OK for me. So I get a nice little tag cloud of all my keywords together with frequency, which looks like this:

2 1830s
3 1920s
3 abacus
2 ardvark
5 barbarians
2 beethoven
[and so on...]

I guess my only question now is how big my notes file can become before it gets too slow and/or unwieldy to work with.

I'm thrilled to discover the simplicity of text. It's free, universal, and so much more secure than my other solutions. And with grep and redirection, it's so easy to pull together a new, smaller text file of notes on a particular subject.

The nice thing is that I can always go from here to other platforms. At some point, I plan to split my big text file into single-entry files and import all these little files into DevonThink, so that I can take advantage of that program's "See Also" feature.

But I like the text file. Besides, I can access my database from anywhere using SSH.

TOPICS: Life Hacks
enine's picture

Enine, Yeah for index cards! I...

mdl;7112 wrote:
Enine,

Yeah for index cards! I love using index cards and created this notes database as a place to archive the notes I jot down in notebooks and on index cards.

Thus, my notes file contains notes from a variety of sources (various books, classes, lectures, etc.) It's just one big file. I find this the simplest and most flexible starting point for working with notes. But it would be easy enough to have multiple text files for different classes or even different sections of classes. In fact, even if you don't use a formal structure for your notes files, you can always use the ever powerful "grep" command to extract information from them and create new subfiles.

I've decided on a single file with more formal structure. I use tags and a reference code to indicate the type of note and where it has come from. And thanks to some simple, yet powerful, command line tools, I can easily export any subset of the notes (by tag, source, simple search, etc.), automatically rearranging and/or sorting them to clean them up.

For instance, although I keep all manner of notes and musings in the file, I can quickly generate (export) a text file containing all my notes from a particular book or on a particular subject. And if I want to, I can format the export any way I want. For instance, I could leave the tags out of an export, so that I get a file with just the subject, body, source, and page number for each notes entry.

Or, with a few commands, I could automatically create a cleaned up, sorted bibliography of all my bibliographical entries tagged "literature" and "america." Add a line to my "awk" command and voil?... I get an annotated bibliography.

Databases like FileMaker Pro will do the same thing, but I get a kick out of trying to do it for free on the command line. And, besides, you don't have to mess with all that bloated formatting in the FileMaker "Layout Mode."

Re-reading my previous post I see how lost I am without a spell checker :)
I've switched from plain text to OpenOffice for all my notes, coming from an electronic engineering background there were too many diagrams to use plain text or it too too ling trying to draw them all out with the higher ascii codes. I still keep the index card template but now have somewhat of a database with different items linked to others, so for now I've stayed with multiple files.

 
EXPLORE 43Folders THE GOOD STUFF

Popular
Today

Popular
Classics

An Oblique Strategy:
Honor thy error as a hidden intention


STAY IN THE LOOP:

Subscribe with Google Reader

Subscribe on Netvibes

Add to Technorati Favorites

Subscribe on Pageflakes

Add RSS feed

The Podcast Feed

Cranking

Merlin used to crank. He’s not cranking any more.

This is an essay about family, priorities, and Shakey’s Pizza, and it’s probably the best thing he’s written. »

Scared Shitless

Merlin’s scared. You’re scared. Everybody is scared.

This is the video of Merlin’s keynote at Webstock 2011. The one where he cried. You should watch it. »