bash.im ithappens.me zadolba.li

Факапы

11966

Я слишком стар для этого дерьма

Не секрет, что многие фирмы устанавливают в свою технику «чип смерти», принудительно блокирующий устройство при неполадках или после заданного времени эксплуатации. Это от жадности до денег? Иногда да. А иногда не совсем.

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

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

Оказалось, контроллер был прав.

11964

Инициативный дурак хуже обычного

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

Сначала меня запись «Аккаунт не найден» как-то не воодушевила, и я, будучи уверенным в своей правоте, начал названивать. Поднял на уши всех — и представителя «мелкомягких», и самому софтверному гиганту позвонил. Ничего не получается, помочь ничем не могут. Уже сжался в ожидании «леденцов» от начальника, однако перед тем как идти с повинной, попробовал залогиниться с другого компьютера, который был под рукой (я с него и проходил регистрацию, просто редко на одном месте сижу). Так вот, с него всё получилось…

Оказалось, что у первого компа клавиша «I» не работает. Внимательнее быть нужно при регистрации и убеждаться на 101%, что ошибка точно уж не собственная!

11947

Second-hand chicken

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

Как-то утром сообщают мне, что сеть не работает в том кабинете, куда я вчера вечером прокинул кабель. Звоню его — нет сигнала на трёх жилах. Давай вскрывать плитки потолка. Вижу, что новый кабель в одном месте прогрызен крысами. Сижу и думаю: почему именно этот кабель и почему именно в этом месте?

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

Мойте руки после еды!

11910

Селектыч-спотыкач

Дело было в нашем автотестерском кругу. Был у нас метод selectRadioButton, был маппинг кейвордов на Java-методы, крутилось себе всё это спокойненько на Дженкинсе, тестировало продукт. И прилетело тут обновление компоненты фреймворка, где RadioButton стал именоваться Check: с чекбоксами объединили.

Доблестный ТА-инженер, следя за концепциями, меняет имя метода на selectCh, коммитит, а за коммитом валится и Дженкинс, и автотесты прибегают красные, и начальство злится. Правильно, маппинг-то не поменяли. Материмся, возвращаем selectRadioButton. Следующий запуск Дженкинса — опять хлобысть! Так, уже смешно. Уже другой кодер вместе с другим функционалом заливает selectCh. Обзываем его Селектычем, ржём, правим.

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

Вот так и появился у нас Java-вирус Селектыч. И сидит Селектыч в головах, а не в коде. Обновляйте SVN, и да не пребудет Селектыч с вами!

11888

Заплати или взлети

2005 год. Контора продвигает на рынок собственное ПО по управлению тепловой инфраструктурой: теплостанциями, котельными, отдельными котлами. Два года проработал начальником отдела разработки — и вот он, заслуженный отпуск! За два месяца начинаю процесс оптимизации программы. Сначала думаем, потом делаем, потом тестируем на подконтрольных станциях и их аналогах. Спокойно ухожу в отпуск, за себя оставляю ответственным сына сотрудника, с которым был в хороших отношениях. Паренёк грамотный, тихий — посмотрим, что сможет сделать…

Воронкой кверху загораю на пляже. Приходит SMS от ведущего специалиста: «В рот я $&ал эту контору». И всё, абонент — не абонент. В течение двух дней получаю похожего содержания сообщения от координатора, двух менеджеров и семи из пятнадцати программистов. Понимаю: что-то не то. Звоню в контору: что, мол, за фигня? «Всё нормально, просто люди не потянули». Ну ладно, думаю…

Февраль, заходим на посадку. Переключаю симку на рабочую — и тут как прорвало. От всех клиентов SMS с общим содержанием: «Что за нафиг и что происходит?» Тихо офигеваю. Не успеваю сойти с трапа — звонок:

— Роман Сергеевич? (На заднем фоне воет сирена.)
— Да.
— Это котельная в Энске, у нас проблема…
— Какая?
— Да мы тут щас взорвёмся на @#$!
— Выезжаю.

Прощаюсь с женой и дочерью, прыгаю в такси и мчусь в котельную. Ехать минут сорок. Приезжаю — ревёт сирена, народ бегает. Газ высокого давления, три котла; если рванёт хоть один, всем хана. С ходу мне пытается навалять начальник котельной. Выясняется, что после обновления нашего ПО работа встала, котёл греется, но ПО не даёт сбросить давление, и вот-вот рванёт. В компании требуют 120 тысяч, чтобы приехать отремонтировать…

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

Утром в конторе вызываю всех на планёрку и начинаю прессовать. Оказывается, что «начальник по оптимизации» выгнал половину моих ребят и взял своих знакомых. Ребята с руками из одного места начали вырезать «ненужные» функции. Обновления выходят — функциональность страдает. Новые котельные разрывают контракты, старые отказываются от обслуживания. Недолго думая, новая команда пускает в ход «закладку», которая блокирует работу котельных, и требует денег за устранение «проблемы».

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

11884

Режим строгого воздержания

Вчера вечером пропал интернет. Ну, у кого не бывает? Дозвониться до техподдержки у нас проблематично: провайдер повернулся на Олимпийских играх, на простых смертных им наплевать. Кое-как дозвонился-таки и услышал стандартное: «Повисла сессия». Отключил роутер, как рекомендовали, и сел ставить игрушку. Нелицензионную, посему пришлось файрволу с японским названием дать команду никого не пропускать.

Поставил игрульку, вспомнил про роутер. Включил его, давай ждать, когда инет появится. Сижу играю. Поиграл, открываю  — инета нет. «Семёрочка» бодренько заявляет, что не только интернета нет, но и нет сети. Чешу репу, думаю — пипец. Подключаю вторую сетевуху (может, родная накрылась) — сети нет. Перезагружаюсь под рабочий линукс — сеть есть, инета нет. Чешу репу опять. Запускаю «семёрку» — у меня на ней висит пара полезных программ для диагностики сетевых проблем. Пока винда потихоньку грузится, замечаю, что файрвол с японским названием на иконке в таскбаре не показывает даже попыток отправки пакетов. Открываю его, родимого — чё ж за фигня, совсем крышняк поехал, что ли? А там запрет на любые соединения по сети, даже по DHCP запрос IP не пропускает. Возвращаю ему нормальный режим работы. Сеть есть, инет есть. Обматерил себя последними словами, написал историю и пошёл спать. Работать-таки поменьше надо да в игры нелицензионные не играть.

11857

Последний подозреваемый

О себе: гуманитарий-недоайтишник, со времён 95-й винды собравший и разобравший не меньше пары сотен разнообразных десктопов и ноутбуков. Чего только не лечил-диагностировал! В общем, местный гуру-дилетант.

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

Повырубал «лишнее» железо (диски, звучок, что-то по мелочи). Тот же эффект. Ну, видел я что-то подобное. Мать же, правда, мать? Окей, заменим.

Комп немолод, деньги были, так что не вопрос, но покупать новый не хотелось: я же гуру. Найти бы лишь 775-й сокет. Отыскал, купил (магазин недалеко, пять минут на машине). Вставил. Тот же эффект. Чешу затылок.

Блок питания неравномерно подаёт напряжение? Окей, съездим за его новеньким китайским братом. Врубаем. Никакого изменения: до боли родной производитель биоса, мерный шум кулеров, чёрный экран.

Видяха не могла, потому что проверял на встроенной. Может, проц пережарился? Ура, на сайте магазина написано, что один селерончик под 775-й завалялся! По дороге понимаю, что сейчас мне третий раз ехать, и на всякий случай беру пару планок DDR2 — тоже ведь дефицит уже.

Процессор. Память. Лого. Чернота. Не поеду за видяхой, не надейтесь, в новой мамке встроенная! Что тебе ещё поменять, тварь? Я осознал, что у меня теперь целых два неработающих компьютера. Грустно собрал старый, включил его в запасной монитор… Добро пожаловать в Windows 7!

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

Одеваюсь, еду в магазин. Опять. За монитором. Профит.

Дело было год назад, оба компьютера-близнеца исправно пишут тексты и обсчитывают таблицы и по сей день. А гуру посрамлён самым ужасным образом — перед самим собой.

11851

Ночь, подушка и застава

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

Накатили новую версия на полигон — два десятка застав. Пререлиз. Если всё окей — делаем показуху высокому руководству и пилим (зачёркнуто) получаем деньги.

Для быстрой связи оставил номер своего мобильного. И не зря. В три ночи звонок от дежурного:

— Такой-то Такойтович?

— Ну да, а что?

— Вы оставляли свой номер, если в такой-то системе будут проблемы. Диктую текст сообщения…

И дальше динамический select на полтора экранных листа.

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

Так рано я не приезжал на работу ни до того, ни после. Уже в семь утра был в своём кабинете, искал все «левые» сообщения, удалял их, пересобирал проект, выделял обновлённые библиотеки, создавал апдейт, выкладывал его на сервер обновлений…

Успел! Проект был принят на ура, все остались довольны, и только у меня поседела грудь.

11849

Софт не значит гуд

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

Вернувшись, я взялся за настройку. Туннель со склада был успешно перенастроен, осталось немного поменять настройки имеющегося туннеля на старой точке. Я ввёл новые настройки в маршрутизатор и дал команду «применить». К моему удивлению, после этой команды упал туннель между моим домом и этой точкой, хотя изменения не должны были его затронуть. Зайдя на другие две точки, я обнаружил, что упали все туннели (основные и резервные), связанные с этой. Подстеленная соломка в виде дополнительного VPN и прямого доступа не спасла: маршрутизатор перестал отвечать на пинг (изменения вообще не затрагивали интерфейсы). С переездом серверов эта точка теряла свою важность, и можно было подождать начала рабочей недели и восстановить всё через тот же Тимвьюер, но если пропал пинг, то, возможно, и с исходящим интернет-каналом непорядок, а это уже явно потребует физического присутствия. Ключей от помещения у меня нет, но я вспомнил, что недавно мы туда ставили вайфай. Я подумал, что смогу прицепиться к нему с улицы, не заходя в помещение, и вернуть конфиг из бэкапа.

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

Выводов из этой истории можно сделать два.

1. Соломку подстилать нужно ещё и в железном виде.

2. Не работайте в праздники.