Что вы обычно слышите от удалённо подключившегося к серверу молодого админа перед тем, как он сломя голову бежит подключать клавиатуру к серверу, логиниться на слух и пересоздавать дефолтные настройки фаерволла?
- Отлично! Сохраняем новый конфиг, а теперь - sudo ipfw restart!
Конец диких 90-х. Сплю в офисе на диванчике, всю ночь добивал журнал.
Рано утром меня будит секретарша: - Выручай, что-то надо делать, принтер совсем сломался! - Эм... Что? - переспрашиваю я, продирая глаза. - Вот, всё чёрным печатает! - А? - Вообще всё чёрным!
Проморгавшись, понимаю, что мне тычут под нос что-то из Малевича. Даже хуже - лист бумаги, полностью запечатанный чёрным цветом без полей. Натыкаясь на стулья, иду к принтеру - был какой-то LaserJet. Смотрю. Пытаюсь запустить тестовую печать. Понимаю, что нет бумаги. - Вика, а бумага есть? - Вот возьми, - мне сразу же протягивают пачку. Пытаюсь сунуть бумагу в лоток, а она странная какая-то. Тонкая и неправильная. И скручивается.
- А что это за бумага? - удивляюсь я. - У нас обычная закончилась, так я факсовую порезала... - невозмутимо отвечает секретарша.
Звонит рано-рано утром злющий товарищ-разработчик на оракле. - Вот скажи, сколько ОЗУ может использовать 32х битный линух? - 4G - Ну так я и думал, а то не могли понять, почему все так медленно работает. Полез проверять, а там 32-битная ось. На новеньком сервере с 16G ОЗУ. Подозреваю, что так по всему нашему банку.
Для работы я использую линукс. Для экспериментов ставлю ещё парочку на виртуальной машине.
Прочитал как-то, что патч Бармина на современных системах выполнить нельзя - coreutils не разрешает. Решил проверить. В конце концов - с каких это пор система считает себя умнее пользователя?! Запустил виртуальную машину с мандривой, перешёл в консоль. rm -rf / и правда не даёт выполнить. А вот cd / && rm -rf * пошло на ура.
Какое-то смутное подозрение в просчете с моей стороны закралось, когда по Alt-F7 предо мною явился не KDE виртуальной мандривы, а xfce моей реальной слаквари...
Зато запомнил надолго, что из виртуалки Ctrl+Alt+F1 открывает РЕАЛЬНУЮ консоль.
Как-то раз начальник в офисе дал нам задачу купить такой шредер, чтобы ему можно было сразу пачку листов класть (уничтожать архивы). И стоить он должен не более 10к.
А я, вдруг вспомнил, что где-то в инете была статья: "как сделать автошредер из старого принтера". Взял старый лазерник, обычный офисный шредер, спаял контроллер на микрухе AVR, написал программку (на работе все равно больше нечем заняться). В общем, получилось чудо: кладешь ему до 200 листов, а он автоматом через 30 секунд начинат их хавать потихоньку. Поставили в "серверную", архив на нём благополучно уничтожили (легче было сжечь, по-моему) и забыли про него...
Все было бы хорошо, если бы не наш новый "офис-менеджер" на ресепшне. Естественно, симпатичная девушка, и всё такое... К тому времени я эту контору админил только удалённо и бывал там очень редко. Про "шайтан-машину" девушке никто не рассказал.
Короче, через месяц, когда у них таки сдох свич, и мне пришлось приехать его менять, походит ко мне эта самая девушка, и смущенно спрашивает: "а где у вашего принтера выходной лоток?".
Я сначала не сообразил, но потом... Извините за банальность, но рыдали всем офисом! Да, она думала, что это принтер и каждый день приносила ему чистую бумагу! Угрохала 12 пачек за месяц! Причем, почуяла неладное, только когда у него переполненная корзина отвалилась сама, а из нее полетела "мишура".
Работаю программистом по автоматизации производства. Есть большой проект, который уже несколько лет хорошо и стабильно работает, но в него регулярно нужно вносить небольшие изменения в связи с модернизацией оборудования. И был в свое время у меня помошник, в образовании которого есть ряд существенных пробелов.
Итак, одно из таких изменений было внесено и шел процесс финального тестирования на экспериментальном стенде - все отлично, все работает и радует глаз. И тут понадобилось мне отлучиться. Прихожу - оборудование стоит, никаких аварийных сообщений нет. Ненормально и совершенно непригодно для реальной эксплуатации. Пробую еще несколько раз: оборудование останавливается в произвольные моменты времени без всяких на то причин! А надо сказать, что проект сделан в среде UltraLogik, у которой с возможностями отладки большие проблемы. Поэтому самый верный способ поиска ошибок - это медленное и вдумчивое курение исходников. И вот при очередной итерации этого увлекательного процесса я обнаруживаю следующую процедуру, написанную моим горе-помошником.
procedure FBD_BLOCK(var Input : integer; var FromValue : integer; var ToValue : integer; var Output : boolean); var prev_value : integer; begin Output:=false; if (Input=ToValue) and (prev_value=FromValue) then Output:=true; prev_value:=Input; end;
Фанфары, мат и желание дать в репу! У него оборудование выключается, когда на систему снизойдёт вселенская благодать и случайное значение неинициализированной переменной совпадёт с нужным!
Хорошо, что это был первый раз, когда эта процедура реально использовалась.
Взял на абонентское обслуживание компьютеры и сеть компании %companyname%. Они только что въехали в новый офис и делали сеть силами "одного студента", но вроде все работало. Я даже не успел толком не разобрался в структуре сети, как в один прекрасный вечер звонят - не работает сеть. Приезжаю - точно не работает, ничего не пингуется, но линки на компьютерах горят. Начинаю искать свитч. Минут 15 искал по всему офису. Нашел. В коробке из-под ноутбука, за батареей отопления. Этот бедолага нагрелся так, что на нем можно было кофе варить.
После ремонта в нескольких комнатах, приходит к нам заявка, что нужно провода интернетовские убрать во вновь повешенные короба. В общем, цивильно всё сделать.
Приходим. Провода идут через всю комнату по полу: выходят из одной стенки и заходят в противоположную. Естественно, длины проводов не хватает, чтобы заправить всё в короба. Выход один - делать врезку по два метра в каждый из 5 линков.
Задача тривиальная. А мы и не напрягались особо. Со словами "приступим" коллега рубанул все 5 линков и начал плести скрутку. Вдруг нас посещает мысль: "а какой с каким соединять-то?". Вот, блин, протормозили. Ладно, крутим как есть, а если что - потом переткнём.
И тут просто сработала теория вероятности, которая на самом деле оказалась вовсе не теорией. Я беру первый попавшийся провод из пяти, друг делает так же - и соединяем. Крутим второй линк. И снова умная мысль: "можно же проверить по метражу на проводе".
Проверили. Оказалось, что мы соединили нужный провод! Вот вам и теория. В конце концов доделали мы все, как надо. Перед уходом решили заглянуть в соседнюю комнату - там же тоже наверняка придётся делать. Смотрим и выпадаем в осадок: перед нами пустая комната, а на полу валяется бухта кабеля метров 20! Можно было подтянуть провод в соседнюю комнату и не возиться с врезками. Ну кто ж знал...