Страница произведения
Войти
Зарегистрироваться
Страница произведения

Древнее зло


Опубликован:
05.03.2025 — 06.03.2025
Читателей:
1
Аннотация:
Что-то оно у меня лежит и никуда не движется. Пусть тут полежит. Мистико-конспирологическая история про сингулярности Известного Космоса, очень сильно WIP. Первая глава лежит в виде рассказа с тем же названием на Author.today.
Предыдущая глава  
↓ Содержание ↓
↑ Свернуть ↑
  Следующая глава
 
 

— Или это держат в секрете?

— Это глупости, про секрет. Точнее, да, протоколы бесед с ним засекречены. Но там не больше полезной информации, чем в открытом доступе.

— А мы-то вам зачем? — не успокаивалась Алиса.

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

— Но ведь даже боги не могут проникнуть в прошлое!

— Неправда. Боги не могут менять прошлое. А проникнуть туда может, практически, кто угодно. Например, вы только что это делали. Правда, Ерема, скорее всего в воображаемое прошлое

— Но что мы там можем сделать, если ничего не можем изменить?

— Как что? Принести информацию!

— Про атом, одетый на магнитное поле? — не удержался Джереми.

— Да нет, что-нибудь по делу. Хотя, конечно, забавно будет, если именно твоя фраза про атом окажется недостающим куском головоломки.

— А почему вы сами не можете туда проникнуть?

— Резонный вопрос. Доступная мне техника страдает рядом ограничений. Нужна фиксированная точка. Без нее нельзя контролировать, куда и когда именно попадет тот, кто, собственно, проникает. И вы не справитесь с ролью этой фиксированной точки. Проще всего получится закидывать вас и следить за вами, чтобы выдернуть, если что-то пойдет не так.

— А зачем выдергивать?

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

— Но как мы будем туда проникать?

— Так же, как сейчас. Во сне. Видите, я довольно мало у вас прошу. Вы не только ничем не рискуете, вы не потратите ни секунды времени бодрствования. И даже высыпаться будете, как обычно. С физиологической точки зрения, это будет совершенно нормальный быстрый сон.

— А как для нас будет выглядеть это самое прошлое?

— В зависимости от того, как именно я вас отправлю. Фактически, в зависимости от моего понимания, как вы получите больше информации. Скорее всего, вы будете бесплотными свидетелями событий. Или, иногда, вы будете оказываться в чьем-то теле. Как сейчас Джереми в теле того человека, который ехал из Барнаула в Новосибирск. Вы, к сожалению, не получите полного доступа к его мыслям и воспоминаниям. Только к тому, что он думает и делает в данный момент. Кстати, если вы не против, можно попробовать. Собственно, я и решил пойти этим путем, потому что другими доступными мне методами я зашел в тупик. И вы меня можете из него вывести.

— Каким образом?

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

— Звучит довольно скучно, — сказал Джереми.

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

— Ну, — пожал плечами Джереми. — Давайте попробуем.

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

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

Владелец тела, возмущенно фыркнув, переключил закладку. Там были какие-то графики, круговые диаграммы и значки, все зеленые. Владелец ткнул в один из значков. Открылась простыня текста, на этот раз на нечеловеческом языке, с кавычками и фигурными скобками. Взгляд владельца тела скользил по строчкам, почти ни за что не зацепляясь, и он быстро проматывал экран за экраном, прежде чем Джереми успевал что-то понять. Он успел разглядеть строчку {"authorization.k8s.io/decision":"allow","authorization.k8s.io/reason":"RBAC: allowed by ClusterRoleBinding "view-heapster-bind" of ClusterRole "view-heapster" to ServiceAccount "heapster/kube-system""}, но она ему сказала не больше, чем фраза про ядерный магнитный резонанс из предыдущего сна.

Потом владелец тела пожал плечами и вернулся к закладке с историей про вассала герцога Чуйского.

Джереми снова очутился на поляне рядом с Алисой и незнакомцем.

— Я не знаю, — сказал он. — я ничего не понял. Кто-то где-то авторизовался...

— Да, так ничего не получится. Этот балбес ничего не заметил, а ты этот джейсон с нужной скоростью читать не сможешь. Тем более, не понимая, что ты там пытаешься вычитать. Ладно. Я не хотел с этого начинать, и надеялся вообще без этого обойтись. Давай вот что попробуем.

В руке незнакомца появилась карта памяти, похожая на ту, которую они с Алисой таскали в аркологии.

— Сейчас у тебя будет задание посложнее. Ты попадешь в тот же момент, но, когда он начнет переключать закладки, тебе надо будет вмешаться. Надо будет вставить эту карточку... В общем, тут доверься его телу, оно знает, что с ней делать. Потом надо будет его руками понажимать alt-tab, пока не попадешь на окно терминала. Там надо будет написать...

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

kubectl logs -n kube-system api-server<TAB> > /media/$USER/dream/api.log

umount /media/$USER/dream

— Понял логику, хакер? А то просто наизусть ты не запомнишь.

— Вроде, понял, — сказал Джереми. — Вывод кубкатл переназначить в файл на носителе dream, автосмонтированном из-под текущего пользователя. Потом размонтировать dream. А что означает <TAB>?

— Автодополнение. Ты не запомнишь, как под точно называется, да и я сейчас не определю. Но название начинается с api-server.

— Понятно.

— Потом достанешь карточку, и я тебя выдерну.

— Но это же изменение прошлого!

— Не совсем. Карточка и команды тебе будут сниться. Но данные на нее реально попадут. Во всяком случае, я надеюсь. Конечно, будет обидно, если окажется, что я или мы с тобой эти данные приснили. Но, не попробовав, мы это не узнаем.

— А как именно мне вставить карточку?

— Так же, как ты сам бы это делал. Не думай, что ты во сне, просто сделай это. И его тело сделает то, что нужно. Ну что, готов? Если не получится, можно будет сделать вторую попытку.

Джереми прислушался к внутренним ощущениям.

— Не знаю. Наверное.

— Ну, поехали.

Джереми снова оказался в той же кресле перед монитором. Он попытался выполнить инструкцию и действительно почувствовал в руке карту. Тело человека в кресле наклонилось, протянуло руку и что-то сделало с системным блоком под столом. Когда оно выпрямилось, Джереми протянул руку к клавиатуре. Тело само нашло комбинацию Alt-tab. Кроме браузера и нескольких окон терминала в списке ничего не было. Так же послушно тело набрало все нужные команды. Kubectl работал довольно долго, больше пары десятков секунд.

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

— А, собственно, что я мучаюсь? Я же точно так же могу приснить другой комп, сразу со всем софтом!

Он достал карту, взмахнул рукой, и ноутбук исчез. Потом он взмахнул еще раз, и компьютер появился снова, на вид точно такой же.

Незнакомец потыкал пальцем в трекпад, потом вдруг сел по-турецки, положил компьютер на лодыжки, а обе руки — на клавиатуру. Некоторое время он вглядывался в экран, потом щелкнул пальцами:

— Вот он, красавец! Мораль: не занимайтесь посторонней хренью на рабочем месте. Классический XSS с сайта, где он книжку читал.

— Экс Эс Эс? — переспросила Алиса.

— Кросс-сайт скриптинг. Ну что, теперь дело за тем, чтобы проверить это по объективным данным. Зная, откуда он пришел, это уже несложно, хотя и прошло много времени. Если подтвердится, успех операции превзошел все ожидания.

— А если не подтвердится?

— Значит, надо будет придумать что-то еще.

— А мы еще нужны? — спросила Алиса.

— Сегодня? Наверное, нет. Так вы согласны мне помочь?

— Придумать что-то еще? — уточнила Алиса.

— Может и придумать, но для начала в таких вот операциях.

— А может, вы нам покажете более широкий контекст? — спросил Джереми. — Что, вообще, по-вашему, происходит, чего они хотят, что вы можете сделать?

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

Глава 3. Путешествие второе. Начало.

В этот раз никакого Барнаула Джереми не снилось. Сон начался как-то с середины. Джереми или, точнее, тот, чьими глазами он видел сцену сидел в офисном кресле перед столом. За столом сидел благообразный дяденька с окладистой бородой и в костюме. Костюм был какой-то не офисный, слегка помятый и измазанный мелом, так что дяденька был похож на университетского преподавателя.

— У вас интересное резюме, — говорил дяденька. — Можно его так прочитать, что вы приходите в контору, а потом она разваливается.

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

— Но при этом разнообразный набор занятий и технологий. Сисадмин, девопс, высоконагруженные сервисы...

— В детстве мне ставили диагноз ADHD. Возможно, это до сих пор проявляется. Мне часто хочется чего-то нового.

— Но вам интереснее новые занятия и технологии, чем новые люди?

— Пожалуй, что так. Это плохой ответ?

— Для нас нет. Как вы относитесь к задачкам на собеседовании?

— Нормально.

— Вот задача. Есть линейный список, возможно содержащий цикл. Необходимо за линейное время сказать, есть ли цикл, используя при этом константный объем памяти.

— Линейное от размера списка?

— Да. Знаете эту задачу?

— Нет. Я бы начал с того, что сделал мапу по элементам... А, подождите, это будет логарифм, и память не константная.

— Верно. А если подумать?

— А если... нет, так не получится.

— Ну расскажите уж, что придумали.

— Не буду, это не будет работать.

— Ну, давайте порассуждаем. Чем список с циклом отличается от списка без цикла?

— У него нет конца Но это бесполезно, мы это можем выяснить только за бесконечное время.

— Верно. Еще варианты?

— У него есть элемент, на который указывают две ссылки. Но обнаружить это, не запоминая все ссылки...

— Ну, тоже разумно. Еще?

— Там есть цикл. О! Кажется, понял.

— Что вы поняли?

— Нужно запустить два указателя, один вдвое медленнее другого. Если есть цикл, они встретятся. Дважды линейно — это линейно. И память константная, как вы просили. Мне кажется, вдвое это оптимально, но, честно говоря, лень это доказывать. Или надо?

— Не надо. Скажем так, резонно. Можете это написать?

— На каком языке7

— По вашему выбору.

— Питон подойдет?

— А почему... Впрочем, это неважно. Давайте на питоне.

— На бумаге?

— Это проблема?

— Пожалуй, да. Я часто начинаю писать программу с середины, а тогда она не влезет на бумагу. А впрочем Мне же все равно типы объявлять. Давайте на бумаге.

— Вы можете комментировать, что пишете?

— Не проблема. Класс ListNode, без конструктора, два поля, Payload типа Any и Next Optional от ListNode. По уму это должен быть темплейт, но лень. Я надеюсь, логику создания списка писать не надо?

— Нет.

— Окей. def HasLoop от Optional от Listnode, возвращает булеан. Заводим два указателя, обоим присваиваем параметр, и счетчик, равный нулю.

— Зачем счетчик?

— Сейчас покажу. Итак, основной цикл. Пока первый указатель не равен нулю, перейти к следующему. Если счетчик ноль, приравнять его единице. Если счетчик один, сравнить указуемые объекты. Если они один и тот же, возвращаем true. Иначе, продвигаем второй указатель и приравниваем счетчик нулю. Вроде, все. А, еще, если выпали из цикла, надо вернуть false.

— Разве это счетчик?

— Однобитовый счетчик. Это проблема?

— Наверное, нет. Хорошо, мы обдумаем. У вас есть какие-то вопросы?

— Да. Мне что-то странное рассказали про вашу бизнес-модель. Вы берете проекты ниже рынка, а платите выше рынка. В чем подвох?

— Я не думаю, что это подвох. Мы не обычная аутсорсинговая компания. Мы проводим исследование.

— Исследование чего?

— Вас.

— С какой целью?

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

— Пилотов гиперпривода в Известном Космосе, насколько я знаю, большие десятки тысяч.

— А программистов миллионы.

— Но не все из них обладают действительно высоким интеллектом.

— Это правда. На это и тесты.

— С поиском цикла в списке?

— Не только. Вы ведь заполняли стандартный тест на IQ при подаче резюме.

— Я не думаю, что IQ — хорошая метрика интеллекта.

— Для обладателя IQ 170 это звучит довольно скромно. Но вы правы, метрика не очень хорошая, зато дешевая. По сути, наша компания — это попытка создать более точную метрику.

— Извините, не выглядит как хороший бизнес-план.

— А я ведь и говорил, что наша цель не бизнес. Мы собираемся отбирать людей для исследования.

— Исследования чего?

— Высокого интеллекта. На самом деле, вы ведь знаете, что и у человеческих пилотов гиперпривода, и у арахноидских навигаторов, IQ выше среднего по виду. Но отбор там идет не по интеллекту как таковому, а по способности к предзнанию. И рлаши...

— Злотников говорил...

— То, что говори Злотников, засекречено, а популярные мифы... Тем не менее, да, популярна теория, что предзнание связано с высоким интеллектом. И под это подверстывают рассказы про сингулярность, Истинный Ансибль и Злотникова.

Предыдущая глава  
↓ Содержание ↓
↑ Свернуть ↑
  Следующая глава



Иные расы и виды существ 11 списков
Ангелы (Произведений: 91)
Оборотни (Произведений: 181)
Орки, гоблины, гномы, назгулы, тролли (Произведений: 41)
Эльфы, эльфы-полукровки, дроу (Произведений: 230)
Привидения, призраки, полтергейсты, духи (Произведений: 74)
Боги, полубоги, божественные сущности (Произведений: 165)
Вампиры (Произведений: 241)
Демоны (Произведений: 265)
Драконы (Произведений: 164)
Особенная раса, вид (созданные автором) (Произведений: 122)
Редкие расы (но не авторские) (Произведений: 107)
Профессии, занятия, стили жизни 8 списков
Внутренний мир человека. Мысли и жизнь 4 списка
Миры фэнтези и фантастики: каноны, апокрифы, смешение жанров 7 списков
О взаимоотношениях 7 списков
Герои 13 списков
Земля 6 списков
Альтернативная история (Произведений: 213)
Аномальные зоны (Произведений: 73)
Городские истории (Произведений: 306)
Исторические фантазии (Произведений: 98)
Постапокалиптика (Произведений: 104)
Стилизации и этнические мотивы (Произведений: 130)
Попадалово 5 списков
Противостояние 9 списков
О чувствах 3 списка
Следующее поколение 4 списка
Детское фэнтези (Произведений: 39)
Для самых маленьких (Произведений: 34)
О животных (Произведений: 48)
Поучительные сказки, притчи (Произведений: 82)
Закрыть
Закрыть
Закрыть
↑ Вверх