Сегодня я хочу, чтобы наш технический читатель, измотанный повседневной работой, немного расслабился, для чего расскажу довольно старую, но, несмотря на это, до сих пор мало известную историю про одного обиженного руководством программиста, занимавшегося интересной и творческой задачей - поддержкой рандомного эмулятора российской космической станции «Мир», а также о внезапно возникшем в результате этого опыта телеметрическом канале с того света.
Несмотря на то, что вся эта история базируется на реальных фактах, официального подтверждения она до сих пор не получила. И интересен этот исторический рассказ не только как просто смешная для одних и трагическая для других история, но и как эпопея, живописующая условия работы в поздней фазе Советского Союза и начале 90-ых в ведущей космической отрасли государства Российского, считавшейся не без основания передовым научным форпостом страны. И, как это часто случалось в истории наших молодых стран (имеется в виду страны СНГ), частенько за внешне красивой картинкой иногда не стояло ровным счётом ничего. Но, несмотря на всю сложность тогдашних трудовых будней за судьбы Родины, в них всегда есть место для подвига, и даже одинокие программисты способны на бунт против системы, особенно когда их выкидывают из списка льготников в очереди на бесплатную квартиру.
Хочу подчеркнуть: эта история - не просто живая экскурсия в уже навсегда ушедшую эпоху: хотя многие вещи и называются сегодня уже совсем другими именами, это - попытка показать на контрасте с днём сегодняшним, что отчасти с тех пор мало что изменилось, разве что только бесплатные квартиры канули в лету уже навсегда…
Наверное, все помнят гордость российской космонавтики 90-тых годов (да и советской прикладной науки тоже) - орбитальную станцию «Мир», которую отчего-то пришлось спешно затопить в 2001 году в бездонных пучинах Тихого океана. Но наша история не о подвигах и достижениях позднего СССР, а об интересных и смелых людях, стоявших за этой титанической работой и свершениями и во мраке неизвестности обеспечивавших работу этой гигантской штуковины, парящей в невесомости. И лучше всего об этом периоде истории бывшего СССР рассказывает поучительная история военного программиста Михаила, который имел звание майора, но однажды восстал против всей системы… но не будем забегать вперёд и расскажем эту историю с самого начала.
Гордость отечественной космической отрасли
Перед полетом на орбитальный комплекс «Мир» французского космонавта европейское космическое агентство ESA, как никогда, внимательно следило за работой аппаратуры российского космического комплекса «Мир». И уже тогда ESA была, мягко говоря, в шоке - один отказ станции сменялся другим, и французы вообще не понимали, как «всем этим» можно управлять дистанционно с земли. Собственно, вся обыденная работа тогдашней смены, сопровождавшей «Мир», сводилась к неугасающей борьбе с отказом чего-либо, после чего сразу же следовал следующий отказ чего-то другого - и этот заведенный порядок носил уже какую-то печать обыденности для российских сотрудников ЦУПа.
Надо признать, что уже тогда «Мир» дышал на ладан… но люди ходили на работу, посылали экспедиции, и суть всей их активности за пафосными речами и официальными планами, как правило, сводилась лишь к одному - протянуть ещё хотя бы немного, обеспечить живучесть стремительно устаревающей станции ещё на месяц, на полгода и так далее.
Поднятие телеметрического канала
Желая сберечь деликатные нервы французов, а попутно и далеко не железные нервы европейских партнеров, которые продолжали щедро оплачивать свои научные программы на борту «Мира», в ЦУПе приняли мудрое решение установить специальный веб-сервер, с которого отныне и навсегда начать транслировать в пучину глобальной сети Интернет в режиме реального времени все телеметрические данные о текущем состоянии станции. Защищённый доступ к этой трансляции был предоставлен всем европейским партнёрам и космическим центрам ESA. Это решало две проблемы сразу.
Во-первых, европейцам больше не нужно было обеспечивать своё физическое присутствие в снежной Москве, постоянно неловко нависая над профильными российскими специалистами, ежеминутно занятыми неравной борьбой с авралами. Во-вторых, они стали получать все сырые данные по состоянию станции непосредственно и напрямую «из первых рук» и полностью автоматически. Так совпало, что «эти русские» там на своей станции в очередной раз что-то подкрутили и заменили, и состояние станции вроде как сразу стабилизировалось.
С тех пор всё было относительно хорошо - на «Мир» слетало множество европейских (и не только) космонавтов, и всё бы оставалось хорошо и дальше… но вот эти загадочные русские как-то вдруг решили затопить свою станцию. Ну, европейцы восприняли это отчасти с пониманием: если срок годности оборудования вышел, значит, дальнейшая эксплуатация станции действительно невозможна и опасна, даже если оно (оборудование) и работает, согласно получаемым им данным, достаточно надёжно и штатно…
Подземный стук
Но это была только необходимое вступление, а теперь суть сама история. И началась вся эта неприятная для нашего программиста Михаила история сразу с момента затопления станции «Мир» и её стремительного падения в Тихий океан.
Сразу после этого Европейское космическое агентство (ESA), который день и ночь удалённо и круглосуточно (ажно в три смены) мониторило работу российской космической станции, высказало своё недоумение по поводу продолжающейся трансляции потока телеметрических данных с… борта станции «Мир». Технически это выглядело так, будто, согласно этим данным, все приборы станции, как обычно, работали в штатном режиме. Далее к французам присоединились уже немцы - они были немало удивлены, когда отмотали хронологию происходивших событий и установили, что при входе в плотные слои атмосферы температура и давление внутри станции «Мир» вообще никак не изменились. О’кей, решили они - вначале все списали происходящее на задержку пакетов в сети и общую латентность сигнала, который сначала принимался со станции Россией и лишь потом ретранслировался в сеть.
Но чем дальше шло время, тем сложней было объяснять происходящее сетевой задержкой - телеметрические данные, из которых следовало, что на станции все в норме, продолжали поступать даже тогда, когда туристы уже вовсю собирали обломки в районе падения. Как известно, через 6 суток после падения станции её обломки уже были выставлены на продажу на мировом аукционе eBay, а в это самое время зарубежные специалисты тихонечко офигевали от данных, получаемых с борта «Мира», - несмотря на незначительные колебания давления, в общем-то, всё было в пределах нормы, разве что радиации было чуть-чуть больше обычного, но датчики освещения как раз показывали, что станция вошла в освещенную солнцем часть пространства … короче, нормальные космические будни рядовой космической станции продолжались и дальше.
На седьмой день, не выдержав, европейцы через РКА направили запрос российской стороне для разъяснения происходящего. Русские учтиво и лаконично успокоили своих иностранных коллег, дословно, что «непременно примут меры», после чего поток телеметрии резко прекратился, как ни в чем не бывало. Подумав ещё два дня, немцы решили написать ещё один запрос, в котором попросили всё-таки более подробно объяснить, что было причиной подобного инцидента. Из Москвы опять быстро пришло невнятное послание, что, де, «это всё хакерские проделки», но спасибо за беспокойство, коллеги, мы справились своими силами, опасность уже позади.
Интрига набирает обороты
Сначала немцы долго думали над ответом и даже стали как-то уже тихонько успокаиваться, но сигнал с борта станции «Мир»… снова возобновился! Снова пошло всё обилие технических данных о параметрах работы пилотируемой станции и его оборудования, посыпались мегабайты данных измерений, на этот раз изменилось лишь одно - теперь сигнал не был зашифрован и велся совершенно открыто на всю сеть, то есть любой желающий без какого-либо пароля мог подключиться и получать информацию… с борта затопленной неделю назад советско-российской космической станции.
И тут европейцы уже как-то совсем забеспокоились. Одновременно с этим на центральном веб-сервере ЦУП появилось необычное сообщение, где неизвестный никому программист-майор Михаил на чистом русском языке среди вороха англоязычных материалов и пресс-релизов, на чём свет стоит, костерит свое руководство и, в частности, как бы между строк объясняет суть происходящего. Впрочем, его месседж продержался недолго - уже через пару часов эта загадочная страничка с посланием «мировому сообществу» навсегда исчезла с веб-сайта Росавиакосмоса.
Разгадка телеметрического феномена
Итак, когда европейцы стали зело сильно доколупываться до российских коллег насчет серии отказов их аппаратуры и хронических неполадок на станции «Мир», что как бы ставило под вопрос бесперебойность финансирования целого ряда зарубежных научных программ и совместных проектов, русские, не долго думая, решили написать программу, которая ПОЛНОСТЬЮ РАНДОМНО генерировала все телеметрические данные со станции, полностью эмулируя её работу, и при этом диапазон колебаний всех параметров не выходил за рамки допустимого и разумного.
На самом деле станция «Мир» буквально умирала, долго и мучительно, часто балансируя где-то между жизнью и смертью, и пилотируемые экспедиции посылаемые туда, неоднократно спасали её от очередного паралича - по некоторым неофициальным свидетельствам, на это уходила львиная часть времени каждого экипажа. И когда всё-таки было принято историческое и официальное решение о её затоплении, ситуация зашла уже настолько далеко, что в светлом будущем российской космонавтики отчетлива виднелась прямая опасность того, что «Мир» буквально рассыплется на части, и тянуть с его затоплением было смертельно опасно…
Ещё раз напомню, что на этом фоне ежедневной героическо-трагической борьбы российского народа за видимость работы её космической станции на Запад исправно тёк непрерывный траффик идеальных телеметрических данных о состоянии станции, что давало возможность исправно подрабатывать в качестве великой космической державы во множестве совместных научных проектов.
Реконструкция событий
Что же произошло на самом деле? Хронология событий представляется следующей.
Сначала программистом «великой космической державы» был создан рандомный генератор телеметрической информации, который исправно работал в течение нескольких лет, приятно массажируя мозги своих европейских спонсоров, которые удаленно участвовали во множестве экспериментов на станции «Мир». После внезапного затопления станции за ворохом важных событий руководство управлением полетов как-то совсем позабыло про этот телеметрический генератор, потоки мусорных данных с которого по-прежнему очень внимательно и круглосуточно изучало экспертное сообщество Европы.
Спустя два дня, после официального запроса с Европы, генератор таки был найден, вместе с его программистом, а затем благополучно отключен. Но, будучи глубоко военной средой, где погоны и фуражки подчас заменяют мозги, как и было обещано европейским коллегам, были приняты «соответствующие меры» - в данном случае, к недоглядевшему за «этим делом» программисту. В реальности это выразилось в том, что программист-создатель программы был дисциплинарно наказан, но самое страшное для него - он был выкинут из очереди на получение халявной ведомственной квартиры, ради которой одной, собственно, он стойко и переносил «все тяготы армейской жизни». Получив такой подарок от взбешенного руководства, через пару суток он самолично опубликовал на официальном веб-сайте ЦУПа своё сообщение с разъяснением происходящего и в подтверждение выложил исходники самого генератора, написанного, кстати, на популярном в те времена языке Турбо Паскаль.
Эта месть была просто ужасной по силе. По репутации «Росавиакосмоса» был нанесён мощнейший удар: педантичные европейские учёные, годами колупавшиеся в тоннах цифер, порожденных за эти годы плодовитым отечественным бредогенератором, и строившие свои сложнейшие модели на основе поведения далёкой и загадочной русской станции, были просто шокированы такой… беспринципностью со стороны ведущей мировой аэрокосмической державы!
К сожалению, мне неизвестно, что стало в итоге с тем храбрым майором-программистом, который посмел рассказать миру правду. Журналисты ИТАР-ТАСС, которые расследовали этот инцидент, говорят, что в ответ на произошедшее по ведомству, где работал бедолага-программист, прокатились целые волны репрессий. Уж военные такого самовольства своих подчиненных никому не спускают с рук: и, поскольку немногочисленная молодежь сбежала, дружно уволившись «по собственному желанию», нескольким сотням оставшихся военнослужащих ЦПК имени Ю. А. Гарарина было заявлено, что размеры их текущих или будущих пенсий будут пересмотрены в сторону уменьшения. Особенно это касалось сотрудников отдела военно-прикладной тематики, где и работал восставший против системы храбрый программист-рандомизатор.
Вместо послесловия: «Эпидемия катастроф» в Роскосмосе
Почему-то с этой историей у меня невольно ассоциируются кадры из фильма «Армагеддон», где станция «Мир» предстаёт в довольно мрачном виде: грязный и заброшенный, полуразрушенный интерьер, кругом течи, неисправности, струящиеся клубы пара, индикаторы на всех приборах взяты словно из старой котельной, которую я однажды видел в раннем детстве. Отдельного упоминания заслуживают длинные сосульки на потолке российской станции, неизвестно как выросшие в невесомости.
Отправляя на российскую космическую станцию бесстрашного Брюса Уиллиса, его напутствуют двумя памятными фразами про «Мир», «который работает уже 11 лет - столько никакая аппаратура не служит», и где живёт «российский космонавт Лев Андропов, который на станции уже 18 месяцев в одиночестве, и с которым надо быть поосторожнее». Судя по дикции и размашистым движениям, этот русский космонавт нетрезв, на голове у него - шапка-ушанка, кроме того - на нем грязная футболка с красной звездой и надписью «СССР». При таком облачении, как его назвали в фильме, «полковник русского космического агентства» мог бы носить на ногах лапти, а в руках держать балалайку или бутылку водки. Я разочарован, что на станции почему-то не нашлось места для дрессированного бурого медведя в буденовке. Кстати, в русской версии фильма русский космонавт немой и не произносит ни одной фразы, а вот в оригинальном английском треке он, тоскливо глядя в закопченный иллюминатор на бесконечную Вселенную, на корявом английском произносит: «Ин Раша ай эм э веры биг мэн» .
Впрочем, возвращаясь к сегодняшней теме, я удивился, как в фильме обошлись без программистов. Ведь, если глянуть современную историю развития Роскосмоса, то можно увидеть уже описанную выше печальную лично для меня тенденцию, полностью переложенную на новый-старый лад. И, хотя космической станции уже давно нет, поле битвы за космос переместилось на землю: в той череде катастроф с запусками, которая преследует Россию в последние годы, в конечном счёте виноватыми всегда оказывались программисты, которые допустили ошибку или «недостаточно точно рассчитали математические модели». Достаточно ввести поисковый запрос типа «Роскосмос крушение ошибка программистов» , чтобы увидеть насколько серьёзный размах приобрело это стихийное бедствие целой отрасли, порождённое по вине программиствующей братии.
После описанных в статье событий прошло больше 10 лет, но ничего не изменилось - Россия продолжает терять не только спутники, но и свою репутацию: всё тоже самое руководство, которое не выгонишь на пенсию и метлой, продолжает бороться с авралами и во всём обвинять рядовых программистов…
via SiliconTaiga via Арсений Фёдоров