Fazal Majid's low-intensity blog

Sporadic pontification

Fazal

Bad local government kills

Recently, campaign billboards have been flowering here about the issue of homelessness. A look at the website www.wewantchange.com shows it is run by a Hotel industry group, and leans heavily towards harsh Giuliani-style enforcement. One statistic is arresting, however: 100 homeless people died in San Francisco last year, compared to 6 in Chicago. San Francisco’s weather is mild all year round, quite unlike Chicago’s freezing winters and stifling summers, and you would expect the opposite.

San Francisco has famously dysfunctional local politics. Thirteen years after the Loma Prieta earthquake, politicians were still squabbling about how to ensure the seismic safety of the Bay Bridge.

In this case, the posturing and special-interest pandering of the Mayor and Supervisors is leading to avoidable loss of life.

A sordid spectacle in Egypt

National Geographic aired a special today on Fox, mixing interesting prerecorded footage on how the logistics of building the pyramids were handled (by skilled workers augmented by seasonal labor, well fed and treated, not slaves). What mars this show are the two “live” publicity stunts, opening a 4500-year sarcophagus and drilling a hole through an obstruction in a narrow shaft leading from the Queen’s Chamber.

I had a feeling of déjà vu: I remember seeing a documentary on TV about a German engineer who designed a robot, “Upuaut” to explore that same shaft. I only caught the National Geographic special halfway through, but there did not seem to be any credit given to the truly original work done by the Upuaut project. There are other unpleasant aspects to this show, such as the frequent name-dropping with the two featured archeologists, and the on-screen histrionics of one of them, an Egyptian who is also his government’s chief official archeologist (not to mention the conflicts of interest between his official position and the one he holds with National Geographic).

Even the presenter’s pompous final words rankle: “We still stand on sacred ground, home to the world’s first great civilization”, as if that distinction did not in fact belong to Uruk and Susa, in ancient Sumer and Elam in Mesopotamia (modern-day Irak and Iran).

A quick search on Google found an interesting page on this subject. All in all, this is a rather unpleasant spectacle of self-aggrandizement and boosterism, and I am rather disappointed by National Geographic’s unseemly behavior.

I do not agree with most of the latter website’s flights of fancy. Napoléon Bonaparte started Egyptomania with his 1798 expedition to Egypt, and ever since, all sorts of pseudo-mystical fantasies have grown around the supposed cosmic significance of the pyramids. Indeed, one can read Martin Gardner’s excellent book Fads and Fallacies in the Name of Science to see how Jehovah’s Witnesses were originally an apocalyptic sect who thought the shape of the great pyramid’s main shaft predicted history and the coming end of the world. When the apocalypse failed to occur, twice, they moved on to slightly more mainstream beliefs…

On a lighter tone:

Donating old computers

I recently upgraded my laptop, and donated my old (but still functional) one to StreetTech, a group that trains disadvantaged youths so they can obtain certifications that will get them jobs in IT. I found them using the Cristina foundation, an organization that matches donors to groups like StreetTech.

If you are a compulsive computer shopper like myself, who has functional but not-quite bleeding edge equipment lying around gathering dust, or an IT manager in a company looking to upgrade its computer fleet, please consider donating them this way rather than putting them on eBay. It’s certainly a much better way of disposing of old computers than this one in China.

Objects are aristotelician

One of the unquestioned assumptions behind object-oriented programming is that objects are instances of a class, and thus implicitly stay that way. This is akin to the philosophical concept of nature, as in an invariant quality of something, that cannot be changed:

But is there any one thus intended by nature to be a slave, and for whom such a condition is expedient and right, or rather is not all slavery a violation of nature?

There is no difficulty in answering this question, on grounds both of reason and of fact. For that some should rule and others be ruled is a thing not only necessary, but expedient; from the hour of their birth, some are marked out for subjection, others for rule.

Again, the male is by nature superior, and the female inferior; and the one rules, and the other is ruled; this principle, of necessity, extends to all mankind.

It is clear, then, that some men are by nature free, and others slaves, and that for these latter slavery is both expedient and right.

Aristotle, Politics I, 5 (emphasis mine)

Needless to say, this concept is reactionary. One may well object that given slavery’s omnipresence in antiquity, even a great philosopher such as Aristotle could not be entirely free of the prejudices of his time. This conveniently ignores the fact Aristotle was a pupil of Plato, himself a disgruntled aristocrat who collaborated with Spartans when they overthrew Athenian democracy after the Peloponnesian war, and is arguably one of the theoretical founders of the totalitarian state. I would say it is rather the presumed greatness of Aristotle that should be reexamined, but I digress. For more on this subject, read Karl Popper’s The Open Society and its Enemies – Volume 1, The Spell of Plato.

Thus, OOP carries within it the conservatism of Plato and Aristotle, people who resented how the young Athenian democracy had usurped the aristocracy’s natural (in their eyes) right to rule over others. This is not just an academic consideration. Computer programmers influence society, specially those who work for governmental information systems, and if you consider the Sapir-Whorf hypothesis, the language they use affects the way they think.

This is why I like Python’s ability to morph an object from one class to another:

Python 2.2.1 (#1, Apr 18 2002, 13:06:27)
[GCC 2.95.3 20010315 (release)] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> class Slave:
...     def whip(self):
...             return 'Yes, master'
...
>>> class Freeman:
...     def whip(self):
...             return 'Die, fascist scum!'
...
>>> man = Slave()
>>> man.whip()
'Yes, master'
>>> man.__class__ = Freeman
>>> man.whip()
'Die, fascist scum!'

Windows configuration management

The key to running a reasonably reliable Windows system is configuration management. A typical Windows will have tens of thousand of files and hundreds of software components installed. It’s a numbers game: the more components interacting on the system, the greater the probability that two of them will conflict.

Windows gets a lot of heat from Unix zealots (I am one myself) for being unreliable, but any operating system that attempts to comprehensively support all the wide variety of oddball peripherals and software out there is going to experience the same integration problems; certainly, Linux is converging towards Windows in terms of the number of security advisories released. Of course, using an obsolete version like 98 or ME without modern protected memory is a prescription for disaster, but the NT-based versions, i.e. 2000 and XP can have reasonable reliability, at least for desktop usage.

The rest of this article describes my strategy minimizing entropy in my Windows systems.

Separation

The way I approach my Windows configuration is to establish a clear separation between Operating System/Applications and Data.

The OS and Applications do not mean anything special to me other than the amount of work required to reinstall. Data represent actual productive work on my part and must be protected. I separate OS/Applications from data clearly, and make regular checkpoints of OS/Apps after installation and every now and then before I make major changes like installing an application or OS service packs. If my system becomes unstable at some point in time, I can easily revert to a known stable configuration.

The specific tools used to provide this backup of system configuration are a question of personal choice. A number of commercial software like Roxio GoBack or Powerquest SecondChance (since discontinued) purport to do this, as does Windows XP.

I personally don’t trust these programs all that much, and prefer to make a total backup of my system using Norton Ghost. To ensure my data is not erased when I restore from a Ghost image, I have at least two partitions on each of my systems:

  1. C: for Windows and applications (NTFS)
  2. D: for my personal data (NTFS on desktops, FAT32 on laptops)
  3. I: for my Ghost images on desktops (FAT32), on a different drive than C: so I can survive a drive failure

That way I can destroy C: at my leisure, in the worst case I will have to reinstall a couple of applications and reapply some settings that were lost since the last release. My data sits safely on the D: partition (and backups).

Backup strategy

I don’t trust CD-R media or removable drive cartridges for backup purposes, and tape is either too slow or too expensive in the case of DLT. I keep full duplicates of my data partition and some Ghost images on a pair of 100GB external FireWire drives, one I keep at home and one at work. I rotate them weekly so even if my house burns down I will have lost in the worst case only a week of work or photos.

Limitations of this method

This technique doesn’t work very well if the underlying hardware configuration changes too often, and assumes a linear install history. If I install software A, then B, then C, I can go back from A+B+C to A+B or A but not to A+C.

How-to

This section shows how to extricate the data from OS/Apps which Windows and most apps usually try and commingle. The TweakUI utility from Microsoft is an absolute must-have. It is a control panel that allows you to change the behavior of the OS in vital ways that are not accessible otherwise short of editing the Registry directly.

Outlook

Outlook files are the single largest data files on my system (Ghost images do not count). By default, Outlook will create its PST file in the Documents and Settings directory. You can either relocate this directory to the D: partition, or create a new PST file in a location of your choice and use Advanced properties in the properties dialog for the PST in Outlook to make it the default location for POP delivery, after which you can close the old one and delete it.

My Documents

And derivatives like “My Pictures”, can be relocated to D: using TweakUI.

Favorites

For IE users, TweakUI allows you to relocate the Favorites directory to another place than the default. This way, you will not lose your favorites when you have to restore your system.

For Netscape/Mozilla users, the Profile manager utility allows you to set up a new profile with files that are stored where you want, e.g. on the D: partition.