January 2007 Entries

Visiting Alabama

My son, Damian, competed last Summer in the Bassmaster CastingKids competition in Iowa and took 1st place at the state level.  CastingKids is all about using a hookless lure to practice casting towards targets on the ground.  The actual competition was held as an event at the Iowa State Games.  He had practiced quite a bit and was very excited to have won.  Just over a week ago (January 18-19) Damian competed at the regional (semi-final) level in Gadsden, Alabama. There were two age groups and most states participated, so close to ninety semi-finalists were there to try to make...

Coding 4 Fun - Searching the Desktop

My most recent Coding 4 Fun article has been up for a few weeks now, but I haven't gotten around to mentioning it yet!    I wrote a neat little utility that uses the Windows Desktop Search index to provide auto-complete functionality for file names.  As you start to type, it shows files across your local hard drives (and possibly network).  The standard filesystem-based autocomplete (built-in to the TextBox) works based on matching the full paths, from left-to-right.  This one is based on solely on filename, so will find files that even contain the string in the middle of the word.  It's fairly...

Microsoft Photo Info tool: Digital Photography Review

Microsoft has released a great new tool for working with digital photos.  Photo Info adds shell extensions to improve the tooltip hover for photos, and adds a context menu item to work with photos individually or in groups.  You can manipulate all common EXIF and IPTC tags, and it even has very flexible date manipulation features built-in. Why date manipulation?  I had a camera a few years ago that would lose the time on every battery replace!  Of course I didn't always reset it, so I had many shots taken January 1, 2000.  More recently, my wife went to Guatemala...

Battling unhandled exceptions

As I was debugging an in-progress sample application, I was having trouble with an unhandled exception.  The application would bomb on an Invoke statement, when clearly there was no problem at that point: Image 1: An unexpected exception (click to see full-size) I had previously created a delegate pointing to a given method, and a delegate for the callback method.  From a delegate instance, you can call BeginInvoke to cause the method to be queued on a background thread.  When the operation completes, your callback method is invoked.  It's a beautiful way to dispatch low-priority programming tasks without...

Office Business Applications

Maybe you've written VBA macros for Office, or used COM interop to leverage Microsoft Office clients (Word, Excel, etc.).  When I worked at MCI (WorldCom, Verizon, whatever it is now!), we had a system to watch a database for rows to be inserted in a given table, then generate form letters with Microsoft Word based on that data.  When I first saw the application (obviously, I didn't write it!), I was amazed that such a thing could even be done.  It was like a world of opportunity opened having access to Microsoft Office features as part of your code. ...

Google Calendar Hacked?

I logged onto Google Calendar tonight to see this: Notice the interesting replacement for the Google Calendar logo!  It isn't actually a link to the mentioned site so the hack failed for that reason, but very interesting nonetheless!  I've never actually seen a live Google hack before, so I guess I'm lucky!