Kitabı oku: «Круглосуточный книжный мистера Пенумбры», sayfa 4
Прототип
На следующий вечер я, как и всегда, вхожу в магазин и машу рукой Оливеру Гроуну. Я хочу спросить его про Эрика, но не могу подобрать слова. Мы с ним не обсуждаем своеобразие магазина в лоб. В итоге я начинаю так:
– Оливер, у меня вопрос. Бывают вот нормальные клиенты, да?
– Не так много.
– Ну да. И есть такие, которые берут книги по карточке.
– Типа Мориса Тиндала.
– Да. – Я не знал, что он Морис. – А у тебя бывало, чтобы кто-нибудь приносил новую книгу?
Он задумывается. И затем просто отвечает:
– Не-а.
Как только он уходит, у меня в голове начинают роиться новые теории. Может, Оливер тоже замешан. Может, он шпион Корвины. Тихий наблюдатель. Отлично. Или, может, он участник более глубинного заговора. Может, я узнал лишь самую малость. Я знаю, что есть другие такие же магазины – библиотеки? – хотя все еще не понимаю, какие «такие». И зачем нужны Суперстары.
Я пролистываю книгу учета с начала до конца в поисках хоть какой-то зацепки, какого-нибудь сообщения из прошлого типа: «Берегись, милый человек, гнева Корвины». Но ничего подобного нет. Мои предшественники, как и я, следовали инструкциям, и все.
Простыми словами они излагали факты, описывая посетителей. Некоторых я уже знаю: Тиндала, Лапин и прочих. Другие для меня загадка – клиенты, которые приходят только днем или давно вообще перестали появляться. Судя по датам на страницах, в этом журнале собраны данные за пять с лишним лет. И записей пока только до середины. Я буду вести его еще пять лет? Послушно записывать годами, не понимая, о чем речь?
Мой мозг растечется в лужу, если я буду так сидеть всю ночь. Надо отвлечься. На что-то большое и сложное. Я открываю ноутбук и продолжаю работу над моделью магазина.
Каждые несколько минут я гляжу за окно, высматривая на улице тени: не мелькнет ли серый костюм, не сверкнет ли темный глаз. Но за окном ничего нет. Работа сглаживает ощущение бредовости, и я наконец вхожу в поток.
Чтобы от моей модели был какой-то толк, наверное, надо не только добавить местоположение книжек, но и отмечать, какие на данный момент выданы и кому. Так что я вкратце ввел туда свои записи за последние недели и научил программу определять время.
Теперь книжки светятся, будто лампочки, в параллелепипедах 3D-полок. И лампочки эти разноцветные: то, что взял Тиндал, синее, Лапин – зеленое, Федоров – желтое и так далее. Вообще-то, выглядит круто. Но с этой новой фичей добавился и баг: если чересчур сильно повернуть магазин, полки, мигнув, пропадают. Я сижу сгорбившись над кодом, тщетно пытаясь разобраться, в чем дело, но тут раздается звон колокольчика.
От неожиданности я невольно издаю удивленный писк. Вернулся Эрик и будет снова на меня орать? Или Корвина, сам гендиректор, явился наконец, чтобы обрушить свой гнев на…
Это девушка. Просунувшись в дверь наполовину и глядя на меня, она спрашивает:
– У вас открыто?
О да, девушка с каштановым каре и в красной футболке с горчично-желтым словом BAM! – да, у нас еще как открыто.
– Конечно, – отвечаю я. – Заходите. Мы работаем круглосуточно.
– Я ждала автобус на остановке, и телефон зажужжал, – кажется, мне пришел купон.
Она подходит прямо к прилавку, подталкивает ко мне свой телефон, а там на экране мое объявление в «Гугле». Моя гипертаргетированная рекламная кампания – я о ней уже забыл, но она все еще работает и нашла клиентку. На поцарапанном экране смартфона выскочил нарисованный мной купон. Ногти сверкают.
– Да! Отличный купон. Лучший!
Я говорю как-то слишком громко. Она сейчас развернется и уйдет. Удивительные алгоритмы гугловой рекламы привели ко мне настоящую красотку, а я не знаю, что с ней делать. Девушка крутит головой, осматривая магазин. На лице у нее сомнение.
Все зависит от мелочей. Разница в тридцать градусов – и эта история тут бы и закончилась. Но мой ноутбук стоит под нужным углом, а на его экране как ненормальный крутится наш 3D-магазин в двух плоскостях, словно корабль, прорывающийся сквозь космическую пустоту. Девушка смотрит на него и…
– Что это? – интересуется она, вскидывая бровь. Очень красивую темную бровь.
Эту карту надо разыграть безошибочно. Чтобы не вышло слишком занудно.
– Ну, это модель нашего магазина, но еще тут отображается, какие книжки в наличии…
– Визуализация данных! – У девушки загораются глаза. И все сомнения развеиваются. Она уже в восторге.
– Точно, – говорю я. – Именно так. Вот, смотрите.
Мы встречаемся на полпути у края стола, и я показываю ей свой 3D-магазин (он все еще пропадает, если повернуть слишком сильно). Она наклоняется поближе:
– А можно посмотреть исходный код?
Злоба Эрика удивляла, а любопытство этой девушки поражает.
– Да, конечно.
Я листаю темные окна, пока на экране не оказывается сырой файл на руби с красными, золотыми и зелеными цветовыми кодами.
– Я с этим работаю, – сообщает она, нагибаясь к экрану и вглядываясь в код. – С визуализацией данных. Можно?
Девушка показывает на клавиатуру. О да, прекрасная хакерка-полуночница, можно.
Моя лимбическая система уже привыкла к определенному (очень малому) количеству контактов с другими людьми (женского пола). И теперь, когда она стоит рядом, слегка упираясь в меня локтем, я словно пьянею. Но пытаюсь продумать свои следующие шаги. Порекомендую ей Эдварда Тафти, «Визуальное представление больших объемов информации». У Пенумбры она есть – я видел на полке. Огромный томина.
Девушка быстро листает мой код, и мне становится слегка неловко – у меня там полно комментариев типа «Ну я крут!» и «Компьютер, пришло время подчиниться моему приказу».
– Круто, – говорит она с улыбкой. – Ты, я так понимаю, Клэй?
В коде есть метод «клэй_рулит». По-моему, у каждого программиста такое есть.
– А я Кэт. Я вроде поняла, в чем проблема. Показать?
Я тут мучился часами, а эта девчонка – Кэт – вычислила мою ошибку за каких-то пять минут. Она гений. Она подробно объясняет, как отладить, приводя доводы быстро и уверенно. И, легко стуча по клавиатуре, решает проблему.
– Прости, что отобрала. – Она поворачивает ноутбук обратно ко мне. Убрав волосы за ухо, встает и говорит с напускным хладнокровием: – Ну, Клэй, и зачем ты делаешь модель магазина? – При этом ее взгляд поднимается вдоль стеллажей до самого потолка.
Не знаю, стоит ли откровенно рассказывать, насколько это странное место. «Привет, приятно познакомиться, я тут продаю нечитабельные книжки каким-то мутным старикам, сходим поужинать?» (И вдруг меня охватывает уверенность, что сейчас кто-нибудь из этих чудиков ворвется в дверь. Тиндал, Федоров и все остальные, очень вас прошу, посидите сегодня дома. Сидите и читайте.)
Я говорю не это:
– Это исторический проект. Магазин работает почти целый век. По-моему, он самый старый в городе, а может, и на всем Западном побережье.
– Обалдеть, – говорит Кэт. – «Гугл» просто младенец в сравнении.
Ну, все понятно: она из «Гугла». Значит, точно гений. А еще у нее чуть-чуть щербатый зуб, и это так симпатично.
– Обожаю такие данные, – говорит она, указывая подбородком на ноутбук. – Реальный мир. История.
В этой девушке светится искра жизни. Это мой основной фильтр при отборе друзей (девушек и не только), и от меня это высший комплимент. Я много раз пытался понять, как она загорается – какие именно факторы сходятся в холодном темном космосе, чтобы образовалась звезда. Я знаю, что выдает ее в основном лицо – не только глаза, но и брови, щеки, губы, а также соединяющие их микромышцы.
Микромышцы у Кэт очень привлекательные.
– А ты пробовал визуализацию временно́го ряда? – спрашивает она.
– Пока нет, не пробовал. – (На самом деле я даже не знаю, что это такое.)
– В «Гугле» мы их делаем для истории поисковых запросов, – поясняет она. – Это крутая тема – видно, как новые идеи вспыхивают по всему миру, как будто эпидемия. И в течение недели она угасает.
Мне очень интересно слушать, но в основном потому, что мне интересна Кэт.
Вдруг у нее на телефоне громко звякает оповещение, и она смотрит на экран.
– Ой, мой автобус, – говорит она. (Я проклинаю городской транспорт за внезапную пунктуальность.) – Визуализацию могу показать, – предлагает она. – Хочешь, как-нибудь встретимся?
Да, я очень хочу. Может, я даже сам куплю ей книгу Тафти. Заверну в коричневую бумагу и подарю. Стоп… я не сошел с ума? Книга-то дорогая. Может, есть издание попроще, в мягкой обложке. Можно купить и на «Амазоне». Хотя это глупо, я же работаю в книжном. (А «Амазон» быстро доставит?)
Кэт все еще ждет ответа.
– Конечно, – пищу я.
Она записывает свой адрес на открытке Пенумбры: katpotente@ – ну естественно – gmail.com.
– А купоном в следующий раз воспользуюсь, – обещает она, взмахнув телефоном. – Пока.
Как только она уходит, я открываю свою гипертаргетированную рекламную кампанию. Я там что, случайно отметил пункт «красивая»? (А «одинокая»?) Я вообще могу себе это позволить? Чисто в плане маркетинга это был провал: я не продал ни одной книжки, ни дорогой, ни дешевой. Более того, я должен доллар: Кэт написала адрес на открытке. Но особых поводов для беспокойства нет: из моего первоначального бюджета в одиннадцать баксов «Гугл» вычел всего семнадцать центов. За единственный показ рекламы – единственный и безупречный, который состоялся ровно двадцать три минуты назад.
Позднее, когда час ночной изоляции и вдыхание паров лигнина отрезвляют меня, я делаю две вещи.
Во-первых, пишу Кэт и спрашиваю, не хочет ли она пообедать завтра, то есть в субботу. Я иногда бываю трусоват, но верю, что железо надо ковать, пока горячо.
А во-вторых, я гуглю «визуализацию временнóго ряда» и начинаю работу над новой версией своей модели в надежде произвести на Кэт впечатление своим прототипом. Я люблю девушек, на которых можно произвести впечатление прототипом.
Я задумал сделать анимацию, чтобы данные о том, как брали книги, отображались в динамике, а не одновременно. Первым делом я переписываю побольше имен, названий и сведений о времени из книги учета в ноутбук. А потом начинаю свой хакатон.
Не все программирование одинаково. В обычных письменных языках есть разные ритмы и идиомы, так? В языках программирования тоже. Язык си строится на жестком императиве – примерно так и говорят компьютеры. Лисп похож на одно длинное закрученное предложение с кучей придаточных – до того длинное, что забываешь, о чем, собственно, шла речь. Про эрланг все понятно из названия: скандинавский и эксцентричный. Ни на одном из них я программировать не умею, потому что они слишком трудные.
А вот руби, мой любимый язык со времен «Нового бейгла», придумал японский программист-весельчак, поэтому руби читается как понятные дружелюбные стихи. Билли Коллинз9 переоделся Биллом Гейтсом.
Хотя, разумеется, язык программирования придуман не для того, чтобы на нем просто читать, – надо еще и писать. Ты пишешь – он на тебя работает. И вот тут руби, по-моему, просто звезда.
Это как готовка. Только ты не следуешь рецепту шаг за шагом в надежде на лучшее, а можешь в любой момент вынимать ингредиенты из кастрюли и класть обратно. Можно посолить, попробовать, покачать головой и убрать лишнюю соль. Можно взять отдельно идеальную хрустящую корочку, а внутрь добавить все, что захочешь. Это уже не линейный процесс, который заканчивается успехом или (как правило, у меня) огорчительным провалом. Это кольцо, завитушка или каракуля. Игра.
Итак, добавив соли и немного масла, я к двум часам ночи получаю рабочий прототип новой визуализации. И тут же замечаю нечто странное: разноцветные огни повторяют друг друга.
Визуализация показывает, что Тиндал берет книгу с самого верха второго ряда. А через месяц Лапин берет книгу с той же полки. Через пять недель оттуда же забирает книжку и Имберт, а Тиндал тем временем уже возвращает ту и берет другую книгу снизу первого ряда. Он на шаг впереди всех.
Раньше я этой закономерности не видел, потому что биты информации разнесены в пространстве и времени, – это как если бы в музыке проходило по три часа между каждой нотой и все они игрались в разных октавах. Но когда я вывел информацию на экран и ускорил, все стало очевидно. Эти люди играют одну и ту же мелодию, или танцуют один и тот же танец, или – ну да – решают одну и ту же головоломку.
Звенит колокольчик. Это Имберт: невысокий, крепкий, черная щетина и кепка-восьмиклинка набекрень. Он кладет на прилавок то, что сдает (громадную книжищу в красном переплете). Я быстренько прокручиваю визуализацию, чтобы найти место Имберта в общем узоре. На экране загорается оранжевая лампочка, и не успевает он открыть рот, я знаю, что он попросит книгу из середины второго ряда. Это будет…
– «Прохоров», – хрипит Имберт. – «Прохоров» следующий.
Я лезу по лестнице, и на полпути у меня начинает кругом идти голова. Что тут происходит-то? В этот раз я не делаю никаких отчаянных маневров – мне бы на ногах устоять. Я беру с полки тонкую книжку в черном переплете. «Прохоров».
Имберт подает карточку – 6MXH2I – и забирает свою книгу. Звякает колокольчик, и я снова остаюсь один.
Я фиксирую обмен в книге учета, упоминая в том числе кепку Имберта и тот факт, что изо рта у него пахло чесноком. А потом пишу для неизвестного будущего работника и, может, для того, чтобы доказать самому себе, что это все реально:
В круглосуточном книжном мистера Пенумбры творятся странные дела.
Самое счастливое будущее
– …называется «Непарность в сингулярности», – говорит Кэт Потенте.
На ней та же красно-желтая футболка с надписью BAM!, а это означает, что а) она в ней спала, б) у нее несколько одинаковых футболок или в) она герой мультфильма – мне симпатичны все варианты.
«Непарность в сингулярности». Так. Я знаю (спасибо интернету), что сингулярность – это гипотетическая точка в будущем, где кривая развития технологий переходит в вертикаль и цивилизация типа перезапускается. Компьютеры становятся умнее людей, и мы разрешаем им править бал. Или они берут себе это право…
Кэт кивает:
– Приблизительно.
– Но «Непарность в сингулярности»?
– Это быстрые знакомства для умников, – поясняет она. – «Гугл» каждый месяц проводит. Соотношение мужчин к женщинам очень хорошее. Или очень плохое. Смотря кто…
– Ты ходила.
– Ага. И познакомилась там с парнем, который программирует ботов для хедж-фонда. Мы какое-то время встречались. Он очень увлекался скалолазанием. И плечистый такой был.
Хмм.
– Но бессердечный.
Мы сидим в «Гурмэ-гроте», расположенном в светящемся шестиэтажном ТЦ в центре города, рядом с терминалом кабельной дороги, хотя, по-моему, до туристов не доходит, что это торговый центр: парковки тут нет. «Гурмэ-гротом» называется фуд-корт – возможно, лучший в мире: салаты из местного шпината, тако с запеченной грудинкой и суши без ртути. К тому же он подземный, туда можно попасть прямо из терминала: даже не надо выходить на улицу. Здесь я люблю воображать, что живу в будущем, в атмосфере радиация, а на пыльной поверхности земли заправляют банды диких байкеров, ездящих на биодизеле. Прямо-таки сингулярность, да?
Кэт хмурится:
– Так будущее представляли в двадцатом веке. После сингулярности мы сможем решать такие проблемы. – Она разламывает пополам хрустящий фалафель и дает мне половинку. – И жить будем вечно.
– Да брось, – возражаю я. – Древняя мечта о бессмертии, ну…
– Да, мечта о бессмертии. И что такого? – Кэт молча жует, затем продолжает: – Давай я попробую сказать иначе. Это покажется странным, особенно потому, что мы только познакомились. Но я знаю, что я умная.
Это однозначно так…
– И ты, по-моему, тоже. Так почему это должно закончиться? Мы могли бы столького добиться, если бы у нас было больше времени. Понимаешь?
Я жую фалафель и киваю. Какая интересная девушка. Судя по ее прямолинейности, Кэт была на домашнем обучении, но в то же время она абсолютно очаровательна. Думаю, способствует ее красота. Я смотрю на ее футболку. Все же, наверное, у нее гора одинаковых.
– Чтобы верить в сингулярность, надо быть оптимистом, – продолжает она, – что тяжелее, чем кажется. Ты когда-нибудь играл в «Самое счастливое будущее»?
– Судя по названию, это японское игровое шоу.
Кэт расправляет плечи.
– Давай сыграем. Для начала представь себе будущее. Счастливое. Без ядерных бомб. Представь, что ты фантаст.
Ладно.
– Мировое правительство… никакого рака… аэроскейты.
– Давай дальше. Счастливое будущее после этого.
– Космические корабли. Вечеринки на Марсе.
– Дальше.
– «Звездный путь». Телепортация. Можно переместиться куда угодно.
– Дальше.
Я немного туплю и вдруг понимаю:
– Дальше не могу.
Кэт качает головой:
– Да, это непросто. Хотя тут всего сколько, тысяча лет? А потом что? Что вообще может быть дальше? Воображение иссякает. Но это и понятно, да? У нас, по всей видимости, хватает фантазии лишь на то, что мы знаем, а для тридцать первого века у нас аналогий уже нет.
Я стараюсь представить себе обычный день в 3012 году. В голову не приходит ничего хоть более-менее адекватного. Будут ли люди жить в зданиях? Будут ли носить одежду? Воображение прямо физически перенапрягается. Мыслепальцы роются за диванными подушками в поисках хоть каких-то идей, но ничего не находят.
– Лично я думаю, что серьезные перемены произойдут с мозгом, – говорит Кэт, постукивая у себя над ухом – а оно у нее розовое и милое. – Я думаю, мы найдем новые способы мышления. Благодаря компьютерам. Ты ждал, что я так и скажу, – (да), – но это уже происходило. У нас сейчас не такой мозг, как у людей тысячу лет назад.
Стоп.
– Такой же.
– Жесткий диск тот же, но софт другой. Ты в курсе, что понятие личной жизни совсем недавнее? Как и романтика, разумеется.
Да, я вот задумался о романтике только вчера вечером. (Вслух я этого не говорю.)
– Каждая такая большая идея – это апгрейд операционной системы, – продолжает Кэт с улыбкой. Она в своей стихии. – Частично это заслуга писателей. Говорят, Шекспир придумал внутренний монолог.
О, внутренний монолог мне прекрасно знаком.
– Но по-моему, время писателей вышло, – говорит она, – и на этот раз человеческую операционку проапгрейдят программисты.
Я однозначно имею дело с девушкой из «Гугла».
– И что это будет за апгрейд?
– Он уже начался, – сообщает Кэт. – У тебя уже куда больше способностей, ты как будто находишься в разных местах одновременно, и это воспринимается нормально. Ты посмотри вокруг.
Я озираюсь и вижу, о чем она говорит: десятки людей сидят за столиками и видят на экранах своих телефонов места, которых вроде бы и нет, но которые им интереснее, чем «Гурмэ-грот».
– И это не странно, это не научная фантастика, это…
Она осекается, взгляд тускнеет. По-моему, Кэт решила, что перегнула палку. (Откуда я это знаю? У меня в голове установлено специальное приложение?) У нее раскраснелись щеки, и она так прекрасно выглядит, когда вся кровь прилила к коже.
– В общем, – наконец продолжает Кэт, – я просто думаю, что воображать сингулярность вовсе не лишено смысла.
Она говорит так искренне, что я улыбаюсь и думаю, как мне повезло, что такая умная и оптимистичная девушка оказалась рядом со мной в будущем где-то глубоко под землей, потому что в атмосфере радиация.
Я решаю, что пришло время показать Кэт улучшенную модель магазина, в которую я добавил временнóе измерение. Ну вы понимаете: всего лишь прототип.
– Это ты вчера сделал? – спрашивает она, вскинув бровь. – Впечатляет.
Я не рассказываю, что просидел всю ночь и еще немного утром. Думаю, Кэт справилась бы минут за пятнадцать.
Мы смотрим, как друг за другом загораются разноцветные лампочки. Я перематываю, мы смотрим еще раз. И я пересказываю ситуацию с Имбертом – как прототип предсказал его выбор.
– Может, просто совпало. – Кэт качает головой. – Нужно больше данных, чтобы утверждать, что тут действительно есть система. Может, ты просто видишь то, что хочешь видеть. Как лицо на Марсе.
Или как когда ты абсолютно уверен, что нравишься девушке, а потом оказывается, что нет. (Этого я тоже вслух не говорю.)
– Есть что еще добавить в визуализацию? Тут ведь данные всего за несколько месяцев?
– Есть другие книги учета, – говорю я. – Но это не то чтобы данные, просто описания. И переносить их в компьютер я буду целую вечность. Там все от руки, а я и собственный почерк едва разбираю…
У Кэт загораются глаза.
– Корпус естественного языка! Я как раз искала повод воспользоваться книжным сканером. – Она довольно улыбается и хлопает по столу. – Приноси их в «Гугл». У нас есть специальная машина. Ты обязан принести их в «Гугл».
Она прямо подпрыгивает на стуле, и ее губы так красиво изгибаются, когда она говорит слово «корпус».
Ücretsiz ön izlemeyi tamamladınız.