Выбрать главу

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

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

Теперь книжки светятся, будто лампочки, в параллелепипедах 3D-полок. И лампочки эти разноцветные: то, что взял Тиндал, синее, Лапин – зеленое, Федоров – желтое и так далее. Вообще-то, выглядит круто. Но с этой новой фичей добавился и баг: если чересчур сильно повернуть магазин, полки, мигнув, пропадают. Я сижу сгорбившись над кодом, тщетно пытаясь разобраться, в чем дело, но тут раздается звон колокольчика.

От неожиданности я невольно издаю удивленный писк. Вернулся Эрик и будет снова на меня орать? Или Корвина, сам гендиректор, явился наконец, чтобы обрушить свой гнев на…

Это девушка. Просунувшись в дверь наполовину и глядя на меня, она спрашивает:

– У вас открыто?

О да, девушка с каштановым каре и в красной футболке с горчично-желтым словом BAM! – да, у нас еще как открыто.

– Конечно, – отвечаю я. – Заходите. Мы работаем круглосуточно.

– Я ждала автобус на остановке, и телефон зажужжал, – кажется, мне пришел купон.

Она подходит прямо к прилавку, подталкивает ко мне свой телефон, а там на экране мое объявление в «Гугле». Моя гипертаргетированная рекламная кампания – я о ней уже забыл, но она все еще работает и нашла клиентку. На поцарапанном экране смартфона выскочил нарисованный мной купон. Ногти сверкают.

– Да! Отличный купон. Лучший!

Я говорю как-то слишком громко. Она сейчас развернется и уйдет. Удивительные алгоритмы гугловой рекламы привели ко мне настоящую красотку, а я не знаю, что с ней делать. Девушка крутит головой, осматривая магазин. На лице у нее сомнение.

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

– Что это? – интересуется она, вскидывая бровь. Очень красивую темную бровь.

Эту карту надо разыграть безошибочно. Чтобы не вышло слишком занудно.

– Ну, это модель нашего магазина, но еще тут отображается, какие книжки в наличии…

– Визуализация данных! – У девушки загораются глаза. И все сомнения развеиваются. Она уже в восторге.

– Точно, – говорю я. – Именно так. Вот, смотрите.

Мы встречаемся на полпути у края стола, и я показываю ей свой 3D-магазин (он все еще пропадает, если повернуть слишком сильно). Она наклоняется поближе:

– А можно посмотреть исходный код?

Злоба Эрика удивляла, а любопытство этой девушки поражает.

– Да, конечно.

Я листаю темные окна, пока на экране не оказывается сырой файл на руби с красными, золотыми и зелеными цветовыми кодами.

– Я с этим работаю, – сообщает она, нагибаясь к экрану и вглядываясь в код. – С визуализацией данных. Можно?

Девушка показывает на клавиатуру. О да, прекрасная хакерка-полуночница, можно.

Моя лимбическая система уже привыкла к определенному (очень малому) количеству контактов с другими людьми (женского пола). И теперь, когда она стоит рядом, слегка упираясь в меня локтем, я словно пьянею. Но пытаюсь продумать свои следующие шаги. Порекомендую ей Эдварда Тафти, «Визуальное представление больших объемов информации». У Пенумбры она есть – я видел на полке. Огромный томина.

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

– Круто, – говорит она с улыбкой. – Ты, я так понимаю, Клэй?

В коде есть метод «клэй_рулит». По-моему, у каждого программиста такое есть.

– А я Кэт. Я вроде поняла, в чем проблема. Показать?

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

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

Не знаю, стоит ли откровенно рассказывать, насколько это странное место. «Привет, приятно познакомиться, я тут продаю нечитабельные книжки каким-то мутным старикам, сходим поужинать?» (И вдруг меня охватывает уверенность, что сейчас кто-нибудь из этих чудиков ворвется в дверь. Тиндал, Федоров и все остальные, очень вас прошу, посидите сегодня дома. Сидите и читайте.)