– Так что ты предлагаешь? Создать общество защиты Тамагочи от молочных желёз нашей офис-менеджер?
– Зачем изобретать велосипед? – Ирис потешно хихикает. – По всем признакам Тим – яркий представитель редчайшего, исчезающего вида млекопитающих. Пора ходатайствовать о занесении в Красную книгу.
– Друзья, я не смог сам разобраться, мне не хватает технических знаний, – в четвёртый раз произносит Стив. – Давайте попробуем…
– Необходимо срочно найти решение, – прерывает Ариэль, исступлённо повторяя эту заветную фразу, тоже далеко не впервые.
– Начнём сначала, – как ни в чём не бывало, Стив заходит на пятый круг. – Устраиваем мозговой штурм, генерируем идеи, определяем направления, делим на конкретные задания, и каждый берётся за свою часть.
– Великолепно, приступаем, – поддерживает Ариэль.
Так протекает совещание по решению кризиса. Мы приступаем и довольно быстро умудряемся заплутать в спорных деталях и частностях.
– Ещё раз, какие у нас основные модули? – снова заводит шарманку Стив.
– Ну, ещё раз, так ещё раз, – обречённо киваю я. – Основных модуля три: генерация сигнала, оцифровывание и сохранение данных.
– Подробнее! – требует Ариэль, сосредоточенно насупившись.
Конструктивность, вносимая Стивом, ему явно по душе. А мне вся эта тягомотина кажется натянутой, и не совсем ясно, что за новую роль разыгрывает Стив.
– О'кей, генерация первичного сигнала. Там, как я уже говорил, несколько субмодулей…
– Вперёд, выкладывай по порядку, – командует Ариэль. – Стив, записывай.
– Погодите… – мягко урезонивает Стив. – Давайте оптимально распределять время и усилия. Прежде чем лезть в дебри кода, испробуем аналитический подход. Ведь вы тут всё сотни раз проверили, и никаких проблем не было. А там, ни с того ни с сего, половина…
– Ну-ну… – нетерпеливо подгоняет Ариэль.
– Так вот, стоит перво-наперво уяснить, что изменилось. В чём фундаментальное различие между здесь и там?
Ариэль кивает, откидывается и закладывает руки за голову, а мы стоим перед ним, как Гамлет и Горацио или Бивис и Батхед, с ходу не разберёшь.
– Хорошо… – медленно начинаю я раз в восьмой-девятый. – Генерация. Первичного. Сигнала. Что могло измениться? – я обвожу их взглядом в ожидании возможных предположений, хотя, естественно, отвечать на вопросы предстоит преимущественно мне самому. – Не вижу никаких фундаментальных различий между Сан-Хосе и Солт-Лейк-Сити. Импульс и его генерация – сугубо внутренние функции системы, никак не зависящие от внешней среды. Есть возражения?
Они некоторое время молчат и вдумчиво морщат лбы.
– Возражений нет, я так понимаю? – резюмирую я.
– Я лично не вижу, значит придётся копать глубже, – качает головой Ариэль.
Стив выводит на доске заголовок.
– Отлично, дальше – оцифровывание, – нетерпеливо продолжаю я. – Оцифровывание – оно и в Африке оцифровывание, и снова нет никакой разницы между Сан-Хосе и Солт-Лейк-Сити. Мы рассматриваем крайне широкий спектр частот, который мог бы подойти не только для наших сенсоров, а практически любых других. Более того, ни в сенсорах, ни в электронной плате, ни в коде мы ничего не меняли. Ваши мнения?
Сцена с нахмуренными лбами повторяется.
– Все согласны, – заключаю я, выждав пару секунд.
Стив записывает на доске – "Оцифровывание".
– Ну и последнее, – спешу отделаться я. – Хранение информации. То же самое: берём что намерили, урезаем до нужного диапазона и сбрасываем на жёсткий диск. Хочу заметить, что мы используем датчики одного типа, соответственно, диапазон – тот же. Плюс, мы их проверили, и сомневаюсь, что у сенсоров могут иметься сантименты географического толка. Полагаю, им глубоко фиолетово – излучать ультразвук в Калифорнии либо в ином штате.
Компаньоны предприятия "Рога и Копыта" вновь изображают на лицах мучительную работу мысли.
– Вот и славно, – я с трудом сдерживаю улыбку. – Значит, приступим…
– Не понял… – задумчиво произносит Стив. – А зачем урезать частоты? Ведь частоты… я имею в виду, разве…
С меня вмиг слетает насмешливость.
– Fuck! – кричу я. – Ну, конечно…
– Да! – вскакивает Ариэль. – Точно!
– Слушай, Арик, а на сколько меняется базовая частота?
– Процентов на десять-пятнадцать… – мямлит шеф, в бессилии плюхаясь обратно в кресло.
Тишина немым укором заполняет пространство офисного помещения.
– Я что-то упустил? – наконец нарушает молчание Стив. – Можно поподробнее?
– Да… Блин… Понимаешь, когда мы… – принимаюсь объяснять я. – Нет, ну я не верю! Как нас угораздило?!
– Это моя ошибка… – страдальчески отзывается Ариэль.
– Не, ну я тоже хорош.
– Я должен был тебя предупредить…
– Да я и сам мог бы догадаться… – мне трудно уступить в этом состязании за первенство в идиотизме.
Мы замолкаем. Выждав приличествующую паузу, Стив машет ладонью, картинно изображая "Hello".
– Да, это… в общем… – нехотя признаюсь я. – Эхо, то есть сигналы, отражённые от живой ткани и отражённые от мёртвой, несколько разнятся. Мёртвая ткань жёстче и плотнее, тем более после заморозки. А при хранении берётся узкий диапазон вокруг основного пика. Процентов десять. Это… оптимизация такая… хорошо ещё, что до пяти не дооптимизировались…
Стив кивает, и мы снова сокрушённо молчим. Несмотря на красивый жест Арика, готового взять на себя вину, моя критиканская ошибка занозой застревает в сознании. В итоге Стиву приходится повторить мотивационный спич, уже произнесённый им в конце злосчастного заседания. Мы понемногу приходим в себя. Проблема установлена, можно расходиться.
– Молодец, – благосклонно кивает Ариэль. – Если так продолжишь… – фраза обрывается, и у меня складывается впечатление, что продолжение не предназначено для моих ушей. – Молодцы! Оба… Оба молодцы! – скомканно поправляется он. – Впредь готовим отдельную конфигурацию для больничных опытов.
Как и договаривались, я сделал несколько конфигураций, отретушировал мелкие детали и исправил пару багов, не переставая удивляться, как они не всплыли на эксперименте. Уцелевшая половина результатов оказалась вполне удовлетворительна, а новые сенсоры проявили себя в лучшем виде, превзойдя наши весьма умеренные ожидания, и, в целом, несмотря на досадную оплошность, перспективы вырисовывались очень даже многообещающие.
Всё постепенно приходило в норму. Покончив с эквизишн кодом, я вернулся к алгоритму, посмеиваясь над Тимом Чи, продолжавшем планировать, раздувая щёки и разводя канитель вокруг своего игрушечного проекта, который я забацал практически за сутки.
В пятницу нам с Ирой встретиться не удалось. Пока она управилась с делами по дому, пока уложила Алекса, – было уже поздно. Я работал и, увлёкшись, засиделся до утра, а затем, почти не спавши, отправился в автосервис. За последние месяцы Challenger порядком обтрепался и требовал капитального ремонта. Он был моим ровесником – восемьдесят второго года выпуска. Я разжился им ещё в студенчестве, не только потому, что мне нравился гордый изгиб линий и скрытая за ним сила, – само название совпадало с моим тогдашним прозвищем.
Был такой анекдот про обкуренного филина, суть которого я уже не помню, но заканчивался он фразой: "Ну что допыхтелся, Челленджер?". Challenger – мне нравилось и звучание, и значение, да и судьба погибшего космического корабля придавала этой кликухе так импонировавший тогда флёр беззаветного героизма. И всё же, возвращаясь к машине, – сегодня, с учётом хорошо оплачиваемой работы, можно приобрести новую и не маяться с этим старьём, но, немало проскитавшись вместе по годам, городам и весям, мы настолько породнились, что расставание было бы чем-то сродни предательству. Даже мысль об этом казалась кощунственной.
Ближе к вечеру позвонила Ира и сообщила, что Алекс остался ночевать у школьного товарища. Это было как нельзя кстати. Очутившись у меня, она ужаснулась вновь воцарившемуся бедламу и вознамерилась безотлагательно дать бой отъявленному разгильдяйству. Я запротестовал, но мои аргументы были зарублены на корню. Ира заявила, что не в силах пребывать в захламлённой обстановке. Тогда я взялся помогать, но оказалось, что лишь мешаю.
В итоге мы условились ограничить её внезапный приступ санитарии неизбежным сорокаминутным минимумом, а мне было велено идти чем-нибудь заняться и не путаться под ногами, что я и сделал, завалившись в постель с книжкой. Приняв горизонтальное положение, я расслабился, ощущая растекающуюся по телу приятную усталость, и после нескольких страниц невольно уснул.
Проснувшись поздним утром, я пришёл в ужас. Выскочил в гостиную – Иры нет. Метнулся во двор, где она любила покурить. Там нещадно палило солнце. Иры не было. Вернувшись в квартиру, стал смутно припоминать, как она тормошила меня, а я, должно быть, мычал что-то невразумительное. Я ворвался в спальню и, осмотрев кровать, понял, что она не ложилась. Опять выбежал в гостиную, потом на улицу, будто она могла где-то спрятаться.
Медленно закрыв входную дверь, прислонился к стене в прихожей. Какой же я придурок… Тяжело сполз на пол, представляя, как она просидела всю ночь одна, ожидая, пока я соизволю проснуться, и потом уехала утренним автобусом.
Когда отпустил первый приступ самобичевания, я понял – надо срочно звонить и каяться, и поплёлся искать телефон. По дороге заметил, что её разноцветный браслет, уже давно ставший декоративным элементом моего интерьера, исчез. Бросился к стеллажу, где была воткнута её серёжка, которую я не без боя отобрал ещё в начале наших отношений. Серёжки тоже не оказалось. Дальше я убедился, что из ванной исчезла зубная щётка и тюбики с кремом, a с полки в шкафу пропали те немногие вещи, которые она держала у меня.
До меня, наконец, дошло очевидное. Она ушла. И ушла навсегда. Я зачем-то вновь вернулся в прихожую, опустился на пол и обхватил голову руками.