double diff = a - det(M);
Результат равен нулю. Причём строго нулю, посмотрел побайтово. Та-ак… Похоже, что имеем вещественное число, в общем случае не равное самому себе. Уже интересно…
double a = det(M);
double b = det(M);
assert(a == b);
Ассерт не срабатывает. Пора в дурку…
Ларчик открывался просто. В сопроцессоре все числа обрабатываются в 10-байтовом формате, а double, как известно, 8 байт. Разработчики самого безглючного компилятора возвращали значение в голове стека сопроцессора и забыли нормализовать его до 8 байт. Нормализация происходила только в случае сохранения значения в переменной. Хвост в 2 байта добавлял несколько знаков к мантиссе и вызывал все эти спецэффекты.
#12134: Я медленно распутываю вашу витую пару
12:00 24.04.2014, IT happens
Зачастили в последнее время обзвонщики из компаний-провайдеров, предлагающие перейти к ним. Откуда узнали мой номер — неизвестно, но по один-два звонка за день получал с вопросами на тему: «А почему вы не подключились ещё к нам? У нас же такие тарифы хорошие…»
Первые три дня вежливо всем отвечал, участвовал в их опросах, объяснял, что доволен своим провайдером и менять его не собираюсь. Даже девушке из компании-провайдера, к которому я подключён, на протяжении десяти минут объяснял, что я — уже их клиент, и мне не требуется повторное подключение к ним.
На третий день уже начал просить меня больше не беспокоить, но всё было тщетно: продолжали звонить из одних и тех же компаний по много-много раз. На мои просьбы отвечали, будто под копирку: «Чтобы вас удалили из списка обзвона, вам требуется приехать с паспортом по такому-то адресу в такой-то отдел, заполнить там заявление и дождаться его рассмотрения — от трёх до семи дней». А ездить по всем восьми провайдерам в городе, которые взяли меня «на обзвон», признаюсь честно, было лень.
День четвёртый. 11 утра. У меня было хорошее настроение, до работы оставалось ещё несколько часов, как вдруг я услышал звонок мобильного. На экране отчётливо высвечивалось: «Провайдер такой-то. Не брать!». Взял трубку:
— Алло.
— Алло, здравствуйте, — услышал я приятный девичий голос. — Провайдер такой-то. Уделите мне, пожалуйста, пару минут.
— Слушаю.
— Мы проводим опрос. Вы довольны своим интернетом?
Зная чуть ли не наизусть весь дальнейший диалог, я, будучи в игривом настроении, решил пустить его в другое русло:
— Простите, — ответил я. — Разговоры про интернет — это скучно. Давайте лучше поговорим о вас. Как вас зовут?
— Ирина… — робко ответила она.
— Ирина. Какое красивое имя. А что на вас сейчас надето?
Помолчав секунды три, девушка бросила трубку.
Улыбнулся. Взял на заметку способ и начал его тестировать, корректируя и доводя до совершенства.
В этот день было пять звонков. На следующий — два. А ещё через день звонков уже не было вовсе.
Самым неприятным было вести этот диалог, когда на той стороне трубки оказался парень. Молчали мы оба минуты две после кульминационного вопроса. Потом трубку бросил я.
Но результат превзошёл все ожидания: ни одного звонка вот уже месяц. Так что если не боитесь прослыть маньяком-извращенцем или вас так же сильно достали, как меня, звонки по несколько раз в сутки, что вы готовы на всё — вот вам готовый рецепт. Удачи!
#12135: С глаз долой — секунды вон
12:12 24.04.2014, IT happens
Купил я два с половиной года назад часы швейцарской фирмы «Тиссо». Хорошие очень и не слишком дешёвые. За год и десять месяцев отстали менее чем на минуту. Потом у них села батарейка, но её заменили по гарантии в сервисном центре бесплатно. Прошло ещё четыре месяца, гарантийный срок кончился (два года), и начались чудеса.
В первый день часы отстали на пять минут. Сказать, что я был удивлён — ничего не сказать. Швейцария же! На второй день опять отстали на пять минут. Следующие два дня я их не подводил — отстали примерно на десять минут. В общем, беда, надо нести в сервис. Но тут, когда я в очередной раз положил левую руку с часами в карман недавно купленного френча, на мне снизошло озаренье. Магнит застёжки кармана ложился аккурат на часы. В качестве эксперимента оставив подведённые часы на два дня дома, я убедился в правильности своей догадки: всему виной был магнит. Честно говоря, я раньше думал, что магнит так влияет только на механику; оказалось, что и на кварц.