11099

Из формата в формат к изумленью ребят

Работаю в поддержке программулины на серверной стороне, но ошибки клиентов тоже приходится решать.

Поступает протокол, в котором пользователь описывает проблему с печатной формой, которая вылезает из моей программулины. Пользователь ответственный и хочет не только описать, но и показать ошибку. Нажимает кнопку — появляется печатная форма в PDF. Печатает, сканирует напечатанное, полученный файл открывает через стандартный просмотрщик, делает снимок экрана, вставляет в мелкомягкий текстовый редактор, отправляет мне. А я увеличиваю картинку на 300% и пытаюсь помочь. Просто, быстро, удобно…

Сказать «зачем?» — не сказать ничего.

11098

Тонкое искусство западлостроения

Месть должна быть правильной, и адекватной.

Зачем устраивать тормоза на рабочей машине тупой блондинки? В случае чего начальству будет сказано, что и 1С тоже тормозит, и ты же окажешься виноват. Играет в Симс — окей. Маленький скрипт в автозагрузку каждые два дня — и сохранялки с несколькими поколениями выстраданных счастливых семейств удаляются безвозвратно. Для симсоводов это — ночной кошмар, а пожаловаться не на что.

Сериальчики — ещё веселее. Обязательно ведь понадобится звук: «Мне пришла презентация, а звук не работает!» — и снова будешь виноват. Так можно и умнее сделать: отлавливаешь момент загрузки сериальчика, подменяешь его на классную порнуху, блокируешь регулировку громкости. Для особого цинизма можно запустить самому в рабочее время, пока все слышат.

Молодой с джаббером? Пообщайся от его имени с его же начальством. Очень продуктивно и познавательно получится, уверяю. Результат немного зависит от навыков общения.

Устраивать злыдне армагедец домашнего компа — очень прозрачно: «Флешку я носила только на работу, значит, там полно вирусов». Снова ты подставился. И вообще, на домашнем компе может быть живой Касперский, который твой форк отправит к праотцам. Зайди в 1С под её учёткой, начисли ей же зарплату в пару раз больше, к примеру. Пусть разбирается с начальством.

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

11097

А во лбу @$# горит

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

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

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

— Да чтоб у вас там х#й во лбу вырос!

Тихий декабрьский вечер прерывается взрывом хохота обитателей кабинета.

С тех пор у нас про тех, кто долго не отвечает на звонок, говорят, что они растят себе на лбу детородный орган.

11096

Пауза — для тормозов

Поймал коллегу (начинающего сисадмина) за отладкой BAT-файла интересным способом. Паренёк запускал файл из Проводника и быстро нажимал Print Screen, иногда успевая поймать окошко с выводом консоли.

11095

Великий китайский файрволокопатель

Присматривал я себе китайский смартфон. В РФ продаётся тысяч за одиннадцать. Иду на известный китайский аукцион. На этом сайте я впервые. Там ценник в районе восьми тысяч. Посмотрел подробности (естественно, без регистрации) и пошёл себе спокойно работать дальше. Страничку закрыл.

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

И вот тут мне серьёзно поплохело. Это ж за то время, что я сайт изучал, они каким-то хитрым скриптом через корпоративный и персональный файрволы залезли на комп, просканировали быстренько, вычислили мой адрес и прислали спам! Как страшно жить…

Иду к админу, жалуюсь. Меняется в лице. Потом начинает ржать: ему тоже спам от этого интегратора сегодня приходил. Совпало.

11094

Сталлоне не обнаружено

1986 год. Проникновение в квартиру. Дверь выломана, ничего не взято. На стареньком телевизоре — записка:

А где видеомагнитофон?

Взломщиков быстро нашли. На допросе они сказали, что навели их соседи, и сообщили, какие именно. Оперативники — тут как тут. Соседи рассказали, что незадолго до этого во взломанной квартире работал мастер, который, по их словам, «чинил видеомагнитофон», периодически произнося слово «видеосигнал».

О том, что чинил мастер вовсе не видеомагнитофон, а тот самый старенький телевизор, и что видеосигнал бывает не только в видеомагнитофоне, но и в телевизоре, неграмотные соседи-наводчики не знали.

11093

Не жилец, но есть нюансы

Источниками быдлокода являются не только неопытные программеры, но и люди, прямого отношения к программированию давно не имеющие.

Отучился я на специальности «Программное обеспечение ВТ и АС», но потом подался в ремонтники железа. Полученные знания потихоньку утрачивались, а новые касались совершенно других проблем. В один прекрасный момент хорошие знакомые попросили в сжатые сроки написать диплом по специальности, на которой я учился. Тема: «Сетевая реляционная БД». Отмазаться не получилось. Так как на работу отводили неделю, об изучении чего-то нового речи быть не могло: на одну пояснительную записку и плакаты ушло бы три-четыре дня. Писать предлагалось на Delphi 6. Надо отметить, что во время моего обучения на предмете «Базы данных» мы проходили досовский FoxPro 2.6, соответственно, про SQL я только слышал, а о сетевых БД знал только то, что они есть.

Поставленная задача была выполнена. Результатом стал клиент-серверный программный комплекс. Программа-сервер открывала файл MDB через ADO и ждала запросов от клиентских приложений. Клиентские приложения общались с сервером через DirectPlay (компонент DirectX, предназначенный для простой реализации сетевых игр), используя самопальный язык запросов. Получив от клиента запрос, сервер мог искать в БД данные методами FindFirst/FindNext либо создавать новые записи из полученных данных. Все запросы попадали в некое подобие FIFO-буфера, в котором происходила «сборка» фрагментированных запросов, а также отбрасывание огрызков. Контроль доступа к базе осуществлялся методами всё того же DirectPlay. Защита от одновременного редактирования записи была реализована путём добавления специального поля в корневой таблице: если значение в нём равно единице, то запись уже кто-то редактирует.

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

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

Если кому это чудо попадётся — пожалуйста, не обижайтесь. Я не думал, что этим кто-то будет реально пользоваться.

11092

Капиллярам некуда спешить

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

— Куда включать-то будем?

— А можно прямо в свитч?

— Легко.

И бригада вонзила кабель в древний то ли Compex, то ли C-Net на 16 портов.

Спустя полгода, весной, этот клиент утром звонит: интернету нету. Вечером бригада у него. Порт сгорел. Ну, есть ещё 13 свободных. Кабель пересовывается. Всё работает.

Через месяц — то же самое. По тому же сценарию. И ещё. И ещё. Выяснили, что после грозы или дождя дохнет 100%, но спустя день-два. Поставили грозозащиту на всякий случай. Не помогло.

Спустя полгода в свитче осталось два или три порта. И тут по накатанному: утром не работает, вечером бригада — произошёл сбой. В момент звонка этого клиента я оказался в двух шагах от его здания, и ресепшн меня припряг. Добираюсь до свитча.

— А откуда, — спрашиваю, — лужа вокруг свитча на полу? Уборщица не вытерла?

— Нет, мы тут сами убираемся. Нам уборщица не по карману. Но уже неделю не убирались.

Беру свитч, а из него вода выливается. Вытряс остатки. Беру в руку кабель — тяжёлый такой. Мацаю его, а из разъёма вода. Ох ты ж ёжик! Помацал кабель ещё. Выдоил ещё грамм пятьдесят водицы. Больше нет вроде. Втыкаю в новый порт. Всё работает.

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

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

11091

Сто шагов к просветлению

Кто-то жалуется, что у него четыре буха, а у нас их тридцать пять. Делятся они на клиентских и внутренних. С последними проблем не возникает, пока ревизию в серверной не начинаем проводить либо пока у них компы не загорятся (в буквальном смысле) синим пламенем. Учёт они ведут в корпоративной самописной программе, которую мы даже не поддерживаем.

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

Есть у них прекрасный инструмент контроля платежей с касс, но его они изучать не желают. Зачем нам эти галочки- флажочки? Мы программистов и инженеров дёрнем.

В итоге три отдела клиентских бухов занесены в чёрный список на телефонах, в корпоративной аське, в почтовых сервисах. Теперь ради вопроса им нужно преодолеть восемь лестничных маршей. Удивительно, но марше на шестом большая часть вопросов отпадает или решается.

11090

Хорошо, не ломом

Пришло лето. Выпускники озадачились трудоустройством, кадровики — подбором персонала. Вот и к нам пришло пополнение.

В выходные решили провести плановые работы, в том числе и обслуживание старичка-сервера на Win2003. Новичка тоже припрягли — пусть учится. Не ожидая подвоха, прошу выключить комп, указав в причинах выключения «плановые работы».

Юное чудо молча выдёргивает шнур из розетки. Бесперебойник вздрагивает и начинает пищать. Стажёр недрогнувшей рукой жмёт кнопку.

— А где журнал для записей?