Adventures with Windows 7

January 2nd, 2012

In the polarized world of computers, I'm a Mac guy. I've always been a Mac guy. I remember going into a computer store in early February of 1984 to look over the Mac with a friend. We were both very impressed with the design concepts. When I was laid off from Atari the next month, I knew that I would migrate to the Mac. I bought my first Mac in late March of 1984, and I was programming it by June. Over the years, I have owned just about every kind of Mac ever built, although over the last ten years I've found the need for keeping up the latest technology much reduced; Macs nowadays haven't changed as radically each year as they did in the early years.

I have owned a few PCs over the years, mostly to evaluate games on that platform. I remember playing Secret Weapons of the Luftwaffe and, later, Doom and Myst. But my last PC became obsolete sometime around 2001, and I never bothered buying anything after that.

But for Christmas this year my wife bought me a nice weather station system, which had software that runs only on a PC. I had also been building Balance of the Planet, and it was becoming a major pain checking to see if it ran properly on a PC. It seemed, therefore, high time to buy a PC; but the distasteful nature of the task dissuaded me from immediate action.

But on Tuesday, December 27th, we suffered a power failure. This happens about once a year in the mountains where I live, so Kathy and I just headed down to her office in town, where there was power. I called the power company, and they told us that the outage would not be repaired for several hours. I hate not having anything to do, so I did some research on PC prices. We decided that the after-Christmas sales were a good time to buy, so we headed out to see what was available. After visiting a couple of stores, we found a nice HP laptop for less than $400, so we bought it.

Usually a new techie toy is the source of much excitement, but in this case it was mixed with some dread. Other tasks delayed me before I could unpack and set up the laptop; I didn't get to it until Tuesday evening. It took a few hours to get through the setup process and figure out the basics of operation of the machine.

Wednesday, December 28th
I spent some time trying to get the weather station software working. The damn thing uses a dongle that plugs into a USB port; the dongle communicates with the weather station, probably by Bluetooth. The problem is that the software is too stupid to connect automatically to the weather station; instead, the idiot thing requires that you take it through a synchronization process. The instructions were, of course, idiotic. Something like this should be handled in a setup program or something in the main menu for the program. But no, the trick lies in finding a menu item under the "Extras" menu called "Resynchronize". Selecting that menu item brings up a dialog box instructing you to press and hold the "down arrow" button on the weather station until it beeps, then press the "Synchronize" button in the dialog box. This instruction is incomplete; after some trial and error, I learned that the proper procedure is as follows:

1. Press and hold down the "down arrow" button on the weather station.
2. Wait for it to beep.
3. Release the down arrow button.
4. Quickly click on the "Synchronize" button in the dialog box.

Get any of these steps out of order and it won't work. Most important, you must release the down arrow button BEFORE clicking on the "Synchronize" button. Ah, the wonderful world of Windows software, where everything is more difficult than it need be!

For some reason, the rain gauge has been reporting crazy numbers: 18 inches of rain in the first six hours, then no rain, then more rain. I went out and examined it, but physically, it looks fine. After reading the manual, I learned that I can reset the value in the weather station, which I did. So far, so good. But now the software on the laptop is reporting those numbers. After some more research, I learn that I can reset those values by the simple expedient of double-clicking on each bad value and then clicking on the "reset" button appearing in the resultant dialog box. I do this. It works for the boxes showing total rain and rain in the last month, but not for the boxes showing rain for the last week, the last 24 hours, or the last hour. Perhaps I'm doing something wrong. I'll sleep on it.

Thursday, December 29th
Today I want to set up Balance of the Planet on the machine and see how it runs. I put the program folder onto a thumb drive and then install the thumb drive on the HP. Then I copy the folder onto the Windows desktop. So far, so good. Then I open up the folder and double-click on the program. Nothing happens. Nothing at all. What the hell? Why can't I double-click on a JAR file and get it to launch?

I decide to ask Dave Walker, my old friend and a real Windows expert. This guy has been a technical guru at Electronic Arts and Adobe, and has been working with Windows in a technical and programming capacity for more than twenty years. He'll know what to do. I send him an email.

Friday, December 30th
Dave gets back to me by FaceTime on his iPad. He doesn't know how to get it to work; it should just work automatically. He says he'll research it.

Later he gets back to me. It turns out that this problem has bedeviled developers for years. For some reason, some Windows machines will refuse to launch a Java program when you double-click on its icon. Other machines will. Nobody knows why. He directs me to a number of programmer's helpsites where people ask technical questions. It seems that people have been asking this question for years, and there are a bunch of different answers, none of which seem to work.

Saturday, December 31st
I did some more research of my own and came up with the same answers Dave found. One of the websites suggested a little program that supposedly fixed the problem. I downloaded and ran the program, but it didn't help.

I talked to Dave and threw in the towel. I'll settle for getting Balance of the Planet to run in any way, shape, or form under Windows. I'll do it from the command line. There's a simple example of how to do this; I'll just copy the example. But I can't figure out how to get to the command line interface; I email Dave asking his help. He explains how to find the command line program.

Sunday, January 1st
I attempted to run Balance of the Planet from the command line as per Dave's instructions. I have no problem finding the command line program (later I can't find it), and I enter the command:

java.exe -jar C:\Users\Chris\Desktop\Balance\BalanceOfThePlanet.jar

I get back an error message explaining that Windows cannot find anything called java.exe. Remember, I simply followed the instructions for downloading and installing Java as they were presented at the Oracle website. Apparently Oracle thinks that the Java Virtual Machine (JVM) should be stored in someplace other than where Windows expects to find it.

I try numerous variations, none of which work. I write up an email explaining the problem and send it to Dave. I then head out for the cleaner and more refreshing task of draining the duck pond and cleaning out the accumulated duck shit that has built up on the bottom.

Dave calls in the early evening, and we try a few more things, none of which work. Remember, Dave has been using Windows regularly since its first version, and has programmed extensively with it. He suggests that I try getting it working from inside Eclipse, the development environment we use for programming. So I download Eclipse and install it. Then I fire up Eclipse. It refuses to launch, complaining that it can't find Java. At least it tells me where it looked for Java -- inside its own folder. Right. Now what?

I decide to re-install Java; perhaps I installed it in the wrong place last time. This time I simply follow whatever the system suggests I do. That oughta get it in the right place.

But no, I get Error 1723:

"There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor."

I shake my head in wonder at how obtuse Windows can be, then dismiss the dialog. But now a new dialog box pops up:

This is truly a wondrous dialog box. First it says that the program "might not" have installed correctly. Then it explains what to do if it didn't install correctly. Then it shows two boxes. One says "reinstall using recommended settings". The other says "This program installed correctly". I decide that Windows doesn't know what the hell it's doing. Only after I dismiss the dialog box do I figure out that the final two lines in the dialog box are actually buttons cleverly camouflaged as lines of text. Isn't Windows clever?

But what the hell, I decide to try Eclipse again. It launches and presents me with a new dialog box:

Failed to load the JNI shared library "C:\Program Files (x86)\eclipse\jre\bin\client\jvm.dll"

OK, let's try to install Java again. I go through the same sequence, only this time I press the button that says "Reinstall using recommended settings". There follows a hilarious sequence of events, pauses (just when I think it's done, suddenly something new happens), and finally it tells me that it didn't work. Oh well. I close the Internet Explorer window. It doesn't close. Perhaps Windows is still busy doing something; I go away for a few minutes. When I come back to close Explorer again, it still won't close. I eventually settle for minimizing the window back down to the strip along the bottom of the screen.

Monday, January 2:
Here's another example of Windows idiocy: I try to move the Java folder inside the Eclipse folder. Windows responds with a dialog box warning me that I'll need to provide administrator approval of this move. I hit the "Continue" button and it executes the move. So what was the purpose of the dialog box? If it was smart enough to figure out that I have administrator powers, why was it dumb enough to think that it needed to warn me of the fact that I had to be what it already knew I was? Gadzooks, Windows is dumb!

At this point, I'm stuck. There is no way that I can get Balance of the Planet to run on my laptop. If I double-click on it, Windows presents me with this dialog box:

Note the text at the bottom of the window behind the dialog box; it describes the file as "Executable Jar File". It says the same thing over to the right, in the folder listing of contents. Apparently Windows is too stupid to read its own file information. Perhaps it figured out that it needed Java to run the program, and couldn't find it. If so, it shouldn't have just presented me with this dialog box; instead, it should have announced that it knew that it needed Java to run the program, but it couldn't find java where it expected it. Windows should also have specified where it expected to find the JVM. This dialog box is a gross violation of one of my precepts for good user interface design: don't just describe the problem, present the possible solutions.

If I try to launch it from the command line, it at least tells me that it can't find java.exe or javaw.exe. I do a search in Windows Explorer and find it at two locations: C:\Program Files (x86)\eclipse\jre\bin and at C:\Windows\SysWOW64. Apparently one hand in Windows doesn't know what the other hand knows. Get a corpus collosum, Windows!

Lastly, if I try to launch Eclipse, it tells me that it can't find the Java stuff, even though I placed it in the same folder with Eclipse.

So it appears that Windows is completely useless. What's really ironic about this is that I have extensive experience with computers and know a great deal about how to operate them. Windows is so utterly clueless that even I can't figure it out. I suspect that those millions of people using it right now are going through rote processes taught them by others, and that if there were a cataclysm killing all but the very young and computer illiterate, the survivors would never be able to figure out how to get Windows to do anything at all.