К книге
Проект «Сфера-80»: ОлимпиадаГлава 35 Магия таблиц
80%
Глава 35 Магия таблиц
35

Алексей переступил порог лаборатории КБ-3 и плотно прикрыл за собой тяжелую дверь, отсекая коридорный гул. На выцветшей стене белел свежий листок отрывного календаря за конец ноября. Вентиляторы старых осциллографов гнали теплый воздух, смешивая запахи нагретого текстолита и остывшего растворимого кофе.

Громов сидел перед «Сферой-82». Программист ссутулился, навалившись грудью на край стола, руки безвольно свисали вдоль туловища. Он с силой потер покрасневшие, воспаленные глаза тыльной стороной ладони. На его подбородке темнела двухдневная щетина.

Услышав шаги, Евгений обернулся. Его серое, измятое после бессонной ночи лицо блестело от пота.

Он молча развернулся к клавиатуре и нажал непослушными пальцами короткую комбинацию клавиш.

Дисковод издал протяжный металлический лязг. Шаговый двигатель застрекотал, позиционируя тяжелую магнитную головку. Экран модифицированной «Юности» моргнул, гася привычную командную строку МикроДОС.

Кинескоп вспыхнул заново.

На черно-белом экране проступила строгая, разлинованная сетка. Столбцы обозначались латинскими буквами. Строки — цифрами. В левом верхнем углу пульсировал инвертированный прямоугольник курсора, ожидая ввода данных.

— Собралось, — хрипло произнес Громов. Голос сел от долгого молчания и выкуренных за ночь сигарет. — Прошло без фатальных ошибок памяти.

Алексей подошел ближе, вглядываясь в монитор. Перед ним работал табличный калькулятор. Тот самый код, скопированный в Зеленограде. Электронная таблица. Праотец всех будущих финансовых систем.

— В стандартном режиме совместимости с CP/M их оригинальная английская таблица у нас запускается, но не без капризов, — Громов потянулся за пустой кружкой, заглянул на дно и со вздохом поставил ее обратно. — Для наших бухгалтеров латиница — это приговор. Поэтому я переключил МикроДОС в русский режим, переписал перехватчик видеовывода и подсунул адреса нашего кириллического знакогенератора. Теперь таблица полностью русифицирована. Назвал «Сметой». Звучит по-нашему. Бюрократично.

Программист криво усмехнулся и похлопал ладонью по ребристому пластику монитора.

— Знаешь, Леш… Я ведь всю ночь ковырял их машинные коды. Разбирал алгоритмы пересчета ячеек. И понял одну вещь.

Громов выпрямился, хрустнув затекшей спиной.

— Какая разница, кто сидел в калифорнийском гараже и писал это ядро. Архитектура не имеет национальности. Имеет значение только железо, на котором этот код исполняется. И мы заставим её работать на нас.

Алексей смотрел на осунувшееся лицо программиста, понимая, какой колоссальный труд стоял за этими словами. Запустить западную программу в оригинале было делом техники, но создание полноценной локализации требовало глубокого вмешательства в машинные коды. Громову пришлось буквально препарировать чужую программу в уме, вытаскивая из нее математическое ядро, и ювелирно пересаживать его на архитектуру русского режима их операционной системы, чтобы на выходе получить продукт, понятный простым нормировщицам.

Запах остывшего растворимого кофе смешивался с едким ароматом табачного дыма, намертво въевшимся в свитер Громова, пока программист вручную высчитывал смещения, переписывал процедуры обращения к памяти и синхронизировал чужие алгоритмы с нашим видеоконтроллером.

Алексей кивнул.

— Покажи, — коротко попросил Морозов.

Громов положил руки на клавиши. Пальцы привычно забегали по рядам. Он подвел курсор к ячейке А1. Вбил текст: «Припой ПОС-61». Сместился вправо. Ввел количество — пятьдесят. Цена — рубль двадцать. Следующая строка: «Растворитель». Количество, цена.

Механика работы завораживала своей примитивной плавностью.

Программист спустился на две строки ниже. Ввел базовую формулу суммирования, ссылаясь на адреса предыдущих ячеек. Нажал клавишу ввода.

На месте формулы мгновенно появилось итоговое значение в рублях. Без задержек. Почти мгновенно.

Алексей перевел взгляд с экрана на металлический кожух дисковода.

Перед ними работала система, способная заменить армию нормировщиц с их деревянными счетами и железными арифмометрами.

— Жень. Сохрани этот файл, — голос Алексея звучал ровно, как натянутая струна. — И открой чистый лист. Подготовь пустую таблицу. Столбцов на двадцать, строк на сто.

Громов поднял воспаленные глаза.

— Зачем?

— Мы вобьем туда реальный годовой бюджет нашего института.

Алексей развернулся и быстро зашагал к выходу из лаборатории.

* * *

Коридоры административного корпуса НИИ разительно отличались от рабочих этажей. Здесь полы покрывала толстая, блестящая мастика. Стены были выкрашены в глухой салатовый цвет, поглощающий свет. Пахло мебельным лаком, пыльными ковровыми дорожками и старой бумагой.

Морозов остановился перед массивной дверью с табличкой «Седых В. П. Административный руководитель КБ». Коротко стукнул костяшками пальцев по дерматиновой обивке и нажал на ручку.

Виктор Петрович Седых сидел за огромным столом, покрытым зеленым сукном. Перед ним высились три внушительные стопки бумажных отчетов, прошитых суровыми нитками. Административный руководитель всех КБ мрачно листал верхний том, водя концом перьевой ручки по столбцам цифр.

— Виктор Петрович, — Алексей прикрыл дверь.

Седых поднял взгляд. Усталое, изрытое морщинами лицо функционера выразило легкую досаду. Он уважал Морозова за способность вытаскивать институт из технологических ям, но появление ведущего инженера в конце месяца всегда сулило непредсказуемые проблемы.

— Алексей Николаевич. Если вы за фондами на текстолит — у меня лимиты исчерпаны. Ждите следующего квартала.

— Я не просить, Виктор Петрович. Я предлагать.

Морозов подошел ближе к столу.

— Прошу вас спуститься в нашу лабораторию. Буквально на пятнадцать минут. Мне нужно продемонстрировать вам прикладную ценность «Сферы-82». Не в теории. На практике.

Седых отложил ручку. Металлическое перо тихо звякнуло о стеклянную чернильницу. Виктор Петрович сцепил пальцы в замок.

— Вы собрали хорошую машину, Морозов. Я не спорю. Мы подписали акт. Но у меня годовой баланс не сходится. Цеха требуют премий, а план по ширпотребу висит на волоске. Мне сейчас не до ваших цифровых игрушек для инженеров.

Бюрократический скепсис был ожидаем. Старые управленцы мыслили тоннами, кубометрами и рублями. Электронные импульсы на экране кинескопа не имели для них физического веса.

Алексей оперся ладонями о край зеленого сукна.

— Это не игрушка. И чтобы вы в этом убедились, есть одно жесткое условие. Вы идете не один. Вызовите главного бухгалтера. С текущими сметными документами.

Седых нахмурился. Требование звучало нагло. В советской иерархии главный бухгалтер был фигурой почти сакральной, стоящей на страже института от гнева проверяющих инстанций. Отрывать ее от закрытия месяца ради экскурсии в лабораторию казалось безумием.

Седых испытующе посмотрел в глаза инженера. Морозов не отвел взгляда. В его позе не было просительности — только уверенность человека, держащего на руках козырной туз.

Слышалось лишь размеренное, глухое тиканье массивных напольных часов в углу. В этом пространстве, насквозь пропитанном запахом дорогой полироли и застарелого табака, власть измерялась исключительно толщиной бумажных папок и количеством утвержденных гербовых печатей. Для управленцев старой формации провода, печатные платы и мерцающие экраны оставались чем-то несерьезным, факультативным — странной вотчиной чудаковатых инженеров в мятых халатах.

Морозов прекрасно понимал внутреннюю механику этого мира. Седых был умным, расчетливым руководителем, но его аппаратную оптику ограничивали жесткие рамки ГОСТов и министерских нормативов. Чтобы пробить эту толстую когнитивную броню, нельзя было оперировать понятиями тактовой частоты или ширины адресной шины. Нужно было нанести точечный удар в самую болевую точку советской бюрократии — в управление временем и материальными ресурсами.

Алексей не отвел взгляда и не изменил позы.

Седых медленно протянул руку к белому аппарату внутренней связи. Снял тяжелую эбонитовую трубку. Нажал кнопку селектора.

— Марья Ивановна. Зайдите ко мне. Да, прямо сейчас.

Спустя две минуты дверь приоткрылась. В кабинет вошла женщина.

Она была похожа на оживший монумент финансовой дисциплине. Строгий темно-синий костюм, плотно застегнутый на все пуговицы. Гладкая, тугая прическа, стягивающая седеющие волосы на затылке. Лицо суровое, с глубокими складками у плотно сжатых губ. В руках она сжимала толстую конторскую книгу в коленкоровом переплете и массивные деревянные счеты с отполированными до блеска костяшками. От нее пахло валидолом и старой копировальной бумагой.

— Виктор Петрович, — голос ее прозвучал сухо, с явным металлическим оттенком. — У меня квартальная сводка горит. Каждая минута на счету.

— Знаю, Марья Ивановна, — Седых тяжело поднялся из-за стола. — Пойдемте с нами. Товарищ Морозов утверждает, что у него есть инструмент, который сэкономит ваше драгоценное время.

Бухгалтер смерила Алексея тяжелым, уничижительным взглядом.

— В конце месяца? Чудес не бывает, Виктор Петрович.

Алексей промолчал.

Троица вышла из кабинета и двинулась по длинным коридорам. Только стук каблуков Марьи Ивановны мерно отбивал такт в полной тишине, пока Алексей шел чуть впереди, подстраиваясь под неспешный шаг начальства. Внутри него шел непрерывный расчет. Он искал способ пробить эту глухую, монолитную стену скепсиса. Слова здесь не работали. Убеждать человека с деревянными счетами в превосходстве микропроцессора — пустая трата воздуха.

Он планировал бить чистой математикой.

* * *

Делегация вошла в лабораторию КБ-3. Запах канифоли ударил в нос пришедшим, заставив Марью Ивановну недовольно поморщиться. Громов, завидев начальство, мгновенно вскочил со стула, уступая место.

Морозов сел за клавиатуру. Экран «Юности» светился ровной табличной сеткой. Пустые ячейки ждали ввода.

Седых и бухгалтер подошли к столу. Марья Ивановна брезгливо покосилась на переплетение проводов и открытый корпус дисковода. Она демонстративно сдвинула в сторону моток припоя и с тяжелым стуком опустила свой бумажный гроссбух на край стола, рядом с антистатическим ковриком. Деревянные счеты легли поверх книги. Контраст эпох в одной визуальной точке.

— Слушаю вас, — сухо произнесла она, сложив руки на груди. — Калькулятор собрали?

Морозов не повернул головы. Его пальцы зависли над клавишами.

— Продиктуйте мне реальную часть годового бюджета любого конструкторского бюро нашего института. Статьи и суммы.

Женщина раздраженно вздохнула. Открыла книгу. Страницы зашуршали.

— Зарплатный фонд КБ-1. Основные оклады — сто две тысячи четыреста рублей. Премиальный фонд — восемнадцать тысяч.

Клавиши под руками Алексея защелкали. Механический, отрывистый звук заполнил комнату.

— Закупка комплектующих, — диктовала бухгалтер, ведя узким пальцем по строкам. — Резисторы и конденсаторы — две тысячи. Полупроводники — четырнадцать тысяч. Расходные материалы. Текстолит фольгированный — девять тысяч шестьсот рублей. Хлорное железо — восемьсот.

Алексей вбивал цифры. Курсор скакал по экрану, оставляя за собой заполненные ячейки.

— Накладные расходы, — голос Марьи Ивановны звучал ритмично, она читала по памяти, лишь изредка сверяясь с бумагой. — Электроэнергия — пять тысяч четыреста. Амортизация оборудования — три тысячи.

Морозов остановился. Десять строк были заполнены.

Он нажал стрелку вниз. Перешел к пустой ячейке под столбцом с цифрами. Быстро набрал формулу сложения. Клавиша ввода щелкнула.

На экране появилась итоговая сумма. Сто пятьдесят пять тысяч двести рублей.

Марья Ивановна опустила взгляд на открытую страницу гроссбуха. Итог совпадал до копейки. Ни один мускул не дрогнул на ее лице. Она лишь поправила воротник строгой блузки.

— Сложение столбца, — констатировала она без малейшего удивления. — Обычный, пусть и очень быстрый калькулятор. Только стоит, наверное, как половина нашего завода. Смысл переписывать цифры из книги на этот ваш телевизор, если я на счетах сведу этот баланс за три минуты?

Морозов скользнул взглядом по деревянным счетам, лежащим рядом с пластиковой клавиатурой. Отполированные тысячами человеческих прикосновений костяшки тускло поблескивали в холодном свете люминесцентных ламп. Десятилетиями они оставались главным и единственным мерилом истины в этой огромной империи. За каждой передвинутой деревяшкой стояли судьбы квартальных премий, карьерные падения и жестокие партийные выговоры.

Тяжелый, механический рокот шагового двигателя в дисководе резко контрастировал с сухим шорохом страниц бухгалтерского гроссбуха. Для Марьи Ивановны ЭВМ была враждебным, излишне усложненным механизмом, который делает то же самое, что и она, но с неоправданным расходом дорогостоящего электричества. Простая скорость прямого счета не могла ее сломить, ведь в советской бухгалтерии излишняя спешка часто приравнивалась к должностному преступлению.

Алексей почувствовал, как адреналин легким холодком стягивает кончики пальцев. Он досконально изучил этот психологический барьер. Линейное мышление, привыкшее к долгому, последовательному сложению цифр в столбик, сейчас должно было столкнуться с концепцией, для которой в словаре этих людей еще даже не существовало терминологии.

Алексей медленно убрал руки с клавиатуры. Момент настал.

Он обернулся к бухгалтеру.

— Марья Ивановна. А теперь давайте смоделируем ситуацию. Вводная: министерство прислало телефонограмму. Завод-поставщик поднял отпускную цену на фольгированный текстолит на пятнадцать процентов.

Алексей выдержал паузу.

— Сколько времени у вас займет пересчет всего бюджета КБ с учетом этой поправки? Вам нужно изменить стоимость материала, пересчитать общую сумму расходных материалов, и, наконец, вывести итоговый годовой баланс.

Глаза женщины сузились. Профессиональная гордость была задета.

— Часа два. Нужно поднять ведомости потребления, пересчитать коэффициенты. Если не отвлекаться.

— Смотрите на экран.

Морозов нажал клавишу «Вверх». Курсор прыгнул на ячейку «Текстолит: 9600».

Алексей ввел новую формулу, умножающую значение на коэффициент 1.15.

Палец завис над клавишей «Ввод».

Громов перестал дышать, вцепившись пальцами в край подоконника. Седых чуть наклонился вперед, щурясь на свечение люминофора.

Сухой, громкий щелчок пластиковой клавиши.

Мгновенная реакция машины. Белые пиксели на черно-белом экране кинескопа дернулись. Цифра в ячейке текстолита изменилась на 11040. В ту же микросекунду каскадом, сверху вниз, обновилась ячейка общей суммы материалов.

Итоговая сумма внизу таблицы мигнула и выдала новое значение. Сто пятьдесят шесть тысяч шестьсот сорок рублей.

Несколько математически связанных ячеек поменяли свои значения за одну долю секунды. Смета конструкторского бюро была полностью пересчитана, перепроверена и сведена в безупречный баланс.

* * *

Марья Ивановна замерла.

Ее рука, уже потянувшаяся к отполированным костяшкам счетов, остановилась в воздухе. Она смотрела на экран телевизора не мигая. Глубокие складки у рта стали еще резче. Женщина лихорадочно, с пугающей скоростью начала шевелить губами, производя в уме грубую прикидку процентов, чтобы поймать машину на ошибке.

Она перевела взгляд на итоговую сумму. Снова на коэффициенты.

Рука медленно опустилась на стол. Пальцы сжали край коленкорового переплета, впиваясь в ткань с такой силой, что на ней остались едва заметные вмятины от ногтей.

— Ошибки нет, — шепотом, словно боясь разбить хрупкую тишину лаборатории, произнесла бухгалтер. — Все доли учтены.

Она медленно повернула голову к Седыху. Ее глаза были широко раскрыты.

— Виктор Петрович… — голос Марьи Ивановны дрогнул. — Если завод присылает изменение тарифов на электроэнергию, мой отдел пересчитывает годовую смету КБ четыре дня. Четыре дня мы сидим после работы, до ночи. Вычеркиваем. Переписываем набело. Сводим копейки.

Она снова уставилась на мерцающий курсор.

— А он… нажал одну кнопку.

Седых резко, почти грубо отодвинул бухгалтера плечом, шагнув вплотную к столу.

Алексей Морозов чуть откинулся на спинке стула, внимательно наблюдая за Седыхом. Трансформация происходила прямо на его глазах. Выражение ведомственной скуки и легкого раздражения слетело с лица функционера, как сухая шелуха. Мышцы челюсти напряглись. Взгляд приобрел металлическую жесткость и невероятную остроту.

Седых оказался предельным прагматиком. Административный руководитель мгновенно оценил масштаб выгоды, которую давала эта программа.

— Максимальное количество строк? — голос Седых звучал сухо, как выстрел. Никаких эмоций. Только сбор технических характеристик оружия.

— Двести пятьдесят четыре строки. Шестьдесят три столбца, — четко доложил Морозов. — Хватит на детализацию любого отдела.

— Сводить данные из разных файлов можно? Если я хочу получить общую квартальную сводку всего КБ, сложив сметы пяти лабораторий?

— Я напишу небольшую утилиту, — подал голос Громов из угла комнаты. — Будет читать итоги с дискеты и суммировать в главном файле автоматически.

Седых оперся кулаками о стол. Он смотрел на таблицу, но видел не пиксели. Перед ним разворачивался абсолютный контроль над финансовыми потоками: отчеты, ложащиеся на стол министерства раньше срока, и обрубленные возможности цеховиков прятать перерасход материалов.

ЭВМ из непонятного ящика с проводами превратилась в идеальный инструмент управленца. Шок от скорости расчета на лице Седых сменился задумчивым, цепким прищуром.

Плановая советская экономика была чудовищным, неповоротливым левиафаном, истекающим кровью на каждом бюрократическом стыке. Изменение одной крошечной переменной — стоимости гвоздя, тарифа на свет или премии за перевыполнение — запускало цепную реакцию, требовавшую мучительного ручного пересчета сотен связанных документов. Этот процесс был настолько болезненным и долгим, что к моменту сведения финального заводского баланса цифры успевали безнадежно устареть.

Светящаяся таблица на экране кинескопа позволяла жонглировать плановыми показателями в реальном времени, подгоняя результаты под министерские нормативы до того, как первая капля чернил коснется официального бланка.

Морозов уловил, как едва заметно расширились зрачки Седых. Это было прозрение аппаратного хищника, которому только что вручили современную винтовку в мире, где все остальные продолжают воевать копьями.

Морозов смотрел на сжатые кулаки Седых и возвращался к полному, кристальному пониманию ситуации.

Архитектура процессора К580, элегантность Единой шины, модульность блоков питания — все эти железные прорывы, которыми так гордились инженеры КБ-3, для людей уровня Седых были просто шумом. Железо не интересовало функционеров. Их интересовал контроль над цифрами и людьми.

Аппаратная часть «Сферы-82» была лишь наживкой. Троянским конем.

Настоящим крючком для Системы оказалась электронная таблица.

Седых медленно выпрямился. Он больше не смотрел на инженеров.

— Марья Ивановна, — приказной тон начальника КБ не терпел возражений. — До конца недели вы выделяете двух самых смышленых нормировщиц из своего отдела. Они садятся здесь, в лаборатории. Освобождаете их от текучки. И пусть вручную, по строкам, перенесут все базовые таблицы бухгалтерии на эти… — он щелкнул пальцем по металлическому корпусу дисковода. — На дискеты.

Бухгалтер молча кивнула. С деревянными счетами было покончено.

Алексей зафиксировал этот момент в памяти. Смена эпох в рамках отдельно взятого закрытого НИИ произошла без фанфар и красных ленточек. Просто один функционер отдал приказ другому.

Но для Алексея это значило гораздо больше. Проект «Сфера-82» перерос уровень рядового НИОКР, который могли закрыть росчерком пера по жалобе завистников. Отныне машина стала стратегическим административным ресурсом КБ. Их проект врос в кровеносную систему завода.

Седых повернулся к Морозову. Протянул руку. Рукопожатие было коротким, тяжелым и многозначительным.

— Работайте, Алексей Николаевич, — произнес Седых. — Если нужны будут дискеты — пишите заявку напрямую на мое имя. Проведу через резерв и перераспределение лимитов.

Виктор Петрович развернулся и вышел из лаборатории. Марья Ивановна, прижимая к груди гроссбух и так и не пригодившиеся деревянные счеты, поспешила за ним. Дверь захлопнулась.

Тишину нарушало лишь мерное гудение трансформаторов и шелест вентиляторов в осциллографах.

Морозов повернулся к Громову. Программист стоял у окна, сжимая в руке смятую пачку сигарет. На его измятом, сером лице расцветала медленная, счастливая улыбка человека, который понял, что его бессонная ночь только что изменила положение их КБ.

Евгений шагнул к столу. Протянул руку и с громким, металлическим щелчком открыл защелку на дисководе ИЗОТ.

Предыдущая главаГлава 35 из 44Следующая глава