Zen Computing

Interrupts vs Polling, Exceptions as a Model for Copmuting without Distraction


Exceptions are instructions that interrupt the logical control flow. Processes use them to request services from the kernel. Operating systems use them to communicate with hardware and processes. Hardware uses them to indicate the status of a device.

There are two types of exceptions whose distinction is useful for using computers without distraction.


enable a device to signal when it needs attention.


repeatedly checks a device's status.

If a button is pressed on a keyboard, it will interrupt the currently executing instructions so that the input can be recorded. If the keyboard was unable to interrupt, the computer would have to poll, constantly check the keyboard for input. This would require a lot of extra instructions because the check for input has to be repeated. The system would run slower.

This is similar to how people use their phones. Users waste a lot of time if they have to check their phone to find out if there is a new message. Instead, they turn on notification sounds or vibrations to interrupt them when they receive a new message so that they can give their attention to their other tasks.

Many believe that getting notifications from your computers is a time-wasting distraction. This is likely because they receive notifications that weren't worth interrupting their other flows. In fact, creating notifications is more efficient than checking for new information because the attention is only shifted when there is something worth checking.

To make your work as efficient as an interrupt exception, turn off notifications that you don't need, experiment with new notifications that automatically show you information that you spend a lot of time looking for. Like a processor that just performs its given instructions, you can focus on your work without having to split your attention.

The explanation of technical subjects is based on Jim Skrenty's lectures at The University of Wisconsin.

Happy Birthday, Deiter Rams


I share this birthday with the beautiful, focused, German industrial designer, Dieter Rams. Rams is known for the aggressive minimalism that make his products undistracting, simple to use. It's rarely thought of this way, but software development is industrial design: it is developed by a few people, then distributed to many more. His ten principles for good design perfectly outline an approach for designing anything minimally. They can be used to create an unobtrusive digital life.

Good design

1. is innovative.

2. makes a product useful 3. is aesthetic.

4. makes a product understandable.

5. is unobtrusive

6. is honest

7. is long-lasting

8. is thorough down to the last detail

9. is environmentally friendly

10. is as little design as possible

Reaching Flow with Command Line Interfaces


Graphical User Interface

(GUI) a human-computer interface used by controlling visual image representations of digital objects, often with a pointer or touchscreen

Command Line Interface

(CLI) a human-computer interface used by typing commands into a terminal

Being accustomed to only interacting with computers using GUIs will make most wonder why anyone would use the command line. After all, nearly all modern tasks, even software development ones, can be done with a GUI. GUIs enable unexperienced users to be able to do complex computing tasks intuitively.

What the command line has that most GUIs don't is


Command Line interfaces are often preferred for their physical ergonomics. This lowers physical requirements that control how the computer can be used. Because the user does not need the mouse, they can use the computer in more confined spaces, save time not moving their hand to the mouse.

More importantly, the command line makes your workflow more ergonomic. Files with known locations can be accessed in a single action. Total customization allows you to automate common tasks and modify tools to fit the tasks for which they are used.

These ergonomics move the computer interaction process closer to pure thought. Without distractions, command line interface users will not only be able to act more directly, but think more directly.

The Fear of Missing Out Online

Subscriptions are Better than Surfing


There is a conflict between the value of staying informed on news relevant to one's passions and the value of freedom from compulsions to explore the infinite unknown of interesting media. Many call this presence-destroying compulsion "the fear of missing out."

Surfing the web has been

I cannot begin to explain how the media I consume while web surfing have enriched my life.

The problem is that the power of this inspiration-spitting machine cannot be sustained by this link-following, multiple-feed-checking, internet rabbit hole technique. Each source of inspiration probably links to many other websites of interest, each of which probably do the same. You are so busy sorting through short-form media that you can't savor the long-form. What could be the point of seeking inspiration if it consumes all the time needed to act on inspiration?

The Solution

This is how you convert your media consumption from constant phone checking to a well-curated list of everything that interests you, nothing that doesn't and only takes ten minutes per day to check.

By the time you are done, you might be receiving everything you found by surfing. This is okay. You now have a centralized way to edit your media consumption. Seeing all your media in a glance allows you to sort the mildly interesting from the life-enriching. This solution does not mean you should never surf the web again, its just no longer necessary in order to get the media you love. If you don't surf the web, you can now rest assured your most important news is in your inbox.


This is Zen Computing


Computers save you an enormous amount of time. Then they waste... the same amount of time that you saved...

- Ted Deakin's mother

This collection of notes serves two purposes.

  1. You can learn to use computers as life-enriching tools, not compulsive traps.
  2. You can learn to use computers for creation, free thought, not as Orwellian nightmare machines.


computer: a non-biologically-living object able to compute