We had a meeting today to discuss “patching.” Patching is what we do to fix software that we’ve released that doesn’t do what our customers expect. Their expectations might seem unreasonable, only frequently they just expect things to not go away that were there before. Imagine: you open the door to your office, and on the other side of this portal is a swirling morass of black and silver with little twinkling lights, likely a black hole except that the silver just might be teeth and you think you see a throat in the far distance. I’m not saying we did this, at least not more than twice, but just consider it a bit. It’s not just not what you expect, it’s slightly worse than it was before. In this situation, we will consider releasing a “patched” version of our software rather than requiring our customers to take a new version (the kind of thing we normally release with additional features and upgrades, such as “a portal to a wormhole THAT YOU ONLY GO TO WHEN YOU WANT TO complete with transdimensional jetpack”). It’s my job to make sure our patch does what we hope, I.E. the stick we’re going to give you can keep the jaws of doom propped open long enough for you to grab your customers’ orders and then run away.

Today’s patch meeting was fear inducing as usual. The goal was to make some small changes to meet the needs of a very large supplier (let’s call them “NATO”) who are holding a certain power over us (let’s call it money but I feel sure some curses have been spoken, though fortunately they seem to be as ineffective at nailing us as they have been with various political entities). We had a piece of code that appeared to have been eaten by a larger and more powerful entity, and the rather innocent (yet grouchy) developer in charge of this project had chosen to not just re-introduce the module, but to move it somewhere else (where presumable living nether-spirits would be less likely to go feeding).

Seven of us were gathered in the patch committee discussing how to handle this. The PM raised a question: “What happens if we import data from a non-ward protected source? WHAT WILL HAPPEN THEN?”

It seemed overly cautious but in retrospect we agreed that we would need to test the patch against an alternate-reality generator, mostly likely Amber 1 (swords and sorcery), Amber 2 (pre-industrial) and Amber 3 (spaceships). Our patch was going to need to be vested into a temporary human form to see if the armor it was wearing would enable it to manage each situation with just its wits and its armor. It seemed like overkill for testing a user registration email, but it’s a hungry multiverse out there and a girl wants to keep safe. Oddly, the developer seemed unaware that the little bit of him he’d put into making this creature would mean that he could possibly have his soul stolen every time the code was “invoked” – but I don’t want him to lose any sleep over it as it might result in him finding he personally was wearing the armor in Amber 1. With all of the time he’s spent in the Society for Creative Anachronism, I think he’ll actually pull through just fine.

Advertisements