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

История


У нас политика - мы не знаем пароли юзеров. Звонит как-то девушка:
Девушка: У меня почта не приходит в Thunderbird..
Я: Сейчас сменю тебе пароль и зайду на webmail посмотрю, что тебе там пришло.

Меняю пароль на 123, захожу на вебмыло, вижу что почты новой нет, отправляю от себя письмо юзеру, на webmail приходит без проблем.
Я: Принимай у себя почту в Thunderbird (забываю сказать, что нужно указать новый пароль).
Девушка: О, от тебя пришло письмо.
Я: Как это, пришло письмо?
Девушка: Ну, ты же мне отправил письмо, вот оно пришло, тема - "тест 1".
Я: Я тебе сменил пароль, ты не могла получить почту, не указав новый пароль: 123.
Девушка: Так у меня и был 123...

История


Пришлось мне однажды в свою бытность молодым сисадмином ставить сервак под видеонаблюдение на PC. Поднял Дебиан, настроил, закачал всё необходимое, пакеты, ssh, поставил объёмистые жёсткие, БП помощнее, кулеры пожужистее. Подключил камеры, настроил захват, сделал веб-доступ. Проверил с соседнего компа - отлично, всё работает!

Выключаю свежесобранный компьютер, ставлю в стойку, врубаю, иду коннектиться по ssh. Не соединяет. Пингую - нету пинга. Проверил кабель, питание - на вид вроде всё работает.

Снимаю комп со стойки, матерюсь, подключаю моник, клаву, мышь, врубаю. Всё грузится отлично, мать-перемать! Думаю, ну точно проблема с витой парой, раз коннект не идёт. Меняю кабель, переобжимаю. Делаю ребут системы, ещё раз всё проверяю по ssh, не убирая системник - всё работает, ура.

Ставлю комп в стойку, подключаю. Иду коннектиться по ssh - не пашет. Пингую - аналогично. Ну прямо кошмар какой-то. Повторяю весь цикл заново - эффект тот же: со мной компьютер работает, ставлю отдельно - не работает.
Мистика?

Нет.
Оказалось всё куда боле прозаично - биос стопорился, если клавиатура не была подключена.
Так и приходит опыт...

История


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

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

Потом этим железом испытывали ракетные двигатели...

История


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

Неделей позже девушка пожаловалась на то, что привод у неё не работает - только тем и занимается, что болванки портит. Лучшим способом выяснить причину поломки оказался следственный эксперимент.

Вставляет он, значит, диск, запускает программу Nero, ставит на запись и далее следит за прогрессом записи - все так, как делала девица. Запись успешно без единого намека на ошибку доходит до 100%, и тут девица выдает: "Ну всё, записалось, нажимай отмена. Что смотришь на меня, видишь 100% показывает? Записалось ведь значит!.. (выскакивает окно "Прожиг завершен") Ой, наверное этого окошка надо было дождаться да?.."

Откуда берется такая прыть, и как её направить в нужное русло?

История


Это было во времена Windows 3.1 и старых компьютерных биосов со списком стандартных предопределённых паролей.

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

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

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

История


Работаю в международной компании, поддерживаю RT (тикет-система). Пришёл запрос от руководства, улучшить безопасность - усилить фильтрацию входных e-mail'ов. Усилил. Пишу аккаунт-менеджеру (главный по работе с клиентами), мол, дай вежливый и правильный текст письма на английском. Через полминуты получаю требуемый текст:

%Manager%: Dear non-customer,
%Manager%: Fuck off, please.
%Manager%: regards,
%Manager%: %CompanyName% email bouncer

Видимо накипело.

История


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

И вот по мере наполнения нашего мира существами перед нами встала проблема коллизий. Проявилась она совершенно архетипично - в узком перешейке, соединявшем какой-то полуостровок с каким-то континентиком, встретились два барана (точнее, как мы их тогда называли, "экземпляры класса ТБаран"), каждый из которых шел к какой-то своей, одной ему понятной цели, уперлись друг в друга и мало-помалу померли с голода.

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

Кто ж знал, что программа подкинет нам такой сюрприз!
На узкой горной тропе встретились неудовлетворенный желудочно ТБаран и неудовлетворенный сексуально ТСлон. Как объекты для удовлетворения своих потребностей они друг друга совершенно не интересовали, поэтому представляли друг для друга просто препятствие. Всемогущий Рандом решил, что в этот раз слону придется полежать немного в качестве элемента интерьера, а баран пойдет дальше. Скрипт бодро превратил ТСлона в квадратный метр свежей зеленой травы, радостный ТБаран сожрал ее, навалил кучу и там же рухнул спать. Несчастного слона поминали всей бригадой, включая преподавателя.

История


В свое время делали региональную сеть. По принципу - каналы (медь) предоставляет одна госконтора, а мы оконцовываем. Запустили - все работает.

Через 3 дня вдруг один из участков начал сбоить. Причем, нестабильно. Данные проходят, но с потерями. Это один из худших видов ошибки. Две недели пытались выловить причину. Несколько раз меняли оконечное оборудование (а это поездка в 160 км). Клиент негодует. Использовали даже аппаратуру для проверки качества соединения, чтобы выявить всевозможные "наводки" на канал.

Сидим на оконечной точке. В очередной раз поставили новую аппаратуру, настроили циски, все перепроверили - ничего не происходит. Грустим.
Тут заходит в гости дядя Вася - местный телефонист. Пьяный в доску.
- Привет ребята. Чё такие грустные?
- Да вот, опять связь нестабильная, пакетики теряем.
- Да не грустите, я вам тут в качестве подарка улучшение сделал.
Нас прямо приподняло над стульчиками.
- Мил человек, а что ты сделал?
- Дык я вам на линию усилок впаял. Чтобы сигнал посильнее был. Так что с вас бутылка.
- А покажи-ка?
- Дык вот же я прямо на кроссе в разрыв и вставил. Усилитель ТЧ (тональной частоты).

Опа, а у нас-то оборудование цифровое!

- Дядь Вась, а какую полосу частот он усиливает?
- ....
- Дядь Вась, вот тебе магарыч. За то, что уберешь свой "усилок".

Конечно же, все заработало. Дядь Васин усилок срезал самый верх несущей частоты модема. И в результате порядка 10% пакетов терялось. Ни одному нашему спецу даже в буйных фантазиях не представлялось, что каким-то образом может вырезаться часть частоты.

История


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

Бились над проблемой 3 дня, перелопатили кучу кода, даже нашли некоторые другие баги, которые не имели отношения к проблеме. В итоге наткнулся на кусок кода в том месте, где искать никто просто не додумался:

$res = $DB->getData($query); //считывает данные с ДБ и загоняет в пронумерованный массив
$data = new array();
foreach ($res as $key=>$value)
{
if (!$data[$key])
$data[$key] = $value;
};

Все это вместо простого $data = $res;
Что имел ввиду кодер, родивший это чудо, так и осталось загадкой.

История


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

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

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

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

История


У нас политика - мы не знаем пароли юзеров. Звонит как-то девушка:
Девушка: У меня почта не приходит в Thunderbird..
Я: Сейчас сменю тебе пароль и зайду на webmail посмотрю, что тебе там пришло.

Меняю пароль на 123, захожу на вебмыло, вижу что почты новой нет, отправляю от себя письмо юзеру, на webmail приходит без проблем.
Я: Принимай у себя почту в Thunderbird (забываю сказать, что нужно указать новый пароль).
Девушка: О, от тебя пришло письмо.
Я: Как это, пришло письмо?
Девушка: Ну, ты же мне отправил письмо, вот оно пришло, тема - "тест 1".
Я: Я тебе сменил пароль, ты не могла получить почту, не указав новый пароль: 123.
Девушка: Так у меня и был 123...

История


История общения с менеджером одного интернет-магазина.

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

Итак, вот что написал мне менеджер: "Звонил в техническую поддержку производителя. Ответ последовал следующий: ноутбук комплектуется тремя типами аккумуляторов. Здесь стоит надеяться на удачу, какой ноутбук вам достанется."

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

История


Висит у нас возле УАТС инструкция, солидная такая, пунктов 12-15, на случай зависания одного транка.

Что-то вроде такой:
1. Отключить пользователей транка %name%
2. Проверить связь до городской подстанции
и т.д.

Но самое главное, после всех жутко важных и обязательных пунктов стоит приписка - "или просто выключить питание на 10 секунд".

История


Несколько лет назад приехал к нам в гости двоюродный брат. У нас тогда был крутейший (по тем временам) dial-up модем Zyxel Omni Duo и ленивый пользователь, которому вломы было купить сетевой фильтр. Так что в стене из розетки торчал двойник, с одной стороны двойника был модем, а с другой - тройник. В тройник включался монитор и системник. Так вот, сидят тогда ещё мелкие братцы и зовут меня. Интернет у них, видите ли, не работает.

Смотрю, что пишет. Проверяю - мёртвый. Ну, совсем. С умным видом щёлкаю кнопочкой питания... Точно мёртвый. Проверяю, включен ли в розетку - включен. Проверила на всякий случай Usb и телефонный кабели, хотя при чём тут это...
Страх уже начал холодными лапами закрадываться в гарантийный талон модема. Но тут я полезла проверять клубки проводов. И нашла...
Из розетки торчал тройник, питающий монитор и системни. А рядом, неприкаянно, лежал двойник. Запутавшись в нашей сложной системе двойников/тройников, братцы воткнули модем в двойник, а вилку его, вместо того, чтоб включить в розетку, вставили рядом с модемом. Круг замкнулся.

История


Рассказывал знакомый хакер.
Был у него на кафедре компьютер под NT (Win2000 тогда ещё не было). Пароль "1". Понятное дело, что товарищ такой пароль подобрал с первого раза. Админ узнал про это и заменил пароль на "12", который тоже был незамедлительно взломан.

Посмеялся я над этой историей, но у самого тоже случилось такое.
Надо было поднять военным WinME. Слетел реестр, а я ошибся и довёл винду до полной незагружаемости. У Millennium режима DOS, как известно, нет. Резервную копию реестра я сделал, DOS'овская дискета в кармане, но что делать - пароль на BIOS.

Говорю: "Ну, надо разобрать компьютер, переставить красную перемычку, это сотрёт пароль на BIOS и позволит загрузиться с дискеты". Прапор наотрез отказывается. И пароля, естественно, не знает.

От безнадёги ввожу "1". Подходит! Исправляю я всё, что надо, получаю свои деньги и ухожу довольный.

История


Помнится, ваял я проект один, работая в институте. Заказчик потребовал, чтобы мы ему нарисовали диаграмы какие-то, статистику вывели и пр. В ASP такое сделать было нельзя (не помню, круговые он там хотел или что), поэтому решили накидать ActiveX-контрол по-быстрому, в который я ASP-шкой передаю параметры, а ActiveX рисует на основании этого диаграмму красивую.

Я делаю загрузку ActiveX с параметрами, товарищ рисует на дельфи ActiveX'ину. Нарисовали, связали, отправили заказчику. Всё, вроде, тихо несколько дней. У товарища заглючил комп, винт начал подсыпаться. Он, не долго думая, переставил винду, удалив предварительно все виндовые каталоги (Windows и Program Files). Ещё через пару дней приходит письмо от заказчика: "Диаграммы, в принципе, устравают, но надо переделать ряд моментов". Товарищ полез искать исходники этой ActiveX'ины и вдруг вспомнил, что все материала он сохранял в папку дельфы, которую она предлагает по умолчанию. А по умолчанию она предлагает сохранятсья куда-то в недра себя. То есть в Program Files. Которые он снёс. Короче, нету исходников. Накрылись.

Далее следует чудесная переписка с представительницей заказчика:
- Надо переделать ряд моментов в диаграммах, - настаивает она.
- Нет! - твердо отвечаем мы.
- Что значит, "нет"?!
- Эта версия ActiveX'ины финальная и доработке не подлежит!
- Но почему?!
- Мы исходники про... протеряли.

История


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

Прихожу, все сделал. И тут мне хозяин говорит: "Я вижу, что у меня тенденция к уменьшению места на диске C:". Показывает график. С момента покупки компьютера через каждую неделю сняты показания о количестве свободного места и все данные сведены в график. Так же и для диска D:. Ладно, думаю, человек с интересом относится.

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

История


Как-то утром вызывает меня шеф. Говорит: "У дизайнеров один комп не запускается, только пищит".

Прихожу, гляжу - действительно пищит, на оперативку жалуется... Заглядываю внутрь системника - вроде нормально все. Вынимаю плашки оперативы, пытаюсь вставить обратно - не выходит. Что за хрень, думаю. Смотрю: стоит оперативка DDR2, а слоты на материнке - DDR. Зависаю... Решаю сходить за DDR.

Тут опять шеф: "Не включается комп у секретарши". Ну, благо кабинеты через стенку, попути в техничку проверяю комп - не включается. Совсем.
Забираю машину в отдел. В дизайнерский комп ставлю требуемую оперативу и иду разбираться с компом секретарши. Ставлю пост-карту, она выдает ошибку питания. Сгорела материнка. Смотрю, а в ней тоже DDR2 воткнута в слот для DDR.

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

История


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

Поступил заказ на создание сайта. Я нарисовал дизайн и передал страницу на исполнение php-программеру. Он же выступал верстальшиком. Создав нетленку, он вернул мне работу для тестирования. Захожу под ИЕ - все ОК. Захожу под Файрфоксом - шрифты расползаются. Пишу об этом в аську программисту.

Через пять минут ответ: "Пофиксил, посмотри". Захожу - шрифты расползаются. Зато внизу страницы появилась надпись - "Сайт предназначен для просмотра в ИЕ 6.0 и выше".

История


Работают в нашей компании пара юзерш из разряда "кому за...", со всеми вытекающими последствиями. В один прекрасный день у нас стал виснуть 1С-овский сервак. Бухгалтерия в панике (отчетный период жеж), менеджеры не могут документы выписать, все начинают нам, айтишникам, названивать.

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

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

Дело в том, что она создавала документ под номером, например, 101. Потом создавала документ под номером 102. Документ 101 подчиняла документу 102. Документ 102 подчиняла документу 101. И пыталась посмотреть структуру подчиненности! Сервер, естественно, съедал где-то гектар памяти, говорил "больше не могу" и задумчиво останавливался...