Slowly, the red-filled rows in our schedule table crept down, indicating more and more (critically) delayed deadlines for builds. We haven’t stopped coding ever since code started rolling and deadlines have been moved a few times already to boot. But, sadly, we just kept missing build deadlines.
However, before I continue with my story-telling, I really just need to relate some news to you…
It seems that The Social Network has finally been beaten for the title of “Best Geek Flick”. Received with much geek acclaim, the competing movie was screened the night of 25 May, 2011, a tonight-not-again type of screening. The movie is entitled Sir Zhen* vs. The Server. Shame I missed it.
Some reviews,
…Unexpectedly, there are no logic errors found. We asked help from our mentor kuya P of what is happening. Sir Zhen approached us and asked if there are any problems and we told him of what is happening. Sir Zhen debugged the server… In a way that I cannot comprehend. We commonly debug our puny logic for hours but Sir Zhen only took about 30 min or so and the level of the logic is too high for us to handle. I cannot put into words of how I see it, the nearest I can think of is Pure Awesomeness…
~Luigi Mari Tenerife. Co-intern from UPLB. Emphasis added.
Lahat ng narinig mo sa isang sem ng Operating Systems class maririnig mo sa loob ng thirty minutes!
~John Patrick Albacea. Co-intern from UPLB. Words are not verbatim.
Hindi tumitingin si Sir Zhen sa code. Dun lang siya sa dump log! At nahanap niya!
~Luigi Mari Tenerife (again). Co-intern from UPLB. Words are not verbatim.
Certified must watch! (If only it wasn’t a one-time big-time show)
And now, to proceed…
So, we had four build deadlines last Monday. Three of them went dead-up to “Critically delayed” but we eventually managed to build two. Builds 3 and 4 were eventually reslated for the next day.
I really find it hard working with untested base code. My responsibilities build mostly upon them and so for the past few days I found myself a self-styled discoverer of bugs. Some bugs are subtle, others not so. Some are just effects of snippets unupdated to reflect recent changes in the architecture while some are due more to carelessness than other factors.
And of course, after I’ve hunted the bugs in the base code, I would have to hunt down those that would appear in mine—my code built on the debugged base code. My life, in short, has recently been an endless cycle of test and debug. I feel as if my wish of becoming part of the API Team was fulfilled, albeit being in a debugging role; I work on the base classes but I never really author one. You won’t find a base class signed with “@author The Chad Estioco“.
Working with the base classes means that, for the past few days, I’ve been trying to do acrobatics with Java keywords such as implements, extends, protected, abstract, and synchronized like never before. For some reason I can’t explain, our module always seem to be a special case when dealing with the base code. Just like today, when I had to send tokens in response to a tap action from the user—ours seem to be the only module that needs to do that so I had to put in some extra effort and ask for some extra help to make our code fit the base architecture.
Fan as I am of System.out.println in debugging, I admit that I wouldn’t have been able to get past all those bugs without a tool like the Eclipse debugger. Woot. I guess I have a new friend.
That’s all for now. Stay bug-free and see you soon. ~ The Chad Estioco
*In case you missed it from my first post, Sir Zhen is the person in charge with Azeus’ summer internship program. A bit of trivia: Azeus is using an internal tool for browsing the databases involved in their projects. I poked around this tool a bit and it turns out that this internal tool was created by year 2003 interns**. Sir Zhen was already the person in charge with the internship that time.
**Funnily, one of the 2003 interns’ had a surname of Estioko.