Needless to say, I'm there. The training consists of a bit of lecture on programming things that we may or may not know, us getting handed a problem statement from http://www.programming-challenges.com, and we all race to solve it.
TopCoder is fun. It's fun to code my brains out for about two hours (once all the tests are done), trying to solve an algorithmic challenge. But I have to concede... it is so much more fun to work with other people on this. Nothing can describe the pure joy I got from the raw pandemonium as we all scrambled to solve the problem, the shouted test cases, the "Ha, I solved it first!", the shared experience of solving a problem, for fun, and being surrounded by people having fun being exactly as geeky as you.
It's the best computer game there is. Adrenaline? Check. Fast fingers required? Check. The chance to call yourself 1337? Oh yes, check. And even better, does it give me a useful skill? Check. Is it this complete, incredibly fun rush that induces a form of euphoria I can't really explain and suspect is a non-neurotypical trait? Absolutely.
Let me re-explain that last bit. "Fun" is not the word I'm looking for. "Joy" is barely it. It's this indescribable form of energetic not-quite-and-yet-better pleasure- perhaps the only word that really suits, although it is far too generic for my taste, would be merely a strong form of "happiness." Perhaps "stoned." I can get a complete and total high off of programming in C++. It is quite similar in experience, but superior in intensity, to the high I can get off of relaxing in a strong natural wind.
I think what I really enjoy about it isn't the programming so much as being able to really use my abilities- and really getting to think. I know no stronger joy than that associated with solving a problem. I guess that's why television tends not to be my thing: I'd rather be thinking for myself. Perhaps that's why I like The Amazing Race and The Apprentice: unlike socially-based reality TV shows, I can try to really put myself in that position and puzzle out how I'd try to solve the situation.
I've stated that I dislike social interaction. That's clearly wrong. I'd say I dislike disordered social interaction, but that's also wrong, because ACM is beautifully chaotic and I go nuts when it's too orderly. I guess I have points at which I overload, and I have to learn exactly what causes it- I think it really helps that I had the outlet of being able to write the program, sort of how I can handle a large, crowded line for a roller coaster.
Or a Magic: The Gathering prerelease tournament, like the one I'll be attending tomorrow- well, technically speaking, later today...