Ладно, посмотрим, что у них тут. Глядишь, и расширю «Дредноуту» клиентуру. Всё-таки я и их подвёл, столько времени провалявшись в больнице.
3
Тот якудзин, кто додумался совместить по сути вербовочный центр, позволяющий отобрать в «быки» силового крыла мафии лучших бойцов, и шоу для простого народа, жадного, как известно, до хлеба и зрелищ – без дураков был гением. Вирусная реклама через посетителей («Пс-с, приятель, хочешь увидеть кое-что запрещённое и крутое?») одновременно эффективно приводила всё новых и новых платёжеспособных зрителей и сообщала всем заинтересованным лицам о том, где их способность начистить рыло оппоненту будет очень востребована. Финансовой вишенкой, превращающей самоокупаемость в серьёзный доход и заодно мотивирующей бойцов на ринге выкладываться получше, служил продвинутый тотализатор.
В общем, всё по-взрослому, включая профессионального конферансье, на раз заводящего толпу за сеткой, и вполне на уровне выполненного технического обеспечения. Разбирался я в сценической технике постольку-поскольку, но отличить софит от настольной лампы и мегаваттную акустическую систему от дешёвых колонок к плееру под силу каждому. Отдельно внушал уважение подковообразный режиссёрский пульт Кодзимы-сана, позволяющий одновременно рулить и светом, и звуком: первое впечатление – словно в кабине самолёта оказался!
Понятно, что следить за работой ведущего шоу, вовремя включая и выключая звуковые и световые эффекты, довольно напряжённая работа. К счастью, нашёлся умелец, собравший для арены автоматизированную систему управления боями. Достаточно было забить в компьютер имена бойцов, распределённые по дивизионам «крутизны» – и машина самостоятельно проводила жеребьёвку.
Оператору за пультом оставалось только нажимать вынесенные кнопки «один» или «два», фиксируя озвученного конферансье победителя: система сама выводила на лайт-борды имена следующей пары бойцов. Информация дублировалась как в зале, так и в раздевалках, помогая участникам не пропустить свой выход. Всё здорово… было. Пока система не заглючила.
– То есть, в какой-то момент вместо иероглифов бегущие строки стали показывать непонятные значки? – повторил я. Дождался кивка и продолжил: – Вы обновили прошивку контроллера, и всё заработало, но появились глюки с осыпанием текста?
– Куро-кун обновлял прошивку, это была его идея, – тут же сдал подчинённого Кодзима.
– Зато хоть так заработало, а то пришлось бы опять карточки на всех участников печатать, как в каменном веке! – тут же отреагировал молодой.
Я же… промолчал.
Многие айтишники, особенно те, что работают в этой сфере услуг недавно, чуть что начинают поносить предшественников на чём свет стоит: мол, руки из задницы, и как могли так криво всё сделать? Плохая практика: мало того, что предыдущий специалист мог оказаться ребёнком или родственником директора компании-клиента, так пользователи уже привыкли работать со всеми багами и проблемами на своих компах и, скажем, переезд на новый, даже очень хороший софт воспринимают едва ли не как проявление личной вражды. Там же нужно заново учиться в правильные кнопочки нажимать!
Потому я, попросив продемонстрировать работу автоматизированного оповещения бойцов, охреневал беззвучно. Программа, написанная на чём-то вроде устаревшего ещё во время моей учёбы в школе в прошлом мире Delphi 5 даже не была откомпилирована, а запускалась прямо через среду разработки кнопочкой F5. Более того, «программист», создавший это… это… чудо, похоже, не умел работать с базами данных: информация об участниках бралась из текстового файла и сохраняла результаты жеребьёвки в другой текстовый файл. И динамически формировала третий для контроллера лайт-бордов – собственно, из него на информационные панели надписи и выводились.
– Я буду разбираться, если появятся вопросы – дам знать, – оповестил нинкё-техников я.
Стандартные заученные фразы спасают тогда, когда с языка рвётся лишь один мат.
– Конечно-конечно!
Корень проблемы я раскопал буквально за пятнадцать минут, из них четырнадцать читал описания к файлам прошивок контроллера. Это в моём мире избалованные интернетом юзеры не хранят на своих жестких дисках лишнего, что может пригодиться – а на здешних компах «на всякий случай» стараются ничего не стирать. Что ж, случай классический. Прямо так и вижу, как развивались события.
Когда «всё сломалось» – Кодзима не обратился в профильную контору типа «Дредноута», а дал задание молодому. Уж не знаю почему, может, из-за непосредственного начальника, любящего придерживать деньги и приседать на уши с «а вас мы тут для чего держим?» Надо отдать Куро должное – он смог найти рабочее решение, не имея представления о генезисе проблемы: обновление помогло. А помогло оно потому, что новая прошивка поддерживала кодирование языковых символов не только в формате «традиционный японский», но и в юникоде.
Да, кто-то из этих двоих случайно ткнул не туда, запуская программу, и файл вывода информации поменял кодировку на ту, что контроллер уже не мог читать. А после обновления – смог, но, по-видимому, появилась проблема то ли с доступом к памяти, то ли ещё с чем, и лайт-борды стали глючить.
Вернуть старую прошивку и старый формат вывода текста заняло у меня ещё пятнадцать минут. Всё, можно сдавать работу и отправляться готовиться получать по морде лица. Правда, сдавать оказалось, увы, некому: пока я возился, оба якудзина слиняли, нашёл их через панорамное режиссёрское окно возящихся со сменой софита. Оставалось только покачать головой: сколько раз меня оставляли один на один в разных конторах с компьютером главного бухгалтера, например – не счесть.
Почему-то в сознании обывателя компьютерщик, даже если это юнец вроде меня, ассоциируется едва ли не с доктором или шаманом: абсолютное и обычно ничем не заслуженное заранее доверие. Здесь хотя бы ценной финансовой информации нет… Хм. Или есть.
* * *
– Кодзима-сан, у вас тут перекусить есть где? – ещё через сорок минут выглянул я из контейнера в зал. – Почти всё сделал!
– Вижу-вижу, Йоширо-сан, – с удовольствием покосился на ровно горящее табло главный техник. – По лестнице вниз, там в холле для посетителей автоматы с готовой едой.
Ну вот и легитимный повод погулять по зданию. Разумеется, никакую жрачку я искать не стал, а отправился к раздевалкам. Средствами контроля доступа мафиози себя ожидаемо не стали заморачивать – чему после увиденного наверху как-то не удивлён. Зато была внутренняя охрана… спокойно меня пропустившая. Точно так же я прошёл мимо кучкующихся рядом со своими раздевалками молодых парней в доги и спортивных костюмах: спецовка работала лучше всякой мантии-невидимки. Ага, а вот и наши.
– Йош…
– Тихо!!! – не хуже заправской анаконды прошипел я, активно пихая в дверь пару одногруппников, торчавших прямо на пороге. Остальные трое обнаружились внутри. – Заткнулись все и слушаем меня!
– Да что ты… – Джун, неформальный лидер нашей группы, заткнулся, выпучив глаза, потому что я всунул ему в руку пачку денег.
Между прочим, выскреб из кошелька всё – а было там после получения компенсации от Общности слегка побольше, чем могло оказаться на кармане у среднестатистического школьника. Жаль, когда я собирался в дорогу, голова у меня занята была чем угодно кроме вероятного участия в тотализаторе. Ну и кто ж знал, что так повернется?
– Остальные тоже скидывайтесь, – приказал я. – А ты, Джун, поставишь на себя, что попадёшь в топ-пять по младшему дивизиону. Вы тут в первый раз, коэффициент должен быть хорошим… Всё ясно? Ах да, мутузьте друг друга как хотите, но Джун должен во всех боях выиграть, поняли? Иначе денежки тю-тю!
– С чего ты взял, что я хотя бы один бой пройду? – наконец опомнился будущий победитель.
Выглядел он довольно хмуро и выразиться совсем в другой интонации ему мешала только стопка купюр в руках.
– Потому что вы будете только друг другу морды бить, – улыбка у меня получилась недоброй. – Я слегка отредактировал файл результатов жеребьёвки, благо система его даже не пытается шифровать… Неважно. Главное – не забудьте, кто должен выйти победителем из всех схваток.