2621
К Новому году я решил порадовать себя и компьютер новой веб-камерой. Купил, подключил, установил драйвера, ПО — всё заработало. Пришла весна. Вчера вечером, пока я тихо-мирно правил одну жёлтую программу, компьютер вдруг заорал, что обнаружено новое оборудование, причём нашел он именно мою камеру и потребовал диск с дровами. Получив требуемое, виндюк поскрипел и сказал, что установка невозможна из-за ошибки установки. Меня заинтересовало странное поведение машины. Исследования показали: пока я трудился, в системе шла беспощадная теневая война не на жизнь, а на смерть.
На драйвер камеры было совершено нападение «злобным» вирусом (выяснено простым бинарным сравнением). Но так как вирус был написан коряво, встать по-тихому у него не получилось: хулиганство заметил докторвебовский Guard и решил заразу выкусить. Guard был тоже написан коряво: выкусить заразу у него не получилось, и драйвер сдох, что и было замечено системой. ХР узрела непорядок и решила исправить ситуацию переустановкой, посмотрела .inf и потребовала свежую копию драйвера. Но так как и ХР написана коряво, то вычистить перед установкой оставшиеся драйверные хвосты у неё не получилось, и камеру вышибло без права дальнейшей установки.
Вот так и живём: кривое с кривым из-за кривого воюет, а мы реестр ручками чистим.
2620
Только что ходил покупать курицу-гриль. Смотрю на цену: 255 рублей. Ну, думаю, круто, круглую сумму дам, сдача будет рубль. Честно, пару секунд понять не мог, почему так много сдачи вышло.
2619
Среди знакомых считаюсь «программистом» — чуть что, зовут меня. Обычно ничего невероятного, но один случай запомнился. Звонит мне знакомая, говорит, не грузятся некоторые сайты. Приезжаю, первым делом проверяю на вирусы. Ничего, да и базы свежие. Полчаса беседы с техподдержкой ни к чему не привели. Ну, раз не получилось, значит, не получилось. Остаюсь на чай.
Мысль пришла, когда я уже собирался уходить. Открываю файл hosts. И что бы вы думали? Ровным столбиком идут записи:
127.0.0.1 yandex.ru
127.0.0.1 vkontakte.ru
127.0.0.1 mail.ru
2618
Мышки, говорите, хакеры не носят? Они и не нужны.
Работаю админом одной небольшой фирмы с филиальной сетью. Привезли мне как-то системник с небольшой проблемой: комп по дефолту загружается в профиль пользователя с ограничением на установку драйверов. Подключил я к этому чудо-устройству клавиатуру, мышь, экран; после загрузки обнаружил, что ни клава, ни мышь не работают. Система драйвера поставить не может с правами пользователя.
Идея родилась неожиданно и своевременно. Был написан скрипт, меняющий пару параметров в реестре, благо админский пароль был стандартный. Записал я это дело на CD с автозагрузкой, и после небольшого танца с бубнами система загрузилась под администратором, а я получил заветный контроль над машиной.
А лучший способ сберечь секретную информацию — не хранить её. Всегда найдется тот, кто сможет обойти систему.
2617
Разрабатывал я как-то игру на основе известного движка. Понадобилось показать игру на презентации. Перед этим решил посмотреть спустя два года, что же я там написал. Открыл код. Начинаю вкуривать и медленно офигеваю от своими же руками написанных скриптов. Сначала я увидел это:
global.krove-=1 /*хз че разобраться и потом написать коммент что это делает*/
if (global.krove<0) /*Та же хрень*/
{global.krove=0} /*То же самая хрень что и выше*/
При этом в коде было несколько тысяч переменных — какая за что отвечает, понять после двух лет просто нереально. Это ещё ладно. Дальше я увидел следующее и понял, что за два года сильно шагнул вперёд в отношении качества кода:
if (global.navik_vojdenia=2)
{}
if (global.navik_vojdenia=3)
{}
2616
Попросили меня потрудиться на благо родной военной кафедры: поставить ОС от горячо любимого монополиста, драйвера и кодеки. Сказано — сделано. Отформатировал винт Акронисом, вставляю болванку с виндой — не грузится. Другие загрузочные диски без проблем, с этого — никак.
Закрались мысли о царапинах на диске. Бодрым шагом иду к товарищу майору — не верит, говорит, диск рабочий, а других нет. Вместе идём к пациенту — и правда, не хочет грузиться. Майор приподнимает переднюю часть корпуса, ставит под него ногу — о чудо, диск соглашается-таки грузиться!
Привод потом заменили на более шустрый, но военный приём принуждения к работе не забуду. Бубен по уставу не положен, зато майорская нога всегда выручит.
2615
Как же я, админ сети нехилого финансового управления, люблю звонить в техподдержку своего провайдера, когда у меня (или, что чаще, у них) возникают проблемы со всемирной сетью, и глупым голосом канючить:
— У меня не работает Янде-е-екс... Ну сделайте же что-нибу-у-удь! В моем компьютере нету такого пункта-а-а!
Надоело решать проблемы? Почувствуй себя юзером!
2614
Продаём мы библиотеку, написанную на С++. К ней написали примерчик, как с помощью этой «либы» построить СОМ-сервер, и клиента на Visual Basic, чтоб показать, как этот COM-сервер дёргать.
А год назад я увидел, как это юзают испанские программисты. Наша библиотека по-прежнему упрятана в COM-сервер, Бейсик-клиент несколько переделан, чтобы его можно было дёрнуть из Delphi, а на Delphi написан переходник для Java. Видимо, больше языков программирования они не знали.
2613
В студенческую пору обучался я программированию микроконтроллеров. Однажды на лабах надо было написать задержку — не вопрос, вот вам цикл! Упс — не хватает. Соратник вбрасывает идею об вложенном цикле, что пресекается подошедшим преподавателем. Через несколько секунд мозг, простимулированный учительским вниманием, предлагает набить тело цикла «мусором». С умным видом изрекаю:
— А здесь мы попушаем и попопаем!
Команды push и pop прервали занятие минут на пять — группа истерически ржала под непонимающим взглядом преподавателя.
2612
По роду своей работы я пытаюсь искоренять в людях ПТУшные корни. Решение задач по отказам должно сопровождаться ломкой старых представлений, основанных на интуиции, методе тыка, «передёргивании» плат и надежде на чудо. Лучше потратить пару часов на экспертизу, анализ и формулировку версий с творческим подходом, чем значительно большее время на бесполезную деятельность по сборке-разборке оборудования. Работа по поиску и устранению отказа должна начинаться с чёткой формулировки отказа, понятной самому себе, а не с той дилетантской работы, которую описывает автослесарь. Из-за таких подходов в России плохие дороги и некачественное здравоохранение.
То же касается и истории про «синенькую вещь». Сегодня автор установил дефолтные настройки в биосе, не поняв, в чём причина; завтра он даже не будет обращать внимания, в нём ли дело, а просто сбросит по привычке. Я постоянно говорю это своим практикантам, скажу и вам: чем меньше уровень ваших знаний, тем ценнее я, как специалист!