There are many reasons why my life is the kind of thing that would have been inconceivable to someone a hundred years ago. Case in point is the realization that my last three meals have been on three different continents: dinner in Accra, breakfast at Heathrow and now a late late lunch in Woods Hole. I think, by the time I make it back to California next Monday, I’m going to be ready stay in one place for a while.
But I still have my hands full this week. The reason for being in Woods Hole is INMARTECH, a conference where I’ll be running around trying to get buy-in for the software thing I’ve been working on.
Which reminds me that I’ve not actually explained here what this whole software thing even is (speaking of incomprehensible). I haven’t explained why I’m working on it. Whether I’m still with the US Antarctic Program (no) and whether I ever hope to go back to the ice (yes).
This seems like a fine time to clear things up.
So. Y’all may remember a few years ago when I was working on the icebreaker Nathaniel B. Palmer, splitting my time between being an Antarctic sysadmin and code ninja of the high seas. The code ninja time was spent starting on new data acquisition software for the ship, intended to replace the two-decades-old, increasingly unmaintainable one we depended on. (Let me summarize for my techie friends in two words: Perl-Tk; Motif).
And we weren’t the only research vessel hobbling along with crufty software – there were a whole bunch of other folks in the same proverbial boat. So it made sense, once we got things up and running, to try and open source the code so others could benefit from our efforts.
For reasons that are not worth going into here, last fall the Program lost its ability to support development of the system. This left everything in limbo, incomplete and unshareable. We spun around in some unhappy circles for a while before an unconventional solution surfaced: There was a lot of code there, but its principles were straightforward and public. It would require very little creativity for someone with sufficient time and inclination to build a similar system from scratch. I handed in my laptop and badge and decided to be that person.
Yes, I checked with my manager, with the Program and with a good software IP lawyer. And consensus was that we were all fine with this. As long as the new code was entirely independent of the, uh, old new system, I was free to “use my personal experience developing data acquisition systems” to create a new new one from scratch that would be open source from the start.
All this happened just under a year ago, and for the past 11 months I’ve been coding away like crazy. I’ve had some help from other volunteers (thank you, Webb and Mignon!), but the vast majority of the 45,000 lines are mine. And this week at INMARTECH I’m going to be showing them off, doing a live demo, and putting the shiny new OpenRVDAS system through its paces in front of all the research vessel operators out there who might be interested in adopting it. No pressure, of course.
I do already have three ships who have (more or less) committed to giving the system a sea trial in the coming months. But I really need to broaden the net. The promise of open source is that of shared expertise. And while I know code pretty well, I’ve got ridiculously little actual ship experience. Folks in the INMARTECH community have decades of full-time shipboard data acquisition experience, and it would be ridiculous for me to not to try and get as many of them onboard as possible. So off I go, to show my shiny new system, to get some feedback, and hopefully to get some buy in so that it becomes our shiny new system. Wish me luck!
(There’s an ancillary reason I’m going to INMARTECH. You’ve heard me wax eloquent – or at least loquacious – about the folks I worked with on the NBP: smart, funny, incredibly resourceful and determined. Full of crazy stories that you can’t imagine being true, but that you know are. I’ll hang out with ship folks whenever I can, so in terms of gatherings, INMARTECH feels like a kind of a superhero convention.)