Thursday, April 23, 2009


Why I Use Linux

When I first started to see computers in stores it was fascinating stuff. It is hard to understand now, but back in the late 1970's kids growing up didn't have computers in the home. Around 1978 I started to see TRS-80 Model One's in Radio Shack and Commodore PETs in Eatons. (Both gone now, Radio Shack only exists in the U.S. and Eatons is completely gone). You could get a TRS-80 Model One for about $800 which was more money than I could afford at the time.

My High School got Commodore PETs for the first time in 1980 (Model 4016's) and put them in the library. Students were allowed to go into the library early and sometimes I got there as early as 7 am. Microcomputers of that time were simpler and easier to program. You turned it on and you could instantly start programming in BASIC. Programs were stored on cassette tape or 5.25" floppy disks. Later on there were "Fat Fortys", Pets with larger monitors but still only 40 characters per line was supported.

As time when by we saw the Vic-20, C64, C128 and finally the Amiga arrived. My first computer was a Vic-20 and one of the first things I did was program a simple Rubik's Cube simulation on it. I had to substitute purple for orange as the Vic-20 couldn't display orange. Later on in 1986 I got a C64 and in 1988 I got an Amiga 500. With the Amiga it was now possible to control the colour of each individual pixel and it had a GUI based operating system called AmigaDos and came standard with a whopping 512K of memory. Common to all these computers was the fact that programming documentation was easy to come by, for the computer itself and all it's peripherals. Unfortunately this state of documentation would greatly change in the future.

In 1987 I started to see a few businesses experiment with gui based systems like Windows 2.0 and Desqview. At the time I didn't like Microsoft Windows because I thought the gui made the computer too slow. I liked Desqview a little more as it could run MS DOS programs. Around this time came into contact with one of the predecessors of Linux, Unix System V. I have to admit I found it overly complex at the time and actually preferred MS DOS. Still I believe it was this earlier exposure to Unix that made me more interested in Linux later on.

In the early 1990's I started to see computer users ask for software which ran on Windows 3. People seem to prefer this gui based system and it gradually started to become more popular. Although I never liked any of the versions of Windows the idea of a Graphical User Interface was to become the norm. The learning curve for programming this new systems was much steeper than the earlier ones like the Commodore PET. Many hobbyist programmers never made the leap into gui based programming and preferred the simpler text based systems.

But it was the release of Windows 95 which was to turn my dislike of Microsoft into something approaching hatred. Computer crashes started to become common-place but even worse I started to see something I never saw before: Peripherals which would only run on Microsoft Windows. Things like Windows-only printers and Windows-only modems and eventually Windows-only scanners. Programming documentation of peripherals became a guarded secret and few programmers were allowed to see the documentation unless they signed a Non-Disclosure Agreement or NDA.

In the micro-computer world the non-Microsoft systems were swept aside and systems like OS/2 and BeOS were to become practically extinct. Commodore itself became bankrupt in 1994 and so AmigaDos was also marginalized. Microsoft strode the world as an unassailable behemoth and it seemed a Dark Ages of Programming had begun, at least in the micro-computer world. Programming for Microsoft Windows was not fun and the very concept of programming for the fun of it seemed to vanish.

Of course there was no going back to the C64 or even the Amiga to write programs. Although there are no doubt a few hard-core programmers still writing code for older systems technology has moved forward. Personal Computer hardware became more modular and new advantages in technology made any given system obsolete in a very short time period. What was needed to end the Dark Ages of Programming was a new system which could update itself along with the hardware but still be accessible to the hobbyist programmer.

Although I didn't realize it at the time Linux version 1.0 was released in 1994. Sadly I didn't free myself from Microsoft's grip until 2003 when I started to use Redhat version 8. Still even as a late comer to Linux I was able to adapt myself to the new system faster than some due to my earlier experience with Unix System V. Once I started using Linux something amazing started to happen: I was having fun using computers again and I started programming for the fun of it again, something I stopped doing after my Amiga 500 stopped working.

Still there was the problem of the dreaded "Microsoft-Only Peripherals". You can read about my epic battle with the HP 4470C scanner here: HP. Fortunately there was a happy ending. Gradually programmers all over the world started to compare notes and many of the peripherals with secret communication protocols became deciphered. Linux fans world-wide warned each other to stay away from certain devices and suggested alternatives which were better supported. Programming was fun again, or at least more fun than it was before.

This then is the reason why I use Linux. It's fun to program with it. Not as easy as programming the C64 but still fun. You can rebuild it you have the technology. There are user groups for Linux just like there used to be user groups for C64 and Amigas. You could build your own computer and with some care choose cards which are Linux compatible. You can go into any book-store and see lots of Linux books and magazines on the shelves. You have the freedom to look at the source code and make improvements which is a freedom I wouldn't have appreciated before but now I consider it extremely important.

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]