Isotropic

Where ever you go, there you are.

08 Jun 2009

Cold-hearted man

Or so I was called today by a panhandler in the grocery store parking lot. I think he was offended by my refusal to shake his hand and telling him to go away.

Do not come up to me cold outside the Quick Stop, in the grocery store parking lot, or anywhere else, with a smarmy smile, your hand held out for a shake, and saying “Sir! Sir! Could I speak to you for a minute?” Sorry, but I’ve heard all the heartbreaking stories about being from out of town with a broken-down car, no gas or food, … way too many times.

Once I was more kindly, and would in weak moments respond to these pleas. On a few occasions, even sensing a con, I gave something just to see what would happen — like the person “needing” some food inside a fast-food joint, who immediately left the premises when I gave up a couple dollars; so much for hunger pangs. I smirked all the way to my car.

So, yeah, I’m a cold-hearted bastard. First I’ll ignore you, so as not to encourage you. If you’re persistent, I’ll shake my head, say “no” with a glare, and wave you away. If you still haven’t given up, I will yell at you and maybe even do my berserk psychopath routine.

07 Jun 2009

Complete installs and uninstalls

I think I must have missed a transition somewhere along the way, where the qualifiers “sorta” or “not really” became implicit for words like “Complete” or “Uninstall”.

There have always been rogue application (un)installations that due to programming errors or negligence don’t really do what they say, but I’ve lately grown increasingly annoyed at a couple packages.

First, there’s the Microsoft Office kit, which offers a “Complete” option during the installation. Now I believe that in general use, “complete” means everything, the whole shebang, the whole nine yards, whatever. Unfortunately, that’s not the case at Microsoft. The problem this leads to is that when applying updates — unless you had the foresight to really install everything initially — you have to insert the distribution CD-ROM before they will apply. Which is fine, unless you’re on the road, or one among dozens of Volume License Key users who don’t have the CD-ROM handy.

The solution is of course obvious (ha): you select the “Custom” installation and step through the options until you find where you can really do a complete installation … and then don’t inadvertently check the option to remove the installation files from disk afterward … and then don’t let the Disk Cleanup utility remove them later.

Second, on my list is HP’s printer borgware, which I’ve ranted about before. We have several of those L7580 All-in-One printers around on our network, and as far as I know they are working fine.

A staff member recently replaced a desktop with a Dell E5500 laptop, and needed to do multi-page scans initiated from the HP control software. However, the new install could not find the printer. Later, when coerced into finding it, it still wouldn’t scan, instead getting an internal error. This is after multiple uninstall/reinstall cycles.

Now, there appears to have been a problem with the HP installation at least since 2007, according to my Googling around. The only “solution” appears to be a complete uninstall and reinstall (which, by the way, didn’t work; User Support is gonna take that up with HP this week). Also BTW, if you read my earlier post, you recall that the installation is already broken unless you do a full install — and that’s according to HP’s telephone support.

As you’ve probably guessed from the “complete uninstall” above, uninstallation isn’t as simple as it seems. It turns out (surprise) that going through Add/Remove Programs to uninstall all the HP software is only the beginning. If you take that route, and try to re-install, the installer still sometimes greets you with a “Welcome Back!” and asks if you want to add a device. There’s no option to modify or repair an existing installation.

It turns out that there are some batch files that come with the installation, stuffed down in a subdirectory called “…\utils\ccc\” that purport to really uninstall the software. Before I get into that, I have a sub-rant about the location of on-disk installation files. Depending on your installation source (CD-ROM, downloaded kit, etc.), the installation files are copied to “7z????” subdirectories in “…\Documents and Settings\USERNAME\Local Settings\Temp\” (which is of course hidden from the normal user), or in “C:\temp\HP_WebInstall\…”, or who knows where else — and, by the way, these are not cleaned up by any of the uninstallation methods (yet another rant for another day).

So to really uninstall the HP software, the user has to navigate to hidden areas on their disk, plunder through multiple (if they tried installing more than once) directories, and finally come upon the batch files. Or, if you have the CD-ROM, you can find them there, but they may not match what you’ve actually installed or updated.

Now, you’d think that there might be an “uninstall” batch file, and perhaps a “really-seriously-i-mean-it-uninstall” batch file (given the state of things), but you’d be wrong.

There are actually five(!): Uninstall.bat, Uninstall_L1.bat, Uninstall_L2.bat, Uninstall_L3.bat, Uninstall_L4.bat. If you look at the comments in them, the successive “levels” (the “L”) claim to remove more and more “stuff” from your system, with Level 4 claiming to really, seriously, I’m-not-kidding-this-time, remove everything, if Level 3 didn’t solve your problem. Arrrgh.

31 May 2009

Smile when you say that

smiley According to an article at USA Today, four states have adopted a “no-smiles” policy for driver license photographs (although it later mentions that three of them “allow slight smiles”). Thirty-one states already do computerized photo matching and three others are considering it.

The photo matching software is used to detect possible DL fraud or identity theft. The reasoning behind the requirement is that the software performs better if the images have “neutral facial expressions” and it’s easier to get people to conform to the software rather than the reverse (a rant for another day). However, from the article I get the impression that most states don’t consider that a problem. Maybe these four states should consider alternate vendors?

I don’t think this is a big issue, at least in isolation, but it did remind me of the bland society we’re trying to turn ourselves into. Fix the software, don’t tell people they can’t smile.

What did annoy me was this:

Elaine Mullen of Great Falls, Va., bristled at the policy while renewing her license until she heard the reasoning. “It’s probably safer from a national-security point of view,” she says.

First, it’s about fraud, not security. Second, I detest the way “national security” has become another code-phrase, like “think of the children”, that just shuts down any reasonable discussion and the immediate sacrificing of any rights and conveniences to the shrine of security theater. Arrrgh.

h/t: Schneier on Security: No Smiling in Driver’s License Photographs

image: Smiley.svg, Wikimedia Commons

25 May 2009

Does it matter whether you are a simulation?

What is the probability that you are a simulation, and if so, how can you tell?

I ran across this idea a while back on one of the science blogs I follow, but had just glanced over and forgotten about it until someone asked about it on LinkedIn yesterday.

Nick Bostrom of Oxford University asked “Are You Living In a Computer Simulation?” in a 2003 paper. From the abstract: “This paper argues that at least one of the following propositions is true: (1) the human species is very likely to go extinct before reaching a “posthuman” stage; (2) any posthuman civilization is extremely unlikely to run a significant number of simulations of their evolutionary history (or variations thereof); (3) we are almost certainly living in a computer simulation.”

Because it has continued to be a popular / controversial topic, Bostrom has set up a web site Are You Living in a Computer Simulation? where “[...] you can peruse the debate that followed the paper presenting the Simulation argument. The original paper is here, as are popular synopses, scholarly papers commenting on the first paper, and a couple of replies to these comments.”

Note that the paper itself isn’t an argument for or against #3 (we are a living in a simulation); rather that at least one of the three propositions is true. The interesting (and perhaps creepy to some) point is that if you assume some future post-human civilization can simulate their “ancestors” (us), and that they do so at all, then vastly more simulated humans will have existed than ever physical humans did. Thus any person at random who ponders this question is much more likely (p ~ 1.0) to be a simulation than an original physical human.

So, how can you tell? Well, you probably can’t, unless the entity running the simulation wants you to. If by some means you did discover (or came close to discovering) you’re a simulation … you get restored from backups … or deleted … or the whole simulation would get reset. Ouch.

At least read the NY Times article “Our Lives, Controlled From Some Guy’s Couch” (linked to from the site above) for a lighter take on the idea.

Oh, and the obligatory Wikipedia link: Simulated Reality.

23 May 2009

I’ve never been to Spain …

… but Live Search apparently thinks Isotropic lives there — almost all my pages appear to be tagged region “es” instead of “us”. Sigh.

17 May 2009

Computer Math

2+2=5 In early April I said “The real problem was that new users either believed that computers understood and used ideal mathematics, or had come from ‘mainframe’ backgrounds where all math was done with decimal data types rather than defaulting to low-precision floating point.”

So I was tickled to see Jeff Atwood’s blog post on 5/13, “Why Do Computers Suck at Math?” in which he mentions several infamous glitches (mostly fixed now) in the Google and MS Windows calculators, MS Excel 2007, and the ill-fated Ariane 5 rocket. He also gives a summary of floating point and recommends David Goldberg’s “What Every Computer Scientist Should Know About Floating-Point Arithmetic“. You may want to see Wikipedia’s “floating point” entry for a less technical overview.

As usual, the many comments expand and correct his main article. I encourage you to at least skim through them. However, there were a couple things that I did find more amusing than edifying.

First, there was a comment that said floating point math was developed for the x87 coprocessors to compensate for low power and scarce memory. Ahem. That’s right up there with Al Gore inventing the Internet and Bill Gates inventing UNIX. Digging through my own junk closet I found a 1975 printing of “Introduction to Programming” which includes assembly level programming of the PDP-8e’s floating point unit. A little more digging turned up a 1970 copy of Schaum’s Outline Series “Introduction to Computer Science” which not only discusses floating point, but also has you work out fp logic circuits (yes, really: and, or, and not gates)! Wheee, I don’t remember doing those exercises. Oh, to close the circle from the comments, there’s BCD — my 1981 MC6809 Microprocessor Programming Manual shows the MC6809 had instructions for BCD. These were mini- and micro-processors; the actual history of these concepts is much older of course.

More entertaining, however, is the lengthly discussion of whether “0.999… == 1″. Really. Now, to be right up front about it, this is true. 0.999… is 1. None of this “approaching” or “almost but not quite” stuff. Those are two ways of representing a single ideal number: 1. Apparently this is a big deal, kinda like the thermal properties of blankets I also mentioned in the April post. For the short answer, see “Why does 0.9999… = 1 ?“; for a longer discussion, see “0.999…“.

Q. How many mathematicians does it take to screw in a light bulb?
 
A. 0.999…

I guess I have the sort of twisted mind in which all of this makes perfect sense. Everything is just layer upon layer of convention, filtering, abstraction, and indirection.

I just recalled a discussion of how computers “really” store numbers that came up while going over converting among decimal, binary, octal, and hex representations. Along the lines of how can “it” tell whether it’s storing a hex or octal number, or maybe even a character, or something else. Hmm, kinda like the “how does a thermos ‘know’ whether to keep stuff hot or cold” — it’s the wrong question; you’re using the wrong filter.

I once had someone dabbling with programming ask me what arrays were good for, since they didn’t understand them at all; I wasn’t sharp enough to give them a good answer. But for “real” programming, it seemed that the big sythe-level filter was pointers, or more generally, indirection. It either clicked or they were lost. Nightmare: an array of pointers to functions returning pointers to structures containing pointers to ….

But I love that sorta stuff; you shouldn’t be surprised that Gödel, Escher, Bach: An Eternal Golden Braid is one of my favorite books.

As a friend of mine says “Well, that explains a lot.”

16 May 2009

Panic

deer-shark “More people are killed by deer than sharks, but you don’t see park rangers running around like nutcases.” –Seth Godin, Might as well panic

image: White-tailed deer.jpg, Wikimedia Commons
image: Carcharhinus amblyrhynchos wake.jpg, Wikimedia Commons

15 May 2009

Don’t Look Don’t Tell

Lady Justice It’s time for another rantish post.

[T]he manufacturer maintained that the system was perfect, and that revealing the source code would be damaging to its business. They were right about the second part, of course, because it turned out that the code was terrible.
[...]
Basically, the system was designed to return some sort of result regardless.
Bruce Schneier, Software Problems with a Breath Alcohol Detector

Schneier goes on to say that ‘”You can’t look at our code because we don’t want you to” simply isn’t good enough.’ in the realm of evidence and other legal situations.

Don’t forget the debacle with electronic voting systems, either.

You would think that the primary goal of a programmer would be correctness. After all, whenever I use something, whether software based or not, I expect correct functioning, and if I don’t get that, then I consider the product or procedure broken … but then I’m just a naive consumer. An ideal product would first have to be “correct”, but also relatively accurate (for instance, “a few meters” is good enough for GPS), and performant (a speedometer should display your current speed, not what it was five minutes ago).

However, programmers don’t work in an ideal world, and are rarely in charge. Usually the real priority is the bottom line, and every thing else follows. You probably have seen the meme

  1. something
  2. ???
  3. Profit!

Let me put that in priority order and expand it:

  1. Profit!
  2. release
  3. pretty
  4. fast
  5. precise
  6. correct

Years ago in Windows Developer[1] someone from a major software house (heh) explicitly stated that the “user experience” was the most important thing, and that correct functioning should be sacrificed for the sake of a better UX. WTF? I obviously have never been in the target demographic for those products. I think this was the same issue where they kept referring to a current software development product, still in active development, as “legacy code”, pushing instead a still-in-beta product as the only way to go, leaving those dinosaurs (who converted to the legacy system just a year or so ago) behind in the primordial dust. But I’m not cynical.

In the precise category (precision, accuracy, and resolution are unrelated), I recall a 10KVA UPS system I ran across. I thought it was pretty cool, if overkill, that it showed the current flow to a couple or three decimal places … until I realized that it only had so many discrete values that it displayed. The “precision” was meaningless; there were only about three different “.nnn” values ever displayed. From what I remember, the current values were probably a geometric sequence — sort of like the 10% resistor preferred value scale (10 12 15 18 22 27 33 39 47 56 68 82) — with the decimals thrown in just for appearance’s sake.

image: Lady justice standing.png, Wikimedia Commons

  1. I kept this particular issue for a long time, due to this article, but I can’t find it now; I’ll update this post if I do []
12 May 2009

Car Warranty

Yay! FTC probes car warranty ‘robo-calls’.

I’ve only received a couple of these calls on my cell, and a couple at work, unlike some poor individuals who keep getting called.

09 May 2009

Engineering of Empires

compass.jpg Lately I’ve been watching The History Channel’s “Engineering an Empire” documentaries. It’s easy to see the remains of these empires and be impressed, be appreciative of the wonder they provide us, be grateful for the technology they inspired — although often enough what they did was forgotten for hundreds, even thousands of years.

While the engineering feats are truly amazing, the historical and societal contexts are equally fascinating. Almost without exception, the rulers involved are described as ruthless, often as driven, and even sometimes as insane. Usually these wonders were works of personal vanity or aids to conquest.

While aiming for eternity, the intentions (if not the artifacts) rarely outlasted the lifetimes of the instigators. Too often the single-mindedness of these projects brought their empires to the brink of bankruptcy or destruction. Watching the documentaries over a relatively short period of time, I developed a feel for the ebb and flow, the generational wavelength you might say, of these attempts. Each leader thinking “this will endure” while with historical hindsight I knew that it would end with their death or soon thereafter, sometimes only a few years away.

Another insight from seeing this repeated over and over again around the world and through the ages … your descendants may appreciate what was done, but you did not want to be there. Human strength was pretty much the only source of power, so slavery or forced labor was the rule. Only rarely were workers hired or fairly paid for their labors. Nor did you want to oppose the grand idea, nor suggest that the empire’s wealth could be better spent on its citizens or defending its borders — these guys earned the title “ruthless”.

I’ll leave you with a couple poems.

Ozymandias

I met a traveller from an antique land
Who said: Two vast and trunkless legs of stone
Stand in the desert. Near them on the sand,
Half sunk, a shatter’d visage lies, whose frown
And wrinkled lip and sneer of cold command
Tell that its sculptor well those passions read
Which yet survive, stamp’d on these lifeless things,
The hand that mock’d them and the heart that fed.
And on the pedestal these words appear:
“My name is Ozymandias, king of kings:
Look on my works, ye Mighty, and despair!”
Nothing beside remains. Round the decay
Of that colossal wreck, boundless and bare,
The lone and level sands stretch far away.

Percey Bysshe Shelley

Epitaph for the Race of Man

VI

See where Capella with her golden kids
Grazes the slope between the east and north:
Thus when the builders of the pyramids
Flung down their tools at nightfall and poured forth
Homeward to supper and a poor man’s bed,
Shortening the road with friendly jest and slur,
The risen She-Goat showing blue and red
Climbed the clear dusk, and three stars followed her.
Safe in their linen and their spices lie
The kings of Egypt; even as long ago
Under these constellations, with long eye
And scented limbs they slept, and feared no foe.
Their will was law; their will was not to die:
And so they had their way; or nearly so.

Edna St Vincent Millay

image: Niki K, Compass (drafting).jpg, Wikimedia Commons

© 2009 Isotropic | Entries (RSS) and Comments (RSS)

GPSwordpress logo

Site last updated 2009-07-04 @ 14:07:40