my manifesto, as it were
There's a story that has gone around MIT forever. In case you didn't know, the bulk of the computer revolution began with the Tech Model Railroad Club in the late 50's. There were lots of people that liked to build scenery, and others that sought fancier trains and mechanical accessories. But the folks I'm mentioning here worked on the switchgear.
I think they were a small committee, dedicated to programming the little, greasy 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.
groceries and a volkswagen
In fact, it was such an obsession that one of the guys there 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 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?" He 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), she came home, after packing a considerable load of supplies in their tiny Volkswagen, and asked again. Again he declined, but this time, she 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 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:
ed >> vi >> emacs
I didn't start with org-mode, actually. I remember my first foo, created with the ed line editor. It was September, 1974, on a PDP-11/40, in the second-floor lab at the local community college. Bill Joy hadn't even written vi yet -- that watershed weekend was still three years in the future. It was an amazing experience for a fourteen-year-old, admitted at 12 to audit night classes because his dad was a part-time instructor and full-time polymath.
I should warn you, I’m not the genius in the room. I maintained a B average in math and electrical engineering, but A+ averages in English, languages, programming, and organic chemistry (yeah, about that….). The genius was my Dad, the math wizard, the US Navy CIC Officer. I’m more of a language (and logic) guy. But isn’t code where math meets language and logic?
Fifth edition UNIX had just been licensed to educational institutions at no cost, and since this college was situated squarely in the middle of the military-industrial complex, scoring a Hulking Giant was easy. Finding good code to run it? That was another issue, until Bell Labs offered up a freebie.
It was amazing! Getting the computer to do things on its own — via ASM and FORTRAN — was not new to me. What was new was the simplicity of the whole thing. Mathematically, UNIX and C were incredibly complex, incorporating all kinds of network theory and topology and numerical methods that (frankly) haven’t always been my favorite cup of tea. I’m not even sure if Computer Science was a thing yet.
But the amazing part? Here was an OS which took all that complexity and translated it to simple logic: everything is a file; small is beautiful; do one thing well. Didn’t matter that it was cranky and buggy and sometimes dumped your perfectly-okay program in the bit bucket. It was a thrill to be able to do something without having to obsess over the math underneath.
In short, what made UNIX and C usable and beautiful to mid-brainers like me was abstraction. You didn’t have to worry (much) about the low-level details if you didn’t feel like it. You could focus on pure logic and abstract entities without having to “break the fourth wall,” as actors say. You could take little pieces — like “ls” and “cat” and “awk” and “sed” — and you could assemble a script or a C program that would grant your wish. And that was exhilarating and exciting and fabulous for me.
At some point, I caught onto the idea of abstracting my day, 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
Cold hands, no gloves.
09:00 staff meeting, conf rm
18:30 dinner with amit & bonnie
finish revisions on x-windows book
do syllabus for advanced C class
read some in Stevens & Rago
take out the trash otw to work
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.
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:
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. ;-)