ID работы: 1334091

Debugging

Слэш
NC-17
Завершён
23
автор
Пэйринг и персонажи:
Размер:
9 страниц, 1 часть
Описание:
Посвящение:
Примечания:
Публикация на других ресурсах:
Уточнять у автора/переводчика
Поделиться:
Награды от читателей:
23 Нравится 2 Отзывы 2 В сборник Скачать

Часть 1

Настройки текста
Лаборатории сегодня были пусты – с этажа выгнали всех посторонних. Остались лишь лучшие умы альянса Нетскейп Коммуникатор: Нетскейп и Композер – единственные способные хоть как-то разобраться в сложившейся ситуации. В воздухе, пропитанном едким, тяжёлым запахом плавящегося металла, разнёсся последний отзвук грохота соприкасающегося железа, эхом пронизывая пустое помещение. – Не мог придумать чего покруче? Обязательно было прицеплять меня к этой штуковине? – Нетскейп раздражённо попытался дернуть рукой, но крепежи надежно фиксировали его и не давали пошевелиться. – Неужто нельзя положить меня на стол, как это делают с обычными больными? – Ты не обычный, – сухо ответил Композер, снимая последний слой бинтов и обнажая грудь браузера. – И это стол, просто вертикальный. А крепежи нужны, потому что иначе ты будешь дергаться, как в прошлый раз. – Кто ж знал, что процедура такая болезненная, – Нетскейп отвернулся. Не хотелось признавать, что во время прошлой проверки он не выдержал и попросту сбежал от Композера. – Теперь потерпи, мне надо будет ввести провода, – Композер достал моток проводов из-под стола и, постепенно раскручивая и кидая их на пол, подошел к Нетскейпу. – На счет три, – редактор взял в обе руки концы провода. – Раз. Два. Три. Нетскейп сжал кулаки и стиснул зубы, откинув голову назад. Композер с хирургическим искусством хладнокровно просунул провода как можно глубже, чтобы подключиться напрямую к кольцу энергообращения. – Это больно, чтоб тебя! – процедил Нетскейп сквозь зубы, боясь, что, если он откроет рот, то откусит себе язык. – Терпи, – Композер установил крепежи и растянул пружины, прикрепляя их к краям дыры в груди Нетскейпа, чтобы можно было растянуть её как можно шире, освобождая обе руки для операции внутри. Первые два провода позволили нейтрализовать защиту, соответствующие установки уже были выставлены в аппарате, к которому они подключались. Далее требовалось вскрыть центральную часть управления, рабочую зону программы. Провода нужно было обернуть вокруг ядра и закрепить на дуге обращения энергии, ограждающей ядро от жидкости в теле. Но пробраться внутрь, не задевая ядра и нейросистемы, было практически невозможно. Одно неловкое движение Композера — и исходный код Нета мог полететь к чертям. Бэкапы были, но восстановление основной программы без самой программы невозможно. – Ещё немного… Ох! – Композер замер, Нетскейп закричал, свет в лаборатории начал мигать. Редактор недовольно цокнул языком, обесточивая поврежденный участок цепи Нетскейпа. – Прости. Включилось аварийное освещение. Приглушенный свет скорее мешал, чем помогал видеть; приходилось изрядно напрягаться, чтоб увидеть место для крепления проводов. Композер взмок. Работа вслепую катастрофически изматывала, а молчание Нетскейпа угнетало. Редактору казалось, что тот вот-вот отключится, — только тяжелое, прерывистое дыхание говорило, что Нетскейп в сознании. – Я закончил, – редактор осторожно вытащил руки из груди Нетскейпа, стянул перчатки и, не глядя, отбросил их прочь . – Надо же… даже старина Композер умеет волноваться, – Нетскейп поднял голову и ухмыльнулся. – Ты вспотел. – Не говори, – Композер склонился над результатами своего труда и осмотрел программное ядро. – Надо перегрузиться и провести дебаггинг. Думаю, проблема именно здесь, – редактор щелкнул пальцем по сферическому корпусу, вызвав вспышку разряда, пробежавшего от ядра к дуге обращения. – Нужен анализ. – Я не чувствую рук, – недовольно буркнул Нетскейп и замолчал. – Это нормально, – редактор включил монитор, отображающий текущее состояние Нетскейпа. Нагрузка, средний показатель активности, территория покрытия, количество пользователей – всё, что могло каким-либо образом характеризовать состояние программы. Композер нахмурился, всматриваясь в цифры. По всему выходило, что состояние Нетскейпа в норме, хоть сейчас отправляй заново покорять рынок. Редактор потёр подбородок, всматриваясь в лицо брата. Тяжелое дыхание, сведенные брови, растрескавшиеся губы, запавшие щёки, седые волосы на висках… Композер снова посмотрел на монитор, провел пальцами по контуру клавиш, раздумывая, брать ли управление. Смешок Нетскейпа вывел его из размышлений. Браузера всегда забавляла нерешительность Композера — при всей его серьезности и способностях он умудрялся страшно долго колебаться. Композер был не только умен, но и осторожен, всегда проверял всё по нескольку раз прежде, чем провести операцию; но даже после сотен исследований не решался сделать следующий шаг, не получив одобрения от Нетскейпа, даже если участие того было не обязательно. Композер выбрал управление мощностью и постепенно снизил её на десять процентов. Шумное дыхание замедлилось и утихло. Не анестезия и не панацея, конечно, но хоть как-то снизить страдания Нетскейпа он мог. – Уберешь эту хрень полностью – цены тебе не будет, – Нетскейп повернул голову из стороны в сторону, разминая шею. – Неправильно. – Что? – То, как ты разминаешь шею, – это неправильно. Только смещаешь шейные позвонки. Гораздо лучше вытянуть подбородок вперед, потом наклонить голову к груди, поднять выше по линии позвоночника… – Эй. – Да? – Кончай с нотациями. Я попросил разобраться с этой болью. – Да, конечно, – Композер провел рукой по лицу, в надежде, что это поможет снять напряжение, – понимаешь, я могу сейчас провести имитацию запуска второго кольца, которое временно заменит тебе ядро, но… – Но? – Система начнет самообновление или пойдет на перезагрузку, всё лишнее будет отключено, твоё ядро снова начнет функционировать, и боль вернется с новой силой. Боюсь, от этого будет только хуже, и я ничем не могу помочь… – Композер почесал затылок и виновато опустил голову. Меньше всего ему сейчас хотелось видеть Нетскейпа. – Проводи свою имитацию. – Но… – Никаких мне больше «но», начальник здесь я. Пусть и никудышный, – браузер расправил плечи и сжал кулаки, готовясь к худшему. – Ладно, запускаю, – Композер проигнорировал самобичевание браузера и запустил эмулятор второго кольца энергоснабжения. Постепенно усиливая параметры от проводов, он отключал ядро, пока энергия того не сошла на ноль, перенаправляя всё энергоснабжение на эмулятор. – Готово. Как ощущения? – Композер подошёл к Нетскейпу. – Отвратительно, – браузер мотнул головой, – но боль прошла. И это несмотря на то, что я стою тут голый, прикованный к какой-то хреновине, со вскрытой грудной клеткой и проводами, торчащими из груди. – Прости, иначе было никак. – Хватит извиняться. Я не зря тебя создал композитором. Руководи, властвуй, чего ты вечно жмешься? Прояви инициативу. – Твой голос, – Композер ошарашено посмотрел на Нетскейпа. – Твой голос, Нет! – А что с моим голосом?.. – браузер не сразу понял, о чем речь, но стоило прислушаться — и до него дошло. После долгих месяцев хрипоты он наконец-то мог говорить нормально, будто снова вернулся в девяносто пятый. Их взгляды встретились, и спустя минуту густого, насыщенного молчания Нетскейп спокойно произнёс: – Ты же понимаешь, что теперь я точно хочу это твоё гребаное кольцо. – Я… Мне нужно будет пару дней, я настрою его под тебя, – проговорил Композер. – Процедура вживления будет… не мгновенной. Скорее всего, тебе придется провисеть так всё это время. – С каких пор ты стал садистом? – ухмыльнулся Нетскейп. – То есть? – вскинул брови Композер. – Вскрыть грудную клетку своего брата, отключить снабжение, вживить кучу проводов, приковать, наслаждаться его криками, – и растянуть всё удовольствие на несколько дней. И не надо говорить, что ничего такого не было, я прекрасно видел, как нагло ты ухмылялся. Тебя заводит чужая боль? В тихом омуте черти водятся, или как там? – Нетскейп наклонил голову набок. – Когда ты успел перенастроить свой код? – Кто-то же должен был стать жёстче, чтобы противостоять твоим врагам, – Композер провел рукой по затылку. – И ты решил, что HTML-редактор, с которым работать пользователю, должен быть жестким? Серьёзно? А я ещё думал, почему это у нас тег layer не приняли! Да потому, что он мог стать потенциальной угрозой для пользователя. – Какая угроза может быть в удобном теге, позволяющем работать со слоями? – Композер был почти возмущен таким заявлением. Тег Layer был полезным предложением, открывавшим новые горизонты: он позволял заменить таблицы и табличную верстку динамическими слоями — но, видимо, люди были ещё не готовы к такому шагу. – И откуда эти перманентные подозрения в неэтичном отношении к пользователю? – А к кому? К Эксплореру? – Почему ты вечно переводишь стрелки на него? – редактор провел ладонью по корпусу отключенного ядра Нетскейпа. – Ты столько внимания уделяешь ему и совсем забыл про себя, про свою семью. – Композер, не увиливай. Что происходит? – Ты прикован, обнажен, не способен сопротивляться, а меня уличили в садизме и получении удовольствия от твоих стонов , – будничным тоном подытожил редактор, откручивая провода от ядра, которое было необходимо вынуть и отправить на экспертизу. – Знаешь ли, это звучит несколько двусмысленно… – Нетскейп нахмурился, пытаясь понять, не имел ли в виду и его братец тот второй смысл, который браузер заметил только сейчас. – Для меня всё звучит предельно ясно, – Композер вытащил ядро и уложил его в специально подготовленный контейнер. – Но… Ты же не хочешь меня… – Нетскейп рассмеялся и натянуто улыбнулся. – Верно?.. – Ответ отрицательный, – лязгающим голосом откликнулся редактор, имитируя алгоритмические скрипты. – Святой Нексус, ты серьезно?.. – будь руки Нетскейпа свободны, он бы обязательно провел ими по лицу. – Брось, – отмахнулся Композер, возвращаясь к монитору с меняющимися данными. Те показывали отличнейший результат; правда, мощность немного упала, но на общем фоне позитивных изменений это могло вполне сойти. – Ты же не думаешь, что я действительно воспользуюсь твоим положением? Нетскейп удивленно посмотрел на Композера, вызвав у того вздох и столь редкую улыбку. – Я не буду тебя трогать, если ты сам этого не захочешь. Уж поверь мне: я вовсе не стал садистом; я просто хотел защитить тебя. Да, для этого мне пришлось несколько изменить точки акцентуаций и собственно положение самоосознания в системе морально-этических координат, зато теперь хоть кто-то из нас может ответить твоему Эксплореру. – Он не «мой Эксплорер», – прорычал браузер. – Бесполезно отрицать, Нет. Ты же сам настроил меня копаться в деталях, собирать и анализировать. – Я согласен. – С чем? Было бы как-то странно отрицать миссию, которую ты сам мне и прописывал, знаешь ли… – Секс, – прервал Композера Нетскейп. – Что? – Я согласен на секс. – Хм, Нет, ты совсем ребенок, – Композер снизил подачу энергии, чтобы дать Нетскейпу возможность уснуть. – А я уж точно не буду заниматься с ребенком ничем непристойным. – Я не ребенок! – Тогда докажи, что взрослый. Разберись со своими жуками, а уж потом говори что-то, – редактор закончил проверку текущего состояния Нетскейпа и в последний раз взглянул на данные. Теперь можно было наконец отдыхать. Покинуть лабораторию, разумеется, было бы не самым лучшим решением сейчас, когда Нетскейп настолько беззащитен, поэтому Композер решил остаться здесь и завалился подремать на диван у стены. – И не думай, что буйные поступки доказывают твою взрослость. Ты вечно бежишь впереди планеты всей, словно подросток, что-то доказывающий своим родителям и всему миру, – Композер постучал себе пальцем по лбу. – Вот здесь лучше будь взрослым, м? – Иди к черту. – Как раз собирался, – Композер усмехнулся, сложил руки на груди и уснул. Когда Нетскейп вынырнул из своего искусственного сна, Композер уже возился с его ядром. Шар, утыканный штекерами и проводами, мало был похож на источник жизненной силы программы, — скорее на свернувшегося Моза. Нетскейп поймал себя на сомнениях в том, что он может вот так вот видеть свое сердце и при этом оставаться живым; довольно-таки противное ощущение. – Композер… – М? – редактор снял очки с увеличительным стеклом, сделанные специально для работы с мелкими деталями, и посмотрел на браузера. – Что-то случилось? – У меня руки затекли. – Врунишка, – редактор вернул очки на место и снова склонился к ядру. – Я ещё вчера отключил тебе конечности, ты вообще не можешь их чувствовать, с чего у тебя что-то могло «затечь»? – Ты и вправду садист! – А ты ребенок. Нетскейп надулся, но Композер даже не обратил внимания. Дебаггинг не показывал никаких заражений и повреждений, но проблема явно была в ядре. Единственное, что явно и безусловно было не так — это царапина от пули, проходящая по самому краю корпуса, но ведь это не могло повлиять на работу, если только… – Нет, пулю Эксплорера так и не нашли? – Не нашли. Отвяжи меня наконец. – Не могу, – редактор покрутил в руке ядро и подошёл к Нетскейпу. Пуля, которую так и не нашли. Не могла же она повредить оболочку и ядро, а сама при этом пропасть? – Если я тебя сейчас отвяжу, короткое замыкание гарантировано. Тебе не терпится подохнуть? – С тобой я в любом случае долго не протяну, – Нетскейп скорчил рожу и отвернулся. Композер воспользовался моментом и, отодвинув в сторону часть обвисших проводов, вставил ядро на место. Нетскейп повернул голову и посмотрел недоумённо: – Ты же хотел его сменить, нет? – Хотел, но не сменить, а создать временную альтернативу — это раз; два — создать абсолютный аналог ядра мне не подвластно, сам понимаешь, не в этом мире. – А что с «временной альтернативой»? – Будет готово завтра вечером. Или днём. Вживление в любом случае будет тяжелым, так что... – Композер прошёл к своему рабочему месту, на ходу протирая руки салфеткой: контакт с чужими внутренностями всегда оставлял неприятное ощущение на руках. А иногда не только ощущение, но и часть кода или установок. Отвратительно, да и не всегда безопасно. – Как-нибудь переживу. – Я буду в это верить. Аналог ядра был, по сути, таким же генератором, как и само ядро, с одной лишь разницей: ядру не нужна была подзарядка, а вот дуговому аналогу – да. Придумать что-то лучше Композер не смог. И дело даже не во времени, — он просто знал, что не способен на большее; это кольцо было лучшее, что он мог сейчас сделать для Нетскейпа. Не единственное, но самое лучшее. Композер снял рабочие очки и потер переносицу. Зрячему редактору сложно было представить, как Нетскейп ходил в очках постоянно. Аналог ядра был почти готов, тесты показывали полную поддержку свойств и возможностей; оставалось надеяться, что организм браузера не отторгнет новый орган, код нормально накатится на подменный движок. Композер прокрутил в руке отрезанный кусок провода. Нетскейп был прав: Композер совершенно не умел принимать решения, сознание собственной правоты ему не помогало. Решимость. То, что было в избытке у Нетскейпа, у Композера уходило в ноль. По иронии судьбы он был, пожалуй, самым нерешительным из братьев. Редактор подпер щеку рукой и посмотрел на спящего брата. До утра оставалось ещё несколько часов; часа три — и он закончит сборку, но вот для подготовки операции ему потребуется ещё полдня. Творить, создавать — это пожалуйста; но запускать, управлять и проявлять инициативу… Композер бросил взгляд на стопку бумаг с анализом всех плагинов и дополнений Нетскейп Коммуникатора. Там были и его собственные свойства, и ключи доступа к исправлению свойств. Редактор вытащил свою папку, перебрал листы с личностными качествами. – Ты явно дал маху с моим названием, Нет. – Я закончил со сборкой. – Вау, я думал, что тебе понадобится больше времени, чтоб решиться. – Не понимаю, о чём ты. – И это я «ещё ребенок», – Нетскейп демонстративно закатил глаза, но Композер проигнорировал и это. Он и без насмешек браузера прекрасно отдавал себе отчёт в том, что провел в колебаниях гораздо больше времени, чем над собственно сборкой. Увы, да, это лишний раз доказало правоту Нетскейпа и проблемы Композера. Редактор подошёл к больному и нажал несколько кнопок на торце установки, к которой тот был прикреплен. Стол с прикрепленным к нему Нескейпом постепенно начал опускаться горизонтально. – Так ты мог меня давным-давно опустить! Какого черта!.. Ауч! – браузер сперва морщился от резкой боли, а потом и вовсе заорал, в то время как аппарат продолжал перемещать его в горизонтальное положение. – Вот поэтому я и держал тебя в вертикальном положении, – редактор наклонил голову, прижимая ухо к плечу. Так он хоть одно ухо он спасет от глухоты. Кому нужен глухой HTML-редактор? Да ещё и садист. Композер закончил с опусканием стола и натянул перчатки. Быстрым движением выдернув один из проводов в груди браузера, он временно отключил звук Нетскейпу. Боли тому это, конечно, не сняло, зато теперь Композер мог сосредоточиться на операции. Сейчас любое движение приводило к разрывам или замыканию связей. Боль нескольких миллионов отказов системы одновременно. Сообщения об ошибках непрерывным потоком лились сквозь сознание Нетскейпа. Композер с трудом подавил желание прикрыть чем-нибудь лицо браузера: стыдно быть настолько трусливым эгоистом, придётся терпеть. Каждый фрагмент аналога ядра требовалось вставить между старым ядром и дугой энергообращения, не задев провода. Время поджимало, долгих мук Нетскейп мог и не выдержать. Один за другим опуская фрагменты в магнитное поле кольца энергообращения и убирая в сторону провода, Композер собирал новую деталь прямо в чужом теле. Такого напряжения он не ощущал никогда, несмотря на то, что уже пересобрал не один алгоритм. Редактор повертел шеей, чувствуя, как всё тело затекает от напряжения. Последний из тридцати двух фрагментов встал на место, повиснув в груди Нетскейпа. Оставалось тонкое кольцо, собирающее всё воедино и перетягивающее поле от ядра на себя. Композер старался не смотреть Нетскейпу в лицо: любое сомнение сейчас могло стоить драгоценных милисекунд. Кольцо встало, притягивая к себе фрагменты аналога, и через миллисекунду упало на заднюю стенку корпуса Нетскейпа. Магнитное поле исчезло – кольцо энергообращения прекратило действовать. Свет в лаборатории погас, браузер прекратил дергаться, пальцы разжались. Композер опустился на пол. Он всё проверил, всё взвесил — и всё-таки просчитался? Надо было ещё подумать, оттянуть операцию? Или всё это оттого, что следовало действовать жестче и быстрее? Редактор провел рукой по вспотевшему лбу. Всё кончилось быстрее, чем он думал. Даже как-то грустно стало. Он оказался неправ, совсем неправ. Головы коснулась холодная рука. Композер посмотрел вверх. Нетскейп хмуро смотрел на брата. В приглушенном аварийном освещении различить нужный провод было непросто, даже хорошо зная их назначение. Выбрав один из зеленых штекеров, Нетскейп воткнул его в дугу энергообращения. – Ауч! О, – Нетскейп откашлялся. – Мог бы и сам мне вернуть голос, не находишь? Тоже мне доктор, – браузер с улыбкой потрепал волосы сидящего на полу Композера. – У тебя получилось, мой композитор. – Как ты… – Композер хотел спросить, как браузеру удалось выжить после неудачной операции, после клинической смерти, но с языка почему-то сорвался совсем другой вопрос: – Как тебе удалось избавиться от крепежей? – От крепежей? Это всё, о чём ты хочешь спросить? – Нетскейп потер запястье и пожал плечами. – Я мог их снять с самого начала. Просто ты сказал не дергаться, и я решил, что не буду. А ты мог быть и поласковее, – Браузер спустил ноги с операционного стола и легонько пнул Композера. – Если бы я сдох у тебя на руках, мой призрак преследовал тебя бы до конца жизни. – У программ не бывает призраков, – редактор схватил ногу Нетскейпа, чтобы предотвратить следующий удар. Эти пинки не были болезненными, но уж такие правила игры. – Ты как? – В порядке, – Нетскейп попытался вернуть свою ногу, но вырваться из хватки Композера было невозможно. По крайней мере, пока браузер не чувствовал себя достаточно сильным. – Слушай, ты можешь закончить операцию? Или мне так и ходить с внутренностями наружу? Прохладно, знаешь ли. – Странно, что ты вообще можешь сидеть, – Композер усмехнулся и поднялся с пола. Проведя рукой по ноге Нетскейпа, оставил ладонь на его бедре. – Сиди смирно, – Композер аккуратно отсоединил лишние провода, которые нужны были только для анализа, и подсоединил те, которые вынул раньше, чтобы снизить нагрузку на конечности браузера. Нетскейп выдохнул с облегчением, когда Композер подключил последний провод. Странная реакция для того, кто только что получил все свои боли обратно; но, пожалуй, совершенно нормальная для того, кто два дня не чувствовал ни рук, ни ног. – Подожди, – Нетскейп положил ладонь на руку Композера, когда тот собирался убирать крепежи растяжек на груди. – Можешь сейчас ответить мне на вопрос? – Какой? – Композер удивленно смотрел в глаза браузера. Того было не узнать: где привычное нахальство, где издевки? где его брат? Что за дрожащий взгляд и неуверенное выражение лица? Редактор осторожно убрал руку. – Что-то всё-таки не так? – Нет, всё в порядке. Мне просто интересно… Почему? Тогда ты сказал, что хочешь меня. Что тебя во мне заводит? С чего вообще можно хотеть такого, как я? – С того, – Композер пожал плечами. – Как бы там ни было, вид твоих внутренностей меня уж точно не привлекает, так что можешь отпустить мою руку, – редактор отцепил крепежи растяжек, когда его просьба была выполнена. Теперь оставалось лишь ждать, когда всё само восстановится — хотя на это могло уйти несколько часов и много энергии. – Симпатии – это не то, что можно описать или настроить, Нет. Я просто знаю, что ты мне нравишься не только как брат, вот и всё. – Как-то неубедительно это звучит, – Нетскейп поджал губу. – Хотя твоя рука всё ещё на моём бедре, и у меня нет выбора, кроме как поверить тебе на слово, верно? – Что-то вроде, – Композер с улыбкой смотрел Нетскейпу в глаза, не собираясь убирать руки. Если Нетскейп хотел, он бы давно уже вышвырнул Композера, на это ему сил уж хватило бы. – Что, если я соглашусь? У меня было достаточно времени обдумать, и… – «И»? – Не передразнивай, – браузер ударил редактора коленом. – Я хотел сказать, что я не против попробовать. – Только попробовать? – Да! – Нетскейп отвернулся и провел рукой по шее. – У меня ещё никогда ничего подобного не было, и мне интересно, что ты имеешь в виду. – То же, что и все. – Тогда мне интересно, что имеют в виду все, и хватит придираться к словам! Лучше бы делом занялся… – Как скажешь, – редактор склонился ниже, провел по контуру уха браузера языком и прикусил мочку. – Какого черта ты творишь? – Нетскейп невольно дернулся и хотел оттолкнуть покушающегося на его уши, но Композер вовремя схватил его руку. – Занимаюсь делом, – Композер прикоснулся губами к шее Нетскейпа. – Проявляю инициативу, – он спустился поцелуями ниже, провел языком от ключицы до впадины на груди, – властвую. Нетскейп шумно выдохнул, Композер улыбнулся и провел ладонью по восстанавливающейся коже. В течение получаса, может, чуть больше, дыра должна была затянуться сама, безо всяких специальных операций, швов и рубцов. Оболочка – то, что можно заменить, растянуть до любых размеров, заполнить любым содержимым. Самое важное — в программном коде, в движке, остальное – мишура для заполнения пространства, функции оболочки, собранной по образу и подобию создателя. Композера всегда забавляли такие аналогии с Их верованиями и религиями. – Эй. – Мне уже кажется, что меня так зовут, Нет. А это обидно, – Композер прикусил кожу на плече Нетскейпа. След тут же рассосался: показатель того, что оболочка в полном порядке. А ведь Композер даже не провел проверку, хотя надо было бы. Браузер и вправду пагубно влиял на него. – Это потому, что ты отвлекаешься, – Нетскейп повел плечом. – Ни капли. – Врешь, – браузер положил ладонь на затылок редактора и наклонил его. – Сконцентрируйся, брат, – Нетскейп притянул Композера ближе, захватил его рот глубоким поцелуем, провел кончиком языка по нёбу, — за что ему тут же чуть не откусили язык. Нетскейп мысленно улыбнулся: редактор не торопился забирать инициативу, но и не позволял браузеру делать всё, что тот захочет. Нетскейпу это начинало нравиться, — если уж братец не был способен на доминирование, то, может, он хотя бы сгодится на роль стоп-крана? Нетскейп развел ноги, позволяя Композеру прижаться теснее. Редактор тут же воспользовался возможностью и, прижавшись плотнее, повалил брата на хирургический стол. – Ох, решил взять всё в свои руки? Куда же дели моего нерешительного брата? – Кто бы говорил, – Композер подцепил пальцем затягивающуюся дырку в плоти Нетскейпа. – Эта оболочка не позволит тебе получить полного удовольствия. Но один способ я знаю. – Н-да? – браузер приподнялся на локтях. – Просвети. – Как скажешь, – редактор провел пальцем ниже, распуская только что затянувшуюся кожу. Нетскейп закусил губу и упал обратно на стол. – Правильно, – Композер довольно ухмыльнулся, продолжая разрывать кожу и заставляя стонать Нетскейпа от боли. У края кольца энергообращения он остановился, чтобы отодрать крепеж. Браузер закричал, редактор опустил руку в теплую жидкость, заменяющую кровь в антропоморфной оболочке и по консистенции больше напоминавшую гель, стараясь просунуть ладонь между органов. Прижав левой рукой брыкающегося Нетскейпа к столу, Композер обхватил пальцами ствол, до которого, наконец, удалось добраться. Что-то вроде скелета для оболочки, позволяющего не растекаться по полу лужей. Однако к одному из позвонков крепился пучок проводов, отвечающих за движения. – Постарайся не кричать громко, – Композер склонился ниже, провел языком по обветренным губам Нетскейпа. – И не прикуси себе язык, – закрыв ладонью Нетскейпу рот, он сдвинул позвонки, замыкая связи. На глазах браузера выступили слезы, свет в лаборатории снова замигал, а Композер начал мысленно считать до десяти. Раз, два. По пальцам от позвоночника шел ток, пробираясь под ногти, доставая до прокладки под кожей, будоража оболочку, заставляя терпеть, невольно стиснув зубы. Три, четыре. Перегрузка выше нормы – вот что мог с уверенностью констатировать сейчас Композитор. Пять, шесть. Но оно того стоило, небольшое изменение центра удовольствий. Семь, восемь. Ради достижения цели. – Девять, десять, – Композитор вытащил руку и свел куски оболочки, чтобы ускорить процесс связки. – Ты идиот, – Нетскейп сплюнул сгусток крови, скопившейся во рту. – Что за хрень ты учудил? Что это сейчас было?! – Надо было перестроить твоё тело. И… – Композер убедился, что кожа начала схватываться, и придерживать её больше не обязательно. Опустив руку ниже, он неторопливо провел ладонью по бедру Нетскейпа, снаружи и внутри, затем между ног, и наконец погладил твердеющий член, – вызвать хоть немного желания. – Для этого надо было вскрывать меня? – Нетскейп снова начал тяжело дышать. – Что ты со мной сделал?.. – браузеру подозрительно, неестественно сильно нравились прикосновения Композера, по телу разбегались электрические разряды, перед глазами всплывали сообщения об ошибках, но тут же распадались на биты, в голове стоял шум, похлеще гула модема. – Добавил тебе чувствительности, – Композитор провел пальцами по всей длине члена, перемещаясь ближе к заднице Нетскейпа. Браузер сладко застонал, когда пальцы редактора провели по основанию мошонки. Композер улыбнулся и принялся растягивать его пальцами, вымазанными в его же крови. Браузер продолжал стонать, тяжело дышал, пытаясь ухватиться за крепежи на столе, тихо матерился на брата и вновь ловил пересохшими губами воздух и поцелуи редактора. Композер старался двигаться аккуратнее, давая Нетскейпу привыкнуть к новым ощущениям — сначала от пальцев, потом от длины и объема члена самого редактора. Стоны браузера были восхитительны, они заставляли редактора забыть про осторожность, почувствовать себя окончательно помешавшимся на собственных симпатиях, чувствах, сбое в программном коде, в основных свойствах. Нетскейп ухватился за один из крепежей в попытке подтянуться на нём и вырваться, но его тут же вернули на место, разрывая кожу на плече. Оболочка не успевала восстанавливаться — слишком большое количество энергии было задействовано в восстановлении грудной клетки и живота. Нетскейп корчился от боли и наслаждения одновременно, перед его глазами плыл чуть ли не весь изначальный код, включая комментарии разработчиков. – Теперь ты доволен? – Да, – Композер осмотрел халат и брюки. Кое-где остались пятна крови Нетскейпа. – Прости, я, кажется, перестарался. – Да нет, что ты, – Нетскейп провел рукой по шву, от чего тот тут же начал распускаться. – Ты совсем не перестарался, ага. – Я всё починю. – Вызови лучше логический, у меня есть задание ему. – Какое? – Композер послушно нажал кнопку вызова, но не мог не поинтересоваться. – Да так. Когда пройдут твои изменения в моих свойствах оболочки? Я уж лучше буду терпеть удушье, чем стану человеком с этими твоими «желаниями и потребностями». – С перезагрузкой системы. Но от этого распадется аналог ядра, так что ты снова начнешь умирать, – Композер подошел к Нетскейпу, опускаясь на колени перед ним. – Я не хочу, чтобы ты умер, Нет. – Тч, – Нетскейп легонько пнул Композера. – Нашел время. – И чем же сейчас не то время? – Не то, – браузер наклонился, положив руки на шею Композера. – Совсем не то, – Нетскейп резко повернул его голову, сворачивая шею редактору. Тело с железным грохотом рухнуло на пол. На пороге лаборатории появился один из логических алгоритмов: – Вызывали, сэр? – Да, – Нетскейп стянул с Композера халат, накидывая его на себя. – Во-первых, принеси мне одежду, во-вторых, отрой старые бэкапы Композера, он… – браузер бросил короткий взгляд на лежащее тело. – Немного повредился. И обеспечь мне полный контроль за его свойствами и личностными качествами. Всё уяснил? – Так точно. – Вот и чудненько, – браузер присел на корточки рядом с телом брата. – Плохо забывать, кто тут старший и кто первый Мозилла, мой композитор.
По желанию автора, комментировать могут только зарегистрированные пользователи.
Права на все произведения, опубликованные на сайте, принадлежат авторам произведений. Администрация не несет ответственности за содержание работ.