прелестях домашнего очага, о средствах против демонов и болезней, и Аюверде, подарившей векам знание о вредном и полезном, и о том, что есть долголетие. Кашмирская хроника переливалась в песне блеском прошедшей любви и событиями прошлой жизни, и торжественные, но непоследовательные гимны Ригведы переходили от Вишвакармана к Пуруши, и от них к Золотому Зародышу.
А. сидел на рабочем месте и вслушивался в древнюю песню времени.
Вот уже полчаса трое индусов-программистов спорили за его спиной о том, кому из них удалось выгоднее купить компьютер в интернете. В конце концов, они сошлись на том, что можно было бы сэкономить еще по крайней мере $20, если бы promotion от Dell не закончился так быстро. Вот ведь, надо было подсуетиться, — говорили они друг другу на своем языке…
Программист А. сидел на митинге. Глаза слипались. Пустой бумажный стакан из-под кофе бесполезно стоял на столе. Челюсти сводило зевотой, которую приходилось подавлять, и от этого глаза слипались еще сильнее. Обсуждался код, к которому А. не имел непосредственного отношения, которым не особенно интересовался и в котором уж точно ничего не понимал. Голоса говоривших становились все приглушеннее, звуки чужого языка монотонно переливались интонациями. Странного вида аппарат для телеконференций стоял посередине стола, и из него тоже кто-то упорно жужжал. Внезапно все замолчали и уставились на А. Он встрепенулся и непонимающе заморгал глазами.
— А., где обещанная документация? — строго спросил менеджер.
А. вспомнил, что действительно должен был приготовить документацию, но совершенно об этом забыл. Застигнутый врасплох, он не знал, что сказать, и только открывал и закрывал рот. Менеджер укоризненно посмотрел на А. и позвонил в непонятно откуда взявшийся большой колокольчик на деревяной ручке.
А. моментально проснулся. Все по-прежнему смотрели на него. К счастью, в этой реальности А. не забыл про документацию, но абсолютно забыл, о чем в ней должно было говориться. Он протянул руку к стопке бумаги на столе перед ним, чтобы быстро просмотреть материал и освежить память, но нужного документа там не было. В стопке были все спецификации и руководства, когда либо написанные А., но все они были старые, некоторые датированы даже числами до рождения А. Он огляделся вокруг, заглянул под стол, затем опустился на четвереньки и поискал под телевизором. Документа не было. А. беспомощно посмотрел на менеджера снизу вверх.
— Опять? — угрожающе произнес менеджер и позвонил в непонятно откуда взявшийся большой колокольчик на деревяной ручке.
А. моментально проснулся. Он оглядел комнату. Все присутствующие спали, и только докладчик продолжал занудно жужжать из аппарата для телеконференций. Теперь А. не знал, спит он или нет. Он чесал затылок и пытался понять, приснились ли ему эти непутевые А., которые не могли найти документ, или же это он, А., чешущий сейчас затылок, приснился одному из этих непутевых А.? Или, может быть, все они трое просто снятся сейчас кому-то из спящих архитекторов? Ясно было одно — рабочий день был в разгаре и до отпуска было очень далеко.
Программист А. попытался откусить от бутерброда, но у него ничего не получилось — обертка так и норовила попасть в рот вместе с хлебом. Нужно было придержать обертку, но в другой руке у программиста А. была электрическая бритва. Он положил бритву на сегодняшний номер “Boston Globe”, развернутый у него на коленях, но бритва тут же соскользнула с гладкого газетного листа и повисла в воздухе, жужжа и качаясь на собственном шнуре. Программист А. протянул руку за бритвой, при этом другая рука с бутербродом оказалась над газетой, и большая капля кетчупа немедленно упала на разворот, образовав смачную кляксу в том месте, которое А. только собирался прочитать. “Ну, с меня достаточно!” — рассердился программист А., сбавил скорость, съехал на обочину и остановил машину.
Программист А. сидел в рабочем кресле уже не первый час. Голова не соображала, замысловатые строчки кода, похожие друг на друга как узорчатые линии арабской вязи, заполняли окно редактора. Несколько раз А. стирал казалось бы законченную подпрограмму и начинал заново. Теперь, отчаявшись, он просто неподвижно сидел перед монитором.
— Вот так и получаются баги, — думал А. — Если код не идет, заставлять себя нельзя, толку не будет. Только багов насажаешь, потом замучишься отлаживать.
План проекта поджимал, нужно было что-то делать, и поэтому А. сидел и смотрел в монитор. Неожиданно прямо под усталым взглядом А. буква G в слове BEGIN превратилась в маленького юркого жучка и быстро поползла по странице, коварно стирая символы на своем пути. А. чуть не упал со стула. Не веря своим глазам, он потряс головой из стороны в сторону и снова уставился на экран. След от убежавшей буквы не исчезал.
— Это что же такое! — ошарашенно подумал А. — Баги уже вот прямо так и ползают по программе?! Говорил же, нельзя себя заставлять.
Некоторое время ничего не происходило, и А. уже собирался вычеркнуть произошедшее из памяти как невозможное, как вдруг сразу две буквы U и R в слове NUMBER превратились в жучков и побежали по странице в разные стороны. Пытаясь сохранять остатки здравого смысла, А. отметил, что баг, в которого превратилась буква R, на своем пути стер значок умножения, превратив 2**N в 2*N.
— Как же так, — беспомощно пробормотал А. — Должна быть степень, а не умножение! Это же баг…
Еще через мгновение весь экран монитора кишел бегающими багами, безжалостно поедающими все, что с таким трудом успел за несколько месяцев написать А. Ему казалось, он даже слышит монотонное злорадное жужжание, издаваемое полчищем поедающих код жучков. Внезапно все закончилось, и в воздухе повисла тишина. А. остолбенело сидел перед абсолютно черным экраном и пытался осознать, что произошло, и что теперь будет с проектом, и с самим А. Либо материализовавшиеся баги только что, прямо на глазах у А., съели его программу, либо А. сошел с ума. Ни то, ни другое не сулило ничего хорошего.
В комнату заглянул системный администратор и увидев А., сидящего с всклокоченными волосами перед пустым монитором, спросил:
— Ну как тебе наш новый screensaver? Вчера ночью поставили на все компьютеры, распоряжение из главной службы поддержки.
А. глубоко вздохнул, и словно гора свалилась с его плеч.
Программист А. разговорился за чашкой кофе с соседкой по столику в кафе на первом этаже. Обсудив погоду и состояние экономики, соседка спросила его, что у него за акцент.
— Русский, — ответил программист А. — Я из России.
К его удивлению, женщина посмотрела на него недоверчиво, даже немного подозрительно.
— Нет, на русского ты совершенно не похож, — сказала она.
— Почему это? — обиделся А.
— У меня был знакомый русский, — объяснила женщина. — Он был здоровый, как слон, на три головы выше тебя, с черными волосами, нос как у орла, и пел очень красиво.
— Может, я тоже пою красиво, — из принципа спросил программист А., хотя петь действительно совершенно не умел.
— Может и так, — ответила женщина. — Но все остальное на русского явно не тянет.
— И как же этого русского звали? — поинтересовался А.
— Цхиладзе, — ответила женщина.