What crack is Adobe smoking?

Last night I wanted to install Acrobat Reader 7 on my laptop.  Normally installing a program in Mac OS X is just a matter of downloading a .dmg (Disk Image) file, opening it, and dragging the application out of there to the Applications folder.  Sometimes the .dmg has a package installer in it.  So I wasn’t too surprised when I found that the .dmg file I’d downloaded from Adobe had a package installer in it.  But when I ran the package installer, it didn’t just copy some files from within itself to places on the destination drive.  Oh no, that would be too normal.  Instead, the package installer fired up a Adobe download tool that downloaded another freaking .dmg file!  And that .dmg file had a package installer that actually installed the Acrobat Reader.

Can somebody please explain why they wouldn’t just let you download the Acrobat Reader installer package, instead of making you download an installer installer?

Rone, you want to comment?

Phew!

The problem described in Rants and Revelations : Oh, buggeration! has been fixed.  It was a simple matter of some bad DOM programming – the way I was turning on and off the divs to show various parts of the refresh screen, specifically to show the “You’re done” part, was incorrect.  It’s unfortunate that the way I was doing it before worked on Firefox and Safari, otherwise I wouldn’t have assumed it was correct.

In case anybody cares, I had

div.setAttribute(“style”, “display:none”);

where I should have had

div.style.display = “none”;

which of course makes a lot more sense and is a lot cleaner if I ever put a style sheet on these things.

Oh, buggeration!

In my entry Rants and Revelations : Baby’s first AJAX I crowed about my lovely new AJAX Javascript refresh thing.  It is a thing of beauty and I thought a joy forever.  Until I got an email today from a guy who was generating a database and it suddenly stopped refreshing.  He said it did work until he added another state to the ones he’d done before.  And he also revealed that he was using IE, and was unable to change to Firefox becaused the computer was provided by work.

So I checked it out, and did a really big database generate.  It refreshed a bunch of times, and then suddenly it stopped.  And when I hit shift-refresh, the count reset to 0 as if it didn’t make contact to the XML producer at all, or couldn’t parse it or something.  “View Source” wouldn’t even bring up a window.  But when I posted the same URL into Firefox, it showed the correct results.  I tried backing off the security settings to the loosest, to no avail.  Can’t see anything useful in the various settings pages.
I wish IE had a Javascript console.  I’d really like to know what’s going on.

Bleargh

(Gee, how many times have I used that title that Firefox actually showed it as the first completion option once I typed the “B”!)

I have this curious pain running around my head.  Sometimes it seems to manifest itself like a hard little ball that lodges either just under the bridge of my nose or about an inch up from the bottom of my skull in the back.  Most of the time it’s just pressure on the back of my eyes.  Sometimes my eyes just won’t focus for a second or two.  I’m not sure if this is some sinus thing coming on, or a migraine about to pop.

Oh well, I guess we’ll see.  After all, there’s no better way to get expert medical advice than to post about it to your blog, right?

Baby’s first AJAX

I’ve enhanced my CoPilot Waypoint Database Generator to do a bit of AJAX-like coding.

Formerly, after you’d entered all your parameters it would fire off a background task, and then continually refresh a page that would look at the background task’s log file and tell you how many records it had put in the file already.

Now, the refresh page is still there, but if you have Javascript active, it does a window.location= to redirect to an html page which has some javascript that uses the XMLHttpRequest or ActiveXObject to call a perl script that generates a very small XML file that only has the progress, and sets the appropriate div in the page to visible and sets some values in appropriate spans.

It seems to work very nicely, but what a convoluted mess. Between the HTML, the CSS, the Perl, and the Javascript, I’ve got language fatigue. Javascript is not turning out to be my favourite language. I’ve never been able to understand why Sun didn’t sue Netscape over the intentional confusion between Java and Javascript, but now I’m even more confused.

All the other craptacular syntax and bogus object model aside, what Javascript really needs is a simple way to turn a simple bit of XML into an associative array. And don’t talk to me about JSON – even if I wrote both the client and the server, I just don’t feel right about having the client eval a string passed to it by the server – I just know there’s got to be a security exploit waiting to happen. So instead I’ve got all this

var tStatus = xmlDoc.getElementsByTagName("status")[0].firstChild.data;
var tOtherURL = xmlDoc.getElementsByTagName("otherurl")[0].firstChild.data;
var tRows = xmlDoc.getElementsByTagName("rows")[0].firstChild.data;

That's just ugly.