Print Story It's all Bill Gates' fault.
By blixco (Fri Jun 27, 2008 at 01:34:52 PM EST) (all tags)
OK, maybe not. But the whole reason I am involved in computers, and the reason that I pursued learning about UNIX and Linux and BSD and Mac OS and NEXT and etc was because of Microsoft.

I owe a lot of my life to a guy who, for years, I wanted to hate.  I really wanted to be the sort of technology zealot that my peers were, people who found identity and a cause du jour in their chosen platform.  I worked on OS/2, NT, Netware and some early non-system V UNIXs, and none of them struck me as being particularly zealot-worthy.

Maybe it's that I never developed software.  I'm not a fan of developing.  It has been my job since the beginning to fix broken programs, make things run that didn't want to, and sometimes to beat hardware into shape.

When I started out, I always felt there was more that the systems I was on could be doing that they weren't doing.  This was in the days before any sort of pre-emptive multi-tasking on the smaller systems.  I'd had some exposure to a refrigerator-sized "mini computer" at a family friend's business.  It ran DG/UX and was a white, blue and black appliance that I was positive could run the world if I just knew what to tell it.  The mystery in the boxes...the limitations of the operating environments and the applications I was running...was what got me into hacking.

The machines just felt like they could do more, should do more.  I'd dial in and get to a UNIX prompt on a system, and know that the system had capabilities that it wasn't advertising, and I'd do what I could to reveal what it was capable of.

Then, my first Mac (and associated Apple Cat modem), and finally a DOS box that ran Windows.  Having experienced the relatively slow but stable and graphically impressive Mac, the first Windows box I touched made me laugh. 

I was working at Western Bank, and I helped run a small Novell Netware 3.1 network as well as a set of machines that were responsible for GIS and Rbase duties. I spent most of my time in DOS, only going in to Windows when it could not be avoided.  I became a master at tuning the DOS memory stack.  I ran applications in DOS that had their own QEMM-style memory drivers, so getting windows to run meant rebooting and choosing a different option from my CHOICE statement in autoexec.bat, getting a machine state that would support Windows for Workgroups 3.11, the Netware client, a TN3270 reflector, and whatever app I needed.

Getting all of that to work took me away from exploration and into actual production: everything I'd learned about learning systems, everything I'd become proficient at from a systems and troubleshooting perspective became my daily life.  I enhanced my capability by simply getting the crappy software I had to actually work the way God and billg intended.

The tricks we used were incredible.  Getting a system to boot with a SCSI drive, a custom Canopus video card with bus mouse and associated drivers, a SCSI CD-ROM, a serial plotter and all the associated Netware client pieces took more basic system skills than anyone today is required to have.  I remember supporting secretaries and bank tellers who could troubleshoot memory management, because it was a component of using the systems. Each hive in the bank had at least one computer "expert" who could be counted on to handle the basics when someone else in the hive lost connectivity or couldn't get a display to come up.

You had to know your system to use it.  You had to be familiar with the ins and outs, and if you weren't you were annoyed, non-productive, and at the mercy of guys like me.

Compare that early PC network to the UNIX system that was in place, which worked at a level that separated the user from the underlying system.  The users were presented with their application, with whatever windowing or text-based menuing was involved.  The user never had to worry about the steamengine in the next room that ran their system, or the gnomes and militiamen who kept it alive and kicking. I had UNIX users who didn't know that their dumb terminal was not a computer.

They didn't need to know that. Yet they knew how to debug IRQ issues on their PCs, or how to get their Word Perfect 5.1 macro to work on their co-worker's machine.

What Apple did was, they made the systems approachable, usable by the public.  They managed to have the same sort of invisibility between OS and hardware by maintaining tight control over hard and soft development. Their systems worked, and worked so well the user was rarely aware of things like memory or drivers. Then they made some poor business decisions that took them out of the realm of business computing.  What Microsoft did was, they made their software as approachable as possible, but their development was done from a business and market angle. They didn't have the ties to hardware or even the ability to require much of anything in the early days, the days before the Windows Logo Certification.  They had to sort it out on the hardware in the customer's hands.  They'd throw it out there, sending copies to the hardware companies: hey, we can all sell more if you get this to work! The goal was sales and saturation, and not technology per se.  They'd put their products out there and let the installation base handle the rest.

This required Us.  Me.  The users and the admins.  The system operators.  We had to work out the detail of how X would work with Y and Z.  No-one else could do it for us, and there certainly weren't wizards or googles or forums on the internet that you could offload your thinking onto.  You either knew how to make it sing (or at least squeak) or you called someone who did.

So my experience went from hacking (learning how to use systems for my own means and curiosity), to systems operation, and learning how to use the system for business.  Having to learn the intricacies of a large pool of hardware, peripherals, and applications left me better and better equipped as time went on. I once got a 486DX running windows 3.12 to talk to a scsi scanner, a scsi hard drive, the first Sound Blaster card, a plotter, a novell network using 10 base 2, and the aforementioned Canopus video card, all with 48k still free in real memory.  No one else came close.

Because of all of that, now nothing surprises me.  I still don't have any zealotry; I don't care what the system is running or why it is running it.  I just know that, regardless of what the best tool for the job is or who coded what, I have to make it all work.  And that gray area of incompatibility and bad hacks is what made me, and what made that was Microsoft.

If it weren't for Bill marketing the technology before perfecting it, I'd probably be a coal miner.

< Caffeine Sensitivity | Another unsubstantiated intarwebs parable? >
It's all Bill Gates' fault. | 5 comments (5 topical, 0 hidden) | Trackback
Placeholder comment by Breaker (4.00 / 2) #1 Fri Jun 27, 2008 at 02:01:51 PM EST
More on this tomorrow; I have a country to embrace and a wife to hold near.

My second support job by georgeha (4.00 / 2) #2 Fri Jun 27, 2008 at 03:06:51 PM EST
was getting mailing software to run in DOS, we'd fax autoexec and configs abck and forth all day trying to get that extra 5k of RAM, emm386, LOADHIGH and all that crap I've long since forgotten.

It's a toolbox by LinDze (4.00 / 1) #3 Fri Jun 27, 2008 at 05:18:17 PM EST
you take out the tool you need for the job.

However I wish everyone could just agree on a damn userland, or even get common utilities. Having to remember the syntax for ps depending on the system is just retarded.

-Lin Dze
Arbeit Macht Frei

IBM bear much of the blame by Herring (4.00 / 2) #4 Sun Jun 29, 2008 at 12:31:05 PM EST
That whole AT bus thing and the IRQs. You generally knew that a serial mouse on COM1: (IRQ4) would doom that for anything else. IRQ5 a good candidate (normally assigned to LPT2:) and sometimes IRQ3 (COM2:).

A typical challenge for me building a PC back in the day was to add: network card (NE1000 of course), CD ROM, sound card, bus mouse and still have both COM ports available for serial transfer to CNC machine tools.

Anyway, I did a shedload of programming on DOS (including TSRs and that shit) and I fucking hated it. Hated Windows 3.0 as well but loved OS/2 2.x (never used 1.3 - the dreaded 286 protected mode).

Anyone else remember programming VGA graphics by throwing bits into memory addresses and switching bit-planes? Anyone else rememeber re-coding it in assmbler only to find that the bottleneck was the bus, not the software and you'd just wasted 3 days of your life?

Nobody gives a fuck about effeciency anymore and that's why all modern software is shit.

You can't inspire people with facts
- Small Gods

Heh heh heh. Much of our careers are the same. by greyrat (4.00 / 1) #5 Mon Jun 30, 2008 at 03:49:52 AM EST
Reading this, I'm almost nostalgic for the good old days of making DOS or even CP/M do what it really want designed to do. And I almost weep remembering my sweet, sweet and totally illegal (in the corporate policy sense) Novel 3.1 network. We part ways in that, although I was the technical OS and network dweeb, I got into application development and maintaining (i.e. making them work) third party software. Ah, yes! The good old days of getting low, high, and extended memory set up to be able to run AutoCAD without brutal crashes! Getting AT systems with expanded (but not extended) memory to use whopping 200 MB Bernoulli boxes. And there was that demographic mapping software that had more than a dozed CDs of data that we shuffled in and out of our single external, parallel port CD drive. We were trying to use that in ... 1989. Oh for the good old days!

Oh! and the 48" wide electrostatic printer that required us to sign on with SaftyClean in order to handle the waste toner. I can still remember the smell and woozy feeling from maintaining that beast...

It's all Bill Gates' fault. | 5 comments (5 topical, 0 hidden) | Trackback