Изменить стиль страницы

#1452: Резидент-evil

12:00 18.11.2009, IT happens

 

Было это лет 15 назад, когда основной осью была MS DOS, а ситуация, когда за одной машиной по очереди работали несколько человек, была в порядке вещей.

 

На восемь программистов у нас в отделе приходилось три машины — по тем временам нормально. Составили расписание и обменивались часами — вдруг кого идея в неурочный час стукнет?

 

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

 

Ребята в отделе мне подкинули мысль: «Да напиши ты ему вирус, чтоб неповадно было». Вирус делать не стала, но за полчаса я состряпала резидентную программу, которая считала на клавиатуре число нажатий клавиши «a» (или «o» — не суть важно), а по достижени определенного числа выдавала на экран в случайном месте случайную строчку текста (напоминаю, товарищ сидел в Turbo Basic в текстовом режиме) методом прямой записи в видеопамять.

 

Интеренее было придумать, как засунуть программу в автозагрузку так, чтобы не сразу нашли. Вопрос решился просто — драйвером клавиатуры был всемирно известный keyrus.com Гуртяка. Я создала файл keyrus.bat, находящийся где-то в месте, известном переменной PATH, а в него прописала шуточную программу и, собственно, сам keyrus.com. В autoexec.bat keyrus был записан без расширения. Процесс закладки «мины» завершился за пять минут до конца рабочего дня.

 

Вечером того же дня я была обрадована звонком шефа — утром надо было поехать не в наш филиал, а в главное управление. В итоге до своего рабочего места я добралась лишь к обеду и сразу заметила малость позеленевшие физиономии наших начальственных товарищей. Чьих рук эта программа и что это просто шутка, они в конце концов поняли. А вот как её из автозагрузки убрать, за четыре часа втроём не додумались!

 

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

 

 

 

#1453: Язык мой — враг мой

12:00 18.11.2009, IT happens

 

Работаю в небольшой фирме-провайдере системным администратором. Разгар сезона отпусков, конец июля. Фирма небольшая, и техподдержка наполовину в отпусках, поэтому я заменяю паренька-саппорта. Звонок:

 

— Техподдержка компании %provider%, меня зовут %name%, слушаю Вас.

— Мыня завут Тэнгиз, самий старший сисёмный адмын грюпи кампаный ЗАО %client%. Слющий, какого х#я у нас так плохо работаит ващ интенат и ипэ-тефоня, на?! (Ей-богу, не вру — печатаю с диктофона.)

— Сообщите, пожалуйста, код направления и ориентировочное время звонка..

— Да ты, чё, не понял?!.. @#%$!

 

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

 

— Опа, а что за грусть в глазах?

— Да обругали..

— Кто посмел?

— Да вот из ЗАО %client%.

— Назвался?

— Ну да.

— Кто?

— Да сисадмин их.

— (задумчиво) Ага... А ну, пойдём-ка.

 

Директор решительно набирает номер клиента.

 

— Здравствуйте, компания %provider%. Я могу поговорить с вашим самым старшим администратором?

— Да! Эта я!

— Простите за вопрос, а вы русский?

— (в замешательстве) Нэ савсэм, а что?

— А то, что я русский, и исконно русских слов знаю на порядок больше вас, уважаемый «самый старший»! И на х#й послать, а то и в более далёкие пешие путешествия я могу быстрее тебя, понял?

 

Не все директора звери, господа!

 

 

 

#1454: DROP DATABASE

19:45 18.11.2009, IT happens

 

В то время, когда я только начинал работать с MySQL, стукнуло мне в голову подучиться слепой печати — благо топтал клавиатуру я к тому времени уже лет шесть и большинство клавиш находил на автомате, лишь иногда бросая короткий взгляд для уточнения расположения «крайних» букв вроде «й» и «ъ».

 

Решено — сделано. Поставил себе знаменитое «Соло на клавиатуре» и развлекался в обеденное время. Набирать не глядя я научился, но возникла маленькая проблема — прежняя привычка печатать двумя-тремя пальцами порой приводила к тому, что я путал местами две ближайшие буквы в слове, нажимая клавишу раньше, чем следовало.

 

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

 

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

 

 

 

#1455: Антилена

19:45 18.11.2009, IT happens

 

Был у нас в регионе небольшой сотовый оператор, где я и трудился. Ныне это филиал большого и гордого предприятия.

Занимался я там многими вещами, но любимой «игрушкой» был находящийся в подчинении SMS-центр. Больших программ я никогда не писал — работа была несколько иная, но вот мелких скриптов я настрочил массу. Про один из них и хочу рассказать.

 

Два-три десятка строк на перле и вуаля — пользователи интернета могут отправлять SMS друзьям и родственникам с нашего сайта (не более 10 в сутки с одного IP). Написал, запустил и забыл. Через несколько месяцев начали поступать жалобы на спам в наш колл-центр. Абонентов донимала некая Лена, которая просила закинуть ей на номер 300 рублей.

 

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

 

Сел наблюдать. Лена опять отправила сообщения нашим абонентам с просьбами помочь материально. На месте барышне не сиделось — SMS были отправлены с тридцати разных IP-адресов. На следующий день ситуация повторилась. На третий тоже. На четвёртый Лена, видимо, включила телефон, чтобы посмотреть на улов, и получила несколько сотен входящих.

 

Несколько дней была тишина, но где-то через неделю напасть началась снова — немного поменялся текст сообщения. Мой скрипт был начеку — он способен был разобрать символы «0», «I», «Б» вместо нуля, единицы и шестерки в номере телефона, не говоря уже о подмене русских букв латинскими аналогами. Леночка сопротивлялась недолго и вскоре ушла искать счастья на сайтах других операторов, о чем я узнал из сообщений на их форумах.

 

Война окончена. Враг посрамлён, абоненты успокоились, мы довольны.