Истории с тегом: факапы

Всего историй: 744

5800

Not safe for women

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

Ищем мы пользователей, и в гриде среди большого числа всяких Mr. TestName01 LastName01 красным флагом в капсе виднеется пользователь со словом PORN во всех полях. А юзеров по политике удалять нельзя… Пришлось быстро выдумывать историю, что тестили валидацию полей и решили прикрутить словарь запрещённых слов. Идею одобрили, а с тем юзером историю замяли — пусть висит как напоминание.

5783

Игра в свои ворота

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

Будучи обычным студентом обычного вуза, мой брат Саша помимо обычных студенческих увлечений уважал две вещи: программирование и хоккей. Именно поэтому в качестве обязательной для любого студента халтуры была выбрана полставочная должность инженера-системотехника в местном ледовом дворце. Да, в нашем уездном городке была своя хоккейная команда (назовём её «ГазМяс»), которая играла хоть и не на высшем уровне, но с довольно стабильной периодичностью занимала призовые места в своём дивизионе. Тренер «ГазМяса», дядя Вася, пользовался огромным уважением в кругах болельщиков.

Сашкина работа была довольно творческой и в основном заключалась в лечении внезапно глюкнувшего электронного оборудования. Особенно любимым занятием на рабочем месте была пляска с бубном вокруг электронного табло. Монохромная светодиодная панель через пень-колоду была подключена к гордости завхоза ледового дворца, старенькому 286-му с 640 килобайтами памяти и 30-мегабайтным винчестером. Работой табло управляла писанная на Сях программка, сопровождение которой передавалось по наследству от одного инженера-системотехника к другому. Жил мой брат да не тужил, но в один прекрасный день пришёл домой сильно пьяным, а наутро подал заявление об уходе. О причинах такого поступка он рассказал мне только через десять с лишним лет, и то после очень хорошего количества совместно принятого на грудь алкоголя.

Шёл февраль, хоккейный сезон подходил к своей кульминации, и мой брателло начал было грустить по поводу будущего вынужденного отпуска, как вдруг в один прекрасный день к нему в каморку зашёл профсоюзный деятель с предложением скинуться на подарок к дню рождения дяди Васи. И тут Сашка зажёгся Идеей! Лучший подарок для тренера что? Разумеется, победа любимой команды!

Идея была простой и гениальной. Большинство очков «ГазМяс» терял, лидируя в конце матча с разницей в одну шайбу и пропуская гол за несколько секунд до конца встречи. Соответственно, если как-нибудь уменьшить время игры, то и вероятность неблагоприятного исхода была бы меньше. Помимо судьи-хронометриста, контрольный секундомер которого благополучно пылился в ящике стола, единственным источником точного времени было пресловутое табло. Идея Саши заключалась в следующем: модифицировать табло так, что если «ГазМяс» ведёт, то смена секунд происходила бы не через одну секунду реального времени, а приблизительно через 0,9 секунды. Разница для человеческого глаза во время игры практически незаметная, но для игры — довольно критическая.

В программу было внесено следующее условие:

for (i=0; i<2; i++) { // Мы не знаем, в каком порядке команды будут на табло

if (startswith(lower(team[i]), "газмяс") { // Пусть мелочь из «ГазМяса-2» тоже порадуется

teamindex = i;

}

}

if (score[teamindex] > score[1 - teamindex]) {

quantifier = 0.9;

} else {

quantifier = 1;

}

Изменения были успешно протестированы на второй команде. Наступил день рождения уважаемого тренера, по совпадению ставший и днём очередного матча «ГазМяса». Саша, предвкушая радость дяди Васи вечером, отправился сдавать последний экзамен сессии. Только вот препод попался на редкость въедливый, и освободиться брату удалось только часов в восемь, аккурат к окончанию третьего периода. В нетерпении он зашёл на трибуну и обомлел. «ГазМяс» проигрывал одну шайбу, до конца игры оставалось десять секунд. Вбрасывание, пас назад, к левому борту, в центр, бросок… Шайба вошла в ворота соперника «ГазМяса» на мгновение позже сирены. Судья покачал головой и развёл руки в стороны, показывая, что взятие ворот засчитано не будет. Сашка посмотрел на табло. Местный «ГазМяс» встречался с «ГазМясом» из другого города. Украденной десятой доли секунды не хватило до ничьей.

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

5773

Раз-два-три — тринадцатый, гори!

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

Они с товарищем, в то время ещё младшие научные сотрудники, делали какую-то ЭВМ для военных, занимавшую по тем временам целое помещение. День до демонстрации проекта заказчикам; в поте лица паяются схемы — всё руками, да. Запарывается схема, отвечавшая за то, чтобы в нужный момент на пульте загорались нужные лампочки, то есть за UI. Схему надо делать заново, а займёт это неделю. Что делать?

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

5769

Алкашка из-под смокинга

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

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

Полчаса не могла понять, что к чему, пока не догадалась тщательнее разглядеть скриншоты. Поскольку от природы я ленива, обрезать скриншот не стала, и в вордовский файл попала панель задач с цветочком аськи, мигающее окно сообщений и открытая Опера с вкладками: «ВКонтакте», «bash.org.ru»…

5721

Пронзительная история

В саппорт звонит дедушка.

— Любезный, у меня интернет не работает.

Проверяю линию.

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

— Чем?

— Возьмите что-нибудь тонкое или заострённое.

На линии молчание.

— Извините, вы сделали перезагрузку?

— Молодой человек, шило вышло с другой стороны…

5705

«С» не как доллар

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

«Система не удовлетворяет минимальным требованиям».

«Недостаточно места на диске».

«Не удаётся создать сетевой путь».

После нескольких часов догадок, мучений, проверок системы и прочего была найдена проблема: в переменных окружения %TEMP% и %TMP% буква диска была написана по-русски, а остальное — по-английски. Да, глупая ошибка, зато сколько разных методов её обработки инсталляторами мы узнали!

5685

Вот гель, вот дефибриллятор

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

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

— Чего-чего… Вешайся!

Паренёк судорожно сглатывает.

— Чё, всё так серьёзно? А по-другому никак нельзя?

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

— А… А к-куда ег-го поц-цепить?

— Как куда? На JTAG, вестимо! Вот «пятаки» возле проца, сюда приткнёшь игольчатые зонды, а этот разъём — в LPT.

5677

Поспешайте не спеша

Экстренная переустановка сдохшей винды на компьютере инженера. Работа горит — надо срочно. Встроенной видеокарты нет, а дискретная без каких бы то ни было опознавательных знаков. Гугл кодов с наклеек не знает. Теряются драгоценные минуты, терпенье тоже. С интернета качается Unknown Device Identifier, который сообщает: «зелёная», модель такая-то.

Срочно на сайт производителя. Выкачиваю сто с лишним метров драйверов, ставлю. На ум приходит скопировать папку с распакованными драйверами на второй раздел, чтобы не мучиться в будущем. Копировать, диск D:, вставить…

Папка уже содержит вложенную папку «NVIDIA».

Будьте внимательны — поспешайте не спеша.

5666

Жизнь на волоске

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

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

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

5661

Никак не ожидал он такого вот конца

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

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

Минут через 15 последовавший звонок, хоть и содержал в основном непереводимые фразеологические обороты, но ясно дал понять: всё плохо. Товарищ, преисполненный злобы к насекомым тварям, вдул в ящик почти весь баллон дихлофоса, убедился, что враги из дырочки больше не идут, и нажал «Power». Тут уже можно только догадываться, в каком месте искра прошла. В результате взрыва пострадало почти всё, кроме хозяина. Тот с мелкими осколочными ранениями вместо «03» набрал мой номер и пожаловался на контузию.

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