## Think Fast

Round about last Christmas, my boss Bill gave out watches to engineering, which I thought was both really cool and generous.  Because we're geeks, we were given geek watches:

The watch reads in binary.  The top 4 lights are hours, the bottom 6 are minutes.  When you push the top button, you get 5 seconds to read the time.  For the hours, this is easy.  I have all combinations of 4 bits committed to memory so I can go from 4 bit binary to decimal or hex instantly (going the other way is much slower).  This shouldn't too much of a surprise.  There is a process called subitizing, wherein you are able to accurately quantify objects without actually counting them.  Most people top out around 3.  To get 4 is really just a matter of practice and I'm extremely comfortable with that.  When you get beyond your subitizing limit, it can take 250 - 350ms per object - so you can see that the 6 bits in the minutes are going to cause some problems.

You should still be OK, though as 350ms for six bits is 2.1 seconds, which should be enough to get the bits into your head for reading.  The problem of enumerating the bits is only half of the issue, because then you need to do the math.

I found that initially I was too slow to read the watch consistently and decided that I wanted to be able to, so I made a point of wearing it daily, replacing the awful band that came with it with something more comfortable, and making a point of checking the time on my watch, no matter how tempted I was to glance at an analog clock.

I soon found myself reading the time using two techniques - additive and subtractive.  If there were three or fewer bits set, I would add up the bits to get the minutes.  If there were three or fewer bits clear, I would add up the 0 bits and subtract from 64.  This is fairly fast, but doesn't always work when I'm tired.  Now with a new baby in the house, I'm tired all the time, so I needed another technique.

Since then, I've been pretty much ignoring the bottom 4 bits of the minutes except to note that they're either mostly set or mostly clear.  That means that I can read the time pretty quickly in approximate 15 minute intervals so that I look at the watch and mentally turn it into "quarter past", "half past", "quarter of" or the hour itself.  This has also refined into "nearly quarter past" and other verbiage of approximation.  It's still not as fast as working with an analog device, but certainly practical now.

How well do you know your binary?

Published Friday, March 30, 2007 12:31 PM by Steve Hawley