Кодекс Практика. Тетралогия (СИ) - Маревский Игорь - Страница 4
- Предыдущая
- 4/231
- Следующая
— Опять сидят, света белого не видят! — донесся ее ворчливый голос. — Домой надо идти, к семье и детям! Мне что, ждать пока вы тут все закончите?
Солидарен, Галина Ивановна, всей душой солидарен, — подумал я, устало потирая переносицу. — Но, если я не сдам тимлиду проекта эти баг-репорты к утру, он с меня три шкуры спустит.
Над городом, за стеклянной стеной, сновали дроны-доставщики. Молодцы, конечно, прогресс движется полным ходом, ещё пять лет назад такое сложно было представить, а сейчас хочешь шаурму, делаешь заказ и через пять минут она у тебя в руках. Правда сейчас дроны лишь отвлекали, мельтеша в разные стороны. Сосредоточься, Ян. Так, не отвлекаемся.
Я отлаживал патч для главного детища «Квантума» — системы геймификации жизни: вынес мусор — получил немного очков опыта, пробежал пять км — накинули пару процентов к ловкости. Всё это правда нужно было ещё подтверждать на тренажёрах при достижении определённых границ. Толку от сто единиц в характеристике, если ты неуклюжий болван? Зато по отзывам фокус групп это мотивировало людей реально заниматься спортом, даже жутких социопатов.
Но в любом случае, это просто, понятно, и призвано стимулировать дофамин и менять жизнь пользователей к лучшему. Мечта геймера? На бумаге выглядело именно так. На практике же… До релиза было как до Пекина раком, потому что я знал истинную цену этой «мечты» — горы багов, спрятанных в спагетти-коде. И один из самых мерзких похоже, был моим собственным детищем, при котором постоянно возникали плавающие глюки. Именно его мне надо было сначала найти, а затем и отладить.
Ушли последние программисты и офис погрузился в тишину, которую нарушало только монотонное гудение серверных стоек за прозрачными дверцами, да бормотание Галины Ивановны, доносившееся из дальнего угла, где она шурудила шваброй. Видимо с Денисом я сегодня уже не встречусь.
Я откинулся на спинку кресла, и размял онемевшие пальцы. Взгляд упал на стол, заваленный пустыми картонными стаканчиками из-под кофе с коричневыми разводами на дне, блестящими обертками от шоколадных батончиков, и смятыми листками с бессмысленными заметками. И среди этого хаоса — мой личный проект, который я делал в свободное время. Неуклюжий кубик, собранный из микросхем, нескольких распараллеленных процессоров, планки оперативной памяти, перепутанных проводов и крошечного, как булавочная головка, проектора. Задумывался как персональный ассистент с проекцией голограмм, не чурающихся острого словца и дельного совета, который я планировал подвязать к системе геймификации. Этакий персональный голосовой помощник с внушительным функционалом. На данный момент, конечно, скорее кучка хлама, но я верил в него, проектируя и допиливая в свободное время.
В теории он, конечно, должен был быть в виде браслета, но технологии до такого ещё не дошли, поэтому мною и была выбрана такая громоздкая форма. А как закончу, по ощущениям лет через пять, как раз уже можно будет сделать нормальный браслет, удобный для постоянного ношения.
Вернулся к коду, и снова нахлынуло ощущение, как от занозы под ногтем. Что-то в этом патче было не так. Строки, написанные для обработки автотестов, выдавали результаты, которые не укладывались в логику. Слишком много переменных выходило за рамки предсказуемого. Я поморщился, ощущая начинающуюся головную боль, потер виски кончиками пальцев. Где же ошибка? Вдруг экран дернулся, погас на долю секунды и снова вспыхнул — неестественно ярко. На нем материализовалось окно с тревожным текстом:
ОШИБКА: Необработанное исключение в модуле ядра
Подробности: Неверное выделение памяти (строка 5 4723)
Таймаут соединения с ядром. Обнаружено переполнение буфера в библиотеке квантового интерфейса
Попытка записи в защищенную память по адресу 0×7F2A3B9C
Рекомендация: завершить процесс и проверить конфигурацию памяти
Тестовый патч v09.18865
— Твою мать! — вырвалось у меня, и я вжался в кресло, впиваясь взглядом в экран. Это был не наш интерфейс ошибок! Откуда это взялось⁈ Взлом? Хакеры? Чёрт, если узнают, что из-за меня похерились результаты труда последних двух лет, меня не то, что выпнут из компании с чёрным билетом, а скорее найдут в заливе с бетонными башмаками на ногах и для гарантии, с перерезанной глоткой.
— Тихо там! Орешь как потерпевший! — огрызнулась Галина Ивановна где-то за спиной. — Сидят тут, света белого не видят, скрючились и тыкают пальцами в свои клавиатуры, дармоеды проклятые, вот в моё время… — она, там что-то бурчала под нос, но я не слушал, потом что предыдущее сообщение затмила новая, кроваво-красная надпись:
КРИТИЧЕСКАЯ ОШИБКА:
Несанкционированное развертывание кода в модуле ядра
Подробности: тестовый патч v09.18865 развернут в рабочей среде
Неожиданная запись по адресу 0×8C4F1D2A
Переполнение буфера в буфера в библиотеке квантового интерфейса
Обнаружено переопределение рабочего ядра. Соединение с песочницей разорвано
Рекомендация: откатить до версии v09.18700 и провести аудит процесса развертывания
Целый табун ледяных мурашек пробежался по спине.
Не было никакого патча v09.18865, да и предыдущего тоже, откуда он вообще взялся? Кто накатывает код на работающий программный продукт, учитывая, что я один, за исключением уборщицы, нахожусь в помещении? Да и это строжайше запрещено всеми нормативами — в пятницу вечером ни один уважающий себя админ или программист такое делать не будет, если не хочет бесплатно провести свои выходные, правя ошибки.
Я резко обернулся к серверной стойке в углу офиса. Ее индикаторы, обычно спокойно мигающие зеленым, теперь горели красным. Гудение превратилось в натужный, угрожающий рев. Я вскочил, стул с грохотом откатился назад. Подошел ближе к стойке и сморщился, одновременно слегка успокаиваясь: пахло перегревшимся пластиком. Судя по симптомам, скорее всего поймали майнер и он теперь грузит систему на все сто сорок шесть процентов, добывая очередную криптовалюту. Если так, то звездец — от службы безопасности прилетит всем без исключения, но меня хотя бы не прикончат.
В этот момент свет в офисе полностью погас. Только мерцающие огни города за окном бросали призрачные блики на стены и серверные стойки. Пролетающий мимо дрон с аварийными маячками на секунду осветил помещение, гул стал ещё громче, навязчивее, и послышался треск, как от статического электричества. Такое ощущение, что нагрузка увеличилась ещё в пару раз.
— Да ладно… — прошептал я, ощущая, как холодеют пальцы. — Нащупал в кармане телефон, достал его, чертыхнулся, увидев слабый сигнал и пошел к окну, где ловило лучше, чтобы позвонить дежурному админу. Пусть срочно подключается и гасит всё нахрен, сам я в это не полезу, чтобы не стать крайним. Проходя мимо рабочего места, бросил взгляд на свой рабочий монитор, и замер. На черном экране горели жирные, кровавые буквы.
Система инициализирована
Добро пожаловать
И грянул взрыв.
Хорошо, что я отошел к окну. Ударная волна подхватила, швырнула сквозь прозрачное стекло, которое регулярно намывали верхолазы. Я выиграл у смерти девять секунд свободного падения, чтобы осознать всю нелепость и неизбежность конца.
Всего девять секунд.
Ведь это ровно столько, как утверждают расчеты, требуется человеческому телу, чтобы достичь асфальта, падая с высоты сотого этажа головой вниз. Конечно, если раскинуть руки в стороны, если надеть брезентовую куртку, или тем паче, костюм-крыло, цифры будут другими, но чего нет, того нет. Ирония судьбы — перед лицом неминуемого конца мозг занимался чем угодно, кроме того, чтобы прокручивать в воспоминаниях прошедшую жизнь. Совсем не так, как в кино.
С другой стороны, не каждый же встречает последние мгновения своей жизни на работе, в стеклянной клетке мегабашни «Квантум». Хотя, как на работе? Скорее уже покинув её. Ведь, раздавшийся взрыв, вышвырнувший меня сквозь панорамное окно в разреженный вечерний воздух, таким образом отправил меня в последний полёт. Я успел заметить веер алых брызг, распустившийся там, где секунду назад кряхтела и ворчала уборщица Галина Ивановна. Ей не повезло, её нафаршировало осколками сверкающего стекла, тогда как меня, лишь посекло по рукам и лицу мелкими, острыми как бритва, осколками.
- Предыдущая
- 4/231
- Следующая
