January 26, 2006

Experimenting on my own software

Posted by Arcane Gazebo at January 26, 2006 3:16 PM

On the software I use to run our qubit experiments, there is a checkbox labeled "Inverted Pulses". Two or possibly three years ago I added this feature to the software, so that the option is available to operate our readout scheme under the opposite electrical polarity. Normally our readout pulses go to positive voltage, but occasionally it is interesting to see what happens with negative voltage pulses. Ideally the behavior should be completely symmetric, but in practice there are asymmetries that should generate different results.

But when I say "occasionally" I mean very occasionally; to the best of my recollection I used this feature for a couple of days after I installed it, and then never checked the box again. In the meantime I have added many other features to the increasingly bloated software, without caring very much whether they were compatible with the rarely-used inverted pulses. Of course, this has all come back to haunt me now that I again want to reverse the polarity on the readout pulses, and am faced with the question: Does the "Inverted Pulses" box still work?

After some testing it's clear that the answer is "no", and furthermore it's not obvious why it ever worked. (The crucial command to the instrument contained a syntax error!) Or maybe it didn't ever work and I had forgotten this, or it was one of those pieces of software I wrote anticipating a potential experiment and then never actually used. I seem to have fixed the bugs, but there are still some quirks in the startup sequence that should probably be ironed out...

(Since my former CS 1 TA reads this, I will remark that these problems could be avoided with properly documented and tested code. Ha! Unfortunately, the culture of experimental physics does not value properly documented and tested code. The culture of experimental physics values code which can be produced five minutes after a postdoc says, "Wouldn't it be interesting to try [a complicated new pulse sequence while sweeping over three separate parameters]?" And so three years later I'm looking at my own software wondering what the hell that switch does.)

Tags: Lab, Life, Science, Technology

The cultures of applied mathematics and theoretical physics don't particularly value properly documented code either. :) [It does value properly tested code.]

None of my former CS 1 TAs read this, but I remain forever thankful that I was not in the Egon/Shegon section (the reason behind the 'no boinking in the UGCS lab' tip, among other things). [[shudder]]

Posted by: Mason | January 26, 2006 5:42 PM

Welcome to my hell!

Posted by: Lemming | January 26, 2006 5:49 PM

Mason: I'm guessing that's not going in the Legends book.

Posted by: Arcane Gazebo | January 26, 2006 11:58 PM

People liked to remind me of those stories when I'd spend the night sleeping on the couch in UGCS.

"You know, people have, um... on that... you sure you wanna sleep there?"

"Well, they're not doing it now."

Posted by: Lemming | January 27, 2006 12:01 PM

Nope, that won't make the cut. Nobody tried to submit it (somebody did actually bring up the whole Jan thing as a possibility, which both Autumn and I nixed immediately). While these things are legendary, some legends are best passed down orally. Which perhaps brings us back to Lemming's point...

I felt bad for the people in that section. (Among other things, they couldn't always reliably get help on their CS homework...)

Posted by: Mason | January 27, 2006 1:39 PM
Post a comment