Filed under: Geekiness — iain @ 22:44:43

Idempotent is one of those words you often forget. The ones where you find yourself asking "what was that word which means X?" and then you remember and vow never to forget it again. Except of course that you do.

An operation is said to be idempotent if the result of applying it twice is the same as applying it only once. In mathematical terms we can say that a function f is idempotent if f(x) = f(f(x)). In other words if you apply the function to a variable and then apply the same function to the result, there is no further change.

I saw – and was reminded of – the word during my investigation into cfengine where the author describes its actions as idempotent. If a rule is supposed to ensure that your system is in a particular state and it already is in that state, running the rule should have no effect. In this context you can think of idempotency as the property of "if it ain’t broke, don’t fix it."

I remember the word (or at least I remember that I forgot it) from my student days. My stats professor had a particularly nice example of idempotency. He said that dropping a pencil was an idempotent operation and would demonstrate this by holding a pencil between his thumb and forefinger and dropping it on to his desk. "If I drop this pencil," he said, "it falls on to the desk. But if I drop it again," at this point he would again grip the pencil between his thumb and forefinger, taking care not to disturb its position, "it stays dropped." And he would let go.

I don’t remember very much about his course (something about matrices and Bayes Theory rings a bell) but I remember his pencil and the explanation of idempotency. Even when I forget the word.

I had another lecturer – I don’t even remember what course he covered – who had an anecdote about the very subject of remembering trivial sidenotes and forgetting the things you were supposed to be studying. He recalled how he forgot everything about his American Studies except the name of Abraham Lincoln’s dog.

I don’t remember what the course was, what his name was or what I was supposed to be learning. I don’t even remember the name of the dog. But I remember that he remembered it.

No Comments »

No comments yet.

RSS feed for comments on this post.

Leave a comment

You must be logged in to post a comment.

Powered by WordPress