How to Build a Useful Computer

image link-topic-sf0.jpg

One of the great ironies of our time is that as computing technology becomes integrated into our eyeballs, it becomes increasingly difficult to put together a useful computing environment in which to accomplish real work. But it can be done.

A useful system must:

In short, it should provide access to useful services without itself getting in the way.

(Much of this has been said in more elegant terms in The Arch Way.)

[click image to go to page]

image link-blank-sf0.jpg

A Brief History of the Problem

It is possible to demonstrate objectively, through identifying missing features and measuring huge performance decreases, that Linux computer interface design is getting worse, not better. It is, in fact, getting much worse.

[click image to go to page]

image link-blank-sf0.jpg

A Solid Base

Distributions such as Ubuntu have become worse than useless. (A useless distribution would simply deprive you of the use of your computer, as Ubuntu/Gnome does. With Nepomuk/Strigi it goes one step further and turns your computer against you.) Linux Mint isn't as bad, if you avoid both Gnome and KDE. But for a real computing environment you need a real operating system. Right now, for a general-purpose system, for me, that's Arch Linux.

This Notebook just has a few Arch Linux installation notes. It isn't extensive, because Arch Linux is very well documented. I'll also include a very few hardware notes for the systems I've installed.

[click image to go to page]

image link-blank-sf0.jpg

Viewports & Workspaces; FVWM

Viewports and Workspaces. So Why Do You Need a "Desktop"?

Basic FVWM Installation in Arch Linux. FVWM Configuration and Tweaking (also includes .Xresource file configuration, fonts for digital lettering (XLFD, Xft), and automounting USB devices using devmon).

[click image to go to page]

image link-blank-sf0.jpg

Packages

In other words, applications. What you need to turn a bare computing platform into a useful system for doing particular kinds of work. Everyone's preferred set of packages will differ, of course. Since these are really just my installation notes, these are the packages I find useful. Some are standard in Arch Linux. Some are "PKGBUILD" packages from the Arch User Repository (AUR). Others are completely standalone.

These package notes also contain a few very quick configuration notes for specific packages. For more general configuration notes, see Miscellaneous Application Notes, below and the list of more application configuration which follows it.)

[click image to go to page]

image link-blank-sf0.jpg

Basic Principles: The CWD and GTK

In 2011, a new feature (or, rather, a deliberately introduced bug) in the GTK toolkit made major applications such as the GIMP useless for serious work. This was very, very bad. Fortunately (and greatly to the credit of the developer), this has been fixed. But the solution is still hidden in an obscure configuration file. Here's the solution, and a discussion of the problem.

Coda: And a discussion of this same problem rearing its ugly head in some (not all) KDE/qt applications. This is as yet unsolved.

[click image to go to page]

image link-blank-sf0.jpg

Basic Principles: Avoid Hubris (GIMP 2.8)

With release 2.8, The GIMP began to violate a basic principle of human-computer interaction: if you open and modify something, you cannot actually save it again but must "export" it back to what it was. The reason for this is hubris, pure and simple - thinking that one is like unto the gods (the gods here being Adobe). This is bad not only because it makes life extremely difficult if you edit many images over long periods of time (can you remember a week later if you exported a file from a GIMP session or not?) but, more importantly, because it violates the basic principle that the Linux and open source path is one of humility and service.

Unfortunately, this is a lost cause. So thoroughly is this screwed up that, short of forking a new branch of the code to fix it, there is no solution.

[click image to go to page]

image link-blank-sf0.jpg

Privacy Within the System

GTK "recent files."

Also more general matters: using NoScript for awareness, not letting Nepomuk/Strigi make things easier for attackers.

[click image to go to page]

image link-blank-sf0.jpg

Mail with nmh

Simple mail configuration in a UNIX style using nmh supported by fetchmail/procmail (for receiving) and "more" and uudeview (for reading).

Not only does nmh provide simple mail integrated with the command line (and automatable as a software tool, if you wish), but because it uses the filesystem as its mail archive it ensures that your mail archive will remain compatible with your computing environment as long as you have a computing environment.

[click image to go to page]

image link-blank-sf0.jpg

Fixing Firefox

UPDATE (2014-05-26): I've finally given up on Firefox; this is a sad moment, since I've been using it and its predecessors for many years. But Firefox has one or more deeply embedded bad bugs which cause scripts on many websites to run uncontrollably. Even with a clean, new install of Firefox 29, in short order it is consuming 80+ of the CPU ordinarily and well over 100% (on a multi-core system) in many cases. It's bad enough that cursor movement becomes jerky. If you search around, these problems have been reported for years, but the FF developers just deny them. Unfortunately, they've now caused performance to degrade to an unusable level. See the Packages -> Net/Web section for workable replacements. I'll leave these "Fixing Firefox" notes here, but they are no longer useful. Firefox must fix itself before you can fix it.

-----

Unfortunately, even with the GTK bug fix for the CWD ( see above), Firefox presents the user with an effectively random location at which to save things (because it's trying to guess where you want to save them). Worse, since it's trying to guess, this location changes from one save to the next. So if you're saving a series of many things from the web, and not paying close attention to ever single save, you'll discover that halfway through it started saving things to locations other than the one you first told it to. This behavior can be changed back to something more rational if you add a poorly-documented hidden configuration option.

This is yet another example of developers trying to entice new users (who are assumed to be both stupid and afraid of their computers) with a happy protective cartoon toyland of an environment which hides the real functionality and power of the computer. Using a "modern" computer interface is like walking into your office to discover that surrealist vandals have replaced every piece of office equipment with the "Ages 18 months and up" plush toy version.

[click image to go to page]

image link-blank-sf0.jpg

Miscellaneous Application Notes

bash (.bashrc); Fixing ls, Fixing KDE message spewing (partial), Set prompt and xterm Titlebar. Inkscape issues with file opening/saving. KDE applications spewing messages. pysheng and Invisible PDFs (Image Resolution). Suppressing annoyances in vim (no syntax highlighting or parentheses matching). Opening at the last position in vim. Classic vi and nmh.

See also:

[click image to go to page]

image link-blank-sf0.jpg

Miscellaneous Arch Linux Notes

Miscellaneous Arch Linux configuration and operation notes.

AUR PKGBUILD quick notes. System update notes. Where are ifconfig and netstat? How to get "/media" back (vs. "/run/media/$HOME")? Forcing the wireless network down ("airplane mode").

[click image to go to page]

image link-blank-sf0.jpg

Getting a True Three Button Mouse

The original X Window System mouse paradigm where the middle button pastes text remains one of the slickest user interface elements ever. Literate use of a computer (as opposed to pointing at icons on shop signs like an illiterate medieval peasant) requires a three-button mouse.

But three-button mice are hard to find (and, no, a "wheelmouse" with a clickable wheel is not a viable three-button mouse). There are at present (2014) several workable solutions. This Notebook discusses two of them:

[click image to go to page]

image link-blank-sf0.jpg

Unresolved Issues

I haven't figured out how to do a graphical interface (button + popup) for devmon (but I don't really care, so I probably won't).

In addition to the unresolved issues (that is, things I haven't figure out), there are, regrettably, a number of plain old unsolved bugs that one must contend with:


Select Resolution: 0 [other resolutions temporarily disabled due to lack of disk space]