Drowning in email? Try Inbox Zero to learn sane tips for dealing with high-volume email. And don’t miss the free Inbox Zero video. »
Register for free on 43 Folders to comment on articles, post to our forum, customize your visits, and much more. Current users can login now.
My txt setup
Merlin Mann | Dec 12 2005
The explications continue. It’s been a while since I talked about how I’m using text files, and my post a while ago on Quicksilver appending reminded me of a few little changes I’ve made over the past year or so that my fellow text geeks might find interesting. Reviewing: Why text?Like a lot of geeks and aspirational geeks, I do as many things as possible in plain text files. I’ve endlessly sung the praises of text on 43F, but in a nutshell, they’re portable, efficient, tiny, and almost endlessly mungible. They’re the lingua franca of Unix and most of the civilized world. As you’ll see, I use text files for any variety of things, although my favorite use is for making and maintaining lists. The aforementioned append functionality lets me quickly add items to any file with nothing but muscle memory and a few keystrokes. Best thing ever. I also write in text files as well as store large amounts of reference information. Text is very easy to swap into HTML (I keep almost everything in Markdown format), and text is wonderfully searchable, whether using Spotlight, Find & Replace, or just via incremental search from within the editor. Point being: I use applications like OmniOutliner, iCal, and (formerly) Entourage to organize the relationships between silos in my life; but text files are the living repositories for as much of the actual information as I can manage. Getting a systemLike everything, this text system benefits from a loose organizational framework that lets me quickly create and change files without having to worry too much about what it’s called, where it goes, and how I’ll find it again. So here’s a few high points from my text world. One and only one placeI’ve whittled down to a single folder for all my active text files with just two sub-directories, “Archives” and “Old.” “Old” is simply where I dragged every text file I was pretty sure was dead or obviated (but you never know), and “Archives” is where I put the dearly-departed since making the move to the one folder to rule them all. Archiving is done…well…whenever I feel like it or notice that the top txt directory is starting to seem a little wooly. Everything else sits in one directory. I use a little system of “meta symbols” and intuitive naming to keep things organized in the one big folder. A smart nameNearly all my files are named according to this structure:
where:
Meta symbolsI’ve discovered I have three basic kinds of text files, and chose a simple method for marking the type of files they are for quick visual cueing. This is super helpful for winnowing file names in Quicksilver: I start by typing one of these unusual (non-alpha-numeric) characters, and I can instantly pop to just a list of the types of files I want to see. Running listsRunning lists are the majority of my files. They’re the kinds of lists that I mentioned in the appending article — ongoing places to park ideas of any kind over time. They begin with a “>”. This is, as with all these, purely my own convention, so you should feel free to pick symbols that make sense for you. This yields file names like:
ReferenceReference items are evergreen and reusable content that I update fairly infrequently and refer to as needed.
Static filesThese are things like blog posts, articles, and any kind of nonce content that will be used once, and then probably not needed again (making them very quick to archive every month or so).
So that’s my current system. It’s actually not as byzantine as it sounds. It really comes down to:
Your mileage will certainly vary, but I hope this stuff helps if you’ve been working to tame your own text beast. POSTED IN:
|
|
| EXPLORE 43Folders | THE GOOD STUFF |
It may not SEEM invisible,...
It may not SEEM invisible, but you may want to consider storing your texts in a revision control system. I use subversion; it stays out of the way.
The downside: you have to remember to commit changes every once in a while.
The upside: you don’t have to create byzantine archival schemes of your own; you can delete files and clear them out of your “mind” without worrying about losing anything, and of course you have a clear history. This can be frickin’ awesome. Plus if you want to create shared repositories with people for projects (hello, GROUP MIND!) this would make doing that pretty easy.
I find it strange that you don’t use folder structure. But your prefix notation probably works best for that Quicksilver workflow of insta-appending… I work with text files entirely within a shell window so that they’re equally accessible from home and work. I’m not sure how to get that QS “quick-append” kind of flow with vim in a screen session, but I’ll have to think on that!
Coincidentally I started experimenting this...
Coincidentally I started experimenting this week with a strictly text-based system as well. I started trying to get GeekTool to interact with devtodo (no such luck yet), then came up with the method mentioned in the link above — using GeekTool to grep actions from the plaintext todo file. Editing with vim, combined with Remind and displayed on the Desktop, it makes for a stellar combination of elements. Potentially powerful too, as I work out some scripting amongst all the tools.
Any suggestions on how to...
Any suggestions on how to replicate the search function on a Windows system? I’m doing a lot of things in a cygwin bash shell, so grep may be the answer.
Charles: You might want to...
Charles: You might want to try Google Desktop search. Note - this is not really an endorsment. It has ups (fast search, in a browser window) and downs (can’t search for filenames, sometimes a resource hog).
It’s definitely worth trying out.
Dan: How hard is it to set up SVN for the Mac? I haven’t tried yet, but I’m considering it.
Charles: I'm sorry, my Windows...
Charles: I’m sorry, my Windows expertise only goes as far as choosing other OSs because of it. ;)
Robert: if you’re using fink, installing svn is as easy as
fink install svn. However, there’s also a detailed article about the subject on MacDevCenter: Making the Jump to Subversion. In addition to the usual CLI goodies, there are a couple of GUI clients, iSVN and SvnX.Mac + SVN -- Ahh,...
Mac + SVN — Ahh, that may be another downside. Unfortunately, it could be a bit of a pain.
There’s an easy all-in-one package for the client but you have to wade through fink to get the server components, or compile them yourself. In my experience, fink is almost always more trouble than it’s worth; I haven’t really used it in a year or so, though.
I do love my iBook, but in normal use it just becomes a dumb terminal in to my server.
I also highly recommend integrating...
I also highly recommend integrating cvs or subversion. The tag command can replace whatever file naming convention you choose for archiving.
True, it involves another layer of tools, but it gives you that GTD feeling of having a trusted system with regard to simply tracking changes to your documents.
Being a *NIX nerd, and...
Being a *NIX nerd, and a heavy shell user, I prefer using filenames that don’t have backslashified escape characters, or spaces. Given that symbols like “^” have very different meanings in regular expressions, they ends up making things more confusing when I’m trying to do perl/sed/awk munging.
In any case, I really like the rest of Merlin’s filenaming schema.
-S
I use -1, -2, etc... I...
I use -1, -2, etc…
I always know I am using the most recent copy because anything other than -CURRENTVERSION is in ‘Archive’ :)
“Version number is a slick little trick of mine. When I start a new version of a document, instead of adding a “2? or “3? to the most recent copy, I simply duplicate the document, then timestamp the old one — ala “+ work haa site design proposal-2005-12-12_08-16-34.txt“. That way I always know the unversioned copy is the most recent, but I still have backups I can roll back to any time. Neato.”
append has NEVER worked for...
append has NEVER worked for me… ive tried a million times
I've been using this approach...
I’ve been using this approach too. Although i work in linux i think it is very similar. I’ve been trying to trick the filesystem to be a PIM. I have my contacts, for example, in one folder (called people) one txt file per person. using grep or find or even cat + tab i can find someone very easily w/o having to launch evolution or a similar program. I’ve been meaning to do something similar to manage gtd, but i guess i would need perl or ruby or python skills. I don’t have any (i’m an artist using gnu/linux out of political conviction). still i just have a gtd.otl and manage everything in VIM or gvim. my appointments in remind thru Wyrd.
I actually use a single...
I actually use a single huge text file for all of my notes. I have a web form that accepts anything I want to send it in text and saves it to the bottom of my notes file. The script automatically dates each entry. Most text editors are able to easily search through such a file and find what I need. I can also backup this text file along with the rest of my website. It is very easy and very powerful.
Thanks for your great site!
Mike Shea
One app I really like...
One app I really like is Tombo - it helps me extend my own text filing system in a few ways.
It’s basically just adding a more visual outliner facility, as well as encryption for the things that shouldn’t be seen. But it’s a boon to me and my .txts.
Darcs may be another alternative? http://www.abridgegame.org/re
Darcs may be another alternative?
http://www.abridgegame.org/repos/darcs
I do much the same,...
I do much the same, but I keep my project support files in different directories. So, I have main subdirectories ~/Prive/ (for private stuff) and ~/Werk/ (for work stuff), under which I then have subdirectories per project, normally grouped into a few categories (planning, talks, papers, code, e.g. for work and hobby, finances, letters, amongst others for private). Then I have ~/gtd/ for my main trusted system. QuickSilver is still able to find the files I want pretty darn quickly (and I do have some standard filenames such as ‘notes’ that I append with the date the notes are made on), and the drop down menu gives me the choice of the right subdirectory. Oh, and I use darcs for my ~/gtd/ directory… and I record every change using a little record script that does nothing more than echo
date "+%Y-%m-%d %H:%M:%S"| /usr/local/bin/darcs record -a —skip-long-commentserious but dumb question: ...
serious but dumb question: what does “mungible” mean
thx
I too used text files...
I too used text files for everything (but just moved to paper for work related reasons). I had one folder that held all my actions, and wrote a script to parse them for me. I then had a cron job update and commit every 6 hours.
If you want to see the Ruby script I used to parse them files it is in my dropbox. It would output things I wanted to do today, what is due today, a list of my projects, a list of all the actions for project ‘foo’, and the number of tasks that I had.
Heres a few hints I have:
Subversion: I use SVK which is a perl wrapper over plain svn but I found the OSX SVK installer installs a perfect copy of subversion. The installer can be found here.
Geektool: I setup geektool to show all the stuff I wanted to complete today (tagged as *) and print it on my desktop. I also had it count and display the total number of tasks I have and also if anything is due today. Screenshot
Eric
What is Markdown format? The...
What is Markdown format? The link never mentions it, unless you are referring to the “collection” system? Thanks!
You can get all of...
You can get all of this and more with Boswell. Plus its automatic cross referencing frees you from the “a place for everything and everything in its place” constraints of a hierarchy.
This will give you a quick peek -
http://www.boswell.com/documentation/thinking/thinking7.html
Ah but you don't need...
Ah but you don’t need the Subversion server component if all you’re going to do is keep your SVN repository on the local computer. You just need svnadmin and svn, both of which are “client.”
The Pragmatic Programmers (pragprog.com) have a fantastic book on using SVN and all its intracacies.
Mungable==Easy to change into another...
Mungable==Easy to change into another format. Since text documents are not locked into a propriatary format like Word or Acrobat PDFs it is easy to use scripting tools like Perl or Ruby to convert the text into HTML or whatever format you want.
Wikepedia
Mung (or munge) is computer jargon for “to make repeated changes which individually may be reversible, yet which ultimately result in an unintentional irreversible destruction of large portions of the original item.” It was coined in 1958 at the Tech Model Railroad Club, at the Massachusetts Institute of Technology. …
I use a similar structure,...
I use a similar structure, though without the funny symbols in the filename. I do have a subversion repository hosted on a server in my apartment. This server uses mod_dav_svn, and I mount the webdav share on my personal computer & work computer. I get the security of source control, without the irritation of explicit commits.
I also use a Sidekick II. I’ve written an AIM bot that accept a command to append to my scratch file, so I can write to this file no matter where I am. I suppose I could use a notebook for that sort of thing, but I’d lose the notebook.
Charles Wrote: Any suggestions...
Charles Wrote:
I’ve had good results with Agent Ransack.
[...] must read txt setup...
[…] must read txt setup what is markdown (related to txt setup) log4perl smart comment for perl - here is a smart comment, perl sucks yahoo widgets […]
lingua franca ??? Well i´m...
lingua franca ??? Well i´m from brazil and i dont know if its what your trying to talk is truly language. Its probably better if you say “verdadeira linguagem” because franca means honesty when you say something like a persons being honest.
By the way thanks for introducing me GTD Merlin its a woderfull book i´m reading and i´m loving it ! Your site is great and i´m looking up to buy a mac the only problem is that here in brazil the prices are the triple because of the taxes :( . Thanks for all and keep up the good work !!!
[...] My txt setup |...
[…] My txt setup | 43 Folders Everything else sits in one directory. I use a little system of “meta symbols” and intuitive naming to keep things organized in the one big folder. A smart name […]
James Alonso: "Lingua Franca" is...
James Alonso: “Lingua Franca” is actually Latin. It means a language that everyone (or at least, a very large group) can understand. So when Merlin writes that text files are the lingua franca of Unix, he means that Unix geeks have tons of tools available for processing text files, and text is the preferred method of storing data for them.
Kale: Markdown is a text format which is designed to be easily translateable to HTML. It’s also the name of software which does the actual translation. Info on both here.
Oh ! ok sammy !...
Oh ! ok sammy ! it just looks funnie to me this language expressions is a just too crazy. You´r always learning something new … i´m reading GTD and trying to understand what the H*** DA is talking when he said “Ad Hoc” :))).
"ad hoc" = Latin, literally...
“ad hoc” = Latin, literally “for this”, and in English it usually means “improvised”.
You might find this list of Latin idioms useful: http://www.sabi.co.uk/Notes/miscPhrases.html
Interesting post Merlin. One Folder: ...
Interesting post Merlin.
One Folder: I do this, quite ad hoc really. I just save onto Desktop, and then bung whatever in my One Folder (called “Stuff”) and then once a quarter or so I empty it and archive into more traditional structured folder systems. My current One Folder is about 4 gigs at the moment and is probably due a clearout. I find the achiving into structured folders better for returning at a later point and trying to find stuff.
Naming: I like the metadata prefixes, eh, a lot. It has set my mind a spinning. I’ve used the same file-naming system across the past six years of my own company. It follows the structure:
ProjectAcronym Date WhoAcronym Whatitisdescription
The ProjectAcronym is a three letter one, The Date is always reverse order Year.Month.Day The WhoAcronym is agaain a Three Letter Acronym The Whatitis is whatever occurs to me.
So for Personal projects I might have the following filenames
PER 05.10.12 BNK loan request.doc PER 05.10.17 BNK supplied docs.doc PER 05.11.01 BNK thanks.doc
Which might describe an unlikely but happy series of transactions between me and my bank.
The date order means that the files are always in correct sequence in List View in a Finder window.
It works great with Spotlight. I can search for PER 05.11 and find all docs relating to my Personal life in November 2005. And I can also find all my letters to the Bank and so on.
But your Metadata tagging is intriguing me and I’m going to have to think about that one.