How to make a simple computer. Really simple.

July 20, 2011

Everyone has different opinions about what types of computer and software are simple and easy. Edsger Dijkstra believed that the best computer was no computer at all, and made significant contributions to computing science with only a fountain pen, paper, and his mind.

Those of us developing software professionally will obviously not have this inclination (or luxury?), but we should still think clearly and comprehensively about the hardware and software we will most enjoy.

I personally would like to use the same computer at home and at work, but I don’t find a laptop entirely satisfactory. Laptop screens are low down near the keyboard, causing me to slouch to read. Lifting the laptop to a higher surface makes an uncomfortable typing angle for the wrists. Also, the intrusive laptop screen blocks an external monitor from being placed directly in front of the keyboard. This makes me have to twist while using a nice monitor.

The solution is a portable computer without an attached screen. I imagine an elegant wooden lunchbox sized device with a leather handle and a fold-out or detachable keyboard. I would then carry it to work, plug it in, fold out the keyboard, attach a monitor.

I would put quality single-purpose parts inside the case, all connected by USB.

If I did want to add a portable screen, I would choose this, and design some way to open it out from the lunchbox and telescope it up to eye level.

The tiny mainboard is the only multipurpose component, but when you examine it you will see it is breathtakingly pure. Some of the components above are optional, like 3g. I am not sure I care to pay for a data plan, or if the lunchbox is particularly usable on the go anyway.

Where is the mouse? It should be obvious that real programmers don’t use mice. Well, maybe I’m not that real.

Here is a broad outline of the software I would use

  • Arch Linux (is this really a surprise?)
  • Zsh
  • Basic tools, vim, mailx, etc
  • xmonad window manager
  • Uzbl web browser (or Chrome + Vimium)There is much more to write about choosing software for the “calmputer.”