bash.im ithappens.me zadolba.li

Программы

1752

Не стесняйся, все свои

В прошлом году работал в аутсорсинге — админил и эникеил разные конторы. И вот одна фирма решила обновить парк в отделе, занимающемся проектированием каких-то трубопроводов в Автокаде.

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

Пускаем машину, цепляем к инету, запускаем Автокад и... он просит активироваться. Ну фиг с ним, заполняем все поля, выбираем РФ, жмём «Отправить»... «Выберите страну». Выбираем, жмём — «Выберите страну», и хоть ты тресни. Срочно качаю сервис-пак, ставлю — ноль эмоций и «Выберите страну». Звоню в техподдержку. Не втыкают двадцать минут, просят перезвонить завтра.

Сижу весь в мыле и на нервах. Ко мне подходит замдиректора этой конторы и протягивает флешку:

— На, не майся!

На флешке был кряк. Ломанул и ушёл домой. Неудивительно, что ПО воруют — честно поставить и то не дают.

1750

Мои ракеты вверх

Думаю, что про прошествии пяти с лишним лет я могу поведать эту историю, случившуюся на первом курсе физфака %universityName%. Читали нам на первом семестре курс информатики — родимый паскаль, изъезженный сто раз ещё в школе (а некоторыми, в том числе вашим покорным слугой, и раньше). Лектор у нас там был весьма интересный (самый запомнившийся перл — «логические значения „труе“ и „фэлс“), но самым замечательным персонажем был «семинарист».

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

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

Не знаю, как остальные, но я за один выходной день сделал все десять программ. Вскоре в нашей группе был зачёт из двух частей: лектор задает вопросы, «семинарист» смотрит программы. Сначала я попал на лектора. С вопросами проблем не было, и через пару минут я услышал: «Давай зачётку». Как человек честный, спрашиваю: «А программы не хотите посмотреть?» Лектор поворачивается к «семинаристу» и спрашивает, есть ли у него ко мне претензии. Тот, опять не говоря ни слова, качает головой, и я получаю долгожданный зачёт.

У друга же моего всё-таки решили посмотреть программу (скопированную у меня) с расчётом полёта. В качестве начальных параметров задали бросок вертикально вверх в штиль. Исходная точка полёта у меня была в начале координат, и я её рисовал около левого края экрана. Дальше я вычислял дальность полета, рисовал точку приземления у правого края, а дальше с помощью простой пропорции переводил координаты снаряда в полёте в координаты на экране. Но при вертикальном броске тело приземлялось там же, откуда и выстреливалось!

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

На всю жизнь я запомнил, что 90 градусов — тоже угол.

1713

На свою голову

Заказала нам фирма, торгующая всякой канцелярией, CRM. Одной из особенностей этой системы было то, что она напоминала менеджерам по продажам, что надо бы позвонить клиенту и поинтересоваться, не кончились ли у него канцтовары. Со стороны заказчика это выглядело великолепно — генеральный так и видел счастливых клиентов, просто офигевающих от того, что их помнят и любят.

CRM ту мы успешно сдали больше года назад. После переезда в новый офис нам потребовалась бумага. Угадайте, где мы её заказали. Теперь они нам, б@%#ь, звонят каждый месяц!

1701

Военные жуки-убийцы

Перед сном читал википедию и наткнулся на статью про баг-трекинг. В сносках значилось буквально следующее:

«Бейзер, например, предлагает шкалу от 1 (незначительная ошибка, например, грамматическая) до 10 (фатальная, вызывающая сбои в других системах, войны, убийства и т. д.)». «Тестирование программного обеспечения», Канер, Фолк, Нгуен. Гл. 5, с. 105.

Сначала думал, что фейк. Не поленился — отыскал книгу, нашёл нужную главу и страницу. Каково же было моё удивление, когда я увидел цитату слово в слово! Хотя, возможно, это переводчик с юморком был.

Вот вам и оружие третьего поколения. Никакого Диптауна не надо, господин пейсатель!

1689

Интернациональное юзабилити-тестирование вслепую

Работал я как-то в восточноевропейском филиале одного ныне крупного разработчика. Однажды из головной конторы нам спихнули заказ от некоей фирмы на разработку софта под сенсорные экраны вроде тех, что ныне установлены на платёжных терминалах, стоящих чуть ли не на каждом углу. Заказчик оказался то ли с юмором, то ли с придурью, то ли с тем и другим вместе: в списке требований помимо прочего значилась «проработка эргономики и юзабилити», причём этот пункт был основополагающим. Вот только сам экран нам не прислали — дескать, новая разработка, проходит испытания, не можем прислать (из головной конторы по секрету сообщили, что экран, как вторая Звезда Смерти, «not fully operational»). На наш вопрос «А как мы все это будем тестировать?» представитель головной конторы придал лицу выражение, присущее обычно Стивену Сигалу, и выразительно промолчал.

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

Теперь небольшое лирическое отступление: руководителем нашего филиала был поляк, лицом похожий на помесь Ламберта из недавней игры «Ведьмак» и Янека из бессмертного сериала «Четыре танкиста и собака». Он был рыж, вспыльчив, как гремучая ртуть; и в глаза, и за глаза его все звали Руди, прямо как тот танк.

Этот Руди со своим темпераментом явно не мог вытерпеть методичного перекладывания листочков, поэтому собрал консилиум. То, что родилось в подсобке нашей конторки, издали очень напоминало инсталляции многих современных художников а-ля «я его слепила из того, что было». Из огрызков деревянных штакетин, брусков и досок мы сколотили тумбу, к которой присобачили несколько картонных валиков, через которые пустили целлофановую пищевую плёнку. К плёнке были приклеены вышеупомянутые листочки с эскизами интерфейса.

Со стороны это выглядело так: живчик Руди, стоя около деревянного нечто, крутил большой картонный «штурвал», вращавший валик, на который наматывалась плёнка с листами, изображающими разные стадии работы интерфейса. Чтобы не отматывать валик назад, «главное меню» было нарисовано несколько раз, а дальше менялись лишь последующие стадии.
За время работы мы извели несколько десятков пачек бумаги и рулонов пищевой пленки, опустошив полки всех окрестных магазинчиков и вызвав этим недоумение продавцов. Счет за «производственные расходы» был отправлен в головной офис. Жаль, не удалось увидеть лиц руководства в момент получения платёжки «на километр целлофана».

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

1644

На голубом глазу

Работаю эникейщиком в аутсорсинговой компании. Звонок очередного клиента:

— У нас нет интернета!!!
— В чем это выражается? (Параллельно подсоединяюсь к их шлюзу по VPN-каналу.)
— Не могу загрузить банк-клиент.
— А вы в банк пробовали звонить? Может быть, у них проблемы. Я вижу, что у вас с интернетом всё в норме.
— Да? Тогда почему у Наташи жёлтый глаз? Ой, уже позеленел...

Как оказалось, под «жёлтым глазом» дама подразумевала значок мейлрушного «агента», болтающийся в трее.

1638

Идиоты высшего звена

Был у нас тут семинар по безопасности; мужик рассказывал про DeviceLock. Эта программа отслеживает, куда и как пользователь сливает информацию — в общем, защита от инсайдеров. Местный умник-айтишник донимает докладчика:

— А у вас есть возможность отслеживать записанное по имени файла?
— Это не нужно! Мы отслеживаем файлы по сигнатурам. Даже если пользователь изменит расширение, DeviceLock сможет отследить этот файл.
— Нет, ну можно же заменить и сигнатуры! Добавляем в начало одного файла 1024 байта с сигнатурой от другого.
— Да, это возможно, для этого мы внедряем сейчас анализатор контента. И вообще, если файл будет зашифрован, вы тоже ничего не сможете увидеть, кроме факта того, что файл был передан.
— Нет, вы мне скажите, может ли ваш DeviceLock отслеживать по именам файлов?! Можно же по структуре слитых файлов и папок определить, что было слито.
— В этом нет необходимости. Мы проверяем сигнатуры типов файлов.
— Но анализатор контента — это куча информации, вы мне скажите, есть ли у вас отслеживание по имени файла?!

В общем, препирались они долго. В итоге докладчик сдался:

— Окей, у нас этого нет, но мы можем реализовать слежение за именами файлов, если вам это настолько нужно. Вы мне только ответьте на один вопрос: вы согласны, что это защита от полного идиота?
— Не от идиота, а от топ-менеджеров. Они не будут заморачиваться такой ерундой, как переименование файлов!

1626

Звёздная болезнь

Хотел один раз (каюсь!) подсмотреть пароль аккаунта у коллеги в одной неизвестной программе, чтобы потом над ним подшутить. В поле для ввода пароль по традиции закрывался астерисками.

Я написал подглядывалку, которая раз в секунду смотрела, какое окно находится в фокусе, а если там оказывалось нужное, начинала мониторить содержимое окошка ввода (но не перехватом клавиш, а сообщением винды WM_GETTEXT). Шпион был оттестирован, но упрямо не работал на компе коллеги, упорно выдавая вместо символов звёздочки!

Стало очень интересно, что же такое особенное использует коллега. Спросить напрямую нельзя — сами понимаете. Подловил и подглядел глазами: всё-таки шпион работал правильно. Оказалось, что пароль состоял из — догадались? — пяти звёздочек подряд.

1625

Непатченный кабан

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

Итак, приехал к разработчику, жду ушедшего за диском куратора. В кабинете их трое: мой вышел, с другим на повышенных тонах выясняла отношения какая-то девушка, а с третьим беседовал серьёзного вида парень, чей внешний вид недвусмысленно намекал на его спецназовское прошлое. В отличие от девушки парень не прибегал ни к высоким нотам, ни к инвективной лексике — он, что называется, «давил авторитетом на классе». Куратор сидел изрядно на нервах, регулярно промакивал пот и всем видом показывал, что его единственным желанием является скорейшее исчезновение собеседника.

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

— Кстати, об оптимизации. Скажите, любезный, доводилось ли вам играть в «Готику-3»?
— Да, а что? — ответил первый куратор, явно обескураженный таким поворотом событий.
— А свежий патч 1.73 ставили?
— Да.
— Так вот, 1.73 — это оптимизация. А то, что вы продаёте нам и за что каждый месяц сдираете кругленькую сумму — это релиз. С непатченным кабаном, — тут «клиент» встаёт и его разница в габаритах с кураторами становится очевидной. — В роли кабана — я.

Концовка фразы была произнесена таким тоном, что я понял, что имел в виду Фрэнк Герберт, описывая «Голос» в своей «Дюне». Дальнейший разговор не задался — мы просто получили диски без обычного полоскания мозга, длившегося пару часов.

Не знаю, есть ли связь между событиями, но свежая версия ПО, вышедшая не так давно, работает куда шустрее и стабильнее, да и кураторы как-то подобрались.