Koda, ki je »uničila« internet

Avtor: Uredništvo, Objavljeno: 19. 04. 2024 05:04: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 komplekse 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
Hitre predloge

Hitre predloge

Kako v Outlooku hitro do sporočila iz predloge…

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
Geigerjev števec za Google,…

Geigerjev števec za Google,…

… ki ne meri radioaktivnega sevanja ampak zapiska vsakič, ko Google dobi kak vaš podatek.

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
Hitre risbe

Hitre risbe

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

Računalništvo
Nore hitrosti po enem samem optičnem vlaknu

Nore hitrosti po enem samem optičnem vlaknu

Znanstveniki so po enem samem vlaknu uspeli doseči 301 TB/s! BOmo v kratkem deležni krepke pospešitve d...

Računalništvo
Risanje z matematiko

Risanje z matematiko

Vas zanima, kako z matematičnimi formulami narisati deklico na spodnji sliki?

Računalništvo
Avtor rezanja, kopiranja in lepljenja

Avtor rezanja, kopiranja in lepljenja

Mogoče ni tako znan kot Bill Gates ali Steve Jobs, je pa pustil velik pečat…

Računalništvo
Razdelilnik z - diskom...

Razdelilnik z - diskom...

Razdelilnik USB-C, ki ima vgrajen tudi trdi disk… No, ja, prostor zanj…

Računalništvo
Delitev podatkov na celice

Delitev podatkov na celice

Če ste v Excelu kdaj morali podatke iz ene celice »raztresti« po posameznih stolpcih, boste veseli...

Računalništvo
Celotna stran kot slika

Celotna stran kot slika

Edge omogoča zelo preprost način shranjevanja celotne spletne strani kot slike.

Računalništvo
Računalniki, ki bodo spremenil svet

Računalniki, ki bodo spremenil svet

Zadnja leta se velik govori o kvantnih računalnikih. Kaj sploh to je?