Koda, ki je »uničila« internet

Avtor: Uredništvo, Objavljeno: 6. 08. 2025 05:23:00, Kategorija: Računalništvo

Pred osmimi leti se je, čeprav tega najverjetneje niste občutili, odvijala prava internetna drama…

Koda, ki je »uničila« internet
Teh enajst vrstic programske kode, ki jih vidite na naslovni sliki, je leta 2016 povzročilo veliko težav skrbnikom cele vrste spletnih strani oziroma storitev, tudi Facebooku, Netflixu, Spotifyju in še komu. In kako lahko nekaj tako »trivialnega« sesuje tako kompleksne spletne strani?

Programerji so po svoji naravi malce leni oziroma bolje rečeno iznajdljivi, praktični in pragmatični. S svojo kodo pogosto hočejo kaj doseči, a nimajo časa, da bi to tudi sprogramirali. Zato gredo v posebno podatkovno bazo in v njej pogledajo ali je kaj takšnega naredil že kdo drug. Ker gre za odprtokodne projekte, je te mogoče uporabiti brez posebnih težav z avtorskimi pravicami. Programer to kodo vzame, jo uporabi v svojem projektu, ki je lahko končni izdelek ali pa spet nek nov modul, ki ga lahko uporabi nekdo drug. Nekako podobno kot če bi vzeli kocke Lego, naredili iz njih zid, nato bi vse skupaj vzel nekdo in dodal svoje zidove, nato bi tretji v skladu s svojim projektom na te zidove postavil streho, nekdo drugi pa bi, spet v skladu s svojim projektom, te zidove uporabil recimo kot pritličje večje hiške… Skratka gre za gradnike, ki se lahko uporabljajo na najrazličnejše načine.

Na tak način je, kot lahko slišite in vidite tudi v spodnjem videu, zgrajen več ali manj ves internet. Ker je teh blokov kode, modulov, paketov ali kakorkoli jih že imenujemo, veliko, obstaja poseben »organ« za njihovo upravljanje, imenovan NPM (Node Package Manager). Zdaj pa k težavi, o kateri pišemo.

Turški programer Azer Koçulu je napisal enega takšnih modulov in ga poimenoval kik. Kaj je ta modul počel, pravzaprav ni bistveno. V istem času je obstalo tudi kanadsko podjetje Kik, ki je razvijalo svoj program za neposredno sporočanje in je želelo izdati svoj modul in ga prav tako poimenovati kik. Kaj je njihov modul počel, je tudi nepomembno, pomembno je, da imena niso mogli uporabiti, ker ga je že uporabil Azer. Prosili so ga, če bi ime zamenjal, a ker je šlo za večmilijonsko korporacijo na eni in programerjem, ki prisega na odprto kodo na drugi strani, pogovori niso potekali po načrtih. In ker imena ni hotel spremeniti prostovoljno, so se nadenj spravili z odvetniki in tožbami in uspeli. Azer je bil seveda jezen in je, namesto da bi spremenil ime, 23. marca 2016 iz podatkovne baze odstranil oziroma odjavil  več kot 270 svojih modulov, ki jih je do takrat napisal in dal v uporabo.

Med temi moduli je bil tudi eden, ki se je imenoval Leftpad, napisal pa ga je kar nekaj let pred tem. Modul oziroma paket v osnovi ni bil nič posebnega, saj je vseboval le 11 vrstic kode, katere naloga je bila le, da pred neko besedilo doda - presledek. Vse skupaj se zdi trivialno, a izkazalo se je, da je ta presledek, bolje rečeno Leftpad, še kako pomemben. Tisti trenutek, ko ga je Koçulu »odjavil« iz baze, so se po vsem svetu pričele pojavljati težave v delovanju spletnih strani, vključno z velikimi, kot so Facebook, Netflix, Spotify in še katerih. Izkazalo se je, da Leftpad na tak ali drugačen način v svoji kodi uporablja ogromno spletnih strani in ker gre za eno od »osnovnih Lego kock«, je odstranitev povzročila sesutje vsega, kar se je gradilo nad njimi. Nekako podobno kot če bi odstranili eno od nosilnih kock v stolpu Jenga.

Uporabniki kot taki tega zaradi predpomnjenja (cache) tega sicer nis(m)o kaj dosti občutili, skrbniki sistemov pa so bili v precejšnjih težavah in so od programerjev seveda zahtevali rešitev. Težava je bila k sreči hitro identificirana in NPM je naredil to, kar ni do takrat še nikoli – modul Leftpad je kar sam vrnil nazaj v bazo. S tem so spletne strani spet pričele normalno delovati, Koçulu, Kik in NPM pa so se, vsak na svoj način oziroma na svoji spletni strani, opravičili za nevšečnosti.


Vir: Half as Interesting/YouTube

preberite še to

Računalništvo
Bi radi hitro kaj narisali?

Bi radi hitro kaj narisali?

Ne znate risati, a bi radi v svoj dokument vstavili kakšno risbico? Poskusite takole…

Računalništvo
Pretvorba merskih enot kar v Wordu

Pretvorba merskih enot kar v Wordu

Ste vedeli, da ima Word vgrajen dokaj uporaben pretvornik merskih enot?

Računalništvo
Ko je bil Excel še otrok...

Ko je bil Excel še otrok...

Tale reklama za Excel iz leta 1992 je svojevrsten izlet v zgodovino tako elektronskih preglednic kot prenosnik...

Računalništvo
Koda, ki je »uničila« internet

Koda, ki je »uničila« internet

Pred osmimi leti se je, čeprav tega najverjetneje niste občutili, odvijala prava internetna drama…

Računalništvo
Štetje skozi stene... z WiFi-jem

Štetje skozi stene... z WiFi-jem

Je mogoče samo iz jakosti brezžičnega signala ugotoviti, koliko ljudi je v nekem prostoru? Je!

Računalništvo
Presneti presledki

Presneti presledki

Kako se »profesionalno« znebiti odvečnih presledkov v Wordovem dokumentu

Računalništvo
»Ne bo šlo!«

»Ne bo šlo!«

WeTransfer si je želel prisvojiti pravice do vaših datotek, a se vse skupaj zanj končalo po načrtih

Računalništvo
Bi se šli Misijo nemogoče?

Bi se šli Misijo nemogoče?

Modul SSD vohunske kakovosti, ki se na ukaz samouniči... kot v filmih...

Računalništvo
Če ne znata Excel in Copilot, pa zna ChatGPT

Če ne znata Excel in Copilot, pa zna ChatGPT

Spreminjanje oziroma določanje barv obrob celic v Excelu načeloma ni nič kaj zapleteno. Izbere se vrsta obrobe...

Računalništvo
Umetna inteligenca ni okolju nič kaj prijazna

Umetna inteligenca ni okolju nič kaj prijazna

Toliko ogljikovega dioksida kot let med Londonom in New Yorkom. Povraten...

Računalništvo
Bo umetna inteligenca zamenjala pisarniške pakete?

Bo umetna inteligenca zamenjala pisarniške pakete?

Je uporabnike Microsoft 365 ali Google Workspace mogoče prepričati v zamenjavo?

Računalništvo
»Zgodovinsko« srečanje

»Zgodovinsko« srečanje

Nekoč na nasprotnih bregovih in sovražnika, danes…