It’s your typical Sunday morning. You have several pieces of bread, and want to toast them. You know precisely the level of “browness” you want to achieve, you’ve used your toaster with the same bread thousands of times. But, despite toasting the bread with the same setting as usual, your toasting result appears to differ from the one you had yesterday. Bad? Definitely. But what’s even worse, you put another piece of bread, and the toast is different even from the ones you’ve just had two minutes ago!
Evil little bastard! That’s why I don’t clean you properly!
Why does this happen, and how to find a proper toaster that works like it should work? By “proper”, I mean that when putting the same bread with the same darkness control setting level, I always get the same result of toastiness (and tastiness, as the browser grammar checker constantly trying to hint me).
We can define such toasters as “pure functioning”.
According to Wikipedia:
In computer programming, a pure function is a function that has the following properties:
the function return values are identical for identical arguments (no variation with local static variables, non-local variables, mutable reference arguments or input streams), and
the function application has no side effects (no mutation of local static variables, non-local variables, mutable reference arguments or input/output streams).
So, an ideal toaster for me would be a pure-functioning one.
The humans have flown to the Moon, dived to the Marian trench, and now we are only 30 years away from nuclear fusion1! I can expect that spending several hundred dollars on a device from a well-respected brand will buy me that, right?
It looks like unfortunately, the answer is no. Here (and here with some more details) you can read that there are three types of toasters now: timer toasters, capacitor toasters, and bimetallic strip ones. Though the timer toasters are the most expensive (never thought a timer is an expensive part), they still do not guarantee the final result.
Having run into the toaster issue, I started to think about other home devices we use. Some of them can be called pure-functioning. I love using them: microwave, dishwasher, washing machine. I suppose that this property is one of the things that makes their use pleasant and non-stressful. Others are not pure-functioning, but we have workarounds for dealing with this disadvantage. I can name a stovetop or an oven as such. Thermometers allow us to make sure our oven has reached the needed temperature and we can start cooking. Frying pans have special “thermo spots”. Though not precise, they still give us some kind of a hint. And of course, there are pieces of equipment which we don’t even have workarounds.
It seems that the closer to being pure-functioning the device is, the more I like it. Maybe it’s because I’m a software dev, and not a normal human. But maybe this characteristic is the one that can make people’s lives better when added to all appliances we use. Let’s hope for the future researchers and inventors to come up with some clever solutions. And I personally hope they will fix our toasters first.
I am sorry for this reference.