— Э-э-э, м-м-м, мне тут надо… Значение c аппаратуры снял — в двоичном коде распечатать. На Паскале.
— А в чём проблема?
— А как?
— Ну, делим на два, смотрим, чётное или нечетное, заносим в строку «0» или «1», и так в цикле…
— Э-э-э, не понял.
Я быстренько набираю функцию.
— Так яснее?
— М-м-м, а это работает?
Пишу тест, останавливаюсь в отладчике, чтобы показать результат.
— А мне на экран…
Добавляю оператор WriteLn.
— А теперь быстро скинь мне это на флешку!
Наступаю локтем на Backspace:
— Свободен!
Этот крендель сейчас ходит в начальниках.
#6125: Прыжки по кругу
16:45 04.05.2011, IT happens
Прочитал я рассказ оператора техподдержки о сообразительных молодых людях, звонящих для того, чтобы рассказать о пинге до шлюза и результатах заранее сделанной трассировки, и о том, какая это приятная редкость. А у меня недавно возникла проблема: сервер с репозиторием исходного кода оказался недоступен, причём пинги до него возвращались с ошибкой превышения TTL. Попробовал кинуть трейс и офигел: через восемь хопов пакеты начинали, как заколдованные, носиться между двумя маршрутизаторами, принадлежащими локальной сети провайдера. То есть девятая строчка совпадала с одиннадцатой и тринадцатой, десятая — с двенадцатой и четырнадцатой, и так далее.
Не в силах вынести такого произвола со стороны сетевых протоколов, я позвонил в техподдержку провайдера. Ну, сначала я задал вопрос хелпдеску и даже довольно быстро получил ответ, но ответом был именно совет позвонить в техподдержку «для получения развёрнутой консультации». Скажу сразу: моим исследованиям там явно не обрадовались. Впрочем, результат заявления о заколдованных маршрутизаторах был: оператор техподдержки ушла консультироваться к специалистам. Было такое ощущение, что несмотря на достижения провайдера в области IP-телефонии (в техподдержку я звонил с компьютера), в области внутреннего общения между сотрудниками передовые технологии не использовались: двенадцатиминутный режим mute заставил меня предположить, что к специалистам девушка не дозванивалась, а шла.
Но вот режим молчания наконец-то закончился, и мне дали долгожданную «развёрнутую консультацию». Заключалась она в четырёх словах: «Проблема на стороне сервера». Все мои попытки хотя бы узнать подробности оканчивались одинаково: «С вашим вопросом уже разобрались специалисты, что вам ещё надо?» Так я и не узнал тогда причину столь странного поведения пакетов.
А на следующий день на лекции по сетям ЭВМ я узнал страшную вещь. Оказывается, протокол RIP, в отличие от более нового OSPF, не умеет «забывать» маршрут до тех подсетей, с которыми оборвалась связь. Так что, если отбросить как нелепое предположение о том, что крупнейший в городе провайдер использует статическую настройку маршрутов на своём оборудовании, то провайдер оказывается всё-таки не виноват, а циклически ходящие пакеты оказываются нормальным явлением при недоступности прямого канала к серверу.
Вот только не оставляют меня вопросы: неужели «специалисты» не знали об этой особенности используемого ими протокола? Или не успели рассказать о ней оператору техподдержки за эти 12 минут? Наконец, какую такую «развёрнутую консультацию» имели в виду операторы хелпдеска?
#6126: Для вас — мусор, для нас — ценные данные
16:45 04.05.2011, IT happens
Кодил мегакрутую прогу. Что-то она очень не ладилась, а дедлайн подкрадывался. Взял работу на дом, втыкаю полночи, пиво прихлёбываю. Пошел ещё за одной бутылкой, заодно взял пустую. Смотрю — а ведро-то с мусором переполнено. Отложил пиво и пошёл мусор выносить. Иду от квартиры к пасти мусоропровода и размышляю: «Глючит что-то… Памяти много… Мусор надо выкинуть… Стоп! А мусор я собираю?!»
Ставлю ведро в метре от мусоропровода и бегу дописывать сборщик. Через два часа всё прекрасно работает, и я вспоминаю про ведро, оставленное на лестничной клетке. Пошёл за ведром — а ведра-то нет! Совсем нет. Побродил по этажу (дом большой, по 20 квартир на этаже в одной парадной) и удостоверился, что ведёрко моё кто-то стибрил — прямо с мусором.
Даже ведро с отходами может навести на дельную мысль. Главное — вовремя «выйти из прерывания».