Speaking about ‘moving mount Fuji’


I have this device in my office:



Quite a few visitors get baffled what is it. Most are able to quickly figure out that it is some sort of clock since it is ‘ticking’ (light pattern changes and left side changes slower than the right). However, some couldn’t figure out what sort of clock it is and how exactly does it display time. I am seriously thinking about using this as my interview question 😉


Comments (11)

  1. Microsoft people are so predictable. ArpanDe has a a similar binary clock in his office has joked about using it as an interview question as well. I personally fail to see how recognizing or not recognizing that this is a binary clock actually determines whether someone is suitable to work at Microsoft or not. Then again, most of the trick questions in the "How would you move Mt. Fuji" vein also don’t test much besides how good the candidate is at (a) Googling and (b) brain teasers.

  2. Mikhail Arkhipov (MSFT) says:

    In fact, I very rarely use riddles int interviews. However, this one is not a riddle or anywhere close to Mount Fuji question. Answer actually shows ability to analyze and recognize patterns in a limited time under pressure. It probably is not main interview question, but it can lead to interesting discussions on BCD arithmetics, for instance. Actually, it is possible to ask candidate to write code that would light LEDs for this kind of clock.

    Speaking about googling, it is relatively easy to recognize if candidate actually knew the answer. Brain teasers show raw brain power and are useful if candidate has little previous experience or his experience is largely irrelevant. I have never seen interview that consisted solely of riddles.

    However, there is a high correlation between how well candidate answers tricky questions and how well he or she then, if hired, is progressing in his/her career :-)

  3. Duncan Jones says:

    How about asking : How would you go about making such a clock for MS Windows…and for extra credit one that resides in the task pane.

  4. Simon says:

    Here’s a guess…

    Binary clock:

    The left hand side go up to 64, the other two values to 128. That gives 1048576 states to the clock.

    Swatch internet time is 1000 beats per day, so assuming it rolls over at 1000000 basically the left two indicate the number of beats and the right hand side indicates seconds. Well, very almost seconds.

    I also kept thinking I could relate it to conventional time, but it seems easier this way.

  5. Simon: it isn’t that complicated 😛

    HH:MM:SS… so in the case of the time in that photo it is: 05:41:42 (am as this is 24hr based).

  6. B.Y. says:

    It’s a good conversation starter, and a good lead to other questions. It’s certainly better than how to move mount Fuji (unless you’re working on a civil engineering app).

    I think all good and average programmers, if they realize it’s a binary clock, should be able to figure out what’s being displayed. Only the bad ones will have problem with the concept of "binary clock" or have trouble counting simple hex in his head.

  7. Michael Auton says:

    Where can I get a clock like the one in the picture? Living in UK so would have to be over the internet rather than a local Wallmart.

    thanks

  8. Simon says:

    What got me was how you use the second column in each part of the time as a base ten across the bottom… It doesn’t really make logical sense to mix and match binary and decimal like that.

    I was working on it being entirely binary and hammering a different time system that almost fit into the square hole.

    Oops.

  9. Mikhail Arkhipov (MSFT) says:

    Actualy it does make sense. That’s the problem that typical observer has. This is not a binary clock, it is binary decimal clock. Most people see it is binary, but they can’t figure out why there is different number of LEDs in columns and why counter in a single column never goes beyond 9.

    Binary decimal arithmetics is useful and x86 still has assembly instructions specifically designed for BCD. Those are AAA, AAD, AAM, AAS, DAA, DAS. It allows to add binary-packed decimal numbers when a single byte actually contains two decimal numbers, one in low 4 bits and another in high 4 bits.

    I believe it was (is, has been?) used for financial calculation when very large numbers had to be calculated on 8 bits machines. Well, even today’s 32 bit int does not fit certain currencies.

    For more info, see http://www.osdata.com/topic/language/asm/bcdarith.htm

  10. Mikhail Arkhipov (MSFT) says:

    As where to get such clock, Google for ‘BCD clock’

    http://www.esptec.com/Clocks/RoundedEdge.html

    Although I have bought mine in Science Center in San Diego.