On Writing Well Link to heading
It was the final day of work. I had recently gotten married. The out-of-office booking in my calendar was called “Honeymoon Time, Baby!”. I was looking forwards to vacation.
The plan was that around 15 o’clock, me, my wife, and our luggage would take the bus to central station and transfer to a train headed for Stockholm. A week in Crete awaited us.
There was one slight problem. It was not a problem at work. It was not a problem with me. It was certainly not a problem with my wife. It was a problem with the luggage.
Books.
I always bring and read books while on vacation. Not fiction. Can’t stand it. Don’t know why. I read non-fiction books. These were missing from my luggage.
Last time I went to Crete, I read the great “Practical Cryptography” by Bruce Schneier and Niels Ferguson. My oncoming vacation would be in a similar vein. Same style of hotel. Similar season. I wanted the same experience as last time. The problem: the books I had ordered had yet to arrive.
I remember being distracted by this thought while working. My mind was bouncing between a course on technical leadership and the amount of hours before I had to leave without the books. Four hours turned to three and a half hours.
Lady fortune was in my favor. Around 12 o’clock I received a notification that my books had arrived to a manual post box. The box was maybe 10 minutes away by walking distance. I was relieved. I could use part of my lunch break to get the books. Thank goodness. Vacation is saved. I took my lunch break and strolled off to go get my books.
The post box was one of those unmanned bluetooth activated post boxes. It is owned by PostNord, a brand you are unlikely to recognize unless you are a Swede. I know Amazon has similar boxes you can find at train stations in the UK. You order your stuff to the box. You get a notification when the stuff arrives. You go and pick the stuff up. Simple. Easy. Delightful.
To open the postbox you install the app, activate Bluetooth, and voila. Except… No voila for me. As I was standing there, pressing the button in the app that opens the hatch, the app crashed. Anger. Disappointment. Close, yet so far away.
After the initial “why, oh why”, I focused on solving the problem right before me. I was not leaving without my books. I tried the technique that testers tend to test first – restarting the app. – Turn off. Turn on. Try open hatch… No voila, yet again. Still crashing. Still anger. Still disappointment.
As a programmer myself I know why restarting tends to work. Unlike humans, computers start their days with a clean slate. Turning a computer on is an act of birth. Or maybe resurrection. I’m not an expert on what the computer is feeling when being turned on. I just know the “what”-stuff. The non-fiction stuff.
Any and every input you give to a computer will leave an impression. Programmers tend to know how to disregard, rewind, or overwrite those impressions. Generally, these impressions don’t matter. But sometimes, these impressions form a complex web of chain reactions that would be impossible to foresee by any human. A character out of order. A buffer that is full. An uncommon setting turned on.
As they say, the flap of a butterflys wings in Brazil can lead to a tornado in Texas. And don’t expect programmers to take every butterfly in Brazil into account.
The trick then, is to start from a spot where the programmer would have the clearest sight of all possible roads ahead. The spot before any impression was made. Use our ultimate control over the machine to turn back time to when time began. Turning the bloody thing off and on again.
Since I am not that clever it passed my mind to literally turn the phone off and on again. I did, however, form a plan in the same spirit. Re-installing the app. And so I went. Uninstall. Wait until finished. Find the app in the app store. Install. Wait until finished. Open the app. Log in. Find the package… And voila. The hatch opened this time around and therein lied my books.
And just like that it was honeymoon time, baby!