Записки задротика: Фреймворк Всевластия
Арсений Шувалов
Ещё одна история Интернет-гика, который в процессе работы над весьма заурядным и бесполезным, интересным лишь ему одному проектом неожиданно получает в свои руки ключ к тайнам Мироздания. Казалось бы, при чём тут Настенька…
Благодарности от автора
Посвящается памяти двух Стивенов, с которыми мне посчастливилось пожить на одном историческом отрезке и которые смогли произвести революцию в моём опыте использования электронных устройств:
Стивену Коулу Клини (Клейни) (1909 – 1994)
Стивену Полу (Стиву) Джобсу (1955 – 2011)
Также выражаю респект всем авторам и участникам сериала «Чёрное зеркало».
Отдельный трибьют моим коллегам – по библиотечной работе и вообще. Ну, и тем, кому тамбовский волк – коллега, я тоже безмерно благодарен: без вас бы данное произведение уж точно не появилось!..
Спасибо за поддержку также всем тем, кто тепло принял первые «Записки задротика».
Несколько вводных слов для читателей
Это не сиквел основной сюжетной линии «Записок задротика», и даже не её приквел. Конкретное время действия здесь вообще роли не играет. Впрочем, самого действия как такового тоже почти что не наблюдается, да и сама привязка к истории о Настеньке в меру условна (хотя, надеюсь, вам понравится такая сюжетная арка). Тем не менее настоятельно рекомендуется к прочтению всем, кому уже полюбились «Записки», а также тем, кто предпочитает более «твёрдую» жанровую основу различным не в меру сказочным сюжетам. Если кому-то временами может и показаться нелегко всё это переварить, то поверьте: в процессе написания я сам чувствовал себя ещё хуже.
\*
Всё не то, чем кажется… Даже я вчера казался себе не тем, кем кажусь сейчас и кем буду казаться завтра.
Именно таким был мой статус ВКонтакте (или правильно всё же – во ВКонтакте?) до сегодняшнего дня. Отныне я больше не буду ни казаться кем-либо, ни… просто не буду.
Ну, то есть сам-то я давно подозревал, что меня просто нет, а всё, что со мной происходит, всего лишь мерещится… кому-то там другому.
Готов доказать это всем желающим)) Где свидетельства моей деятельности в том же Интернете? Их почти что нет. Все мои контакты с внешним миром тоже весьма ограничены. Встретить меня случайно – вообще редкая удача (вот недавно кое-кому крупно повезло). Согласитесь: вполне типичный случай для чьего-то дурного сна…
А может, никакой жизни на Земле и вовсе давно нет, и я, возможно, единственный уцелевший осколок от снэпшота коллективного разума, отправленного некогда во всемирное информационное поле отчаявшимся умирающим человечеством?..
Единственное, что обнадёживает при подобном варианте развития событий, так это то, что раз уж действительно суждено было уцелеть лишь слепку разума такого вот конченого неудачника, как я, стало быть, человечество и впрямь было обречено уже изначально, в силу самого факта своего существования… Потому что моей собственной жизни – или тем жалким потугам на неё, что выпали на мою долю – в скором времени придёт конец.
Я сам так решил для себя – вполне осознанно и непоколебимо. К чему продолжать множить страдания в мире – своём ли, или чужом? При всём при этом я всегда был категорически против суицида в любой его форме. Но его и не будет. Сегодня вечером я просто инициирую процедуру своего стирания из реальности – окончательного и бесповоротного. Согласитесь, это будет лучшим и на редкость изящным доказательством истинности моей теории (то есть… гипотезы, конечно же! Всё время забываю, что теории – это у Эйнштейна или там Дарвина, а моей до столь громкого эпитета ещё расти и расти).
Кроме того факта, что испокон веков экспериментаторы в интересах науки и силясь подтвердить собственную правоту, ставили опыты на себе лично, от данного действия никто не пострадает ещё и по другой причине: моё исчезновение пройдёт практически незаметным для всех – просто в силу того, что, как я и упоминал, меня и раньше вообще мало кто замечал. Стало быть, и моё отсутствие останется столь же незамеченным… Хотя, строго говоря, поскольку я окажусь стёртым не только из пространства, но и из времени, последнее утверждение будет справедливым для любого из людей. Однако же именно в моём случае, ввиду вышеназванных причин, даже изменённая – вследствие моего изъятия из неё – реальность будет настолько незначительно отличаться от первоначальной, что поистине этими изменениями можно пренебречь во благо науки.
Хах, спросите вы, а что мне-то с того, что человечество узнает о моём открытии, если меня самого уже к этому времени не будет и, следовательно, я никак не смогу этому порадоваться? Да и останутся ли вообще какие-либо свидетельства о самом изобретении, если из реальности и в самом деле окажутся стёртыми все прежние следы изобретателя? Что ж, я позаботился и об этом. Просто в нужный момент сработает триггер процесса, и я самоустранюсь, а вот детище моё по идее это не должно будет затронуть ввиду веерности данного процесса. Что же до меня самого, то, честно говоря, меня вообще всегда мало занимал вопрос собственного дальнейшего существования в чисто житейском плане, как то – обзаведусь ли я женой, заведу ли впоследствии детей, или же другой какой живностью обзаведусь. Какое это всё имеет значение в глобальном масштабе?.. Мне искренне жаль всех тех недоумков, кто полагает, будто их собственный генетический код по каким-либо причинам настолько важен для Вселенной, что его надо непременно сохранить и передать будущему человечеству. Разве готов согласиться кто-нибудь из вас с тем неоспоримым фактом, что ваша собственная уникальная и неповторимая личность – всего лишь одна из необозримого множества бесконечно перебираемых вариантов на вселенском квантовом компьютере, случайный узор на паутине реальности? Той реальности, чья единственная цель состоит именно в бесконечном переборе вариантов с целью нахождения наилучшего для своего дальнейшего усложнения и развития.
Ещё Эйнштейн, кажется, заметил однажды, что Бог не играет в кости. Конечно, не играет – он просто перебирает варианты. Да и не Бог это в привычном понимании, а лишь конечный автомат по перебору всех возможностей. Машина Тьюринга, если вам так угодно, – едва ли не самое примитивное устройство, которое только можно представить, и тем не менее теоретически обладающее поистине безграничными возможностями. Правда, сами эти возможности заложены исключительно в программе, по которой работает машина и об истинной цели и смысле которой сама машина, что называется, ни сном ни духом… Вот и с нашей вселенской машиной в общем виде всё обстоит так же – с той лишь разницей, что она изначально работает по самоусложняющейся программе, но при этом всё так же не догадываясь о её истинной сути.
Да и в чём она, эта суть? В постоянном совершенствовании и развитии мира? Но всё это лишь следствие перманентно запрограммированной тенденции к самоусложнению – не более того. Кстати, в применении к людям это очень наглядно можно показать. Вот кому-то из нас кажется, будто он весь такой из себя незаурядный и талантливый, что ещё немного, и он сделает нечто настолько выдающееся, что этим навсегда прославит собственное имя и изменит мир к лучшему.
Признаться, я и сам раньше так думал – старался фиксировать разные так называемые «гениальные» озарения своего межушного ганглия в надежде, что они тоже останутся в веках… Считал именно это истинным смыслом своего во всём прочем совершенно никчёмного существования. Сетовал на то, что всякого рода облачные хранилища так поздно вошли в мою жизнь, вследствие чего мне уже никогда не вернуть некоторых своих ранних потуг на креатив, навеки сгинувших в пучине безвременья вместе с носителями информации, где всё это было помещено. До чего же это глупо выглядит сейчас, когда я наконец прозрел истинную суть вещей!.. Вот ведь даже если, скажем, меня прямо сейчас сразит смертельный приступ, а жёсткий диск моего компьютера столь же внезапно накроется, похоронив под собой весь массив уже отправленных в «облако» данных, которые всё равно без меня никто не сможет расшифровать – что с того?.. Вселенная всего лишь внесёт необходимую поправку, и спустя какое-то время найдётся другой подходящий вариант для дальнейшего самоусложнения! А ведь все эти так называемые «гении» искренне уверены, что всё то, чего они там смогли нафантазировать – это исключительного рода их собственная заслуга! Ну да, ну да…
Так что уже совершенно неважно – увенчается ли моя сегодняшняя затея успехом, или же нет. Просто самому же, как никак, а всё же интересно, что из этого получится! Помнится, когда-то я ровно таким же образом видел единственную цель своей дальнейшей жизни в том, чтобы дождаться новых «Звёздных войн» – ведь, как никак, интересно, что из этого получится… Кончилось это всё тем, что, досмотрев Восьмой эпизод, я уходил из кинотеатра с невесёлыми мыслями, сводящимся главным образом к тому, как всё-таки жаль, что я не умер уже давно, а сейчас мне это уже при всём желании не развидеть.
Так что хватит с меня всех этих сантиментов – новых «Аватаров» я ждать уж точно не буду, да и что там Disney вообще и Марвел в частности припасли ещё для нас, мне теперь так же параллельно!.. Пусть лучше для меня Disney всегда будет ассоциироваться с воспоминаниями из детства – Микки-Маусом, различными Даками и Макдаками, феей в зелёном платье из заставки мультиков, про которую я отчётливо помню, как она пролетала над рисованным замком и ставила своей волшебной палочкой жирную точку над «i» в названии тогда ещё всего лишь мультипликационной компании – а сейчас все пытаются уверить, будто последний факт никогда не имел места в действительности, приводя в доказательство имеющиеся на YouTube записи диснеевских заставок. Что ж, видать, я всё же не первый, кто балуется здесь с изменением реальности…
Правда, на сей раз изменения коснутся не какой-то дурацкой феи, а вполне конкретной личности, которая сама уже никогда не узнает, чем кончится та или иная история (нужное подчеркнуть), о чём будут новые истории, как теперь перепишутся прежние. Но, по большому счёту, всё это уже совершенно не имеет значения. В конце концов, всегда было и будет существовать лишь очень ограниченное количество возможных сюжетов, а всё остальное – не более чем их бесконечные комбинации. Оттого нам и кажется столь часто, что всё это мы уже где-то раньше видели и читали, даже если на самом деле это и не так… (А, по крайней мере, в случае новых «Звёздных войн» всё это и на самом деле так – можете даже не сомневаться.) То же и с нашей жизнью в целом – все эти многочисленные так называемые «дежавю» – точно такие же следствия строго ограниченного количества сценариев, проигрываемых жизнью. Проигрываемых по бездушной программе на вселенской машине, столь же отстранённой и безучастной ко всем, как и окружающие меня люди ко мне…
\*{2}
Как дошёл я до жизни такой, спросите вы? Что ж, придётся начать издалека.
Дело в том, что по воле обстоятельств на протяжении последних нескольких лет я вынужден был заниматься разбором электронных копий заполняемых клиентами бумажных анкет с внесением их результатов в соответствующие базы данных. Работа изначально кропотливая и неблагодарная, которая могла бы свести с ума любого, если бы не одно обстоятельство…
В какой-то момент процесс изучения повторяющихся, типовых частей в различных образцах анкет сподвиг меня на попытку создания системы, способной самостоятельно извлекать пользовательские данные из этой мешанины разнообразных символов. Ну, не совсем на полном «автомате», но всяко лучше, чем вручную разбирать и впечатывать данные, согласитесь же.
Первая такая программка за моим авторством была ещё исключительно самописной и кустарной – и я, честно говоря, до сих пор толком не берусь объяснить, почему же она в большинстве случаев всё же справлялась со своей задачей. Затем я случайно нашёл на необозримых просторах Интернета подходящий мне фреймворк – ну, то бишь, библиотеку из подпрограмм для выполнения всех нужных операций. В основе использования данного фреймворка лежали давно привычные всем компьютерщикам регулярные выражения, которые позволяли создавать здесь основанные на них шаблоны и, наконец, готовые определения требуемых по тексту экстрактов, то есть тех областей этого самого текста, из которых следовало извлечь значения для уже описанных шаблонов, заменяя их на конкретный текст.
Как бы это попроще сформулировать? Ну, многие из вас, наверное, видели так называемые log-файлы отчётов, выглядящие как-то вот так:
127.0.0.1 – – [10/Jun/2009:10:00:00 +0000] "GET /example.html HTTP/1.1" 200 – "http://example.com" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
Даже неискушённому пользователю может быть вполне очевидно, что здесь по какому-то сетевому адресу (в данном случае, локальному) в определённый момент времени происходит обращение к внешнему ресурсу с целью извлечения каких-то там данных с использованием определённого вида браузера и операционной системы. Так ведь? И подобные строчки, из которых можно выделить чёткую структуру, поддающуюся декомпозиции (разделению на отдельные смысловые структуры), могут повторяться в файле отчётов сколь угодно много раз. Технический специалист изучает их, извлекает полезную информацию и делает на её основе нужные выводы о работе конкретных программ, системы, действий пользователя и т.д.
Собственно, в природе существует необозримое множество средств для синтаксической декомпозиции подобных структур. Подгоняя один из подобных фреймворков под свои нужды, я лишь немного расширил для себя его функционал, чтобы позволить выделять из произвольного текста такие вот упорядоченные структуры неограниченное число раз. А промежутки между ними могут быть заполнены какими угодно символами, с точки зрения программы представляющими собой простой мусор.
Кстати, про себя я ещё удивился тогда, почему настолько простая идея мало где использовалась раньше – ну, по крайней мере, я не смог найти упоминаний о такого рода деятельности, да и отзывов на мою разработку почти что совсем не было. Попался, правда, один какой-то странный парень, приславший мне электронное письмо с благодарностями и уверявший, что отныне в его библиотеке все теперь могут разбирать оглавления книг с помощью такой вот фиговины. Про себя я лишь удивился столь необычной сфере применения моего метода, и стал думать дальше над тем, что бы с этим ещё можно было сделать.
Новая идея казалась уже чем-то более безумным – я начал разрабатывать средство, которое бы уже способно было самостоятельно определять все упорядоченные и повторяющиеся структуры в произвольном тексте. Здесь, конечно, готового стандартного решения проблемы ещё не существовало – пришлось подключать нейронные сети, которые в общих чертах представляют собой приближённые модели работы нашего собственного мозга. Ну, до человеческих мозгов во всём многообразии их качеств нам всем ещё далеко, конечно, – в лучшем случае, на данный момент мы можем подобным образом имитировать осмысленную деятельность какого-нибудь таракана, не более того. Но, как говорится, и на том спасибо.
И тут в процессе работы меня вдруг осенила новая догадка: а что, если развитие самой нашей жизни проходило примерно по такому же сценарию? Ну, то есть существовала где-то изначально вот такая же программка, которая в определённый момент смогла выделить осмысленные последовательности ДНК-кода будущих первоорганизмов из первичного хаотичного набора символов, а затем организовать их в нужные структуры? Затем, в процессе усложнения собственного функционала, эта программка упорядочивала исходный код во всё более организованные структуры, пока не появился… я, сумевший наглядно объяснить, как всё это работает.
\*{3}
И вот тут-то до меня, наконец, дошёл истинный смысл, заложенный в идее так называемых «регулярок» (так мы на своём жаргоне именуем эти самые регулярные выражения).
Если вы никогда не имели раньше дела с подобными конструкциями, то, пожалуй, не надо и начинать. Слишком уж тяжеловесными и неудобочитаемыми выглядят они для непосвящённых, чтобы вычленить из них для себя какую-либо полезную информацию.
Хотя, пожалуй, об одной самой главной фишке всё же расскажу. Это так называемая звезда Клини (*), ставящаяся после нужной нам последовательности любых символов и означающая, что данная последовательность может присутствовать в нашем тексте в данном конкретном месте любое произвольное число раз, в том числе и ни одного. Гениальная штука, по сути открывающая путь к самопорождению повторяющихся структур. Получила название в честь известного американского математика и логика Стивена Клини, который, собственно говоря, сами эти регулярки и придумал.
А ещё интереснее тот факт, что этот Клини (который, кстати, всё же Клейни, если уж совсем придираться, но так уж повелось в России его величать ещё с первых переводных изданий его научных трудов) работал примерно в то же время и над теми же проблемами, что и Алан Тьюринг и Курт Гёдель. Если вы ещё не слышали о последних двух товарищах, то спешу поведать, что первый из них запомнился не только расшифровкой немецких кодов шифровальной машины «Энигма» во время Второй мировой войны (кстати, сама эта история не столь давно даже обрела свою киноэкранизацию с Камбербэтчем в главной роли), но и само?й умозрительной концепцией вычислительной машины. Что же до Гёделя, то он отметился столь же впечатляющими теоремами о неполноте, суть которых на обывательском языке можно было бы выразить как идею принципиальной невозможности формализации произвольных вещей посредством каких-либо логически непротиворечивых систем. То есть существуют вещи, которые математики не смогут полностью сформулировать на своём языке, а я не смог бы написать для них соответствующую программу, и это строго доказано.
В общем, вполне очевидно, что два этих товарища работали над вещами настолько высокого уровня абстракции, что неудивительно и то, что у обоих из них под конец жизни слегка поехала крыша. Тьюринг вообще принял яд, которым было наполнено откушенное им яблочко, – будучи не в силах справиться с фактом общественного неприятия собственной гомосексуальности. А Гёдель, хоть и дожил до конца 70-х годов прошлого века, но начал обнаруживать первые признаки психических расстройств ещё с 30-х.
Что же до Клини, то ему повезло больше – его сия чаша, кажется, миновала. Собственная теорема Клини тоже имеет впечатляющую формулировку: «Каждое регулярное множество является автоматным языком». Что в переводе на бытовой язык можно приблизительно выразить в виде факта о том, что любую упорядоченную структуру можно разделить на отдельные элементы посредством вычислений с использованием регулярок. Собственно, именно этим я всё последнее время и занимался.
Конечно, во всём этом построении кроется какое-то огромное противоречие. Да что там, одна большая зияющая дыра, я бы сказал. Ведь, с одной стороны, как-то могла математическим путём зародиться жизнь и столь же последовательно самоупорядочиться до всё более и более сложных структур, а с другой что? С другой стороны, очевидно, что в процессе этого каким-то образом возникли такие вещи и явления, которые просто не поддаются теоретической формализации в силу самой своей природы. Значит ли это, что всё же существует некая сила, действующая извне? Нет, тут я не хочу даже размышлять и пытаться строить какие-то глупые теории. С меня лично вполне хватило и имеющихся последствий уже проделанной работы.
Достаточно, пожалуй, уже и того, что, пребывая в постоянном процессе раздумий о подобных вещах, я даже не заметил, как потерял свою вполне официальную и даже слегка оплачиваемую работу. Дело в том, что со временем мой разум всё меньше занимала рутинная возня с документами, постепенно всё сильнее вытесняясь постоянным погружением в теоретические абстракции. И ведь всем было плевать, что своими прежними разработками я уже повысил производительность на своём родном предприятии на порядок, а все процессы, ещё как-то требовавшие человеческого участия, я осуществлял буквально «на автомате» и за считанные минуты! Нет, кого-то там безумно волновал факт того, чем конкретно я тут занимаюсь на протяжении всего оставшегося отведённого для работы времени… Короче, спорить с бюрократами и конъюнктурщиками всегда себе дороже, легче сразу со всеми распрощаться.
Но вот тогда-то, будучи предоставленным самому себе, я и начал размышлять уже о совершенно диких вещах, а именно – о личном всемогуществе.
Помните, как когда-то у Толкина Саурон ухитрился поместить всю сущность собственного могущества в одно-единственное кольцо, благодаря чему он и оставался в принципе неуязвимым довольно длительное время даже после своего физического развоплощения? Да, он сумел сковать себе Кольцо Всевластия, а потом сам же и охотился за ним. Что ж, а у меня пускай теперь будет не менее мощный артефакт – мой собственный Фреймворк Всевластия! Люди начнут им пользоваться, даже не подозревая, что где-то там в глубине заложены мои собственные закладки, благодаря которым я смогу теперь контролировать все их действия, даже навсегда исчезнув с физического плана бытия!..