Читать книгу Круглосуточный книжный мистера Пенумбры - Робин Слоун - Страница 7

Круглосуточный книжный мистера Пенумбры
Книжный магазин
Прототип

Оглавление

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

– Оливер, у меня вопрос. Бывают вот нормальные клиенты, да?

– Не так много.

– Ну да. И есть такие, которые берут книги по карточке.

– Типа Мориса Тиндала.

– Да. – Я не знал, что он Морис. – А у тебя бывало, чтобы кто-нибудь приносил новую книгу?

Он задумывается. И затем просто отвечает:

– Не-а.


Как только он уходит, у меня в голове начинают роиться новые теории. Может, Оливер тоже замешан. Может, он шпион Корвины. Тихий наблюдатель. Отлично. Или, может, он участник более глубинного заговора. Может, я узнал лишь самую малость. Я знаю, что есть другие такие же магазины – библиотеки? – хотя все еще не понимаю, какие «такие». И зачем нужны Суперстары.

Я пролистываю книгу учета с начала до конца в поисках хоть какой-то зацепки, какого-нибудь сообщения из прошлого типа: «Берегись, милый человек, гнева Корвины». Но ничего подобного нет. Мои предшественники, как и я, следовали инструкциям, и все.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я говорю не это:

– Это исторический проект. Магазин работает почти целый век. По-моему, он самый старый в городе, а может, и на всем Западном побережье.

– Обалдеть, – говорит Кэт. – «Гугл» просто младенец в сравнении.

Ну, все понятно: она из «Гугла». Значит, точно гений. А еще у нее чуть-чуть щербатый зуб, и это так симпатично.

– Обожаю такие данные, – говорит она, указывая подбородком на ноутбук. – Реальный мир. История.

В этой девушке светится искра жизни. Это мой основной фильтр при отборе друзей (девушек и не только), и от меня это высший комплимент. Я много раз пытался понять, как она загорается – какие именно факторы сходятся в холодном темном космосе, чтобы образовалась звезда. Я знаю, что выдает ее в основном лицо – не только глаза, но и брови, щеки, губы, а также соединяющие их микромышцы.

Микромышцы у Кэт очень привлекательные.

– А ты пробовал визуализацию временно́го ряда? – спрашивает она.

– Пока нет, не пробовал. – (На самом деле я даже не знаю, что это такое.)

– В «Гугле» мы их делаем для истории поисковых запросов, – поясняет она. – Это крутая тема – видно, как новые идеи вспыхивают по всему миру, как будто эпидемия. И в течение недели она угасает.

Мне очень интересно слушать, но в основном потому, что мне интересна Кэт.

Вдруг у нее на телефоне громко звякает оповещение, и она смотрит на экран.

– Ой, мой автобус, – говорит она. (Я проклинаю городской транспорт за внезапную пунктуальность.) – Визуализацию могу показать, – предлагает она. – Хочешь, как-нибудь встретимся?

Да, я очень хочу. Может, я даже сам куплю ей книгу Тафти. Заверну в коричневую бумагу и подарю. Стоп… я не сошел с ума? Книга-то дорогая. Может, есть издание попроще, в мягкой обложке. Можно купить и на «Амазоне». Хотя это глупо, я же работаю в книжном. (А «Амазон» быстро доставит?)

Кэт все еще ждет ответа.

– Конечно, – пищу я.

Она записывает свой адрес на открытке Пенумбры: katpotente@ – ну естественно – gmail.com.

– А купоном в следующий раз воспользуюсь, – обещает она, взмахнув телефоном. – Пока.

Как только она уходит, я открываю свою гипертаргетированную рекламную кампанию. Я там что, случайно отметил пункт «красивая»? (А «одинокая»?) Я вообще могу себе это позволить? Чисто в плане маркетинга это был провал: я не продал ни одной книжки, ни дорогой, ни дешевой. Более того, я должен доллар: Кэт написала адрес на открытке. Но особых поводов для беспокойства нет: из моего первоначального бюджета в одиннадцать баксов «Гугл» вычел всего семнадцать центов. За единственный показ рекламы – единственный и безупречный, который состоялся ровно двадцать три минуты назад.


Позднее, когда час ночной изоляции и вдыхание паров лигнина отрезвляют меня, я делаю две вещи.

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

А во-вторых, я гуглю «визуализацию временнóго ряда» и начинаю работу над новой версией своей модели в надежде произвести на Кэт впечатление своим прототипом. Я люблю девушек, на которых можно произвести впечатление прототипом.

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

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

А вот руби, мой любимый язык со времен «Нового бейгла», придумал японский программист-весельчак, поэтому руби читается как понятные дружелюбные стихи. Билли Коллинз[9] переоделся Биллом Гейтсом.

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

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

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

Визуализация показывает, что Тиндал берет книгу с самого верха второго ряда. А через месяц Лапин берет книгу с той же полки. Через пять недель оттуда же забирает книжку и Имберт, а Тиндал тем временем уже возвращает ту и берет другую книгу снизу первого ряда. Он на шаг впереди всех.

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

Звенит колокольчик. Это Имберт: невысокий, крепкий, черная щетина и кепка-восьмиклинка набекрень. Он кладет на прилавок то, что сдает (громадную книжищу в красном переплете). Я быстренько прокручиваю визуализацию, чтобы найти место Имберта в общем узоре. На экране загорается оранжевая лампочка, и не успевает он открыть рот, я знаю, что он попросит книгу из середины второго ряда. Это будет…

– «Прохоров», – хрипит Имберт. – «Прохоров» следующий.

Я лезу по лестнице, и на полпути у меня начинает кругом идти голова. Что тут происходит-то? В этот раз я не делаю никаких отчаянных маневров – мне бы на ногах устоять. Я беру с полки тонкую книжку в черном переплете. «Прохоров».

Имберт подает карточку – 6MXH2I – и забирает свою книгу. Звякает колокольчик, и я снова остаюсь один.

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

В круглосуточном книжном мистера Пенумбры творятся странные дела.

9

Билли Коллинз (р. 1941) – американский поэт, американский поэт-лауреат (2001–2003), обладатель престижных наград и одна из самых известных фигур современной американской поэзии.

Круглосуточный книжный мистера Пенумбры

Подняться наверх