Неделю айтишник мучал данный провод, пытаясь оживить. Ничего не помогло — он снова притащил целую коробку витухи и торжественно вручил мне, в грубой форме сказав, чтобы таких оплошностей, как в прошлый раз не было. «Это высокотехнологичный провод, и твои доисторические подходы неприемлемы!»
«Такое больше не повторится», — говорю я, полный энтузиазма. Когда ты в школе учился, я уже прокидывал коаксил, а чуть позже и витую пару, и мне известна сотня способов убить твой провод. Не спорю, может, ты и высококвалифицированный специалист, но пока ты пытаешься переложить свою работу на меня, я — твой злейший враг.
#1636: Обезьянья CMS
12:00 10.12.2009, IT happens
Говорят, что если усадить миллион обезьян за печатные машинки, то с ненулевой вероятностью одна из них наберет «Войну и мир». У одной обезьяны, похоже, получился CMS.
Отдел поддержки клиентских серверов датацентра. Приходит клиентское письмо с жалобой: «После обновлений базы товаров нашего интернет-магазина сайт перестаёт работать и вообще». Сайт вольготно размещён в одиночку на сервере с двухъядерным процессором и 2 ГБ памяти — проблем с производительностью быть не должно. Прошу пнуть нас именно в момент обновлений.
Дожидаюсь ответа «вот сейчас не работает!» Смотрю — на машине оба ядра под завязку нагрузил MySQL. Логинюсь в «мускуль», даю запрос show full processlist. Изумляюсь — терминал виснет наглухо. Передёрнув терминал и залогинившись обратно на машину, запускаю тот же запрос с выводом в файл. Смотрю в результаты: сервер отрабатывает два запроса общей длиной в 1,2 с копейками мегабайта.
Как выяснилось, чудо-фронтэнд магазина выгребал какие-то данные запросом вида «Select * from Таблица where productID='такой-то' and enabled=1 or productID='еще_какойто' and enabled=1 or...», и так до упора. Несчастный MySQL вдумчиво проверял каждую строку немаленькой таблицы на соответствие десяткам тысяч логических условий.
Клиенту отписал, приложив результаты show full processlist. Молчит уже сутки. Видимо, проникается идеей...
#1637: Краткость — тёща бизнеса
12:00 10.12.2009, IT happens
Работаю уже некоторое время в одной из самых раскрученных в нашем небольшом городе дизайн-студии. В основном мы делаем сайты для крупных предприятий — ценник, соответственно, рассчитан на обширный корпоративный бюджет.
Не так давно находит нас один клиент — хочет срочно себе сайт. Какие проблемы? На встречу устремляемся сокращённым составом «ударной команды»: рекламщик и техдиректор.
Приезжаем на какую-то торговую базу. Стоит небольшое гаражеподобное строение, над входом безвкусная жёлто-синяя надпись «Ковролин». Заходим и видим этакого качка в спортивной одежде, читающего газету. Представляемся, начинаем по стандарной схеме:
— Как ваша фирма называется?
— «Ковролин».
— А официальное название?
— ИП %name%.
— А как на сайте нам писать-то?
— «Ковролин».
— Логотип у вас есть?
— А это чё?
— Фирменные цвета?
— А это чё?
— Ну вот вывеска у вас почему жёлто-синяя?
— Ну нам такую сделали.
Молчание. Тупим, думаем, как быть.
— На сайте что писать будем-то?
— Вы специалисты, вы и думайте.
— Давайте хоть с чем-то определимся. О компании писать будем?
— Не, не надо.
— Товары будем описывать?
— Не, не надо.
— Прайс-лист будем выкладывать?
— Не, не надо.
— (хором) А что надо?!
Клиент долго, напряжённо думает.
— Ну-у-у... Посередине надпись «Ковролин» и два сотовых телефона.
#1638: Идиоты высшего звена
14:00 10.12.2009, IT happens
Был у нас тут семинар по безопасности; мужик рассказывал про DeviceLock. Эта программа отслеживает, куда и как пользователь сливает информацию — в общем, защита от инсайдеров. Местный умник-айтишник донимает докладчика:
— А у вас есть возможность отслеживать записанное по имени файла?
— Это не нужно! Мы отслеживаем файлы по сигнатурам. Даже если пользователь изменит расширение, DeviceLock сможет отследить этот файл.
— Нет, ну можно же заменить и сигнатуры! Добавляем в начало одного файла 1024 байта с сигнатурой от другого.
— Да, это возможно, для этого мы внедряем сейчас анализатор контента. И вообще, если файл будет зашифрован, вы тоже ничего не сможете увидеть, кроме факта того, что файл был передан.
— Нет, вы мне скажите, может ли ваш DeviceLock отслеживать по именам файлов?! Можно же по структуре слитых файлов и папок определить, что было слито.
— В этом нет необходимости. Мы проверяем сигнатуры типов файлов.
— Но анализатор контента — это куча информации, вы мне скажите, есть ли у вас отслеживание по имени файла?!
В общем, препирались они долго. В итоге докладчик сдался:
— Окей, у нас этого нет, но мы можем реализовать слежение за именами файлов, если вам это настолько нужно. Вы мне только ответьте на один вопрос: вы согласны, что это защита от полного идиота?
— Не от идиота, а от топ-менеджеров. Они не будут заморачиваться такой ерундой, как переименование файлов!
#1639: Образцово-показательный юзер
14:00 10.12.2009, IT happens
Недавно мне позвонил человек, которому я один раз лечил сильно подпорченную вирусами и небрежным обращением ОС. Попросил помочь ещё раз: сказал, что имеются проблемы с записью оптических дисков. Что ж, не вопрос — беру запасной DVD-привод, на всякий случай шлейф к нему, и выезжаю.
Сажусь за комп. Жена парня рассказывает, что хочет записать на DVD некое видео, но не знает, как. Ставлю ImgBurn и спрашиваю, где видео; она открывает браузер, идёт в закладки и открывает страницу с онлайн-роликами.
— Что ж, — говорю, — задача нетривиальная, но Мухтар постарается. Сейчас я поставлю программу, которая позволит качать эти клипы на жёсткий диск, и научу вас ей пользоваться. Постарайтесь запомнить.
Девушка оказалась очень понятливой — на удивление быстро уяснила, что такое потоковое видео и почему его нельзя сразу писать на DVD, и освоила Orbit Downloader, самостоятельно скачав под моим присмотром несколько роликов.
— Отлично, теперь клипы у нас на компьютере, можно записывать на DVD.
— А их можно будет смотреть на DVD-плеере в комнате?
— Хм... Ещё одна необычная задача. Попробовать можно, но вам надо будет освоить ещё одну программу.
Ставлю конвертер Format Factory, показываю, как превращать любой видеоряд в понятный DVD-проигрывателям .vob. Юзерша опять на удивление быстро осваивается с незнакомым ПО и самостоятельно конвертирует файлы, а затем заливает их на оптический диск, после чего аппаратный плеер успешно их читает.
Фокус в том, что проблема не всегда в аппаратуре или софте. Иногда вносить изменения приходится не в комп, а в его пользователей. Самое прекрасное — это иногда получается. Не все пользователи глупые и необучаемые.