"It's not a mistery: there are neither swords, nor axes, nor hammers,
nor shields as reliable, tough, and durable as those forged by the
dwarven blacksmiths, under the mountain, in the mists of time.
It's not a mistery, either, that such durability, toughness, and
reliability were the sole result of the patient dedication of those wise
master craftsmen, who sapiently distilled iron and fire to create
indestructible weapons of legendary perfection..."
-+-+-+-
Computing has changed a lot in the last 30 years or so. In many ways, we
have witnessed a so radical evolution of computers and communications
that future generations will probably find it hard to believe that
there was a time when Mac OSX, the World Wide Web, and Facebook did not
exist at all.
However, I am not that much surprised by those "advancements" (well, if
you consider them as such), rather by the fact that despite computing in
2019 has little to do with computing in 1979, most of the software tools
I use everyday for my computing are as old as I am.
I am obviously referring to the set of command-line utilities normally
available in a unix environment. Programs like sh, ed, awk, sed, grep,
cut, paste, join, tail, etc., which have served generations of system
administrators and users, while remaining basically unchanged since
their first appearance in Unix v6 or v7, more than 40 years ago.
No other toolbox in the history of computing as ever come anywhere close
to the longevity of what we call "the unix environment". The reason for
such a success is simple: each of those tools is very humble, and does
*exactly one thing*. But does that one thing very well. The power of
the unix toolbox relies on the creative combination of those basic tools
in innumerable ways, to serve tasks unforeseen by the humble programmers
who initially forged them. Living in a unix environment is a continuos
quest for novel, unknown recipes. It's a perennial exploration of the
limitless potential of simple tools.
I will collect in this phlog stuff related to many of the tools in the
unix environment, and to how I use them for my own daily computing. Most
of the times, a phlog entry will consist of a one-liner with a couple of
explanations. Other times will be a trick or a useful configuration.
Once in a while, I might focus instead on a specific concept or on a
cool idea. I might also indulge in an occasional rant about how these
powerful concepts have been, in some case, neglected.
I cannot guarantee that any of the stuff I will put here will be of any
interest to anybody.