Этот неловкий момент: 7 самых смешных багов Статьи редакции

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

Находка для шпиона

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

Туфли — мясо — кардиган

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

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

Онлайн-торговля — это сложно

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

На заре становления интернет-магазинов в одном из них можно было вписать в графе «Количество товара» значение 0,1, что давало покупателю скидку в 90% (стоимость товара умножалась на те самые 0,1). В другом для хранения аутентификационных данных использовался файл cookie, в котором можно было сменить ID и совершать покупки от чужого лица.

Вверх тормашками

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

Don't be evil

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

Чувак, не парься

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

Вирус-неудачник

В 1991 году программист столкнулся с вирусом Sunday, который модифицирует исполняемый файл и в последний день недели запускается, чтобы уничтожить данные на диске. По какой-то причине этого не произошло, и программист решил разобраться — написал тестовый EXE-файл, скормил его вирусу и посмотрел, что будет. Оказалось, что авторы вируса при его разработке сделали так, что он должен запускаться в день номер 7, а нумерация дней идёт от 0 до 6, так что переменная никогда не принимала нужного значения.

0
16 комментариев
Популярные
По порядку
Написать комментарий...
Валерия Григорьева

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

Ответить
13
Развернуть ветку
Oleksandr Fisun

Валерия, я думаю, что Вы рассуждаете о банковских операциях с сегодняшней точки зрения.
А представьте, как работал процессинг в 1995 году, когда amazon запустили свой сайт?
Да еще и в Америке?
Возможно, тогда достаточно было указать отрицательную сумму и вместо получения денег со счета происходило списание.
¯\_(ツ)_/¯

Ответить
3
Развернуть ветку
Sergey Burma

Да очень просто, достаточно сделать чтобы поле "сумма" было знаковым и не делать проверки на знак.

Ответить
0
Развернуть ветку
Валерия Григорьева

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

Ответить
0
Развернуть ветку
Sergey Burma

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

Ответить
0
Развернуть ветку
Konstantin

Это все так, если есть какой-то баланс, который хранится в вашей базе. Если оплата идет с карты, то там сумма не "просто отнимается от баланса", а запускается банковская транзакция. И эти транзакции для снятия и пополнения совсем разные, а не просто знаком отличаются.

Ответить
0
Развернуть ветку
Timur Minulin

С беспилотниками было не так.
С ними было целых три истории, через экватор дном к верху, над мертвым морем дном кверху (вот тут как раз отрицательной стала высота) и - мое любимое - до линии смены дат и обратно.

Ответить
5
Развернуть ветку
Konstantin

C ibash.org.ru:
exLEND: я в школьном возрасте писал "вирус" который стирает последние несколько файлов на диске периодически. расчёт был на сейвы и геймеров.
exLEND: ну, ты догадываешься, что произошло. до релиза так и не дошло

Ответить
5
Развернуть ветку
Natalya Rukol

Про амазон не фейк, известная фишка, много где разбиралась.

Про кнопки-удалялки тоже не фейк, до сих пор такое встречается, когда кнопки реализованы через GET-запросы без подтверждений, а индексаторы как раз и дёргают все эти GET-запросы.

Ответить
4
Развернуть ветку
Praetorian

Второй сюжет стал уже своего рода легендой среди сотрудников службы техподдержки Motorola и, говорят, вошел в программу учебного курса по микроконтроллерам этой компании. Все, наверное, знают, что Motorola является одним из главных поставщиков радиоэлектронного оборудования для военно-промышленного комплекса США. Представляющая же для нас интерес история произошла в Израиле во время тестовых полетов новых по тем временам истребителей F-16. Самолет делал облет местности на низкой высоте, и, когда машина приближалась к акватории Мертвого моря, бортовая навигационная система неожиданно перезагрузилась. Сильно озадаченный пилот посадил машину. Штаб испытаний тут же связался с фирмой-изготовителем и потребовал срочно прислать специалистов.

"Скорая помощь" примчалась незамедлительно, но понять, в чем дело, сразу не смогла. Все наземные тесты проходили прекрасно, однако как только самолет поднимался в воздух, система перезагружалась. Пилоты начали нервничать, поскольку обстановка на границах Израиля неспокойная, а летать с неисправным навигационным оборудованием вдоль границ, за которыми то и дело появляются люди с ракетами "земля-воздух", готовыми долбануть по всему, что движется, - занятие не из приятных… И тут, наконец, один из специалистов-электронщиков все-таки разгрыз орешек. Уровень Мертвого моря находится на 400 метров ниже уровня мирового океана. И всякий раз, когда курс F-16 пересекал уровень вод мирового океана, бортовая навигационная система выполняла операцию деления на ноль, из-за этого обрушивалась и делала аварийную перезагрузку.

Ответить
3
Развернуть ветку
Alisher Elmuradov

С Google ботом, который "нажал" все ссылки тоже весело. Откройте доступ в админку ЦП ботуЮ будет ли он "нажимать" на все ссылки и публиковать пустые материалы (или что-то типо того)?

Ответить
–3
Развернуть ветку
Александр Чебукин

Публиковать пустые - нет, для этого как правило нужно отправить форму POST-ом. А вот если удаление сделать GET-запросом и проставить соответствующие ссылки, то такое вполне реально.

Ответить
5
Развернуть ветку
Александр Потанин

Будет, если админка написана так, что при заходе по ссылке сразу выполняется действие.

Ответить
1
Развернуть ветку
Andrew Bashtannik

Встречалась мне такая админка. Раз в месяц бот алексии стабильно вытирал все новости просто инкрементируя ID.

Ответить
2
Развернуть ветку
Andrew Bashtannik

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

Ответить
0
Развернуть ветку
Константин Панфилов

Врёт?

Ответить
6
Развернуть ветку

Комментарий удален

Развернуть ветку

Комментарий удален

Развернуть ветку

Комментарий удален

Развернуть ветку

Комментарий удален

Развернуть ветку

Комментарий удален

Развернуть ветку
Читать все 16 комментариев
Как снизить стоимость за установку приложения с помощью тестирования креатива: кейс Joom и Aitarget Tech

Может ли цвет креатива или расположение цены влиять на стоимость установки приложения? Эти и другие гипотезы платформа Aitarget Tech позволяет тестировать для Joom, одного из крупнейших маркетплейсов в Европе и Азии. Делимся результатами тестирования гипотез и рассказываем о подходе, который позволяет автоматизировать процесс.

Концепт: как выглядели бы логотипы известных компаний в стиле Средневековья Статьи редакции

Burger King, Audi, Twitter, Starbucks и другие.

Как оценивать дизайн: Метод 3К, ч. 1

Раскладываем процесс оценки разрабатываемого дизайна на систему вопросов.

Кейс: запустить шрифт для дислексиков и увеличить количество скачиваний приложения на 70%

Зачем — рассказывают дизайнер, логопед и агентство.

«Альфа-Банк» выдает кредиты онлайн-мошенникам без должной идентификации клиентов и отказывается аннулировать договор
Как и почему люди сбегают с работы в первый день — опыт сообщества vc.ru Статьи редакции

Но иногда работодатели и сами ведут себя некорректно.

«Эталон» требует доплаты в 300 тысяч после оформления ДДУ и выдачи ипотеки из-за ошибки в их калькуляторе

Добрый день!

Возникла неприятная ситуация с застройщиком «Эталон». В ноябре 2021 года было принято решение приобрести квартиру в жилом комплекте от застройщика «Эталон», обратилась напрямую в отдел продаж, без агентов и риэлторов. Процесс выбора несколько затянулся т.к. предложенные изначально варианты не устраивали по планировке или цене, к концу…
Московский акселератор – короткий путь к мечте!

У нас отличная новость: стартовала постакселерационная программа для участников треков AI Factory, T&M, Digital health, ArchTech. И он отличается от тех постакселераторов, какие были до этого. Чем? Сейчас расскажем.

Инвестиции в IPO: научно доказанный способ зарабатывать 18% в день, или как акулы Уолл-стрит наживаются на Цукербергах

Профильные Телеграм-каналы и брокеры уверяют, что на вложениях в IPO легко получать по 100% годовых, и даже больше. В этой статье я разбираю, почему ученые-финансисты в чем-то склонны с ними согласиться — и кто на самом деле зарабатывает огромные деньги на IPO (спойлер: скорее всего, это будете не вы).

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

С 2014 года мы слышим о возможном отключении России от системы SWIFT. В последние недели эти разговоры все чаще звучат в медиа и серьезно влияют на настроения в банковской среде. CBDO Банка 131 Анна Кузьмина рассказала, почему блокировка SWIFT в России не смертельный сценарий, и какие санкции против банков на самом деле вызывают беспокойство.

ЦБ выступил против предложений Минфина о регулировании криптовалют Статьи редакции

Подход Минфина угрожает появлением «параллельной финансовой системы», считает регулятор.

null