Челленджер - Ян Росс. Страница 39

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

Мы расставили приоритеты, и Ариэль отправился в кабинет. Я вышел на галерею, нервно перебирая в памяти разрозненные фрагменты. По сути, моя работа всегда заключалась в том, чтобы генерировать требуемое решение вопреки острой нехватке ресурсов и, зачастую, знаний. То, чем я занимаюсь, в широком смысле, даже не алгоритмика, а – proof of concept или feasibility, то есть доказательство концептуальной осуществимости. Моя задача – всеми возможными правдами и неправдами слепить прототип. Линейное развитие тут неприемлемо – ни времени, ни финансирования на последовательную разработку, как правило, не имеется, и направление часто выбирается по наитию. Так что к таким раскладам мне не привыкать. Однако одной ночи на эквизишн – это не просто в обрез, а катастрофически недостаточно. Голой интуиции будет мало, нам должно ещё крайне повезти. Но нежданно наладившееся взаимопонимание с Ариэлем и, главное, масштаб, заведомая невыполнимость и значимость происходящего, подогревали самолюбие, вселяя пьянящую радость предстоящей борьбы.

– Так, я, кажется, закончил, – заработавшись, я не заметил, как вернулся Ариэль. – Вот список проблематичных случаев.

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

– Отлично, сейчас гляну. Открой директорию, скину новую версию.

Ариэль удалился, а я взялся за баги. Если наш многострадальный эквизишн действительно заработает, это будет невероятное чудо. Надо отдать должное Тиму, сделавшему выбор с умом, выпросив ключевой, но, вместе с тем, безопасный участок. Располагая достаточным количеством времени, можно спокойно разобраться и всё наладить без риска и зыбких наитий, сопряжённых с разработкой самого алгоритма. Расчётливый ход осторожного игрока. Вот только как провернуть то же самое до рассвета…

Поток праздных раздумий был прерван телефонным звонком:

– Привет, – приглушённо донёсся Ирин голос, – Ты вернулся?

Я бросил взгляд на часы и осознал, что незаметно пролетело больше четырёх часов, время – начало первого, а конца-края даже не видно.

– Привет Ир, ты чего не спишь-то? Всё в порядке?

– Да… – она помолчала. – Всё нормально. Ты уже дома?

– Не, – пробормотал я, продолжая таращиться в экран, – Я это…

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

– Илья, что случилось? Ты где?

– Да-да, Ира, милая, я на работе, – спохватился я. – У нас цейтнот… В общем, это долгая история. Завтра расскажу.

Оторваться от бегущих цифр было выше моих сил.

– С тобой точно всё в нормально?

– Да, всё пучком, Арик теперь у меня на побегушках. Ладно, Ир, sorry [27], я по уши в работе.

– Хорошо, не буду мешать. Мы завтра увидимся?

– Конечно. Я позвоню.

Ариэль разделался с проверками и в начале пятого предложил съездить привезти пиццу. Есть не хотелось, но, оставшись без дела, он сублимировал нервозность в бессмысленное мельтешение, понукания и крайне содержательные вопросы о наших продвижениях. Пусть лучше сгоняет, решил я.

К утру эквизишн работает, но в пяти процентах присутствуют шумы, полностью перекрывающие сигнал, и сколько не бьюсь, никак не удаётся ни систематизировать условия их возникновения, ни их характеристику. Обнаружив закономерность, я смог бы если не устранить первопричину, то хотя бы научиться избегать проблематичных случаев. Радует лишь одно – начальник не докучает. Подкрепившись, он отправился паковать аппаратуру, и это занятие поглотило его целиком.

– Хватит, пора заканчивать, – выпаливает Ариэль, ворвавшись в комнату. – До вылета полтора часа.

Я заворожённо пялюсь в код, судорожно щёлкаю функции и процедуры, и уже ничего не вижу и не соображаю.

– Брось это. Помоги мне, я один не справлюсь.

– Ариэль, – я на миг оглядываюсь, – мы не можем так ехать.

– Илья, пять процентов – это ерунда, – настаивает он. – Если сейчас же не начнём, то попросту не успеем.

– Пять процентов – не ерунда. Мне не удаётся локализовать проблему, ошибки появляются рандомно.

– И что? Нас вполне устроит девяностопяти процентный успех. Всё, Илья, время истекло.

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

Мы стоим друг против друга в тесном проходе между столом, загромождённым аппаратурой и гипсовой перегородкой.

– Пять процентов – это…

– Ариэль, это не пять процентов! Это ран-дом-ное яв-ле-ни-е! Сейчас пять, а при других условиях, возможно, восемьдесят пять! Или сто!

– Илья, мы поедем как есть, пора действовать, либо…

– Нет, не поедем, дай мне ещё…

– Илья…

– В чём проблема? – кричу я ему в лицо. – Возьмём пару вещей неупакованными. Что, по-твоему, лучше?

– Илья, время вышло. Сейчас же…

– Нет, Ариэль…

– Да, я сказал…

– Нет…

– Я! – вопит Ариэль, делая шаг и оказываясь вплотную ко мне. – Приказываю! Сейчас же…

– Ариэль! Ты! – тело захлёстывает обжигающая, ядовитая дрожь, и я чувствую, как слетают последние тормоза. – Ты…

В паузе между словами раздаётся тихий щелчок. Мы настороженно замираем. Слышится шелест двери, мягкие шаги, ещё щелчок, и на пороге возникает Стив.

– Бурная ночь? – осмотревшись, невозмутимо произносит он.

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