Читаем Bash.org.ru IT Happens Истории ## 12101 – 12200 полностью

Работаю в новой компании почти месяц. Когда устроился, в части офиса был ещё ремонт, все коммуникации провели до меня, и я, понадеявшись на благоразумность моего предшественника, особо сильно не вдавался в подробности. Ну, работает — и нехай работает. Настал день, когда ремонт был завершён. Приходят ко мне и говорят: «Надо бы нам главного акционера в его новый кабинет перевезти». Ну, не вопрос. Делов-то — компик из одного кабинета в другой, проводок туда, проводок сюда. Все перенёс, начал подключать. И вот тут случился ужас. Розетки не подписаны. И как быть? Ни LAN-тестера, ни схемы, вообще ничего у меня нету. И возле стола розетка только одна. То есть либо подключаем телефон, либо комп. С компом долго мучиться не стал: моноблок, слава великому Туксу, оснащён модулем «вайфай». Ну, значит, розетку отведём под телефон. Съездил в магазин, купил LAN-тестер, отыскал, где же наша розетка находится в стойке, и занялся уже механической работой…

Перенёс, поставил, подключил — и вижу фигу. «Server connected» — и на этом разговор закончился.

Что я только не пытался сделать! Сначала тщательно проверил, правильно ли я всё воткнул. Да, всё верно, провода подключены как положено. Втыкаю провод с тестером в розетку, в стойке ответка. Линк есть. Втыкаю в телефон… «Server connected» — и тишина.

Чем чёрт не шутит — может, когда телефон отключил, настройки сбились? Ну, разные чудеса бывали в моей практике. Полез в консоль АТС — всё тип-топ! Только пишет, что аппарат не подключён.

Окей, видимо, настройки телефона. Просматриваю настройки такого же аппарата, стоящего в переговорной. Делаю по аналогии — ни фига.

Тут мне в голову приходит шальная мысль: а что, если дело в проводе от аппарата до розетки? Достаю, вставляю в тестер — работает! Всё, что приходит на ум, это только потанцевать вокруг с бубном и вознести хвалу всем богам. Возвращаюсь к себе в кабинет, устало опускаюсь в кресло… На меня заманчиво, почти соблазняя, смотрит новенький телефонный проводок. А почему бы и нет? Попытка — не пытка. Хватаю его, бегу подключаю, включаю питалово аппарата… Победа — оно работает! Проверяю старый провод через тестер. Работает! Голова отказывается понимать, в чём разница. Начинаю внимательно осматривать провод и понимаю, в чём зарылась причина. Проводок перебился. Когда его распрямляешь, коннект есть, когда сгибаешь, чтобы засунуть в аппарат, коннект пропадает…

Так что, господа, коллеги и друзья, не ищите себе проблем на ровном месте! Всегда проверяйте мелочёвку в первую очередь — сэкономите себе время и силы.

<p>#12146: Типа того</p>

12:00 28.04.2014, IT happens

В тридевятом царстве, в тридесятом государстве жили-были, не тужили, по-английски говорили Кен Томпсон и Деннис Ритчи. Но наскучила им басурманская речь, и придумали они новый язык. Да так ловко, что целые армии программистов по белу свету восприняли язык, как родной. Появились и проповедники языка С, и его адепты, и даже отдельные секты со своими священными сводами законов и правил, аки секта поклонников С++ во главе с Бьёрном Страуструпом. Но в основе своей все они жили по одному канону, установленному основоположниками языка.

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

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

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

<p>#12147: Криптоустойчивый контейнер</p>

12:12 28.04.2014, IT happens

Перейти на страницу:

Все книги серии Bash.org.ru IT Happens

Похожие книги