Wednesday, May 30, 2007

Stupid CD keys

1. You go to install Visual Studio .NET 2003
2. It asks for the CD key
3. You go to your list of MSDN keys and enter the key for Visual Studio .NET
4. It accepts the key and installs the program
5. You download and install the 300 megabyte service pack
6. You start the program and get the following dialog box:

Please enter a valid product key to use this product - setup has detected that the product key is missing or invalid.
You will find this 25-character key on your Certificate of Authenticity or the yellow sticker on the back of the CD case.

Then you got TechNet and find the following:

It turns up the installer for Microsoft Visual Studio .NET 2003 will accept a key for Visual Studio .NET 2002 without giving any error (which is what I entered from my list of MSDN keys which didn't specify whether the key was for 2002 or 2003). The only recourse is to uninstall everything and reinstall.


Tuesday, May 29, 2007

Things continue...

Met up with Kyle in the city on Saturday, which was nice. Lunch in Madison Square Park. Was good to catch up.

Spent the rest of Memorial Day Weekend in Philly. Got caught up on Linux Journal. Watched This Film is not yet Rated with Vikki. Was interesting to see the process behind who decides what makes a movie rated "R" versus "PG-13". What criteria are they using? Why is panel of judges a secret?

Continued to play with my ATSC receiver under MythTV tonight. I got the video working and was receiving crystal clear 1920x1080 HD video, except the installation of the DVB drivers seems to have caused all audio to stop working. If I unplug the USB device and reboot, the audio comes back. Updated to the development version of the driver and now the Linux kernel panics on boot, regardless of whether the device is attached. Very annoying since I'm not equipped to debug the problem (no kgdb setup, no LILO configured with fallback kernel).

I would hate to have to re-install KnoppMyth in order to get back to a known state, but that might just be the fastest/easiest way given I hadn't done any customization or had any actual data on the system. If I'm going to do that though I'm going to break down and setup a real debug environment instead of squinting to try to decipher 800x600 text on an eight year old television. I guess it's about time.

Monday, May 21, 2007

The good, the bad, the ugly

The good:

Had the day off today from work, since my job is the only one I've ever heard of that gives employees their birthday off. Pretty cool.

Need to get back to some people who were nice enough to remember my birthday and email me.

Today I wanted to play around with MythTV today for the first time in a while. Bought an Elgato ATSC USB television receiver today. I specifically wanted to find a device that would work cleanly with Windows, Mac, and Linux. Had been digging around and couldn't find a single product that supported both Mac and Windows. All the vendors were selling two different product lines.

It turns out the Elgato eyetv for the Mac is just a Hauppauge HVR-950 but with Mac drivers. It's the EXACT same hardware. In fact, they didn't even change the USB device ID from Hauppauge's. They don't advertise it, of course. They do make sure you buy the Elgato card for $139 and not just buy the Hauppauge card for $99 and then load the Elgato drivers by having a licence key for the driver.

It works great on my Mac. The drivers loaded without a hitch, and I am now receiving crystal clear HDTV from the Empire State Building. Now more snow and ghosting from the analog signals!

The bad:

While it supposedly does work under Linux, I'm going to have to play around with the V4L releases in order to get the firmware to load. Unfortunate, but expected given the KnoppMyth distribution I am using.

The ugly:

The internet access I have been "borrowing" from my apartment just happens to be on the 192.168.2.x network, which is the same address range handed out by Apple Internet Connection Sharing. I didn't think this would be a problem, except Apple hard-coded into the configuration tool and provides no way to specify an alternate network definition (at least not as late as OS X 10.4.9). So I have to play around with natd to make it work (and I swear the freebsd tools like route and ipconfig are a PITA compared to Linux). I didn't expect to spend so much of the afternoon just trying to get my MythTV box to connect to the Internet.

The building I just moved into is having their annual shareholders' meeting tonight. Going there now; figured it would be a good opportunity to meet the people in the building.

Saturday, May 19, 2007


Lauren and Greg were supposed to meet me in the city to do lunch since they were going to see SpamAlot. Julie and Suzy tagged along. Took them to Crooked Tree and had some awesome crepes.

Came back to show them the apartment. Opened the door and there was a stroller immediately inside the doorway. Looked up and there was my whole family, in New York, in my new apartment throwing me a surprise birthday party.

My thanks to family and friends who went through the trouble to come out.

Friday, May 18, 2007

Rechargable batteries via USB

Make Magazine pointed me to these:

Very cool idea, but not cost effective yet ($19 for two).

Thursday, May 17, 2007

Chair of Mystery

So I came home from work tonight, and the doorman told me that I got a package. It turns up some anonymous party had Target ship me a new chair.

The strange thing is, it's the exact same chair I was looking at when Vikki and I were at Target last Saturday. How did this person know it was the exact chair I wanted?

Tuesday, May 15, 2007

Fun with SQL Server clustering

"Are you pondering what I'm pondering?"
"Well, I think so, Brain, but first you'd have to take that whole bridge apart, wouldn't you?"

Learned alot about SQL Server clustering yesterday. Like why SQL Server instance names are always preceded by the netbios name. How the Microsoft cluster API can be interfaced and the differences in registry layout relating to clustered versus non-clustered instances.

Trying to figure out what the whole picture looks like so I can figure out how to integrate it, and hopefully not have to redesign the entire existing system.

Thursday, May 10, 2007

What sort of problems might you hit with mod_perl?

I asked a perl developer job candidate what might be the downside of moving an existing Perl CGI script to run under mod_perl. Here is what I got back:

I was giving some thought to the mod_Perl question you asked - specifically, given a choice between mod_CGI and mod_Perl, which would I choose? These are only guesses, but if the page tends to be static but served frequently, then CGI might be a better choice since the browser can cache it - i.e. put the burden on the client rather than server. Also, infrequently served pages may be better candidates for CGI. Lastly, I'm not exactly sure how mod_Perl modules are added to Apache, but if it involves restarting the server, this might be a consideration as well.

Yes, for those of you who are not Perl developers, this this utter jibberish.

The irony is that he emailed me this a few hours after the interview, supposedly in an attempt to redeem himself from the even more ridiculous answer he gave when I talked to him. Don't you think it might have made sense to use "the Internet" to lookup the answer?

Sunday, May 6, 2007


Met up with Vikki on Friday night in Philadelphia. Picked up her new car and drove to New Jersey on Saturday. Played Scrabble in Shark River Park. Met up with Lauren and Julie for ice cream. Talked a while.

Came back to New York today. Spent most of the day in the office working on the crashes I am seeing with Perl on Win32. It looks like the DBD::ADO module doesn't clean up COM properly in some cases. In fact, it doesn't look like it cleans it up properly in any case, but this normally doesn't cause a visible problem.

Also found out that Win32::Registry is not threadsafe. There is a static variable in the XS module that holds state info.

The intermittent nature of these crashes has prompted me to look at making the way I embed Perl more resilient to such problems. This should hopefully mitigate these issues even if I can't isolate good fixes for them.

I have a headache.

Friday, May 4, 2007

Slow computers are annoying

As I sit here with my workstation's CPU pinned at 100%, I'm prompted to ponder question 9 of the Joel Test:

Wednesday, May 2, 2007


Went to the Tribeca Film Festival with Carter, but didn't get into any of the movies. Figures.

After debugging in the background over several days and about a dozen emails back and forth with tech support, the allocation conflict I have been trying to isolate turned out to be a bug in BoundsChecker where it couldn't tell the difference between

char *foo = new char [num_bytes];


char *foo = new (std::nothrow) char [num_bytes];

It's unfortunate how they weren't very helpful in tracking down the issue and I essentially had to do all the work myself. It's a bitch to try to figure out why a commercial product is misbehaving because you can't just look at the source code.

I am hoping they can give me a fix. The downside is that this means the heap corruption I was trying to track down was a false positive. Argh. Still not making headway fast enough on the bug in Perl that is crashing my win32 process either.

Stuff I decided not to move

So the move prompted me to think about some of the crap I accumulated over the years, about how there's less space in my apartment, and how I really don't want to pay to move this stuff.

So join me on a trip down memory lane as we look at some of the things I decided not to move:

User manuals from electronic crap and computers where I haven't owned the electronic crap and computers themselves for many years.

Look Mom, I finally found my inhaler! Too bad it expired in 1996...

My first laptop computer, compliments of the Wall Township Board of Education and Fort Monmouth. Thanks Steve!

Another shot of my first laptop sitting next to my current laptop so you can get some idea as to the scale. See the big brick attached to the rear, that's the battery!

Yeah, I didn't think I would be using this much anymore.

Hold on a second! I'm not getting rid of that!