Говорят, в IT-компаниях не верят в мистику. А зря. Потому что именно там, среди серверных шкафов и кофейных автоматов, рождаются истории, от которых седеют даже системные администраторы со стажем.
Ночь длинных переменных
Хакатон начался в восемь вечера, а к полуночи все поняли, что проект не взлетит.
Не потому что команда плохая. Команда была отличная: Лёха-фронтендер с татуировкой «Hello World» на запястье, Маша, которая знала Python лучше, чем свою бывшую свекровь, и Игорь Семёнович — единственный человек в офисе, помнивший, как выглядел интернет до Google.
Проблема была в другом.
– Ребят, – сказал Лёха, отодвигая третью банку энергетика, – у нас баг.
– Какой? – Маша даже не повернулась от монитора.
– Не знаю. Но код работает только когда я на него не смотрю.
Игорь Семёнович оторвался от своего древнего ThinkPad, на котором до сих пор стояла Windows XP (по его словам, «единственная стабильная система»), и посмотрел на Лёху поверх очков.
– Квантовый баг, – произнёс он таким тоном, каким священники говорят о чудесах.
– Чего?
– Квантовый. Существует в суперпозиции, пока не наблюдаешь. Классика.
Маша фыркнула.
– Игорь Семёныч, вы опять?
– Я серьёзно. В девяносто седьмом у нас на заводе автоматизации был такой же случай. Станок работал идеально. Но только по ночам. Днём ломался. Знаете почему?
– Потому что ночью никто не смотрел?
– Потому что ночью приходил Михалыч.
Лёха и Маша переглянулись.
– Какой Михалыч?
– Сторож. Бывший. Умер в восемьдесят девятом.
За окном что-то громыхнуло, и Маша, которая точно не верила в привидений, всё-таки придвинулась ближе к лампе.
– Игорь Семёнович, – сказала она максимально рационально, – это был гром.
– В январе?
Все посмотрели в окно. Снег падал совершенно мирно и беззвучно.
– Ладно, – Лёха потёр глаза, – давайте про баги. Реальные.
Но Игорь Семёнович уже вошёл во вкус. Он откинулся на стуле, и стул издал такой скрип, что Маша подпрыгнула.
– Хотите, расскажу про функцию?
– Какую функцию?
– Которую никто не писал.
Комментарий покойника
Игорь Семёнович рассказывал хорошо. Слишком хорошо для человека, который двадцать лет писал техническую документацию.
– Две тысячи третий год. Банк «Восточный Экспресс». Сейчас уже не существует, но это неважно. Важно то, что у них в коде была функция. Называлась simply «ОНО».
– Просто «ОНО»? – не поверил Лёха.
– Кириллицей. В коде на Си. Представляешь уровень безумия?
– Представляю, – кивнула Маша, которая однажды нашла в легаси-коде комментарий на латыни.
– Так вот. Функция «ОНО» отвечала за начисление процентов по депозитам. Работала идеально. Но никто не знал, как она работает. И никто не знал, кто её написал.
– Может, просто потеряли историю коммитов?
– В том-то и дело. Историю не потеряли. Функция просто появилась. Первого января две тысячи третьего года, в три часа ночи. Сама.
Энергетик в руке Лёхи дрогнул.
– И что, никто не разобрался?
– Пытались. Троих уволили.
– За что?
– Они пытались её отредактировать. Первый просто удалил комментарий над функцией. Через неделю ушёл по собственному. Второй переименовал функцию в «calculate_interest». На следующий день его машину эвакуировали, квартиру залило соседями сверху, а кот сбежал. Третий...
Игорь Семёнович сделал паузу.
– Третий был смельчак. Решил переписать функцию с нуля. По всем стандартам, с документацией, юнит-тестами. Знаете, что случилось?
– Умер? – прошептала Маша, уже совершенно забыв про свой рационализм.
– Хуже. Перешёл в менеджмент.
Лёха нервно рассмеялся. Смех получился каким-то сдавленным.
– А что было в комментарии? Ну, который первый удалил?
Игорь Семёнович снял очки, протёр их полой рубашки (зачем-то очень медленно) и сказал:
– «Не трогай. Я знаю, где ты живёшь».
Тишина повисла над столом, как баннер с рекламой казино.
– И подпись, – добавил Игорь Семёнович, – «В. Кузнецов, 1987».
– Погодите, – Маша подняла руку, – тысяча девятьсот восемьдесят седьмой? Но язык Си в банковских системах...
– Вот именно.
– То есть комментарий появился раньше, чем код, в котором он был?
Игорь Семёнович кивнул.
– И главное, Кузнецов. Валерий Петрович Кузнецов, главный инженер завода электроники. Умер в восемьдесят девятом. От сердечного приступа. Прямо за компьютером. Говорят, дописывал какую-то программу.
Свет мигнул.
Все трое уставились в потолок. Потом друг на друга. Потом на мониторы.
На экране Маши, поверх её аккуратного кода на Python, медленно проявлялась строчка.
Комментарий.
На кириллице.
«Молодцы. Давно я не слушал хорошие истории».
И подпись: «В. Кузнецов».
Лёха вскочил и опрокинул стул. Маша тихо взвизгнула. Только Игорь Семёнович остался сидеть спокойно.
– Ну вот, – сказал он, – а вы не верили.
Хакатон закончился в четыре утра. Рабочего кода написано не было. Зато родился новый жанр, о котором потом рассказывали на всех корпоративах. IT-хоррор для тех, кто видел легаси-код и выжил.
А функция «ОНО», говорят, до сих пор работает.
Где-то.
Иногда программистам снятся комментарии в коде, которые они не писали. Они просыпаются в холодном поту, проверяют свои репозитории — и ничего не находят. Но на всякий случай больше не работают в полнолуние.
📱 В Telegram у меня отдельная коллекция коротких историй - те самые байки, которые читают перед сном или в обеденный перерыв.
Публикую 3 раза в неделю (пн/ср/сб в 10:00) + сразу после подписки вы получите FB2 и PDF-сборник из 100 лучших рассказов.
Перейти в Telegram.