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