{"id":749,"date":"2012-03-12T17:40:06","date_gmt":"2012-03-13T00:40:06","guid":{"rendered":"http:\/\/www.nadynerichmond.com\/blog\/?p=749"},"modified":"2012-03-12T17:40:06","modified_gmt":"2012-03-13T00:40:06","slug":"how-much-engineering-effort-is-lost-to-dst-every-year","status":"publish","type":"post","link":"https:\/\/www.nadynerichmond.com\/blog\/2012\/03\/12\/how-much-engineering-effort-is-lost-to-dst-every-year\/","title":{"rendered":"how much engineering effort is lost to DST every year?"},"content":{"rendered":"<p>I haven&#8217;t yet met anyone who really likes Daylight Savings Time (DST). \u00a0Every spring, everyone complains about losing an hour of sleep. \u00a0Then you walk through your home and get annoyed by the clocks that aren&#8217;t updated automatically. \u00a0You get even more annoyed when you have a clock that should&#8217;ve been updated automatically but wasn&#8217;t, or it somehow got updated incorrectly.<\/p>\n<p>Anyone who has colleagues, family, or friends overseas knows that DST is more complicated than that. \u00a0Other countries might or might not participate in DST, and the dates on which they change their time are not the same.<sup class='footnote'><a href='#fn-749-1' id='fnref-749-1' onclick='return fdfootnote_show(749)'>1<\/a><\/sup> \u00a0When you&#8217;re trying to book a meeting or make a telephone call, there&#8217;s a few weeks every spring and autumn where you double-check to make sure that you&#8217;re not doing it at the wrong time.<\/p>\n<p>DST is a massively complex beast. \u00a0In the US, it wasn&#8217;t until 2007 that the dates for the time change were standardized across the country<sup class='footnote'><a href='#fn-749-2' id='fnref-749-2' onclick='return fdfootnote_show(749)'>2<\/a><\/sup>. \u00a0Before that, states and localities could opt out of DST, although you should note that Arizona and Hawaii still don&#8217;t observe it.<sup class='footnote'><a href='#fn-749-3' id='fnref-749-3' onclick='return fdfootnote_show(749)'>3<\/a><\/sup><\/p>\n<p>&#8220;That doesn&#8217;t sound too bad,&#8221; you&#8217;re thinking to yourself right now. \u00a0There&#8217;s not a lot of error conditions to be had here. \u00a0You could get the date itself wrong, but it&#8217;s now standard enough that this isn&#8217;t too likely. \u00a0You could get the time zone wrong, which is probably most likely to be a concern if you&#8217;re close to a time zone boundary or if you&#8217;re in one of the places that doesn&#8217;t observe it. \u00a0Both of these are probably not going to require a lot of engineering effort.<\/p>\n<p>And it&#8217;s not, so long as you&#8217;re only dealing with the US. But now pause and consider: as of this writing, there are 196 countries in the world<sup class='footnote'><a href='#fn-749-4' id='fnref-749-4' onclick='return fdfootnote_show(749)'>4<\/a><\/sup>. \u00a0Each of these countries potentially has their own dates for recognizing DST. \u00a0For the countries which observe DST, the dates on which they do so might or might not be standardized, or might be standardized but get moved around if a local government decides to make a small tweak that year. \u00a0Localities within these countries also can choose not to observe it. \u00a0Don&#8217;t forget that the northern hemisphere is observing DST in one direction, and the southern hemisphere is observing it in the other direction. \u00a0While you&#8217;re at it, realize that &#8220;Pacific time&#8221; isn&#8217;t just the name of a time zone in the US. \u00a0Wikipedia has a huge page about <a title=\"Daylight saving time by region and country\" href=\"http:\/\/en.wikipedia.org\/wiki\/Daylight_saving_time_by_country\">daylight saving time by country<\/a>, which gives you an idea of the complexity of this issue.<sup class='footnote'><a href='#fn-749-5' id='fnref-749-5' onclick='return fdfootnote_show(749)'>5<\/a><\/sup><\/p>\n<p>All of this is complex enough when we&#8217;re thinking about a single clock that needs to update. \u00a0Let&#8217;s add in another layer of complexity: client\/server. \u00a0Your computer has its own internal clock, and it updates against a time server somewhere. \u00a0That cell phone in your pocket has at least two time sources. \u00a0It&#8217;s got its own internal clock, and it&#8217;s also getting the time from the nearest cell towers. \u00a0Your mail application gets its time from the local computer, and it&#8217;s also communicating with the mail server and getting items there that are timestamped. \u00a0The examples here are all but endless.<\/p>\n<p>In software engineering, we talk about &#8220;edge cases&#8221;. \u00a0An edge case is a problem that occurs when you&#8217;re at the outside the usual operating parameters. \u00a0DST is a rat&#8217;s nest of edge cases. \u00a0You can come up with a dozen of them without even trying hard. \u00a0Anyone who&#8217;s worked on an application that deals with this has a horror story about the year Venezuela changed their dates for DST at the last minute, or somehow one server didn&#8217;t get the latest code, or a million other edge cases.<\/p>\n<p>I have to wonder: how much engineering time gets wasted on DST every year? \u00a0Just think of all of the tech companies that have to deal with this: any company that makes a mail or calendar application (IBM, Microsoft, Apple, VMware, &#8230;), every mobile phone provider (AT&amp;T, Verizon, T-Mobile, &#8230;). \u00a0Maybe the tech industry could come together to abolish DST and succeed where so many others have failed.<\/p>\n<div class='footnotes' id='footnotes-749'>\n<div class='footnotedivider'><\/div>\n<ol>\n<li id='fn-749-1'> In 2001, when I moved from Sydney to Silicon Valley, I was in Sydney for their &#8220;fall behind&#8221; time change, got on an airplane, and was then in the Valley for our &#8220;spring ahead&#8221; change. \u00a0Between that and jet lag, I was in my own personal time zone for at least a couple of days. \u00a0Nadyne Standard Time? <span class='footnotereverse'><a href='#fnref-749-1'>&#8617;<\/a><\/span><\/li>\n<li id='fn-749-2'> Second Sunday in March, first Sunday in November, in case you&#8217;re interested. <span class='footnotereverse'><a href='#fnref-749-2'>&#8617;<\/a><\/span><\/li>\n<li id='fn-749-3'> To confuse matters further, the Navajo Nation in Arizona does observe DST. <span class='footnotereverse'><a href='#fnref-749-3'>&#8617;<\/a><\/span><\/li>\n<li id='fn-749-4'> The UN recognizes 193, but that doesn&#8217;t include the Vatican, Kosovo, or Taiwan. <span class='footnotereverse'><a href='#fnref-749-4'>&#8617;<\/a><\/span><\/li>\n<li id='fn-749-5'> According to that page, Russia has now stopped observing DST, which I have to believe caused some software engineers a couple of sleepless nights in coding that update. <span class='footnotereverse'><a href='#fnref-749-5'>&#8617;<\/a><\/span><\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I haven&#8217;t yet met anyone who really likes Daylight Savings Time (DST). \u00a0Every spring, everyone complains about losing an hour of sleep. \u00a0Then you walk through your home and get annoyed by the clocks that aren&#8217;t updated automatically. \u00a0You get even more annoyed when you have a clock that should&#8217;ve been updated automatically but wasn&#8217;t, &hellip; <a href=\"https:\/\/www.nadynerichmond.com\/blog\/2012\/03\/12\/how-much-engineering-effort-is-lost-to-dst-every-year\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">how much engineering effort is lost to DST every year?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"class_list":["post-749","post","type-post","status-publish","format-standard","hentry","category-software"],"_links":{"self":[{"href":"https:\/\/www.nadynerichmond.com\/blog\/wp-json\/wp\/v2\/posts\/749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nadynerichmond.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nadynerichmond.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nadynerichmond.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nadynerichmond.com\/blog\/wp-json\/wp\/v2\/comments?post=749"}],"version-history":[{"count":1,"href":"https:\/\/www.nadynerichmond.com\/blog\/wp-json\/wp\/v2\/posts\/749\/revisions"}],"predecessor-version":[{"id":750,"href":"https:\/\/www.nadynerichmond.com\/blog\/wp-json\/wp\/v2\/posts\/749\/revisions\/750"}],"wp:attachment":[{"href":"https:\/\/www.nadynerichmond.com\/blog\/wp-json\/wp\/v2\/media?parent=749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nadynerichmond.com\/blog\/wp-json\/wp\/v2\/categories?post=749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nadynerichmond.com\/blog\/wp-json\/wp\/v2\/tags?post=749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}