bash.im ithappens.me zadolba.li
12000

Поезд уходит в небо

2000 год. Просят разработать систему онлайн-мониторинга железнодорожного транспорта. GPS есть, ограничение на точность как раз только что сняли, но сотовых сетей нет, интернет сам по себе чудо, не говоря про мобильный. Выход один — передавать данные через существующие средства связи.

Делаем свой модем с частотным разделением на каждый канал, почти четыре месяца пишем систему шифрования и коррекции ошибок, чтоб добиться хотя бы стабильных 20 байт/с через заслон шума и помех, где речь-то не всегда можно разобрать. Потом тесты…

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

Ждём пару месяцев — движений нет. Ну, что делать? Через сеть отдаём команду программе. Бац! На табло загорается: «Опасное сближение». Но сближения нет. Следующая минута — и товарняк пошёл в обратную сторону с динамикой покруче НЛО на космических съёмках. И далее программный троллинг на протяжении почти двух суток, пока систему не вырубили в пользу старой, с картой и лампочками.

Тут критик воскликнет: «Это же железная дорога! Это же опасно!» Да, опасно. А почему об этом не подумало руководство компании до того, как наняло двух фрилансеров для такой опасной работы, а потом их кинуло?

Граждане управленцы! Конечно, бывают случаи откровенного вымогательства со стороны разработчиков, но чаще всё-таки наоборот. Не надо пугать инженеров ФСБ. Снимут в первую очередь вас, ибо вы отвечаете за объект, а не Вася с ноутбуком, которого вы допустили к объекту, наверняка даже не заключив контракт. Конечно, если разработчик не настолько туп, чтоб отключать блокировку на месте и дать себя поймать за руку. Прислали бы на следующий день техника, который перепрошил бы блок чистой прошивкой, и никто и никогда не доказал бы, что там закладка, даже сотрудники в штатском, стоящие над ним. Обычный апдейт после падения системы в рамках нового контракта, какие вопросы? Равно как никто и никогда не докажет, что эта SMS активирует закладку, а не является диагностическим запросом, который случайно вешает систему. Даже если отправлена она была с личного телефона.

Для доказательства закладки нужен дизассемблинг прошивки, её анализ специалистом по этому компьютеру, поиск места закладки в тоннах кода. Никто не будет заниматься этим ради одного предприятия, не говоря уже про 99% остальных случаев кидалова, когда речь не идёт об опасном производстве.

Что до нашей системы, то денег нам так и не заплатили (впрочем, мы это уже понимали на момент диверсии). Директора и всё руководство филиала, которое нас кинуло, сняли за провал, высшее руководство получило пенделей согласно занимаемой должности. Взамен была куплена французская система, дороже нашей на пять порядков, которая потребовала прокладки кабеля вдоль всех ЖД-линий и сдохла в первые же морозы. В результате до сих пор положение поездов отслеживают тётки в жилетках.

На допросы нас не вызывали, даже не вспомнили про нас. Мы же сдали исправную систему и нам за неё заплатили (по бумагам). Виноват тот, кто такую плохую систему принял.

11999

Смерть без объявления войны

13 марта 2014, 07:15

Переключали мы сегодня старый SAN заказчика на новую FC-фабрику. Вроде операция несложная, у другого заказчика делали почти то же самое, только здесь у них не фабрика старая была, а коммутаторы старого блейд-центра смотрели прямо на хранилку, и везде all access. Ну, я WWN переписал, зоны на новых коммутаторах нарезал, всё, в общем, сделал по уму. По проекту задумано, что в новой конфигурации коммутаторы, которые сейчас стоят в блейд-центре, переводятся в режим Access Gateway — такой аналог хаба. Спрашиваю, точно ли все диски по двум путям работают, получаю «угу» и ввожу команду ag --modeenable. Все, свитч превращается в хаб, внешние порты отрубаются от хранилки, идём перекоммутировать (серверная и моё рабочее место в разных зданиях).

Приходим, я тихо-мирно перебрасываю старые провода, протягиваю новые. Вдруг админу звонят. Он берёт трубку и немного меняется в лице. В его речи появляются упоминания о женском половом органе в разных вариациях. Путей-то было два, но вот MPIO на винде не было. Основной домен-контроллер, резервный, два сервера с боевыми базами данных и два сервера Hyper-V с одинэской, боссом-кадровиком и ещё какой-то мутью.

Ладно, лиха беда начало, новые пути поднялись, серваки перезагружены, диски видят. Впереди переключение второй фабрики. Отправляю админа ставить MPIO, дабы не наесться тех же пирогов со вторым свитчем, он уходит. Долго нету, часа два мучает винду. Вот как жопой чуял, что самому не надо этого делать: его сервак настроен криво, пусть сам донастраивает. Звонит через два часа: «Поставил, настроил, ребутнул — винда рухнула. Без объявления войны, синих экранов и чего-нибудь диагностического — слетает на загрузке, и всё». Это главный домен-контроллер был. На резервном, хвала Аллаху, он драйвер не успел вкорячить. А ведь ничто не предвещало беды.

Так и живём.

11998

Выдох облегчения

12 марта 2014, 16:15

Вытаскиваю вилку ноутбука из удлинителя. Вилка тёплая, штырьки тоже. И удлинитель тёплый. Но ведь при 90 ваттах не нагреваются вилки! Как минимум киловатт для этого нужен. Думаю, приехали: замкнуло в БП ноута что-то, и теперь он киловатт кушает.

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

11997

Бесплатно, но не до такой же степени

12 марта 2014, 07:15

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

Как-то звонит мне один гражданин:

— Привет, интернет был и пропал. Говорят, модем настроить надо. А мне сказали, ты шаришь в этом. Поможешь?

— Деньги есть на карточке? Если не уверены — купите новую сразу, чтобы я зря не ездил.

Ответ заставил насторожиться:

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

Что думаю при этом — понятно: то, что их пять штук — это ладно, это у многих так. А вот что я попрусь к тебе, чтоб выяснить, что у тебя все карточки кончились — вот это мне не очень нравится.

Объясняю, что карточку я не съем, и пароль на ней даже обещаю не смотреть, и что рано или поздно её всё равно покупать, так что купи сразу, будь добр. Ага, вроде с этим решили. Идём дальше.

— А я в районе живу, сорок километров от города. Сам доберёшься?

— Да не вопрос, доберусь, раз такое дело, только бензин за ваш счёт.

— Ой, бензин же, точно… М-м-м, а что же делать? А давай ты в субботу ко мне поедешь? Часа в два. В это время на выезде из города всегда народ толпой стоит, с рынка едут, попутку в район ловят. Сажаешь четверых попутчиков, по пятьдесят рублей с носа — и бензин ко мне окупишь, и ещё заработаешь.

Вот что я мог сказать человеку на это?

— Модем у вас какого цвета?

— Белый.

— Тысяча извинений! Вот чёрный знаю, как настроить, синий — знаю, даже серебристый — и тот знаю. А вот белый — это особо сложные элитные модели. Их я настраивать не умею и даже браться не буду. Вот вам газетка, в ней десяток объявлений «настройка компов». Звоните, узнавайте, может, кто возьмётся.

Больше этот гражданин мне не звонил. Лет двенадцать прошло, а я до сих пор переживаю: вдруг у него от цен местных «профессиональных» эникеев разрыв сердца приключился?

11996

Яйцо в утке, утка в зайце, заяц в шоке

11 марта 2014, 13:15

Вроде бы совершенно ординарная задача: ноут, в который воткнуты SSD от компании, делавшей когда-то самые хорошие CD-ROM’ы, и хард на 500 гигов. Надо обновить прошивку на SSD. Иду на сайт за обновлением прошивки. Оно предлагается исключительно в виде ISO-образа для записи на CD. Блин, какой сейчас век?

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

После десяти минут бесплодных попыток скормить загрузчику разные параметры плюю на всё и нахожу в запасах USB-сидюк. Грузится, InitDisk… Висим. Наглухо.

Пробую поиграть в BIOS с AHCI/Legacy. Всё равно висим.

Пробую потыкать сидюк по разным USB-портам. В качестве награды получаю уже не просто вис на «InitDisk», а «InitDisk. Invalid Opcode at %много цифр%».

Думаю уже разобрать ноут и вытащить SSD, но вспоминаю, как делал это однажды. Много-много нежных защёлок, которые так легко ломаются…

В интернетах — молчанье. Сталкивались, но не победили.

Плюю на всё. Лезу в образ сидюка и разбираю его. Фанфары, барабанная дробь! В образе — загрузчик ISOLINUX, обкорнанный в ноль. Его задача — сэмулировать флоппи-дисковод через RAM-диск (!), развернуть на него образ дискеты в FAT12 (!!) и загрузить FreeDOS (!!!), который сидит в этом образе… Странно, и чегой-то InitDisk с ума сходил?

Вытаскиваю образ дискеты из образа сидюка. Разбираю его на файлы, копирую autoexec/config, прошивальщик и прошивку на первый попавшийся загрузочный флешак с FreeDOS. Убираю из autoexec’а пару лишних теперь строк. Две минуты… И SSD с новой прошивкой.

Нет, я ни на что не жалуюсь. Скажите мне только: чем руководствовался человек, собирая эту «кощееву смерть»?

11995

Костыль давно минувших дней и боты старины глубокой

Мистика — это, как правило, непонятая закономерность. Если потрудиться, её можно найти. Хуже, когда неполадка уходит в прошлое.

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

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

11994

Жертвы считать случайными

11 марта 2014, 07:15

Помимо смысла жизни (админства), есть у меня хобби — страйкбол. Собран фулл-сет: берцы, форма, разгрузка, маска со шлемом и, собственно, оружие.

Работаю я в фирме, занимающейся растаможкой контейнеров. В очередной отпуск, оставив вместо себя помощника, уехал я за тридевять земель с тремя десятками мужиков поиграть в страйкбол. Дня через четыре — звонок:

— Паша, ты не мог бы приехать? У меня тут проблемы. Почтовик накрылся, не могу понять почему. Шаманил, но без толку.

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

Врывается в офис запыханное нечто, напоминающее пресловутого Рэмбо, в берцах, форме, разгрузке и маске, благо хоть шлем снять догадался. За спиной — устрашающего вида пушка. Мчится через весь офис, пролетает коридор, курилку и гостевую комнату, влетает в серверную и с грохотом запирает дверь. Оттуда доносится грохот, дикий мат (под ногу попался Торвальдс — наш серверный кот) и случайный — мамой клянусь! — выстрел.

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

Больше ко мне не то что с идиотскими вопросами не подходили — по имени-отчеству и иначе, как на «вы», не обращались.

11993

Пересадка души

Это был пасмурный день… Диск на 80 ГБ перестал читаться компьютером. Переподключал, чистил контакты — тщетно. Оставил как есть и забыл.

Через год я во время работы компа отключил, а затем включил второй хард на 250 ГБ. Проскочила искра, комп перезагрузился — и я увидел рабочий стол другого пользователя. Запустился мой «мёртвый» диск на 80 ГБ. Открываю диски и не вижу других. Диск на 250 умер. Он не читался нигде, а старенький бодро работал.

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

11992

В общем, шоб усё летало

10 марта 2014, 07:15

Не то чтобы очень давно, когда о «семёрке» ещё никто не говорил вслух, а «Виста» уже обломала ноги в попытках победного шествия по стране, работали мы на пару с другом (допустим, Васей) в задрипанной конторе моего родного и любимого города Усть-Трие$@нска. О духе сказочного сверхмаразма, витавшего в стенах недоофиса этой фирмы, можно написать отдельную книгу, я же расскажу только об одном случае.

Зовёт нас как-то высокое начальство на ковёр и вещает:

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

Для этих целей нам выделили одну из лучших машин на предприятии — комп с процом PIII 500 МГц, 256 МБ оперативы и винтом на 40 ГБ. Комп был одним из серваков, на котором и так крутилось очень нелёгкое для него ПО, которое трогать нам запретили, к тому же у софта для базы были минимальные требования гораздо выше реального железа, не говоря уже о том, что могла дать ему виртуалка. Тут мы поняли, что попали. Дали нам на всё про всё три дня.

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

В процессе поднятия виртуалки выясняется, что выделить получится только ~80 МБ оперативы. Если выделить больше, вылетает с ошибкой исчерпания памяти уже в процессе установки, а если меньше, шлёт лесом весь софт, который должен в ней крутится.

Уже через два часа в импровизированную серверную (кабинет, разделённый пополам шторой — в одной половине сидят четыре сотрудника, вторая половина разделена шкафом, по одну сторону которого сидят бухи, по вторую стоят два компа и роутер) врывается шеф и спрашивает, почему не готово. Мы объясняем: комп для виртуалки слабоват, оптимизировать придётся.

— Ишь, б#я, какие благородные, чего захотели! Хватит мне х@#ню в уши лить и х@# пинать! Давайте делайте, чтоб побыстрее готово было, а то уволю на хрен!

Через дичайшие тормоза устанавливаем в Виртуалбокс «хрюшу», наливаем софт. Через каждые 25–40 минут забегает начальник и кроет нас мужскими детородными, аки крышу шифером, обещая уволить без выходного пособия и с черепно-мозговой травмой.

Наконец всё установив и полюбовавшись на результат, приходим в лёгкий шок. Тормоза просто нереальные. Комп реагирует на движение мышки только через две-три минуты, проц загружен на 100%, виртуалка выпадает с «Out of memory» в процессе загрузки три раза и при работе через каждые десять минут. Бедный винт не прекращает тарахтеть ни на минуту, машина перестаёт отвечать на сетевые запросы и в конце концов виснет намертво. После перезагрузки всё повторяется с той лишь разницей, что машина падает в BSoD.

День второй. Шеф проклинает наших предков до пятого колена, наших будущих наследников — до третьего, а нас обещает кастрировать без наркоза. Я занимаюсь самой глубокой оптимизацией хостовой и виртуальной винды, на которую только способен, а заодно разгоном железа. Вася отправляется в тур по комповым магазинам и барахолками в поисках SDRAM-оперативы, а по возможности — и более мощного проца. Обещания шефа с каждым часом становятся всё больше похожи на сценарий самого страшного в мире ужастика.

К вечеру возвращается Вася, говорит, что даже 64 МБ SDRAM не нашёл. Из процов только Tualatin, которые материнка компа не поддерживает.

Через полчаса комп не выходит из ребута. На попытки включения реагирует плохо, до загрузки ОС даже не доходит. Шеф ревёт бешеным голосом и прикидывает размер арматурины, которой собирается проломить нам головы: «Вы, уроды, расп#$@расили один из лучших компов!» Чудом уговариваем шефа, что отремонтируем до вечера, и приступаем к диагностике. Навернулось три кондёра. Перепаиваем кондёры на выпаянные из похожей материнки, система оживает.

Всю ночь до утра без перерыва проводим за экспериментами с nLite, кустами реестра, патчами, оптимизаторами, настройками софта по обе стороны Виртуалбокса. К утру мы добиваемся того, что комп реагирует на мышь на треть секунды быстрее, на клаву — почти на секунду быстрее, а интерфейс отрисовывается быстрее на пиксель. Мало того, комп перестаёт игнорировать сеть, правда, пинг такой, что Half-Life 3 быстрее выйдет, чем пакет дойдёт, а потери чуть ли не 90%.

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

После десятиминутного совещания скидываемся со своих денег, и Вася едет на барахолку за новой материнкой с процом Pentium D и 2 ГБ оперативы, я — домой за восстановленным на прошлой неделе блоком питания. Приезжаем на работу, вставляем всё это в старый корпус, Вася суёт откопанный в своих загашниках 250-гиговый SATA-винт, я втыкаю свой собственный дисковод, так как на материнке нету IDE. Переливаем «Акронисом» винду, виртуалку, настраиваем всё и удовлетворяемся вменяемым быстродействием.

Возвращается шеф.

— Вот шо значит вставить хорошего проп#$дона! За три часа всё сделали, а то три дня не пойми чем, б#я, занимались.

В результате нас лишили премии, половины зарплаты и объявили выговор. Я зарёкся работать в шарашкиных конторах, а Васёк пошёл работать официантом.