Мы исследовали пространственные масштабы Вселенной и увидели, что живем на ничтожной пылинке, крутящейся возле ординарной звезды в дальнем углу малозаметной галактики.
Карл Саган
Посвящается моим друзьям и великим программистам Довгополу Сергею Михайловичу и Ручке Владимиру Григорьевичу.
Выражаю особую благодарность руководителю Испытательной Лаборатории Информационной Безопасности фирмы Батасофт Янчуку Вадиму Александровичу за консультирование по некоторым аспектам содержания книги.
– Здравствуйте Сергей Викторович! – Леночка радостно прореагировала на появление Сергея в приемной. – А я как раз собиралась вас разыскивать. Вы прямо телепат.
– А зачем меня разыскивать?
– Так Андрей Игоревич приказал вас срочно к нему, – Леночка указала на дверь с табличкой "Генеральный директор", – и ещё он отменил сегодня все дела и приказал к нему никого кроме вас больше не пускать.
Сергей кисло улыбнулся и двинулся в кабинет мысленно настраиваясь на неприятный разговор. В руках он держал листок с заявлением на увольнение по собственному желанию.
В отличие от Сергея у начальника был куда более радостный вид. Он подскочил из своего кресла и кинулся навстречу посетителю. Усадил того за небольшой журнальный столик, нажал на кнопку селектора и потребовал у секретарши кофе на двоих. Затем из шкафа достал бутылку коллекционного виски и пару рюмок.
– Серёжа! У меня к тебе очень важный разговор, – начал говорить директор, разливая виски по бокалам.
– У меня к тебе тоже, – мрачно проговорил Сергей, косясь подозрительно на бокалы с алкоголем.
– Ты что, уже всё знаешь? – Удивленно воскликнул генеральный.
– Ничего я не знаю, просто меня уже всё тут достало и я увольняюсь. – Сергей выложил листок с заявлением на стол.
Директор с вытянутым лицом подхватил листок, прочел три строчки заявления и уставился на подчиненного.
– Серёга, ты что сбрендил? Мы же вместе с тобой начинали это дело. Благодаря тебе наш программный продукт даже за бугром стали покупать!
– Вот и продавай, а меня уже достали эти твои умники – архитекторы. Ни хрена сами не умеют, кроме как говорить заумную бессмыслицу, а лезут со своими требованиями.
– А, вот ты о чем, – задумчиво произнес начальник.– А я сколько раз тебя уговаривал возглавить все АйТишные дела, стать моим первым заместителем, и гонял бы тогда этих архитекторов по своему усмотрению. Но нет, ты же хочешь чистым творчеством заниматься, мараться об карьерную лестницу тебе в лом. Я в курсе твоих конфликтов с пацанами, они регулярно приходят на тебя жаловаться, и я их тоже понимаю. Ты ведь считаешь, что современные средства разработки все – дерьмо и пишешь свои авторские средства и сам на них все реализуешь.
– То, что я пишу, работает в сто раз эффективнее и по скорости и по использованию памяти…
– Да я и не спорю, – перебил директор, – всё так, но ты пойми, Сережа, то что ты пишешь – модифицировать потом никто не сможет. Ты же не вечен, вдруг завтра тебя трамвай переедет. Кому я дам заканчивать твою работу, ты же почти не оставляешь описания своих средств и методов. Поэтому наши архитекторы и хотят, чтобы ты писал на стандартных средствах, как все остальные.
– Вот поэтому я и увольняюсь. Буду искать работу, где заказчику важно чтобы программы правильно работали и не важно как они написаны.
– Подожди, не спеши увольняться. У меня к тебе есть другое предложение. И очень даже интересное и для тебя и для нашей организации.
В этот момент появилась секретарша с подносом, на котором дымились две чашки ароматного капучино и лежала горка с бутербродами.
– Ты помнишь еще нашего общего друга Борю Соколовского.
– Как не помнить, кажется в штатах теперь живёт.
– Живет то он действительно в штатах, только звонил он мне вчера целый день из Цюриха. А сейчас он приземляется в Пулково и в ближайшее время будет в этом кабинете. Вот он и везет с собой очень интересное предложение, как для тебя лично так и для нашей организации. Предлагаю выпить по пятьдесят грамм за его здоровье.
Мужчины начали дружно заедать виски. Сергей покончив с бутербродом взялся за кофе и не выдержал паузы:
– Ну давай, не тяни, что за предложение такое?
– Предложение шикарное. Крупный заказ, но тебя это не касается. Ты его делать не будешь. Ты идешь в качестве оплаты за этот заказ, они хотят взять тебя в аренду на неопределенный срок. И платят за аренду тебя не хилые такие деньги, очень даже не маленькие.
– Андрюха, а ты эпохи случайно не попутал? Сейчас не крепостное право и я не твоя собственность, чтобы сдавать меня в аренду, – возмутился программист.
– Нет Серёжа, не попутал, – невозмутимо прожевывая бутерброд произнес директор. – Как ты думаешь, сколько в Зените играет футболистов на правах аренды, а сколько клуб сдает в аренду? Так, что шагаем в ногу со временем. А потом это всё дело добровольное, индивидуальный контракт. Не захочешь, не поедешь.
– А почему ехать надо, можно же и на удаленке? И вообще зачем Боря лично в Питер едет, вас что, в интернете забанили?
– Вот ты его об этом и спросишь, я сам мало что понимаю. А едет он сюда, я думаю, лично тебя уговаривать.
В этот момент загудел зумер вызова и генеральный директор нажал на кнопку.
– Лена, я же просил нас не беспокоить.
– Андрей Игоревич, к вам господин Соколовский, говорит, что вы его ждёте.
***
Двое приятелей расположились в уютном кафе на берегу Невы под открытым воздухом. Сергею показалось, что Борис не случайно выбрал такое место, где можно было поговорить не опасаясь ни чьих лишних ушей.
Борис Соколовский давно исчез из радара Сергея. Говорили, что уехал, как многие программисты, в Америку, но никаких подробностей никто не знал. Сергей уже стал забывать своего старого приятеля и коллегу, как вот он вдруг внезапно объявился.
– Что будешь заказывать? – спросил Борис, – тут насколько я помню прекрасная кухня.
– Да я как-то завтракать не привык.
– Не стесняйся, все оплачивает фирма.
– Боря, подожди! Расскажи что за работа? Какая фирма? Ничего не понятно.
– Давай сначала есть, а потом и начнем собеседование.
– Какое собеседование! Я ещё не согласился ни на что.
– Согласишься, когда узнаешь сколько тебе будут платить, да и работа интересная. Я ведь знаю что тебе нужно.
– Так что, ты и будешь меня собеседовать?
– Ага. Ну так ты выбрал еду?
– Заказывай сам и мне тоже. Я не разбираюсь в этих названиях.
Боря проинструктировал подошедшую официантку и друзья через пару минут начали уминать что-то вкусное. Запив завтрак великолепным бокалом пива, Сергей почувствовал гораздо больше оптимизма в отношении своего будущего.
– Итак, ты готов к собеседованию? – закуривая сигарету спросил Борис.
– Я, как пионер, всегда готов. Только что ты можешь у меня спросить, мой бывший ученик?
– Не волнуйся, я не собираюсь интересоваться твоими знаниями в области информационных технологий, тем более сам уже прилично дисквалифицировался. Всегда считал тебя гением – одиночкой, поэтому вопросы в несколько другой плоскости. Ты мне, учитель, скажи, тебя дома что-нибудь держит?
– Ну, насовсем переехать я, пожалуй, не готов. Пару тройку лет еще выдержу, а больше не смогу, ностальгия замучает. Жена ушла к другому, сын со мной все отношения разорвал из-за развода, есть еще племянники, но они и без меня прекрасно обходятся. Попрошу сестру, чтобы кошку и цветок с подоконника забрала и готов. Ты мне расскажи лучше, что за работа и почему онлайн не устраивает?
– Работа секретная, поэтому никакой удаленки. Придется под присмотром программировать.
– Борис, я не очень одобряю, что правительство моей страны вытворяет, но не настолько, чтобы против него работать.
– Не беспокойся, корпорация которую я представляю, не занимается разработками против какой-либо страны. Учредители вложили в нее огромные деньги, чтобы заработать еще больше. И среди учредителей есть и наши соотечественники, очень богатые люди.
– Так что писать надо? Хватит темнить.
– А ничего не надо нового писать, ты это уже один раз это написал. Переложишь свою программу на другой ассемблер1 и все дела.
– Ты про какую программу сейчас говоришь? Я много чего писал.
– А помнишь я к тебе в гости на старый новый год приходил. Ты мне эволюцию показывал. Она и сейчас у меня на ноутбуке работает. Занятная программка, глаза от экрана не оторвешь!
– Борис, ты это серьезно? Я же эту игрушку за десять дней сделал в качестве эксперимента. Кому она нужна?
– А вот нужна оказывается. Есть в ней одна особенность, которая необходима для нового вычислительного устройства нашей корпорации.
– Ничего не понимаю. За программку, которую можно написать за неделю, ты меня нанимаешь на год и больше и готов платить бешеные деньги? Кстати, сколько?
Борис написал цифру на салфетке, показал Сергею и порвал.
– Это что за год? – вытаращил глаза Сергей.
– Нет за месяц.
– Бред какой-то.
– Нет, не бред. Это программа, как мы предполагаем, должна сэкономить такие деньги, что твоя зарплата на фоне них почти незаметна. Я тебе сейчас все что необходимо расскажу, но хочу предупредить, что эта информация – коммерческая тайна. Эту тайну я готов тебе рассказать, но ты должен дать согласие на участие в этом проекте и подписать соглашение о неразглашении. Согласен?
– Да, ты умеешь заинтриговать. Согласен.
Сергей взял ручку и не читая подмахнул подписью несколько листков, предложенных ему Борисом.
– Рассказывай давай.
– Ты про проект "Воид" слышал?
– В новостях было пару лет назад, а потом опровержение по всем каналам.
– Опровержение, это мы организовали. Была утечка информации и пришлось ее затыкать. Уйму денег потратили.
Сергей вспомнил, что прочитал про этот проект в одном приличном программистском издании. Там писали, что обнаружили странное поведение вакуума при воздействии на него определенным электромагнитным полем.
Якобы велись эксперименты для создания электромагнитной ловушки для плазмы. Эти эксперименты велись в рамках проекта создания термоядерного реактора. Так вот, когда окружили этим полем пустоту, то-есть почти абсолютный вакуум, то эта пустота через некоторое время начинала вести себя ни как пустота, а как что-то материальное. Она отвечала на колебания электромагнитного поля ловушки своими электромагнитными колебаниями, причем эти колебания очень напоминали двоичный сигнал, наложенный на частоту окружающего поля. При исследовании выяснилось, что это очень похоже на реакцию компьютера, который воспринимает колебания поля как входную информацию, пытается ее исполнить и выдает ответ.
В этой же статье сообщалось, что информацию выдаваемую пустотой почти расшифровали и теперь начинают использовать этот вакуум как компьютер с миллиардным числом процессоров2 и такой же необъятной памятью. А скорость работы такого компьютера должна превышать скорость квантового в миллионы, а может быть и миллиарды раз.
Сергей сразу-же воспринял эту статью как фейк, такого просто не могло быть, потому-что противоречило всем законам физики. Через несколько дней во всех новостных лентах появилось опровержение, что и ожидалось, а так-же сообщение, что человек распространивший этот фейк помер от сердечного приступа.
– Так что такой компьютер есть? – Спросил он Бориса.
– Есть, и я предлагаю тебе на нем поработать.
– А причем тут моя "Эволюция"?
– Понимаешь, этот вакуум после запуска установки становится вычислительным устройством не сразу, а через некоторое время, примерно через пару недель. Поддерживать такое время вакуум и электромагнитное поле очень дорогое удовольствие. А потом этот компьютер через пару часов прекращает свою работу, если ты на нем ничего не запускаешь. Так вот нужно что-то на нем все время делать, чтобы он не сдох, иначе приходится опять по новой выключать и по новой запускать установку.
– Так запустите простейший бесконечный цикл на одном из процессоров и пусть себе крутится в фоновом режиме. А сами используйте все остальное пространство когда понадобится.
– Ты думаешь мы такие тупые, что сами до этого не додумались. Пробовали уже и ничего не вышло. Существует теория, что этот комп распознает такие хитрости и долго на них не ведется. Он конечно продлевает время своей готовности, но все равно издыхает. Нужна программа, которая не повторяет бесконечно одно и тоже, а все время делает разные вещи. Я показал руководству твою эволюцию и они решили ее попробовать в качестве эксперимента.
– Ну теперь понятно, вы при помощи моей игрушки хотите этот вакуумный компьютер заставить жить долго и счастливо, а сами для чего собираетесь его использовать? Какие задачи на нем решать?
– Вот это пока тебя не касается. Есть очень большая группа по искусственному интеллекту, которая уже пару лет как работает. Я сам мало знаю, что они там делают, но думаю что хотят использовать эту ЭВМ, как предсказатель будущего. Если эта машина сможет предсказывать курс бумаг на бирже на пару месяцев вперед, то все миллиардные вложения учредителей с лихвой окупятся.
– Борис, я конечно напишу опять эволюцию для этого компьютера, но это ведь дело одной или двух недель не больше. Хотелось бы подольше поработать. Может и для нормальной работы меня наймете?
– Вот твой контракт, – Борис выложил на стол пачку скрепленных бумаг – он на один год работы. Напишешь эволюцию и если все нормально получится, то работы для тебя будет еще много. Я знаю, что ты программист-одиночка и тебя любое руководство быстро начинает раздражать. Поэтому сам будешь думать, что еще полезного можно сделать на суперкомпьютере и если придумаешь, то и сам будешь это делать. Я в твоей группе, но не как руководитель, а как твой собутыльник и шпион от корпорации. В нашей группе еще технарь будет, чтобы с устройствами разобраться и все. Кстати технарь тоже русский.
Сергей начал читать контракт, но Борис его остановил. – Дома начитаешься. Завтра в девять утра я за тобой заеду и летим в Цюрих. Звони сестре, а я побежал, дела еще есть.
Самолет оказался шикарным Боингом 747, а места в бизнес классе.
– Как спалось? – поинтересовался Борис.
– Да ни как не спалось. Ты меня вчера так огорошил, что всю ночь промаялся. Я ведь свою программу, о которой вчера говорили, не сохранил. Нет исходного текста, вот и вспоминал что и как там делал.
– Ну как вспомнил?
– Да там и вспоминать особо нечего, так что не беспокойся, напишу. Кстати с этой программкой у меня уже были приключения.
– Это еще какие приключения? – насторожился Борис.
– Помнишь моего племянника Алексея?
– Это который в университете информатику преподает?
– Да преподает. Теперь он Доцент, кандидат наук, зав кафедры Информационных Технологий. Так вот, когда он еще не был кандидатом и доцентом, я ему показал свою Эволюцию. Ему она очень понравилась, и он попросил исходные тексты для изучения. Ну я конечно-же дал.
По выражению лица Бориса Сергей понял, что эта информация не очень ему нравится, но продолжил.
– Через некоторое время я случайно узнал, что Алексей защитил кандидатскую. На очередном праздничном сходняке родственников начал к нему приставать мол расскажи тему, на которую защитился, а он ни в какую. Глаза прячет и с темы сваливает. А мне же интересно, я ведь его азам программирования учил. Полез дома в интернет и нашел его диссертацию. И знаешь как его работа называется? – Сергей задал риторический вопрос и сам же на него ответил – Эволюционное моделирование по теории Дарвина для построения интеллектуальных систем.
– Так что, у тебя исходников уже нет, а они есть у племянника и он по ним диссертации пишет?
– Не думаю, что сейчас ему мои исходники нужны. Защитился, цели своей достиг и забыл. Я ему потом таких п… выписал. Не мог честно прийти к дяде и попросить использовать программку? Неужели думал, что я ему откажу? Я бы еще помог текст статьи написать, племянник же, родная кровь.
– Да, интересная история, – произнес Борис – надеюсь, что этот алгоритм больше никто не обнаружит.
Монотонный гул самолета сморил Сергея. Очнулся уже при посадке. Сергей никогда не был в Швейцарии и не думал, что когда-нибудь сюда попадет, поэтому с интересом рассматривал окрестности Женевы. Вот миновали легендарное Женевское озеро, проскочили центр города и опять углубились в пригородную зону. Справа мелькнуло всемирно известное здание "Глобус науки и инноваций" и Сергей догадался, что почти приехали. И действительно автомобиль свернул в тихую улочку, открылись зеленые ворота и они оказались во дворе трехэтажного здания. Зеленый аккуратный газон и несколько дополнительных хозяйственных построек ничем не намекали, что это центр для исследования чего-либо. Скорее частная гостиница.
Выгрузились, и разминая затекшие ноги, Сергей последовал за Борисом в дом, на пороге которого стоял и улыбался крупный полноватый парень.
– Вот знакомитесь, это Родион, твое техническое обеспечение, – представил Борис – а я сейчас покажу вам ваше хозяйство и уеду на доклад к начальству.
– На первом этаже кухня, столовая, сауна и бассейн. Это зона отдыха, а работать вы будете на втором этаже.
Борис поднялся по деревянной лестнице и остальные за ним.
– Ну что здесь есть, тебе Родик лучше меня объяснит. А выше на следующем этаже несколько номеров, выбирай себе любой свободный и селись. Короче знакомьтесь, отдыхайте, а завтра с утра начнем ударно трудиться.
Сергей с одобрением заметил на втором этаже солидный кофейный аппарат и несколько кожаных диванов, кроме того был большой летний балкон с плетенными креслами под навесами от солнца. Все остальное не вызывало эмоций: офисные перегородки, удобные кресла на колесах и рабочие места с несколькими экранами мониторов на каждом.
Борис сел в автомобиль, который тихо зашуршал колесами по гальке, а Сергей пошел искать место для будущего ночлега. Номер выбрал с хорошим видом на лужайку с полем для гольфа и пошел принимать душ.
Шикарно даже слишком – подумал Сергей – обстановка номера и шикарная ванна к ударной работе не располагали. Хотелось плюнуть на все и ничего не делать. Валяться в шезлонге с бутылкой пива и ни о чем не думать.
После водных процедур спустился на первый этаж и встретил Родиона за столом в небольшой уютной столовой. Незаметная женщина принялась сервировать перед ним обед, а Родион с радостью изголодавшегося по собеседнику человеку принялся рассказывать.
– Вы с персоналом не разговаривайте, им запрещено с нами общаться. Вот меню, а в этой тетрадке вы можете отметить на неделю вперед, что будете есть в будущем. Есть все, даже икра черная. А сейчас вам дадут дежурные блюда.
– Отлично. Давай поедим, а потом вы мне все расскажете.
– Сергей Викторович вы ко мне на ты обращайтесь и можете Родиком называть, меня еще в шутку Риддиком обзывают, но я не обижаюсь. И чего обижаться, Риддик крутой чувак.
– Тогда и ты меня можешь на ты величать.
– Ну вы же руководитель группы…
– Да какой там руководитель! вся наша группа, ты да я.
После обеда Родион повел Сергея на второй этаж показывать хозяйство.
На столе Сергея стояло 3 монитора и две клавиатуры. На полке под столешницей тихо гудели два системных блока.
– Родик покажи пожалуйста что здесь и к чему. – позвал Сергей системщика.
– Мне Борис говорил, что вы предпочитаете Линукс3. Ой забыл, ты предпочитаешь. Вот так этот Линукс вызывается – и Родион начал щелкать клавиатурой и мышкой – я там поставил несколько средств для разработки и редактирования. Если чего не хватает, обращайся установлю.
– Да я и сам в состоянии установить. Что нужно качну из интернета.
– А вот и не качнешь, интернета нету.
– Как нету? Это в Швейцарии и нету.
– В Швейцарии он везде есть, это у нас нет. Ты внимательно читал второе приложение к контракту?
– Нет не очень. Не думал, что контракт такой не стандартный.
– Понятно, а на телефон свой давно смотрел?
– А чего на него смотреть?
– А ты посмотри или попробуй кому-нибудь позвонить или в интернете полазить.
Сергей вытащил телефон и с удивлением обнаружил, что действительно нет ни какой связи с внешним миром.
– А как же с родственниками общаться или еще личные дела какие-нибудь.
– Это без проблем. – Родион вытащил из-за монитора стационарный кнопочный телефон аля конец двадцатого века. – Вот на нем номер написан. Можешь его сообщить своим родственникам и знакомым. Такой же и в номере у тебя стоит, только учти все переговоры прослушиваются и записываются.
– Концлагерь какой-то. Я привык по каждому чиху в гугл заглядывать, как же теперь.
– А теперь тебе придется ко мне обращаться, а я буду заказывать через смежников нужный тебе софт и любые справочники.
А кто такие смежники?
– Смежники это первая группа специалистов, которая разрабатывает основной софт для вакуумного компьютера. Там много людей и все идет через них.
– У меня такое ощущение, что из-за этой супер секретности нас в конце контракта грохнут. – Полушепотом произнес Сергей.
– У меня тоже. – Так же тихо подтвердил Родион.
– Ладно показывай дальше.
– Второй монитор это для эмулятора4 целевого вакуумного компьютера. – продолжил экскурсию системщик. – Здесь ты будешь отлаживать свои написанные алгоритмы. Эмулятор имеет ту же систему адресации и систему команд, что и вакуумный, но работает в миллиарды раз медленней. Этот эмулятор сделали смежники, он сырой еще и иногда глючит, но они обещали скоро все исправить. На монитор можно выводить протокол выполнения команд или графику, если использовать их графическую библиотеку.
Родик сделал театральную паузу и продолжил показывая на третий монитор:
– А вот это самое главное, монитор связи с главным персонажем то есть вакуумным компьютером. Работать с ним можно так же как и с эмулятором, только всё будет в миллиарды раз быстрее и без глюков. К сожалению он сейчас не работает, заглох недавно, но смежники запустили его новую раскачку и через две недели ты сможешь на нем испытывать свои алгоритмы, а пока проводи отладку и тестируй на эмуляторе.
– А где сам этот вакуумный компьютер находится?
– Он в нескольких километрах от нас под землей, точно не знаю. Но от него к нам толстенный оптоволоконный кабель проложен. Скорость обмена данными фантастическая.
Родик полюбовался произведенным эффектом и продолжил:
– На рабочем столе Линукса лежит папка где хранится вся справочная информация. Там описание ассемблера, и документация по среде разработки. Кстати есть даже недоделанный С++5 для среды разработки.
– А почему недоделанный?
– Сам транслятор6 вполне нормальный, все конструкции языка правильно интерпретирует, но многих стандартных библиотек не хватает.
– Слушай Родик, я бы конечно Java 7предпочёл, но си с плюсами тоже неплохо. На нем писать гораздо быстрее получится чем на ассемблере. Ты не можешь договориться со смежниками, чтобы они исходники8 подкинули. Я и сам тогда смогу стандартные библиотеки дописывать по мере разработки.
– Нет проблем, я думаю договорюсь. На одну организацию работаем. А почему Java лучше? Сейчас самый модный язык программирования Python9. Я вот пытаюсь его изучать.
– Пайтон это же интерпретирующий язык, жрёт кучу памяти и процессора. Такое же дерьмо как и PHP10. Знаешь Родион, я за свою долгую программистскую жизнь, много новомодных языков видел, которым светлое будущее пророчили. А кончилось тем что мода прошла и о них все забыли. А Си и Джава это классика и как всякая классика будут жить вечно.
– Сильно сказано, пойду тогда Джаву учить. – Заулыбался системщик.
– Спасибо за экскурсию Родик. Ну а теперь дай мне самому потыкаться и всё попробовать. Если появятся вопросы к тебе можно обращаться?
– Обижаете Сергей Викторович, я здесь зарплату получаю, чтобы исполнять любые ваши желания. – Системщик пошел в угол к своему столу, одел наушники и начал энергично стучать по клавиатуре.
– Понятно! – подумал Сергей – Игровая зависимость на лицо. Все эти системщики игровые наркоманы. Даже на этот очень секретный объект любимую игрушку протащил. Интересно, а Борис об этом знает?
Остаток дня прошел очень плодотворно. Сергей влил в себя тонну информации и протестировал все средства разработки. Все оказалось понятным и потому не сложным. Писать эволюцию он решил завтра с утра а сегодняшний вечер завершить перевариванием впитанной информации разбавленной небольшим количеством местного пива.
Вечером сидели на веранде в плетенных креслах, любовались прекрасным швейцарским закатом и слушали пение птичек. Сергей с пивом, а Родион с чипсами и кока-колой. Громко пыхтя и топая ввалился Борис с бутылкой пива и плюхнулся в свободное кресло.