Tuesday, 12 February 2008

my computer is dead



My Computer is Dead

My computer is dead. This should not be a surprise to anyone. That's

what computers do; they die.

In this case, my desktop was about a year old. I had never really

liked it from the beginning. It was a mid-level machine of a major

brand, but everything about it seemed a little "cheap" -- gaps at the

seams, flimsy plastic facade, loose keyboard with too many keys. All

around too many features with almost no value.

So I shouldn't have been surprised. We have had a four or five power

outages in the past few months. But each time the computer would come

back up. Until Monday. I had shut it down for two days, came back,

pushed the power button and... nothing. No click, no whir, no nothing.

No, I shouldn't be surprised. Especially since over the past month or

so the fan had started to sound more like the little engine that could

than a European sports car. A sure sign of strain. No, I shouldn't be

surprised, but I am.

I am irked. All symptoms point to a bad power supply. So I could pay

to have it replaced. But then again, it might be one of the other

devices. I could spend several hours fiddling and trying to track it

down, but there is no guarantee that after 4 hours and probably a

hundred dollars of parts, I would be sure to have solved the problem.

What is most irksome is that this is about the fifth desktop machine

I've owned. My last one, a Sony, I loved and was a workhorse for 3

years. I replaced it because it was getting old and slow; not because

it failed. I would have got another Sony except they don't make

desktops anymore. Before that, I had 4 Macintoshes: 3 gems (all still

operable), and one lemon from the day it arrived. Oh, and a Power

Computing Mac clone. Now that was a machine! It failed three times and

was fixed -- under warranty-- three times.

So I have seen failure, but I also loved that Mac clone -- there was

nothing that compared. But this is different. My current PC is a

commodity, expendable, replaceable.

Computers die, and when they die they take your data with them. So I

am going to take the "easy" way out and get a replacement -- bigger

and faster than before -- and I'll spend 1-3 days reinstalling all of

the software I need and doing disk-to-disk copies of my data.

Will I be happy? Well, sort of. I'll be happy to be back online. I'll

have the simple pleasure of something new, shiny, fast... But I also

face the tedium of digging out all my installation CDs and installing

(and restarting) for hours at a time... and no guarantee I won't have

to do it all over again in a year. In fact, I am almost guaranteed I

will have to do it over again in the next 1-4 years. Because computers

are fragile.

Which brings me to my point. (There's a point to this? I hear you

asking.)

Why do I have to do this? Why do I have to waste 1-3 days rebuilding

my new PC with all of the software and data I had on my now defunct

machine?

Since computers are a commodity, why does the operating system insist

on binding your data and applications to this fragile hardware? Sure,

my data is in My Documents and I can recover that fairly easily

(assuming that the disk isn't fried). But what good is the data

without the applications to use it or even see it?

Computers are designed on a very basic structure, a "stack" of

abstractions:

Data

Applications

Operating System

Hardware

If the bottom layer of the stack -- hardware -- is likely to fail, you

want to make sure your other layers are separate and recoverable. You

could move the entire top three levels (i.e. replicate the C: drive).

But in reality, the operating system is also a commodity. And if it is

Windows, it is also designed to expand and clutter your available

space with updates, restore points and other data that chews up all

available space. Point of fact: I don't know anyone who has done a

Microsoft Windows upgrade and been happy. The only truly successful

upgrade is to replace both the OS and the underlying hardware (i.e.

buy a new computer).

So, in fact, the most practical separation is Hardware+OS vs.

Application+Data, because the OS is dependent on the hardware and the

data is dependent on the application. (You can see this because the OS

is bundled with the hardware; and although some apps are usually

"bundled" with computers, they are usually pale imitations of the

applications users really need.)

What you, the user, would really like would be for there to be

separation at all levels -- so you could take the data, the

applications (i.e. your working environment), or both to a new

machine. But the way Windows is built by default, all three of the top

layers are installed on a single drive, C:\. And although the data is

separated into a folder structure by default (My Documents), the

applications are bound in a death-like grip with the OS which is

impossible to break without reinstalling. You can move C:\Program

Files to a new computer, but nothing will work, because the actual

application components are spread around and -- more importantly --

Windows encourages the applications to build in dependencies on

entries in the OS registry.

The result is a system that cannot easily be deconstructed into its

logical parts (if at all). The solution, however, is both simple and

obvious -- given the proper attitude and efforts of the interested

parties. It is:

* Redirect My Documents to separate media, not just a subfolder of

one disk shared with the OS and applications. Preferably encourage

more reliable and hardy flash drives for easy transport between

machines. (2, even 4 gig flash drives are now a commodity, which

is more than enough for most normal human beings. The 200-300 gig

drives are primarily for the Windows operating system...)

* Load the Windows registry dynamically while booting, to pick up

application settings from a separate configuration folder.

Preferably, allow alternate locations, so users could define

multiple configurations (Home, Business, Video Editing, etc.) that

could be selected at boot time.

* Put the application files, configuration folder, and DLLs on a

separate root, possibly separate media, so that the entire

configuration can be moved from one machine to another en masse.


No comments: