Добавить в корзинуПозвонить
Найти в Дзене

Укротительница «Просвещения»: как 21-летняя студентка вылечила Linux от 20-летнего склероза

Привет! Представьте себе ситуацию: вы аспирант в немецком университете, верстаете лекции в LaTeX, открываете PDF-файл, и тут ваш рабочий стол решает, что с него хватит, и уходит в глубокую медитацию. Большинство просто нажмет кнопку Reset и выругается, но 21-летняя Камилла Шевчик — не из таких. Она раскопала баг в оконном менеджере Enlightenment E16, который, скорее всего, старше её самой. Этот кусок кода — настоящий цифровой мастодонт. Е16 вышел в 1997 году, когда мониторы были квадратными, а интернет — пищащим. Пока все нормальные люди переходили на современные тяжеловесные оболочки, Камилла оставалась верна «старой школе», считая её эталоном стабильности. Ирония судьбы в том, что именно эта «стабильность» намертво зависла на обычном длинном заголовке окна. Суть поломки оказалась до смешного классической. В коде жил алгоритм, который пытался красиво сократить слишком длинное название файла в заголовке окна. Проблема в том, что у этого цикла не было тормозов. Программа бесконечно мет

Привет! Представьте себе ситуацию: вы аспирант в немецком университете, верстаете лекции в LaTeX, открываете PDF-файл, и тут ваш рабочий стол решает, что с него хватит, и уходит в глубокую медитацию. Большинство просто нажмет кнопку Reset и выругается, но 21-летняя Камилла Шевчик — не из таких. Она раскопала баг в оконном менеджере Enlightenment E16, который, скорее всего, старше её самой.

Этот кусок кода — настоящий цифровой мастодонт. Е16 вышел в 1997 году, когда мониторы были квадратными, а интернет — пищащим. Пока все нормальные люди переходили на современные тяжеловесные оболочки, Камилла оставалась верна «старой школе», считая её эталоном стабильности. Ирония судьбы в том, что именно эта «стабильность» намертво зависла на обычном длинном заголовке окна.

Суть поломки оказалась до смешного классической. В коде жил алгоритм, который пытался красиво сократить слишком длинное название файла в заголовке окна. Проблема в том, что у этого цикла не было тормозов. Программа бесконечно металась между вариантами усечения, пытаясь воткнуть многоточие, и в итоге впадала в ступор, парализуя весь рабочий стол. Разработчики игнорировали этот «привет из прошлого» десятилетиями, пока молодая студентка не залезла под капот.

Камилла не просто нашла проблему, а элегантно вправила коду мозги. Она ограничила количество попыток сокращения заголовка до 32 (этого хватит даже для самых графоманских названий), добавила защиту от отрицательных значений и — классика жанра — воткнула предохранитель от деления на ноль. Сама Камилла уверена: современные системы, раздутые до миллионов строк кода, кишат подобными «цифровыми вшами», просто их еще некому было ловить на лекциях по информатике.