We’re holding station west of FLMA2 amid worsening seas. It’s not bad, but bad enough that we’ve postponed trying to retrieve HYPM1, the last of the undersea moorings from last year’s deployment. Also bad enough that I’ve preemptively gone back on meclizine, which seems to have helped a bit the last time around. The whole motion sickness thing is exacerbated by the fact that Bug and I spend our days staring at small screens in one of the few main deck spaces that has no port holes to help visually ground the sensation of bobbing around.
I guess I’ve not given much, if any, background on what I’m doing staring at those tiny screens. Officially, I’m a systems and network administrator, helping keep all the computers on the ship running and connected to each other (and the outside world). In practice, my net/sysadmin chops are laughably rudimentary – I’m good enough to figure out what needs to be rebooted when things hang, and I’ve been admirably effective at helping our grantees connect to the ship’s printers, but when the lifting gets any heavier than that, I’ve been leaning on Bug for help.
My real reason for being here is to unleash my secret ninja coding abilities. Okay, my more-than-adequate coding abilities. There’s a wall of machines that are running the computational heart of the ship’s data acquisition system, constantly sucking in data from dozens of atmospheric and oceanic sensors mounted around the hull. The code that’s running these systems has been lovingly kept going for…a while, but is in desperate need of a rewrite to bring it up to to speed.
Now, you might ask whether it might be a little easier to architect and implement a system like this somewhere that isn’t strategically isolated from internet access or pitching around like a cork in the ocean. You might have a point there. But a lot of the architecture challenge is seeing how the system is actually used, and seeing what it’s able to provide in real time. What, the manufacturer’s documentation says that there are seven fields coming off the wire on UDP from the PCO2 sensor and we’re only getting five? We can handle that right now.
Also, it means I get to be on a boat. Kinda near, if not actually in, Antarctica. Okay, closer to Antarctica than Palo Alto. Those of you with an attention span longer than three paragraphs may again remember the near-constant references to nausea in these blog posts and wonder whether “I get to be on a boat” qualifies as an actual advantage, or falls under the heading of “unclear on the concept.” Yeah, I’m still working on sorting that out. But I tell you, on good days, it seems worth it: standing out back with water coming over a pitching deck makes you feel alive. And when the seas are calm, with flat evening sunlight slanting through scattered pink clouds on the horizon, and you’ve got to check your watch twice to convince yourself that it really is coming up on midnight? Well, it’s something that makes your heart grow just a little, trying to take it in and find words that will make it real to others.
It helps that I’ve got such a kickass teammate to work with. As I mentioned before, Bug’s sysadmin chops are legendary. And it’s pretty easy to see how she got them. She’s got very little actual software experience, but she’s a crazy fast study. When she’s not taking up all the slack I’m leaving lying around on the sysadmin, she’s devouring three books at once on the software we’re using and translating that learning directly into code.
Just yesterday I’d noticed that she’d implemented a class definition very differently than I would have, and I fretted over how to gently convince her to “do it the right way.” After all, I’m the ninja coder, right? She listened patiently and asked questions, then pointed me to the Model Layer section of the Django 1.8.5 Reference Doc. Turns out her way *is* “the right way.”
For those of you old enough to remember Kung Fu, half the time our conversations feel like:
“Grasshopper, when you can snatch the pebble from my hand…”
“What – you mean this pebble?”
“Wait – how did you…?!?”
Fortunately, one of the gifts of age is being able to appreciate working with someone who will, in a relatively short time, be able to run rings around you.
Anyhow, that’s not what I really wanted to tell you about today. I wanted to tell you about the gliders. Also known as undersea autonomous robot drones. Robots. Yes, today we launched the robot armyxxxxxxx deployed the gliders. One of them (see this video!) was a little more exciting than anyone would have liked, as we hit a series of swells as it was going in and took a couple of pendulum swings at the ship before detaching. But all’s well that ends well, and the little yellow gliders that could are now on their way, roving the Southern Ocean for the next year in their unending hunger for oceanic data and world domination.