So another year is down the drain. I'd like to take the time to cover all of the neat stuff that has been going on this year.

First of all, perhaps the most important new tool at my disposal is Stack Overflow, which I use on a regular basis to learn more about programming languages and software development in general. I can't tell you how thankful I am to that crazy vampire Jeff Atwood and his cohort Joel Spolsky for having seen the idea through to the end.

Likewise, I've been using Google Wave to keep in touch with a lot of fellow software enthusiasts from Stack Overflow. Google Wave is weird and confusing and completely great for communicating with a bunch of nerds whenever they've got free time. Wave's sometimes-synchronous sometimes-asynchronous nature makes it the perfect choice for interacting with busy people. The more I use it the more I'm sure it'll catch on and be widely used.

Partially because of my general awesomeness on Stack Overflow and partly because of the efforts of some people I know on various Internet forums, The Right Glue has been seeing a lot more traffic this year than any other. I occasionally find my writing used to help explain certain concepts and the topics I've covered have even found their way into a podcast thanks to avid reader (read: sycophant) Josh. You might know him from the comments he leaves occasionally. (And the one he will assuredly leave on this post.)

The Right Glue has also gathered some interest from would-be web designers. There is, of course, Xinus whose comments I've discussed before. There is also Jeff Katz who claims,

This site has one of the more interesting gimmicks I've seen, and they appear to do it with script only. Scroll down, and you can see the images on the right stay in place relative to your browser, but different sections of the images are shown as you scroll. Hard to describe, but cool.

I wouldn't call it a gimmick. I would call it CSS magic! There's a distinct possibility that there are more people out there who think my website is neato and I just don't know about them. I only found out about Xinus and Jeff Katz from the referrer URLs my web server logged (and my daily reports extracted). Might these Internets be secretly filled with subtle stalkers visiting my site from places unknown masking their referrer URLs? Maybe. Just maybe.

I started this year of blogging with two posts on Markov chaining. Since then I've written at least two more Markov chaining algorithms: a new MySQL-based one for KevBot (to replace the fast-but-huge graph-based algorithm) and one for parsing arbitrary reems of text to output sillinesses at work (which I had made for Programmer Day and had fed the Harry Potter series of novels) with typically hilarious results:

"Hello, Harry," said Dumbledore after a moment against the Dark Lord only laughed. He was not going to smile, to keep drinking, remember? "The goblin made objects are, in goblin eyes, rightfully theirs." Unseeingly at the time, I didn't fully understand it. 'Yeah,' said Ron, his tone was musing, calm, but Harry's eyes followed hers.

There's nothing quite like machine-generated fanfiction. Thank you, Andrey Markov. Thank you.

I find it fitting that I should end the year keeping with my usual open policy regarding changes made to the site. From the outside you wouldn't have noticed that a few weeks ago I changed the fundamental model in which this site's data is stored, but I did! I re-normalized the database schema to accommodate a change that Agent #1 and others had been asking for for a while: <p> tags in the RSS feed.

It was something I've been needing to do for a while, and it's really helped me clean up some awful things that I was doing in the code that, if publicized, would find their way onto The Daily WTF. So thanks for whining at me, guys. The RSS feed conforms to your ridiculous expectations and my server-side code is slightly better for the wear.

The second I stop trying to improve myself and my work is the second I stop being a programmer. And I don't ever want to stop doing something I find so enjoyable. So here's to another great year of software, folks.