Useless Error Messages

I’ve had the misfortune of having to work on getting a product to work as an ASPX script instead of the CGI it was originally.

This is a misfortune in two ways:

  1. I’m not an experienced Windows developer.  The last time I used Visual Studio was when it was version 1 while welding a copy of the first edition of Charles Petzold’s “Programming Windows”.
  2. Windows is horrible to do anything out of the ordinary in.

In this case the ASPX script needed to use a wrapper around a C DLL that required other DLLs.  This isn’t something that Windows wanted to do; it wanted all DLLs to be installed into C:\Windows\System (or the modern equivalents).  Not something that was possible for various reasons.

So what kind of errors have I gotten?

The Specified module could not be found. (Exception from HRESULT: 0×8007007e)

The error message didn’t include any more information than this.  The event log was empty and I couldn’t use the debugger to break into the process early enough to see what it was trying to load.

It turned out to be due to a DLL requiring a DLL requiring a DLL that was missing.  I still, to this day, don’t know which DLL it was actually missing.

If you want to see how useless this message is try searching for that message; there are millions of people asking for help and only a few posts with a solution other than install all the DLLs into your system folder.

To solve it, I had to read and re-read tons of documentation on how “Assemblies” work.  Assemblies and shadow caching are worthy of a whole ‘nother rant.  Trust me on that.

Server Application Unavailable

This message included a note to the Administrator:

An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.

Of course, there are two different logs you might look in: System Events and the IIS logs.

System Events had no log messages in it.  The IIS logs only told me that it was an HTTP 500 error. There was nothing else.

Yay!

Could not load file or assembly ‘VivisimoNET’ or one of its dependencies. An attempt was made to load a program with an incorrect format.

There was an System Event entry for this, at least, but it didn’t say much more.

Fortunately, I was prepared for this; I knew it would complain because my DLLs were 32bit (as needed for debugging in Visual Studio) but IIS needed 64bit DLLs.


I’d argue that error messages and debugging output are very important. I’m amazed at how horrible the logs, debug messages, and other feedback is in Windows.

Obviously there is enough debugging messages to let people get their work done. Or maybe there are just enough people to talk to each other and solve it that way. Who knows.

Ciao!

PowerCup

This is a really cool gizmo, the PowerCup.  It’s a power inverter for your car.  It has two 3-prong outlets and one USB port.  It’s rated for 200 watts (400 peak).

It’s awesome how it fits in your cup holders instead of having this clunky thing on the floor.

W00T!

I’m on TV!

I’m on TV at KDKA; They did a report on immigration in Pittsburgh and I was one of the backdrops used for the voice over.  You can see my desk as the reporter talks to Raul and he walks past the stairs at about 2:47.  And again you can see me up close and scary at 2:55.

It’s really my fault since I asked the cameraman about his camera.  I thought that with all the cool new technology out that the camera would be smaller than it was. It looked just like the ones I saw 10-20 years ago.  He said that there was an advantage to it being large: longer battery life and more stability.

The footage was taken about 4 weeks ago, if I remember correctly.

Ciao!

Lots of cool software cheap

If you haven’t heard of MacHeist, then you should go check it out right now.  It’s only good for four more days. What they do is sell a bundle for $39 that includes lots of different mac software from different vendors.

They exact amount of software you’ll get depends on how many people sign up.  As each milestone is met, another package is unlocked. 25% of the $39 goes to one of their 10 charities (or split between all 10), your choice.

They also have other little “missions” and side things to get more software. Right now, for example, they have a tweetblast that’ll get you Delicious Library 2 and really fun game, Multiwinia.

So go and donate to charity and have a blast playing with all the software. ;-)

Ciao!

Our New Car

Our new used 2006 Scion xBRobin and I bought ourselves a new car over the weekend: A 2006 Scion xB. It’s boxy, white and cute.

The thing we like the most is the amount of space present in the car. It’s huge inside. The backseat has enough space to easily cross your legs without touching the seat in front. I could almost wear a top-hat in the car!

It’s a used car. It had 19,000 miles when we bought it.  Our mechanic has checked it from top-to-bottom and said it looked good.

The only potential downside is that it is a manual transmission.  Personally, I don’t mind it; I’ve wanted an excuse to get good at driving a stick for a while.

Robin has driven a motorcycle but hasn’t had any experience driving a manual-transmission car.

We’ve been driving to the water front to practice in their parking lots.  Robin’s gotten quite good with (relatively) flat surfaces.

Now we need to get her some practice on some real hills.

I was thinking of going to one of the bigger hills and finding as spot where there are empty parallel parking spots and stopping there.  Then letting Robin start from a stand-still there.  That way there would be space to go backwards without hitting anything or blocking traffic.

I may stay outside the car to watch for traffic, etc.  Not sure.  To bad not many parking lots are on hills. ;-/

Ciao!