31.10.06

Twittering Mad, or Why I Hate Visual Studio

Gah! It's been too long. I finally have the pento project hosted somewhere that properly allows PHP. Thus, the Pentomino Word of the Day should show up in the sidebar. Tell me what you think.

Afterthought: Please don't use the copy hosted on my site. Just ask me for the source.

I found an interesting website a few days ago called twitter. It's a sort of microblog service, that lets you use IM or SMS to post short blurbs about your current status. Your twitter home page has a list of recent twitterings from friends (subscribees), which you can alternatively have sent to you by, again, IM or SMS.

You might have noticed the twitter section of "about me" in the sidebar. At the time of this writing, it shows that I was "extremely pissed at Visual Studio" yesterday. Allow me to explain:

I spent half of yesterday debugging a Half-Life 2 mod. With Visual Studio. Half-Life 2 was never meant to be modified using VS, but Bob (CS 3500 instructor) hacked to fit anyway. It takes around 25 minutes to compile either of the two main projects. Unfortunately, this means that if you mess anything up, not only does it give you enough time to read an entire article from Exploding Unicorn, but it will also spew 637 linker errors at you, sometimes crashing VS. After each crash, I'd fix it by adding the appropriate library or whatever then build it again, and it would give different results! It turns out that if you try to abort the build (or it crashes during compilation), during the next build it will get very confused as to which object files have actually been compiled successfully, and produce invalid executables or libraries, forcing you to rebuild. This makes me wonder why they even let you abort, if it fouls up the process so much. Anyway, after discovering this, I used the half-hour before the bus left to speed-debug the whole thing, and it turns out I actually did find out why the flashlight wasn't turning on.

You'd think that this is typical, that I just made a mistake, but it doesn't have to be like that. There are plenty of ways of determining whether a file was built correctly. VS just doesn't bother. It assumes you know everything that happened last build, and just builds anything that hasn't been built yet (successfully or not). This may be slightly more efficient on its part, but it becomes less so when the program has 700 source files and you're forced to completely rebuild (twice).

OK, end of rant. By the way, if you have AC:WW and want some peaches or a mush-room suite, let me know here. I'm "Questionmark".

And, uh, happy Hallow's Eve.