I put my pumpkin out tonight, but I couldn’t find a proper pumpkin candle…. Fortunately, my pumpkin is gigantic and I could fit the glass jar candle I had lying around inside of it… I will look for a proper pumpkin candle tomorrow…. It did look quite badass thought…
Now that the stress has subsided a bit, I will talk about my experience at work on Saturday… Adam and I made a pact: We would go into work on Saturday and sneak in a few features that we both wanted to see before our QA freeze. Our goal was to not only sneak these features in, but to also still come in before our deadline (the 1st). So we got to work around 2pm, maybe a bit afterwards, and we started hacking…. I chose the “Make the server spit out RDF for the Table of Contents” project, and Adam chose the “Make the Search and TOC windows into sidebars” project (and a few other clean up projects). The server code is mostly Omar’s domain, who wasn’t around to answer questions, so I was flying by instruments…
I had lots of annoying trouble, barked down a few wrong trees, and made some gigantic mistakes… We were at work until well past midnight, do the math, it was a long fucking time… Towards the end of the night I was getting tunnel vision and decided that it was time to put the project away for a night or two and come back at it fresh… Of course, then I had an epiphany, and after another hour or so I had it mostly straightened out.. I left it somewhat working, confident that the glitches were simply special cases in my recursion that I wasn’t accounting for… I was mostly right…
One of the problems I was experiencing (which I mentioned earlier) was that the server was working fine in the debugger, but not from the CLI. Well, it turns out that it wasn’t the fact it was running in the debugger that was causing it to work, but instead the fact it was running in standalone mode and not daemon mode. I showed it to omar, and within 5 minutes I understood my stupidity… The server was reassigning stdout to the socket for forked processes… No processes were forked in standalone mode, so therefore no fd inheritance… :) So all my cout calls were simply slamming the client with lots of XML it wasn’t expecting.. :)
Other than that, I was basically right, after determining a few special cases in my recursion, I succeeded in my goals this afternoon, and by quitting time the new pretty TOC, in all it’s glory, was working in both online and offline mode…. This made me feel much better… We only have a few small tweaks to do to the UI and a feature or two to polish off, but we are definately on track to come in early…