So the onboard ethernet port on my gateway computer has just died.
Much gnashing of teeth here.
It's no longer usable as a gateway computer because there's only room for one ethernet card. The computer I've been thinking about turning into a gateway computer turns out to be unsuitable as well, since it doesn't have room for *any* ethernet cards. My main computer is suitable, but, y'know, I really didn't want my important computer directly connected to the Internet.
[ed: Zorba feels like ranting. Unfortunately what he wants to rant about is confidential. Therefore he will be replacing every confidential piece of text with "badger". If there's a specific important piece of text whose existence later on is important, he'll use "badger1" and so forth. On the minus side, this entry will be a lot less comprehensible - but on the plus side, it should be a lot more entertaining, especially for people who aren't programmers.
To make it especially amusing, he's writing the entry without badger-obfuscation, and will then go back and badgerify it.]
Okay. So at work, I'm using this badger library called badger. Apparently it's the best one out there for badger, it's used in all sorts of apps, etc etc, there's only one problem:
See, let's say I badger1, and I badger2. Then I badger3, and badger4. And then I badger1 again, and do the exact same badger2-ing. You'd expect that the output from the first part and the third part would be the same, but no, the third one is completely badger!
So I *could* go write my own. Unfortunately badger is pretty nasty to badger, so I'd be looking at, say, a few dozen thousand lines of code. Not fun. Really, my only option is to debug it.
Debug someone else's library.
Someone else's GARGANTUAN library.
And I'm trying to figure out where two processes diverge, so basically I'm stepping backwards through it, adding more and more debug output, dumping it all into Notepad, and figuring out the first point where they're not identical. Over and over again. [ed: yay, no badgers!]
Four hours and, while I'm getting close, I still haven't found the bug. (I think it's somewhere in the badger. I could be wrong.)
Why oh why can't people write badger libraries that WORK?
Aha! Found it! It wasn't the badger library, it was the badger interface! The idiot coder before me went and designed a nice abstracted class-based interface with static members in the member functions.
To be honest, I should've been clued in a long earlier when all the classes were defined in classdef1.h and classdef2.h. (I wish I was joking.)
And to think I even went over it looking for globals, and completely missed the statics because who the hell uses statics?
Now it alllll makes sense.
"Do you even have a table to eat on?"
"If by table you mean Playstation 2, then yes."