from the trenches

I knew I said that I’d post coda things now that I’m going to bi-weekly essays, and today would be the first day of the new order and I’ve failed. Alas. Today was spent going glaring at my outline and waiting in doctor’s waiting rooms. I did read a really great article from Kristine Kathryn Rusch about recessions, short fiction, and it was pretty inspiring. Go read, and then read some more. I’ve also had some interesting twitter and identi.ca conversations about git and emacs, which keeps me entertained at least. I’ve also been trying out new RSS readers, as I’d really like something that ran locally. Canto seems to be leading the pack, but I have so many feeds at the moment that switching seems onerous, and I need something that I can sync between multiple machines, so the whole switch process gives me shivers. Maybe tomorrow. In the mean time, I think I’m ready to get back to writing actual fiction (forward progress) in a day or two, if I can get through one or two more blasted sections of this re-outline; which despite the pain, has been really good for my thinking about the book.

If you were wondering, that really is what it’s like to be in my head. And you thought that my writing was scatter brained.

One True System

So I’ve been posting about cyborg systems on tychoish, about the informal logical systems we use to interface our lives/reality/thoughts/work into digital systems to organize what we accomplish with our computers. It’s a topic of some interesting to me, and I’m going to provide a simple piece of advice in this post:

Try your damnedest to only use one system. For as much of your data as you possibly can.

This might be an odd piece of advice, you say, coming from someone who proudly supports the Unix philosophy of “use tools that do one thing well.” I think, however, that the question of tools and systems are fundamentally different. Having tools that do lots of things (poorly) means that you have ineffective tools. Having more than one system to organize your data means that things get lost.

Joseph Spiros, a friend of mine from way back, wrote an essay that I think serves as a pretty good introduction to some of these ideas. Read Prelude to Haven and come back when you’re done.

Back?

Great. Lets continue.

Having one system that houses everything is a great boon to our representation. If you know, from the very beginning, what kind of data you’re going to be dealing with, and develop some sort of organizational system based on this knowledge then it’s really hard for files to get lost, for things to be double classified and without reference. Basically, for any given thing, there should be only one given place that you should have to look for this.

This is of course pretty difficult to do. So maybe I don’t mean “only have one system for everything” but, rather “have one system for any given thing.” More concretely:

  • Only have one email account. If you get mail at more than one address, use a client that allows you to view/send email from more than one address (eg. gmail) or forward multiple accounts to one address. This way, if you’re looking for an email there’s only one bucket to look in.
  • Organize data by either projects, subjects, or kind, but not more than one of these categories. Projects would be spheres of your work that form a body onto themselves: if you wrote books, a project would be a book and you’d collect notes, drafts, and versions related to a book in one “pile”1. Subjects can get dicey (as they require you to sort your data into a given number of subject-based piles and then be able to recall that sorting again. Kind-based organizations require you to keep all your notes in one pile, drafts in another, final copies in another which can grow unwieldy depending on subject, but greatly decreases the chance of misfiling.
  • For data manipulation standardize your practices on specific tools: tasks go in one place, project files go in another, references in another, and so forth. If you track two todo-lists that don’t synchronize with each other, then the chance of loosing track on some things in one when they should have gone in the other system. One “OK” system is superior to 2 or more excellent systems.
  • Use search tools to your advantage, but avoid the google-method of relying search to be smarter than the index of files. Search is good, and there are a lot of times when searching for something is helpful (lost files, finding a specific quote), but often times they take a lot of system resources to build a gross index that likely doesn’t contain the kind of information your looking for.

And that’s it. One more step on the road to a better, more fulfilling cyborg experience.


  1. I’ve deliberately avoided using terms like “folders,” or “categories,” or “tags,” as these abstractions aren’t in and of themselves useful metaphors. ↩︎

Awesome Window Manager

Aside from doing semi-perverse things with my email retrieval system, one of my most recent technical/digital obsessions has been with a X11-based window manager called awesome. It’s a tiling window manager, and it’s designed to decrease reliance on the mouse for most computer interaction/system navigation purposes.

Unless you’re in the choir, your first question is probably “What’s a tiling window manager?” Basically the idea is that awesome takes your entire screen and divides all of it into windows that are a lot like the windows that OS X, Windows, GNOME, and KDE users are the same. Awesome also has the possibility for what it calls “tags,” but which are akin to virtual desktops (and I think of as slates) which make it possible to have a great number of windows open and accessible which maximizes screen efficiency and multi-tasking while minimizing distractions and squinting.

The second question you might have, given the prevalence of the mouse-pointer paradigm in computing lo these 30 years, why would you want a system that’s not dependent on the mouse? Long time readers of the ‘blag might remember some blogging I did earlier this year about the second coming of the command line interface. The basic idea is that the more you can avoid switching between the mouse and the keyboard, the more efficient you can be. Keystrokes take fractions of seconds, mouse clicks take many seconds, and this adds up. The more complex idea is that text-based environments tend to be more scriptable than GUIs and coded more efficiently with less mess in between you and your data/task. After all, coding visual effects into your text/word processing application is probably a sign that someone is doing their job horribly wrong.

One of my largest complaints about using GNOME is that it’s terribly inefficient with regards to how it uses screen space. Maybe this is the symptom of using a laptop and not having a lot of space to go around, but most applications don’t need a menu bar at they top of every window, and a status bar at the bottom of every window, and a nice 5 pixel border. I want to use my computer to read and write words, not look at window padding (I suppose I should gripe about GNOME at some point, this is an entry onto itself.) Awesome fixes this problem.

I’m not jumping in to Awesome full time, but I am starting to use it more and learn about it’s subtleties, and hopefully I’ll be able to contribute to the documentation of the project (it needs something at any rate). For a long time I’ve flirted with Linux, but haven’t ever really felt that it offered something that I couldn’t get with OS X, and this changes that pretty significantly.

One of the things that I need to do first is explore Linux equivalents to my remaining OS X-only apps. The most crucial is the news reader, I’m a big fan of NetNewsWire, and I’ve never used a news reader which can top it. As it turns out, between vim and Cream, I’m pretty set in the text editor department (though I need to port over the most important of my scripts and snippets to vim), and although Adium is a port of Pidgin, using Pidgin is painful by comparison, particularly in awesome.

But I have time. I’m doing this becasue it’s interesting interested and weirdly enough, it’s kind of fun.

That’s my story and I’m sticking to it, I’ll be posting more on the subject as I learn more.