Ну, когда результат есть, теорию куда как легче придумать. Так что я под это дело теорию подогнал, посмотрел, что получилось, и холодным потом покрылся. Выходило, что по фигу, какой материал в энергию разлагать; просто, чем легче ядро, тем больше энергии нужно вначале вложить, а выход все равно будет эм-це квадрат. И энергии, получающейся из микрограмма моего тяжелого элемента, чуть-чуть не хватило, чтобы натравить эту бодягу на окружающую нерадиоактивную среду. Рекурсия, особенно неограниченная рекурсия, это, блин, страшная вещь. Аккумулятор к своему чуду я прилепил простой, но надежный – замкнутый поток и обслуживающая структура, предохраняющая от утечек. Чем больше энергии в кольце крутится, тем больше ее надо в обслуживание вкладывать, и существует, конечно, критический предел, когда сохранение кольца потребует больше энергии, чем в нем есть, и все это дело разлетится на хрен, но где этот предел… Я навскидку прикинул – за десять в Двадцать пятой джоулей зашкалило. Всю планету бы в пыль расхреначило, и была бы тут туманность Баранья Голова, блин. Моя, в смысле, голова.
Ну ладно, порадовался я везучести этой планеты в общем и себя в частности, отошел слегонца от переживаний и задумался. Микрограмм-то тот был едва ли не последний. Этой радиоактивной фигни и было-то всего ничего, да и тратил я его поначалу дай боже. По всему выходило, что надо мне к выработке энергии из обычного материала переходить. Превратил я последние крохи моего тяжелого элемента в энергию. Помаленьку, чуть ли не по молекулам отщипывая, чтобы не дай бог. Нехилые в результате получились батарейки, мегатонн на двадцать каждая. Ну и думать начал. Запустить реакцию – фигня, энергии на это пока хватит, надо ее как-то остановить еще. Решил рекурсию вглубь ограничить, передавать, стало быть, параметр, увеличивать его с каждым вложением и дальше определенного уровня не опускаться.
Заложил для начала глубину, равную трем. Запустил. Весь материал распался на хрен-его-знает-что и пшик вышел. Ну я так и ожидал. Закладываю сто – не запускается моя структурка, всю энергию из аккумулятора вычерпывает и дохнет. Закладываю десять – то же самое. Стал разбираться – понял. Параметр-то мой, тоже чуть-чуть, да энергии на себя забирает. А сколько этих параметров хранить надо? Столько же, сколько атомов в моем материале в степени глубины рекурсии. Да тут и чуть-чуть в охренительную прорву превратится. Нельзя, стало быть, параметр передавать.
Решил по времени процесс ограничить. Есть, знаешь ли, в магии возможность эдакий аналог таймера к заклинанию присобачить и обращаться к нему по мере надобности. Вот только раньше я над быстродействием заклинаний не задумывался, а тут пришлось. За сколько времени необходимое количество энергии наберется? Прикинул в уме, решил, что микросекунда – безопаснее некуда, со скважинами всякими загоняться и не стоит. Подвесил материал над столиком, прикрутил заклинание. Только вот одного не продумал – я ж по аналогии с земным компьютером прикидывал, он рекурсивные алгоритмы все равно последовательно выполняет – процессор-то один. А заклинание вполне может реальную параллельность процессов обеспечить. В неограниченном количестве этих самых процессов. Ну и опять я чуть не попал. Ладно, хоть не слишком близко стоял. Запустил свою машинку – хлоп! – и нету столика. Хороший был столик, каменный такой, основательный. А в полу – яма сантиметров тридцать глубиной, круглая такая. И видно, что яма эта – часть шара. Прикинул я пропавшую массу, смотрю на свой перстень, к которому аккумулятор прилепил, и чую, что опять Азраил меня по головке потрепал и мимо пролетел.
Ладно, батарейка заряжена, а что с ней делать? Это можно с паровым котлом сравнить. Есть в нем, скажем, сотня атмосфер, делаешь дырку, приделываешь к ней турбину и радуешься. А если в котле этих атмосфер пара миллиардов; а то и больше? В общем, взял я аккуратно тот перстенек и отправил заклинанием в космос со скоростью где-то километров двадцать в секунду. Есть у меня теория насчет того, что никаких параллельных миров не существует, а все эти порталы – нуль-Т кабины в одной нашей Вселенной; так что, если там, на Земле, астрономы как-нибудь увидят летящий мимо перстень, намекни им, чтоб не трогали, пусть себе дальше летит, лады?
Семен усмехнулся – заметано – и подмигнул.
– Тогда я спокоен, – улыбнулся Вадим. – Ну вот я выяснил, что микросекунда – это много. Казалось бы, чего проще, ну сделай там наносекунду или пикосекунду, а вот фигу там. И вам и нам. Не настолько этот таймер точный. У него один цикл как раз около наносекунды и длится. Плюс-минус трамвайная остановка. Поэтому меньше сотни мегаджоулей за раз у меня получить никак не выходит. Да что там сотни, обычно выходит пять-десять гигаджоулей, и ладно. Ну с этим хоть работать можно, так что особо не жалуюсь. Вот только подумаю иногда, что в котелке, в котором я себе чай кипячу, тонна тротилового эквивалента, и фигею помаленьку. А потом – ничего, опять нормально. Так и живу.
ВАДИК
Вадик вздохнул и раздраженно отодвинул клавиатуру. Зашумели, падая со стола, пустые пивные банки. Вадик задумчиво на них поглядел и принялся философствовать. Несомненно, существует некая сила, целью которой является достижение максимального уровня энтропии, возможного в системе. И не только для термодинамики. Причем в случае приложения некоей противоположной, упорядочивающей силы, первая сила возрастает экспоненциально… Иначе почему так легко написать кривую, но работающую программу и так сложно – работающую, но с красивой внутренней структурой? По логике – должно быть наоборот, а хрен там. Значит, это кому-то выгодно. Значит, здесь проявляет себя некая сила, которая противится упорядоченному. Да мы, программисты, стало быть, просто какие-то солдаты армии Порядка, бойцы первой линии в бою с силами Хаоса.
Вадик развеселился. Ткнул, не глядя, в клавиатуру и попал, конечно: «Not againnn! ARRRGhh», – прорычали динамики голосом умирающего зомби, и экран потух. Вадик потянулся, с наслаждением хрустнув позвонками, и двинулся в поход на кухню. Поле боя осталось за силами Хаоса.
– Сложность всякой программы растет до тех пор, пока не превысит способностей программиста, – пробормотал он, вытягивая из глубин холодильника запотевшую бутылку «Золотого фазана». – Я т-те покажу, превысит! – крикнул он, погрозив кулаком в сторону оставленного компьютера. – Еще посмотрим, кто кого, мазеборд твой за ногу.
Вадик с размаху уселся в низкое кресло, одним духом выпил половину содержимого бутылки и уставился в потолок. Мысли приняли благодушную окраску. Ну, Дванго сейчас наверняка бездельничает. Если, скажем, ему позвонить? И еще Нике. Или лучше Нике позвонить, а Дванго на фиг не надо? Не, лучше позвонить им обоим и еще Meгe. Мега один не придет, Мега придет с бабами. И с двумя, как минимум. Вот и консенсус. Сейшн устроим, ммм… Вадик мечтательно зажмурился и отхлебнул еще. М-да, неплохо. Но не сегодня. Да, завтра. А еще лучше – послезавтра. Потому что завтра надо сдать уже эту четырежды гребаную глюкалу, потому что иначе хрен мне, а не триста баксов. И плакали пятьсот двенадцать метров мозгов, да и холодильник пустоват чего-то. Вадик допил пиво, достал из холодильника две банки «Туборга» и решительно пошагал обратно в комнату.
– Какого, спрашивается, я тебя выключал? – спросил он у безмолвного компьютера и с отвращением ткнул в кнопку «Power».
– «I'm alive!» – торжествующе проревели колонки.
Проблема, если вдуматься, двух байт не стоила. Всего-то нужно – получить данные с пяти устройств. Вот интерфейс, вот его описание. Запустить цикл типа «пока не надоест» и в цикле же опрашивать эти пять устройств – чего уж проще. Но – некрасиво. Поскольку теоретически может возникнуть ситуация пропадания данных, особенно если устройств будет не пять, а хотя бы десять. Поэтому Вадик замутил хитрейшую систему на прерываниях, кладущую данные в общий буфер, использующую отдельные потоки для каждого устройства, семафоры, критические участки… в общем, все, как у людей. Зато устройств эта система могла поддерживать очень много. Почти неограниченно. Заказчик, правда, утверждал, что их и пять-то бывает не всегда, но этот факт Вадика не волновал. Заказчик, как известно, никогда сам не знает, чего хочет. Программисту виднее. Сегодня заказчик говорит – пять, а завтра у него их пятьдесят пять. Так что на фиг. Ибо не фиг.