life is 90% of my use cases for org-mode

the UNIX philosophy as a credo


a long time ago, in an irc far, far away
ack: tables are 90% of my use cases for org mode
stormrider: life is 90% of my uses cases for org mode
sparkiegeek: sounds Quoteworthy....

There's a story that's gone around MIT forever. In case you didn't know, a lot of the computer revolution began with the Tech Model Railroad Club in the late 50's. Yeah, there were people that liked to build scenery, and others that got into fancier trains and mechanical accessories. But the folks I'm mentioning worked on the switchgear.

I think they were a committee dedicated to programming greasy little analog computers that animated the whole assembly. When the "hulking giant" came to town -- a giant mainframe that took paper-tape programs -- they began to take the overnight slots in the computer room, building programs, trying to cut instructions down to the very minimum. It became an obsession.

In fact, it was such an obsession that one of the guys there (I think his name was Bob?) started trying to adapt his thinking and his casual language to the sequential logic of computer programs. This didn't serve him well, as the story goes: For three Saturdays on end, his wife Margaret would go to the local grocery to get provisions. When she got home, she'd always ask, "You want to help me bring in the groceries?" Bob would simply reply, "No." And then he'd go on working on whatever he was fooling with at the moment.

On the fourth Saturday (again, according to legend), Margaret came home, after packing a considerable load of supplies in their tiny Volkswagen, and asked again. Again Bob declined, but this time, Margaret blew up.

"What's wrong with you? Why won't you help me with the groceries?"

"You asked me if I wanted to help you bring in the groceries. You didn't ask me if I would."

You can see where this probably went, although legends sort of get hazy after the punch line. But it illustrates a point about the way frequent computer users have their logic and language very much influenced by the machines they address. It's the old proverb all over again: you become like your friends, even if they're made of silicon and plastic.

i only toured MIT

I only toured MIT when I was in the seventh grade, part of a prize for winning the state science fair that year. Since our family was very middle-middle-class, my dad asked me not to consider going to any school that was too far from home. As incentive, he pulled some strings with his faculty colleagues to get me into computer classes at the local community college (when I was 14) and arranged for me to take college classes at the local university as part of my regular high-school schedule.

So it was that I logged into UNIX for the first time at Calhoun Community College, in Decatur, Alabama, during the summer of 1974. Having been an avid reader since the age of 6, text and text-processing were very much on my mind. When I encountered a system where plain text is the raw material flowing through the pipes, I was hooked.

The story about Margaret and the groceries and the Volkswagen gave me a bigger clue: Computers and humans both depend on language, but unlike computers, human speech conveys an exact meaning even using apparently imprecise language. Could the informal programming rules that I learned from UNIX, be adapted to life?

UNIX rules for life

After about 30 years as a tech writer and frequent programmer, I finally settled on a set that works for me. Little did I know that these very principles would lead me to org-mode, which would later lead me to find my people:

  • Keep it simple. It's cheaper and easier to carry around.
  • Do one thing well (at a time), because multitasking is a lie.
  • Network: You were born to connect.
  • Say what you mean; nothing is truer than the truth.
  • Hack, because trial and error is the only way we learn anything
  • Be who you are: Even a bent wire can carry a great light.
  • Use leverage -- a bigger hammer isn't always the answer.
  • Use what you have. Never for dig diamonds with a brick of gold.
  • Have faith; all things are possible, except maybe skiing through a revolving door.
  • Think ahead, but don't worship your plans. Remember, today is the first day of the rest of your learning experience.

a vi convert

I didn't start with org-mode, actually, but with plain journal files labeled YYYYMMDD, in a special directory in /var/log. I still have those going back to sometime in the 90's. The format was simple, but using the files soon became complex:

*** personal journal of stormrider
tue, aug 04, 1992 / 712904400
sweetmorn, confusion 70, 3158 YOLD

*** fortune -s
Cold hands, no gloves.

*** appts
09:00  staff meeting, conf rm
18:30  dinner with amit & bonnie

*** to do
finish revisions on x-windows book
do syllabus for advanced C class
read some in Stevens & Rago
take out the trash otw to work

*** daily journal
06:43 - man, didn't sleep well
last night; i think i'm overdoing
it on the coffee at work; maybe i
should cut back some?

The unwieldy part came with all the repeated tasks, and tasks that got carried over from one day to the next (or didn't get finished). I had to copy yesterday's file, change all the key info, sort out the todo list, erase yesterday's journal, and generally do far too much work to keep my journal up.

I did it, but intermittently, supplanting it with post-it notes, pads, planners galore, palm pilots, palmtop computers, etc. It seemed like every day I was badly copying tasks from one day to the next. Meanwhile, my unwillingness to use Windows didn't give the the luxury of Outlook, when it came along.

I got turned onto emacs sometime in the mid-nineties, when I moved to Atlanta to work for HP. A fellow writer there used it, and suggested it might help me write and code up examples more effectively. He was right, and it stuck as my editing platform of choice. But I hadn't discovered org-mode yet. Either nobody I knew used it, or it hadn't been invented yet. And to be honest, I kinda went back and forth between vi and emacs, depending on my "mood of the month."

a modem in the woods

Eventually, my HP job became a telecommuting-type arrangment, and I moved home to the farm, about an hour outside New Orleans, in the woods. At that time, Internet was still modem-driven out here, so having command-line Linux with emacs on my laptop was a real lifesaver.

Sometime not long before Katrina hit, I stumbled across org-mode. I'd already used outline mode for some period of time (can't remember how long), and org-mode seemed like a logical follow-on from there.

From there, org-mode just grew, and I grew with it. All the features made it easy for me to both do what seemed natural for me, and do things in a way that felt like they supported my principles. Gradually, my other methods of keeping track of things faded away, except for my alarm clock.

Even when smart-phones took off, I was always trying to find some way to send org files over to my phone and use them there. I think I even wrote some lua code in an iPhone wiki app to emulate org-mode with my files, though it was not fully satisfactory.

an org-mode resume

Fast-forward to last May. I'd been wanting to get on with Canonical for a long time, but hadn't found the right position, one that really matched my skills. Then one Saturday, while I was waiting for my wife to meet me for some community event we were hosting, I saw a position that virtually described me. I started to write a resume, but then decided that I would just take the job description elements, one-by-one, put them in an org file, and send them to the hiring manager.

Long-story short, almost everyone on this team used emacs, and org-mode, and lots of other .el packages that I also used every day. I got the job, and so far, I'm very happy and feel like I fit in very well.

org-mode and my principles

Here's how I feel about using org-mode for everything: email, git, irc, web-browsing, organization, time-keeping, and so on. And yes, I do use org-mode to connect with my email and the web, even though I use other packages (rmail, eww, magit, erc) to do the heavy lifing. Let me walk it down, principle by principle:

  • Keep it simple

    Granted, emacs isn't the simplest user interface, that is, until it becomes second nature. After that, you'll find yourself accidentally erasing cells in your Google spreadsheet when you hit "C-x C-s" to try to save (good thing there's an undo). But the fact that you can use the same text for multiple functions: appointments, task states, task notes, clocking time, building an agenda, sending email, project planning, percentage completion, .... The list is too long to quote, but just a simple statement, like "Get the discourse publishing tool working," can become the nucleus for a whole cycle's work and all the actions that go with it.

  • Do one thing well at a time

    The window-driven nature of emacs makes it easy to switch tasks when you have to (just open another buffer) and then switch back later, and more quickly link back to where you were; not to mention that, if you become adept at using the agenda, you can keep yourself on track and move other things around with ease, and without any fear that they'll get lost.

  • Network

    Since I'm set up to send email, IRC, Mattermost, etc., directly from my org-mode tasks, it's easy to track where I am. But even if I used another app, it's still really easy to just cut and paste a note next to a task and then set a follow-up time to prod, all without breaking your train of thought. You're literally still looking at the work you're doing while you're messaging about it, so there's that.

  • Say what you mean

    You have the entire outline in front of you for whatever you're working on, so presentations, show-and-tell sessions, and status reports are really simple to give, whether verbally or in writing. It's easy to (a) tell the truth, because you can see it at a glance, and (b) not stumble around trying to remember, which often leads us to embellish, just to keep the conversation moving.

  • Hack...

    If it doesn't do what you want, you've got customizable variables, a huge library of packages, strong macro capability, and push-come-to-shove, emacs lisp, though I rarely have to go there, TBH.

  • Be who you are

    Org-mode matches my thinking style. Not true for everyone, but I tend to outline or mindmap (which you can do with org-mode, with the right .el package).

  • Use leverage

    Org-mode seriously leverages the power of plain text, in that you can either use the shortcuts to add an appointment, add tags, search tags -- or you can just do it by hand, because all of the special notation is plain text. Leveraging human language in this way is helpful to me.

  • Use what you have

    Org-mode and emacs give me a stable platform that works everywhere, even on a printout. I don't need license fees, special extensions, subscriptions, add-on tools, or constant updates to keep my life humming.

  • Have faith

    Org-mode has justified my faith, as has emacs. Lots of tools I've used break, crash, or get killed by absorption (I once liked Astrid, e.g., but it suddenly got sold and went away). And no other tools do everything I want without switching apps. Org-mode and emacs are pretty much here to stay, especially since there is no license fee, and I can keep a self-contained version backed up at home, should it ever stop being distributed.

  • Think ahead

    This is where org-mode, and especially the agenda, shine. If I'm busy, I don't have to worry about keeping my outline clean. I can stop in the middle of notes for another project, hit return, enter a to do for later (and tag it and schedule it to pop up later), and then move that to someplace more suitable later. The agenda will clean it up and put it in perspective for me. Or I can search for it, or pull up all open to-do items (even by tags), or.... There are just too many ways to throw things ahead without losing my train of thought.

a weird kind of heaven

Okay, those are my reasons, and why life is 90% of my use cases for org-mode, but what's the other 10%? Well, it's only wishful thinking, but if we get to pick our environment in heaven, I would choose one of those large, paneled offices off of a raised floor mainframe room. You know the ones: the stained carpet squares, the laminated pressboard desks, the sqeaky swivel chairs, and the half-working flourescents. And a terminal on the desk that runs nothing but emacs and org-mode. And a Volkswagen full of groceries every week.

Here's hoping. ;-)

for life is a journey, and there are
many roads beneath the sky

I used to have a 1973 AMC Gremlin, with a plexiglass back window (secured with duct tape), a manual transmission, napkins and straws from every take-out window in town in the glovebox, and a beat-up-looking organic chemistry textbook in the back set. One day, you turn a corner, you find yourself driving a mom-van, when what you really want is a fully-equipped Volkswagen camper bus, with nice interior, attached bicycles, and a very large duffle bag full of unmarked bills. Funny how things happen.

Popular Posts

  • Image life is 90% of my use cases...
    the UNIX philosophy as a credo