Вайб-ралли или геройский пет-проект воскресенья
В последнее время слово «вайбкодинг» всплывает в ленте всё чаще. А реально ли это работает и насколько быстро? Решил проверить.
Идея:
Итак, воскресенье, 8 вечера, дети спят. Раздумывая что не хочу ничем заниматься, внезапно приходит мысль проверить в бою только что купленную подписку на Gemini. В детстве играл в героев, а до рождения ребенка был просто шокирован что игра обрела вторую жизнь, и VooDooSh принес это нам своими харизматичными стримами. Чтож решено, хватит валяться, пора вайбкодить. Что делать: текстовая выживалка по мотивам Героев 3.
Стек и инструменты:
«Мозг»: Google Antigravity + Gemini 3 Flash.
Платформа: Android (Android Studio для сборки).
Инфраструктура: GitLab + GitLab Pages (для раздачи APK).
Релиз: RuStore.
Концепт: Ты — Голтран. Некрим, лутаем золото и бесконечные страдания. Нужно продержаться как можно дольше против экспоненциально растущего врага.
Этап 1: MVP за 4 часа
Поехали чатиться с ИИ. Описал основную механику:
Ресурсы: Золото, Дерево, Руда и Скелеты. Ну и мораль конечно для некра мастхев! 😈
Будни (6 дней): Мелкие события. Нашел заброшенную шахту (+500 голды), упал в яму (-2% скелетов).
Седьмой день: «Жирное» событие с бонусом до +20% к силе.
Финалочка недели: Битва с N врагами. N растет по степенной функции. Математика простая: враги растут быстрее, чем ты успеваешь их фармить. Задача — поставить рекорд по неделям.
«Вжух-вжух» — и первая версия начала компилироваться минут через 20.
Нюансы вайбкодинга: Тут пошло не всё так гладко. Модель упорно «забывала» делать импорты в Котлине, приходилось буквально тыкать её носом в ошибки компиляции. Но самый эпичный фейл случился в лоре: ИИ сгенерировал событие с героем из «Героев 4»! Такое олдскульное сердце простить не могло — пришлось проводить краткий ликбез по истории Эрафии.
Зато ИИ сам нагенерил около 6 приличных картинок (на этом лимит бесплатной генерации «кончился»). Потратил ещё пару часов на полировку UI и приведение событий к канону. Пробовал еще докинуть картинок через Грока, но там за 30 минут вымучил только две и забил — как то много ручного труба, не вайбкодово.
Этап 2: Балансировка (1 час)
Чтобы игра не была «проходимой за 5 минут» или «бесконечной», я попросил ИИ написать тест-симуляцию. Запустили двух ботов: один кликал рандомно, второй — «умный» (выбирал оптимальные по статам варианты). По результатам тестов подкрутили сложность: изначально враг рос на 25% в неделю, в итоге довели до 45%.
Проверка на человеке:
Этап 3: Публикация и грабли (1 час)
В Google Play лезть не хотелось. Там нужно прокликать миллион галочек о том, что ты не торгуешь биткоинами и не ешь детей, плюс я не был уверен в авторских правах на имена героев. Проект не коммерческий, но заниматься думами на эту тему вечером не хотелось.
Сначала решил просто выложить APK через GitLab Pages. Недавно оценил, что внутри Гитлаба/Гитхаба можно захостить статический сайт через CI/CD. ИИ набросал простенькую страничку, которая отдавала билд. Важный момент: если репозиторий приватный, доступ к Pages нужно открывать в настройках отдельно, иначе Pages тоже приватный.
День 2: Шлифовка и RuStore
Наступил новый день, обновились токены на генерацию картинок — я не удержался и догенерил картинок. Вроде дописал некоторые события которые пришли голову.
Решил все же попробовать выложить в русторе. Ну так, чтобы выстрадать до конца. Публикация была относительно не сложная, с учетом того, что у меня даже аккаунта не было. Пару вопросов, описание, скриноты и все. В Play Market надо добавить сначала версию для тестов, ну и как то UI у плея имхо слишком тяжелый и не дружелюбный. В прошлый раз даже пришлось гемини с камерой тыкать в плей и спрашивать "как сделать". Минут 40 и апка ушла в модерацию (модерировалась часов 12) и -- вуаля, ссылка стала доступна.
Итог
8 часов чистого времени от идеи до публикации, впечатления положительные. Не судите строго, но надеюсь любителей героев улыбнет.
Еще скриншотики:
Ссылка на результат:
(Дисклеймер 18+: Игра содержит нецензурные выражения и сцены насилия, поэтому в нее не стоит играть никому.)
https://www.rustore.ru/catalog/app/com.vprokofev.goltran
Всем добра и Астрологов, чья неделя будет удачной!
Маг на полставки с навыками в IT или Как я починил телепорт и не уволился
Ссылка на первую книгу со всему главами https://author.today/work/546452
Ссылка на вторую книгу со всему главами https://author.today/work/549088
ПРОЛОГ.
Сцена 1: Шок с налётом абсурда, или «Даже апокалипсис у нас какой-то кривой».
Сцена 2: Бытовуха иномирья, или «На чужбине и пирожок — технология».
Сцена 3: Столкновение с реальностью, или «Меня сейчас или съедят, или оформят по ТК».
ГЛАВА 1.
Сцена 1: Встреча с Лили, или «Инцидент 7Б, или как меня приняли за глючную технику».
Сцена 2: Подвал-офис, или «Отдел ИТ и магических происшествий».
Сцена 3: Знакомство с системой, или «Обновили прошивку и поехали в тартарары».
Книга 1. Маг на полставки с навыками в IT или как я починил телепорт и не уволился. 1
ГЛАВА 2.
Сцена 1: Диагностика, или «Увидеть legacy-код в груде камней».
Сцена 2: «Скрипт» на коленке, или «Если работает – не трогай, но у нас не работает».
Сцена 3: Успех и оплата, или «Примите первый баг-репорт от нового мира».
ГЛАВА 3.
Сцена 1: Совет в обед, или «Бюджетный борщ и бархатный чавк».
Сцена 2: Спор под аккомпанемент хлеба, или «Кто будет кормить яков?».
Сцена 3: IT-менеджмент в действии, или «Бюджет — тёмная материя».
Сцена 4: Пробный шар, или «Пристрелка по бархатному кафтану».
ГЛАВА 4.
Сцена 1: Звонок дракона, или «Клиент всегда прав, даже если он дышит огнём».
Сцена 2: Техподдержка для дракона, или «Перезагрузите кристалл и подуйте в него».
Сцена 3: Рождение дашборда, или «Чарты для дракона — путь к его сердцу».
ГЛАВА 5.
Сцена 1: Неформат, или «Когда чайник мстит, а свитер давит».
Сцена 2: Разговор по душам, или «Замделы — это драконы без чешуи».
Сцена 3: Признание, или «Когда код работает, а сердце — глючит».
Сцена 4: Философия подвала, или «KPI души».
ЭПИЛОГ.
Сцена 1: Утро, или «Прошивка для чая и кот-будильник».
Сцена 2: Задание, или «Деревня Забугорье и обещание не селить с кикиморой».
Сцена 3: Решение, или «Если legacy-код, то с вареньем».
Дорогой читатель,
Прежде чем вы погрузитесь в текст, мне хотелось бы сказать пару слов напрямую.
Это произведение — для меня в первую очередь творческое хобби, способ переключиться и дать отдых уму. Именно поэтому оно публикуется бесплатно. У меня нет возможности нанять профессионального редактора или корректора, так как все ресурсы уходят на заботу о семье. Прошу отнестись с пониманием к возможным опечаткам, шероховатостям стиля или несовершенству формулировок.
Пишу я урывками, в те редкие и драгоценные окна, что выпадают между основной работой и заботами о новорождённом малыше. Каждая глава — украденное у суеты время.
Перед вами — лишь фрагменты большой истории. По замыслу, материал разросся на целых пять книг. Две из них уже написаны полностью, а здесь я выкладываю отрывки для ознакомления, чтобы найти свою аудиторию и единомышленников.
Я абсолютно позитивно и с благодарностью отношусь к конструктивной критике. Ошибки и недочёты — мои главные учителя. Но есть одна просьба: если вы хотите указать на них, будьте, пожалуйста, конкретны. Фразы вроде «здесь всё плохо» не дают мне возможности понять и улучшить текст. А вот замечание «в абзаце 3 главы 2 нарушена логика диалога» — бесценно.
И последнее, самое важное. Это история со своим настроением, темами и образами. Если какие-то моменты покажутся вам неприятными, задевающими или просто неинтересными — вы всегда можете просто пройти мимо. Ваше время и душевный комфорт дороже всего.
Спасибо, что заглянули. Искренне надеюсь, что среди этих строк вы найдёте что-то близкое для себя.
магия, магия и приключения, попаданец, попаданцы, попаданцы в магический мир, приключения, фэнтези, юмор, юмор и ирония
Сцена 2: «Скрипт» на коленке, или «Если работает – не трогай, но у нас не работает»
Диагностика закончилась. На столе лежала стопка исписанных пергаментов и этикеток, представлявших собой безумную карту портального апокалипсиса. Драк смотрел на эти каракули с видом археолога, впервые увидевшего инструкцию по сборке ИКЕА на санскрите. Он кое-что понимал, но в целом ощущал глубокую, экзистенциальную потерянность.
– Ну, – вздохнул гном, потирая виски. – Legacy-код, рекурсивный ад, конфликт драйверов… Картина ясна. Как болото. Глубокое и вонючее. И что теперь? Писать в головную Гильдию с требованием прислать команду архитекторов и тонну чистых кристаллов? Они ответят через полгода, и то пришлют счёт.
Дима, тем временем, ходил вокруг портала, что-то меряя шагами и ворча под нос. Он перестал быть посторонним. Он стал тем самым технарем, который увидел проблему и чьи пальцы уже чесались её трогать, несмотря на все предупреждения.
– Писать – бесполезно, – отрезал он, остановившись. – Нужно действовать здесь и сейчас. Но не «чинить». Мы не можем всё переписать. У нас нет ни времени, ни ресурсов, ни, чёрт побери, полной документации.
– То есть, сдаёмся? – уныло спросил Драк.
– Ни в коем случае. Мы делаем хотфикс. Горячую заплатку. Костыль. Временное решение, которое заставит систему работать хоть как-то, пока мы не придумаем что-то более основательное. В моём мире это называлось «быстрым и грязным решением». Им потом всегда платят кровью, но хотя бы отчёт за квартал сдают.
Драк насторожился. «Горячая заплатка» звучало опасно. В его мире горячими бывали только заклинания да котелки с похлёбкой.
– И как ты собрался это… «заплатать»?
– Мы найдём точку входа в тот самый рекурсивный цикл, – объяснил Дима, показывая на свою схему. – Ту самую функцию, которая вызывает сама себя без выхода. И мы… подсуним ей ложное условие завершения. Обманем систему. Заставим её думать, что работа выполнена, и выйти из цикла. Освободившиеся ресурсы пойдут на основные функции.
– Обмануть заклинание? – Драк закатил глаза. – Да это же верх кощунства! Да и опасно! Оно может возмутиться и… и взорваться!
– Оно и так возмущено, – парировал Дима. – Оно возмущено до такой степени, что решило стать стиральной машиной. Я думаю, риск оправдан. Нужны материалы.
Он начал перечислять, глядя в пустоту:
– Проволока. Медная, гибкая. Что-то вроде изолятора… э-э, диэлектрика. Что-нибудь, что не проводит магию, но держит форму. И… фальшивый сигнал. Что-то, что будет имитировать корректный выходной результат для функции.
Драк слушал, и на его лице медленно проступало понимание, смешанное с ужасом. Это был план сумасшедшего. Но он был техническим планом. А Драк уважал технику, даже безумную.
– Проволока есть. Вон в том ящике. Старая, но сойдёт. Диэлектрик… – он почесал бороду, вытащил из неё крошку и задумчиво посмотрел на неё. – У меня есть жеваная сера. Для герметизации пазов в кристаллах. Она эластичная и магически инертная. А фальшивый сигнал… хм. Нужен стабильный, чистый магический импульс низкой мощности. Эдакий «сигнал успеха».
Он поковылял к полкам и начал рыться среди склянок и баночек. Лили, услышав ключевые слова, подняла голову.
– Стабильный магический импульс, говорите? – её голос был сухим. – В архиве инцидентов есть конфискованная «слеза единорога», изъятая у контрабандистов. Заявлена как «чистейший источник пассивной радости и стабильности». Хранится в сейфе. Под номером ИК-445.
– Идеально! – воскликнул Драк. – Тащи её сюда!
– Это не так просто, – возразила Лили. – Для доступа к конфискату нужна форма 6-Г, подписанная главой филиала. А Гвидо… – она кивнула в сторону потолка, откуда снова донёсся приглушённый взрыв и сдержанное ругательство, – он занят.
– Нафиг форму! – взревел Драк. – Это экстренная ситуация! Технический инцидент в процессе! Дима, ты умеешь взламывать сейфы?
Дима, уже скручивавший проволоку в причудливые спирали, поднял брови.
– Взламывать? Нет. Но если у него есть механический замок, я, может, смогу… – Он не закончил. Лили с тяжёлым вздохом подошла к своему столу, достала из потайного ящика маленький ключик и протянула его Драку.
– Я как главный архивариус имею право изымать конфискаты для предотвращения чрезвычайных ситуаций. Заполню форму постфактум.
Через пять минут на столе рядом с проволокой и комком липкой, серой жевательной серы (от которой исходил стойкий запах протухших яиц и ностальгии) стояла маленькая, изящная скляночка из синего стекла. Внутри переливалась жидкость нежно-розового цвета.
– Слеза единорога, – с благоговением прошептал Драк. – Чистейшая эссенция.
Дима взял скляночку, открыл пробку и понюхал. Его лицо скривилось.
– Пахнет… дешёвым ликёром. «Бехеровкой» с привкусом клубники.
– Не может быть! – Драк выхватил скляночку и сам глотнул аромата. Его лицо тоже сморщилось. – Чёрт. Это и есть дешёвый ликёр. «Поцелуй единорога», девятикопеечный, из таверны «У Гильдии». Эти негодяи-контрабандисты! Они нас надули! И мы хранили эту гадость как реликвию!
– Неважно, – махнул рукой Дима, отбирая скляночку обратно. – Главное – это жидкость. И она в красивой бутылочке. Система не проанализирует химический состав. Она увидит контейнер с «заявленными» свойствами. Эффект плацебо для магии. Сойдёт.
Началась сборка. Под руководством Димы, который объяснял принципы на пальцах и своих схемах, Драк с помощью паяльной иглы (нагреваемой не огнём, а маленькой шаровой молнией, пойманной в магнитную ловушку) соединял проволоку, формируя сложную трёхмерную структуру. В ключевые узлы вплавлялись кусочки жеваной серы – они должны были изолировать ложный сигнал от основной магической сети портала.
– Это… это же магический фильтр нижних частот с обратной связью! – вдруг воскликнул Драк, отступив на шаг и созерцая творение. – Только собран наоборот!
– Именно, – кивнул Дима, аккуратно подвешивая скляночку с «слезой» в центре конструкции на тонких проволочках. – Этот паттерн – «всё ок, задача выполнена, можно выходить». Мы разместим это устройство… вот здесь. – Он подошёл к порталу и указал на трещину рядом с той самой центральной, тупо пульсирующей руной. – Как можно ближе к «процессору». Чтобы наш ложный сигнал перекрыл собой внутренний сигнал ошибки.
Драк сгрёб конструкцию в руки. Она тихо звенела и пахла серой и клубничным ликёром.
– Ладно. Приступим к установке костыля. Только, ради всего святого, не дыши мне на затылок. И если начнёт светиться зелёным – беги.
Он приставил устройство к трещине. Проволока сама собой изогнулась, словно живая, и концы её впились в камень с тихим шипением. Сера задымилась, распространяя ещё более жуткий запах. Скляночка закачалась, и розовая жидкость внутри забулькала.
Ничего не происходило.
– Не работает, – уныло констатировал Драк.
– Подожди, – сказал Дима. Он взял со стола обычный гвоздь (почему он тут был – бог весть) и легонько стукнул по скляночке.
Раздался чистый, звонкий звук. И устройство ожило.
Проволока вспыхнула тусклым золотистым светом. Сера перестала дымиться и стала прозрачной, как стекло. А из скляночки повалил густой, розовый туман, который потянулся не вверх, а внутрь камня, в трещину. Пахло теперь не ликёром, а… свежеиспечённым печеньем. И спокойствием.
Портал вздрогнул. Мерцание в его трещинах стало хаотичным, потом начало успокаиваться. Гул, ровный и скучный, сменился на более сложный, многослойный звук. На кристалле статуса, встроенном в основание, надпись «РЕЖИМ: ЭКО-СТИРКА» моргнула и сменилась на «СИСТЕМА… ОБРАБОТКА…».
– Он… он думает! – прошептал Драк, не веря своим глазам. – Он не жужжит, как утюг, он думает!
Ещё через минуту портал издал мягкий, почти довольный щелчок. Свет стал ровным, холодно-голубым. На кристалле статуса появились новые символы: «ЯДРО… ОНЛАЙН. НАВИГАЦИЯ… КАЛИБРУЕТСЯ. РЕЖИМ: СТАНДАРТНЫЙ (ОГРАНИЧЕННЫЙ)».
– Ограниченный? – нахмурился Дима.
– Ну, костыль же! – воскликнул Драк, прыгая от восторга. – Ты же сам сказал – хотфикс! Он не восстановил всё! Он просто обошёл главную ошибку и дал системе дышать! Теперь он в основном режиме, но с урезанной функциональностью! Это… это гениально!
Лили, наблюдая за всем этим, сделала очередную запись в своём журнале: «Время: 16:23. Проведена внеплановая аппаратная модификация объекта Альфа-7 с применением конфиската (подложного) и кустарных средств. Результат: частичное восстановление базовой функциональности. Классификация действий: «Критически важный костыль». Ответственные: Дракгорн, Дима (временный тех. конс.). Риски: высокие. Эффективность: предварительно положительная».
Драк обнял Диму так, что у того хрустнули рёбра.
– Мальчик! Да ты волшебник! Нет, техномаг! Нет… костыльер! Мастер хотфиксов! Он работает! Он не стирает!
В этот момент портал тихо, но уверенно произнёс – не голосом, а мысленным импульсом, который ощутили все в комнате:
«Запрос на идентификацию целевых координат. Готов к приёму навигационных данных. Приоритет: низкий. Примечание: носки более не принимаются. Система апгрейдилась.»
Дима, высвобождаясь из объятий, выдохнул и устало улыбнулся.
– Видите? Не ремонт. Временная заплатка. Настоящий рефакторинг – это выкинуть половину этих камней, переписать все руны с нуля на нормальном языке и провести нагрузочное тестирование. Это – на месяцы. А то и годы. А это… – он кивнул на своё творение, которое теперь мирно светилось, встроенное в камень, – это чтобы вы хотя бы пользоваться могли. Ограниченно, но могли.
Драк уже не слушал. Он лихорадочно рылся в ящиках.
– Навигационные данные! Нужно найти старые координаты соседних секторов! Лили, где у нас справочник по межмировым маршрутам? Тот, что пахнет сыром !
Дима опустился на ящик. Адреналин отступал, сменяясь глубокой усталостью. Он посмотрел на свои руки, запачканные в сере и пыли. Он починил телепорт. Ну, почти. Вставил костыль в разваливающуюся систему чужого мира. Это было некрасиво, неэлегантно и временно.
Но это работало.
А это, как он знал по своему прошлому опыту, было самое главное. Даже если через неделю костыль отвалится, и портал начнёт считать себя тостером.
Маг на полставки с навыками в IT или Как я починил телепорт и не уволился
ПРОЛОГ.
Сцена 1: Шок с налётом абсурда, или «Даже апокалипсис у нас какой-то кривой».
Сцена 2: Бытовуха иномирья, или «На чужбине и пирожок — технология».
Сцена 3: Столкновение с реальностью, или «Меня сейчас или съедят, или оформят по ТК».
ГЛАВА 1.
Сцена 1: Встреча с Лили, или «Инцидент 7Б, или как меня приняли за глючную технику».
Сцена 2: Подвал-офис, или «Отдел ИТ и магических происшествий».
Сцена 3: Знакомство с системой, или «Обновили прошивку и поехали в тартарары».
Книга 1. Маг на полставки с навыками в IT или как я починил телепорт и не уволился. 1
ГЛАВА 2.
Сцена 1: Диагностика, или «Увидеть legacy-код в груде камней».
Сцена 2: «Скрипт» на коленке, или «Если работает – не трогай, но у нас не работает».
Сцена 3: Успех и оплата, или «Примите первый баг-репорт от нового мира».
ГЛАВА 3.
Сцена 1: Совет в обед, или «Бюджетный борщ и бархатный чавк».
Сцена 2: Спор под аккомпанемент хлеба, или «Кто будет кормить яков?».
Сцена 3: IT-менеджмент в действии, или «Бюджет — тёмная материя».
Сцена 4: Пробный шар, или «Пристрелка по бархатному кафтану».
ГЛАВА 4.
Сцена 1: Звонок дракона, или «Клиент всегда прав, даже если он дышит огнём».
Сцена 2: Техподдержка для дракона, или «Перезагрузите кристалл и подуйте в него».
Сцена 3: Рождение дашборда, или «Чарты для дракона — путь к его сердцу».
ГЛАВА 5.
Сцена 1: Неформат, или «Когда чайник мстит, а свитер давит».
Сцена 2: Разговор по душам, или «Замделы — это драконы без чешуи».
Сцена 3: Признание, или «Когда код работает, а сердце — глючит».
Сцена 4: Философия подвала, или «KPI души».
ЭПИЛОГ.
Сцена 1: Утро, или «Прошивка для чая и кот-будильник».
Сцена 2: Задание, или «Деревня Забугорье и обещание не селить с кикиморой».
Сцена 3: Решение, или «Если legacy-код, то с вареньем».
Дорогой читатель,
Прежде чем вы погрузитесь в текст, мне хотелось бы сказать пару слов напрямую.
Это произведение — для меня в первую очередь творческое хобби, способ переключиться и дать отдых уму. Именно поэтому оно публикуется бесплатно. У меня нет возможности нанять профессионального редактора или корректора, так как все ресурсы уходят на заботу о семье. Прошу отнестись с пониманием к возможным опечаткам, шероховатостям стиля или несовершенству формулировок.
Пишу я урывками, в те редкие и драгоценные окна, что выпадают между основной работой и заботами о новорождённом малыше. Каждая глава — украденное у суеты время.
Перед вами — лишь фрагменты большой истории. По замыслу, материал разросся на целых пять книг. Две из них уже написаны полностью, а здесь я выкладываю отрывки для ознакомления, чтобы найти свою аудиторию и единомышленников.
Я абсолютно позитивно и с благодарностью отношусь к конструктивной критике. Ошибки и недочёты — мои главные учителя. Но есть одна просьба: если вы хотите указать на них, будьте, пожалуйста, конкретны. Фразы вроде «здесь всё плохо» не дают мне возможности понять и улучшить текст. А вот замечание «в абзаце 3 главы 2 нарушена логика диалога» — бесценно.
И последнее, самое важное. Это история со своим настроением, темами и образами. Если какие-то моменты покажутся вам неприятными, задевающими или просто неинтересными — вы всегда можете просто пройти мимо. Ваше время и душевный комфорт дороже всего.
Спасибо, что заглянули. Искренне надеюсь, что среди этих строк вы найдёте что-то близкое для себя.
магия, магия и приключения, попаданец, попаданцы, попаданцы в магический мир, приключения, фэнтези, юмор, юмор и ирония
Ссылка на книгу https://author.today/work/546452
ГЛАВА 2
Сцена 1: Диагностика, или «Увидеть legacy-код в груде камней»
Мысль о монетизации стирального портала висела в воздухе подвала сладкой, но эфемерной дымкой. Пока Лили выводила каллиграфическим почерком «НОСКИ ЧИСТЫЕ – ДУША СПОКОЙНАЯ!», Дима и Драк стояли перед главной проблемой – груда камней упорно не желала вспоминать, что она транспортный узел.
– Ну что, – вздохнул Драк, почесывая бороду обгоревшей частью. – С чего начнём? Ритуал очищения от проклятий несовместимости? Заклинание принудительного отката? Или просто ударим по нему молотом – авось, от испуга, прошивка сбросится?
Дима смотрел на портал не как шаман на одержимого духа, а как сисадмин на сервер, который «всё глючит». Его взгляд был холоден, аналитичен и слегка презрителен.
– Начнём с диагностики, – заявил он. – Но не вашей, магической. Системной. Нужно понять текущее состояние, mapping процессов и dependencies.
Драк моргнул.
– Мэппинг про… что? Дипенденси? Это такие новые руны?
– Зависимости, – терпеливо пояснил Дима. – Что от чего зависит. Какая руна за что отвечает и с чем взаимодействует. У вас есть… палка подлиннее?
Драк, выглядевший слегка оскорблённым (диагностика без махов руками и бормотания заклинаний была для него ересью), покопался в углу и вытащил длинную, сухую ветку, на конце которой болтался засохший комок мха.
– Лунный указатель для настройки резонансов. Немного кривой, но…
– Сойдёт, – перехватил Дима ветку. Он подошёл к порталу и, к ужасу Драка, начал просто тыкать ею в различные трещины, выпуклости и светящиеся нити.
– Эй, осторожно! – вскрикнул гном. – Ты можешь нарушить хрупкий энергобаланс! Или, что хуже, активировать спящее заклинание самоочистки! Оно там, кажется, есть…
– Уже активировано, – невозмутимо ответил Дима, тыча палкой в одну из рун на боковом камне. Рунa, изображавшая нечто среднее между спиралью и разъярённым ёжиком, слабо вспыхнула. – Смотрите. Реакция есть, но вялая. Как будто процесс завис. Дайка-ка… – Он потыкал в соседние символы. – Ага. Вот эта – вообще не отвечает. Мёртвая.
Драк, забыв про протоколы, придвинулся ближе.
– Это руна «Незыблемая Основа». Она должна обеспечивать стабильность платформы. Если она не работает…
– …то вся система стоит на кривых опорах, – закончил Дима. – Классика. Dead code. Мёртвый код, который все боятся удалить, потому что «а вдруг что-то сломается». А он уже давно сломан.
Он отошёл, достал из кармана помятую бумажку – этикетку от местного эля «Гномья Моча» (по уверению Маркса, очень бодрящего) – и, присев на ящик, начал делать заметки обратной стороной карандашом, который одолжил у Лили.
– Так, – бормотал он, рисуя какие-то квадратики и стрелочки. – Центральный кристалл-процессор… вроде жив. Дрожит, шумит, пытается что-то считать. Рядом – массив рун ввода-вывода… половина не отвечает. Видимо, отвалились, когда драйвер поменяли. Сеть эфирных проводников… – Он тыкнул палкой в паутину светящихся нитей. Одна из них дёрнулась и издала тонкий, обиженный писк. – …в состоянии хаоса. Видимо, пытается переназначить каналы на лету. И всё это управляется…
Он поднял голову и посмотрел на самую большую, центральную руну на вершине груды. Она изображала сложную мандалу и пульсировала ровным, но каким-то… тупым светом.
– …управляется вот этим. Ядром прошивки. «Неудержимый шмель». Который сейчас считает себя firmware для стиральной машинки.
Драк, заглядывая через плечо, водил пальцем по непонятным для него квадратикам.
– И что это за птичьи следы? Какая-то своя система письма?
– Блок-схема, – отвлёкся Дима. – Грубая. Видите, вот тут – точка входа. Энергия поступает. Дальше она должна идти по трём каналам: валидация, трансформация, отправка. Но… – Он провёл пальцем по одной из стрелок, которая упиралась в нарисованный им же знак вопроса. – Канал трансформации упирается в блок, который я не могу идентифицировать. Он принимает сигнал, но не отдаёт. Просто… циклится. Потребляет ресурсы и греется.
– Рекурсивное заклинание без выхода! – воскликнул Драк, наконец поняв суть рисунка. – Чёрт! Так вот куда уходит 80% энергии! Оно зациклилось! Оно само себя вызывает снова и снова, пытаясь выполнить преобразование, для которого у него нет правил! Это как… как белка в колесе, которая думает, что бежит к ореху, но просто крутится на месте!
– Именно, – кивнул Дима. – И этот цикл съедает все ресурсы, не оставляя их на основные функции. Поэтому портал и перешёл в самый простой, энергосберегающий режим, который смог найти в своей повреждённой памяти. В режим «стирки носков».
Он дописал на этикетке ещё пару строк, потом поднял на Драка серьёзный взгляд.
– Скажите честно. Эта прошивка… она же писалась не на пустом месте. У неё должен быть исходный код. Или, на худой конец, подробное описание алгоритмов. Не могли же они с нуля написать такое… это.
Драк помрачнел.
– Исходный код… Да, он есть. В архивах головной Гильдии. Нам его не дали. Прислали уже скомпилированный кристалл с прошивкой. Говорили, «коммерческая тайна», «ноу-хау». А описание алгоритмов… – он горько усмехнулся, – было. На сорока пергаментах. Написано языком, который даже я, с моими двумя сотнями лет, еле понимаю. Древне-эльфийский, архаичный диалект. С кучей отсылок к утраченным понятиям. Это не документация, это головоломка.
– Покажите, – просто сказал Дима.
Через десять минут перед ним лежал не свиток, а целый тюк пыльных пергаментов, испещрённых изящными, но совершенно нечитаемыми письменами. Дима склонился над ними. Его взгляд скользил по строкам, выискивая знакомые паттерны. И он стал их находить.
– Смотрите, – ткнул он пальцем. – Вот здесь: «Атх фанэ илмэ талра синдэ…». Если перевести буквально, это звучит как ерунда. Но если посмотреть на структуру… вот эта конструкция: «пока* солнце не коснётся воды, призывай дух ветра». Это же классический цикл while! «While (sun.notTouches(water)) { invoke(spirit_of_wind); }». Только обёрнутый в поэзию!
Драк открыл рот.
– Цикл вайл?..
– Цикл с условием, – нетерпеливо пояснил Дима. – Выполнять действие, пока условие истинно. А вот здесь: «Если камень всплакнет росой, то обратись к северу, иначе жди знака от востока». Это условный оператор if-else! И тут, смотрите! – он почти кричал от возбуждения, водя пальцем по следующему абзацу. – «Сила пяти озёр, сплетённая в троицу, да пребудет в сердце камня…». Это объявление массива! Массив из пяти элементов, сгруппированных в три подмножества! И они его используют как глобальную переменную для хранения энергии!
Он откинулся на спинку ящика, и в его глазах горел смешанный огонь – профессионального азарта и глубочайшего презрения.
– Драк. Это не магия. Это программирование. Только написанное на ужасно старом, неоптимизированном, запутанном языке. Со сломанными зависимостями, с кучей мёртвого кода, с рекурсиями без базового случая и глобальными переменными, которые меняются отовсюду! Это сплошной legacy-код на древне-эльфийском! И его «обновили», натянув сверху новый драйвер, написанный, судя по всему, на другом языке, без учёта всей этой… этой архитектурной помойки!
В подвале воцарилась тишина. Даже портал перестал на мгновение гудеть. Лили замерла с пером в руке, глядя на Диму с тем же выражением, с каким, наверное, смотрели на первобытного человека, впервые добывшего огонь.
Драк медленно выдохнул. Он подошёл к столу, взял свою склянку с «Растворителем заклятьй №5», отхлебнул приличный глоток и поставил её обратно.
– Legacy-код, – повторил он, обдумывая слово. – Наследие. Да, звучит правдиво. Наследие предков, которое никто не хочет трогать, потому что страшно. И которое в итоге всех достало. – Он посмотрел на Диму. – И ты… ты можешь в этом разобраться? Не как маг. А как… как читатель этого… кода?
Дима взглянул на свои каракули на пивной этикетке, на тюк древних пергаментов, на портал, который тихонько поскуливал, пытаясь, наверное, найти носки для следующего цикла.
– Я не уверен, что смогу всё починить, – честно сказал он. – Но я могу попробовать локализовать главные проблемы. Найти тот самый рекурсивный цикл и попытаться его остановить. Найти конфликтующие «библиотеки» – простите, рунические цепи – и изолировать их. Это как… попытаться починить старый, разваливающийся дом, не разбирая его полностью. Ставить подпорки, менять сгнившие балки и надеяться, что крыша не рухнет тебе на голову.
Драк кивнул. В его глазах появилась решимость.
– Ладно. Ставь подпорки. Меняй балки. Я буду ассистировать. У меня есть инструменты. И знание, куда прыгать, если крыша всё-таки начнёт падать. – Он хмыкнул. – Ну что, legacy-кодер? Приступаем к нашему первому патчу?
Дима улыбнулся. Это была странная, чужая улыбка в этом подвале, пахнущем пивом и озоном. Но она была уверенной.
– Приступаем. Но сначала мне нужна ещё одна этикетка от «Гномьей Мочи». Или что-то похожее. А то места не хватает.
Лили молча протянула ему целую стопку чистых листков пергамента. На верхнем было уже написано: «Форма Д-1: Отчёт о проведении внеплановой диагностики legacy-системы. Приложение: блок-схемы на пивных этикетках».
Дима взял листы. Начиналась самая интересная часть.
Как случайно можно стать писателем! Моя история!
Как-то решил написать рассказ, всегда нравилась фантастика про попаданцев и путешествие во времени, идея пришла в голову спонтанно, написал пару страниц. И выложил незаконченный рассказ на «Автор Тудей». Ну выложил и выложил! Через пару часов зашел на сайт! Почти сто добавлений в библиотеку! На следующий день уже двести! Сказать, что я не ожидал такого, значит, ничего не сказать! А почему бы не замахнуться на полноценный роман, раз читателя очень интересует эта тема? Не буду рассказывать про мои муки творчества, но за три месяца я написание первого романа осилил! Назвал свой роман «Диверсант. Назад в СССР». Взял себе псевдоним «Андрей Гросс», кроме как Автор Тудей, достойных сайтов для размещения мурской фантастики у нас в стране, к сожалению, нет... И первыми, с кем я познакомился, это были пираты! Книгу растащили по десяткам пиратских сайтов! Кстати, забавно было читать, какие хвалебные и профессиональные рецензии были на этих пиратских сайтах под моей книгой! Пираты сейчас пошли с высшим филологическим образованием. Я не стерпел этого безобразия и разослал всем досудебные претензии о нарушении авторских прав! На удивление все сайты удалили книгу и отписались об этом!
Сам рассказ, который нашел отклик у множества читателей, я сделал началом романа. Сейчас я понимаю, что эта история может быть началом множества романов. Вот сам рассказ.
......................................
Диверсант: Назад в СССР
— Говори по-хорошему, полковник, сколько агентов и куда ты отправил в прошлое? -
Военный в звании генерал-майора стоял в центре лаборатории, заполненной разнообразными приборами и загадочными силовыми установками. Прямо перед ним, подвешенный на трубе наручниками, висел пожилой мужчина, на вид около семидесяти лет. Во всем его теле чувствовалась военная выправка, а физическая форма для своих лет была довольно неплоха. По коротко стриженным седым волосам стекала струйка крови.
Десять минут назад его пытались задержать, но он не собирался так просто сдаваться. Нескольким опытным бойцам спецназа пришлось приложить немало усилий, чтобы надеть на него наручники. Для того чтобы справиться с этим старым воякой, им сначала пришлось хорошенько приложить его по голове прикладом.
Теперь он висел на трубе, которая выходила из неизвестной генералу установки. Эту установку должны были обследовать технические специалисты контрразведки. Наручники были пристегнуты к трубе так высоко, что мужчине приходилось вставать на носочки, чтобы они не передавливали артерии на руках.
— Ты же меня хорошо знаешь! - продолжил генерал. - Мои люди тебя на кусочки резать будут и очень медленно, если ты не перестанешь строить из себя тут «Зою Космодемьянскую» и не расскажешь всё о ваших художествах! Фанатики вы, блять, чёртовы! -
Полковник помотал головой, у него немного двоилось в глазах и кружилась голова, сказывались последствия встречи его головы с прикладом автомата. Он сфокусировал свой взгляд на стоявшем перед ним генерале. На лице у полковника появилась надменная улыбка. Несмотря на его незавидное положение, его глаза излучали какой-то весёлый азарт.
— Иваныч! Ну кончай дурака валять! В твоих интересах сотрудничать со мной! Мы же раньше работали вместе! Ты даже был моим начальником, потом тебя выперли на пенсию из-за твоего чёртова характера, между прочим! А так бы сейчас сам был генералом! - В тоне генерала появились нотки почти человеческого сочувствия.
Полковник продолжал с иронией и издёвкой смотреть на своего оппонента, который стоял прямо перед ним. Он смачно сплюнул на пол кровь, которая собралась у него во рту, и опять посмотрел на генерала. И хитро прищурившись, усмехнулся и сказал:
—Эх, Леша, Леша! Такое дело испортить хочешь! Ты только представь, что будет, если у нас получится!.. Давай лучше ты будешь работать на меня! Больше пользы от этого будет!
— Иваныч! Ты реально псих или из ума уже выжил? Тебя восстановили на службе, чтобы ты большое дело сделал. Проект по перемещению сознания агента в тело любого человека на расстоянии. Ты представляешь, какие это давало возможности нашей организации, нашей стране в конце концов, а ты что тут устроил?! Куда ты агентов в итоге отправил, псих ты полоумный?
Иваныч, а точнее Владимир Иванович, полковник российской армии, технический руководитель исследовательской лаборатории, грустно опустил голову, а потом поднял глаза и украдкой посмотрел на часы, которые висели на стене лаборатории.
— Ладно, Алексей, раз уж тебе так интересно, я расскажу! Да, мне доверили разработку технологии, которая позволяет внедрять сознание подготовленного агента в тело любого человека.
Как ты знаешь, исследования в этой области проводились ещё во времена СССР, и я был единственным, кто принимал в них участие и дожил до наших дней. В то время ты был ещё сопливым патцаном, — с лёгкой насмешкой добавил Иваныч, глядя на генерала, потом он продолжил:
Когда развалился Союз, все лаборатории были закрыты, а исследования уничтожены, чтобы не достаться американцам. И вот, пять лет назад, когда такие вояки, как ты, в очередной раз не оправдали ожиданий, в верхах вспомнили об этих технологиях. Противостоять Западу стало уже почти нечем, и они вспомнили про меня, пригласив возглавить лабораторию.
— И у меня всё получилось! — с гордостью сказал Иваныч, хмуро глядя на генерала.
— Я знаю об этом! — нетерпеливо и нервно сказал генерал, которого полковник небрежно называл Лёшей. — Но потом службе собственной безопасности доложили нечто настолько бредовое, что мы сначала не поверили. Мы решили, что над нашими разведчиками кто-то поиздевался и подсунул бредовую дезинформацию! Мы хотели даже их под трибунал отправить, настолько абсурдно это звучало!
— Ты лучше расскажи, Владимир Иванович, как оказалось, что появилась возможность отправлять сознание агентов в прошлое, в тела других людей, а ты об этом даже не доложил начальству? - спросил его генерал.
Полковник задумчиво посмотрел по сторонам, никто не бы не обратил внимание, что его взгляд на мгновение задержался на часах, которые находились за спиной у генерала. В его глазах опять вспыхнул азарт.
— О, это было что-то! Хотя, если честно признаться, то всё просто случайно вышло! Когда мы применяли уже отработанную методику, в аппаратуре произошел сбой, и оказалось, что сознание агента отправилось в тело случайного человека, а не того, который был запланирован. Но это не главное, а главное то, что сознание переместилось на месяц назад. Агент пришел на конспиративную квартиру и всё подробно доложил! Толковый парень оказался, месяц прождал, чтобы не прийти раньше момента, когда его отправят!
Генерал раздраженно помотал головой.
— И тогда ты, чертов псих, вместе с такими же идиотами решил отправить агентов в прошлое с заданием спасти чертов Совок! Вернуть СССР они решили! Ты реально из ума выжил, Иваныч?! Тебе чего не хватает? Мало квартиры в Москве, которую тебе подарило ведомство? Или зарплата маленькая? Да после того, как ты бы закончил исследования, ты бы жил как падишах!
— Вот именно, Леша! - полковник заметно погрустнел. - Такие ублюдки, как ты, всё мерят деньгами и дальше своего носа ничего не видят. Для вас служба родине — это просто бизнес. Вы приведете нашу страну к полному краху, боюсь, что до этого совсем недолго осталось.
—Господи! Ну и дурак ты все-таки, полковник! Потом будешь проповеди читать, а сейчас соглашайся на сотрудничество, и остаток жизни будешь сытым и довольным. Соглашайся, пока я добрый, ты же понимаешь, что и без тебя мои спецы все равно разберутся во всем оборудовании очень быстро.
Полковник поднял голову и искренне рассмеялся, глядя генералу в глаза. Было заметно, что ему уже довольно тяжело находиться в подвешенном состоянии, но он старался не подавать виду, что ему больно.
— Это ты дурак, Леша! У меня рак последней стадии! Детей я так не нажил! Поэтому тебе запугать и зацепить меня уже просто нечем. Мне жить, наверное, два понедельника осталось! Так что можешь не пыжиться, ничего у тебя не выйдет, а мы с тобой скоро в аду встретимся. А тут скоро всё взлетит на воздух! - полковник сделал полукруговое движение головой.
Генерал снисходительно усмехнулся.
—Считаешь себя самым умным? Да, Иваныч? Ну-ну! Только вот заряды взрывчатки мои саперы уже все сняли! При современной аппаратуре ни одну мину от нас скрыть не удалось.
— Эх, генерал! Мельчает, видно, народец у нас в контрразведке-то! — полковник презрительно и даже с каким-то сожалением в глазах посмотрел на стоявшего перед ним генерала. — Ты что, забыл, что я принимал участие в разработке этих сканеров? ...Так что ты теперь можешь попробовать бежать, ...хотя всё равно уже не успеешь! До встречи в аду, Леша! На рай мы с тобой явно не тянем! — с грустной иронией ухмыльнулся полковник.
Генерал немного изменился в лице и с некоторой тревогой и опаской посмотрел по сторонам.
— Ты блефуешь, полковник! Кончай придуриваться, лучше расскажи, сколько всего агентов ты уже отправил в прошлое?
Полковник уже вполне открыто и демонстративно взглянул на часы и потом перевел взгляд на генерала. Потом с усмешкой сказал:
— Имя им — Легион!
Собственно, самого взрыва они и все, кто находился в здании исследовательского центра, не успели услышать. Одновременный взрыв зарядов по всему зданию усилил разрушительный эффект, и от динамического удара все погибли просто мгновенно.
Маг на полставки с навыками в IT или Как я починил телепорт и не уволился
ПРОЛОГ.
Сцена 1: Шок с налётом абсурда, или «Даже апокалипсис у нас какой-то кривой».
Сцена 2: Бытовуха иномирья, или «На чужбине и пирожок — технология».
Сцена 3: Столкновение с реальностью, или «Меня сейчас или съедят, или оформят по ТК».
ГЛАВА 1.
Сцена 1: Встреча с Лили, или «Инцидент 7Б, или как меня приняли за глючную технику».
Сцена 2: Подвал-офис, или «Отдел ИТ и магических происшествий».
Сцена 3: Знакомство с системой, или «Обновили прошивку и поехали в тартарары».
Дорогой читатель,
Прежде чем вы погрузитесь в текст, мне хотелось бы сказать пару слов напрямую.
Это произведение — для меня в первую очередь творческое хобби, способ переключиться и дать отдых уму. Именно поэтому оно публикуется бесплатно. У меня нет возможности нанять профессионального редактора или корректора, так как все ресурсы уходят на заботу о семье. Прошу отнестись с пониманием к возможным опечаткам, шероховатостям стиля или несовершенству формулировок.
Пишу я урывками, в те редкие и драгоценные окна, что выпадают между основной работой и заботами о новорождённом малыше. Каждая глада — украденное у суеты время.
Перед вами — лишь фрагменты большой истории. По замыслу, материал разросся на целых пять книг. Две из них уже написаны полностью, а здесь я выкладываю отрывки для ознакомления, чтобы найти свою аудиторию и единомышленников.
Я абсолютно позитивно и с благодарностью отношусь к конструктивной критике. Ошибки и недочёты — мои главные учителя. Но есть одна просьба: если вы хотите указать на них, будьте, пожалуйста, конкретны. Фразы вроде «здесь всё плохо» не дают мне возможности понять и улучшить текст. А вот замечание «в абзаце 3 главы 2 нарушена логика диалога» — бесценно.
И последнее, самое важное. Это история со своим настроением, темами и образами. Если какие-то моменты покажутся вам неприятными, задевающими или просто неинтересными — вы всегда можете просто пройти мимо. Ваше время и душевный комфорт дороже всего.
Спасибо, что заглянули. Искренне надеюсь, что среди этих строк вы найдёте что-то близкое для себя.
магия, магия и приключения, попаданец, попаданцы, попаданцы в магический мир, приключения, фэнтези, юмор, юмор и ирония
Ссылка на книгу https://author.today/work/546452
Сцена 3: Знакомство с системой, или «Обновили прошивку и поехали в тартарары»
Ожидание, пока «бодрящий корень» сделает своё дело, заняло ровно три минуты. За это время Дима успел ощутить, как у него немеют кончики пальцев, в висках застучал маленький, но решительный барабанщик, а мир вокруг приобрёл лёгкую, едва уловимую ауру флуоресцентного зелёного цвета. Драк, наблюдавший за этим, согласно кивал.
— Действует. Значит, не подделка. В прошлый раз нам подсунули сушёный мох вместо полыни — я после него только спать захотел. Ладно, раз уж ты в тонусе, пойдём, покажу тебе основную головную боль. Не ту, что у меня после твоего «растворителя», а ту, что в соседнем зале.
Он повёл Диму через низкую арку, завешенную выцветшим занавесом, на котором был вышит логотип Гильдии — что-то среднее между компасом и взъерошенной совой. За аркой находилось более просторное помещение, которое, впрочем, было завалено ещё сильнее, чем главный зал. И в центре этого хаоса возвышалось Оно.
«Узел связи» — это было слишком громкое слово для того, что Дима увидел. На самом видном камне была прикреплена потрёпанная табличка с выгравированной надписью: «Портал Альфа-7. Модель: «Перелётный гусь». Год ввода в эксплуатацию: 312 от В.Э. (Великого Единения). Ответственный: старший техномаг Дракгорн».
— Ну, вот он, красавец, — сказал Драк без тени иронии, а с каким-то болезненным отеческим теплом. —Основной узел связи с тремя соседними секторами. Раньше летал, как миленький! Шесть телепортаций в час, точность до сантиметра, энергопотребление — как у трёх ленивых домовых. Мечта, а не аппарат.
Он вздохнул, полный ностальгии, и потрогал один из камней. Камень в ответ мигнул чуть ярче, будто узнавая хозяина.
— А потом… — голос Драка стал горьким. — А потом пришла комиссия по модернизации из головной Гильдии. Молодые, горячие, с новыми идеями. Говорят: «Дракгорн, у вас тут всё устарело! Рунические цепи образца трёхсотлетней давности! Эфирные фильтры забиты предрассудками! Надо обновлять! Внедрять прогресс!»
Драк с такой силой пнул лежащий на полу обломок какой-то шестерни, что тот со звоном улетел в угол.
— И обновили. Прислали нам новую руническую прошивку. Версия 4.2, кодовое имя «Неудержимый шмель». Говорят, оптимизирована, ускорена, поддерживает многопоточную обработку заклинаний. Установили. Запустили…
Он замолчал, и в его глазах застыла тысячелетняя гномья скорбь.
— И всё. Кирдык. Полный. Сначала он просто начал глючить — отправлял посылки не туда. Потом стал требовать странные ресурсы для активации. Вместо эфирных кристаллов — лепестки роз. Вместо стабилизирующих жезлов — живых мышей. Потом и вовсе сломался вчистую. А через неделю… — Драк понизил голос до конспирологического шёпота, — он проснулся. И теперь он думает, что он — стиральная машинка.
Дима, всё ещё под лёгким кайфом от драконьей полыни, смотрел на портал, пытаясь осмыслить услышанное.
— Стиральная… машинка? — переспросил он.
— Да! — воскликнул Драк. — Он требует загружать в него предметы одежды! Лучше всего — носки. Прямо вот в эту щель. — Он показал на узкую трещину в основании. — А потом начинает гудеть, мигать и пытается отправить их… куда-то. В иное измерение, наверное. Мы пробовали. Загрузили один старый, дырявый носок. Он его принял, полчаса жужжал, а потом выплюнул обратно. Но чистый. Будто новенький. И пахнущий… лилией. С тех пор у нас весь отдел в чистых носках ходит, но пользоваться порталом по назначению не может никто.
Дима не смог сдержаться. Он фыркнул. Потом рассмеялся. Тихим, нервным смехом, который вырывался наружу, несмотря на всю абсурдность и трагичность ситуации. Это было слишком. Слишком знакомо.
— Что? — насупился Драк. — Тебе смешно? Это же катастрофа! Основной транспортный узел филиала!
— Простите, — выдохнул Дима, вытирая слезу. — Просто… у нас в мире была очень похожая история. Только с принтерами.
Драк насторожился.
— С… пра-принтерами? Это что, такие маленькие порталы для бумаги?
— Ну, типа того. И была у нас одна операционная система…. Её обновили до новой версии. И после этого все сетевые принтеры в офисе… — Дима сделал паузу для драматизма, — начали сходить с ума.
В подвале воцарилась тишина. Даже портал на секунду перестал мерцать, будто прислушиваясь.
— Сходить с ума? — недоверчиво переспросил Драк.
— Не совсем, — улыбнулся Дима. — Они просто перестали печатать. Выдавали сообщения об ошибках на арабском языке, хотя в настройках был русский. И отказывались работать по пятницам. Мы месяц не могли понять, в чём дело. Пока не откатили обновление.
Драк уставился на него, потом медленно повернулся к порталу. Он смотрел на груду камней, думающую себя стиральной машинкой, потом снова на Диму. И вдруг на его лице расплылась широкая, понимающая улыбка. Он рассмеялся. Громко, раскатисто, так что задрожали склянки на полках.
— Ха-ха-ха! Так значит, не только у нас дураки прошивки пишут! И у вас там, в вашем мире без магии, та же беда! Обновили — и поехали в тартарары! Ох, Дима, я чувствую, мы с тобой найдём общий язык!
Он хлопнул Диму по плечу, на этот раз чуть мягче.
— Ладно. Раз уж ты специалист по последствиям кривых обновлений… что скажешь? Есть идеи? Как заставить этого «шмеля» снова стать «гусем»?
— Для начала, — сказал он, — нужно посмотреть логи.
Драк моргнул.
— Логи? Это… как протоколы ошибок? Рунические отчёты о работе?
— Да. Всё, что он выдавал в процессе работы до поломки и после. Все сообщения, все предупреждения. У вас же что-то должно было сохраниться?
Драк почесал бороду.
— Сохранилось… Лили! — крикнул он. — Где у нас свитки с диагностикой по Альфе-7?
Из-за занавеса появилась Лили с ещё одной стопкой пергаментов.
— Диагностические отчёты, — сказала она, кладя свитки на относительно чистый ящик. — Сформированы автоматически кристаллом-регистратором. Только предупреждаю: после обновления прошивки он тоже начал чудить. Часть записей зашифрована в формате, который мы не можем прочитать. Другая часть… ну, вы увидите сами.
Дима развернул первый свиток. Рунические символы плясали перед глазами, но постепенно смысл начинал доходить. Он видел строки, похожие на записи в системном логе:
[312-ВЭ. 15:42] Инициализация ядра... OK
[312-ВЭ. 15:43] Загрузка прошивки v.4.2 "Неудержимый шмель"... OK
[312-ВЭ. 15:44] Обнаружен конфликт: руна стабилизации "Гром" несовместима с новым драйвером эфирного потока.
[312-ВЭ. 15:45] Попытка автоматического разрешения конфликта...
[312-ВЭ. 15:46] РЕШЕНИЕ: Переопределение функции руны "Гром". Новая функция: "Ароматизация белья".
[312-ВЭ. 15:47] ПРЕДУПРЕЖДЕНИЕ: Критическое изменение в базовых настройках.
[312-ВЭ. 15:48] Система переходит в режим "Экономная стирка".
— Ну вот, — сказал Дима, показывая строку Драку. — Смотрите. Конфликт драйверов. Система попыталась сама его решить и… переопределила базовую функцию. Вместо стабилизации энергии — «ароматизация белья». И пошло-поехало.
Драк смотрел на запись, и его лицо выражало смесь ярости и восхищения.
— Так вот оно что! Эти идиоты! Они в новой прошивке заменили драйвер эфирного потока, но не обновили таблицу совместимости со старыми рунами! Это же… это как поменять колёса у повозки, но забыть, что оси остались старые!
— Именно, — кивнул Дима. — А система, вместо того чтобы выдать критическую ошибку и остановиться, попыталась адаптироваться. И адаптировалась… в стиральную машинку.
Он развернул ещё несколько свитков. Логи пестрили сообщениями: ИДЁТ ПОИСК ОСТАНОВОЧНЫХ ТОЧЕК... НЕ НАЙДЕНО. ПЕРЕХОД В РЕЖИМ ПОСТОЯННОГО ЦИКЛА, ОШИБКА: НЕ НАЙДЕНА КОРЗИНА ДЛЯ БЕЛЬЯ. ИСПОЛЬЗУЮТСЯ ВНЕШНИЕ РЕСУРСЫ (НОСКИ), и его любимое: ЗАПРОС НА ПОРОШОК ДЛЯ СТИРКИ С ОТБЕЛИВАТЕЛЕМ. РЕСУРС НЕ НАЙДЕН. ЗАМЕНА: ПЫЛЬЦА ВОЛШЕБНЫХ ЦВЕТОВ. АРОМАТ: "ВЕСЕННИЙ ЛЕС".
Лили, прочитав это, вздохнула.
— Вот откуда этот запах лилий. Я думала, это у Маркса новый эль.
— Так что, — подвёл итог Дима, откладывая свитки. — Проблема в кривой прошивке и в её попытках самостоятельно «починить» несовместимость. Нужно либо откатить обновление до старой, рабочей версии, либо найти патч, который исправит конфликт драйверов.
Драк мрачно посмотрел на узел связи.
— Старую прошивку стёрли. При установке новой. «Во имя прогресса». А патч… — он горько усмехнулся. — Головная Гильдия уже полгода не отвечает на наши запросы по этой теме. Видимо, стыдно. Значит, нужно чинить самим. С нуля. Искать, какая именно руна конфликтует, и переписать её взаимодействие с новым драйвером.
Он взглянул на Диму. В его глазах горел огонёк — смесь отчаяния и азарта.
— Ну что, новичок? Готов погрузиться в дебри магического кода, написанного самоуверенными идиотами? Готов пытаться объяснить груде камней, что она — не бытовая техника, а важный транспортный узел?
Дима взглянул на портал. Тот тихонько гудел, и из одной из трещин торчал край какого-то полосатого носка.
— Готов, — сказал он. — Но при двух условиях.
— Каких?
— Первое: вы достаёте мне более-менее внятную документацию по старой архитектуре системы. Хотя бы схемы.
— Будет.
— И второе: — Дима твёрдо посмотрел на Драка, — мы находим этому порталу настоящее применение, пока он в режиме стирки. Например, организуем платную услугу: «Магическая чистка носков. Быстро, гигиенично, с ароматом весеннего леса». Чтобы хоть какую-то пользу приносил. И чтобы на кофе было.
Драк замер, потом медленно кивнул, и в уголках его глаз собрались морщинки от улыбки.
— Договорились. Лили! Готовь рекламные листовки! «Гильдия Магических Путей теперь чистит носки! Скидка на первую партию!»
Лили, ничуть не удивившись, достала чистый пергамент и начала делать пометки.
Маг на полставки с навыками в IT или Как я починил телепорт и не уволился
ПРОЛОГ.
Сцена 1: Шок с налётом абсурда, или «Даже апокалипсис у нас какой-то кривой».
Сцена 2: Бытовуха иномирья, или «На чужбине и пирожок — технология».
Сцена 3: Столкновение с реальностью, или «Меня сейчас или съедят, или оформят по ТК».
ГЛАВА 1.
Сцена 1: Встреча с Лили, или «Инцидент 7Б, или как меня приняли за глючную технику».
Сцена 2: Подвал-офис, или «Отдел ИТ и магических происшествий».
Сцена 3: Знакомство с системой, или «Обновили прошивку и поехали в тартарары».
Дорогой читатель,
Прежде чем вы погрузитесь в текст, мне хотелось бы сказать пару слов напрямую.
Это произведение — для меня в первую очередь творческое хобби, способ переключиться и дать отдых уму. Именно поэтому оно публикуется бесплатно. У меня нет возможности нанять профессионального редактора или корректора, так как все ресурсы уходят на заботу о семье. Прошу отнестись с пониманием к возможным опечаткам, шероховатостям стиля или несовершенству формулировок.
Пишу я урывками, в те редкие и драгоценные окна, что выпадают между основной работой и заботами о новорождённом малыше. Каждая глада — украденное у суеты время.
Перед вами — лишь фрагменты большой истории. По замыслу, материал разросся на целых пять книг. Две из них уже написаны полностью, а здесь я выкладываю отрывки для ознакомления, чтобы найти свою аудиторию и единомышленников.
Я абсолютно позитивно и с благодарностью отношусь к конструктивной критике. Ошибки и недочёты — мои главные учителя. Но есть одна просьба: если вы хотите указать на них, будьте, пожалуйста, конкретны. Фразы вроде «здесь всё плохо» не дают мне возможности понять и улучшить текст. А вот замечание «в абзаце 3 главы 2 нарушена логика диалога» — бесценно.
И последнее, самое важное. Это история со своим настроением, темами и образами. Если какие-то моменты покажутся вам неприятными, задевающими или просто неинтересными — вы всегда можете просто пройти мимо. Ваше время и душевный комфорт дороже всего.
Спасибо, что заглянули. Искренне надеюсь, что среди этих строк вы найдёте что-то близкое для себя.
магия, магия и приключения, попаданец, попаданцы, попаданцы в магический мир, приключения, фэнтези, юмор, юмор и ирония
Ссылка на книгу https://author.today/work/546452
Сцена 2: Подвал-офис, или «Отдел ИТ и магических происшествий»
Штаб-квартира местного филиала Гильдии Магических Путей была не просто подвалом. Это был сырой подвал. Сырость здесь была не фоном, а полноправным сотрудником. Она висела в воздухе холодной пеленой, оседала каплями на медных трубах, проложенных под потолком, и создавала причудливые узоры плесени на стопках пергаментов в дальнем углу. Узоры эти напоминали то ли древние руны, то ли карту метро условного Мегаполиса, составленную сумасшедшим.
Запахи составляли сложную партитуру. Басовую ноту задавала влажная каменная кладка и старое дерево. К ней присоединялся густой, хлебный дух пива, просачивавшийся сквозь перекрытия из таверны (видимо, «У Спящего Валькира» день начинался рано). А поверх всего этого лежал третий, самый характерный аромат — магия. Но не цветочный или благовонный, как можно было бы ожидать. Нет. Это был резкий, едкий запах, напоминающий смесь озона после грозы, перегоревшей микросхемы и… жжёного сахара? Сладковатая нота окончательно сбивала с толку.
— Не обращай внимания, — буркнул Драк, заметив, как Дима морщит нос. — Это стабилизатор в соседней комнате опять перегревается. У него там конденсатор подтекает. Ну, то есть, не конденсатор, а кристалл-накопитель, но суть та же. Воняет гарью и малиной. Привыкнешь.
Они вышли в основное помещение — комнату, служившую одновременно приёмной, архивом, лабораторией и, судя по заваленному крошками и склянками столу в центре, столовой.
Именно на этом столе царил хаос, достойный настоящего техно-магического гения. Среди разобранных механизмов, свёртков с деталями и кружек с остатками неизвестных жидкостей красовалась главная достопримечательность — большая стеклянная колба, наполовину заполненная мутной жидкостью цвета утренней мочи. Рядом лежала записка: «Не пить! Растворитель заклятья №5. Для внешнего и внутреннего (только в крайних случаях) применения».
Драк, не стесняясь, налил из этой колбы себе в походную металлическую кружку добрую порцию, хлопнул и удовлетворённо крякнул.
— Для суставов, — пояснил он, заметив взгляд Димы. — Ревматизм от сырости. И для ясности ума. А то с этими бумагами от Лили можно и крышей поехать.
Сама Лили в этот момент сидела за своим собственным, подчёркнуто аккуратным столом у дальней стены. Перед ней ровными стопками лежали пергаменты, стояли склянки с чернилами разного цвета и висела полка с папками, на которых были аккуратные надписи: «Входящие», «Исходящие», «Нерешаемые», «На удаление (но руки не доходят)».
Но главное, что бросилось в глаза Диме, — это плакат. Он висел прямо над столом Драка, на самой видной стене, и был выполнен в лучших традициях советской производственной пропаганды, только с фэнтезийным уклоном. На жёлтом от времени листе пергамента были нарисованы карикатурные фигурки: маг, у которого от взмаха палочки оторвало бровь, гном, проливающий на себя кипящий реактив, и эльф, неловко роняющий кристалл. Крупными, рублеными буквами сверху было выведено:
МАГИЯ — НЕ ВОЛШЕБСТВО!
СОБЛЮДАЙ ТЕХНИКУ БЕЗОПАСНОСТИ!
А внизу, более мелким почерком:
Пункт 1: Не направляй активные руны на себя и коллег.
Пункт 2: Перед активацией портала убедись, что в зоне телепортации нет домашних животных, мелких духов и начальства.
Пункт 3: Отчётность сдавай вовремя. Магия подождёт, а дедлайн — нет.
— Наше кредо, — кивнул Драк на плакат, снова отхлёбывая из кружки. — Особенно третий пункт. Лили за ним следит, как ястреб.
На столе у Лили как по волшебству приземлился маленький бумажный самолётик, сложенный из пергамента. На его крыле было каллиграфически выведено: «П.3». Лили, не отрываясь от своего документа, ловко поймала его и отложила в стопку «На рассмотрение».
— Так, — сказал Драк, плюхнувшись в своё кресло, которое жалобно заскрипело. — Раз уж ты теперь наш… технический консультант, проведу тебе экскурсию. Вот это — главный зал. Здесь мы принимаем посетителей, если они вдруг найдут дверь. А не найдут — и ладно.
Он махнул рукой в сторону заваленного угла:
— Там — архив. Всё, что старше двадцати лет. Туда лучше не лезть. Там живёт что-то… бумажное. Иногда шуршит. Мы его кормим старыми отчётами, и оно не буянит.
— А это? — Дима указал на массивный, покрытый патиной медный шар, висящий под потолком на цепях.
— Магический ретранслятор. Говорилка. Через него связываемся с другими филиалами и головной конторой. Работает через раз. Чаще всего передаёт не голос, а странные звуки — то бульканье, то скрежет. В прошлый раз мы через него час слушали, как где-то жарят котлеты. Оказалось, перепутали канал с кухней Верховного Мага.
Драк встал и подошёл к дальней стене, где среди труб и проводов виднелась дверца, похожая на дверцу печки.
— А это — наше самое ценное. Серверная. Ну, или как это у вас. Магический узел связи. Сердце инфраструктуры.
Он открыл дверцу. Внутри, в сизом дыму и мерцании десятки крошечных кристаллов, клубилось что-то, напоминавшее паутину из света и статического электричества. Пахло оттуда сильно — той самой «магией» с нотками гари.
— Тут всё держится. На честном слове и на моей молитве. Охлаждение — естественное, через щели в фундаменте. Резервное питание — два гнома-стажёра с динамо-машиной, но они обычно спят. В общем, святая святых. Лезть туда без крайней нужды нельзя. Крайняя нужда — это если совсем всё рухнуло, и Лили не может отправить отчёт.
Лили откашлялась.
— О чём, кстати. Дима, раз уж вы теперь в штате, вам нужно заполнить анкету сотрудника. Форма Г-7 «Личные данные временного технического персонала». И ознакомиться с инструкцией по противопожарной безопасности в помещениях с повышенной магической активностью. Там всего сорок пунктов. Основные: не тушить водой, кристаллы не есть, с домовым не спорить о политике.
Она протянула Диме толстый свиток. Он развернул его. Мелкий почерк описывал сценарии на случай, если «эфирный конденсатор впадёт в резонанс с вашими личными чарами» или «портал начнёт всасывать в себя предметы мебели, начиная с самого неподъёмного».
Драк, тем временем, покопался в ящике стола и вытащил что-то, похожее на бейдж. Точнее, на деревянную табличку на верёвочке. На ней было выжжено: «ДИМА. ТЕХ. КОНСУЛЬТ. (ВРЕМ.)».
— Носи на шее. Чтобы свои не спутали с посторонними. И домовой Степаныч не приставал. Он новых уважает, если у них есть бейдж. У него фетиш.
Дима надел табличку. Она пахла дымом и была шершавой на ощупь. Официальный пропуск в мир магического IT.
В этот момент с потолка посыпалась мелкая штукатурка, и раздался глухой удар, будто что-то тяжёлое упало на пол этажом выше. Все замерли.
— Это Маркс, — спокойно констатировал Драк, отхлёбывая свой «растворитель». — Наверное, бочку уронил. Или новый сорт эля испытывает. Сильно буянит.
Раздался ещё один удар, и с потолка, прямо перед носом у Димы, упала и разбилась небольшая скляночка с чем-то фиолетовым. Жидкость брызнула во все стороны и начала шипеть, выедая в каменном полу маленькую ямку.
— А это, — вздохнула Лили, доставая из стола тряпку и неспешно направляясь к лужице, — это, скорее всего, Гвидо, наш начальник филиала. Он наверху, в каморке за печкой, свой «проект» доделывает. Что-то про вечный двигатель на слезах единорога. Часто что-нибудь взрывается. Не волнуйся, обычно обходится без жертв. Кроме его же самооценки.
Дима стоял посреди этого безумия — с бейджем на шее, со свитком инструкций в руках, под плакатом о технике безопасности, в помещении, где пахло пивом, озоном и разочарованием. Он посмотрел на Драка, попивающего химикат. На Лили, вытирающую едкую жидкость с пола с видом человека, моющего посуду после ужина. На плакат. На дверцу «серверной», из которой валил дым.
И его вдруг осенило. Он понял, где он находится. Это был не просто подвал. Это был отдел технической поддержки. Абсолютно тот же самый. Только вместо компьютеров — кристаллы, вместо патч-кодов — медные трубы, а вместо злого тимлида — ворчливый гном. Но суть — та же. Те же авралы, те же костыльные решения, та же бюрократия и те же попытки поддерживать древнюю, глючную систему в рабочем состоянии, пока она окончательно не рассыпалась в прах.
Он медленно выдохнул. И вдруг ему стало… спокойно. Почти по-домашнему.
— Так, — сказал он, кладя свиток на стол. — А где тут у вас… аналог кофеварки? Или что-то, что бодрит? А то я чувствую, день только начинается.
Драк хмыкнул и указал пальцем на странный агрегат в углу, похожий на самовар, скрещённый с дистиллятором.
— Вон. Кипятильник магический. Вода греется от остаточного излучения кристаллов. Кофе нет. Но есть сушёный корень драконьей полыни. Бодрит так, что потом три дня спать не будешь. Рекомендую на первых порах разбавлять.
Дима направился к «кипятильнику». Путь его лежал мимо Лили, которая, закончив уборку, снова уткнулась в бумаги.
— Форму Г-7, — напомнила она, не глядя на него. — До конца дня. И подпись нужна. Кровью не обязательно, но чернилами с добавлением серебра — желательно. Для защиты от подделки.
«Да, — подумал Дима, наливая в жестяную кружку зловеще бурлящую жидкость из кипятильника. — Определённо, отдел техподдержки. Только dress code свободнее».
Он сделал глоток. На вкус это было похоже на смесь зеленого чая, бензина и надежды. Но бодрило. Очень.
Маг на полставки с навыками в IT или Как я починил телепорт и не уволился
Книга 1. Маг на полставки с навыками в IT или как я починил телепорт и не уволился.
ПРОЛОГ.
Сцена 1: Шок с налётом абсурда, или «Даже апокалипсис у нас какой-то кривой».
Сцена 2: Бытовуха иномирья, или «На чужбине и пирожок — технология».
Сцена 3: Столкновение с реальностью, или «Меня сейчас или съедят, или оформят по ТК».
ГЛАВА 1.
Сцена 1: Встреча с Лили, или «Инцидент 7Б, или как меня приняли за глючную технику».
Сцена 2: Подвал-офис, или «Отдел ИТ и магических происшествий».
Сцена 3: Знакомство с системой, или «Обновили прошивку и поехали в тартарары».
Дорогой читатель,
Прежде чем вы погрузитесь в текст, мне хотелось бы сказать пару слов напрямую.
Это произведение — для меня в первую очередь творческое хобби, способ переключиться и дать отдых уму. Именно поэтому оно публикуется бесплатно. У меня нет возможности нанять профессионального редактора или корректора, так как все ресурсы уходят на заботу о семье. Прошу отнестись с пониманием к возможным опечаткам, шероховатостям стиля или несовершенству формулировок.
Пишу я урывками, в те редкие и драгоценные окна, что выпадают между основной работой и заботами о новорождённом малыше. Каждая глада — украденное у суеты время.
Перед вами — лишь фрагменты большой истории. По замыслу, материал разросся на целых пять книг. Две из них уже написаны полностью, а здесь я выкладываю отрывки для ознакомления, чтобы найти свою аудиторию и единомышленников.
Я абсолютно позитивно и с благодарностью отношусь к конструктивной критике. Ошибки и недочёты — мои главные учителя. Но есть одна просьба: если вы хотите указать на них, будьте, пожалуйста, конкретны. Фразы вроде «здесь всё плохо» не дают мне возможности понять и улучшить текст. А вот замечание «в абзаце 3 главы 2 нарушена логика диалога» — бесценно.
И последнее, самое важное. Это история со своим настроением, темами и образами. Если какие-то моменты покажутся вам неприятными, задевающими или просто неинтересными — вы всегда можете просто пройти мимо. Ваше время и душевный комфорт дороже всего.
Спасибо, что заглянули. Искренне надеюсь, что среди этих строк вы найдёте что-то близкое для себя.
магия, магия и приключения, попаданец, попаданцы, попаданцы в магический мир, приключения, фэнтези, юмор, юмор и ирония
Ссылка на книгу https://author.today/work/546452
ГЛАВА 1
Сцена 1: Встреча с Лили, или «Инцидент 7Б, или как меня приняли за глючную технику»
Сон на сеновале обладал своеобразным шармом. Шармом сена, которое лезло в нос и вызывало непрерывное чихание. Шармом нервной кобылы по имени Гроза, которая под утро решила, что пора начинать день с энергичного бодания головой о перекрытия прямо под ложем Димы. И шармом домового Степаныча, который, судя по звукам, устроил ночью ревизию бочек и теперь что-то ворчал про «недолив» и «руки оторвать».
Дима открыл глаза на рассвете, который здесь был каким-то слишком оранжевым, будто солнце решило выдать режим «сепия» для всего окружающего мира. Он потянулся, и что-то хрустнуло в спине. «Офисное кресло, — с ностальгией подумал он. — Я бы сейчас убил за офисное кресло. И за кофе. Особенно за кофе».
Спустившись вниз, он обнаружил, что таверна «У Спящего Валькира» в утренние часы — это совсем другое заведение. Тишина, прерываемая лишь храпом последних заснувших клиентов, запах пепла и вчерашнего пива, и Маркс за стойкой, с мрачным видом пересчитывающий что-то похожее на цветные камушки.
— А, живой, — буркнул хозяин, увидев Диму. — Кобыла не затоптала. Молодец. На, завтрак. — Он швырнул на стойку кусок чёрного хлеба и кружку чего-то тёплого и мутного, что пахло травами и отдалённо напоминало чай, если чаем назвать кипяток, в котором утонул пучок сена.
Дима поблагодарил и спросил, нет ли работы ещё на сегодня.
— На сегодня? — Маркс усмехнулся. — На сегодня у меня посуда чистая, благодаря тебе и твоему пушистому другу. Шмурдик, кстати, тебя вспоминает добрым словом. Нажрался вчера как свинья. Приходи к вечеру, авось что накопится. А днём — свободен. Иди, прогуляйся. Только не суйся в Тёмный переулок, там гоблины с утра злые. И к магистратуре не подходи близко — опять бюджет урезали, все как змеи.
Дима вышел на улицу, чувствуя себя примерно так же, как после успешного завершения проекта — временно свободен, но без понятия, что делать дальше. Город просыпался. Открывались ставни, на улицы выходили торговцы, и воздух наполнялся более приятными запахами — свежей выпечки, дыма из печей и чего-то цветочного. Он решил просто бродить, запоминая улочки, пытаясь понять логику этого места. Логики, впрочем, не наблюдалось. Рядом с кузницей, откуда летели искры и раздавался звон металла, располагался магазинчик «Магические безделушки и практичные советы», в витрине которого среди светящихся шаров и сушёных лягушек красовалась табличка «Гарантия на предсказания — 30 дней или до первого несчастного случая».
Именно возле этой витрины его и нашли.
— Вы. Да, вы, в странной синтетической броне. Не двигайтесь.
Голос был женским, ровным, лишённым эмоций и звучал так, как звучат автоответчики в службах поддержки, когда у них заканчивается человеческое терпение. Дима обернулся.
Перед ним стояла девушка. Не эльфийка с сияющими глазами и развевающимися волосами, а… офисный работник. Примерно его возраста, в практичном сером платье с высоким воротником, с волосами, собранными в тугой, не терпящий возражений пучок. В одной руке она держала дощечку с прикреплённым пергаментом, в другой — нечто среднее между стилусом и заострённым куском обсидиана. На лице — выражение профессиональной усталости человека, который уже видел всё и которого ничем не удивить. Разве что слегка приподнятая бровь выражала лёгкое раздражение.
— Я с вами говорю, — повторила она, когда Дима просто уставился на неё. — Вы — несанкционированный артефакт, выпавший из портала 7Б вчера в районе семнадцати часов по местному времени. Верно?
Дима медленно кивнул. Его мозг, ещё не до конца проснувшийся после сеновала, пытался обработать информацию. «Несанкционированный артефакт». Звучало обидно. Как будто он не человек, а забытый кем-то USB-накопитель.
— Отлично, — девушка сделала пометку на пергаменте своим острым инструментом. Звук был противный, скребущий. — Тем самым вы нарушили пункт 4.3 Устава о магической санитарии и гигиене межмировых переходов, подпункт «Г», который гласит: «Запрещено появляться в материальном мире без предварительного уведомления и прохождения карантинных мероприятий». А также статью 12, касающуюся незадекларированных магических предметов, если, конечно, ваша одежда обладает скрытыми свойствами, что маловероятно, но проверить необходимо.
Она говорила быстро, чётко, и в её тоне сквозила такая знакомая, родная бюрократическая безысходность, что Дима на миг забыл, где находится.
— Погодите, — наконец выдавил он. — Я не артефакт. Я человек. С планеты Земля. Попал сюда… случайно.
Девушка посмотрела на него так, как смотрят на клиентов, которые утверждают, что «компьютер сам сломался».
— «Случайно», — повторила она без интонации. — Статистика показывает, что 97.3% незапланированных материализаций происходят «случайно». Это не оправдание, а констатация факта низкой культуры пользования магическими инфраструктурами. Ваша «планета Земля» не числится в Реестре одобренных для визитов миров третьей и выше категорий. Следовательно, вы либо контрабандист, либо результат технической ошибки. В любом случае — инцидент. Мой инцидент.
Она снова что-то записала.
— Меня зовут Лили. Я — специалист по внешним связям и инцидент-менеджер местного филиала Гильдии Магических Путей и Непредвиденных Последствий. Проще говоря, я тот человек, который разгребает бумажки и улаживает проблемы, когда кто-то, — она бросила на Диму выразительный взгляд, — решает материализоваться без спросу в нашем секторе реальности. Пройдемте.
— Куда? — спросил Дима, чувствуя, как нарастает паника. Его уже приняли за артефакт, нарушивший санитарные нормы. Куда его теперь повезут? На свалку магического хлама? В архив?
— Для начала — для дачи объяснений и заполнения форм, — сказала Лили, уже разворачиваясь и делая знак следовать за ней. — Форма 7-Г «О незапланированном появлении». Форма 12-Б «Описание артефакта/сущности». Анкета безопасности, где нужно указать, не были ли вы в последние тридцать дней подвержены проклятиям, сглазам, порче и не проявляли ли магических способностей, в том числе непроизвольных. Стандартная процедура.
Она шла быстрым, уверенным шагом, и Диме пришлось почти бежать за ней, чтобы поспеть. Они свернули с главной улицы в узкий, грязный переулок, пахнущий рыбой и сыростью.
— А что будет потом? — спросил он, спотыкаясь о выбоину в мостовой.
— Потом, — не оборачиваясь, сказала Лили, — в зависимости от результатов проверки, классификации и наличия свободных мест: либо вас вернут обратно через портал отправки, либо поместят во временное хранилище, либо, в случае признания вас безопасным, но не репатриируемым, выдадут временный вид на жительство категории «И» — «Инцидентный». С ограничением на магическую деятельность и необходимостью еженедельной отметки в Гильдии.
Дима переваривал эту информацию. «Временное хранилище» звучало хуже всего. Как склад.
— А если портал отправки… не работает? — осторожно поинтересовался он.
Лили на мгновение остановилась и обернулась. В её глазах впервые мелькнуло что-то, кроме профессиональной усталости. Что-то вроде «ох, не начинайте».
— Пока что, — сказала она с лёгким вздохом, — все порталы в секторе, кроме аварийного 7Б, находятся на плановом техническом обслуживании в связи с переходом на новую руническую прошивку. Которая, как выяснилось, содержит ряд критических уязвимостей. Так что репатриация в ближайшее время маловероятна. Поздравляю, ваш случай усложнился.
Она снова пошла, и Дима, понурившись, поплёлся за ней. Они вышли на небольшую площадь, в центре которой стояла та самая таверна «У Спящего Валькира». Лили, не колеблясь, направилась к её боковому входу — той самой чёрной двери, за которой вчера Дима мыл посуду.
— Мы… в таверну? — удивился он.
— Филиал Гильдии располагается в подвале, — сухо пояснила Лили. — Аренда дешевая, близко к точкам нестабильности, и есть соглашение с хозяином о предоставлении кофе в обмен на магическую защиту от возгораний.
Она толкнула дверь, и они вошли не в дворик, а в узкий, тёмный коридор, который вёл вниз по крутой каменной лестнице. Воздух стал ещё более сырым, и запах пива сменился запахом старой бумаги, плесени и того самого «электрического» аромата, который Дима запомнил с первого дня.
Лили щёлкнула пальцами, и на стенах зажглись тусклые шары холодного света, плывущие в стеклянных колбах. Они освещали подвал, который был… офисом. Беспорядочным, хаотичным, но офисом. Повсюду лежали стопки пергаментов, свитков, стояли склянки с непонятными жидкостями, а на стенах висели карты, испещрённые непонятными символами и пометками. В углу дымился и потрескивал небольшой кристалл, излучая тусклое тепло. За грубо сколоченным столом, заваленным чертежами и обломками каких-то механизмов, сидел… гном.
Не сказочный, бородатый весельчак, а тот, кого в нашем мире назвали бы «пожилым инженером-электронщиком на грани нервного срыва». Борода у него была седая, неухоженная и в нескольких местах подпалена. На носу красовались очки с треснувшим стеклом. Он что-то яростно паял, вернее, пытался соединить два кристалла с помощью раскалённой докрасна иглы и какого-то дымящегося флюса, при этом не переставая бубнить под нос:
— …контур не сходится, резонансная частота скачет, как угорелая, стабилизатор опять думает, что он тостер… Кто там? Лили, это ты? Привела нового «гостя»? Очередной несанкционированный артефакт?
— Инцидент 7Б-дельта, — отчеканила Лили, подходя к столу и кладя перед собой свою дощечку с пергаментом. — Объект материализовался вчера, не соответствует ни одной из известных протокольных форм, утверждает, что прибыл с некой «Земли», не числящейся в реестрах. Одежда — синтетика, технология изготовления неизвестна. Магический фон — минимальный, на уровне фонового шума. Предварительная классификация — «Аномалия с признаками разумности, вероятно, неопасная». Имя — Дима.
Гном отложил паяльную иглу и поднял на Диму глаза. Взгляд был усталым, умным и полным того же скепсиса, что и у Лили.
— Дима, значит, — проворчал он. — А я — Драк. Главный по всему этому… — он махнул рукой вокруг, — этому хозяйству. Техномаг, хранитель порталов, инженер-недоучка и главный козёл отпущения, когда что-то идёт не так. А идёт не так всё. Включая тебя.
Он снял очки, протёр их краем бороды и снова надел.
— Ладно, раз уж попал — садись. Рассказывай, как это у тебя получилось — вывалиться именно из портала 7Б? Он у нас десять лет как в аварийном состоянии. Запасной выход, понимаешь? На случай, если основной рухнет. А теперь из запасного выхода вылезают гости. Нехорошо.
Дима сел на единственный свободный табурет, чувствуя себя на допросе. Лили стояла рядом, скрестив руки на груди, с видом человека, который ждёт, когда подсудимый начнёт путаться в показаниях.
И он начал рассказывать. Про корпоратив. Про энергетик. Про пробуждение в каменной будке с табличкой «Не срать. Телепорт». Драк слушал, изредка хмыкая, а когда Дима упомянул про голубые пульсирующие трещины и запах палёной изоляции, его лицо оживилось.
— Хм. Значит, аварийный контур всё ещё подавал признаки жизни. Интересно. Очень интересно. А ты не заметил, мигали ли огни в какой-то последовательности? Длинные вспышки, короткие?
— Я… я не обратил внимания, — признался Дима.
— Типично, — вздохнул Драк. — Пользователи. Все одинаковые. Никогда не смотрят на индикаторы. Ладно.
Лили, тем временем, заполняла формы. Её стилус быстро скользил по пергаменту.
— Так. Место появления: будка телепорта 7Б, сектор «Старая канализация». Время: приблизительно 17:00. Состояние на момент обнаружения: дезориентирован, признаков агрессии не проявлял, взаимодействовал с местным населением, получил пищу в обмен на… — она посмотрела на Диму, — на что, собственно?
— На мой сочувственный взгляд, то есть бесплатно — пробормотал Дима.
Лили подняла бровь, но записала: «Вступил в товарообменные отношения, демонстрируя пассивно-беззащитный вид и элементы непонятной культуры». — Дальше: ночь провёл в таверне «У Спящего Валькира», выполняя работу посудомоя. Работодатель — Маркс, отзыв положительный, несмотря на низкую квалификацию. Контактировал с домовым Степанычем и очистителем Шмурдиком. Побочных эффектов от контактов не выявлено.
Она отложила пергамент и посмотрела на Драка.
— Итак, предварительное заключение: не магическая угроза, не демоническая сущность, не потерявшийся дворф. Просто… инцидент. Человекоподобный.
Драк почесал бороду.
— Ну, если он из мира без магии, но с энергетиками, способными пробивать межмировые барьеры… может, он и правда просто жертва обстоятельств. Хотя с нашей бюрократией… — Он кивнул на Лили. — Ему светит «Инцидентный» статус. С еженедельными отчётами, ограничениями на передвижение и необходимостью трудоустройства через Гильдию.
Лили кивнула, и в её глазах на мгновение мелькнуло что-то похожее на удовлетворение. План был выполнен. Инцидент оформлен.
— Дима, — сказала она, и в её голосе впервые прозвучали нотки, отдалённо напоминающие человеческие. — Поздравляю. Вы официально признаны «Незапланированным мигрантом категории 7Б». Сейчас я оформлю вам временное удостоверение личности на коровьем пергаменте, и вы сможете легально находиться в нашем секторе. При условии, что будете соблюдать правила, не заниматься запрещённой магией и… — она посмотрела на Драка, — возможно, будете полезны.
Драк что-то пробормотал про «лишние руки никогда не помешают» и снова уткнулся в свои кристаллы.
Дима сидел, пытаясь осмыслить всё произошедшее. Его не съели. Не посадили в тюрьму. Его… оформили. Как неисправность. Как инцидент. У него теперь будет удостоверение «незапланированного мигранта». Это было так абсурдно, так по-канцелярски уныло, что он вдруг рассмеялся. Тихим, нервным смехом.
Лили и Драк переглянулись.
— Что? — спросила Лили, снова насторожившись.
— Ничего, — сказал Дима, вытирая глаза. — Просто… в моём мире, когда что-то ломается, тоже сначала заполняют кучу бумаг. А потом ищут, кто виноват. Я, кажется, попал домой. Только дом — это сырой подвал, а виноват — я сам. Классика.
Драк хмыкнул, и в уголке дрогнуло что-то похожее на улыбку.
— Ну, раз он понимает систему, может, и правда не пропадёт. Ладно, новичок. Раз уж ты теперь наш «инцидент», давай познакомимся с твоим новым домом поближе. И с твоим «местом работы». — Он махнул рукой вглубь подвала.
Дима кивнул, чувствуя странное облегчение. Бюрократия, даже магическая, была хоть какой-то системой. А где есть система, там есть шанс в ней разобраться. Пусть даже система эта находилась в подвале под пивной и управлялась ворчливым гномом и уставшей менеджером.
Он пошёл за Драком вглубь подвала, думая о том, что его новая жизнь началась с правильно заполненной формы. И, кажется, это было даже хуже, чем быть съеденным. Но зато — законно.







