Would you [re]program yourself?

It’s been a running joke for me that, “Hey, what’s the worst that could happen if there’s a bug in this demo or example, right?”

The joke came from when I was a young programmer and worked alongside many of my first mentors. One always confidently shrugged before release pushes, awkwardly on Fridays and dangerously close to 5:00, and told me, “What’s the worst that could happen?” When he said it, I was relieved a bit. Heck, what’s the worst that could happen when you’re a small web startup and the footer renders wrong, right? In many cases, bugs can be released, unnoticed, and would really not impact anyone.

You always end up at some point though with that release where if things go wrong, there are real repercussions. For me, the most sensitive software I have written has been system-oriented and for the first time in a long time, I have been writing code that I feel could potentially cause unintentional harm. This kind of programming is something I’m not used to. The raised stakes are fun to me though and are a driver to making me more careful. As a beneficial side-effect, I have unprecedented confidence in what happens at every instruction in this code.

Writing sensitive code has made me ask the question, what if we brought it to the extreme and thought, would you write software that would override control over something that you currently control?

johnny-mnemonic-internet

[image via Explore Science Fiction movies]

For example, although self-referential, would you rewrite your signal response system for your favorite sport in the hopes of making you better at not causing re-injury by sweeping football kicks with your left leg?

This particular software would involve a number of processes:

  • Calculating when you are going to kick
  • Calculating when you are kicking
  • Determining whether the kick will occur on the left side
  • and so on…

You would end up with a piece of software of your doing that does something based on various states and conditions that you expect. The fear that I would have is that at some point, there will be unexpected conditions and the software will behave in an undefined manner…. Which is pretty scary when it’s your body or something that your life depends on.

However, let’s just assume that the worst that can happen isn’t too rough, e.g. the worst that could happen in my circumstance is that when kicking a football, I would continue to hurt my leg…

SO the question is, would you patch control over part of your body?
Would you run anyone else’s code on yourself?