It's weird... one day, I wanna give Bill Gates a big, warm hug... and then the next day, I wanna punch him in the throat and staple pasta to his face. I think it comes with the territory when you're a MS platform nerd, like myself.
But then you get to the part where you're actually trying to make the application
do the elementary task that was first conceived in your tiny little brain... and if you're programming for Windows... that's when you play a little game I like to call, "How much hell on earth will Microsoft cause me today?"
Because I'm such a swell guy, I decided to add Firefox support as well. So, I'm writing the procedures, and I figure I'll start out with the MS stuff... since... you know... there's
gotta be a simple class in .NET that I can use to do this.... right??? right?!?!?!?! Oh... what's that you say....? There
isn't....?!?! Well color me stupefied... I've never
heard of such a thing! *shock* Who would have ever thought that .NET
wouldn't have a simple way of interfacing with Microsoft's own flag-freaking-ship browser.

*sigh* Anywhoo... so here I am, Googling all over the place trying to find something I can use... and what do I find...? I gotta go back to the ol' API's again. I thought I gave those up when I switched to the technical marvel that is ".NET".

Not that I mind APIs all that much..... well.... no... I pretty much hate API's... never mind. But I can deal with that.

The thing is... API's are so flaky, and there are so many bad examples of how to use them out there, with so little documentation, that it's very easy to waste a good... oh.... I dunno.... three or four days wading around in lousy samples before you ever find something that's well put together.... and that's exactly what I did. After five or six different attempts using different approaches/samples, I was finally able to hack together something that covered (hopefully) all the scenarios that might be involved in the process.
But that wasn't so bad... I guess... it only took me three or four
days... give or take. Let's compare that to how long it took me to write the procedures to cleanup Firefox's history/cookies/etc. Hrmm... well... in aboot three seconds on Google, I found some documentation that laid out how all of it's files were stored. And 3 minutes later, I had written the procedures needed to clean them all up. And then I tried it... and what do you know... it worked the first time. So that was.... about... three or four
minutes... give or take.
Of course, I only rant like this today because I wasted all kinds of time maneuvering through MS's mine-field of spaghetti code just so I could do something that should have taken me five minutes.... but just days earlier, I was singing ol' Bill's praises because of how easy it was to add desktop HotKey support (another feature that's coming in the next version) to all of the modules in the TaskRunner. That was actually a case where I thought it... it sounded simple... and it was. But I don't wanna dwell on the positive too much... I'm not quite done whining about today yet.
