Y2K: Apokalipsa koja je otkazana

Svijet je potrošio sto milijardi dolara da se ništa ne dogodi — i onda mu je to nekako zamjerio.

poglavlje 26/2719 min čitanja1991 – 2000
ti@kronika:~$ ./sviraj k4_26_y2k.mp3

# da, poglavlje ima pjesmu. ne, nitko ne zna zašto.

Prosinac 1999. Kino ti već devet mjeseci vrti Matrix, i pola svijeta ozbiljno raspravlja je li stvarnost samo simulacija koju netko drugi kontrolira — filozofski seminar u sali za kokice. Prince ti vrišti iz radija istu rečenicu koju je pjevao još 1982., samo što ta rečenica sad konačno ima datum: „1999.” Ironija je toliko debela da bi se mogla rezati nožem — pjesma o zabavi dok svijet gori postaje soundtrack stvarnog straha da će svijet, možda, doista malo pregorjeti.

U predgrađima Amerike ljudi kupuju generatore, sušeno meso u konzervama i vreće riže kao da dolazi rat. Neki kopaju bunkere u dvorištu. Neki povlače sav novac iz banke u kešu, jer — što ako bankomat 1. siječnja jednostavno zaboravi koliko imaš na računu? Neki kupuju avionsku kartu za 31. prosinca s jednom jedinom logikom: ako će avioni padati s neba kad otkuca ponoć, bolje da si na zemlji kad se to dogodi, a ne na 10.000 metara iznad Atlantika.

A sve to, cijela ta civilizacijska nervoza, čitava industrija straha koja hrani novinske naslove i prodaje konzerviranu govedinu po cijeni kavijara — sve to dolazi od dvije znamenke, problema koji je dobio ime Y2K (Y od „year”, godina, 2K od „2 kilo”, dvije tisuće — dakle, kratica za „godina 2000.”, jednostavno zato što je bilo lakše to reći nego objašnjavati što se zapravo kvari). Ne od virusa, ne od rakete, ne od ideologije. Od navike. Programeri su desetljećima godinu pisali kao „99” umjesto „1999”, jer je memorija bila skupa i svaki bajt vrijedio je koliko danas vrijedi cijeli poslužitelj. Praktično, jeftino, pametno — za svoje vrijeme. Samo što nitko baš nije razmišljao što se događa kad ti „99” postane „00”, a stroj, bez imalo mašte, to pročita kao — 1900.

Hoće li banke izgubiti tvoj novac? Hoće li nuklearke, koje isto tako broje godine, izgubiti kontrolu nad reaktorom jer im sustav odjednom misli da je stogodišnja starica? Hoće li bolnički respiratori stati jer su ugrađeni čipovi računali datume za praćenje kalibracije? Nitko točno ne zna — a kad nitko ne zna, svijet radi ono što uvijek radi kad ne zna: troši. Stotine milijardi dolara, po nekim procjenama i preko šeststo, u ono što će ostati zapisano kao najveći kolektivni tehnički popravak u povijesti čovječanstva. Vojske programera prekopavaju kod stariji od njih samih, tražeći svaku sitnu, glupu, nevinu kraticu od dvije znamenke koja bi mogla srušiti sustav.

I onda dođe 1. siječnja 2000. u 00:00. I ne dogodi se — ništa. Svjetla se ne gase. Avioni sletiju. Bankomati ispljunu novac kao i svaki drugi dan. Nuklearke šute i rade svoj posao kao da im nitko ništa nije rekao o smjeni tisućljeća. I upravo to ništa, ta anti-klimaks tišina koja slijedi nakon najskuplje pripreme u povijesti tehnologije, postaje najspornija činjenica cijelog desetljeća. Jer sad se postavlja pitanje na koje, ispada, nitko nema jednostavan odgovor: je li se ništa dogodilo zato što nije trebalo se ni dogoditi — ili zato što je preko šeststo milijardi dolara i pola svjetske informatičke radne snage baš to spriječilo?

Ok, sjedni. Danas ćeš čuti verziju koja kola internetom, po pametnim člancima, po tvom kolegi koji je sve skužio a rođen je 2003. A verzija priče koja kola glasi ovako: Y2K je bio najveća prevara desetljeća. Konzultantske firme su namirisale strah, naplatile bogatstvo firmama i vladama da im 'poprave' kod koji nikad ne bi ni pao, i onda su 1. siječnja svi sjedili s konzervama hrane u podrumu i gledali kako im ništa ne pada na glavu. Kraj priče. Svi su bili glupi, konzultanti su bogati, happy end.

I ta priča je zavodljiva jer nudi ono što svaka dobra teorija zavjere nudi — jasnog krivca i osjećaj da si ti, gledajući unatrag, pametniji od cijele planete koja je 1999. paničarila. Ljudi vole tu naraciju iz jednostavnog razloga: dogodilo se ništa. A kad se dogodi ništa, mozak automatski zaključi da se ništa nije ni trebalo dogoditi. Zašto plaćati stotine milijardi dolara za nešto što se svejedno ne bi dogodilo?

To je, ako ćemo iskreno, najjači metak koji skeptici imaju u spremniku. Ne „osjećaj da je sve bila panika”, ne anegdota o susjedu koji je kupio generator za struju „za svaki slučaj” — nego stvarna, dokumentirana usporedba: država A potroši milijarde na popravak sustava, država B potroši mrvice, i obje dočekaju ponoć jednako mirno. Ako je popravak radio, gdje je razlika u ishodu?

Odavde je mit krenuo u svijet i pokupio ubrzanje. Nije ga izmislio jedan čovjek u jednom članku — složio se sam, iz desetak sitnih istina koje su se stopile u jednu veliku, uredno pogrešnu priču. Konzultanti su stvarno zaradili apsurdne svote — o tome više malo kasnije, i vjeruj mi, brojke su suludo stvarne. Mediji su stvarno prikazivali apokaliptične grafike aviona koji padaju s neba. A ponoć je stvarno prošla u tišini, bez fanfara, bez katastrofe, bez ičega vidljivog što bi opravdalo naslovnice.

Kad spojiš pretjeranu paniku, ogromnu potrošnju i nulti vidljivi rezultat, dobiješ savršenu formulu za mit koji zvuči pametno reći na zabavi: „sve je to bila panika, ništa se ne bi dogodilo”. Problem je što ta formula ima jednu rupu veliku kao Grand Canyon — a rupa se zove uzročnost. Samo zato što nešto nije eksplodiralo, ne znači da ne bi eksplodiralo. Ali prije nego uđemo u tu rupu, zaslužuje se priznati: priča o histeriji bez osnove nije čista izmišljotina. Ima jezgru istine u sebi, dovoljno veliku da preživi dvadeset i pet godina prepričavanja. Samo — jezgra istine i cijela istina nisu ista stvar, a to je upravo ono što ćemo sad rasklopiti, sloj po sloj, počevši od onog dijela koji mit najviše preskače: da je bug, doslovno, bio stvaran, mjerljiv i dokumentiran prije nego što ga je itko stigao popraviti.

Stvarnost: bug je bio stvaran
§ 02

Stvarnost: bug je bio stvaran

OK, sad dokazi obrane — jer do sad smo slušali samo tužitelja, onog cinika s kave koji maše rukama i govori da je sve bila prevara. Vrijeme je da pogledamo što se stvarno dogodilo, dokumentirano, s imenima i datumima, ne s vibrama.

Prosinac 1999. Neke stvari su se pokvarile PRIJE nego što je uopće svanula 2000. godina — što je već čudno ako je cijela panika bila izmišljena. Kreditne kartice s datumom isteka „00” odbijale su se na blagajnama jer su sustavi mislili da je kartica istekla 1900. godine. Belgijska tvrtka krivo je obračunala datume i poslala račune s kamatama za sto godina unazad. U New Yorku je sustav za praćenje krvnih pretraga na AIDS privremeno prestao raditi. Australski autobusni validatori u dvije države odbili su čitati karte u novoj godini. Nijedan avion nije pao s neba, istina — ali nitko normalan nije ni tvrdio da hoće. Tvrdilo se da će se pokvariti tisuće manjih, dosadnih, birokratskih sustava. I pokvarile su se. Samo što dosadan kvar u backendu banke — u onom dijelu softvera koji korisnik nikad ne vidi, negdje duboko u bazama podataka i obradi transakcija, za razliku od ekrana koji gledaš — ne ide na naslovnicu, pa mit pamti tišinu, a zaboravlja popravljače.

Ali dobro, zašto je ovaj bug uopće postojao? Zašto su programeri pisali godinu s dvije znamenke umjesto četiri, kao neki debili? Odgovor nije glupost. Odgovor je cijena. Memorija u sedamdesetima i osamdesetima nije bila ono što je danas — nije bila besplatna apstrakcija koju baciš okolo bez razmišljanja, bila je fizički, skup, opipljiv resurs. Svaki bajt je koštao novca, pravog novca, i svaki bajt ušteđen na milijunima zapisa u bankovnoj bazi značio je stvarnu, mjerljivu razliku na računu firme na kraju godine.

Programeri su tada, s takvim cijenama i takvim ograničenjima, donijeli odluku koja je u tom trenutku imala savršenog smisla: zašto trošiti dva bajta na „19” kad znaš da je uvijek „19”? Napišeš „99”, uštediš, riješiš problem danas. Nitko pametan u to vrijeme nije mislio da će taj kod još raditi 1999. godine. Softver se pisao za par godina uporabe, sustav bi se zamijenio prije nego što bi to postao problem — tko će se toga onda sjećati. Poznato? Da, poznato — jer je riječ o istom refleksu koji je samo desetljeće kasnije nekoga naveo da izjavi da će 640 kilobajta biti dovoljno svakome. Rok trajanja te odluke istekao je tiho, dok su svi već bili negdje drugdje, radili nešto drugo, i zaboravili da je odluka o dvije znamenke ikad postojala.

A gdje su ti sustavi uistinu živjeli? U COBOL-u, jeziku napisanom da ga menadžer može, teoretski, pročitati kao engleski, jeziku koji je trebao demokratizirati programiranje. Ironija je da je upravo ta pristupačnost COBOL učinila kostima cijelog financijskog svijeta: banke, osiguravajuća društva, državne mirovinske uprave — sve je to desetljećima tiho kuckalo u pozadini na COBOL-u, u sustavima koji rade, koje nitko ne dira, jer zašto bi ih dirao kad rade.

Samo što do 1999. gotovo nitko mlad nije znao pisati COBOL. Fakulteti su ga davno prestali predavati — pa čemu i bi, mrtav jezik, misliš. Tko je onda trebao pregledati milijune linija starog koda i ručno pronaći svaku sumnjivu dvoznamenkastu godinu? Ljudi koji su ga pisali. Umirovljenici. Firme su ih literalno tražile po adresarima, zvale ih iz mirovine i plaćale ih — ozbiljno, ne simbolično — kao rock zvijezde. Konzultantske stope za nekoga s pravim COBOL iskustvom skočile su toliko da su neki od tih ljudi zaradili više u toj posljednjoj godini nego u posljednjih pet radnih godina prije mirovine.

Dakle: bug je bio stvaran, uzrok je bio racionalna ušteda s rokom trajanja, a rješenje je stiglo iz penzije — s naočalama za čitanje i satnicom koja se plaćala prema vrijednosti znanja koje je svijet upravo prestao poštovati, a onda mu se, iznenada i u panici, vratio na koljenima.

Popravak: nevidljivi maraton
§ 03

Popravak: nevidljivi maraton

Zamisli da ti netko kaže: pregledaj svaku rečenicu koju si napisao u životu — svaki mail, svaku poruku, svaki papirić — i provjeri sadrži li slučajno godinu skraćenu na dvije znamenke. Sad zamisli da to nije tvoj život, nego kod. Milijarde linija, pisane od pedesetih do devedesetih, u jezicima koje je pola tadašnjih programera već zaboravilo, na sustavima koje održava troje ljudi u podrumu, od kojih je jedan u penziji od 1994. To je Y2K popravak. Ne heroika, ne laboratorij, nego inventura civilizacijskih razmjera — trebalo je otvoriti svaku ladicu u kući, uključujući onu koju nitko nije otvarao dvadeset godina, i provjeriti je li unutra bomba ili obična čarapa.

Posao se svodio na tri dosadne riječi koje mediji nisu znali prodati: inventarizacija, testiranje, popravak. Prvo si morao pronaći svaki sustav koji uopće postoji — što zvuči trivijalno dok to ne pokušaš učiniti u banci koja je tri puta promijenila vlasnika, ili u državnoj agenciji gdje pola dokumentacije postoji samo u glavi čovjeka koji je umro 1991. Onda si morao provjeriti svaki taj sustav, red po red, tražeći gdje se datum računa, uspoređuje, sprema. Zatim si to popravio — ili zakrpao, jer pravi popravak katkad znači prepisati sve od nule, a za to nemaš ni vremena ni ljudi. Na kraju si sve to testirao, simulirajući protok vremena kroz stroj: postaviš sat na 31. 12. 1999. u 23:59, pričekaš, gledaš hoće li svijet unutar te kutije i dalje vjerovati da postoji. Ponoviš to tisuću puta, za tisuću sustava, u firmama koje međusobno ne razgovaraju.

Brojka koja se najčešće spominje je više od sto milijardi dolara globalno, s procjenama koje sežu i do šest stotina milijardi ako se broji baš sve — od banaka do vojske do male tvrtke koja je platila studenta da joj pregleda blagajnu. Za usporedbu: cijeli program Apollo, od Kennedyjeva govora do posljednjeg leta na Mjesec, koštao je oko 25 milijardi dolara u vrijednosti tog vremena — što je danas, uz inflaciju, negdje između 150 i 260 milijardi, ovisno koju metodologiju uzmeš. Drugim riječima: svijet je na popravak dvije znamenke potrošio otprilike isto koliko na slanje ljudi na Mjesec, samo bez konfeta, bez Neila Armstronga i bez ijedne rečenice koja će ući u povijesne knjige. Razlika je što je Apollo bio spektakl s jasnim ciljem i slavnim trenutkom dosezanja — a Y2K popravak je bio ogroman, skup i naporan posao čiji jedini mogući trijumfalni trenutak izgleda ovako: ništa se nije dogodilo. Idi sad prodaj tu priču novinaru.

Ono što medijska slika histerije sustavno ignorira jest da je testiranje samo po sebi bilo znanstveno legitiman posao. Cijele su se firme specijalizirale za simulaciju vremenskih skokova, cijele vojske testera provjeravale svaki bankomat, svaki semafor, svaku turbinu s ugrađenim satom. Nisu se nadali katastrofi da bi opravdali plaću — provjeravali su, sustav po sustav, sat po sat, i bilježili što se pokvarilo prije nego što bi se pokvarilo pred klijentom. Kad bankomat u testnom okruženju izbaci grešku jer misli da je 1900., to nije dokaz histerije. To je dokaz da je popravak radio posao za koji je plaćen — samo satima prije nego što bi ta greška ikad dotakla stvarnog čovjeka s karticom u ruci.

Paradoks prevencije
§ 04

Paradoks prevencije

E sad dolazimo do dijela zbog kojeg je ovo poglavlje uopće vrijedno pisanja. Zaboravi za trenutak jesu li avioni padali ili nisu. Postavi si jedno posve pošteno pitanje: kako bi, uopće, u principu, mogao dokazati da je katastrofa spriječena? Ne osjećaš li nešto neprijatno u toj rečenici? E to je taj osjećaj — epistemološka rupa u koju je upala cijela priča o Y2K, i u koju upada svaka uspješna prevencija u povijesti čovječanstva.

Zamisli dvije verzije 1999. godine. U jednoj verziji nitko ništa ne krpa, programeri slegnu ramenima, bankomati 1. siječnja počnu ispisivati kamate za sto godina unatrag, avionski sustavi za praćenje leta se zbune, par elektrana ode u sigurni mod baš u krivom trenutku. Kaos, ali ne apokalipsa — svijet se, uz muku, popravi za par tjedana. U drugoj verziji, sto milijardi dolara i milijuni radnih sati kasnije, programeri poprave devedeset i nešto posto sustava, i 1. siječnja se — ništa vidljivo ne dogodi. Iz obje verzije izlazi identičan medijski zaključak: pa vidiš, ništa se nije dogodilo, cijela priča je bila prevara. Razlika između te dvije verzije je bilijunska, a rezultat izgleda identično na televiziji.

To je paradoks prevencije, i nije ga izmislio Y2K. Sjeti se ozonske rupe — CFC plinovi, aerosoli, sprej za kosu koji je jeo atmosferu. Svijet se, iznimno, stvarno ujedinio: Montrealski protokol, 1987., zabrana spornih supstanci, i — rupa se stvarno počela zatvarati. Uspjeh, pravi, mjerljiv, znanstveno potvrđen uspjeh multilateralne suradnje. A opća percepcija danas? Ozon? Bilo je tu neke panike devedesetih, valjda se pretjeralo. Vidiš, ništa se nije dogodilo. Isti mehanizam, isti glas u glavi ljudi koji nikad nisu vidjeli kontrafaktual — onu zamišljenu, alternativnu verziju stvarnosti koja se nije dogodila, pa je ne možeš ni vidjeti ni dokazati, u ovom slučaju onu u kojoj Južna Amerika ima kožni rak epidemijskih razmjera.

Ovdje leži pravi razlog zašto je mit o histeriji uopće nastao, i zašto je toliko otporan na dokaze. Nagrada za uspješno spriječenu katastrofu nije zahvalnost. Nagrada je optužba da katastrofe nikad nije ni bilo. Vatrogasac koji stigne prije nego što izbije požar ne dobije medalju — dobije pitanje zašto je uopće dolazio. Nitko ne slavi cestu koja nije imala nesreću te godine. A programer koji je proveo ljeto 1998. čitajući milijune redaka COBOL koda, napisanog davno prije nego što je taj programer bio rođen, tražeći dvoznamenkaste godine kao iglu u plastu sijena, dobio je, u boljem slučaju, pošten honorar, a u lošijem — reputaciju sudionika najveće prevare desetljeća.

Presuda mita
§ 05

Presuda mita

Dobro, sudac se vraća s pauze, papiri su na stolu, i mit dobiva svoju presudu. Nije nevin, ali nije ni kriv u onoj mjeri u kojoj optužba traži. Istina je, kao i obično, negdje u sredini — samo što ta sredina nije jednako udaljena od obje strane. Naginje na jednu.

Priznajmo prvo krivicu tamo gdje ona stvarno postoji. Dio tih stotina milijardi dolara otišao je na čisti konzultantski oportunizam — firme koje su nanjušile paniku i naplaćivale „Y2K audit” za sustave koji su već bili usklađeni, ili koji nikad nisu ni imali problem s dvoznamenkastom godinom. Netko je prodavao osiguranje za kuću koja neće izgorjeti, ali kupac to unaprijed nije mogao znati, i baš se na tom neznanju zaradilo. To je stvarno, dokumentirano, i to je razlog zašto se cijela priča danas prepričava kao prevara. Postoji zrno istine za tu verziju. Samo je zrno, ne cijela žetva.

Jer jezgra posla — ona koja se ne vidi na naslovnicama jer je dosadna — bila je nužna, i to dokazivo. COBOL sustavi stvarno su padali u testnim okruženjima, banke su stvarno morale prepisivati logiku obračuna kamata, avio-kompanije su stvarno provjeravale hoće li im sustavi za održavanje motora izračunati da je avion star minus devedeset devet godina i time ga proglasiti spremnim za let bez pregleda. Ovo nije hipoteza. Ovo je zapisnik. Optužba da se »ništa nije dogodilo« ignorira da je razlog zašto se ništa nije dogodilo taj što je netko provjerio milijune redaka koda prije nego što je sat otkucao ponoć.

I tu je paradoks koji smo već spomenuli, ali presuda mu mora dati konačnu formulaciju: mit o histeriji nastao je zato što je prevencija, po definiciji, nevidljiva. Y2K nije bio marketinški trik — bio je prvi put u povijesti da je čovječanstvo sjelo i kolektivno servisiralo vlastitu infrastrukturu. Ne jednu tvrtku, ne jednu državu — cijeli globalni nervni sustav, banke i zračne luke i elektrane, istovremeno, s rokom koji se nije mogao pomaknuti ni za dan. Kalendar ne čeka izvještaje o kašnjenju.

I onda smo to odmah zaboravili. Ne metaforički — stvarno. Pojam koji je iz toga trebao izaći kao lekcija, »tehnički dug« (u prijevodu: kad danas izabereš brzo i jeftino rješenje, a problem koji si time stvorio mora se skupo platiti, s kamatama, tek kasnije), danas se koristi kao fraza za PowerPoint prezentacije, obično dan prije nego što se taj isti dug ponovo odgodi za drugi kvartal. Svijet je vidio, jednom, na vlastite oči, što znači kad se odluka o štednji dva bajta po datumu naplati desetljećima kasnije s kamatama u stotinama milijardi. Svijet je zaključio: dobro da je gotovo. I vratio se pisanju kraćih rješenja za duže probleme.