bash.im ithappens.me zadolba.li

Факапы

3358

Пунто мадре!

Моя работа состоит в тестировании программ для научных исследований. Когда аврал, сроки горят, половина отдела ушла в декрет, и ты скачешь с программы на программу — довольно интересно. Но перед плановым минорным релизом гонять одно и то же по восьмому кругу весьма скучно.

Тыкаю в менюшки очередной бета-версии. В меню надо указать атом или группировку атомов, а программа должна проанализировать спектрограмму и найти все вхождения. Набираю водород «H». Находит. Набираю углерод-водородную связь «CH» — находит водород. Набираю один углерод «C» — опять находит водород! Перезапускаю программу — снова ищет водород для всех вводимых группировок. Это уже тянет на критическую ошибку и существенную премию в конце месяца.

Проверяю предыдущий релиз — та же хрень. Проверяю две мажорные версии. В них диалоги выглядят коряво, но работают нормально — значит, поломали несколько месяцев назад. Сажусь за багрепорт. Подробно всё описываю. При этом замечаю, что когда перечисляю группировки, на которых глючит, на углероде язык сам собой переключается с английского на русский. Мелькает страшная догадка...

Отключаю Punto Switcher, проверяю. Если во вводимой формуле есть русские буквы, программа её игнорирует и работает с предыдущей введённой, а с «нормальным» углеродом ищет хорошо. Прощай, премия...

Потерял полчаса, зато обеспечил себе хорошее настроение до конца дня.

3355

Ототрём до дыр

12 июня 2010, 08:00

Vista — настоящий друг студента: с каждым днём радует всё больше. К тому, что я не имею никаких прав что-либо делать, уже давно привык и приспособился. Но сегодня мне было отказано и хранить свою информацию на компьютере.

Решил освободить немного места для новых фильмов на втором диске. Утащил лишнее в корзину, запустил очистку диска, привычно согласился со всем и после окончания процесса обнаружил начисто отформатированный раздел.

Плюнул я на это дело и вместо восстановления данных решил всё же подготовиться к экзамену.

3322

Система удалённого отсутствия

Живу в славном городе Питере, занимаюсь разработкой софта для систем удалённого присутствия. Только что сдал решение для внутрикорпоративного общения одной немаленькой зарубежной фирме. Заказчик поставил одно условие: готовый софт должен в 720p отдавать несколько потоков прямо от меня, причём две недели, без обедов и выходных. Требование, конечно, странное, но хозяин — барин, и деньги на кону стоят весьма и весьма внушительные.

Когда контракт ещё только подписывался, я от греха подальше подключил себе чуть ли не всех провайдеров, которые есть у нас в доме: «Б***», «И***» и «Ц***». Завёл от каждого из них кабель в квартиру, подключил к отдельному роутеру и прицепил к отдельной сетевой плате рабочего компьютера.

Наконец наступила пора тестирования готовой софтины. Проверил скрипты, переключающие активный сетевой интерфейс, убедился, что работают упсы, и отбыл на дачу — впереди две недели отдыха и месяц беспробудного кутежа, как только тест закончится триумфом. Несколько раз в день мониторю ситуацию по SSH, наслаждаюсь видом гуя работающей софтины по VNC и вовсю предвкушаю заслуженную оплату труда.

Ага, допредвкушался. Три дня до окончания тестового пробега. Звонит из своей буржуинской страны, где на тот момент рабочий день уже успел кончиться, заказчик и задаёт сакраментальный вопрос, как, мол, так: никакого трафика от меня нет уже часа три, на письма я не отвечаю, а скайпы и джабберы отключены?

Я в шоке. Пытаюсь по привычке через GPRS стукнуться к себе домой по SSH... и не могу. Звоню соседу, спрашиваю, не вламывались ли ко мне грабители, и не заливало ли наш этаж по колено? «Нет, — отвечает Андрюха, — не было ничего такого».

Прыгаю в машину, мчусь в город. По приезде обнаруживаю, что у всех провайдеров лежит сеть. У всех. У «Б***» лежит, у «И***» лежит и у «Ц***» — тоже. Понимаю, что кто-то доблестный порезал всю имеющуюся в доме оптику.

Отзваниваюсь представителю заказчика, ввожу в курс дела, с грехом пополам объясняю ситуацию и отсылаю через 3G логи роутеров, дабы убедить в своей кристальной честности (после фразы «не работает ни один провайдер» в голосе буржуя послышалось явное недоверие). Поупражнявшись в дипломатии, перехожу к следующему этапу: звоню в саппорт просить выслать монтажников. Девочки (и один мальчик) из служб поддержки идеально вежливы, принимают информацию, подтверждают «наличие проблем со связью» и обещают возвращение сети в течение ближайших двух-трёх дней.

Снова звоню заказчику и читаю ему лекцию на тему оперативности местных деятелей связи, попутно пытаясь посчитать, сколько тысяч денег мне придётся заплатить за двухчасовой диалог с далёким заокеанским забугорьем. На исходе второго часа разговора буржуин неожиданно сменяет гнев на милость и начинает объяснять мне, что не всё так страшно, как я описываю. Подозревая, что софт так и не примут, и заказчик пытается подготовить меня к этой радостной новости, по десятому разу кручу пластинку про бесчеловечное отношение к нам, простым абонентам, со стороны провайдеров — и получаю ответ, что связь уже минут пятнадцать как есть. Офигевший, вешаю трубку и иду искать спасителя моего контракта.

Нет, им не оказался соседский вайфай или 3G-свисток — просто у «Ц***» два-три дня на восстановление связи странным образом сократились до двух-трёх часов. Ещё через час вернулся в строй «Б***», а через два — «И***».

Иногда то, что говорят саппорты, нужно делить не на два, а на двадцать четыре.

3319

Подпольная хирургия

Работаю эникейщиком в колледже. Врывается в серверную тётка с глазами по пять рублей, задыхаясь, начинает кричать, что работа у неё встала — нужно срочно посмотреть принтер, который не печатает. Собираюсь, иду в эпицентр событий и вижу бедолагу-МФУ.

Все болты, которые видны на первый взгляд, откручены, кожух снят, из задней стороны принтера торчат отвёртка, пилочка для ногтей и кусок алюминиевой проволоки. Как потом выяснилось, всё, до чего дотянулись инструменты, сломано и раскурочено.

— Что здесь случилось?
(хором) Бумага застряла — пытались вытащить.

Собираю назад, что осталось, ставлю на стол, прошу, чтобы больше нечего не трогали, ухожу по другим делам. Примерно через час вызывает директор к себе на ковёр: «Ты зачем принтер раскурочил?» В результате — выговор, премии как не бывало. Ничего, будет и на моей улице праздник.

3314

Вырубившийся рубильник

Написал я как-то небольшой сервер для автоматической проверки домашних заданий по C++, выполняемых первым курсом родного университета. Описывать то, что и как он делал, долго и скучно — достаточно сказать, что у этого сервера был почтовый ящик, на который ему приходили команды. Обработанную почту он удалял сразу; сообщения неизвестной природы он тоже должен был убивать. С этого же ящика сервер рассылал результаты тестирования студентам и сообщения об ошибках мне.

Изначально сервер работал на ноутбуке автора в виртуальной машине. По истечении испытательного срока сервер, доказавший свою самостоятельность и профпригодность, был отпущен в свободное плавание на постоянно включённый компьютер во внутренней университетской сети.

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

Самую первую ошибку я сделал тогда, когда не предусмотрел специального сообщения, которое должно было останавливать сервер. Что ж, оставался единственный способ — сменить пароль на почтовом ящике. Где-то через час до меня дошло, где может быть ошибка, а ещё минут через пятнадцать я исправил злополучный глюк. Что ж, подумал я, на этот раз обошлось, и сервер можно включать обратно. Меняю пароль на старый — и, разумеется, совершаю вторую ошибку.

Любой айтишник знает, что приличный сервер даже в случае отсутствия соединения с внешним миром должен продолжать работать, работать и работать. Мой сервер думал так же, и когда ему наконец открыли дорогу во внешний мир, он поспешил обрадовать меня двумя тысячами идентичных сообщений об ошибке тестирования.

Что такое десять одинаковых сообщений в секунду? Конечно же, спам, даже если все письма идут на один и тот же адрес. По этой причине почтовый ящик сервера был довольно быстро заблокирован. Ошибку в коде сервера я исправил, а в адрес поддержки почтового сервиса написал письмо, в котором изложил причины столь неприличного поведения и пообещал исправиться. Ящик разблокировали быстро, и процесс тестирования продолжился.

Во время майских праздников я заметил, что хотя студенты и слали запросы на тестирование, сервер ничего не делал. Пришлось пообещать разобраться после праздников. Каково же было моё удивление, когда во вторник я обнаружил, что сервер «забанен» админами университета! Выяснилось, что третью ошибку я совершил совсем давно: увлечённый созданием тестов для домашних заданий, я забыл проверить функциональность удаления сообщений неизвестной природы. Результатом было то, что сервер со скоростью 500 килобайт в секунду скачивал с почтового ящика одно и то же письмо и больше ничем не занимался. Чтобы не иметь проблем с администрацией почтового сервиса, админы университета закрыли доступ «проблемному» пользователю. По иронии судьбы письмо, спровоцировавшее это поведение, было ответом службы поддержки почтового сервиса на мои разъяснения по поводу предыдущего происшествия.

Программисты, тестируйте свои программы и протоколы тщательно, не забывайте о mock-объектах и всегда оставляйте себе возможность «повернуть рубильник», даже находясь на другом краю света.

3307

Говорите чётче

7 июня 2010, 10:00

На металлургическом заводе в Донецкой области установили новую систему управления доменной печью. Объект сложный, куча параметров. В качестве метода реализации мозга САУ выбрали нечёткую логику. В задачу системы входила доставка исходных материалов (руда, известняк, топливо, кислород) и выгрузка готовой продукции. Всё оборудование монтировали и пусконалаживали инженеры фирмы-производителя, местные только консультировали.

Уже под конец пусконаладочных работ, когда система уже была полностью настроена, слили расплавленный металл в ковш и повезли к месту разливки. Но нечёткая логика что-то себе решила прооптимизировать и справиться с задачей побыстрее: ковш с полусотней тонн расплавленного металла она опрокинула прямо посреди цеха.

«Умную» систему быстренько сняли и поставили привычную, на релейной логике.

3297

И чего полез?

5 июня 2010, 10:00

Как я всегда шучу, с компьютером я могу сделать две вещи: включить и выключить. На самом деле всё, конечно, не столь безнадёжно, и реальный мой уровень где-то между «уверенный пользователь» и «пользователь сомневающийся», но страшные сообщения об ошибках меня вгоняют в панику.

Захотелось тут перекинуть фотографии с мобильника на ноутбук. На ноуте установлена Виста, чья глючность уже давно стала притчей во языцех. Блютуса на компе нет, но в наличии имеется съёмный передатчик. Так как за время пользования Вистой я уяснила, что большинство девайсов начинают на ней работать без отдельной установки драйверов, без колебаний вставляю «свисток» в USB-порт и жду коннекта. На моё удивление приспособление отказывается работать, хотя года два назад всё функционировало как часы. Ну, думаю, мало ли что могло произойти — система три года не переустанавливалась.

Достаю прилагающийся к передатчику диск, начинаю устанавливать BlueSoleil. На старый комп с XP она встала без проблем и до сих пор работала. В процессе установки выскакивает сообщение, что, мол, система не может распознать, кем же эти драйвера были выпущены. Так как Виста у меня на немецком, да к тому же лицензионная, а диск привезён из России и неизвестно кем нарезан, спокойно жму «Установить, несмотря ни на что» и жду. Процесс заканчивается, открывается окно нужной проги... и синий экран смерти.

Спокойно перезагружаюсь, чтобы тут же удалить установленное. Не тут-то было — через полминуты после появления на мониторе обоев я опять наблюдаю «синюю смерть». Совершенно не понимая, что вообще происходит, повторяю действие. То же самое. Потихоньку до меня начинает доходить, что эта самая BlueSoleil запускается одновременно со стартом Windows.

Лезем на форум — там предлагают войти в safe mode и удалить программу. Делаю, как сказано — в процессе загрузки экран из чёрного опять переходит в синий. Следующая мысль — после загрузки в течение тридцати секунд убрать BlueSoleil из автозагрузки. Начинаю играть с ноутом в бег наперегонки. На автоматическом старте стоят антивирь, подключение к инету, аська и скайп, и это всё чрезвычайно тормозит систему. Где-то на пятой попытке я оказалась быстрее несчастной BlueSoleil. Дальше — проще: все файлы деинсталлируются, ребут, Виста счастлива — и я вместе с ней.

И вот сижу, как волк из анекдота: «И чего полез? Все равно ж читать не умею». Рядом с передатчиком лежит адаптер для MicroSD — на него уж точно драйвер не нужен.

3264

Щелчок, хлопок, дымок

2 июня 2010, 08:00

1995 год. Провинциальный вуз. Вычислительный центр радиотехнического факультета. Два пятикурсника из тех продвинутых, которым посчастливилось подрабатывать в этом самом ВЦ техниками-админами, сидят в «помещении для избранных», куда даже не все преподаватели отваживаются зайти без стука, отделённом стеклянной перегородкой от компов для простых смертных. Здесь серверы и самые крутые компы.

Один из этих пятикурсников запускает руку за системник и в пылу спора непроизвольно щёлкает переключателем «110 V/220 V» на блоке питания. Спорят они о том, что именно сгорит в блоке питания, если оставить переключатель в положении «110 V» и нажать кнопку на морде системника. Вбегает третий пятикурсник и сообщает, что препод, которому они задолжали курсовик, находится в прекрасном расположении духа. Все трое срываются и выбегают.

Входит преподаватель, в ведении которого находится этот самый ВЦ, Гуру с большой буквы. Он тут властелин. Он очень хороший человек. Это он привил всем любовь и уважение к Novell NetWare. Но сейчас он угрюм, потому что только что трое «раздолбая пятикурсных» едва не сшибли его у входной двери, а ведь у него в руках была любимая Toshiba аж на 486-м!

Преподаватель садится за этот самый комп. Щелчок кнопки, хлопок, дымок... Паяльником пришлось поработать выигравшему спор.

3237

Гладкая сталь точёного манипулятора

Сижу работаю. В браузере открыто много вкладок. Заходит сотрудница с рабочим вопросом, бросает взгляд на монитор и в ходе беседы спрашивает:

— А ты, я погляжу, на сайтах знакомств сидишь?

В недоумении смотрю на браузер. В неактивных вкладках подряд идут «Знакомств...», «Знакомств...», «Знакомств...»
Открываю одну из вкладок — там много кода и шапка «Знакомство с Android».