Чем чёрт не шутит — может, когда телефон отключил, настройки сбились? Ну, разные чудеса бывали в моей практике. Полез в консоль АТС — всё тип-топ! Только пишет, что аппарат не подключён.
Окей, видимо, настройки телефона. Просматриваю настройки такого же аппарата, стоящего в переговорной. Делаю по аналогии — ни фига.
Тут мне в голову приходит шальная мысль: а что, если дело в проводе от аппарата до розетки? Достаю, вставляю в тестер — работает! Всё, что приходит на ум, это только потанцевать вокруг с бубном и вознести хвалу всем богам. Возвращаюсь к себе в кабинет, устало опускаюсь в кресло… На меня заманчиво, почти соблазняя, смотрит новенький телефонный проводок. А почему бы и нет? Попытка — не пытка. Хватаю его, бегу подключаю, включаю питалово аппарата… Победа — оно работает! Проверяю старый провод через тестер. Работает! Голова отказывается понимать, в чём разница. Начинаю внимательно осматривать провод и понимаю, в чём зарылась причина. Проводок перебился. Когда его распрямляешь, коннект есть, когда сгибаешь, чтобы засунуть в аппарат, коннект пропадает…
Так что, господа, коллеги и друзья, не ищите себе проблем на ровном месте! Всегда проверяйте мелочёвку в первую очередь — сэкономите себе время и силы.
#12146: Типа того
12:00 28.04.2014, IT happens
В тридевятом царстве, в тридесятом государстве жили-были, не тужили, по-английски говорили Кен Томпсон и Деннис Ритчи. Но наскучила им басурманская речь, и придумали они новый язык. Да так ловко, что целые армии программистов по белу свету восприняли язык, как родной. Появились и проповедники языка С, и его адепты, и даже отдельные секты со своими священными сводами законов и правил, аки секта поклонников С++ во главе с Бьёрном Страуструпом. Но в основе своей все они жили по одному канону, установленному основоположниками языка.
Но не каждый последователь Кена и Денниса, даже свободно говоривший на этом языке, знал все его тонкости и особенности. И вот один из таких стал проверять, не поменялась ли некая матрица, не зная правил явного и неявного преобразования типов данных. И был очень возмущён небрежностью и нерадивостью авторов компилятора из секты Столлмана, которые в операции сравнения не приводили результат, возвращаемый функцией, к типу double. А ведь свод законов говорит о том, что результат вычисления будет преобразовываться к наиболее точному типу данных из тех, которые в нем участвуют. А также о том, что и при сравнении разных типов они сначала приводятся к наиболее точному (если, конечно, обратное не указано программистом путём применения явного преобразования типов).
Да, ошибка в функции проверки матрицы была найдена точно. Вот только виновными были объявлены почему-то разработчики компилятора, а не автор исходного кода.
И да, неявное преобразование типов в С/С++, к которому надо относиться очень внимательно — страшная вещь, особенно когда пишутся кроссплатформенные приложения. Не зря в одной толстой священной книге от Страуструпа этому вопросу отведена чуть ли не целая глава.
#12147: Криптоустойчивый контейнер
12:12 28.04.2014, IT happens
Некоторое время назад родственники стали жаловаться, что в их подъезде какие-то нехорошие люди регулярно то ломают домофон, то портят почтовые ящики и выбрасывают. Жильцы подозревают в этом раздел сфер влияния районного ЖКХ и местного ТСЖ, но доказать ничего не могут. Обращались неоднократно к участковому — всё бесполезно. После очередного раза, когда взломали их ящик, и без того потрёпанный жизнью, внезапно пришла идея. В закромах был найден антивандальный коммутационный ящик подходящего размера, доработан болгаркой для получения входящей корреспонденции, окрашен и повешен на четыре анкера 10×150 непосредственно в бетонную стену рядом с остальными.
Через пару недель позвонили родственники, радостно сообщив, что их ящик единственный пережил очередную брутфорс-атаку. Судя по следам, его пинали, пытались вскрыть острым предметом и даже оторвать от стены, встав сверху. Всё безуспешно.
Такой вот криптоустойчивый контейнер получился. Ещё бы защиту от спама аналоговую реализовать — и можно выходить на массовый рынок.
#12148: Недоперезагрузка
12:24 28.04.2014, IT happens
Многие, наверно, слышали поговорку: «Нет повести печальнее на свете, чем повесть о заклинившем ресете». Появление поговорки, скорее всего, связано с тем, что на злосчастную кнопку обращают внимание, когда раскидано уже полмашины, а виновник проблем всё это время был на виду. Мне ситуация с запавшим ресетом попадалась раз пять, поэтому я уже давно включил проверку этой проблемы в шорт-лист предварительной диагностики, но оказалось, что невнимательность и неудачное стечение обстоятельств могут придать этой поломке новый колорит.