A letter to my analysis code

Dear Analysis Code,

I appreciate that you think I don't understand you. In fact, you're quite right. I freely admit that I was hoping my knowledge of your inner workings would have to extend no further than that needed for a paragraph in the 'Numerics' section of our paper. You see, I am not your author. It would be best to consider me more like a step-parent. The hands-off distant kind that took on the role after you'd left for college. I was hoping that your part had been played in the analysis of my simulation and now all I must do is gather together your outputs for presentation. I did not intend to run you again nor indeed did your sculptor, since he had left the field altogether.

Perhaps this hurt. Maybe you felt neglected as you were left to corrupt and your modification time-stamp slowly age. Or did you feel guilt, wondering repeatedly if it were your internal logic loops that drove your developer out of academia? Having now worked with you, I admit this cannot be ruled out. Whatever the reason, it has become clear to me in the last 24 hours that your revenge has been planned a while.

How you must have laughed when I started rummaging through your files. It was true that you were needed, desperately needed, once again. Without you, the paper and the months of work I had put into it would be wasted. The files I had been using were wrong and the updated analysis had never been completed. I needed to do it myself. I needed you.

You had me over a barrel, Code, and I think you knew this. Not for you though, were obvious scenes of displeasure. It would have been too simple to just not compile, throw up 'library not found' errors or run out of memory. They were all problems I was expecting and therefore beneath you. Instead you compiled, you ran smoothly and outputted the expected data while I held my breath. I thought I had been victorious and my delight was great. Then, after four different operations, I looked at one of the results.

It didn't look totally wrong.

But it didn't look totally right.

In fact, I might have passed it by in my elation had I not being paying careful attention. I believe this was your plan. To force me to re-complete the paper only to later realise the results were still incorrect. It did not work. I saw through your fake productions and realised there had been a error. But how was this possible? It's true this was a different data set, but the changes were marginal compared to what you had run before. The main difference was there were more simulation times to analyse. Did you realise this, Code? Is that why you decided to strike? You knew you would have to iterate through not 29 outputs but 73? Did you think that maybe I was not overly enthused by the prospect of this either?

DID YOU THINK OF ME AT ALL?

Yes. Yes you did, and you demanded vengeance.

You knew the only way to get to the bottom of this problem was to read your source files. All of them. And discover exactly what made you tick. You didn't want to be used, you wanted to be understood. I confess, I was only in this for the publication. That was never enough for you.

So here we are, you and me. Right where we were at 10:30 pm last night. If we're still here at the weekend I may burn you onto a DVD just so I can throw you out the door. Perhaps you think that if I understand how you work, I'll use you again. It is a ruthless plan that I've come to associate with you. Just so you know though, Code, the success of this is intimately tied to this paper being accepted for publication. If it isn't, I swear that I will hunt down every last version of you and delete them from disk.

You are not the only one who can be vengeful.