{"id":103,"date":"2008-10-04T23:21:37","date_gmt":"2008-10-05T02:21:37","guid":{"rendered":"http:\/\/hackers.propus.com.br\/~marlon\/blog\/?p=103"},"modified":"2008-10-19T20:40:14","modified_gmt":"2008-10-19T23:40:14","slug":"horario-de-verao-tupiniquim-versao-tecnica","status":"publish","type":"post","link":"https:\/\/mfdutra.com\/blog\/2008\/10\/04\/horario-de-verao-tupiniquim-versao-tecnica\/","title":{"rendered":"Hor\u00e1rio de ver\u00e3o tupiniquim, vers\u00e3o t\u00e9cnica"},"content":{"rendered":"<p>Seguindo o <a href=\"http:\/\/hackers.propus.com.br\/~marlon\/blog\/2008\/10\/04\/horario-de-verao-tupiniquim\/\" target=\"_blank\">meu \u00faltimo post<\/a>, quero falar um pouco sobre a import\u00e2ncia do rel\u00f3gio, especialmente nos dias de hoje, de um mundo interconectado.<\/p>\n<p><strong>Antes de tudo, que horas s\u00e3o?<\/strong><\/p>\n<p>O meu rel\u00f3gio est\u00e1 marcando aqui 21h25. \u00c9 essa a hora certa? Se eu ligar para um amigo agora em Seattle, ele vai me dizer 17h25, em Londres 1h25 da madrugada. Que confus\u00e3o, eu s\u00f3 quero saber que horas s\u00e3o. Se a resposta foi qualquer hora + 25 minutos, est\u00e1 correta. Tudo depende de onde a resposta est\u00e1 partindo!<\/p>\n<p>Como o mundo inteiro pode se coordenar com essa bagun\u00e7a de fusos hor\u00e1rios, hor\u00e1rio de ver\u00e3o cuja regra varia de regi\u00e3o pra regi\u00e3o, e outras perip\u00e9cias, como fusos hor\u00e1rios de 15 e 30 minutos de separa\u00e7\u00e3o, etc? Para isso existe o <a href=\"http:\/\/en.wikipedia.org\/wiki\/UTC\" target=\"_blank\">Tempo Universal Coordenado<\/a>, o UTC, ou GMT (Greenwich Mean Time), ou ainda &#8220;Zulu Time&#8221;. \u00c9 importante salientar que <strong>a hora UTC nunca varia<\/strong>. Sempre anda para frente na mesma frequ\u00eancia, perfeitamente alinhada com o sol no meridiano zero.<\/p>\n<p>\u00c9 em fun\u00e7\u00e3o dessa previsibilidade e uniformidade que \u00e9 a hora utilizada por muitos sistemas no mundo. Toda a avia\u00e7\u00e3o no mundo, inclusive aqui no Brasil, por exemplo, s\u00f3 fala UTC. Grande parte dos sistemas na Internet s\u00e3o baseados em UTC. Grandes empresas com sedes em v\u00e1rios pa\u00edses s\u00f3 operam com refer\u00eancias UTC, e assim por diante&#8230;<\/p>\n<p>V\u00e1rios pa\u00edses no mundo possuem hor\u00e1rio de ver\u00e3o, por v\u00e1rias raz\u00f5es, principalmente para economizar energia. N\u00e3o vou entrar no m\u00e9rito da quest\u00e3o. Os pa\u00edses com governos com algum n\u00edvel de intelig\u00eancia possuem regras repetitivas definindo o dia que o hor\u00e1rio de ver\u00e3o come\u00e7a e termina. N\u00e3o \u00e9 o caso do Brasil, infelizmente, que nunca teve uma regra, e agora que tem uma, \u00e9 quase enigm\u00e1tica, baseando-se no calend\u00e1rio lunar. Acredite, n\u00e3o estou brincando!<\/p>\n<p>O que muita gente se confunde \u00e9 que na verdade n\u00e3o existe hor\u00e1rio de ver\u00e3o. <strong>O que existe \u00e9 fuso hor\u00e1rio de ver\u00e3o.<\/strong> Um pa\u00eds, ou uma regi\u00e3o, quando entra no hor\u00e1rio de ver\u00e3o, na verdade est\u00e1 &#8220;se mudando&#8221; para o fuso hor\u00e1rio seguinte. No caso do Brasil, os estados que atendem o hor\u00e1rio de ver\u00e3o est\u00e3o normalmente em UTC-3. No hor\u00e1rio de ver\u00e3o, est\u00e3o em UTC-2. A hora de refer\u00eancia, UTC, \u00e9 sempre a mesma. Varia apenas o fator de corre\u00e7\u00e3o em rela\u00e7\u00e3o ao UTC.<\/p>\n<p>A confus\u00e3o t\u00e9cnica est\u00e1 em n\u00e3o sabermos quando essa mudan\u00e7a vai acontecer, pois dependia de um canetasso do Presidente.<\/p>\n<p>Considerando que, de acordo com a regra publicada em 2007, parte do Brasil foi para o hor\u00e1rio de ver\u00e3o no segundo domingo de outubro e; este ano a regra mudou para o terceiro domingo de outubro, sendo <a href=\"http:\/\/www.planalto.gov.br\/ccivil_03\/_ato2007-2010\/2008\/decreto\/d6558.htm\" target=\"_blank\">publicada no in\u00edcio de setembro<\/a> apenas, vamos a alguns exemplos de problemas que isso ocasiona:<\/p>\n<h2>Exemplo 1, uma reuni\u00e3o:<\/h2>\n<p>No dia 31 de agosto, eu em Porto Alegre marco uma reuni\u00e3o para o dia 14 de outubro \u00e0s 11h00 da manh\u00e3 (hora de Porto Alegre) com minha amiga <a href=\"http:\/\/nanda.softwarelivre.org\/\" target=\"_blank\">Fernanda<\/a> que mora em Zurich, portanto 15h00 para ela. Os sistemas de agendamento obviamente v\u00e3o gravar isso em UTC, para n\u00e3o haver confus\u00e3o. O sistema consulta o regramento de hora de ver\u00e3o e verifica que no dia 14 de outubro \u00e0s 11h00 vai ser 13h00 UTC, pois nesse dia Porto Alegre estaria no hor\u00e1rio de ver\u00e3o. Reuni\u00e3o marcada. O governo publica a regra dizendo que o hor\u00e1rio ver\u00e3o come\u00e7a dia 19 de outubro. Chega o dia 14 de outubro 11h00 local, 14h00 UTC, 16h00 em Zurich. Ooops, acho que estou uma hora atrasado! Entenderam o drama?<\/p>\n<h2>Exemplo 2, avia\u00e7\u00e3o:<\/h2>\n<p><em>Este \u00e9 um exemplo real que aconteceu comigo:<\/em><\/p>\n<p>Em agosto em 2006, eu comprei uma passagem da American Airlines para Dallas num voo partindo de S\u00e3o Paulo dia 22 de outubro. Por raz\u00f5es \u00f3bvias a avia\u00e7\u00e3o opera toda em UTC, e assim s\u00e3o os planos de voo. O plano do voo que eu comprei previa decolagem \u00e0s 0h30 UTC. Em agosto, os sistemas da American Airlines previam que 22 de outubro seria hor\u00e1rio de ver\u00e3o no Brasil, logo aplicaram uma diferen\u00e7a de 2 horas em rela\u00e7\u00e3o ao UTC, me vendendo um voo que partiria portanto \u00e0s 22h30 hora local, pois por lei as passagens t\u00eam que ser emitidas em hora local, o que faz sentido at\u00e9. Ap\u00f3s eu ter a passagem em m\u00e3o, o governo no auge de sua estupidez posterga o in\u00edcio do hor\u00e1rio de ver\u00e3o para 5 de novembro, pois as ultra-modernas urnas eletr\u00f4nicas n\u00e3o suportavam isso (claro, com essa bagun\u00e7a!). Se o plano de voo da American Airlines era para \u00e0s 0h30 UTC e agora a diferen\u00e7a hor\u00e1ria era de 3 horas e n\u00e3o 2, meu voo consequentemente seria \u00e0s 21h30, correto? A Tam, onde voei de Porto Alegre pra Guarulhos, tamb\u00e9m registra todos os seus planos de voo em UTC, mas eles usam como refer\u00eancia a hora local, ent\u00e3o mantiveram seus voos travados na hora local, ajustando a UTC, o que \u00e9 razo\u00e1vel para voos dom\u00e9sticos. Resultado, a Tam atrasou todos os seus voos em uma hora em rela\u00e7\u00e3o ao UTC para manter a hora local e todo mundo perdeu as suas conex\u00f5es no aeroporto de Guarulhos, causando um preju\u00edzo absurdo para todo o sistema de avia\u00e7\u00e3o, que teve que fazer um replanejamento monstruoso de slots e escalas de tripula\u00e7\u00e3o e aeronaves para cumprir um canetasso do Presidente.<\/p>\n<p>Como de costume, publiquei o arquivo com a mais nova regra, desta vez mais confusa do que nunca, do nosso hor\u00e1rio de ver\u00e3o. Pra simplificar a jogada no Linux, fiz um script que faz a opera\u00e7\u00e3o toda. Fa\u00e7a o seguinte logado como root:<\/p>\n<pre>wget http:\/\/hackers.propus.com.br\/~marlon\/dst\/update_dst.sh\r\nbash update_dst.sh<\/pre>\n<p>O script vai baixar automaticamente outro arquivo, o <a href=\"http:\/\/hackers.propus.com.br\/~marlon\/dst\/southamerica\" target=\"_blank\">southamerica<\/a>, onde est\u00e3o as regras que s\u00e3o v\u00e1lidas at\u00e9 2100, isso se n\u00e3o mudar tudo de novo, \u00e9 claro.<\/p>\n<p>Para os curiosos, eu fiz um <a href=\"http:\/\/hackers.propus.com.br\/~marlon\/dst\/dst-brazil.py\">script em Python<\/a> que calcula o t\u00e9rmino do hor\u00e1rio de ver\u00e3o de acordo com a nova lei para qualquer ano.<\/p>\n<p>Os usu\u00e1rios Windows podem baixar <a href=\"http:\/\/hackers.propus.com.br\/~marlon\/dst\/dst2008brazil.reg\" target=\"_blank\">este arquivo de registro<\/a> e execut\u00e1-lo em seu computador. Ele vale apenas para 2008. Voc\u00ea deve verificar na sua configura\u00e7\u00e3o de rel\u00f3gio se o fuso hor\u00e1rio est\u00e1 certo para -03:00 Hora de Bras\u00edlia e se a op\u00e7\u00e3o para ajustar automaticamente para o hor\u00e1rio de ver\u00e3o est\u00e1 marcada.<\/p>\n<p><strong>ATEN\u00c7\u00c3O<\/strong>: se voc\u00ea quiser mudar para o hor\u00e1rio de ver\u00e3o manualmente, <strong>jamais mexa no rel\u00f3gio<\/strong>. Altere o fuso hor\u00e1rio para -02:00 Fernando de Noronha ent\u00e3o. Lembre-se que a sua hora UTC nunca pode mudar.<\/p>\n<p>Boa sorte.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seguindo o meu \u00faltimo post, quero falar um pouco sobre a import\u00e2ncia do rel\u00f3gio, especialmente nos dias de hoje, de um mundo interconectado. Antes de tudo, que horas s\u00e3o? O meu rel\u00f3gio est\u00e1 marcando aqui 21h25. \u00c9 essa a hora certa? Se eu ligar para um amigo agora em Seattle, ele vai me dizer 17h25, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/mfdutra.com\/blog\/2008\/10\/04\/horario-de-verao-tupiniquim-versao-tecnica\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Hor\u00e1rio de ver\u00e3o tupiniquim, vers\u00e3o t\u00e9cnica&#8221;<\/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":[25],"tags":[23,22,18,20,21,19],"class_list":["post-103","post","type-post","status-publish","format-standard","hentry","category-tech","tag-daylight-saving-time","tag-dst","tag-horario","tag-summer","tag-time","tag-verao","entry"],"_links":{"self":[{"href":"https:\/\/mfdutra.com\/blog\/wp-json\/wp\/v2\/posts\/103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mfdutra.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mfdutra.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mfdutra.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mfdutra.com\/blog\/wp-json\/wp\/v2\/comments?post=103"}],"version-history":[{"count":4,"href":"https:\/\/mfdutra.com\/blog\/wp-json\/wp\/v2\/posts\/103\/revisions"}],"predecessor-version":[{"id":108,"href":"https:\/\/mfdutra.com\/blog\/wp-json\/wp\/v2\/posts\/103\/revisions\/108"}],"wp:attachment":[{"href":"https:\/\/mfdutra.com\/blog\/wp-json\/wp\/v2\/media?parent=103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mfdutra.com\/blog\/wp-json\/wp\/v2\/categories?post=103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mfdutra.com\/blog\/wp-json\/wp\/v2\/tags?post=103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}