Home ~ About ~ Arcana ~ Open Source

Table of Contents

I am stormrider. I am a true neutral, creative, diabetic, technical author, and engineer. Here is how I approach the world.

My geek code

My geek code serves as a short (and usually sufficient) introduction.

GE d- s:++ a+++ C++++ UL+++ P+ L+++ E+++ W+++ N+++ o+ K+ w— V PS+ PE f— c+++ Y+ PGP++ t+++ 5- X- R+++ tv++ b++ D-— xkcd G e++++ h– r+++

Translation:

  • GE Geek of Engineering.
  • d- I'm usually in jeans and a t-shirt.
  • s:++ I'm of average height, I'm a linebacker candidate.
  • a+++ 60 and up.
  • C++++ I'll be first in line to get the new cybernetic interface installed into my skull.
  • UL50 I've been using Unix for 50 years.
  • P+++ I've used Perl to earn a decent living.
  • L(U)+++ I use Ubuntu Linux exclusively on my system, and I work mostly from command line.
  • E+++ Emacs is my login shell!! M-x doctor is my psychologist! I use emacs to control my TV and toaster oven! All you vi people don't know what you're missing! I read alt.religion.emacs, alt.sex.emacs, and comp.os.emacs.
  • W1.0+++ I am an original Netizen, and I see no need for scrolling baloney.
  • N+++ I read so many newsgroups that the next batch of news comes in before I finish reading the last batch, and I have to read for about 2 hours straight before I'm caught up on the morning's news. Then there's the afternoon.
  • K+ I like Kibo. If you know, you know.
  • w--- Windows is bloatware.
  • V I've used VMS. Meh.
  • PS+ My whole concept of politics is that nobody has the right to tell anybody else what to do, on either side of the political fence.
  • PE Distrust both government and business.
  • f--- In matters of religion, I distrust all human claims for the one true way. That doesn't mean I don't trust scripture.
  • c+++ I am a cyberpunk all the way, including the music.
  • Y+ I have an interest and concern in privacy issues, but in reality I am not really all that active or vocal.
  • PGP++ I have the most recent version and use it regularly.
  • t+++ Star Trek is not just a TV show, it's a religion. I know all about warp field dynamics and the principles behind the transporter. I have memorized the TECH manual. I speak Klingon. I wear an IDIC. I have no life.
  • 5 Babylon 6 is sub-par. The acting is wooden, the special effects are obviously poor quality. In general, it seems like a very cheap Star Trek ripoff.
  • X- It's ok if you like paranoia and conspiracy stories, but, let's face it, X-Files is crap.
  • R+++ I've built and run my own dungeons for money. At cons. With 100 little envelopes of dice I brought with me.
  • tv--- Not much on TV anymore, though I sometimes watch it when I'm petting the cat.
  • b++ I find the time to get through at least one new book a month.
  • D--- Dilbert is a stupid bore.
  • xkcd I check out xkcd from time to time; sometimes it's really funny.
  • G I know what the geek code is and even did up this code.
  • e++++ I am well-educated, mostly by myself, but I did get some college degrees, too.
  • h+++ I live in an ecologically sound tiny house, with a Geek of Nursing who watches Babylon 5.
  • r+++ I found someone, we dated, and we've been married for decades now.

My credo

Here are the rules I try to live by:

  1. Start small and build a little at a time.
  2. Say what you mean.
  3. Network.
  4. Divide and conquer.
  5. Keep it simple.
  6. Do one thing well at a time.
  7. Be who you are.
  8. Build for strength, not just speed.
  9. Speak clearly, listen carefully, pay close attention.
  10. Underpromise and overdeliver.
  11. Practice the Prime Directive with everyone.
  12. Hack.
  13. Use what you have.
  14. Use levers, not people.
  15. Release early, release often.
  16. Distrust all claims for the one true way.
  17. Think ahead, but don’t worship your plans.

My backstory

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.

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:

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

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?

Research UNIX

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.

Abstraction

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

***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
shower
shave
dress
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 mid-2019. 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. I no longer mark my workday tasks as "work" – I mark them as "foss" (free and open-source software), and I'd like to keep that designation for my paying work from now on.

Now you're caught up

At least, now you're caught up on what matters. There's a lot more backstory there, but it's kinda personal, y'know?

My mental crutches

As an engineer and technical author, I am a creator and a knowledge worker. I strive to do rare and valuable work – what Dartmouth professor Cal Newport calls deep work. Deep work is hard and difficult. I try my best to choose things that are hard and difficult, choose them often, and sustaining that effort over long periods of time.

As a right-brained person in a left-brained world, I use tools to help me transform creativity into engineering results. I use intuition more than logic, but I don't subscribe to dichotomies, because that is a logical fallacy. I think in words, pictures, animations, and scenarios. I am a technical communicator because that's I can do hard and difficult work that produces rare and valuable results.

Because of the way my mind works, I choose to use Emacs org-mode as my center of gravity, but I can successfully do the same thing with paper and pencil, if required.

Org-mode

Org-mode is a smart outline with folding. You can easily rearrange the outline with a single key combination. This helps me capture my mental chaos and organize it into coherent thoughts and plans.

Org-mode is also a personal organizer. I use many of its features, many times every day:

  • to-do items with user-definable states,
  • user-assigned priorities,
  • user-assigned tags,
  • scheduled dates (with clock time, if desired),
  • deadlines,
  • very flexible, user-defined repeat intervals,
  • and tables that can also function as spreadsheets.

And an agenda

Org-mode also has an agenda with a flexible viewing interval. From the agenda, I can:

  • estimate task effort.
  • easily change priorities and tags.
  • move tasks between to-do states.
  • filter tasks on tags and other attributes,
  • graphically track my habits,
  • clock my work,
  • and many more features.

And journaling

I overlay org-journal on top of org-mode, logging events and recording to-do items as they come up, pinned to date and time. I automatically carry-over undone items to today's journal, so that the agenda doesn't get bogged down with hundreds of files to scan. And I wrote an emacs lisp function to move repetitive to-do items to a static file that's also visible to the agenda.

And this website is even built with org-mode

Yep, stormrider.io is entirely written in org-mode and exported to my server as HTML, on-demand.

Copyright (C) 2020-2023 by stormrider; All Rights Reserved