Engineered products generally are built with some level of redundancy or safety multipliers. But failures and accidents still happen, due to the rare chance of multiple rare events happening together (which is usually more likely to occur than people think, and that is what makes the design challenging). For example, an airplane is built to handle being hit by a bird during landing, but if that at the same time causes the pilot to despair and abort the landing accelerating and trying to change course too quickly, then it could cause an accident. In the software world it's the same thing. I've built software that can handle network outages and computer crashes, but when a computer crashes during a network outage that happened during a deployment, then you never know what is going to happen.
Well, but today's story was much less tragic. My alarm is set for 6:15 AM. At 7 AM Amy wakes up and wakes me up saying that it's already 7 AM and I'm still in bed! I try to remember if I had woken up by the alarm, turned it off and went back to bed, but I haven't. Before I explain what happened, I need to explain the setup that I have at home:
- There are two alarm clocks: one that has the alarm, but has no good clock display; and another that has good time display, but terrible alarm
- If I don't turn the alarm off, it goes for one hour and then turns off by itself.
- My alarm clock has three alarm settings: beep, radio (generally set to King FM) and sound (which can play one of 4 soothing sounds, like beach, rain, etc.)
- The alarm clock has a "sync to atomic clock" feature. It tried to auto-sync the time every so often (which also makes it a good alarm clock, as when there is a power outage at home at night, it automatically can find the time when the power is back)
Now to the story:
During the weekend I changed the alarm settings to make a beeping sound instead of the normal music (long story why that). When I reset the alarm on Sunday night I had forgotten of it and it beeped on Monday. So in the morning, with the light off, I thought I had changed it back to radio, but I hadn't:
- FAILURE 1 (human): it was set to "sound", which doesn't really wake anybody up. But there was one piece of the puzzle left: the alarm is supposed to run for an hour and it wasn't running when we woke up!
- FAILURE 2 (engineering): for some unknown reason, my alarm clock decided to readjust itself to about 35 minutes ahead. So the actual sound started playing at 5:40 and at 7 it was already off.
Oh, well, I was still able to get to work in time for my first and only meeting of the day (which is at 10 AM, and I arrived at work at 8:45). Alright, now that I've used my work time to write this story (while I was waiting for some data gathering process to run), it's time for me to get back to it.