Life is 90% of My Use-cases for Org-mode

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 use cases for org mode

Here’s a old MIT story: the computer age began with the Tech Model Railroad Club in the late 50’s. Specifically, it started with the folks that worked on the switchgear. When a mainframe came to MIT (the “hulking giant”), these hackers began to hog overnight slots, trying to code with minimum instructions. It became an obsession.

groceries and a Volkswagen

Such an obsession, in fact, that one hacker took it too far. For three Saturdays on end, his wife went for groceries. Arriving home, she’d ask, “You want to help me bring in the groceries?” His reply? “No.” And then he’d keep tinkering.

On the fourth Saturday (according to legend), she came home with a packed 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*.”

i didn’t go to MIT

Our family was just getting by, so my dad asked me to avoid faraway colleges. As incentive, he got me into coding classes at the local college (at 14) and arranged for me to split high-school and college. Fine by me, and I did okay.

I logged into UNIX for the first time on June 18th, 1974. An avid reader since age 6, text-processing was very much on my mind. When I encountered a system where plain text is the currency, I was hooked.

But the story about the groceries and the Volkswagen made me think: Computers and humans both depend on language, but unlike computers, human speech conveys an exact meaning even using apparently *imprecise* language. Could the informal UNIX programming rules be adapted to life?

ed > vi > emacs

I remember my first foo, created with the ``ed`` line editor, in September, 1974. Bill Joy hadn’t even written ``vi`` yet (that watershed weekend was still about three years in the future). It was an amazing experience for a fifteen-year-old.

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. Something to do with escaping the wrath of the Sherman Anti-Trust Act.

Coding in UNIX was fun. Getting the computer to do things on its own — via ASM and FORTRAN — was not new to me. This was simpler: here was this thing that took away all the complexity: text is data; everything is a file; small is beautiful; do one thing well. Yes, it was cranky and buggy and sometimes dumped you in the bit bucket. But it was powerful and relatively easy to use.

What made UNIX beautiful to 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 logic and abstraction without having to learn too much first. 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.

I got turned onto emacs sometime in the mid-eighties, 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.”

cabin in the woods

Eventually, my HP job became a telecommuting-type arrangement, and I moved to my wife’s 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 time-saver.

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.

the UNIX ethos

On June 14, 2024, I marked 50 years of using some form of UNIX nearly every day, so it’s no surprise that my personal ethos aligns with some of the UNIX philosophy:

  1. Say what you mean; because telepathy is still in beta testing.

  2. Be choosy with your media, because your brain thinks it’s real. Unless, of course, you’re watching someone paint happy little trees.

  3. Speak clearly, listen carefully, pay close attention; otherwise, you’ll end up in a conversation about quantum physics when you just asked for the time.

  4. Do what you love; life’s too short not to ply your craft. Just don’t expect it to pay the bills, unless your craft is printing money.

  5. Keep it simple; complex plans involve running, and who’s got the energy for that?

  6. Start small and build a little at a time; a mosaic is more beautiful than the finest concrete, and way less likely to get you sued for improper construction.

  7. Network; because who else will laugh at your “I’m not a robot” jokes?

  8. Be who you are; even a bent wire can carry a great light, especially in a modern art exhibit.

  9. Build for strength, not just speed; the hare may have had more Instagram followers, but the tortoise won the race.

  10. Hack; just remember, “try it and see” doesn’t apply to skydiving or lion taming.

  11. Under-promise and over-deliver; because everyone loves a surprise, especially when it’s not another birthday card.

  12. Divide and conquer; because life is essentially a giant game of strategy board games.

  13. Do one thing well; remember, unicorns are famous for just one horn.

  14. Use what you have; unless it’s a floppy disk, then maybe it’s time to upgrade.

  15. Use levers, not people; because people are terrible at being levers, they keep asking for coffee breaks.

  16. Release early, release often; otherwise, you’re just hoarding half-baked ideas, and there’s no market for those.

  17. Distrust all claims for the one true way; except for pizza, pizza is always the answer.

  18. Think ahead, but don’t worship your plans; all things are possible, except maybe skiing through a revolving door.

  19. Think big: you are the universe. And like any good universe, remember to occasionally expand beyond your current dimensions — just without the big bang.

  20. Abhor violence in all its forms, even contradicting others. Keep your peace, hold your tongue, and avoid turning into a debate club mascot.

  21. Practice the Prime Directive; unless you’re in a sci-fi movie, then totally ignore it.

Emacs on Termux on Android (or anywhere) with GitLab

Nowadays I have a floating root directory in a private repo on gitlab, all administered automatically from my .emacs file on any given device. Emacs startup pulls the latest from the repo, copies the (possibly) updated .emacs file to my homedir, rereads it, and starts emacs. Every 10 minutes it does a “save-all” and updates the repo, so I can walk off and leave things running, not worrying about whether I saved them or not. And when i do shut down gracefully, it saves all and updates the repo just for good measure. I have a bunch of functions tied to “C-c m …” that do everything from bring up local apps (email, calendar, SMS, etc) to synching my org-roam DB to browsing to God knows what. I’m living in an emacs bubble, guided by org-mode and made to match my flighty personality by heavy customization of org-roam.

What’s the other 10%?

Wishful thinking? I dunno, I’m hoping when I die, I go to a mainframe computer room in the sky, with a little office off to the side, with stained green carpet squares and dodgy flourescent lights, a metal desk, a VT-100, and infinite time to play. And a never-empty coffee pot. Who knows?