Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов.
Шрифт:
С работы звоню одному из провайдеров: «Как там, починили? Видно ли на моем хвосте что-нибудь?» - «Да, видно, - отвечает парень из техподдержки, - двести с чем-то MAC'ов получили DHCP-лизы!»
Очень попросил не рубить меня еще хотя бы полчасика. Кажется, в тот раз я неоднократно нарушил скоростной режим передвижения по Москве.
#1427: Ниже точки замерзания
12:00 12.11.2009, IT happens
Решил один мой знакомый обзавестись чудом техники - компьютером. Имея инженерное образование и худенький кошелек, он принял решение собирать машину из комплектующих самостоятельно.
Почти
Открыл крышку - кулер не крутится. Железо было подобрано бюджетное, но система охлаждения стояла высококачественная, и размеры радиатора полностью обеспечивали охлаждение процессора без запуска вентилятора - что его включать при 25 градусах-то… Умное железо, видя такое дело, начинало дико орать о неисправности вентилятора - как обычно, производитель материнки не учел режим энергосбережения. Общую картину дополняло автоматическое снижения множителя тактовой частоты при низкой нагрузке. Только в охочих до ресурсов играх температура поднималась до 30 градусов и вентилятор запускался, удовлетворяя систему защиты.
Первой мыслью было отключить защиту, но это не совсем верный шаг - мало ли что? Было решено разогнать процессор (благо, 45-нм техпроцесс имеет отличный потенциал) и отключить режим снижения множителя. Результат не заставил себя ждать: прирост производительности в 40% и 32 градуса полностью удовлетворили как пользователя, так и «умное» железо, и даже под полной нагрузкой температура не поднималась выше 38 градусов.
#1428: Когда был Ленин кругленький, завернутый в фольгу
15:45 12.11.2009, IT happens
Было это в лохматые восьмидесятые. Служил я тогда срочную в отдаленной базе ВМФ на побережье Японского моря. В то время телевизионная ретрансляция работала как автопром в РФ. Активных антенн тогда не было, и для того, чтобы нормально принять сигнал, делали монстров с кучей директоров или же незабвенную «восьмерку».
Как- то достался нам маленький мобильный транзисторный телевизор, и задумались мы с ребятами о небольшой и столь же мобильной антенне к этому шедевру отечественной бытовой электроники. Выбор пал на пятиэлементный вариант: рефлектор, фидер и три директора. Но вот беда -нужных для монтажа девайса металлических трубок (алюминиевых или медных) в наличии не оказалось.
Как известно, доблестным защитникам Родины еще на первом году службы прививается экстра-смекалка. Мы, разобрав здоровый конденсатор, добыли приличное количество фольги, а в Ленкомнате чуток попортили деревянный стенд и сняли несколько круглых реек. Тщательно произведя замеры, мы сколотили антенну из реек и обернули в несколько слоев фольгой.
Антена обеспечила довольно качественный по тем времена прием и узкую диаграмму направленности. Жаль, что прослужила не так долго - телевизор конфисковали при внеочередном шмоне.
#1429: До встречи в следующей жизни
12:00 13.11.2009, IT happens
У нас в фирме стояла файлопомойка под управлением Windows Server 2008. Операционка эта при каждой перезагрузке или выключении выводит навязчивое окно с просьбой описать причину, иначе же вырубаться отказывается.
Однажды
Что писать? Жалко винду, стыдно за свое неподобающее поведение. Я решил пойти на компромисс с совестью и ввел: «Когда-нибудь установлю снова…»
#1430: Индийская гигиена
12:00 13.11.2009, IT happens
Фиксили как-то баг в одной программе. Делали ее какие-то индусы для забугорного заказчика, а нам досталась поддержка.
Структура программы была такова: имелось несколько форм, каждая с меню. По выбору пункта меню пользователь переходил на новую форму или возвращался на предыдущую. Прототип формы имел четыре основных метода: конструктор/деструктор и колбеки входа/выхода. Когда пользователь уходил «вглубь», формы не удалялись, а складывались в линейный стек, поскольку по задумке юзеру все равно придется через них возвращаться. Удаление форм и их ресурсов происходило при возврате назад по удалению из стека.
Баг заключался в том, что на одной из форм, если ее пройти несколько раз, меню увеличивалось, наполняясь дублирующимися пунктами. Оказалось, наполнение этого меню происходило не единожды, в конструкторе (как и везде по проекту), а каждый раз при заходе в форму. Я перенес несколько строк - заработало на ура.
Решил позвать старшего по отделу, сурового программера, чтобы он тоже подивился индийской мудрости. Он полистал код, позадавал много общих вопросов и молвил:
– Возвращаем как было, а по событию выхода просто очищаем меню.
– Да тут во всем проекте именно так! Меню по-любому очистится, когда форма из стека уйдет.
– Не знаю, как разработчики этой программы, но лично я подтираюсь после того, как сходил в туалет, а не перед тем, как сходить куда-либо еще.
Это окончательно развеяло сомнения о вариантах фикса и означало многодневную переделку всех форм по проекту. В итоге заказчик сказал отдельное спасибо нашей команде за проделанную оптимизацию.
#1431: Терминатор 3G
12:00 13.11.2009, IT happens
Недавно пересматривал всех «Терминаторов» и в третьей части нашел киноляп. В самом начале, когда T-X только достала машину, она звонит по мобильнику на некий модемный пул. Слышен знакомый каждому звук коннекта и шипение передаваемых данных. На следующих кадрах глазами T-X видим, как быстро загружаются картинки и какие-то анкеты из базы данных - десятки картинок с описаниями…
Во- первых, я, как связист, экспериментировавший с коллегами по работе с GSM-шлюзами и читавший форумы по этому вопросу, знаю, что по GSM-звонку, в отличие от обычного телефонного звонка, установить модемное соединение почти нереально. Операторы искусственно режут частоту установления коннекта модема или факса, чтобы клиент покупал эту услугу за отдельные деньги. Во-вторых, если эта услуга подключена, то модемный коннект идет не просто в голосовом тракте -сигнализация транслируется в каком-то отдельном канале, что позволяет избежать ошибок. В-третьих, эти самые ошибки почти неизбежны, даже если оператор не режет частоту и соединение удается установить: в отличие от обычной телефонии при GSM-звонке голос нещадно сжимают, в результате чего и тоны сигнализации, и DTMF-сигналы с клавиатуры в тональном наборе до того конца доходят в грязном виде, с дребезгом.