tiistai 31. lokakuuta 2017

Aika on vaikeaa

Vino kuva kellosta.

(Alex The Shutter/Flickr. CC-BY-NC 2.0.)

Taas on se aika vuodesta, kun käydään kiivasta keskustelua kesäajan tarpeettomuudesta. Tämä teksti ei ota siihen kantaa, vaan esittelen monta muutakin syytä, miksi aikaa — ehkä maailman ennustettavimmalta tuntuvaa asiaa — on lähes mahdotonta käsitellä.

Erityisen tärkeää tämä on ohjelmoijille: jokaisen vähänkään vakavammin koodaavan tulisi tietää, miksei aikajuttuja kannata yrittää kehittää itse. Ikävä kyllä läheskään kaikki eivät tunne edes yleisimpiä kompastuskiviä; enkä kyllä siitä voi moittiakaan. Siksi perussääntö on tämä: Jätä ajan käsittely ammattilaisille. Ei, et ole ammattilainen.

Kesäaika on ongelmista yleisin

Mikä olisikaan iloisempaa kuin ajanjakson 2:59-4:01 kestävän kaksi minuuttia tai viettää tunti laatuaikaa kello 3:00-3:00? Kesäajan johdosta paikallinen aika ei ole jatkuvaa. On pisteitä, joita ei ole olemassa: esimerkiksi 26.3.2017 klo 3:30. Toisaalta on pisteitä, jotka eivät ole yksikäsitteisiä: vaikkapa 29.10.2017 klo 3:15 tarkoittaa kahta ajanhetkeä.

Ohjelmat joutuvat sietämään takaperin kulkevaa kelloa, yöjunat pysähtyivät sunnuntaina tunniksi ja niin edelleen. Onneksi sentään vaihdokset on ajoitettu viikonloppuöiksi.

Kesäaika on ongelmista epäyhtenäisin

Onneksi vaihdoksia ei sentään ole ajoitettu aina samalla tavalla. EU-alueella vaihdos tehdään nykysäännöillä maalis- ja lokakuun viimeisinä sunnuntaina. Yhdysvalloissa se tapahtuu maaliskuun puolessavälin ja marraskuun alussa, joten tämän julkaisuhetkellä eletään viikkoa, jona aikaero maiden välillä on tunnin tavallista pienempi.

...paitsi jos olet kiinnostunut Havaijista, suuresta osasta Arizonaa tai Yhdysvalloille kuuluvista saarista — niissä kesäaikaa ei ole ollenkaan eli poikkeuksen sijaan puhutaan säännöstä. Eteläisellä pallonpuoliskolla vaihdos tapahtuu toisin päin ja tietenkin eri viikonloppuna, ja vaikkapa Australiassa vain eteläiset osavaltiot noudattavat kesäaikaa.

...niin, ja säännöt voivat vaihtua vuosittain. Sääntöjä on semmoinen litania, että kahden ajanhetken välisen erotuksen laskemiseen tarvitaan melkoinen taulukko. Tämä tuottaa kiitettävästi tietoteknistä tuskaa. Eikä edes puhuta tulevista ajoista!

Aikavyöhykkeet ovat muutenkin tuskaa

Venäjällä saatiin tarpeekseen puolivuosittaisista kellonkäännöistä. Vuonna 2011 he siirtyivät kesäaikaan pysyvästi — ja vuonna 2014 pysyvästi talviaikaan, koska kesäajassa ei ollutkaan kivaa. Aikavyöhykkeen säännöllinen vaihtaminen tuo kivaa lisäjännitystä elämään.

Aikavyöhykkeet eivät myöskään koostu tasatunneista: Intia on vyöhykkeellä UTC+5:30.

Aikavyöhykkeet eivät myöskään koostu tasapuolitunneista: Nepal on vyöhykkeellä UTC+5:45.

Aikavyöhykkeet eivät myöskään pysy 24 tunnin sisällä: ääripäät ovat UTC-12:00 ja UTC+14:00.

Kaoottiset karkausvuodet

Kaikki tietävät, että neljällä jaolliset vuodet ovat karkausvuosia. Mutta 1900 ei olekaan karkausvuosi. Ihan niin ilmiselvää ei olekaan, että sadalla jaolliset vuodet eivät ole karkausvuosia.

...ja jotta asia olisi vielä hieman sotkuisempi, vuosi 2000 oli karkausvuosi. Neljälläsadalla jaolliset vuodet näet ovat karkausvuosia.

Karmivat kalenterit

Karkausvuosisotku johtuu siitä, että vuoden pituus ei ole mukavat 365 vuorokautta eikä edes neljän vuoden sykliin sopivat 365,25 vuorokautta. Oikea luku on 365,2422. Gregoriaaninen kalenteri pitää monimutkaisilla säännöillään huolen siitä, että vuodenajat eivät keikahda väärälle puolelle kalenteria kuten aiemmassa juliaanisessa kalenterissa.

Valitettavasti siirtymäkohta kalenterien välillä ei ole kovin sulava. Juliaanisen kalenterin käyttöaikana vuodenajat olivat liukuneet jo toista viikkoa alkuperäistä aikaisemmaksi, joten kalenteria piti kelata eteenpäin. Katolisissa maissa 4.10.1582 jälkeen tuli 15.10.1582!

Jo tämä tekisi menneiden aikojen käsittelystä ikävää, mutta eri maat vaihtoivat kalenteria tietenkin eri aikoina. Venäjällä muutos tapahtui vasta vuoden 1918 myllerryksessä (ja sen ansiosta lokakuun vallankumous tapahtuikin marraskuussa, tai jotain sinne päin). Ruotsissa (ja siten myös Suomessa) yritettiin kiriä ero kiinni vaiheittain, mutta sen ansiosta maalla olisi ollut vuosikymmeniä ihan oma kalenterinsa. Tämä onneksi unohdettiin heti alkuvaiheissa.

Vakiot eivät ole

Mutta sentään kello ei voi ikinä olla 09:59:60. Paitsi että niinkin on ollut 27 kertaa. Kyse on tietenkin karkaussekunneista. Ne lisätään päivän viimeiseen minuuttiin UTC-aikaa, joten ne osuvat keskelle päivää muilla aikavyöhykkeillä.

600 miljoonaa vuotta sitten päivän pituuden arvioidaan olleen 21 tuntia. Maan pyöriminen on siis hidastunut ja sitä se tekee edelleen, koska Kuu ja maankuoren muutokset ryöstävät Maan pyörimisenergiaa. Vaikutus on häviävän pieni, mutta atomikelloaikana havaittava: noin minuutti vuosisadassa. Ilman korjauksia kellot ja aurinko menettäisivät hiljalleen yhteytensä.

Karkaussekunti lisätään, kun ero atomiajan ja aurinkoajan välillä lähestyy sekunnin luokkaa. Niistä ilmoitetaan yleensä puoli vuotta etukäteen, mutta helpoimmin sen huomaa siitä, kuinka isot verkkopalvelut katoavat kartalta. Viime vuosina karkaussekunnit ovat aiheuttaneet ongelmia monelle järjestelmälle, joka ei ole osannut käsitellä poikkeuksellista sekuntilukua. Arkilaitteet eivät yleensä piittaa koko asiasta.

Ja jos olet avaruudessa...

GPS-satelliitit ovat erittäin tarkkoja kelloja. Ne ovat myöskin hyviä esimerkkejä suhteellisuusteorian sovelluksista: Koska satelliitit liikkuvat nopeasti, aika etenee niissä hitaammin. Toisaalta koska Maan painovoima vaikuttaa niihin heikommin, aika liikkuu nopeammin. Nämä eivät kumoa toisiaan, joten GPS-järjestelmässä pitää ottaa ero huomioon.

Avaruustutkimuksessa aika ei noudata tuttuja sääntöjä. Teleskoopeilla näkee menneisyyteen, koska valo liikkuu niin hitaasti. Toisaalta valon näkökulmasta matkaan ei mene hetkeäkään. Avaruus on kaarella niin paikan kuin ajankin suhteen, joten kaksi eri aikaa näyttävää kelloa voivat olla kumpikin oikeassa.

Mikä avuksi?

Aika on vaikeaa siksi, että sen halutaan vastaavan auringon ja vuodenaikojen kiertoa. Kesäaika on siinä vain yksi ongelma. Tietokoneiden ja globaalin toiminnan piirissä UTC-aika on hyvä kompromissi, mutta jos aikansa haluaa täysin tasaisena ja jatkuvana, joutuu turvautumaan atomikelloihin. Silloin tosin aurinko voi nousta ihan milloin sattuu.

Elämme kovia aikoja, ystävä hyvä.

Ei kommentteja:

Lähetä kommentti

Kommentit ovat moderoituja - yritän hyväksyä kommenttisi mahdollisimman pian. Voit kirjoittaa kommenttiin LaTeX-koodia - lue lisää Kommentointi-sivulta.