March 2006 - Posts

Setting up at WM5 device is hard work

As a couple of my recent posts hint at, I recently purchased an iMate K-JAM, and have found the setup process for using the device for anything outside the basic "phone and PIM" usage pattern pretty average.  "Phone and PIM" usage is adequate on my very cheap, old Nokia, so if I'm going to cough up more than a grand for a device, I'd expect the extras to actually work without too much hassle.

A few examples of the poor setup experience:

  • To read protected Microsoft Reader books on a WM5 device, you have to email Microsoft to get an XML file to place in your Windows directory (full details here). 
  • Activating Adobe Reader doesn't work at all ("Your Adobe software could not be activated.  Adobe DRM Activator error (client code 46). Fault code: 2 Contact customer support").  Needless to say, my contact with Adobe customer support have gone answered.
  • I had to re-install both ActiveSync and Windows Media Player multiple times on the desktop to get media sync working between the devices. 
  • Then, after a couple of hours when I final get the media sync working, trying to sync up a DRM-protected file purchased from MLB.com brings up the following error: "Windows Media Player cannot synchronize the protected file. Protected files cannot be converted to the required quality level or file format."  What this error message *doesn't* tell you is that you can synchronize the file by selecting Tools | Options in WMP, going to the Devices tab, selecting the WM5 device or storage cards, selecting Properties, then selecting the Quality tab on this dialog, and unchecking the "Convert files as required by this device (recommended)". I hope my grand-mother never wants a tutorial of syncing DRM-protected media to a WM5 device.
  • This morning I finally got Bluetooth ActiveSync going, thanks mainly to this post by Frank. The key was to initiative the Bluetooth patnership from the WM5 device, not the desktop/ laptop.  The Toshiba bluetooth stack I am using does have a Help section on setting up ActiveSync, but it is for a the 2003 version on the mobile OS, not WM5.

I think the last statement should go to Frank.  When setting up ActiveSync over Bluetooth actually worked on his K-Jam he described at in the following way "Then something magical happened".  Nuff said.

Posted: Mar 30 2006, 10:44 PM by nick | with 4 comment(s)
Filed under:
Closing the Messages window in SQL Server Management Studio
Ctrl-R.  Nice if there was a toolbar or menu item for this as well (Must remember Ctrl-R, Must remember Ctrl-R, Must remember Ctrl-R...)
Posted: Mar 28 2006, 11:35 PM by nick | with no comments
Filed under:
Child No 2 on the way

We got the 3 month ultra-sound this morning.  All in well.  Mother and child-to-be are doing well.

 

Posted: Mar 28 2006, 01:15 AM by nick | with no comments
Filed under:
Always Dispose System.Windows.Forms.DateTimePicker controls.

System.Windows.Forms.DateTimePicker registers for notification from the static SystemEvents.UserPreferenceChanged event.  It does this so that changes to the way a user would like to see date and time fields formated are reflected in the control as soon as the change has occured.  As this event is static, it is a GC root, so if you (as an object) register yourself for this event, the reference that the delegate chain of the event holds will keep you alive forever.  Obviously, de-registering for the event will remove this reference, which is what occurs in the Dispose method of the DateTimePicker.

An undiposed DateTimePicker will live for as long as the app domain does.

Posted: Mar 26 2006, 03:47 AM by nick | with 2 comment(s)
Filed under:
Jeff Beehler wows them at SDNUG (and Sydney still has some honest folks left)

Last Wednesday Jeff did a talk at SDNUG about managing the TFS project and dog-fooding TFS along the way.  Unlike all the other TFS talks Jeff did across Australia like the one in Canberra, Chuck offered us the option of getting Jeff to speak on the team dynamics of building TFS as opposed to TFS the product.  I love these talks, and quickly agreed with Chuck that this would be a much better talk.  If you are interested in TFS as a product, there are dozens of webcasts and articles that are available to educate and entertain.  Hearing Jeff speak on the process on building TFS was a unique experience - though he will be covering a lot of the material in an upcoming blog post.

Jeff's talk was great, and sold the product much better than a feature-set run down ala Prashant Sridharan.  While Prashant's demos are silky-smooth and show the product in all its glory, hearing Jeff talk passionately about why and how they did certain things in the product was much more compelling viewing.  Obviously having a product manager spruiking the virtues of the product to the unconverted makes sense, but in a user-group setting, having Program Managers talk about the product to the converted makes much more sense.  (For a good run-down on the differences between the two roles at Microsoft, check out this post by my old friend and yours, John Montgomery (who was gracious enough to give me permission to include performance figures in my book)).

As an aside to demonstrate there are still good folks left in the world, one of the attendees at the meeting lost his wallet on the train into the city for the meeting.  The wallet turned up in his letterbox yesterday with no return address or note, but the contents intact.

Posted: Mar 26 2006, 01:44 AM by nick | with no comments
Filed under:
Activating MS Reader on a Windows Mobile 5 devive

Currently there is a problem with the activation on a lot of device because of a missing oeminfo.xml file in the Windows directory on the mobile device.  When you try to activate Reader, it tells you the version of the mobile OS you have is too old.  To get this file, email msreadergirl@comcast.net with your device brand and make, and she'll send you the file.  A bit of a clumsy experience, but given the time to takes to get ROM updates through all the device manufacturers, this process is better than waiting 6 months. 

Thanks Christine for the file for my iMate k-jam.

Posted: Mar 24 2006, 08:26 PM by nick | with 1 comment(s)
Filed under:
Virtual PC and Inspiron 9400
This helps a lot to decrease the crash rate of Virtual PC on an Inspiron 9400.  I've had reports the VMWare doesn't have these problems... 
Posted: Mar 24 2006, 12:12 AM by nick | with no comments
Filed under:
SSIS Issue with Excel source

I've been doing a bit of SSIS (the data transformation technology formally know as DTS), and came across a nasty issue with using an Excel source to import data.  The problem may not actually lay with SSIS - the Excel Source in SSIS uses Jet under the hood, and the problem could rest entirely with Jet.

The problem occurs where you have a sparsely populated column - SSIS/Jet will only sample a certain number of rows (I think it is configurable in the registry somewhere) to determine the type of the data held in the column.  Say, for arguments sake, only 20 rows are sampled and no data is found.  The type of the data will default to a string.  If row 21 contains a numeric type or a date, this row will be silently ignored and treated as a null.  This is a pretty crappy default behaviour - silently ignoring data that you are spending a lot of time (and clients money) to import.  You have been warned!

Update: The registry key name is Hkey_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/TypeGuessRows, and has a default value of 8.  I've increased this value in my registry significantly.

Posted: Mar 15 2006, 08:39 AM by nick | with 3 comment(s)
Filed under:
Have I missed your email?

I've been missing a small but finite percentage of my emails since I've switched over to WebHost4Life, so if you've sent me an email and I haven't responded, it's not because I don't love you - I simply haven't got the email.  If you email me (and expect a response) and I haven't got back to you within 72 hours, please re-send the email.  I've got a support incident lodged with WebHost4Life to try and fix the problem.

Update: WebHost4Life has migrated me to their new mail server which is apparently much more reliable.  I hope this fixes the problem.

This Morning's Sunrise
Posted: Mar 13 2006, 08:33 AM by nick | with 1 comment(s)
Filed under:
SSIS - Using a parameter in a OLE DB destination (or at least getting close)
The MSDN help for the OLE DB destination is SSIS seems to indicate the it is possible to use "? as a parameter placeholder in the query text".  I tried this, and could for the life of me work out how to map the paramaters to variables.  The OLE DB source dialog box has a button called Parameters that you can click to do this, the OLE DB Destination dialog doesn't.  The solution - use an OLE DB Command transformation, enter the parameterized query as the SQL command (eg. UPDATE Client SET AddressID = ? WHERE (ClientID = ?) ), hit the Refresh button, and then you can map the parameters to variables on the Column Mapping tab.
It doesn't rain, it pours
Picked this up at the airport on the way home from Canberra on Tuesday night.  So now I've got Deadwood Season 2, the NRL, Super 14, and the new MLB season to balance over the next month.  Glad the surf-boat season is almost over.