They are the nasty little buggers responsible of most of the WTFs that can be heard theese days in the vicinity of my room.
And I want their heads in my wall.
I’ve been concentrating my efforts in making SimpleConnect.exe (a dplay documentation example) work, which means dirty work building and parsing messages, and some threading headaches. I’ve managed to speak dplay almost perfectly, but dplay natives still have a hard time undesrtanding me.
So far I had been only writting tons of tests cases, and trying to make them work, while wrapping my mind around the architecture of what the previous dplay coder wrote.
Not a big archievement, but still a (stupid but) sort of important milestone in the path of every nerd: to reach the 1337 tests.
Today I managed to fulfill one of the main goals of my ATCHOO tests: simulate a conversation between dplay players, and even simulate a host unexpected exit to trigger the dplay host migration process in a ATCHOO p2p game session, checking the system messages are exchanged as expected.
There’s already a nice amount of tests out there, and what I think is the most difficult part is done, so in theory now things should be a little easier, and with some luck I won’t have problems to finish the test bench this week, so that next week I can embrace the true Wine experience starting to code my implementation of dplay.
This was a triumph…
After ~one week of farewells, travelling, offline coding, rebuilding my room, greeting old friends, paperwork, massive familiar dinners, etc, I’m almost stabilized again, and hope to keep like this for the whole summer.
It was curious that while coding on the plane and on the train, the first problem I faced was that I intuitively wanted to open Firefox to look for documentation, with sad results. However I managed to fix the two first walls I was facing: bypass dplay service provider dialogs to run the tests automatically, and use win32 threads. Interesting as well was realizing how much time I waste when I’m coding online, with every random thing I find, from RSS to IRC. In a plane there’s nothing to do but coding, looking clouds, coding and sleeping.
As the amount of WTFs/m begins to raise, I progresively feel myself more immersed into what working in Wine means (at least for me): trying to understand (and implement) a barely documented API, with nasty behaviours and undocumented “functionalities”, dodging bugs both in the original implementation (having to reproduce many of them in order to make applications work…) and in the specification.
The command that gives title to this entry is just some command I had to enter too many times yesterday’s morning, which I wasted trying to figure out why things didn’t work as spected to finally realize dplay is a good example on how NOT to design an API :D
This issue I’m facing now will make tests more funny to write: I’ll have to either look for a way to bypass the popup dialogs some API calls trigger, or to check if it’s possible to “automatically click” some buttons.
I’m slowly becoming familiar with the dplay API and making it work for me. I’m think I’m turning old, I feel the lack of the “geek power” that, in the young times (6 months ago), enabled me to code along sleepless nights, fueled more with nerd passion than with Red Bull. Hopefully I’ll recover my powers in little time :)
So, yes, ladies and gentlemen, stop cleaning your glasses, Ismael-no-I-won’t-create-a-blog-I’m-lazy-kthxbye-Barros is blogging, broadcasting workdwide live from his bed.
I feel I should have started moving code around since weeks ago, but studies and other business managed to hold me from starting to geek around before the official hands-on-code date. Anyway, with my courses done, my girl in Germany, my body unable to safely practise taekwondo for a while and my guitar sold, now it should be easier to concentrate. At least until I have to finish my paperwork here in Finland, return to Spain and finish my paperwork there (just some days of traveling around, sweating, queues and hopefully offline coding).