Državna volilna komisija ni znala računati časa

Matej Huš

25. mar 2022 ob 22:53:17

Čeprav se je rok za prijavo h glasovanju iz tujine na letošnjih parlamentarnih volitvah, ki bodo 24. aprila, iztekel včeraj (24. 3.) ob 24.00 uri, se je sistem izključil že ob 23. uri. To je nekatere volivce, ki so se želeli registrirati v zadnjem hipu, pošteno razburilo. Izkazalo se je, da ni šlo za namerno oviranje volilne pravice niti za preobremenjenost sistema, temveč površno programiranje. Državna volilna komisija je pojasnila, da njihovi sistemi niso pravilno računali datumov. Prav tako so zagotovili, da bo tudi vloge, ki niso šle skozi zaradi težav z uro, normalno obravnavali.

S časom v računalništvu je križ, saj morajo biti po eni strani ure v sistemih strogo monotone (vedno tiktakati naprej), po drugi strani pa civilni čas ne teče tako. Težave niso (le) prestopni dnevi, temveč bolj prestopne sekunde, ki se pojavljajo brez vzorca, in včasih celo premikanje ure ali spreminjanje časovnih pasov. Prestopne sekunde so problem, ker se isti trenutek (cela sekunda) ponovi dvakrat, zato na primer Google problem rešuje tako, da v okolici prestopne sekunde čas nekoliko razmaže. Če ure tiktakajo 0,001 % počasneje, se v nekaj urah nabere sekunda, hkrati pa so ves čas interno usklajene in čas strogo monotono narašča. Če k temu dodamo še časovne pasove in premikanje ure, je zmeda popolna.

Državna volilna komisija pa se je računanja časa lotila neposrečeno. Datum volitev, ki so 24. aprila, so zapisali kot 24.04.2022 00:00:00 po lokalnem času. Ker je časa za vložitev vloge 30 dni, so to preprosto izračunali kot razliko 720 ur. A ker niso upoštevali, da se vmes zamenja časovni pas, ko z zimskega (GMT+1) časa preidemo na poletnega (GMT+2), se je program zaklenil ob 24.03.2022 23:00:00 po GMT+1 (zimskičas). Kdor je pisal aplikacijo, ni pomislil, da se lahko ure spreminjajo, zato intervala 30 dni ni najprimerneje računati tako, da izračunamo točno časovno razliko med dvema točkama, temveč je treba operirati z dnevi. Podobno kot v bankah denarnih zneskov ne zapisujejo s plavajočo vejico (float), temveč v celoštevilčnih centih.