Слишком узкая трасса

19.03.2026, 10:53 Автор: Алекс Степанов

Закрыть настройки

Слишком узкая трасса
       Тематический цикл «Мегаполис», №1
       Алекс Степанов
       
       Была пятница и восемь вечера, а Илья еще сидел в офисе за несколькими мониторами и отлаживал программный код. Система искусственного интеллекта здорово помогла, поэтому оставалось доделать немного. Но никогда точно не знаешь, сколько времени уйдет, чтобы отловить все ошибки и недочеты в компьютерной программе. Да, «баги» они такие – кажется, вот он – нашел последний, а потом что-то снова вылезает в отладчик программ.
       Тем более, когда имеешь дело с большой и сложной кодовой базой типа этой – для управления городскими автомобильными диаметрами. А точнее – квантовым преобразователем для увеличения их пропускной способности – принципиально новым оружием для борьбы с автомобильными пробками, которым так гордилась мэрия.
       Будь времени побольше, найти ошибки в программе не являлось бы проблемой. Настоящей проблемой был Макс – менеджер проекта, которому подчинялся Илья, и который ходил по офису и давил на работающих в запарке разработчиков.
       Вот он – тут как тут, неизменно с бумажным стаканчиком кофе. Илья услышал за собой его голос:
       -Ну что, парни, как наш релиз – финал близок? Нам нужно обновить версию до 20:30. Иначе городской департамент информационных технологий закроет свою лавочку, и мы пролетаем.
       Из опыта Илья знал, что в полдевятого никто ничего не закроет. Просто Максу уже давно было пора ехать в загородный коттедж на празднование своего юбилейного дня рождения. Вот он и гнал лошадей… в смысле, своих подчиненных разрабов.
       Когда Макс подошел ближе, Илья без эмоций сказал:
       -Слушай, Макс, я почти всё проверил. Индикаторы качества зелёные. Только один оранжевый. Дай ещё полчаса на перепроверку.
       Макс сделал глоток и вкрадчиво с еле скрываемым раздражением произнес:
       -Ты просил «ещё немного» два часа назад. А сейчас опять. Если мы не успеем сегодня обновить систему, то потеряем контракт. Да ещё мэр нам наваляет – поставит в стоп-лист и государственных заказчиков нам больше не найти никогда. И ты прекрасно знаешь, из-за кого был сдвинут срок сдачи проекта…
       -Да, мы не успели сделать всю систему сами. Но мы не можем пихать чужие куски кода, не проверив их досконально!
       -Во-первых, не мы, а ты… взялся программировать трансформацию. А во-вторых, не чужие, а общие. Это открытый программный код. Он свободен, как воздух! Так делают многие... И этот код уже опробован другими в разных городах мира. Так зачем же было изобретать колесо…
       -Скажи про «воздух» менеджеру из департамента и посмотрим, что он сделает с нашим контрактом…
       -Нет необходимости. Он и так... догадывается. Впрочем, на что ты намекаешь – что ты хочешь мне сказать?
       -Только то, что мы обновимся сегодня, я уверен. Но сам понимаешь, модуль трансформации размеров транспортных средств – критическая вещь. Стоит перепроверить.
       -Так… я уже устал от этого нытья. Дай я сам посмотрю, - Макс нагнулся к монитору и стал вчитываться в строки отладчика.
       Ещё недавно он тоже был разработчиком в отделе, прежде, чем его подняли на управленческий уровень. Но Илья критически оценивал его способности в программировании. А управленческие – и подавно. Впрочем, как знать… может потому, что тянули наверх «конкурента».
       Наконец, Макс просмотрел все сообщения, поставив отметки о прочтении, и сказал:
       -Ерунда. Несовершенство интеллектуального ассистента для отладки сложных модулей. Вы, как два сапога пара – мучаете друг друга дотошной фигней. Он водит тебя по кругу, а ты его. Это не ошибки – лишь предупреждения. Можно забить.
       Илья, словно в подтверждение только что поставленному ему диагноза, переспросил:
       -Ты так считаешь?
       -Да, я так считаю! Ты просто тратишь свое и моё время. Загружай код в центр обработки данных.
       -И тебя не смущает, что сегодня на календаре тринадцатое?
       -Да иди ты со своими приметами… мы же не хакеры из двадцатого века или начала двадцать первого. От таких суеверных разрабов пора избавляться. Всегда найдете повод для сомнений…
       -Но ведь это не компьютерная игра или бухгалтерская программа! Это система управления автомобильной трассой.
       -Верно заметил... На них бы мы не заработали таких денег.
       Макс запрокинул голову и сделал последний глоток. Потом смял пустой стаканчик и бросил его в мусорную корзину. После небольшого промедления сказал, чеканя каждое слово:
       -Всё, обновляй версию на сервере и отправляйся пить смузи… или что ты там делаешь по пятницам после работы.
       -Ладно, как скажешь, - Илья активировал команды для обновления модуля системы, отвечавшей за уменьшение автомобилей перед шлюзами центральных диаметров и позволявшей таким образом увеличить пропускную способность на порядок. Сейчас – в пятничный час пик, когда все стремились выбраться из города, это было особенно актуально.
       Макс ещё стоял рядом, проверяя, что процесс обновления модуля трансформации полностью завершился. Илья повернулся к нему. Видимо, из-за некоторой нерешительности вздохнул, а потом спросил:
       -Макс, а зачем мы меняем систему? Старая нормально работает, и в новой нет ничего нового.
       -Я скажу тебе так. Когда-то много лет назад, и ты возможно, слышал это от своих родителей, как и я от своих, каждый год в городе меняли тротуарную плитку и бордюры. Многие тогда задавались схожим вопросом. Ответ прост. Так устроен наш город. Только теперь мы меняем программный код.
       Макс о чем-то на мгновенье задумался. И словно устремил свой взор внутрь себя. Потом снова вернулся в реальность и сказал:
       -Закончим на этом. Закругляйся и до встречи в понедельник, - он отвернулся и пошел в строну своего рабочего места.
       Постепенно офис стал пустеть. Кто-то подошел ещё раз на прощание поздравить Макса с днем рождения, а заодно и с новым выпуском системы, которую так ждал город. Макс кратко благодарил, но почти не отвлекался на разговоры от торопливого сбора домой – складывания подарков, отправки сообщений, видимо, о своем скором прибытии на загородное отмечание юбилея, ну и прочих действий, которые все обычно делают перед выходом с работы.
       Илья ещё посидел непродолжительное время на своем рабочем месте, то ли отдыхая от напряженной работы, то ли размышляя над услышанным от Макса, то ли ещё почему-то.
       * * *
       Они почти одновременно вышли на ярус подземной парковки. Каждый сел в свой автомобиль и отправился по своим направлениям. Каждый – за рулем своего БМВ. Только у Макса он был новый, а у Ильи – мягко говоря, не так.
       Примерно через десять минут Илья увидел на экране мультимедийной системы сигнал входящего звонка от Макса. Он нажал кнопку приема и сразу услышал возбужденный голос начальника:
       -Ты сейчас в диаметре?
       -Да, во втором. Еду в центр пить смузи…, - Илья говорил с усмешкой. Но начальник его перебил:
       -Скажи, у тебя ничего странного не происходит? Ничего не замечаешь?
       -Ничего. Еду спокойно на автопил…
       -У тебя машина не растет?
       -В каком смысле не растет?
       -В прямом, бл…! Размеры не увеличиваются?
       Илья бросил взгляд на набегающую разметку дорожного полотна и заметил, что габариты автомобиля уже слегка превышают ширину полосы.
       -Да, растет…, - и тоже выругался.
       -Значит, не автопилот глючит. Я сейчас в третьем диаметре. Машин тьма. Свернуть – никакой возможности. До окружной ещё пилить и пилить. Если ничего не сделать, то скоро здесь будет каша...
       Илья услышал на заднем плане разговора скрежет и лязганье. Потом голос Макса снова наполнил салон:
       -Слышал? Я в средней полосе, между автобусом и грузовиком. И впереди всё забито… Да, здорово мы с кодом накосячили.
       -Разве мы? Кто требовал грузить на сервер и говорил, что всё ерунда?
       В этот момент Илья увидел, что какая-то машина пытается его обогнать, поэтому переключил управление на ручное и резко увеличил скорость. После этого он решил свернуть на ближайшем выезде из тоннеля, но увидев его впереди, понял, что поздно – машина уже могла в него не войти.
       Он снова услышал голос Макса:
       -Я свяжусь с городским департаментом технологий, скажу им восстановить предыдущую версию. А ты посмотри код, вдруг что-то обнаружишь.
       Илья расслышал, как Макс отдаёт указания интеллектуальному автомобильному ассистенту. И потребовал от своего вывести исходный текст программы на проекционный экран.
       Хотя его запрос был исполнен почти сразу, в глубине души Илья уже чувствовал, что найти ошибку нереально. Не получилось это сделать в относительно спокойной обстановке офиса – пусть и с назойливым Максом за спиной, не получится и здесь – управляя автомобилем на огромной скорости и в обстановке шума, тряски и мелькания огней.
       Но игнорировать просьбу и ничего не делать он тоже не мог. На проекционный экран сыпались бесконечные строчки кода. Илья машинально отдавал какие-то команды ассистенту. Но с каждой секундой всё реже. Весь его разум постепенно ушел в руки и ноги, управляющие автомобилем. Вскоре он замолчал. Он не хотел отлаживать код – он хотел жить. И отладчик программ точно не вёл его к этой цели.
       Если была возможность протиснуться между медленным автомобилем и стеной тоннеля, Илья обгонял. Если нет, то сигналил и мигал фарами, призывая другого водителя ускориться. В центре города диаметр размыкался, и Илья надеялся успеть.
       Потом он снова услышал голос Макса, удивительно спокойный на этот раз:
       -Да, ты был прав.
       Илья на автомате спросил:
       -В чём?
       -Мы делали не компьютерную игру и не бухгалтерскую программу… не стоило подменять свой код чужим. И насчет «чертовой пятницы» тоже... мой день рождения, и это число было раньше счастливым.
       Илья хотел сказать что-то ободряющее в ответ, но не мог ничего придумать. Сейчас его занимал скрежет задевающей за тоннель крыши автомобиля. Совсем скоро это обещало перерасти в проблему… Даже в две – ещё это заметно снижало скорость.
       Вдруг, Макс восторженно закричал:
       -Я понял в чем дело… коэффициент сжатия! В коде не было ошибки, но он написан для больших диаметров! У нас мэр делает кратно уже, ты сам видел какие…
       Мгновенья радости Макса сменились его отчаянием:
       -Ладно, мне не выбраться… меня уже жмет со всех сторон...
       Илья бросил взгляд на экран видеосвязи, но что-то разглядеть было сложно. Там было все вперемешку – лицо Макса, какие-то части кузова автомобиля и мелькание света.
       Последнее, что слышал Илья от своего начальника:
       -Если успеешь выбраться, то не отказывайся от моего места. У тебя получится лучше. Только никогда не соглашайся просто менять плитку – берись за настоящие дела…
       И уже срываясь на полный ужаса и боли крик:
       -И передай извинения моим – что опоздал навсегда...
       Илья прокричал в ответ:
       -Скажи им сам!
       Но взглянув на картинку видеосвязи, понял, что уже поздно.
       До шлюза оставалось ещё метров сто. Вот оно спасительное окно белого света – рукой подать. Но машина уже почти не ехала.
       Когда автомобиль заполнил всю ширину тоннеля и остановился, Илья выдавил ногами лобовое стекло и выполз в тоннель. Какое-то время он шел к выходу наклонившись. Потом мог двигаться, только присев. Когда и это стало невозможным, лег и попытался ползти.
       Стенки тоннеля становились всё ближе. Он продолжал ползти, превращая свою одежду в лохмотья и обдирая ладони, локти и колени. Наконец, он замер. Плечи сжимал тоннель. Он смог протиснуть руки вперед и затаил дыхание. Давление спало. Наступила тишина.
       
       * * *
       
       Его вытащили. Оказали первую помощь и усадили где-то в стороне. Так он и сидел. Один. Других пострадавших видно не было.
       Но, вдруг, он почувствовал чьё-то присутствие и поднял взгляд. Затем молча встал и некоторое время просто стоял, покачиваясь и рассматривая человека. Потом услышал голос, который ранее не слышал вживую.
       Это был голос мэра:
       -Вас можно привлечь к ответственности… вы соучастник. Но зачем? Главный виновник известен – и второй нам не нужен. Ещё я думаю, что лучше вас на опустевшее место менеджера проекта не найти. Согласны?
       Илья молчал. Мэр продолжил:
       -Я выяснил, что вы ответственный человек. А свою смышленость – продемонстрировали нам на практике. Из примерно семи тысяч человек, застрявших в тоннелях, спаслись только вы. Не знаю, как вы догадались… Такие, как вы, нам нужны. Ну что – спрашиваю последний раз, согласны?
       Илья немного подумал и утвердительно качнул головой.
       -Вот и отлично.
       Мэр повернулся и пошел к репортерам.
       
       somesysdev@gmail.com