2007 Retrospective

Another year come and gone, so it’s time again to throw up a bit of a retrospective of highlights for the past 365. (For reference, here’s last year’s retrospective.)

In January, I put out version 2.1 of my DHTML tooltips for Amazon links (which are sort of obsolete now since Amazon has all that set up from their site in a much richer format). I did a review of various clipboard management software and ended up with ClipX as the winner of that showdown. I also pumped out a little command-line GUID generator and a custom NAnt task assembly with some helpful stuff in it.

In February, we got a new little terrorist cat named Jack. I published some tips on disaster recovery and trouble-free continuous integration. We all got a little sick of hearing about FizzBuzz toward the end of the month.

March got me trying to get people to switch their blogs to use inline styling when including code snippets because they don’t format right in RSS otherwise. I’m still fighting that one. I got Media Center working with my Xbox 360 in a test environment (but I’m still trying to determine the right way to go to serve up DVDs and meet all of my requirements).

In April I had electronics and DRM issues. The lifespan of my 3G iPod sort of reached a logical limit as I hit the 1418 error and found that the iPod must be plugged into the wall while charging synchronizing as of iTunes 7. I got a Red Ring of Death on my second Xbox 360 (which hit me with some bad DRM juju) and bought a new DVD player because of bad Sony DRM. I also got into the design for testability vs. design for usability debate with respect to static helper utilities. Oh, and I attended MIX07, which I blogged a lot about [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].

May saw CheckFree acquiring Corillian. It also saw TypeMock publishing a nice case study of its usage inside Corillian. I tried to figure out how you’d detect through reflection if two object types can be added together, but never did get an answer. Just at the end of the month, I posted the EmbeddedPageHandlerFactory - a way to serve up ASP.NET 1.1 from embedded resources.

In June The Sopranos ended with a whimper and I migrated my blog to Subtext. I preordered GTA4 (which still hasn’t shipped), posted a CodeSmith template for generating generic KeyedCollection derivatives and solved the Guitar Hero controller loose whammy bar problem with some o-rings.

In July I did a fireworks show in Walla Walla, WA, gave away some code to convert an Outlook message into a task, and made a bookmarklet to automatically copy an Amazon Associates URL to your clipboard while browsing Amazon. I published the EmbeddedResourcePathProvider - a way to serve up ASP.NET 2.0 from embedded resources. Oh, and I turned 31.

I started August out by showing you how to mock a page request lifecycle with TypeMock. I started getting laser hair removal on my face (which I’ve continued to do: 1, 2, 3, 4). I also posted some tips for non-programmers who want to learn how to program.

In September my Xbox got tanked by a dashboard update so I got to send it in for repair, making this the third time I’ve had to get things fixed. I found an odd issue where ISAPI filters were causing problems with .NET and showed you how to optimize your TortoiseSVN cache for better disk I/O.

In October I celebrated my first wedding anniversary. I ran into a problem where I found that .NET assemblies store enum values, not references to the original enum, which caused some havoc. I got hit by some changes in the Xbox Live DRM model, which, two months later, I’m still fighting. I also posted a program to help you copy iTunes track metadata from one track to another.

In November I went to the Microsoft Patterns and Practices Summit (Days 1, 2, 3, 4, 5) and met Lutz Roeder while up there. I posted some tips on writing good XML doc comments in your code. I participated in the One Laptop Per Child program (which I later unboxed for you). I installed VS 2008 and the install was the worst. I rounded up some “Command Prompt Here” utilities for you and learned, via Rock Band, that I might just suck as a drummer. Finally, I showed you how to use ParseControl to combine ASP.NET skins and localization effectively.

December saw CheckFree getting acquired by Fiserv. Xbox DRM continues to eat my lunch so I posted some maintenance secrets that might help you avoid a call to Xbox Support. I posted UrlAbsolutifierModule - an HttpModule that helps you convert URLs from relative to absolute format in ASP.NET. I watched the sixth season of 24 all in one day, found that FxCop 1.35 uses Office 2003 for its spell checker, and showed you how to move your iTunes music library.

That pretty much brings us to current. It’s been a heck of a year - I got acquired twice, went to some great conferences (and met some cool people), and posted some [hopefully helpful] stuff for folks. Here’s to a great upcoming 2008!