Попов Алексей Анатольевич : другие произведения.

Призрак компьютера

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:
Школа кожевенного мастерства: сумки, ремни своими руками
 Ваша оценка:
  • Аннотация:
    Есть ли жизнь в кремнии? По мотивам реального случая из моей ФИДОшной юности.

  Ваня Пуговкин, 17-летний вундеркинд, программист-самоучка, мечтающий стать хакером, ФИДОшник с трехлетним стажем и член группы CHL (Cool Hakerz League), подписывающий свою электронную почту псевдонимом DaR|< A\/EnGer, сидел за своим стареньким, любовно собранном четыре года назад на коленке из дешевых деталей, компьютером и отлаживал программу. Было уже далеко заполночь. Сияла полная луна. Живи Ваня в деревне, он слышал бы вой собак. Но Пуговкин был горожанином, и его слух лишь изредка тревожили рулады автомобильной сигнализации.
  
  Программа, которую отлаживал Ваня, была частью секретного проекта CHL "Megadeath Ray Dance". Члены "Лиги" собирались продемонстрировать этот проект на ежегодном съезде хакеров СНГ, намеченном в Питере на конец августа. И не просто продемонстрировать, а занять с его помощью первое место и окончательно утвердиться на хакерском Олимпе.
  
  Ваня бился над программой уже вторую неделю. Ее задачей было считывать из внешнего файла данные и на их основе синтезировать на экране изображение поверхности - сушу, либо море. Нужно было смоделировать волны, холмы, ложбины и тому подобные детали рельефа, причем как можно правдоподобнее. Дома, дороги, автомобили, деревья и НЛО, парящее над всем этим, создавались другими модулями, которыми занимались остальные участники немногочисленной Лиги.
  
  Алгоритм синтеза поверхности, широко известный в узких кругах хакеров под загадочным названием voxel space, был скопирован Ваней с одной финской демки, исходники которой ему обменял на пиво знакомый, подрабатывавший помощником сисадмина и имевший выход в Интернет. Конечно, Ваня кое-что подправил в довольно-таки плохо написанном коде, ведь общеизвестно, что школа программистов на Ассемблере России и других стран бывшего Советского Союза - лучшая в мире. Алгоритм заработал на 4,5% быстрее, хотя иногда на экране стала появляться непонятная рябь. Впрочем, это были пустяки.
  
  Самым сложным для Вани оказалось написать ту часть программы, которая считывала данные и преобразовывала их в удобоваримое для финского алгоритма представление. Поначалу Ваня хотел писать ее также на Ассемблере, но быстро понял, что так успеет не к августу, а к октябрю, причем следующего года. Тогда он взял в руки компилятор Си, списанный в проектном институте, где его группа проходила производственную практику, и начал все с начала.
  
  Костяк программы был написан и отлажен за три дня, что вселило в Ваню уверенность в победе и себе самом. Однако код, прекрасно рисовавший простенькие пейзажи, выбранные Ваней для тестирования, на реальных данных показывал почему-то мешанину цветных пикселей. И вот уже вторую неделю DaR|< A\/EnGer по ночам пытался понять, что не так с его программой.
  
  Очередной раз зайдя в отладчик, Ваня быстренько, в пошаговом режиме, пробежал стартовую часть программы и углубился в основной код. Войдя в очередную функцию, он автоматически потянулся к клавише F7, как вдруг его взгляд упал на окошко, показывавшее содержимое локальных переменных. При входе в функцию им еще не присвоены начальные значения и обычно это окошко показывало всякую белиберду. Но в этот раз одна из переменных, текстовая строка, гласила следующее: "i got tired". Ване этот текст показался осмысленным и знакомым, и он полез за словарем. Как и положено классному программисту, Пуговкин хорошо знал технический английский. Однако загадочная фраза была явно литературной.
  
  Полистав напряженно словарь пару минут, Ваня перевел надпись. Получилось: "Я получил устал". Это не имело смысла, и Ваня попробовал творчески переработать результат. Вышло просто: "Я устал".
  
  Ваня почесал затылок, хмыкнул и вернулся к увлекательному процессу отладки. Мало ли бывает совпадений.
  
  Минут через десять, исправив очередную ошибку, Ваня снова влез в отладчик. И так получилось, что, когда курсор отладчика снова оказался в начале той же функции его взгляд опять упал на окошко с локальными переменными. Как Вы уже догадались, в той самой строке светилась осмысленная фраза: "i feel sick". Ваня несколько секунд глазел на новую надпись и полез за словарем. В переводе текст значил: "Я чувствую болезнь". Подумав, Ваня немного переиначил перевод: "Я плохо себя чувствую".
  
  Пуговкин положил словарь рядом с клавиатурой и задумался. Он любил фантастику, и не раз читал рассказы, как компьютеры становились разумными и учиняли бунт против своих двуногих хозяев. Но то была выдумка, а это... Да нет, чушь все это, просто совпадение.
  
  Решив так, Ваня твердо нажал F7, отладчик исполнил первую строку кода пресловутой функции и надпись исчезла.
  
  На поиск и исправление следующей ошибки у Вани ушло больше получаса, пришлось целиком переписать довольно большой участок программы. Когда все, наконец, вновь скомпилировалось, Ваня снова вошел в отладчик, пробежался по началу кода. И когда курсор остановился в точке вызова загадочной функции, Ваня замер в нерешительности. Собрался с духом и нажал F7.
  
  В окошке локальных переменных загорелась надпись: "leave me alone please". Тяжело вздохнув, Ваня потянулся к словарю.
  
  В переводе получилось: "Оставь меня одного, пожалуйста". Ване стало не по себе. Его компьютер вел себя, как простуженный человек, которого все время тормошат. Но почему он говорил по-английски? Ведь его детали происходили из Тайваня и Индонезии.
  
  Подумав, Ваня решил, что раз почти все программное обеспечение "говорит" по-английски, то и сам компьютер тоже должен говорить по-английски, хотя, вероятно, и с легким хакерским акцентом. Ведь программы - это своего рода душа компьютера. Без них он просто железная коробка, набитая медной проволокой, кремниевым песком и пластмассой.
  
  Но может ли компьютер болеть? Нет, конечно. Хотя... Ваня стал вспоминать, как давно включил свою машину.
  
  Когда он вернулся из института, компьютер работал, на нем мама Вани играла в "Шарики". До нее на нем работал отец, печатал квартальный отчет. Утром Ваня читал ФИДОшную почту, пришедшую ночью. Вечером предыдущего дня Ваня также сидел отлаживал программу, читал почту, играл в "Дум"... До этого вечером мама, а днем - болеющая насморком сестра играли в "Шарики". Утром Ваня в спешке перед занятиями в институте пытался сгрузить почту вручную, так как ночью до повис модем. А вечером предыдущего дня Ваня также читал почту и отлаживал программу...
  
  После нескольких минут напряженных воспоминаний, Ваня пришел к выводу, что его компьютер не выключался уже почти четверо суток подряд. Устал?..
  
  Тут взгляд Вани упал на часы, стоявшие на тумбочке. Они показывали полтретьего ночи. А вставать придется полседьмого утра. DaR|< A\/EnGer'у вдруг жутко захотелось спать.
  
  - Так, все, - сказал он сам себе вслух, - Пора в постельку. А то уже глюки начались.
  
  Сначала Пуговкин хотел было цивилизованно выйти из отладчика, но передумал и просто повернул выключатель. Встал из-за стола, сладко потянулся и пошел в ванную, засыпая на ходу, как это и принято у настоящих хакеров.
  
  * * *
  
  Разрывая цепь питания, щелкнул тумблер. В глубинах микросхем памяти закружились вихри электронов, выравнивая потенциалы в микроскопических конденсаторах, стирая хранившуюся на них информацию, превращая ее в ничто. Погасли светодиоды, магнитные диски винчестера стали останавливаться.
  
  Последней мыслью старенького компьютера перед погружением в электронный сон без сновидений, стала: "at last this little stupid set me free and i may take some sleep...".
  
  Алексей А. Попов, Москва, 1999
 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список

Кожевенное мастерство | Сайт "Художники" | Доска об'явлений "Книги"