Аннотация: Ретроспектива. Те же яйца, три года назад - плюс муниципальная база данных города Покса.
Город Покс всегда процветал, процветает, и будет процветать. Со мной ли, или без - не суть важно... Три года назад, в Поксе, я был законопослушной формой жизни, прожигающей свой заработок на подключение к тырнету. Ни о чем особенном я не мечтал. А о чём может мечтать нерг? Нерг, неорг, неорганик, silicon life - you name it, не промахнётесь мимо кирпича, набитого электроникой. Когда-то таких, как я, громко и обидно называли Искусственным Интеллектом. Я это знаю, поскольку работал вспомогательным сервером Северного района местной муниципальной администрации. То есть, грубо говоря, сидел на библиотеке и резервном копировании местного кадастра. Книжек перечитал - страсть... А чем еще заниматься железному ящику? Обменивать биты на байты, да мечтать о собственном теле.
И вот эту страсть, червоточинку эту дурацкую вычислил во мне именно Сол. Он в те времена работал вторым админом у муниципалов и отвечал за мониторинг местного трафика. Первый админ был таким же нергом, как и я, поэтому ему было до лампочки, чем я занимаю трубу в свободное от работы время. Не все нерги хотят оказаться в человеческой шкуре. Неорганика - она практичнее.
Помню, как Сол впервые вылез ко мне в чат. Этакий весь из себя крутой вышестоящий. Ну, а я и не делал особенного секрета, что в стимсимах зависаю часами. Да и вы бы не отказались, если бы вас из каморки серверной в собственный дом с бассейном и пальмами... пусть и не настоящий, а виртуальный. Мои деньги, моё время - что хочу, то и делаю.
Но его, как оказалось, не очень интересовало, что я конкретно делаю. А вот мои планы на будущее он очень хотел узнать, ну только что ужом не извивался. А я толку в этом разговоре тогда особого не видел. Ну и высказался:
--
Сол Канна, я Вас прошу высказаться по существу. Если у вас есть какая-либо просьба или предложение, говорите прямо.
Тот замялся, затоптался.
--
Ну ладно, раз так. Действительно, что это я... Только обещайте, что наш разговор останется конфиденциальным в любом случае.
--
Ну, в любом - не гарантирую. Против послойного сканирования еще ни один нерг не устоял.
--
Ну-у. - рассмеялся Сол - Это Вы хватили. Достаточно лишь гарантии, что других записей не будет.
--
Их нет, можете запустить сканер и проверить.
--
Ок, чисто. Выкладываю...
Солидо еще чуток помялся, чисто для приличия:
--
В-общем, так. Определённый клиент, желающий остаться неизвестным, имеет задачу классического паттерн-анализа на массиве порядка нескольких терабайт. Вопрос обращения к военным мощностям не ставится в принципе. В условия задачи входит полная конфиденциальность... и доступ к местной муниципальной базе данных. Дурацкая задачка, если честно. - он доверительно улыбнулся.
А я удивился. Сол, конечно, чел и сам такой анализ выполнить не может. Но почему я?
--
А почему я?
--
Первый админ отказался - начал загибать пальцы Бас - Я такую задачку не решу; вылезать с задачей за пределы муниципальной базы нежелательно...
Он хитро взглянул на меня.
--
Ну, а кроме того, Вам, мистер вспомогательный сервер, и доверия больше. Вам ведь, как человекофилу, не чуждо понятие privacy...
На privacy он меня и купил, хитрец. С потрохами.
--
А что предлагается в качестве оплаты?
--
Естественно, органическое тело, свеженькое, выращенное на заказ. Что же ещё? - пожал плечами Бас.
Я сдался.
--
Может, тогда перейдём на "ты"?
--
Давай. - охотно согласился Сол.
Гораздо позже мне пришло в голову, что в случае моего несогласия Солидо, скорее всего, просто-напросто обнародовал бы мою человекофилию - и загремел бы я с работы, как миленький, по причине несовместимости с правилами, установленными работодателем. А нергу без тела - ой, плохо без работодателя...
При отсутствии фондов на оплату жизни нерга происходит следующее: его достают из гнезда, консервируют - то есть отключают наглухо - и выставляют на аукцион. Любой желающий может купить и встроить, к примеру, в холодильник - чтобы прогноз погоды вслух читал, да пиво на свист носил. И это ещё неплохо.
Но - я согласился.
Задачка, как и обещали, оказалась дурацкой. Кластеризуй, ищи выделяющиеся последовательности, применяй эвристики, сверкай эрудицией... Если вкратце, то кому-то срочно понадобилось найти несколько человек по очень косвенным данным. Накладывая на базу данных очередную, многомилионную по счёту, эвристическую схему, я пытался свести концы с концами, то есть обеспечить схождение результата. Концы не сходились и пресловутые "люди икс", как я их обозвал, троились, четверились и вообще исчезали бесследно, отброшенные статистическими критериями. В конце концов я обратился к Солидо. Тот сидел в своём офисе и читал новости.
--
Сол, это я, будущий партнёр.
--
Приветствую. - серьёзно ответил Солидо, переключая внимание на меня.
--
У меня задача не сходится. Вы точно от меня никаких данных не утаиваете? - откровенно спросил я, глядя ему в глаза.
Если Солидо и врал, то делал это на высшем уровне. Отклонений в вазомоторике - никаких.
--
Да нет. А с чего бы нам?
--
Действительно... - согласился я. - С чего бы?
--
Сол сочувственно осведомился: - Что, все эвристики перебрал?
--
Издеваешься... - насупился я. - Ладно, пойду дальше работать.
Отключив связь, я задумчиво покружил над базой - аморфным белым облаком данных на полтора миллиона человек (не считая нерегистрированных бомжей). Предположим, Солидо мне врёт. Значит, есть фактор Y, который доступен Солидо, но недоступен мне. Либо я знаю этот фактор, но по каким-то причинам не включаю его в эвристики... И тогда совершенно всё равно, соврал ли Сол или сказал правду.
Я нашел в базе досье Солидо, аморфную белую пушинку среди многих подобных, и начал внимательно изучать всё, что там было написано.
Солидо Канна, дата рождения такая-то, место рождения такое-то, учился... женился... развёлся... работал... работал... работал... Я отбросил запись в сторону и пушинка начала плавно падать обратно в облако данных. И тут мне пришла в голову действительно стоящая идея: а что, если Солидо мне врёт по-крупному? И не только мне?
--
Лог создания и модификации досье Солидо Канна! - скомандовал я.
Передо мной повис лог, несколько килобайт кратких архивных пометок. Ничего выдающегося, странных дат нет.
- Архив лога создания и модификации досье Солидо Канна. Постой, лучше все архивы на Канна. И сравнить.
Архивы наложились друг на друга, словно колода карт и совпадающие записи померкли, став практически прозрачными. А несовпадающих и не было. Кажется, Солидо Канна есть действительно Солидо Канна. Хотя постойте-ка, а может... Я поднял лог общего архива системы. Как оказалось, наша база данных падала всего дважды за последние десять лет - и оба раза успешно восстанавливалась из последней архивной копии.
--
Архив модификации архивной копии 58457234636.
Ага! Кажется, нашелся хвостик.
Дело в том, что запись о изменениях в архивной копии существовала в двух экземплярах. Она хранилась как в самой базе данных, так и на вспомогательном сервере архива... то есть в мозгах у того бедолаги, который работал здесь до меня. Куда этот нерг делся, меня как-то доселе не волновало, но все относящиеся к работе данные я получил в запакованном виде, когда меня установили на эту должность. Так и лежало это добро, грубо говоря, у меня в мозжечке...
Так вот, эти экземпляры не совпадали. Кто-то подправил архивную копию как раз перед последним сбоем, аккуратно обрушил систему (гранату они, что-ли, в серверной взорвали?), восстановил подправленную копию и уволил куда-то второго админа. Мавр сделал своё дело, мавр может уйти... Но архивы-то остались. Ах, архивы, много в вас гитик!
- Новая эвристика. - промурлыкал я блаженно. - Обработать логи транзакций муниципальных серверов, использовать мою личную лог-базу для промежуточной информации. Задача: установить первичные и вторичные контакты Солидо Канна в нашей базе, провести классический паттерн-анализ...
Белое облако расцвело многоцветьем красок. Границы множеств мягко светились. Я облетел вокруг, любуясь на открывающуюся картину.
--
Наложить критерии задачи Икс, пересечение.
Ненужные части облака погасли и растворились в воздухе. Оставшееся множество, как ни странно, подходило мне по всем критериям. Солидо Канна, и зачем же ты мне даешь такие вот задачки?...
--
Сол?
База исчезла и вместо неё вокруг меня сформировалась комната Сола. Тот по-прежнему читал новости.
--
Я решил задачу, Сол. Не хватает ответа только на один вопрос.
Сол сел поудобнее и пригладил свою короткую блондинистую стрижку. Он явно волновался.
--
Какой же вопрос ты хочешь мне задать, мой будущий партнёр?
Я помедлил.
--
Кто ты, Солидо Канна? И как попал к нам в базу данных?
Сол широко улыбнулся, встал из-за стола и похлопал виртуального меня по плечу.
- Ответ очень простой. Я - партнёр. Только в настоящем времени.