Антон Шаманаев.

Солнце на краю мира



скачать книгу бесплатно

Сойдя с травелатора, вторично наступив полным весом на больную ногу, я поздоровался жестом со знакомыми физиономиями и стал глазами искать Деева. Но он сам появился из ниоткуда и хлопнул меня по плечу:

– Ты где пропадаешь? Уже Айк успел прийти на работу, а ты все спишь!

Деев был бодр и гиперактивен, как обычно. Рядом с ним стоял Айк Хоффман – зам какого-то креативного зама в отделе маркетинга. Айк непосредственно вовлечен в предстоящую презентацию, поэтому в последнее время приходит на работу утром, как все. Раньше до обеда застать его было невозможно.

Айк протянул мне руку. Одевался он теперь куда приличнее обычного: вместо толстовки с отвратительным принтом на узких плечах болталась приталенная рубашенция с отвернутыми манжетами. Я поздоровался.

– Я не сплю, у меня машина разрядилась… Вообще, я был в службе безопасности, – сказал я Дееву.

– Целый час?! Ах, да, там же Дженнифер… И что, ты так быстро? – развеселился он. – Я у нее стараюсь пропадать часа по три как минимум! Это ж настоящая Венера Стратосская! – сказал он Айку и излюбленным жестом изобразил формы «Венеры». Айк охотно заржал.

– Артем, цейтнот. Что у тебя ко мне?

– Торопишься?.. Тут кое-какая жопа надвигается, надо обсудить. Сколько тебе времени надо?

– Час, – прикинул я.

– Валяй. Через час здесь же, договорились.

– Пиши мне, если что, – сказал я, отходя к травелатору.

– Пиши! Я тебе три сообщения кинул, а ты их даже не смотрел! Вибрации слушай, Тур, вибрации… – бросил он вслед, тыча пальцем на планшет у меня под мышкой.

*

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

В моем кабинете было пыльно и затхло. Ночью здесь не убирались. Посреди комнаты высился мой личный искривитель Porta-07, окруженный развалом собственных запчастей и отработанным материалом. Фатально изогнутые куски арматуры, растянутые до исполинских размеров пластмассовые горошины, кубы стекла, превращенные в кристаллы идеальной структуры, стеклянные болванки с вырезанными из самой середины сложнейшими предметами вроде комнатного цветка… От случая к случаю это выносилось уборщицей, моя «свалка» пополнялась подходящей всячиной со станции сортировки отходов, и из нее рождались новые жертвы экспериментов.

Вчера поздним вечером, спустя дней пять исканий, я обнаружил в программе последнюю серьезную ошибку.

Последнюю, потому что больше серьезным ошибкам взяться было решительно неоткуда. Прогонять исправленную программу решил с утра, ибо башка уже не варила.

Войдя, немедленно заперся и включил питание потрепанному красавцу Porta с залатанной трещиной на корпусе. С терминала я закачал на него программу со вчерашними правками. Искривитель загрузился, надпись «Initializing22
  Инициализация (англ.)


[Закрыть]
» на мониторе сменилась словами «Place material»33
  Поместите материал (англ.)


[Закрыть]
.

На полу валялся совсем еще не истраченный стеклянный кубик. После того, как кубик отправился в загрузчик, прошел сканирование и оказался в рабочей зоне искривителя в точно определенном месте, на экране возникло: «PO» – «Place object»44
  Поместите объект (англ.)


[Закрыть]
. Я вытащил из «свалки» первую попавшуюся вещицу – ей оказалась круглая дверная ручка – и отправил вслед за кубиком.

Сидя за столом у терминала, запустил программу на исполнение.

Меня спасло три обстоятельства. Заслон из обширного монитора, за которым голова и плечи умещались полностью. Нагромождение барахла между искривителем и столом, послужившее баррикадой для нижней половины тела. И отсутствие таймера задержки: программа запускалась в тот самый миг, когда я нажимал клавишу на терминале.

Резкий пронзительный хлопок и отвратительный скрипучий свист, похожий на поскреб металла о стекло. Дуновение, как от взрыва петарды. Шипение со всех сторон. И тишина.

Ступив шаг из-за терминала, я понял, что произошло. На подошвах противно заскрипел стеклянный песок. Он был повсюду. Он лежал белесой пылью на столе, на полках шкафов, на полу. Он медленно опускался сверкающими льдинками с потолка и застилал тончайшей вуалью все вокруг. Спохватившись, я закрыл нос и рот ладонью и судорожно полез в ящик стола за респиратором…

«Сам вы, дорогой мой – несчастный виновник вашего несчастного случая», – говаривал когда-то Дееву мудрейший наш Рустем Аркадьевич Опалян.

Молекулярный песок. Вдохнешь – и каюк бронхам, месяцы кашлять гноем будешь, потом подключатся почки, пытаясь вычистить то, что успело попасть в кровь, и добрый вечер. Надо сразу нанороботами кровь фильтровать, да и те могут не успеть, к тому же в страховку не входят…

Я спасся бегством. Не дожидаясь, пока песок осядет на голову и станет разъедать кожу, я рванул к двери, попутно глянув, что же осталось в рабочей зоне искривителя. От стеклянного кубика должен был отняться кусок, из которого в результате ювелирного искривления пространства вылеплялась вторая дверная ручка, точная копия первой. «Но тут что-то пошло не так», первая дверная ручка осталась лежать в одиночестве, а от кубика не осталось и следа, если не считать радужного бриллиантового тумана – стеклянного газа, водворившегося в комнате из-за того, что стекло расщепили на отдельные молекулы. В коридоре я принялся, словно месяц не мывшийся бездомный, вычесывать из волос мельчайшие песчинки. Стекловата, а не волосы. Песчинки впивались в пальцы, руки начали чесаться. Отряхнувшись, как мог, очистив плечи и рукава рубашки, я отправился в туалет, где минут пятнадцать морозил руки под струей холодной воды, пока из них все не вымылось.

Попутно корил себя за безалаберность и размышлял, чего опять такого в программе напортачил после не первого месяца работы над ошибками, что она меня едва не убила. Раньше она столь яро не дерзила: были проблемы, были фатальные сбои, но обходилось без разрушений… Непонятно, как вообще песок мог оказаться за пределами рабочей зоны, если по ней проходит горизонт событий. Абсурд же… Но эту мысль я временно отогнал, поскольку важнее было понять, откуда взялся сам песок. Молекулярный песок мог получиться только одним способом: во время операции MSA55
  MSA, Molecular Structure Alteration – изменение строения молекул (англ.)


[Закрыть]
неверно рассчитываются координаты, и в конечном объекте молекулы ставятся слишком далеко друг от друга. Координаты молекул рассчитывает мой код. Если в нем и мог где-то возникнуть лишний inc66
  «inc» – инкремент (в языке ассемблера): команда, увеличивающая значение регистра на единицу


[Закрыть]
, то такое давным-давно выявилось бы на эмуляторе. Впрочем, предыдущие разы ошибки были именно в моем коде, так что версия подкупала правдоподобностью.

Других версий, в сущности, не было. Не может же криво работать сама операция Molecular Structure Alteration; по MSA в свое время Дэвидсон измочалил всех, прежде чем поставить свою подпись. Иные архитектурные проблемы вроде глюков в арифметике между регистрами – и вовсе из области фантастики. Процессоры проходят многоступенчатый контроль, в том числе у Дэвидсона…

Хорошо бы не возвращаться в комнату, пока смертоносная пыль не осядет. Тогда хоть вытру ее мокрой тряпкой, прикидывал я. Уборка займет вечность, но, по крайней мере, сохраню здоровье и инкогнито.

Из задумчивого оцепенения меня вывели вибрации в кармане, напророченные Деевым. На телефоне мокрыми пальцами пролистываю непрочитанные сообщения: новости, уведомления, спам и одно – от Дэвидсона с просьбой зайти срочно. Добралась-таки до меня его мочала, опрометчиво помянутая. Это тебе не секретарша с «секьюрити». Надеюсь, не кашляет он там молекулярным песком…

Из зеркала над раковиной на меня смотрело чудом уцелевшее в песчаной буре лицо. А с виду и не скажешь, что оно едва избежало жуткой участи. Даже прическа лежала сносно. Надо не забыть завтра побриться, подумал я решительно, а то Деев или Ида, как обычно, станут подкалывать на тему моей невостребованной брутальности. С бородой во всю широкую челюсть я в самом деле становлюсь похожим на чеченского наемника. Не помогают даже «полные доблести глаза с каплей грусти», как дразнилась Мари, просматривая мои студенческие фотки.

*

Я пересек лес железных рук искривителей Stanley, которых и в цехе тестировщиков было пруд пруди, и уперся в стеклянный «аквариум» Кена Дэвидсона, изнутри наглухо задернутый жалюзи. На двери висела табличка: «Злая собака! Не входить до 1 ноября!». Каждую неделю он вешает свежие отпугивалки от новичков, чтобы не привыкали.

Дверь была приоткрыта. Злая собака, как и ожидалось, строчила по клавиатуре, ни на секунду не отрывая глаз от монитора. Рядом стоял такой же, как у меня, Porta-07, тоже внешне подуставший, испачканный фломастером, и каждую секунду мигал сообщениями «PO» и «Program finished». Около агрегата крутился незнакомец в зеленом халате и, как заведенный, загружал из «свалки» в искривитель разные предметы. На меня внимания не обратил никто. В углу валялась одна из прошлых дверных табличек: «Если вы не уверены, как следует реагировать, не реагируйте»…

– Кен, привет.

Дэвидсон и ухом не повел. Ассистент в зеленом халате остановился и посмотрел на меня. У него было молодое лицо с правильными чертами, которое располагало бы к себе, если б не взгляд налогового инспектора. Угрюмый, снисходительно-агрессивный, привыкший вступать в психическое противостояние и одерживать верх. Нехарактерно для младшего инженера, коим он, по-видимому, был. Странно, что раньше я его у нас не видел; такое лицо запомнил бы.

– Объект! – Кен крутанулся на стуле, непонимающе уставился на ассистента, понял, куда смотрит тот, и лишь тогда узрел меня и поздоровался.

– Если ты по поводу письма, то проблема заключается в следующем. Сегодня попробовали конвейерный тест. Тест показал, что… м-м… так или иначе, перегревается аккумулятор. Два раза делали перерывы, хотя не положено. Давали ему остыть. Но это приводит к тому, что… м-м… ни к чему, собственно, это не приводит. Не остывает он. Следовательно, тесты вынужден прекратить.

Всегда удивлялся, как с его директорским гонором сочетается крохотная комнатушка, в которой, как и во всем ангаре тестировщиков, пахнет горячей пластмассой и подпаленной пылью, а измерительные приборы и полуразобранные искривители, обвешанные запчастями, играют роль мебели и комнатных растений. Какой-то у Кена свой порядок в голове: вроде свинтил он измерители в стойку, компактно сгрудил образцы по углам, а из ближайшего закутка, как и год назад, торчит старческая лапа искривителя Multus, дающая по голове тому, кто при входе вынужденно не поклонится директорскому высочеству. Сколько было извинений, когда она влепила по лбу Опаляну, а так и не убрал ее.

Ладно, что уж страдать. Ни одной нашей серии искривителей не удавалось избежать ошибок на тестах Кена. Кен тестирует всегда всё и всегда по-разному. Сто раз плюнул я на поверье, что если за первый час дэвидсонского тестирования искривитель не умирает – быть ему хитом. Но с тех пор, как Porta-01 на первом часе благополучно задымился, мы переделали массу всего! Недели три Кен беспробудно терзает новейшую модификацию, и не было ни единого сообщения о серьезных ошибках.

– Какой аккумулятор? – переспросил я. – И что за тест?

– Ну какой, какой. Аккумулятор тот, что в памяти. Стабилизирующий. Питает память, в которую пишутся атомный и молекулярный пойнтеры77
  От англ. «pointer» – указатель; здесь: переменная, содержащая адрес другой переменной или координаты какого-либо объекта.


[Закрыть]
… А тест – ничего сложного, прогоняю по ASA88
  ASA, Atomic Structure Alteration – изменение строения атомов (англ.)


[Закрыть]
: собственно, init, м-м, пара десятков offset’ов и disp.

– И подолгу гоняешь? – я предвидел, что ответ будет ужасающим.

– В первый раз у нас получилось… Сколько там было? – спросил он ассистента.

Тот неспешно подошел к столу, отыскал в груде пластика распечатку и зачитал:

– Тридцать семь минут двенадцать секунд.

– Ага… А потом – всё, – развел руками Кен. – Нагрелся аккумулятор, вскипел, считай…

– До девяносто восьми градусов по Цельсию, – прочитал ассистент.

– Вот-вот… так что тестирование я прервал, извини.

У ассистента был британский выговор и железный, как у робота, голос. Напомнил он моего первого сержанта, первые годы ПАКовской муштры. Мы тогда подсмеивались над железным голосом сержанта, а впоследствии выяснилось, что у него повреждены голосовые связки в результате ранения. Где-то в Африке его задело волной от водородной гранаты. Лет через семь я своими глазами увидел, как такие гранаты взрываются. Ими сжигали целые деревни. Сержант легко отделался.

Дэвидсонский ассистент, конечно, не имел ни капли общего с нашим сержантом. Но чем-то он был непрост. Халат делал его похожим скорее на работника морга или травмпункта, чем на яйцеголового технаря.

– Ты рехнулся! – сказал я Кену. – Кто ж по сорок минут гоняет ASA? По пять тысяч моль за раз! Триста килограммов железа перелопатить на атомном уровне!.. Хоть бы «свалку» пожалел.

– Чуть меньше четырех с половиной тысяч моль, – перебивая меня, отчеканил ассистент.

– Подожди, а чего ж ты хотел? – вступился Кен. – Предположи, если это конвейер? Предположи, если…

– Да не бывает таких конвейеров! – оборвал я.

– Артур, – сказал Кен нарочито спокойно. – Ты же хорошо знаешь, какие на фабриках бывают конвейеры. И что фабрики – наши основные клиенты, да?.. В характеристиках вы пишете: время непрерывной эксплуатации не ограничено. Стало быть, увольте… Так или иначе, я вешаю таск99
  От англ. «task» – задача.


[Закрыть]
, а вы – придумывайте систему охлаждения или… м-м, ну мало ли чего придумаете, – у Кена уже загружался баг-трекер1010
  От англ. «bug-tracker» – программная система для внесения информации об ошибках и отслеживания выполняемых действий по их устранению.


[Закрыть]
на терминале.

– Черт возьми, Кен, это абсурд!.. Погоди, ты сейчас все испортишь! Презентация – послезавтра, понимаешь? Никто не успеет ничего придумать!

– Слушай, я как-то не понял, вам нужна обычная виза или же моя?

В этом вопросе Кен показательно принципиален. Свою именную визу «Quality assured by K. Davidson»1111
  Качество проверено К. Дэвидсоном (англ.)


[Закрыть]
он лет десять старается сделать знаком качества в мире промышленного программного обеспечения. Еще сидя в SP Laboratories, создал консалтинговую фирмочку, интенсивно пиарит ее и тестирует на заказ одно-другое в свободное от работы время. Нельзя забывать, что Дэвидсон – единственная надежда Рустема на то, что Porta избежит полного провала и позора. Наши с Деевым заверения в успехе для него пустой звук, слушать о революционных функциях он не желает. Если теперь и Кен не поставит визу, случится страшное.

Спорить было бесполезно. Однако душа требовала повоспитывать упертого очкарика. Иначе так и сочтет нормой устраивать подлянки в последний день.

Мешал только ассистент: он по-прежнему стоял с листочком в руках, готовый хоть до вечера зачитывать цифры.

– Выйди, пожалуйста, на минуту, – обратился я к нему.

Он долго-долго смотрел на меня щучьими глазами, и, лишь когда я кивнул на дверь, кашлянул и удалился.

– Твоя взяла, Кен, только никаких тасков не надо, – сказал я, едва дверь захлопнулась. – Кинь мне детали, я сам займусь этим.

– А в чем, собственно, проблема? По инструкции требуется…

– Я знаю, что требуется, – перебил я. – Проблему зовут Рустем Аркадьевич. Получит уведомление. А, если ты помнишь, он вообще не в курсе, что ASA и прочее войдет в окончательную спецификацию. Не хватало нам скандала перед презентацией!

– Ох, да помню же я, Артур, про наши договоренности, – прогундосил он. – Я зашифрую таск, не поймет он ничего…

– Нет, ты не понял, Кен, – я сбавил тон. – Разборки все равно будут. Потому что появится таск про сбои в заявленной функции. Рустем примет решение выпилить ее из спецификации, чтобы твоя виза оказалась действительна. Только продукт получится кастрированным и не инновационным ни с какого боку! Получится второй Stanley, чуть покомпактнее, чуть побыстрее, но не принесет он и половины тех денег, которые дал Stanley. Понимаешь?

Кен кривил лицо и не хотел вникать в то, что я говорю. Сейчас его заботил лишь его собственный маленький мирок, где с одной стороны стоял подопытный образец искривителя, а с другой горел на экране баг-трекер.

– Ты же не хочешь участвовать в этих разборках, правда? – продолжал я вкрадчиво. – Тебе же важно всего-навсего протестировать аппарат по своей методике. Так мы тебе предоставим такую возможность. Сегодня к вечеру.

– Дело ваше, – согласился Кен, изобразив на лице муку. – Но если что случится, я ссылаюсь на тебя.

– Ссылайся, сколько угодно. Но прежде ответь мне на один вопрос…

Кен строчил, не переставая.

– Почему ты начал тестировать конвейерное сегодня? Месяц назад ты обещал, что начнешь с ASA, прогонишь его на конвейере и сразу же отчитаешься о результатах. Допустим, я тебя знаю и заранее сделал скидку в две недели. Но завтра – последний день! А сегодня ты сообщаешь, что мы виноваты в том, что ты не можешь поставить визу. Это вообще как?

– Артур, никак же ты не можешь привыкнуть к тому… – говорил он, не сбавляя скорости печати. – Что, так или иначе, тестирование – процесс особый. Поскольку мое noblesse oblige1212
  Положение обязывает (франц.)


[Закрыть]
, я разбираюсь, как этот процесс устроен, а ты же не разбираешься… Поэтому тестированием занимаюсь я, а не ты.

– И что?

– Я тестирую исключительно финальные образцы, а вы… Что вот вы мне весь месяц подсовывали?

– Что мы тебе подсовывали?

– Всякие отладочные модели и больше ничего. То, Кен, проверяй, а то не трогай… оно еще не работает, проверишь позже… Как же это называется? Мне надо проверить аппарат целиком, а у вас его… Не далее как пять дней назад мне его принесли.

– И почему ты об этом не сообщил?

– А зачем же мне сообщать? И кому, самое главное?..

– Мне! Или Дееву!

– Ну, так или иначе, Артур, я работаю с баг-трекером. Вот это мой основной… м-м, контрагент, или как там вы говорите… У нас же нет таска «давайте быстрее», правильно? Откуда я знаю, что у вас там… Мало ли, проблемы какие-то?

– Проблема всегда начинается здесь! – я постучал пальцем по лбу. – Проблема в том, что ты не видишь ни хрена дальше своего баг-трекера! Кто ответственный за выпуск Porta, ответь мне?

– Кто… Много вас, ответственных… Опалян, ты, Деев, Шпиль…

– Во-от, слышал? Какое ключевое слово?

– Какое ключевое слово? – эхом переспросил Кен.

– Ключевое слово – «вас»!

Он, наконец, оторвал руки от клавиатуры и повернулся ко мне.

– Послушай, Артур, чего ты от меня хочешь? Ты хочешь, чтобы…

– Я хочу, чтобы ты разбирался в ситуации! Ты – ответственный за контроль качества! Ты не какой-нибудь вася пупкин, который сидит и транжирит «свалку»! Ты один из первых людей компании, – я понизил голос, – и не меньше других заинтересован в успехе нашей новой серии. Возникающие проблемы – наши. Нет «вас», есть «мы», понимаешь?

Кен молчал, подняв глаза к потолку. Толку никакого, сколько ни тверди ему на планерках, что у руководителей нет должностных обязанностей, а есть, Кен, зоны ответственности. Рвался-рвался к управлению, тебя приняли, а ты продолжаешь вести себя как узкий специалист. Зато как обсудить что-нибудь отвлеченное – в каждой бочке он затычка и эксперт!

– В течение месяца ошибки были?

– Да, были…

– Кому ты о них докладывал?

– Я постил их в баг-трекер и вешал на алгоритмистов.

– Почему на алгоритмистов?

– Потому что ошибки были алгоритмические! – сердито ответил Кен.

– На кого конкретно вешал?

– В основном, на Виту.

Тьфу, зараза! Наверняка Вита мне все и запорола. Почему я про нее каждый раз забываю? Она, небось, Кену весь месяц мозг промывала: «То, Кенчик, проверь, а это, Кенчик, оставишь на сладкое»…

– А почему я об этом только сейчас узнал?

– Не знаю я этого! – Кен повысил голос. – Уведомления приходят всем каждый раз… Я вешаю таск, и все об этом узнают… Возможно, ты вообще не проверяешь почту?

Достали они меня с этой почтой. Да и не читаю я уведомлений, в которых ни слова про меня лично…

– Значит, так, Кен. Раз ситуация сложилась так, как сложилась, то сейчас ты откладываешь свои конвейерные тесты и берешься за остальные…

– Э-э, нет… – сказал Кен.

– Берешься за остальные проверки! – твердо повторил я. – Выполняешь все тесты, которые не затрагивают пойнтерную память.

– Артур, послушай…

– А к шести часам, – перебил я снова, – мы тебе предоставим решение аккумуляторной проблемы, и сегодня ночью – да-да, ночью! – ты доделаешь все конвейерные тесты.

Кен закатил глаза и отвернулся к терминалу.

– Есть что-то еще ко мне? – спросил я.

Кен молчал и сопел. Прям как пацан шестилетний, сидит и сопит.

– Жениться тебе надо, Кен, – вырвалось у меня.

Он перестал дышать и вытаращился на меня так, будто я предлагал ему жениться на мне.

– Чтобы меньше был соблазн заигрывать с Витой. А то станешь совсем похожим на ее муженька.

Я вышел из комнаты и заглянул в телефон. Уже упало новое письмо от Кена, где он описал детали «аккумуляторной» ошибки. Я выслал копию Дееву, добавив: «Эту жопу ты имел в виду? Встретимся в буфете?» Он ответил через полминуты: «Да, ОК».

В цехе тестировщиков я вспомнил про ассистента и оглянулся по сторонам. Зеленого халата и след простыл. Странный малый… Скажешь ему выйти – он и уйдет с концами.



скачать книгу бесплатно

страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Поделиться ссылкой на выделенное