Ник: Программист. Снова юзер. Продвинутый юзер (сборник)

Ясинский Анджей

Магия – это не так уж сложно. Тем более если вы обладаете системным мышлением и умеете программировать…

Обыкновенный «компьютерщик» попадает в мир, в котором ему удается применить свои способности в области, доселе такому «кощунству» не подвергавшейся. Логика и знания нашего с вами современника находят применение в ином, магическом, мире. И не просто помогают ему выжить, но делают его одним из самых могущественных магов, «первым среди равных». Чистая логика плюс компьютер и «никакого мошенства»! Если не считать Умника – надежного друга, помощника и советчика на случай самых непредвиденных ситуаций. Ну в самом деле, кто мы без друзей? И кого волнует, что он не из живой плоти, а инопланетный компьютер?

Выпуск произведения без разрешения издательства считается противоправным и преследуется по закону

© Анджей Ясинский, 2016

© ООО «Издательство АСТ», 2016

Программист

Глава 1

Ник

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

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

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

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

Глава 2

В себя я пришел от звука капающей воды. С трудом открыв глаза, попытался что-нибудь рассмотреть. Стояла сплошная темнота. Внезапно я почувствовал боль во всем теле – нервы, блин, включились. Попытался вспомнить, что произошло. Ага, похоже, меня неслабо шандарахнуло током. Что же меня испугало-то? Сжав зубы и почувствовав в них боль, я попытался пошевелить рукой. Она слабо дернулась. Передохнув немного, я продолжил попытки реанимировать мышцы. Раз-два. Раз-два. Сжать-и-отпустить. Как там учил сэнсэй? Прокачав кровь по мышцам, почувствовал себя полегче. Через полчаса удалось доползти до стены и прислониться к ней.

Тем временем я пытался понять, что же все-таки произошло. Понятно, что меня приложило током, только непонятно, как – руки были в перчатках, провода держал в плоскогубцах. Тут я почувствовал запах паленых волос и решил ощупать голову. В районе затылка тут же стрельнула боль. Волосы там обгорели. Теперь понятно, что случилось: развернувшись на звук, я невольно подался назад и впечатался затылком в оголенные провода. Обдумав это, я удивился, что все еще жив. К тому же обожженная рана на голове болит только при прикосновении. Я старался сообразить, хорошо это или, наоборот, плохо, но ничего не вспомнил.

Еще раз ощупал голову. Так, на голове нет очков, надо их найти. Особым образом свистнув, я с облегчением увидел вспыхнувший свет, резанувший привыкшие к тьме глаза, и услышал слабый зуммер. Дома я постоянно терял очки, поэтому настроил программу, реагирующую светом и звуком на определенную насвистываемую мелодию. Судя по реакции от бадди-компа, он остался цел. Это неудивительно – обычно их делали защищенными от внешних воздействий, ведь люди их постоянно носят с собой. Некоторые чудики иногда даже купаются, не снимая.

В общем, прошло еще некоторое время, пока я сумел подняться, нацепить очки и оглядеться. Сначала собирался проверить, что стало с щитком, доделать работу и вернуться в офис, а о голове позаботиться позже, не так уж сильно она и болела. Однако первый же взгляд на стену, где должен был располагаться щиток, заставил меня застыть неподвижно. Стена была пустая. Никакого щитка не наблюдалось. «Может, меня отбросило?» – подумал я и прошелся вдоль стены влево-вправо метров на двадцать. И ничего не обнаружил. Как бы сильно меня не отбросило, щиток должен быть недалеко. Однако его не было. Тут я пригляделся к самим стенам. Уже давно что-то цепляло взгляд, только я не обращал внимания. Вглядевшись, понял, что стены другие. Не поверив себе или, вернее, бадди-компу – ведь реалистичное изображение синтезировал он, – я включил светодиодный фонарь в очках, выглядевший, как яркая полоска вдоль очков. Видимое пространство уменьшилось до нескольких метров, синтез графики автоматически остановился. Чувствительности датчиков бадди-компа хватало, чтобы просканировать окружающее пространство до десятка метров в полной темноте. На основании результатов сканирования он в режиме реального времени генерировал реалистичную картинку окружающего пространства, в котором намного легче ориентироваться, чем в неверном свете маленького налобного фонарика. При наличии хотя бы слабого освещения эта граница отодвигалась дальше. Днем же комп пропускал реальную картинку через себя, а обработка изображения уже зависела от настроенной программы генерации окружающего мира.

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

Глава 3

…Я сидел у стены и пытался разобраться в ситуации. И она мне жутко не нравилась. Потерял я сознание у нас в подвальных помещениях – очнулся непонятно где. От удара током люди не переносятся в пространстве, а чаще всего тупо умирают. Остается предположить, что произошло стечение неизвестных мне обстоятельств, а удар током был только эпизодом произошедших событий. Ну, или от моих действий произошло запитывание электрических цепей в системе питания, и что-то могло включиться у нас на заводе. Завод-то был военным и жутко секретным – правда, с тех пор прошел не один десяток лет, – а что там делали наши вояки, неизвестно. К тому же имелось у меня подозрение, что он был не только заводом, но и исследовательской лабораторией, были для таких мыслей предпосылки. Место, куда я попал, походило на инопланетный космический корабль или станцию, а проведенный краткий осмотр коридоров и «рубки», как я назвал эту комнату, говорил в пользу этой версии. И то, что было обнаружено в кресле, также подтверждало ее.

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

Вот сижу теперь и думаю, что делать. Можно исследовать станцию. Пока неизвестно, что это, буду считать станцией. Но ведь можно нарваться на неизвестную опасность. Или можно сначала попробовать поковыряться в рубке, что-нибудь разузнать. Здесь тоже есть отрицательный момент: жрать-то нечего, а сколько времени займет исследование, неизвестно. И там клин, и здесь. Аппетита что-то нет особо – то ли по причине выпитой мною воды, то ли это нервы, но голода я не чувствую. И хорошо. Хотя неизвестно: или организму на самом деле ничего не требуется, или я сдохну от голода, не чувствуя его… Ладно, сделаю так: разверну тут свою компьютерную лабораторию по исследованию, налажу и, пока все будет обсчитываться, погуляю неподалеку. Хорошо хоть свой мощный субноут взял – там у меня программное обеспечение на все случаи жизни, а самое главное, аналитические разработки нашей фирмы (мои в том числе). Кстати, лингвистические программы тоже есть. К нам как-то обратился один клиент – у него помер богатый родственник, спрятавший свои сбережения так, что даже родные не могли их найти. Единственное, что умерший оставил, – листок с зашифрованным письмом, которое никто не мог прочитать. За небольшой процент от наследства (а оно было огромное) мы взялись за работу. И, что удивительно, справились с задачей. На самом деле, письмо было не зашифровано, а просто написано на одном из мертвых языков, известных всего нескольким лингвистам с мировым именем. Одним из этих ученых и был умерший. Странный юмор у человека. В общем, несколько месяцев заняла разработка программы. Естественно, на основе нашей аналитической системы и найденных в инете лингвистических алгоритмов. Пришлось даже обращаться в один институт для консультаций. Еще неделя ушла на работу самой программы. В письме, как и ожидалось, была информация о денежках этого родственника. На радостях нам еще и переплатили. Выяснилось, что родственники умершего обращались к его сотрудникам, но те категорически отказались помочь, обосновывая свой отказ просьбой почившего коллеги. Наверное, таким способом он хотел им за что-то отомстить, типа «видит око, да зуб неймет». Как потом еще выяснилось, институт покойного лингвиста два года расшифровывал этот мертвый язык, а мы справились всего за полгода. Есть чем гордиться. Теперь-то можно сказать, что у нас был суперкомпьютер, который мы сами собрали из закупленных комплектующих. Конечно, мой субноут послабее, хоть и намного мощнее бадди-компа… Как бы не пришлось тут куковать месяцы… Хорошо хоть с компьютерным питанием проблем нет: пару лет назад на рынке появились источники питания на основе радиоактивных элементов, срок службы которых обещают в десятки лет… Ладно, хватит думать, надо работать.

Глава 4

«Приснится же всякая лабудень», – подумал я, потягиваясь. Что-то не так, лежу почему-то на жестком. Открыл глаза: блин, не сон, однако. Огляделся по сторонам – ничего не изменилось: все так же скалилась мумия в кресле (я передернулся), а на полу рядом с пультом светился экран субноута. Вздохнув, я медленно встал и сделал несколько упражнений, чтобы разогнать кровь и размять мышцы. Мысленно просканировал себя. Вроде ничего не болит. Осторожно потрогал затылок. На затылке корка непонятно чего, но боли нет. Немного подумав, я достал очки, поставил бадди-комп на запись и заснял им затылок. Затем прокрутил запись. Мда… смотреть страшно. Но радует то, что рана все же заживает, видимо, вода действительно положительно действует на организм.

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

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

Через некоторое время я дошел до того места, где очнулся после удара током. Внимательно осмотрел его – вдруг со мной перенеслось еще что-то, не замеченное ранее? Кроме плоскогубцев и резиновых перчаток, ничего не нашел. Положив их в сумку – авось пригодятся, – я отправился дальше. Шел долго, по пути попадались еще двери, но открыть их я не смог. Развилок не было, по сути, другого пути вперед не наблюдалось. Это был сплошной коридор, периодически изгибающийся. Странно, что мне не попадались закрывающиеся переборки. Если станция путешествовала в космосе, то они просто должны быть – простая логика. Какой бы техника не была навороченной, всегда есть вероятность разгерметизации, и самый простой способ бороться с ней – перекрывать такие места переборками. Однако здесь их нет, или они хорошо скрыты. Судя по маршрут-карте, я прошел около километра, когда почувствовал слабое движение воздуха. Ага, похоже, выход где-то недалеко… Через несколько шагов показался тусклый свет. Завернув за угол, я попал в коридор, который заканчивался такой же дверью, какую я обнаружил и в противоположном его конце, и эта часть коридора также вся была помята – будто великан сжал ее в своих ладонях. Единственное различие: здесь не было никаких труб, а одна из стен разорвана, словно пробита копьем – через этот разрыв и сочился свет. На полу под разрывом – по колено земли или грязи. Заглянув в отверстие, я некоторое время промаргивался, привыкая к освещению, все-таки генерируемый компом свет в очках менее интенсивный. Комп показал, что толщина стенки до края входного отверстия составляет около двадцати метров. Ни хрена себе! Но, приглядевшись, я понял: на самом деле было две стенки, а между ними располагались коммуникации, трубы, переборки. Я все оценил и пришел к выводу, что пройти тут можно, но осторожно, а то ноги сломать – раз плюнуть. Диаметр разрыва увеличивался наружу, и в самой широкой внешней части составлял около трех метров. Пару метров в начале придется проползти.

Ну, что ж, вот и выход. Я связался с субноутом, чтобы узнать, как дела. Обработка информации продвигалась медленно. Сейчас выполняется только первый этап: комп пытается найти взаимосвязь между символами и рисунками, выстраивает возможные стратегии дальнейшей обработки. Чем меньше вариантов, тем лучше. В идеале – один. Ведь каждый вариант будет полностью прогоняться через остальные этапы обработки. А это время. Хорошо хоть субноут имеет гиперядерную структуру, но жаль, что нет квантового модуля. Это весьма дорогое устройство – стоит на порядок больше самого компа, – да и использовать его можно только для некоторых типов расчетов. Вот я и не покупал его, хотя деньги были. Сейчас он здорово бы мне пригодился. После того, как я ушел из комнаты, свет в ней погас, поэтому камера в субноуте показывала синтезированную картинку, наподобие той, что давал мой бадди-комп. Кстати, совсем забыл: если уж оставил субноут наблюдать за внутренней обстановкой, пусть заодно сигнализирует и об ее изменении.

Глава 5

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

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

Отдохнув, я стал подниматься дальше. Еще через час достиг вершины, перевалился через край и, перевернувшись на спину, перевел дыхание. Немного отдохнув, сел и огляделся. Вылез я на что-то вроде поляны, покрытой травой и цветами, с полсотни метров диаметром. Дальше начинался редкий лес с деревьями привычной высоты – не то что те монстры внизу. Деревья, как и цветы, незнакомые. Елки-палки, вспомнил кое-что (похоже, после удара током я стремительно глупею): у меня же внизу комп, набитый под завязку программным обеспечением и разными базами данных. Когда-то, чтобы забить практически безразмерный винт субноута, я закачал туда все информационные базы, какие нашел на сайтах у наших пиратов. Не помню, была ли там база по флоре и фауне, надо посмотреть. Связавшись с субноутом (сигнал на поляне стал еще лучше) и порывшись на винте, нашел-таки нужную базу. Через минуту запустил ее и передал изображения деревьев, цветов, листьев и того «орла», что видел раньше, на опознание. Прога замечательно отработала все экземпляры. Только вот результат я получил отрицательный. Совпадений нет. Конечно, может такое быть, что база данных неполная, но ведь должно было хоть что-то найтись! Поломав голову и не решившись делать дальнейшие выводы, я пошел обследовать место, где оказался.

Потратив часа три на обход, я выяснил следующее.

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