Much of the power of the UNIX operating system comes from a style of program design that makes programs easy to use and, more important, easy to combine with other programs. This style has been called the use of software tools, and depends more on how the programs fit into the programming environment how they can be used with other programs than on how they are designed internally. But as the system has become commercially successful and has spread widely, this style has often been compromised, to the detriment of all users. Old programs have become encrusted with dubious features. Newer programs are not always written with attention to proper separation of function and design for interconnection. This paper discusses the elements of program design, showing by example good and bad design, and indicates some possible trends for the future.
There is much to learn from UNIX, both the failures and successes. In particular this paper argues for small well defined functions which can be composed to build larger functionality, and against a slow and steady bloat of features — as Perlis said “If you have a procedure with 10 parameters, you probably missed some.”
F*@*! the (perceived) haters, Lifehacker contributor Sean Kim says:
Believe it or not, we’re not that special. We go through our days thinking about how other people might be judging us. But the truth is—those people are thinking the exact same thing. No one in today’s “smartphone-crazed” society has time in their schedule to think more than a brief second about us. The fact of the matter is, when we do have time get our thoughts straight, we’re too busy thinking about ourselves and our own shortcomings—not others.P
A study done by the National Science Foundation claims that people have, on average, 50,000 plus thoughts a day. This means that even if someone thought about us ten times in one day, it’s only 0.02%of their overall daily thoughts. It is a sad but simple truth that the average person filters their world through their ego, meaning that they think of most things relating to “me” or “my.” This means that unless you have done something that directly affects another person or their life, they are not going to spend much time thinking about you at all.
This isn’t just good advice. This is how you survive Tumblr without going insane.
In a very real way, the role of technology, even simple technology, is to unstick menial tasks from the user’s experience of linear causality. Rather than start a fire to keep myself warm, I turn up the thermostat and warm air rushes through the heating vent – who knows how? When my car breaks down, I take it to a mechanic. I couldn’t tell you how to fix it any more than I could perform open-heart surgery. Bowing to the authority of auto mechanics isn’t superstitious, but it has elements in common with a belief in magic.
Sir James Frazier, author of the classic work on religion and mythology “The Golden Bough,” describes belief in magic in terms of a dissociation of cause and effect, something like that between my need for warmth and the turning of a thermostat. Frazier organizes this belief into two groups: the principle of Similarity and the principle of Contagion. “Similarity” involves the belief that if certain rituals are performed, a desired outcome will be achieved regardless of the line of causality between the two — like, say, performing a rite to a fertility god to have a good harvest. “Contagion” has to do with belief in the effect of magical objects.
In a way, both the “Similarity” and “Contagion” dynamics are relevant to the modern person’s relationship to technology. If a person can’t draw a line between “how something works,” his belief that it will work approximates “Similarity.” Likewise, a person’s belief that a given product will go on working, regardless of his ignorance as to how, gets into the realm of “Contagion.”