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