Програмистът, който изтри 11 реда и „счупи“ интернет

ное. 10, 2023 | Истории

Програмистът, който изтри 11 реда и „счупи“ интернет

10 ноември 2023 | Истории

23 март 2016 г. можеше да бъде апокалиптичен ден в историята на дигиталния свят, който надали ще се повтори. Netflix, Facebook и Spotify са само част от безбройните сайтове, които изведнъж се оказва, че… няма как да бъдат поддържани и обновени.

Защо ли? 28-годишният програмист Азер Кочулу просто е изтрил 11 фатални реда компютърен код.

Но как е възможно един непознат програмист да блокира сайтовете на световните гиганти? Защо в странния днешен онлайн свят неочаквано се оказва, че огромни, мултимилиардни проекти се крепят на раменете на доброволния труд на ентусиасти? Какво ли е накарало Азер да се ядоса толкова, че да отприщи в най-страховития му вид ефекта на пеперудата?

Понякога най-малките и уж безобидни редове код обръщат програмата…

 

Азер Кочулу

 

Бекъп дупка не прави

Прелюбопитна е дигиталната история на JavaScript – езикът за програмиране е създаден само за 11 дни и… понякога му личи, въпреки че оттогава извървя дълъг път. Превърна се в жизнената сила, проправила пътеките на днешния интернет, какъвто го познаваме. Докато преди сваляхме програми за какво ли не, инсталирахме ги чрез операционната система, днес почти всичко се случва в браузъра.

Промяната дойде толкова бързо и неусетно, колкото не можехме да предположим… А също толкова бързо всичко може и да се срути, както личи от историята на днешния ни герой.

Възходът на уеб приложенията съвпадна с едно друго важно явление в софтуерния свят – масовото навлизане на софтуера с отворен код. Първопроходник беше създателят на Linux и Git Линус Торвалдс, а през последните десетилетия върху програмите, които са открити и се споделят свободно, се крепи огромна част от днешната софтуерна индустрия.

Особено що се отнася до света на JavaScript. Най-популярната платформа за това се нарича NPM и притежава буквално милиони проекти, които изпадналият в нужда програмист може да използва. Всеки е добре дошъл да остави своите парченца код, които, по един или друг начин, да бъдат използвани от всички останали.

 

Азер Кочулу

 

Бързата работа, срам за програмиста

Тази система работи по повече от впечатляващ начин. Постоянно се появяват нови библиотеки, най-успешните биват сваляни и използвани от разработчиците милиони пъти на ден.

Нещо повече, постепенно този тип проекти се превръщат в огромни вавилонски кули, защото библиотеките със софтуер се крепят една на друга, всяка следваща използва малко парченце код от предишните…

Което в един момент, въпреки цялото удобство, може да се превърне в проблем. Точно както в историята на Азер Кочулу.

Мнозина иронизират факта, че за да създадеш нов проект чрез модулите, които ти се налага да използваш, трупаш гигабайти в папката node_modules, които в един момент тежат повече от Вселената… но това, в крайна сметка, не засяга крайните потребители и определено е по-малкият проблем.

 

Казана дума, хвърлен бъг

По-големият риск със сигурност е сигурността, която става все по-трудна за проследяване с използването на море от код. Именно напомняне в тази посока е случката с мигранта от южната ни съседка.

От малък Азер Кочулу е запален по идеите за софтуера с отворен код. Заедно с основната си работа, има и своеобразно хоби – да създава библиотеки, които да качва на платформата NPM, давайки на останалите програмисти.

Някои от проектите му се радват на сериозен успех, а и той изпитва удовлетворение. До прословутия 23 март 2016 г. е публикувал цели 273, някои от които имат стотици хиляди използвания за седмица. И точно тогава той получава имейл, който го разгневява…

Пише му Боб Стратън, патентен специалист от фирма на име kik. Азер е създал малка софтуерна библиотека със същото название и за да не стават грешки, адвокатите го призовават да смени името на своя проект.

 

Азер Кочулу

 

Шушу-мушу сайта разваля

Знаете, понякога нещата в онлайн комуникацията ескалират бързо, нали? Е, няколко имейла по-късно Азер започва да хвърля огън и жупел с речник, на който би завидял и герой на сръбски филм. Категорично отказва да смени името на библиотеката, дори и когато са му предложени $30 000. Казва, че идеята му е друга и че на полето на отворения код не бива да са водещи търговските интереси.

Прочел интересни неща за близките си роднини, патентният адвокат разбира, че по този начин няма да се получи. Затова решава да се свърже направо с организацията, която може да му помогне.

Макар че NPM е напълно некомерсиална платформа, тя си има компания собственик, която се грижи за правилата и инфраструктурата. Именно на нея пише патентният адвокат на kik, явно успява да впечатли получателите и този път вместо цветист отговор, среща съгласие.

Азер получава нов имейл, този път от NPM, в който го информират, че библиотеката му е отстранена заради проблеми с авторските права. Тъй ли? Възмутен, че платформата се поддава на шантажа и погазва собствените си правила, той с едно движение изтрива всичките си 273 библиотеки.

 

Азер Кочулу

 

Капка по капка – бъг

Така стигаме до следобеда, когато хиляди програмисти от цял свят получават една и съща грешка – някаква библиотека, за която почти никой от тях не е чувал, не може да бъде заредена. Това означава, че те са блокирани в работата си, а някои, които са имали лошия късмет тъкмо тогава да изпращат новия си код към потребителите, се озовават с напълно неработещи сайтове. И всичко това, само заради един от проектите на Азер.

Но как никой не е чувал за липсващата семпла библиотека, след като за последния месец преди това тя е била свалена от цели 2 550 569 програмисти?

Как така всички са използвали кода му, без дори да са чували името му? Как компании като Netflix, Facebook и Spotify са се доверили в крайна сметка на външен софтуер, който би могъл дори да нанася неподозирани вреди?

Отговорът отново се крие в пирамидата на днешния уеб софтуер. Всеки разчита на външни библиотеки, които пък разчитат на предишните.. в огромна кавалкада от взаимни зависимости.

Азер просто е бутнал първото парченце домино… „Това просто счупи интернет“, гласи коментарът, събрал най-много радостни отзиви по темата в платформата за програмисти GitHub.

 

Три пъти мери, един път коди

Е, същото се е случило и с работата на Азер. Оказва се, че огромен брой от най-използваните приложения са използвали точно най-малкия от всичките му 273 проекта – наричан Left-pad и състоящ се от… 11 реда код:

Азер Кочулу

 

Ако дори сте се докоснали до програмирането, бързо ще прецените, че става дума за елементарна функция, която буквално би могла да бъде написана за минути от всеки, познаващ на базово ниво JavaScript. И, все пак, вместо да си я направят сами, са решили да я използват наготово някои от най-популярните библиотеки, на които се крепи мрежата.

Най-много проблеми идват от това, че Left-pad по това време е част и от Babel – много важна и разпространена библиотека, която се използва, за да „превежда“ кода така, че да бъде разчетен и от по-стари браузъри. Babel се използва, на практика, навсякъде. Списъкът включва сайтовете на Facebook, Netflix, PayPal, Yahoo, Spotify, Reddit, Slack, LinkedIn.

И така… „онлайн апокалипсисът“ бързо е избегнат. Първото работещо решение се появява 42 минути, след като проблемът е споменат за първи път. Няма и два часа по-късно в NPM вече е качен нов пакет със същото име, което веднага решава проблема.

 

Азер Кочулу

 

Не е луд който яде бъговете…

После идва време за анализа след мача. И Азер, и kik, и NPM влизат в обяснителен режим, за да разкажат на общността какво се е случило, картината бързо се избистря.

Азер казва, че се е ядосал, защото „тази ситуация ме накара да осъзная, че NPM е нечия частна земя, където корпорацията е по-силна от хората. А аз създавам отворен код, защото „силата трябва да е в хората“. Той моли за прошка всички, които са пострадали, но казва, че това е тъкмо нужната възможност да се говори повече за това как решенията в общността трябва да се вземат именно от нея, а не от централизирани институции.

Остават обаче по-важните въпроси. Ако ставаше дума за много по-комплексно решение, то буквално би могло да блокира работата на милиони програмисти по цял свят и би застрашило почти всички най-големи сайтове.

Още ли ни звучи толкова примамлива идеята за софтуера с отворен код?

 

Азер Кочулу

 

Програмата се кове, докато е гореща

За щастие, оказва се, че тя е още по-магнетична и работеща от всякога. И именно подобни случаи го показват.

Защото общността, която включва огромен брой специалисти, може да реагира бързо и да реши подобен проблем. Днес Азер е с десетилетие по-опитен, натрупал е сериозни успехи като програмист, вече е с по-семпла прическа, може би дори е забравил, че в един момент за малко не „счупи интернет“. Но опитът от този случай даде идеята за по-строги правила кой и как може да изтрие дадена библиотека с код. Днес това би отнело много повече време, всички, които я използват, биха били предупредени навреме, за да вземат мерки.

Ето че когато комерсиалният елемент е елиминиран, понякога могат да се случват чудеса.

Софтуерът с отворен код продължава да властва, както никога. Защото е един от онези не чак толкова много примери, които ни връщат към основната идея на интернет. Възможността да сме обединени, равни, да си помагаме… Пък дано се научим как да го правим и в социалните мрежи.

Дигитални истории
<a href="https://karamanev.me/author/georgik" target="_self">Георги Караманев</a>

Георги Караманев

Програмист, журналист на свободна практика и писател. Още за мен – четете тук.
Дигитални истории

Най-нови публикации:

„Всеки може да е програмист. Време е да сме повече инженери!“

„Всеки може да е програмист. Време е да сме повече инженери!“

Ивайло Кенов е вдъхновяващ учител, помогнал на толкова много хора да станат програмисти. Насочва се към тази професия случайно, след като разбира, че строителното инженерство не е за него. Решава да...

повече информация
Как DALL·E „прочете“ любими български книги?

Как DALL·E „прочете“ любими български книги?

Чукчата не е читател, а писател, знаете сигурно, ами… ChatGPT? Време е за поредния прелюбопитен експеримент, който да ни покаже на какво са способни днес алгоритмите в областта както на създаването...

повече информация
„Представям си бъдещето като битка за невидимото“

„Представям си бъдещето като битка за невидимото“

есен смили се над тези които не могат да те понесат бъди красива до смърт   Или   близостта нанася удари под кръста подарък който не мога да пренеса без твоя помощ който не мога да откажа...

повече информация
„Българите имаме манталитета, за да сме успешни предприемачи“

„Българите имаме манталитета, за да сме успешни предприемачи“

Борис Паскалев e предприемач с впечатляващ опит в света на стартъпите. Отскоро е стратегически съветник към института INSAIT, още една гаранция, че оттам си струва да очакваме още и все...

повече информация

Още публикации по темата:

От рубриката:

Да си купиш вечна младост

Да си купиш вечна младост

46-годишният Браян Джонсън вече е похарчил над $4 милиона, така че тялото му да заработи като на 18-годишен. Твърди, че му се получава. Влага всички сили, стига дотам да си влива кръвна плазма от собствения си син. Смята, че е най-изследваното човешко същество, живяло някога, че експериментът му ще промени живота на всеки, който иска да живее дълго.
Тоест, на всеки.
Мечта или утопия? Безобразно пилеене на пари или идея, която може да промени еволюцията ни? Гениалност или чиста лудост?

повече информация
ChatGPT срещу шампиони. Последният печели!

ChatGPT срещу шампиони. Последният печели!

Знаете ли кое е било мястото в България с най-висок среден коефициент на интелигентност на 16 март 2024 г. между 12 и 18 ч?
ChatGPT не би могъл дори да налучка. Аз обаче знам отговора. Не, не е Народното събрание.
В пловдивско заведение се бяха събрали за интелектуална надпревара 80 души, мнозина от които познати на всеки, който се интересува от викторини, от куизове, от телевизионни игри на знанието. Разделени на 10 отбора, те се изправиха едни срещу други и в същото време срещу… споменатия ChatGPT.
Тук бяха се събрали цели 33-има души, които поне веднъж са печелили предаването „Последният печели“ по БНТ1 (сред тях и аз). Участваха почти всички от най-популярните участници, натрупали впечатляващ брой триумфи. Останалите – до 80 души включили се в клуба, бяха участници и фенове на предаването и на куизовете като формат.
Що за нетипична надпревара? Кой ли се оказа големият победител? Какво е бъдещето на интелектуалните игри в битката (или срещата) ни с технологиите? Защо му е на човек днес да знае и помни факти, които онлайн са на една ръка разстояние?

повече информация
Павел Дуров. По-добрият Зукърбърг

Павел Дуров. По-добрият Зукърбърг

Щом има Гандалф и Гандалф Белия, защо да няма Зукърбърг и Зукърбърг Белия?
Странна птица е създателят на Telegram Павел Дуров. И той, като колегата си, „таткото“ на Facebook, е роден през 1984-а. Забогатява, след като създава социална мрежа. И той успява да натрупа известен брой милиарди.
Само че с доста съществени нюанси. За разлика от набора си, говори свободно латински, по снимките личи, че изглежда доста различно в мускулатурата. Направи световния си пробив с приложение, което ви гарантира сигурност и се старае да не ви манипулира. Не точно както при колегата…
Завършва с всякакви възможни отличия… филология, макар че в същото време уж е опасен хакер. Превръща се в знаменитост, преди да се забърка в тежки проблеми с властите в родината си.
Докато в същото време и до днес остава енигма за медиите по цял свят. Дали има две деца, или никога не е имал връзка с жена? Какъв ли ще е следващият му голям проект? Как си представя бъдещето и бои ли се от изкуствения интелект?
Павел Дуров е от онези образи, които правят днешния технологичен свят значително по-вълнуващ…

повече информация

Най-новите:

Stack Overflow. Спасителят на програмистите си отива

Stack Overflow. Спасителят на програмистите си отива

Много е лесно да различиш човек, който някога е програмирал от останалите – „докосвал“ ли си код, просто няма как да не си виждал Stack Overflow. Само за 15 години сайтът с въпроси и отговори промени из основи начина, по който работят програмистите. Превърна се в Мека за софтуерните инженери, в спасителен пристан за почти всеки ежедневен техен проблем.
Днес обаче легендата върви към своя залез. При това, по ирония на съдбата, заради напредъка в технологиите, който сама направи възможен…
Нещо повече – заради упадъка на проекта мнозина вещаят сериозни проблеми, с които ще се сблъскват следващите програмисти.
Историята на Stack Overflow е показателна за това къде сме днес в света на технологиите. За стремителната скорост, с която се променяме. За семенцата, за добрите идеи, които могат да покълнат само ако попаднат в подходящата среда и в точния момент. И за бързината, с която до вчера непоклатимият гигант се превръща в сянка на себе си.

повече информация
„Всеки може да е програмист. Време е да сме повече инженери!“

„Всеки може да е програмист. Време е да сме повече инженери!“

Ивайло Кенов е вдъхновяващ учител, помогнал на толкова много хора да станат програмисти. Насочва се към тази професия случайно, след като разбира, че строителното инженерство не е за него. Решава да опита като преподавател, въпреки че е срамежлив по природа.
Дълги години е начело на екипа програмисти в СофтУни, води лекции по безброй технологии. Преподава, увлича и дава занаят, от него и аз съм научил основите на технологията, с която днес си изкарвам хляба.
Днес Ивайло е изправен пред ново начинание. Екипът му се превърна във фирма, която се е устремила към амбициозната задача да припомни, че създаването на софтуер все повече трябва да бъде инженерен процес, а не просто кодене.
Наистина ли всеки може да стане програмист, както казва учителят, помогнал на мнозина да изпълнят тази мечта? Какви са основните трудности, които спират хората?
Кои са големите проблеми, с които се сблъскват днешните програмисти? Защо си струва те вече да са не просто кодери, а да подхождат инженерно и към останалите страни от работата си?
Дали наистина е толкова трудно да си намериш първа работа в тази област? Кои са най-честите грешки?
Как Ивайло, на когото лекарите предричат, че няма да може да ходи, днес вдига 150-килограмови тяги благодарение на… инженерния подход?

повече информация
Как DALL·E „прочете“ любими български книги?

Как DALL·E „прочете“ любими български книги?

Чукчата не е читател, а писател, знаете сигурно, ами… ChatGPT? Време е за поредния прелюбопитен експеримент, който да ни покаже на какво са способни днес алгоритмите в областта както на създаването на изображения, така и на разбирането на контекст.
Ще призова алгоритъма DALL·E 3, който е част от платената версия на ChatGPT, да ми илюстрира класически български литературни произведения от различни периоди.
Защо това е интересно? От една страна, ще ни покаже колко добре работи големият езиков модел на български. Ще стане ясно доколко разпознава някои от безспорните наши класически произведения.
Не на последно място просто защото… е интересно дали пък няма да ни покаже някакви по-неочаквани, различни, атрактивни гледни точки? Дали не можем да говорим за някаква форма на колективно неосъзнато? Дали картините ще се припокрият поне донякъде с образите, които всеки от нас има за тези книги в главата си?

повече информация
„Представям си бъдещето като битка за невидимото“

„Представям си бъдещето като битка за невидимото“

„Засега изкуственият интелект ни се струва смешен, прилича ни на криво огледало или на глупчо, когото напътстваме и благодарение на когото се чувстваме знаещи и повече отвсякога хора. Това обаче се променя буквално за дни и скоро той ще се превърне в реалистично и достоверно наше отражение. Мисля за този момент – вероятно тогава ще успеем да се видим през неговия поглед, да осмислим кои части от нас са ясни дори за едно изкуствено създание, кое остава недостъпно за него и кое е най-ценното. Според мен това са онези места, където той не може да надзърне. Представям си бъдещето като битка за невидимото, това ще бъде най-важният ресурс. Онова, което изкуственият интелект не може да регистрира, е най-ценното в нас.“
„Почти всичко е наред“ се казва дебютната стихосбирка на поетесата Виолета Кунева и толкова точно формулира усещането ни за света днес.
Но как така се оказа, че вече не е възможно да различаваме поета от алгоритъма? Какво губим, ако е така?
Дали проблемът е, че масово сме изгубили критерия си за изкуство, за метафора, за многопластови, живи и човешки по дефиниция текстове, каквито са поетичните?
Ще дойде ли краят на поезията или… именно тя може да ни спаси от самите нас?

повече информация
Да си купиш вечна младост

Да си купиш вечна младост

46-годишният Браян Джонсън вече е похарчил над $4 милиона, така че тялото му да заработи като на 18-годишен. Твърди, че му се получава. Влага всички сили, стига дотам да си влива кръвна плазма от собствения си син. Смята, че е най-изследваното човешко същество, живяло някога, че експериментът му ще промени живота на всеки, който иска да живее дълго.
Тоест, на всеки.
Мечта или утопия? Безобразно пилеене на пари или идея, която може да промени еволюцията ни? Гениалност или чиста лудост?

повече информация
„Българите имаме манталитета, за да сме успешни предприемачи“

„Българите имаме манталитета, за да сме успешни предприемачи“

Борис Паскалев e предприемач с впечатляващ опит в света на стартъпите. Отскоро е стратегически съветник към института INSAIT, още една гаранция, че оттам си струва да очакваме още и все по-забележителни новини.
Преди това младежки национал по баскетбол, днешният ни гост заминава да следва не къде да е, а в MIT. Завършва магистратура с отличие и започва кариерата си като програмист преди повече от 20 години. После се пренасочва към мениджмънта и предприемачеството. За да стигнем до момента, когато се събира с двама други герои на Дигитални истории – проф. Мартин Вечев и д-р Веселин Райчев в стартъпа DeepCode. Той е изпълнителен директор на една от пионерните разработки за създаване на код с изкуствен интелект, която през 2020 г. е придобита от мултимилиардната компания Snyk.
Ще поговорим за успешния му път през сърцето на Силициевата долина. За започналата революция на изкуствения интелект, която според него е по-голяма дори от откриването на електричеството. За друга революция, която се задава – тази в роботиката. За това как у нас може да има повече успешни стартъпи, които да развият средата и страната ни.
Кои са следващите големи новини, които да очакваме от INSAIT?

повече информация
Share This