Twice a year I’m reminded of how little correlation there is between how much a time-telling device costs and how smart it is about daylight saving time.
|Device||Approximate price new||Does it automatically adjust for DST?|
|IKEA wall clock||$15||No|
|Fitbit fitness tracker||$150||Yes (but don’t ask about the sleep tracking for that night)|
|Canon M5 camera||$700||No|
|Stove and oven||$1,000||No|
For comparison, Amazon lists an analog wall clock that will regularly set itself, including for daylight saving time, from the time station in Colorado. It costs $20 and has an average rating of 4½ stars.
Irritation at others’ inadequacies
The one that really gets me is the camera. I like it overall, but it doesn’t have built-in GPS for geotagging my photos, and—setting aside daylight saving entirely—it’s bad at keeping accurate time, so even if I use my smartphone to collect a GPS track it will still take trial and error later to tag my photos. Why, Canon!?
Admission of my own inadequacies
I worked for a scientific-measurement company whose devices would appear near the Camry in this table. The instruments had industry-leading precision, but they didn’t have real-time clocks, so on each new boot they got to relive some day in 2011. This detail was invisible to the end user… until I had the bright idea to make the device accessible through an HTTP API. Now every piece of information from the device came with a Date header that was wrong by at least three years. But what can you do? RFC 2616 requires that you send a Date header, after all.
Except… it doesn’t. In fact, it specifically says that “if the server does not have a clock that can provide a reasonable approximation of the current time, its responses MUST NOT include a Date header field.” And I was using the built-in Go HTTP server, which will remove the auto-generated Date header if you just ask it to. I had hoped there would be a more interesting moral to this story, but I think the lesson is simply that if you’re justifying a bug by pointing to a standard, make sure you’ve actually read the standard.