Bash.org.ru IT Happens Истории ## 1101 – 1200
Шрифт:
Буквально через день в процессе доработки этого класса появилось желание вынести позиции полей данных в этой строке в константы во избежание появления ошибок в дальнейшем. Был выбран простой синтаксис: *Position обозначало позицию поля данных в строке, а *Length — её длину. Например, birthDatePosition и birthDateLength — всё просто и понятно.
Только по прошествии получаса до меня наконец дошло, что речь-то идёт о разборе данных о человеке. Теперь невиннейшие константы sexPosition и sexLength в коде навевают определённые мысли о собственном моральном облике.
#1193: Hello, computer!
13:00 26.08.2009, IT happens
В
Мы решили организовать видеоконференцию. То ли я нажал не туда, то ли мой друг воткнул микрофон не в ту дырку, но я не получал ни изображения, ни звука, а друг меня только слышал. Работали мы по такой схеме: он в письменном виде присылает мне задачу, а я устно объясняю решение.
Представьте: сижу я и вдумчиво излагаю, как определить, сколько чисел в двумерном массиве после выполнения алгоритма на Паскале примет отрицательные значения. Входит мать и видит картину: её сын сидит, смотрит на пустой рабочий стол (все окна я свернул для концентрации внимания) и о чём-то разговаривает со своим компом. Крику было!.. С трудом отговорил маму вызывать психиатра, объяснив, что я ещё не успел сойти с ума от многочасовых бдений за клавиатурой.
#1194: Потомки царя Мидаса
13:00 26.08.2009, IT happens
В далёком подразделении одной конторы, специализирующейся на перекачке нужных жидкостей через трубы, назрела необходимость в замене магистральной линии связи, проложенной вдоль этих самых труб. В рекордные сроки (пока тепло и сухо) было зарыто несколько тысяч километров оптического кабеля, вдоль трассы установили вагончики с оборудованием, смонтировали оптические мультиплексоры и торжественно сдали сеть в тестовую эксплуатацию.
Шел третий месяц пусконаладочных работ. Осень была в самом разгаре, до большей части узлов сети можно было добраться только на гусеничном тракторе. И тут начались массовые сбои — узлы, стоящие в поле в 100–150 километрах от обжитых мест, внезапно становились недоступны. Бригада монтажников погрузилась в «буханку» и поехала посмотреть на ближайший отказавший узел. Через три часа в центре управления раздался звонок — монтажники, радостно матерясь, сообщили, что нашли причину неисправностей. Оказывается, полевые мыши с наступлением холодов стали залезать погреться в тёплые контейнеры с оборудованием. Полёвкам пришлись по вкусу оптические патч-корды, соединяющие магистральную оптику с оборудованием, и они тщательно перегрызли все каналы связи.
Дедлайн был уже не за горами, на улице холодало, а серые твари толпами устремились на узлы. Была перепробована масса различных технологических и народных способов защиты, от ультразвуковых отпугивателей до клочков кошачьей шерсти по углам, но мыши продолжали своё тёмное дело. Было решено перекрыть мышкам все пути к оборудованию, то есть законопатить все дыры в контейнерах. В качестве материала была выбрана строительная монтажная пена. Оказалось, что пену мышки грызут с не меньшим удовольствием, чем оптические кабели.
Когда количество заменённых шнуров перевалило за полсотни, от одного из наших поставщиков пришла посылка, в которой лежали три баллончика с особой пеной и коротенькая записка: «Вашим любимым мышкам». К баллонам прилагалась подробная франкоязычная инструкция; по пиктограммам можно было понять, что пеной надо заделать все мышиные норки, после чего хвостатые дружно забудут об обработанном помещении. Естественно, среди пиктограмм нашлись изображения перчаток, очков и респиратора. Пену и волшебный пинок на дорогу незамедлительно выдали двум монтажникам и отправили на ближайшие узлы заделывать все возможные пути проникновения мышей.
Через три дня монтажники вернулись. Хмурые и осунувшиеся, они вместо приветствия потребовали новые перчатки и еды. Натянув перчатки, мужики принялись давиться принесёнными бутербродами. Оказывается, защиту от грызунов пена приобретала благодаря химической добавке, имеющей вкус, названный в инструкции «100% горечь». Монтажники, естественно, пренебрегли всеми мерами защиты, пена прилипла к рукам и дала о себе знать при первом же перекуре. К середине маршрута все продукты, бутылки, сигареты, перчатки и одежда имели стойкий горький вкус. Труднее всего было избавиться от следов «противомышиной» пены внутри недавно полученного «уазика».
#1195: Кошмар верстальщика, или жизнь без валидатора
13:00 26.08.2009, IT happens
Дело было ещё в школе. Вместо обычной практики нашему спецклассу летом достались задания по математике и информатике. В тот год мы как раз учились верстать веб-странички на HTML. Нас разделили на группы по два-три человека и раздали задания.
Сидим, печатаем, у нас все получается. Тут две моих одноклассницы зовут учительницу: у них не задаётся ни один атрибут в тегах. Подходит учительница, долго и внимательно вычитывает код, говорит, что вроде все правильно. Браузер не согласен — учительница, проверив по новой, только развела руками и отошла в сторону. На помощь позвали разбирающегося в вопросе друга, но и тот через десять минут признал свою несостоятельность.
Мне стало любопытно, что же там за чудо-код такой, что ни один тег толком не работает? Подхожу, смотрю — всё как в учебнике, теги большими буквами и с двойными кавычками. Как же я рассмеялся, когда с первого щелчка курсор встал между «лапками» кавычек! Успокоившись, я дружески посоветовал автоматически заменить пару апострофов на один во всем коде. Конечно, страничка начала отображалась корректно.
С тех прошло достаточное количество времени, но проверяю чужой код я с тех пор очень кропотливо.