¶Avoiding burnout on the Internet
I've been a long time reader and occasional commenter on Raymond Chen's blog, The Old New Thing. Raymond's an old-time programmer on the Windows team and has a lot of good experience and advice to share... but as of late he's been becoming increasingly frustrated with the comments on his blog, to the point that he's actually begun pre-emptively attacking people by name. Raymond freely admits to having the social skills of a thermonuclear device, but given the buildup I've been seeing over the past couple of weeks that started with the Nitpicker's Corner, it seems to me that the fellow's getting a bit too close to blowing up. Sure, some of the comments on his blog are annoying or incendiary, but perhaps he should disable comments or take a break for a while.
One of the things I've learned about being on the Internet is that it's a really, really big place... global, in fact. That means you're really insignificant, and it's easy to be bowled over by the magnitude of it all -- especially if you attract a lot of attention, as Raymond has due to his skill and writing style. I've had to deal with this too in some ways, due to the popularity of VirtualDub. In order to avoid getting blown out myself, I've adopted some rules:
- I can't answer every question. If some emails or posts don't get answered, so be it.
- I can't fix every bug or implement every feature, so I'll do what I can or want and that's fine.
- The blog gets updated whenever I get around to it.
- As much as I try, it's OK if I don't spend every waking moment on the Internet or on VirtualDub.
- The website's mine. If I see something that I feel is inappropriate in some way, it gets deleted, no questions asked.
There are of course, some exceptions -- if the website's under attack, or a legal matter is brought to my attention, or I did something colossally stupid and embarrassing, then I need to prioritize that a bit higher than usual. Otherwise, though, I just do whatever and however much I want. I've found this to be fairly important. I tried doing a major rewrite of VirtualDub several years back with lofty goals like non-linear editing and a full client/server architecture, and it turned into so much work that it almost ended the project; I didn't want to work on the old code, but the new code was far too broken and complex. What saved the project was when I decided to restart from the 1.x code base, tossed out the more ambitious goals, and kept incrementally evolving the code base. Yes, there meant there are major features that people wanted that didn't get put in and still haven't, but it also meant that the changes that did go in were more in tune with what I was actually interested in myself, and thus better implemented and tested.
Of course, this means, that, yeah, there are some features and bug fixes that people want that may never get into VirtualDub. Sorry about that, but this is a personal project and in order for the project to stay alive I have to be interested in it. I do try to fix issues that arise even though they don't affect or benefit me, but that's partially because I have some pride as a programmer and don't like putting out a crappy program. I've also met some interesting people and delved into a lot of interesting problems while working on this, which is part of the reason I'm still doing this. In fact, in about a week and a half, VirtualDub's going to be ten years old -- what a scary thought.