In the beginning...
Between the ages of four and eight, the family computer was a Dragon 32. Boasting a paltry 32K of RAM and a plethora of games, the Dragon was much like many of the other systems available at the time. Like its contemporaries, the Dragon sported a BASIC interpreter, allowing the users to control the machine, either by writing their own computer programs or modifying existing programs. The manual even came complete with schematics detailing the circuit layout of the computer. In short, the users of the Dragon and its contemporaries had a high level of control over their systems.
Although at the time I was too young to comprehend the complex schematics, learning BASIC was something that I delighted in. I wrote my first program when I was 6 or 7 years old. Although it was nothing spectacular (merely a program which the user's name and then responded appropriately), I had taken my first step along the path of computer science. I might not have been in full control, but I certainly had a level of control.
Onwards and upwards.
During the nineties, I was the proud owner of an IBM-Compatible PC, powered by an Intel i486 CPU. Its OS was MS-DOS. Running predominantly through a CLI, DOS required the users to have a degree of knowledge regarding the commands used to operate the computer. During my time running DOS I experimented with programming batch files in order to automate tasks. Eventually I acquired a copy of Borland C++ and began learning my first compiled language.
I can't claim to have made many spectacular C++ programs during that decade. However, I did gain a deeper knowledge of programming methodology and also began to investigate hardware. Swapping processors, playing with RAM and installing various expansion cards all gave me a valuable insight into the workings of my computer. The fact that in order to get many games to run it was necessary to spend a long time configuring the startup files ensured that I retained a good working knowledge of such obscure topics as DOS memory management and bootstrap loaders. Things were about to change though.
The great devourer.
When Windows '95 arrived on the scene, it was hailed as a revolution in computer operating systems. No more clunky command lines! A radical user-friendly GUI! Just put your CDs in the drive and your programs will start automatically! NEVER WORRY ABOUT CONFIGURING SYSTEM FILES AGAIN!
At the time, there was only one use for a computer as I saw it: to play games. Although I had fun reconfiguring the autoexec.bat and config.sys files, or messing around with QEMM to squeeze the last of my 4MB of RAM, it was taking away from time I could be spent playing. So it was that I succumbed, and the computer started to take control back from me.
Windows was a pretty constant feature on my system for a number of years. Starting with '95, then on through '98 and up to 2000, Windows was the OS I used up to and through most of my university studies. However, while I was at university, I was introduced to an entirely different OS.
A UNIX system... I know this.
At university, a large amount of work was produced using HP-UX based UNIX machines. Although there was a GUI, there was also a heavy amount of command line work, a fair amount of programming in Java, HTML and even a brief introduction to assembly language. I would spend hours in the computing labs of the (now sadly demolished) James Went Building, tinkering with code for university projects or updating my personal website. There was something about the university computers I loved. At the time, I figured that it was just the fact that they were new and interesting, but it was actually something more than that.
In addition to the HP-UX machines, the university had a number of x86 based machines running something called Red Hat Linux. This was an operating system which would run on the same computer hardware I had at home, cost nothing, and worked in a very similar way to the UNIX machines I enjoyed using so much. Not only was it free, but it followed a software design methodology which at the time seemed utterly alien to me: it was Open Source. The idea of being able to install this exciting OS on my home computer became a reality when my then-housemate installed a version of Mandrake Linux (now known as Mandriva Linux) on his computer. Borrowing his installation CD, I took my first steps along the path which would lead me to becoming a GNU/Linux advocate.
Since 1998, GNU/Linux has resided on my computer system in one form or another. For a long time, my system was mine again; I was able to control most aspects of the OS, source code was made available if I needed to look at it, my system was easily customisable (and highly customised). Over the past few years though something began to happen in the realm of GNU/Linux development which never sat well with me (or a number of other users). The spectre of "user-friendliness" began to rear its head.
For many enthusiatic GNU/Linux users, the idea of their cherished OS becoming an ubiquitous part of desktop computing is the most beautiful thing in the world. To this end, many developers have set about making their particular applications, DMs or distros easy for novice computer users to "pick up and play". Hiding scary configuration files, removing the amount of configuration dialogues accessible to the user, "walling off the garden" to stop people fiddling with things best left alone. While these measures have indeed allowed a greater amount of access to the GNU/Linux OS, they have exacted a hidden cost.
The obfuscation of config files, the restrictions on system configurations, the increased hand-holding of many of the "newbie" distros has resulted in systems becoming little more than arcane black boxes. Users no longer have an understanding of their systems, because they don't need to have an understanding of their systems. They turn it on, they use it; they don't care how it works. Ordinarily this would not be a problem; let them use their systems, I will use mine. But recently I realised that I am in danger of losing my grasp on how my system works. Having used the Gnome desktop environment for a number of years I had noticed a gradual trend towards less customisable features, but it wasn't until I decided to try the OpenBox window manager that I realised I no longer had any idea how vital parts of my system worked. I needed a way to trim the fat and relearn my lost knowledge.
I needed to regain control.