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
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!