РжуНеМогу.РУ

История


Очередной проект по доделке и переделке авторских недоделок в программе заказчика.
Угу.

Заявлена кроссплатформенность - используется Qt, есть клиенты для Windows и никсов. Клиентов беспокоит, как Гондурас странная особенность: под никсами программа уверенно работает отовсюду, кроме каталогов, расположенных в /home (например - на рабочем столе, что должно быть интуитивно понятно и привычно для пользователей Windows). Угу.

Авторы грешили на особенности сборки Qt, на примечания к документации QFileSystemWatcher "о зависимых от системы лимитах на количество одновременно наблюдаемых путей". Но почему-то программистов заказчика не обеспокоила такая особенность систем, под которые портировалась изначально виндозная программа, как чувствительность к регистру путей файловой системы. Аффтары нечувствительно приводили путь к lowercase, а потом проверяли существование каталогов типа Desktop или "Рабочий стол" для пользователей типа Vasya_Pupken.

А метод проверки QDir::exists(), спроектированный с учетом особенностей *nix, имел их всех в виду.

История


Из собственной биографии - в 199x принимают меня на работу во вновь образуемое ФГУП начальником делопроизводства и нештатным специалистом по IT. Под IT в данном случае понималось все, связанное с компами: закупка, сборка, инсталляция ПО, поддержка эксплуатации, создание сети.

Где то, через год, слегка устав от этого воза работы, подхожу к директору с предложением завести на предприятии редкого работника по кличке сисадмин. Директор интересуется, что это за зверь, я начинаю объяснять. После первых трех фраз директор правильно ли он понял, что сисадмин будет иметь доступ ко всем машинам и информации в них? Ну, в принципе да, говорю. Директор задумывается, и изрекает, что сисадмином тогда должен быть он. Я не спорю, перечисляю ему все функции сисадмина. Директор говорит, что подумает и отправляет меня на рабочее место.

Я с этого предприятия уволился через семь лет - сисадмина на предприятии так и не было...

История


В 2004-2005 годах мне довелось работать в одной софтовой компании, которая выпускала несколько продуктов на базе единого клиент-серверного движка. И в какой-то момент мы заметили, что у нас слишком велики требования к клиентской части (это было не веб-приложение, а отдельно инсталлируемое, тяжеловесное). Вроде бы ничего масштабного нету, но памяти уже и 512 метров мало, вот уже и гига едва хватает. Бедные клиенты вынуждены перезапускать приложение несколько раз в день, настраивать конфиги и жаловаться своему сисадмину.

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

Причина нашлась, как это часто бывает, слишком поздно и почти случайно. Исследуя документацию к библиотеке, которую мы использовали для работы с пересылаемыми XML-пакетами, я случайно нашёл метод reset. Стоило добавить в наш код вызов этого метода, как требования упали в 10 раз! Оказалось, что пока этот reset не вызван, клиент помнит все DOM-модели всех полученных с сервера пакетов...

История


Дело было в 90-х годах в одном из крупнейших провайдеров стольного града Киева.

Звонит юзер:
- Здравствуйте, у нас выделенный канал...
Телефонистка молча форвардит на канальный отдел.
- Здравствуйте, у нас выделенный канал...
Канальщик:
- Да-да.
- У нас не работает ваш POP3 ящик.
Канальщик молча форвардит на техподдержку диалапа.
- Здравствуйте, у нас выделенный канал...
Инженер техподдержки диалапа молча форвардит на канальный отдел.
- Здравствуйте, у нас выделенный канал...
Канальщик:
- Да-да.
- У нас не работает ваш POP3 ящик
Канальщик молча форвардит на техподдержку диалапа.
- Здравствуйте, у нас выделенный канал...
Инженер техподдержки диалапа молча форвардит на канальный отдел.
- Да вы за$%^ли форвардить! У меня POP3 ящик!
Канальщик, услышав магическое слово непригодного для печати характера, молча форвардит на юриста. Ибо инструктировали - при наездах клиентов переключать на юриста.

...клиент дошёл до генерального директора.
После этого всех проинструктировали 1) предупреждать, что переключает, и куда переключает; 2) объяснять тому, на кого переключают, суть проблемы; 3) и просто попытаться вначале самому разобраться.

История


Больница. Привезли новый велоэргометр: крутишь педали, на тебе датчики, а аппарат диаграмму рисует, как твой организм тянет нагрузки. Старый на бумагу рисовал, а новый с компом приехал.
В общем, привезли и говорят: "Не лезьте! Приедут областные спецы, все настроят". А мы и не против, нам меньше головной боли. Спустя неделю приходит врач сообщить, что областные приехали и просят подойти. Идем, надо же глянуть на спецов.

Заходим: один сидит за компом, соображает, второй усердно крутит велоэргометр.
Тот, что за компом говорит:
- Что-то комп ничего не пишет, наверное, нагрузка маленькая. Может, быстрее крутить надо?
Второй спец разгоняется. Комп пишет всякую гадость, не может получить данные и все тут. Мы стоим и наблюдаем.

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

История


Ещё на заре своего знакомства с компьютерами на первом курсе экономико-финансового университета развлекался я следующим образом.

Ввели у нас такой обязательный предмет как библиография, на котором мы учились искать книги в библиотеке в специальной программе. Курс был рассчитан на месяц, а программу эту я методом тыка освоил за два занятия, и было мне жутко скучно. Но, так как предмет был обязательным, и мы сдавали по нему зачёт, то ходить приходилось.
И вот, как-то ковыряясь в программе, я случайно обнаружил, что прога отображает результаты поиска в виде html с помощью встроенного IE. При открытии контекстного меню появлялся пункт - открыть с помощью блокнота. Как оказалось, отчёт сохранялся локально в один единственный html, который потом и загружался. План быстро созрел в моей голове: html файл был исправлен и содержал сообщение: "Внимание, программа выполнила недопустимую операцию и будет закрыта. Ничего не нажимайте!" (главное было не выполнять новый поисковый запрос, иначе html-файл исправно заполнялся результатами поиска).

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

История


На одном из файловых хостингов висит новость:

Технические работы в ночь на 1 февраля.

Внимание! В ночь с субботы 31 января на воскресенье 1 февраля будут проводиться плановые технические работы у провайдера. В период с 1.00 до 5.00 сайт будет закрыт на 1 час.

Всегда подозревал, что у провайдеров интересные часы...

История


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

for (int i=0; i
- Что это? - спрашиваю.
- Инициализация - отвечает мне друг.
Да, конечно, инициализация. Прогрев памяти перед работой...
Загадка - как препод пропустил все это? Наверное, код не открывал даже. Работает, и ладно.

История


Работаю сисадмином в типографии. Самое дорогое, что у нас есть, и, в то же время, основное средство производства - печатная машина одной очень известной немецкой фирмы. Надо сказать, что современная печатная машина - это монстр, который где-то 30 метров в длину и 5 в ширину, и имеет в своем чреве множество электронной начинки. Также в ее составе имеется пульт, который управляет всеми процессами, происходящими в машине.

Так вот, как-то раз при запуске машины не стартует пульт. Не стартует, и все тут. Начинаем разбираться - не запускается управляющий компьютер. Так-то просто системный блок: питание - стандартное, материнка, правда, не продается в магазинах, но тоже в принципе все понятно, откуда там что. Комплектующие, в общем, стандартные.
При ближайшем рассмотрении выясняется, что на процессор не приходит питание. Естественно, звоним представителям фирмы с вопросом: "Как починить или заменить плату?". На что получаем очень интересный ответ: "Мы не поставляем платы. И не чиним их". На закономерный вопрос: "Что делать?" нам отвечают: "Можете купить у нас новый компьютер".

"Ладно, - говорим, - цена вопроса?". При этом, напоминаю - мы имеем ультрабюджетный комп. Все на материнке. Проц - 800 селерон. 256 метров памяти. Видео Intel. Так вот, на вопрос про цену нового компа нам отвечают: "Двести пятьдесят тысяч рублей!"
В общем, начальство почесало репу, мы все подумали, и с помощью мультиметра, паяльника и какой-то матери починили питание проца, сэкономив таким образом четверть миллиона русских рублей.
Так что, когда вам говорят, что мол, в России все через задницу - не верьте. Буржуины иногда похлеще наших жгут.

История


Была у меня такая история. Работал я как-то давно в небольшой фирмочке, выделенного интернет-канала не было, а почту более-менее регулярно снимать нужно. Каждый раз тыкать мышкой, чтобы запустить соединение и разорвать после проверки почты - надоело, и я решил все это дело автоматизировать. Поставил программку, которая через каждые 2 часа дозванивалась по списку телефона от провайдера и делала все необходимое.

Первый дозвон был настроен на 8:30, чтобы как раз к приходу на работу почта была проверена. Все работало замечательно, и целый месяц я радовался свежей почте. До того момента, когда однажды пришлось прийти на работу на час раньше обычного.

Пока проводил утренний моцион-рацион (сигарета, кофе и т.д.), компьютер проснулся, и модем начал резво щелкать, набирая первый в списке телефонный номер. И я поперхнулся кофеем, когда в хриплом динамике модема раздалось: ТВОЮ МАТЬ!! С#КИ! УБЬЮ Н^$#!!!! ПОРВУ!!! НАЙДУ И ПОРВУ Н#Х!!!.. Модем резво перескочил на другой номер и продолжил свою работу. А я работать уже не мог...

Проверил список - первый же номер был внесен в список с ошибкой...

История


Очередной проект по доделке и переделке авторских недоделок в программе заказчика.
Угу.

Заявлена кроссплатформенность - используется Qt, есть клиенты для Windows и никсов. Клиентов беспокоит, как Гондурас странная особенность: под никсами программа уверенно работает отовсюду, кроме каталогов, расположенных в /home (например - на рабочем столе, что должно быть интуитивно понятно и привычно для пользователей Windows). Угу.

Авторы грешили на особенности сборки Qt, на примечания к документации QFileSystemWatcher "о зависимых от системы лимитах на количество одновременно наблюдаемых путей". Но почему-то программистов заказчика не обеспокоила такая особенность систем, под которые портировалась изначально виндозная программа, как чувствительность к регистру путей файловой системы. Аффтары нечувствительно приводили путь к lowercase, а потом проверяли существование каталогов типа Desktop или "Рабочий стол" для пользователей типа Vasya_Pupken.

А метод проверки QDir::exists(), спроектированный с учетом особенностей *nix, имел их всех в виду.

История


Из собственной биографии - в 199x принимают меня на работу во вновь образуемое ФГУП начальником делопроизводства и нештатным специалистом по IT. Под IT в данном случае понималось все, связанное с компами: закупка, сборка, инсталляция ПО, поддержка эксплуатации, создание сети.

Где то, через год, слегка устав от этого воза работы, подхожу к директору с предложением завести на предприятии редкого работника по кличке сисадмин. Директор интересуется, что это за зверь, я начинаю объяснять. После первых трех фраз директор правильно ли он понял, что сисадмин будет иметь доступ ко всем машинам и информации в них? Ну, в принципе да, говорю. Директор задумывается, и изрекает, что сисадмином тогда должен быть он. Я не спорю, перечисляю ему все функции сисадмина. Директор говорит, что подумает и отправляет меня на рабочее место.

Я с этого предприятия уволился через семь лет - сисадмина на предприятии так и не было...

История


В 2004-2005 годах мне довелось работать в одной софтовой компании, которая выпускала несколько продуктов на базе единого клиент-серверного движка. И в какой-то момент мы заметили, что у нас слишком велики требования к клиентской части (это было не веб-приложение, а отдельно инсталлируемое, тяжеловесное). Вроде бы ничего масштабного нету, но памяти уже и 512 метров мало, вот уже и гига едва хватает. Бедные клиенты вынуждены перезапускать приложение несколько раз в день, настраивать конфиги и жаловаться своему сисадмину.

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

Причина нашлась, как это часто бывает, слишком поздно и почти случайно. Исследуя документацию к библиотеке, которую мы использовали для работы с пересылаемыми XML-пакетами, я случайно нашёл метод reset. Стоило добавить в наш код вызов этого метода, как требования упали в 10 раз! Оказалось, что пока этот reset не вызван, клиент помнит все DOM-модели всех полученных с сервера пакетов...

История


Когда-то, в середине 80-х производил я пусконаладочные работы Вычислительного Комплекса (ВК) СМ-2м на военном аэродроме. Предназначался этот ВК для управления полетным тренажером. Тренажера я, разумеется не касался, а занимался только эСэМкой. На нашу общую беду командир эскадрильи, полковник, просто "влюбился" в эту ЭВМ и не упускал случая посетить машинный зал, прямо замордовал начальника тренажера дебильными вопросами, суть которых сводилась к требованию изучить всю эту технику в недельный срок. Начальник тренажера, капитан, был неплохим "дядечкой", и я ему откровенно сочувствовал.

В один прекрасный момент комэск ввалился в машинный зал и, направив указательный палец на капитана, громоподобным голосом вопросил:
- Cинус тридцати градусов?!
- Одна вторая, - несколько опешив, ответил капитан...
- Нет! Вы на ЭВМ посчитайте синус тридцати градусов!! Не умеете?!

Тут я почувствовал, что настала моя очередь вмешаться, что я и сделал, совершенно нагло пользуясь своей безнаказанностью.
Я спокойно объяснил, что данный ВК вовсе не калькулятор, а система намного более сложная и многофункциональная и, разумеется, на нем можно посчитать и этот самый ваш синус, но более бесполезной траты времени я не знаю.

На ВК была установлена дисковая операционная система, но меня, как говорится, понесло, и я, решив оторваться по-полной, закрутил это "шоу" в перфоленточной системе. В итоге, после многочисленных действий (а имеенно - 21), я получил долгожданный результат - скомпонованную однозадачную ОС с задачей вычисления злосчастного синуса в виде бинарника на перфоленте... После этого я, наконец, загрузил перфоленту с полученным бинарником и запустил программу. На экране мгновенно отобразился результат:

"Синус 30 градусов равен 0.5"

Комэск с задумчивым видом вышел. Рабочий день удался!

История


Я работаю в компании с большим количеством офисов, раскиданых по Московской области. Одна из обязаностей - поддержка 1С в рабочем состоянии.

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

И тут сегодня получаю заявку: "В 1с не можем добавлять новых пользователей. Пароль администратора кем-то изменен и теперь неизвестен". Вот сижу я и думаю, как на эту заявку реагировать...

История


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

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

История


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

Также появилась новая должность - человек, сидящий без наушников, должен писать в аську сообщение "ТЕЛЕФОН", тому человеку, у которого звонит сотовый.

История


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

Так как агрегат дорогой и сложный, установка входила в стоимость. Приходим полюбоваться на сие чудо, опробовать. Первое, что нас удивило, это то, что отсутствовал провод питания (не забыли, а именно не предусмотрен)! Полазили вокруг (аппаратик на 200кг) нашли отсек для двух батареек. Закрались сомнения. Включаем: блекло-желтая кривая полоса подсветки шириной 4мм... Вскрытие показало современную лазерную начинку - 2 лампочки, приклеенные над ножом на скотч!

Пришлось проявлять русскую изобретательность и из 5 лазерных указок все-таки мастерить то, что обещал производитель. Работает на славу до сих пор...

История


Звонок в саппорт: "Ничего не работает и т.д."
Телефонная диагностика малорезультативна, ввиду очень низкой квалификации пользователя. Явно придется ехать, по ходу разговора уже решаем кто будет этим несчасным. Кто-то уже распланирован, уходит. Смешки, жесты, реплики...
Одно ясно - у клиента там, похоже, троян приватизировал все ресурсы машины под рассылку спама, или что-то подобное...
По тому, что удалось выжать из пользователя - троян явно не один. Клиент, "естественно никуда не лазил", откуда вирусы - не знает.

О перечисленных симптомах кто-то из наших сказал, уходя, под руку:
- Это все у одного?! Да там их - табун!
Синхронно, в трубке:
- Диктую адрес: ул. 1-й Конной Армии, дом №...

История


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

Знакомый жуткими трудами оговорил себе право ходить с одной(!) пустой дискетой. Когда один умный охранник прогонял ее через unerase, он видел там лишь один затертый маленький файлик, все время один и тот же.
Проект был оттестирован и торжественно сдан. В тот же день знакомого, естественно, безо всякой премии, попросили с работы, так же обыскав на выходе и не найдя ничего... только за тем, чтобы через неделю с извинениями пригласить обратно. Спешно нанятые банком кодеры нашли на рабочем компьютере исходники на каком-то папуасском языке, толкованию не поддающиеся совершенно.
Тот самый хранимый на дискете и каждый день восстанавливаемый файлик носил название "my_macros.h"