I've had a couple people ask me this question about my blog. The simple answer is: to explore my adventures in code, coding, patterns and pretty much anything else related to programming.
I realize from a readers perspective my topics may appear somewhat random. After all I post in C#,VB,C++ and Powershell with varying degrees of frequency. I jump from patterns to specialized templates to threading to random gotchas to API Design. The reason for the jumping is I post topics close to the projects I'm working on and I work on a lot of projects :). At any given time I'm working on one of the following items.
- My job as developer on the VB Debugger and IDE
- My personal managed utility libraries (non-UI and UI) 
- The PInvoke Interop Assistant
- Several internal tools
- My scripting environment
- Customer reported issues in forums
- This blog
- Whatever happens to capture my interest at the time.
Whenever I discover anything interesting, find a bug or see yet another pattern/design I like or dislike I try to blog about it. I do this for two reasons.
- My own personal sanity. I've found through years of programming that it's very unlikely you will hit an error only once. Instead you're likely to see it time and time again. Blogging about it both helps firm the issue into memory and gives me a great reference to fall back onto the next time I see that bug. It's really simple to lookup a blog post by tag and read it or point a coworker to it.
- Everyone else's sanity. The more people who write about issues, the more likely someone else will find an answer when they enter a problem into a search engine.
In short, I love to write and talk about code and this is a great forum.
 Hopefully on it's way to http://code.msdn.com so I don't have to keep posting little snippets and making users paste snippets from various blog entries to get a simple working example.