Hacker News new | past | comments | ask | show | jobs | submit login
The faulty digital clock problem (andersource.dev)
91 points by andersource on May 31, 2021 | hide | past | favorite | 16 comments



One thing I noticed a few years ago but never wrote about it: Some sequences of numbers might be interpreted differently (increasing instead of decreasing) if you cover some of the segments up! https://imgur.com/a/B2LZjqC

That happens when viewing off-axis some of the traffic lights that have a weather shield, like this: https://upload.wikimedia.org/wikipedia/commons/3/3a/Semaforo...


I can't help but feel bothered by the fact that the author didn't use the standard 7-segment display nomenclature/order for the segments (a-f clockwise starting from the top, middle is g) :-)

Another thing to note is that there isn't one standard 7-segment display font; in fact, whole papers have been written on the "optimal" font. The differences are the extra serifs that are optional on 7, 9, 6. It would be interesting to add this variability to the problem, where you don't know exactly what variant the clock is using.


7-segment numbers are available in Unicode now though. Take a look at U+1FBF0 to U+1FBF9.

To be fair, they are there for Atari ST character set compatibility, but it may be an interesting fact.


I didn't know there was a standard nomenclature for that! Though of course there is :)

And yes, another commenter noted on that, it would make for an interesting addition to the problem.


Slightly tangential thing I learned: Have you ever wondered why VCR clocks always showed 12:00 and were never set[0]?

It's because people simply didn't bother set the time on the VCR. I learned this from Mikko Hyppönen when he was telling us that people never change the default password on their IOT devices allowing hackers to access the devices and probably use the devices for cryptocurrency mining or launching a DDoS attack.

[0] https://www.reddit.com/r/AskReddit/comments/3a06hk/were_vcr_...


Also the VCR would often lose the clock settings if there was a power failure and to set it again you had to find the manual so ou just lived with it being unset.


For others who are just hearing about this now https://en.m.wikipedia.org/wiki/Blinking_twelve_problem


Just posted this to HN. So interesting!


To be fair, the issue is not that people did not set the time, everyone with a brand new VCR took the normally needed one-two-three hours time to read the (bulky) instructions and learn about tens of functions they would never use at first installation, and did set the time.

Only, next time there was a blackout (or even in some cases a low or high spike in voltage) of the mains (or you needed to switch it off to do some electrical repairs) the time would reset to 12:00 and usually there was no way to re-set it without the instruction manual and it was way too work to find the instructions.

For the nostalgics, a nice .gif: https://commons.wikimedia.org/wiki/File:1200am_blink.gif


> Have you ever wondered why VCR clocks always showed 12:00 and were never set

Not really. It's the same reason idle microwaves also "always" show 00:00.


That is assuming 6 segments for “6” and 5 for “9”. It is most common to use 6 for “9” also. Does it change the answer if the clock does that? How about if it uses 5 for both? Or 5 for “6” and 6 for “9”?

I think every display I’ve checked either uses 5 for both or 6 for both. I don’t recall ever seeing them mixed.

“7” also varies, using 3 segments most commonly but sometimes 4.


Good catch! The technique needs modification to handle uncertainty (i.e. if we don't know which variation of the digit this clock uses), by relaxing the constraints around the uncertain LED segments for the digits with variations. My guess is that the problem will still be constrained enough to be easily solvable again by constraint propagation, but I haven't tested that.


This reminds me of Peter Norvig's Sudoku solver: https://norvig.com/sudoku.html


Also check out z3 library for solving constraint satisfaction problems.

Python binding examples (https://ericpony.github.io/z3py-tutorial/guide-examples.htm) has really cool similar problems and solutions.


I was hoping the clock would turn out to be upside down, or reflected in a mirror or both.


A woeful sight strikes your eyes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: