Managing work abstraction layers

2019-08-23 @Lifestyle

I prefer settings maximally bare, short of essential objects I engage daily. That’s not to say things don’t linger over questionable periods. At times, such a seemingly innocent accessory can actually come to drain energy and sabotage creativity.

And I sense something similar at having exhausted a visit to an antiquity exposition or a craft store. Settings like this are best enjoyed in controlled doses.

In regards to the workflow, I prefer to abstract tasks over stages … whenever disciplined. Initiating with the simpler, what are typically the technology-invariant apparatus, only after do I proceed towards further complexity … again, if disciplined. This abstraction paradigm applies irrespective of the environment or type of work.

The following hierarchy of tasks roughly increases in resource complexity: the simpler and most pervasive tools appear near the top, while the more constrained follow after.

Not only does this mode of operation tend to minimize that distracting noise, but I generally derive greater pleasure in the analog way of work. Be it my cyber ultra-sensitivity, but staying disconnected feels straight up more independent.

The task abstraction hierarchy

  1. Mental brainstorming. Mental models. Dreams.
  2. Paper, pen.
  3. Digital, but offline:
    • VIM, the console, man pages, plain text, CLI tools.
    • Offline calendar, contacts, email (details below). All eventually synced.
    • Offline servers.
  4. Offline: locally cached web pages for research, typically in terminal web browser (W3M).
  5. Resource intensive tasks (ie CPU or network-bound)
    • Enqueue for parallel workload locally
    • Outsource to an online Virtual Private Server (VPS)
  6. Online:
    • Resources critical for the task, unavailable offline.
    • Synchronize with repositories, external servers, backup (open source, CLI tools).
    • Engage a manual, online task.
  7. Non-CLI - graphical tools, still open-source, offline.
  8. Offline closed-source tools (ie office suites). I can’t think of anything closed-source CLI. Most present a more complex interface; often avoidable in favor of the above alternatives.
  9. SaaS tools (online), usually closed-source. Special emphasis to avoid.
    • Ex: Google tools, Slack, CMS, mobile apps, Whatsapp, Dropbox, Cpanel, Pandora, Spotify, Evernotes, Wordpress, etc.

*CLI = command-line interface.

This scheme requires proper work abstraction and heavy time-boxing. As a result, I conduct much offline labor, on small-screen real-estate (ie tablet) of 95% CLI tool usage, leveraging non-intensive resources that easily facilitate older, less-powerful hardware.

Yet some types of work don’t lend well to the above paradigm, requiring the simultaneous engaging of too many facilities (offline, online, graphical tools, many browser tabs, etc). This can suggest a non-optimized, non-automated busy work, or a poorly designed work process.

I try to avoid the above tasks, or anything I can’t easily decompose across some geospatial or computational dimensions.

The heuristic has typically served. Given the discipline for sufficient analog brainstorming, for instance, I’ve almost always avoided substantial techno-frenzy time.

Frequent resources:

  1. Pen, paper, index cards.
  2. Music (offline): MP3s, including YouTube audio downloads. CLI tools. FM radio. Or analog, if anyone nearby happens to spin a vinyl.
  3. Email: offline, locally stored via IMAP sync and mutt; VIM to compose.
  4. Web page production: static-site generated, locally maintained. Locally served for testing. Synced with the online web server on a VPS.
  5. Pomodoro timer. I strive to take 5-minute breaks for every 25 minutes of focused labor. The internet refers to this as the “Pomodoro method”. A simple digital wristwatch timer is what I use. And yet I encounter entire suites of tangible software to manage these timings. Sigh …
  6. Water.

Questions, comments? Connect.