Coding, Coding, Coding ’til the Break of Day

I have spent the last 14 hours in Hicks 301 coding, with the exception of a short break for dinner. I am now inexplicably super twitchy, in spite of (or perhaps on account of) the late hour.

I was exceedingly productive over the last three days, but particularly today. On Friday, I finally got my painterly plant rendering working, although I still need to use it to make pretty things.

Yesterday (by which I mean Saturday) I spent about 8 hours working on Rune, the Robot-User Nexus, which is our new name for my interface, which used to be called Robobot. I think the new name fits in very well with the fantastical naming conventions we’ve generally been using. I got a decent start on evaluating, updating, repairing, and documenting my code.

Today, however, was the real meat of my work. I have gone through what is now 8502 lines of code. I converted all of the functions from under_line_format to camelBackFormat. I documented every single function, data structure, and type definition using Doxygen-compatible comments. This means that I will be able to generate some very good HTML documentation for Rune, which will in turn (I hope) help other developers take over from where I’m going to be leaving off.

Note that this coding is technically a part of my E90 Senior Design Project, even though I am just updating old code. I need the interface to work so that I can work on my actual project (ArchMage and its component modules) and see what it’s doing. I also need to get the interface working and compliant with Fritz’ GCM and Robomon code so that two other E90 groups can use the Swarthmore Robotics Team’s system with their robots.

Unfortunately, some new features that Fritz has been planning to add to Robomon and GCM are totally implemented yet, so I have to wait for him to fix up a few things. At the same time, I need to ask Bruce for permission to modify the ways in which SVM and SMM (the Swarthmore Vision and Map Modules, respectively) send messages. Specifically, we need to migrate all of their broadcast messages, and the commands they listen for, under the umbrella of GCM, the General Communication Module. GCM is technically more of a library of common messages, one which I am sure Fritz could explain better than I.

We also need to make sure that everything is compliant with Robomon’s capabilities functionality. Once that’s working, instead of requesting a specific module and specific module initialization and data processing functions, a user of Rune will (theoretically) only need to specify what module capabilities that they want the robot to have, and Robomon, the relevant modules, and Rune will work it all out through GCM and CMU IPC to get everything that’s necessary initialized and up and running. We’re really looking forward to getting that working, but I have no idea how much of it will be done by the end of the semester, on top of my Advanced Graphics and Senior Conference work.

I’ve definitely been slacking off in my work the first half of the semester. I’ve been getting things done, but my weekends up until this point have been essentially work-free. I’ve also been spending too much time doing stuff for the SCCS, which while productive does not help me gradumutate. My routine is going to change from here on out. I’ll be going crazy to finish all of this stuff up so that I can start working on my final reports about all of this work.

Well, the length of this entry definitely reflects my hyperactivity, twitchiness, and general verbosity that seems to set in at this hour, particularly after my brain has been so heavily focused on a task for so long. I think I should at least try to get to sleep at this point. I am thinking that I should have had something to eat before brushing my teeth – I suppose I could eat something and just brush them again. Something tells me that I won’t be going to class in the morning.