bash.im ithappens.me zadolba.li

Программы

11902

Дело о пропавших горизонталях

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

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

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

Идея всплыла в сознании, как подлодка посреди Амстердама: контрастность монитора! Открываю настройки — 100%. Минус 10% — вот и горизонтали появились.

11892

Мелкий шантаж в великой России

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

Так вот, ближе к телу. Железки эти могли управляться с обычных компов под виндой, линуксом и даже DOS. По этому поводу был у нас отдел разработки, который писал драйвера для этих железок на C/C++/ASM (хотя были и фирменные) и клиентские приложения на тех же C++, Delphi, а некоторые — и на Java.

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

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

— Бл$%&, поубиваю на %#й!

Техподдержка звонит шефу, шеф звонит в контору.

— Какого %#я? — вопрошает шеф.

— Разберёмся! Исправим! В кратчайшие сроки! — рапортует контора.

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

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

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

Зато наши клиенты получили программулину с блек-джеком и всеми наворотами несмотря на то, что на разработку мы затратили столько же времени, сколько и конторка, а функциональность была гораздо выше. Программа вышла на удивление стабильной и удобной.

11890

Фантомный эффект красных глаз

Учу начинающего фотографа пользоваться GIMP. Объясняю, чем отличается «Масштаб» от «Масштабирования» (в новых версиях — «Размер изображения»): в первом случае меняется увеличение при просмотре изображения на экране, а с самим изображением ничего не происходит; во втором меняется разрешение самого изображения. Ученик отвечает:

— Что-то непонятно, вот в Фотошопе намного проще.

— А как там?

В ответ слышу… то же, что объяснил только что сам.

Вот откуда растут ноги у утверждений о «неудобном» и «непонятном» опенсорсе!

11888

Заплати или взлети

2005 год. Контора продвигает на рынок собственное ПО по управлению тепловой инфраструктурой: теплостанциями, котельными, отдельными котлами. Два года проработал начальником отдела разработки — и вот он, заслуженный отпуск! За два месяца начинаю процесс оптимизации программы. Сначала думаем, потом делаем, потом тестируем на подконтрольных станциях и их аналогах. Спокойно ухожу в отпуск, за себя оставляю ответственным сына сотрудника, с которым был в хороших отношениях. Паренёк грамотный, тихий — посмотрим, что сможет сделать…

Воронкой кверху загораю на пляже. Приходит SMS от ведущего специалиста: «В рот я $&ал эту контору». И всё, абонент — не абонент. В течение двух дней получаю похожего содержания сообщения от координатора, двух менеджеров и семи из пятнадцати программистов. Понимаю: что-то не то. Звоню в контору: что, мол, за фигня? «Всё нормально, просто люди не потянули». Ну ладно, думаю…

Февраль, заходим на посадку. Переключаю симку на рабочую — и тут как прорвало. От всех клиентов SMS с общим содержанием: «Что за нафиг и что происходит?» Тихо офигеваю. Не успеваю сойти с трапа — звонок:

— Роман Сергеевич? (На заднем фоне воет сирена.)
— Да.
— Это котельная в Энске, у нас проблема…
— Какая?
— Да мы тут щас взорвёмся на @#$!
— Выезжаю.

Прощаюсь с женой и дочерью, прыгаю в такси и мчусь в котельную. Ехать минут сорок. Приезжаю — ревёт сирена, народ бегает. Газ высокого давления, три котла; если рванёт хоть один, всем хана. С ходу мне пытается навалять начальник котельной. Выясняется, что после обновления нашего ПО работа встала, котёл греется, но ПО не даёт сбросить давление, и вот-вот рванёт. В компании требуют 120 тысяч, чтобы приехать отремонтировать…

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

Утром в конторе вызываю всех на планёрку и начинаю прессовать. Оказывается, что «начальник по оптимизации» выгнал половину моих ребят и взял своих знакомых. Ребята с руками из одного места начали вырезать «ненужные» функции. Обновления выходят — функциональность страдает. Новые котельные разрывают контракты, старые отказываются от обслуживания. Недолго думая, новая команда пускает в ход «закладку», которая блокирует работу котельных, и требует денег за устранение «проблемы».

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

11886

Русский продукт, тудыть его в качель

В теперь уже далёком начале 2000-х наше начальство решило вые^H^H^Hпроследовать за высокими технологиями и написать программу для внутрикорпоративного чата и обмена файлами. В связи с этим задолго до реализации этой идеи админу было приказано закрыть все шары, убрать файлопомойку (для обмена файло́м предполагалось использовать только эту программулину) и вычистить со всех компов (цитирую руководство) «чатики-шматики ё$@#ые».

И вот через четыре месяца флоппинета мы наконец увидели это чудо. Я не знаю, у кого они заказывали разработку ппрограммулины, но создавалось впечатление, что её писал ученик пятого класса Вася Пупкин в свободное от уроков и онанизма время на Вижл-бейсике. Интерфейс она имела ужасный; все сообщения об ошибках (а они вываливались постоянно) были выполнены в стиле «Упс, штота атвалилась» и «Руки юзера савершили недапустимую аперацию и будут аторванны!!!», 70% таких сообщений содержали мат. Прога была утыкана легкодоступными пасхальными яйцами, как ёлка игрушками. К счастью, большинство из них сводилось к сообщениям типа «Х%ли лезешь?!» и показом порнокартинок на весь экран.

И это ещё не все! Мало того, что с помощью этой проги мы так и не смогли передать/принять хоть один файл весом более 64 КБ, а все бинарные файлы весом поменьше она херила, мало того, что часть сообщения терялась по дороге, а то и вообще не доходила, мало того, что отосланное тобой сообщения видели абсолютно все пользователи этой проги, так как возможности вести переписку с конкретным человеком просто не было, так эта хрень иногда заменяла текст сообщений на матерные оскорбления (про пасхалки помним), а иногда отсылала их самовольно.

Так вот, однажды, когда всех уже затрахала эта поделка, а админа достала чуть ли не до нервного срыва, эта самая умная программка поняла своим генератором случайных чисел, что пора кого-нибудь и трёхэтажным покрыть, и от имени директора отослала буквально следующее: «Ну чё, все пи@#$%сисся? Ни надаела у нас %#й сасать?» Увидел это и админ — и, забыв о шизоособенностях этой программы, воспринял это как личное оскорбление. В результате директора увезли на скорой в реанимацию, а админа на «бобике» в СИЗО.

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

11882

Сборочка с наклеечкой

Живу и работаю в большом, но провинциальном городе. За всю свою долгую айтишную жизнь (с первых 286-х) не видел лицензионного софта в принципе. Иногда, конечно, бывает, что кто-то покупает компьютер с лицензионным Виндоусом. Полезу посмотреть — всё выглядит, как будто поставлено с какой-то сборки, и по составу, и по подписям: типа, спасибо мелкомягким и Витьку85 за предоставленный материал. Не очень похоже на лицензию.

Когда-то совсем закомплексовал по этому поводу, что даже не умею отличить лицензионную винду от нелицензионной, и позвонил в пару крупных фирм, продающих компьютеры и софт, с вопросом: как отличить? Получил ответ, что лицензионная винда отличается от нелицензионной наклейкой на корпусе. Долго пытался добиться от них более адекватного ответа, но ничего другого не ответили. Потроллил их немного вопросами: «А если у меня наклейка со временем отвалится, то винда становится пиратской? А если я переклею наклейку на другой комп, то лицензия автоматом на него перейдёт? Может, тогда можно поставить два системника рядом и наклеить одну наклейку сразу на два компа?» В общем, так и не знаю, как выглядит лицензионный Виндоус.

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

11872

Адекватный друг и абсолютный глюк

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

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

Была у нас Очень Специфическая Прога для Очень Специфических Расчётов Очень Специфической Фигни. Редко о таких программах пишут в радужных тонах, но эта поделка с дистрибом в три гига и требованиями к свободному пространству в 27 гигов была абсолютным глюком, не иначе.

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

Но и после успешной установки радоваться было ещё рано. Программа реально запускалась с пятого-седьмого раза, и это в лучшем случае. Во время работы тупила, вываливала кучу эрроров и отваливалась раз в 15–20 минут. Добрую треть настроек приходилось вручную прописывать в реестре, INI-, XML-файлах и ещё хрен весть где. Программа их просто не запоминала.

Прога очень редко открывала свои файлы. Зачастую их приходилось править хекс-редактором. До этого я ни разу не видел 55-летнего бухгалтера, так мастерски владеющего хексом и regedit.

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

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

Что потом случилось с Васей, я не в курсе, равно как и не знаю, были ли ещё жертвы. Но одно я запомнил точно: слава небесам, Вася не знал, где живут разрабы, и слава им же, он не вспомнил о моём существовании (я сидел за соседним компом).

11869

С вами Вежливый Лось

Сижу, никого не трогаю, как водится, починяю примус. Всё действительно тихо и мирно, на Тытрубе какая-то передача фоном прокручивается. Проверяю комп на наличие всякого хлама и нахожу в числе прочего маленькую VBS-ку с простецким текстом:

CreateObject("SAPI.SpVoice").Speak"Preeviet"

Улыбаюсь этой вот штуковине и без задней мысли запускаю, мысленно уже представив, как женский голос скажет: «Привет»… А вот хрен там! Мужской голос совершенно без акцента говорит: «Добрый вечер».

Волосы шевелятся в самых труднодоступных местах. Голова ме-е-едленно поворачивается в сторону скайпа, где я наблюдаю статус «Big Brother is watching you» у человека, которому минут 20–30 назад отправил сообщение, и наконец вспоминаю про, мать его так, Ютуб.

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

11836

Преступное бездействие

Звонят мне знакомые выходцы из интерната, получившие квартиру (дело, если что, происходит не в этих ваших Европах, а в столице России), и говорят:

— У нас при открытии интернета вместо Яндекса что-то непонятное вылезает. Почини, пожалуйста…

История, как ни странно, на этом не заканчивается, хотя уже смешно.

— Что делали?

— Приезжала подруга и ставила Скайп.

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

— Я ничего не делала, оно само сломалось!

Конечно, блин, ничего не делала! Я ж не спорю. А надо было сделать — галочку в установщике снять.

Девочка меня таки поняла. С третьего раза.