Thursday, January 08, 2009

How I started Using Linux

I guess I don't look at my blogger "Drafts" very often. I did just now and found this from 2005!

I have a feeling I've posted it already, or something very similar. What the heck, here goes again. Better to post it twice than take the chance of deleting this, no doubt, invaluable material, which is obviously a response to a forum somewhere that may or may not exist.... click the title to find out...

---
Original Post date: 10/28/05:

I probably don't have much new to add here, but maybe a slightly different perspective as an old-timer. What I've noticed over the years is that most people who really like Windows have simply never used anything else. This means that even if better things come along, they will be adopted only very slowly, and in that span of time, Microsoft has the opportunity to adjust Windows to slow and eventually stop such migration. They are in the cat-bird seat, and they know it, and furthermore I'm sure that Gates and his colleagues planned to be where they are. I give them credit for that. Gates may even believe that he has high minded principles and wants only to advance computing and he may think that an almost invincible Microsoft serves this purpose, this seems to be the image he tries to project publicly. I don't quite hate Microsoft, but I do hate this concept, in general, that one company can have so much control over a single industry and that we are all better for it.

I started as a mainframe programmer at the systems level, so I learned a lot about both systems software and the hardware it ran on. I've always had an interest in the details of the hardware architecture even when it no longer had much impact on my job function. I remember being disappointed that Intel was selected as the CPU for the IBM PC. I had a book that gave hardware details of a dozen or so CPUs of the day and the Intel. I wasn't that impressed with the Intel instruction set, and as the architecture evolved I was even less impressed that the improvements were always tempered by the "need" for binary compatibility with the past. I thought that the operating system and the use of higher level languages were supposed to mask the details of the hardware architecture. Intel seemed to be evolving as though everything was coded in assembler language (or worse, that all source code had been lost).

I was actually a FAN of Windows at first. Version prior to 3 were of course only "demos" as far as I was concerned, not really fit for any production use and writings from Gates and others pointed to a true general purpose operating system with fully documented APIs, and it sounded a lot at the time like the structure I was used to on the mainframe. keep in mind that both in college and with several employers I was able to get source code for the IBM operating systems with a signed one page letter indicating that I needed it. I could modify that code, and distribute the modifications to others. The practice was commonplace. People who compare what Microsoft does with its code today to IBM simply don't know what they are talking about.

My dissatisfaction with Windows, and subsequently Microsoft grew slowly, and as best I can recall from just a few factors: (1) There were reports that the APIs were not in fact fully documented. While this didn't affect me directly I could see in comparing IBM documentation to Microsoft's that there was a tremendous drop in quality. Where were message codes? I couldn't believe that the thousands of message that might come from Windows were listed in alphabetical order with hundreds of message at the front of the list simply because they started with the word "A". Their was no structure to this at all, and I began to suspect there was not much design to it. "Lets code some stuff and write a document when we are done" seemed to be the approach and I knew that this was not the way I or my colleagues wrote operating system code. I figured these "kids" at Microsoft would eventually grow up and learn to do it the right way. I gave the the benefit of doubt. In fact when IBM and Microsoft collaborated on OS/2 things DID improve. I could freely download internals documentation on OS/2 the likes of which I suspect have never existed for Windows. Both IBM and Microsoft were touting this as the PC operating system of the future. I believed it. I upgraded my hardware as much as I could afford at the time so that I could begin using it immediately.

I continued using OS/2 long after the collaboration ended, and I worked in a government organization that used and loved OS/2 as well. But eventually, like the VHS/Beta wars, marketing triumphed over technology. I was forced to used Windows, as was the agency for which I worked, not because we wanted to, but because Microsoft marketing had sold to someone higher up in the organization. I even learned to like Windows for a while. It wasn't the best, I rationalized, but it was good enough. That was in the Windows NT 3.51 days. I had barely heard of Linux at the time although I had obtained a Slackware disk for a few dollars and played with it. Never got out of character mode and didn't know that you COULD get out of character mode. I didn't appreciate some of the virtues of Unix at the time, so to me this just seemed to be trading one undocumented set of commands for another.

Then things changed. With OS/2 all but dead, Microsoft wanted to simplify its offerings. I considered NT 3.51 to be a product for professionals, while Windows 95/98 were for playing games, kids stuff. Microsoft wanted to merge those capabilities. That was the beginning of their serious decline in my mind. Furthermore, NT ran on several hardware architectures at the time. I had seen it run on a PowerPC laptop and wanted badly to have $6000 to buy one. But instead Microsoft began to withdraw support of all hardware other than Intel. To me these seemed like just the opposite of what you would want to do with what many claimed would be the only OS we would use in the future. I can only say that I have never ceased to think that the decisions made by Microsoft at this time were idiotic. I don't know what individual's name to tag them to, but I lost total respect for the company and its leaders. They WERE kids, and they have never grown up. They want to turn their plaything game computing system into something that will run the largest mainframes. Not only was their execution of this bad, the very goals were moronic. Nothing that has resulted, the viruses, spyware, bloat, and bugginess has taken me by surprise. How could it be any different?

Fortunately as Windows was making a slum out of my chosen field of Computer Science my career moved me out of the trenches of having to deal with all its problems. But at home, I was still the system administrator, and I helped a lot of my friends and family with their computers. I had started to read more and more about Linux, and remembering my early Slackware experience decided to give it another try. It actually turned into several other tries, separated by months during which I pondered my willingness to try again. Red Hat, Suse, Red Hat again, Debian, Lindows. I wasn't quite happy with the results of any of them, but I'd never given them more than a week or two to prove themselves and finally I decided that the problem might be me, and my lack of knowledge about Unix. I could tell that the underlying system was robust. I never had crashes, just things that didn't work as I expected. I had seen enough to know that what I needed was in there somewhere, I just needed to spend the time to find it all.

I finally decided that though the installation process was a bit trickier, for long-term maintenance I preferred Debian to the others. So about 3 or 4 years ago (how time flies) I installed it in a dual boot fashion on my home computer and decided to force myself to use it and only boot Windows as a last resort. This turned out to be easier than I had expected, to the point where I also installed Linux on my laptop, which I used at work every day. It was a "Windows only" shop, but if they could tell I was using Linux they never gave me any grief about it. I could sit there and work away while others were being slowed down by various viral outbreaks, by using OpenOffice I could open Word files that were "broken" to their owners and by re-saving them often save the day. While several people in the group had PCs capable of burning CDs about half the ones they burned were not usable, while mine always were, so I ended up being the "answer man" for a lot of problems not in my job description. We were the central office for a world-wide organization and many server systems came into our lab to figure out what was wrong with them. On more than one occasion systems had gotten so messed up that we were fairly sure the hardware had gone bad. On of my co-workers who had started to get interested in Linux too decided to try installing Red Hat on one of these. It worked fine, better than fine actually. Somehow the successful Linux install had "fixed" it and we (regretfully) redeployed the system with Windows Server on it.

When I left though, things had advanced to the point where there were several, "non-official" Linux systems in the lab at all times. I doubt the organization will dump Windows any time soon, but the seed has been planted, and these people are brutalized by the Microsoft marketing organization as well as the product on a regular basis. They no longer think of Microsoft as an ally, but as just another vendor, to be kept at arms length, until some jumping off opportunity presents itself.

While I work at home on mostly non-technical projects I no longer need Windows at all. I use Linux and OS X in about equal proportions. I don't have a long-term trust in Apple either, and while I like OS X, I'm prepared at any moment to switch to Linux rather than continue with the almost annual update cycle that Apple tries to force on me. I've installed Debian Linux on the Apple hardware and short of not running Realplayer or Flash I'm fine with it (in fact it's quite a bit faster than OS X). I'm not thrilled with Apple's switch to Intel, so if I don't get a high-end PowerPC from Apple next I'll probably go with a 64-bit AMD system. I'm hoping that some other hardware vendor will keep the PowerPC in popular circulation, although the new game consoles may end up serving the same purpose. With Microsoft porting something that looks a lot like Windows to the PowerPC Cell processor at the same time that Apple is porting to Intel, chaos is upon us.

The one thing that we can count on is that Linux will run on ALL of these systems, even if some soldering may be required. Furthermore, for much of the world, complete dependence on Microsoft is an undesirable thing (of course it's undesirable here in the States too, many people just don't realize it yet). I think there is a certain inevitability for a general purpose hardware-agnostic operating system that can be easily customized for local needs. Microsoft can't or at least won't provide that any time soon. Maybe one day the company will "grow up". I've stopped holding my breath waiting for that though.

No comments:

Post a Comment