I've been a day behind without making a failure post for a couple of weeks, as part of an experiment to see if not making a failure post and just catching up later would work. Evidence suggests it doesn't, and as of today I'm two days behind. Oops.
I was initially against the idea, but I thought it might be nice to have the flexibility to soft-fail and recover. One aspect I'm particularly iffy about is that I didn't flag that expectation in advance in any way. Changing my expectations in advance is one thing, but doing it on the fly is a recipe for trouble.
So my new plan to hopefully avoid this kind of meta-failure is to be more specific about what my metric is for failure and stick to that. I'm still posting in arrears until I can figure out the best way to deal with CouchDB's foibles. That means a post by 11:59:59 UTC on the stated day. I'm still going to give myself the soft-fail loophole to see how I like it, so I might lie and post twice the next day in exceptional circumstances. However, if don't fix it by the next day's post then that's a fail and I'll make a failure post.
Once I get the posting in advance thing working properly, I'll try getting rid of all that and have a strict posting schedule to see if that works better. I suspect it will, but if I need more flexibility then I'll have to figure something else out.
It's good advice when planning something to try to think about and head off the worst case scenarios before they happen. If your event is outdoors, you should think about rain. If you're inviting an important keynote speaker, have a plan for if they bail at the last minute. If you're depending on something, you should be prepared to not have it. But how far do you take this? At a certain point you end up worrying about hash collisions and wolf attacks, and that's just pointless.
So, sure, your event could be cancelled because of a fluke meteor strike or your speaker could have a heart attack during the presentation, but most people don't make plans for those situations. And usually when people say "worst-case scenario" they either explicitly or implicitly indicate it's not the worst worst case, which would presumably involve brimstone in some way, but the worst reasonable case. The worst case that isn't just ridiculous. That's a bit wishy-washy for me, though, so I'd like to suggest using the worst unsurprising case.
Surprising is something that catches you completely off-guard. A meteor strike is surprising. But one of your team suddenly getting sick? Basically expected. However, things can be unexpected and still not surprising. If you drive a car you don't expect to get in an accident, but I also wouldn't call it surprising. Your first reaction to someone getting in a car accident is "how terrible", not "how could this possibly have happened?" Surprising isn't when your server loses power, it's when it loses power at the same time as your redundant backup in a different location, and the third-party monitoring system you set up to catch that mysteriously fails at the same time.
You could reasonably point out that what constitutes a surprise is subjective and ill-defined, but I think that is actually a feature of this way of thinking about risk. Perhaps for NASA, nearly any failure is surprising. Their culture has them thinking a lot about really weird risks, up to and including the impact of aliens on society. Conversely, there are times when severe failures are totally unsurprising, to the point where many people involved in a project know it's doomed to fail.
Which is to say that if the way people respond to risk is cultural, perhaps it's not so strange to assess risk culturally too. Nobody's going to take risk management seriously if they're doing it to prevent mass wolf attack or something equally ridiculous. The worst unsurprising case lets you address the level of risk that people actually give credence to, either so you can know what to plan for, or so you know when they're not being imaginative enough.
When I was younger I remember having a disagreement with a friend about Harry Potter. At the time there'd just been a spate of knock-offs, most famously a series featuring the young Barry Trotter. Trotter got away with it by being a parody, but more generally those knockoffs suffered legal repercussions from JK Rowling and the publishers of the series. I thought this was ridiculous.
Sure, you can own the words on the page themselves, and it is perhaps reasonable to claim that Harry Potter™ and The Harry Potter Universe™ are brands that need protection from imitation, so any knockoffs would need to clearly spell out that they are unauthorised. But to say "no, I own these characters, I own this universe, I own the culture that springs from it" is just crazy to me. I later found out this is a pretty rare opinion.
A related but similar anecdote: Mother's Day (the US one) was invented by Anna Jarvis, who eventually disowned the holiday, protested against it, and in the end "wished she would have never started the day because it became so out of control". More generally, you often hear of movements or ideas started by someone who later wishes they could take it all back. The reason is usually the same: the movement changed, it lost its original goals, it's out of control now.
Both Rowling and Jarvis experienced something that many people experience when they create something: a desire to own that thing, to control it, and to ensure it changes in the way they intend – if at all. To me, that seems like the worst kind of overprotectiveness. It's helicopter parenting your ideas. My belief is that the things you create take on a life of their own when they are released. You transfer those ideas into the minds of your audience where they live on, spread, and transform into new ideas, new stories, new movements.
To prevent that is cruel and selfish, not just to the people whose creativity you restrict, but to the ideas themselves. You create sterilised ideas – eunuch ideas – robbed of their most basic imperative: to create more ideas.
Of course, I believe it's necessary to have certain limited protections over the things you create, both in copyright law to protect your commercial interests in a specific work, and in trademark law to allow you to control what can be officially associated with your name. However I don't believe there should be any protection over ideas, characters, worlds, or "look and feel".
I mean this not just legally, but morally. The desire to keep control over things you create makes sense as long as you see yourself as the creation's owner. But you can't own ideas, and you aren't the idea's master. You are its custodian, its guardian, its – dare I say – mother. You brought the idea into the world. You shaped it, You helped it grow until it was strong enough to stand on its own.
There's a tool I've sometimes found useful when making hard decisions, especially in situations where there's a strong social obligation or status quo influence. Sometimes these effects can go beyond just difficulty making the decision, and actually make it difficult to even figure out what you want, or prevent you from recognising that you can make a decision at all. It's like the difficulty of the right outcome stops you from even seeing it at all. This technique is designed to deal with that, and I call it the magic eraser.
Here's how it works: you're feeling bad about something, it's annoying you, making you angry, worried, or otherwise affecting you negatively. Just imagine you had a magic eraser. You think of the thing you don't want to deal with and – boom – erased. Working at a job you hate? It's gone. Event you don't want to go to? Cancelled. Unhappy relationship? You never even met. The magic eraser doesn't just get rid of the thing, it does so without any consequences or responsibility. You can then just enjoy your newfound freedom from whatever was vexing you.
Is this realistic? Of course not! But the point is you should be able to make the two decisions separately. Firstly, if this thing just blinked out of existence, would you be better off? Secondly, if so, how difficult would it be to actually get rid of it? It's very easy to lump those two together and end up not even considering the possibility that you may be better off without something that is costly to change. Still, costly is a different thing from impossible, and it's better to know what what the best outcome would be even if it's not achievable right now.
I think there would be a complimentary tool, a magic wand, for when you are having trouble imagining a positive outcome. There doesn't tend to be as much cultural resistance to that kind of aspirational thinking, though. The eraser is good because it can be very difficult to think destructively, even when it's the right thing to do.
I've been thinking about different things you could do with the ESP8266. I've got a few smaller projects lined up but there's one idea I keep coming back to that could actually be really amazing. What I want is an all-in-one power interface. It would be one of those through-plug form factors like most existing wireless switches and power meters, and basically connect your power point to wifi.
You plug it in and set it up (probably using a temporary wireless network or something) and then it connects to your wifi. From there, you can turn the switch on and off, measure its power usage at any point and see graphs over time. The whole thing would be controlled from a web interface running on a machine in your house, which would coordinate every switch on the network. There'd probably be a prebuilt all-in-one control device too, for people who don't want to install anything.
There's all kinds of cool stuff you could do with that. Off the top of my head, turn your lights on and off from your computer or phone, measure power-hungry appliances over time, figure out if you left the heater on at home and switch it off. It'd also have an API so you could just do arbitrary automatic things like turn on your amp when your TV comes on – assuming your hardware supports it.
This would be better than existing power switches and meters in three ways: firstly, it'd be open source and open hardware, not locked down like most of the existing stuff. You could reprogram the ESP on board, and although it'd come with a web-based management platform you wouldn't be locked into it. Secondly, it'd be designed for hobbyists, so even if you didn't want to use the wifi chip you could connect to some pinouts and use it as a simple power switch interface without worrying about wiring mains power wrong and burning your house down. And thirdly, it'd be much, much cheaper.
Current home automation devices seem to run at hundreds of dollars, but I can't really think of a reason why the materials for something like this would be any more than $10. At that kind of price range you could buy enough to rig up every important device in your house. Maybe you could even build one that replaces your wall switches. You'd really need to be really careful to make sure you got the security right, though.