50 серьезных ошибок в программировании и дизайне, которые стоили жизней, времени и денег. Часть 2
26. 1997, американский авианосец USS Yorktown остановился и отказался плыть дальше. Пришлось вызывать буксир. Оказалось, что программист ввел в базу один параметр как 0. Все остальные системы пытались пользоваться этой переменной, что вызывало деление на 0. Смешно, но система обновления базы тоже смотрела на этот параметр.
27. 1962 год, спутник Mariner 1 внезапно полетел совсем не в ту сторону, куда ожидалось. Центру полетов пришлось самоуничтожить его над Атлантическим океаном. Расследование показало, что формула была запрограммирована неправильно, потому как у ученого, писавшего ее на доске был плохой почерк, и программисты неправильно ее закодили :)
28. Баг в ПО Toyota вызывал внезапную остановку транспорта, что привело к смерти 89 человек. Самое интересное, что, когда начали расслеВо время расследования инцидента была проведена симуляция полета Ariane 5 с использованием другой инерциальной платформы — баг воспроизвели. Программа сбойнула точь-в-точь как в случае с реальной ракетой.
С одной стороны, причиной сбоя можно назвать оптимизацию кода, который не проверял допустимые значения для той конкретной переменной — программисты не предполагали, что число, описывающее горизонтальную скорость, может быть настолько великим.
С другой стороны, провинились и тестировщики — хоть и были произведены сотни тестов и тысячи последующих корректировок, никто не сделал полноценного анализа опорной инерциальной системы. Проблема была в том, что на Ariane 5, чья траектория полета сильно отличалась от Ariane 4, поставили навигационный софт от Ariane 4. Тот случай, когда железо проапгрейдили, а софтину обновить забыли.дование, эксперт заключил, что код у Toyota — совсем говно, разобраться нереально, и все держится на честном слове. Оказалось, что у Toyota использовалось около 350 ассемблерных функций, которые выполнялись при переключении операций, которые никак не синхронизировались. В определенных случаях это приводило к полной остановке автомобиля.
29. 5 декабря 2010 года. Российский ракетоноситель Протон-М пошел на дно океана с тремя спутниками Глонасс-М. Причина — неправильная формула, которая превысила массу одного из заправленных баков на более чем полторы тонны. Как оказалось, формула была исправлена и даже была заведена в систему как изменения, запланированные для реализации. Но когда подошли сроки — многие задания закрывали как неважные. Дозакрывались. Подумайте в следующий раз, когда таску в Jira закрываете :)
30. Один из самых известных блогеров Джошуа Браун взорвал в свое время интернет своими видеообзорами Теслы. И, конечно же, фанател от автопилота, пока в один день Тесла на полной скорости не врезалась в фуру. Джошуа погиб на месте. Как оказалось, машина с прицепом, ехавшая впереди Теслы, перестраивалась в другую полосу, от чего сбросила скорость. И тут в нее прилетела Тесла под управлением автопилота. Как выяснилось, Джошуа совершенно не следил за дорогой, а автопилот не заметил прицеп, и смешал его с небом. Тесла рекомендовала, что автопилот нужен для помощи водителям, но никак не замены их полностью.
31. Индиана, 2003 год. Инженер, который занимался поддержкой энергооборудования сети, заметил небольшую поломку. Его прям очень раздражал звуковой сигнал, которым система оповещала о проблеме. Недолго думая, инжинер отключил звук оповещения и спокойно окончил работу. Конечно же, он забыл ее включить обратно и никому не сказал. После этого дерево, упавшее на линию передач в Огайо, порвало линии электропередач, отключив и соседние регионы. Система оповещения пыталась мигать красным, но звуку не издавала. Результат? 55 миллионов человек без электричества. А ведь могли включить звук хотя бы через полчаса трезвона :)
32. 7 октября 2008 года самолет, совершавший рейс Singapore — Perth, внезапно начало трясти. На самом деле нет, но все так казалось. Через 3 часа полета внезапно отключился автопилот, и пилотов засыпало ошибками. Через 5 минут капитан корабля отключил автопилот и попытался разобраться, что же случилось. Внезапно нос самолета накренился на 8.4 градуса, от чего пассажиры в салоне, которые не были пристегнуты в тот момент, встретились головой с потолком самолета. Результат — 112 человек получили ранения.
Расследование показало, что один из процессоров, которые отвечали за обнаружение критических ситуаций, внезапно выдавал неправильно значение, вероятнее всего, из-за производственного брака, но сразу же после него выдавал верное. Система, получив неправильное значение, выставляла его как неверное, но, сразу же получив верное значение, ставила предыдущее в верное. Из-за этого самолет косплеил сериал «Крутое Пике».
33. 14 сентября, 2004 года. Без какого-либо предупреждения радиорубка управления перелетами в аэропорту Лос-Анджелеса потеряла голосовую связь с более чем 800 самолетами. Запасная система связи отвалилась через минуту после запуска.
Как оказалось, в основной системе были тики таймеров, которые начинались с самого высокого числа (2 в 32 степени). Служили они для идентификации сообщений и синхронизации. Каждое новое сообщение просто уменьшало таймер на 1. Когда же количество тиков достигло 0, оказалось, что система не может дальше продолжать отсылать сообщения. Чтобы отправить 2 в 32 степени сообщений, необходимо около 50 дней. Теперь, процедура безопасности требует перезагрузку системы каждые 30 дней :)
34. American Airlines допустили ошибку в разработке системы планирования отпусков для пилотов. Оказалось, что кто-то забыл поставить лимит на взятие отпусков в Рождественский период. Чем и воспользовались пилоты. Кому летать 15 000 запланированных перелетов — стало большим вопросом для компании, и пришлось торговаться. Каждый пилот, который вышел на работу в этот праздничный сезон, получил в полтора раза больше отпуска :)
35. Конечно же, нельзя обойти вниманием известный баг Y2K, при котором до 2000-х программисты использовали 2 цифры для обозначения года, к примеру 97 == 1997, для экономии памяти. Никто не ожидал, что компьютеры протянут так долго. В целом журналисты прогнозировали чуть ли не апокалипсис, но с помощью фиксов, а часто и говна с палками худо бедно к проблеме 2000 года мы подошли подготовленные, апокалипсис не случился, но попереживали знатно.
36. В 2011 году более 400 заключенных были освобождены раньше срока из тюрем Калифорнии вследствие ошибки в ПО. Штат пытался освободить место в тюрьмах, где его, собственно, уже не хватало. Для выбора самых неопасных преступников был запущен скрипт, который в одной из внутренних систем брал состояние дел заключенного, и по этим делам выставлял «рейтинг опасности». Так как многие из заключенных были в различных бандах или наркокартелях, информации про них было немного, от чего скрипт решал, что заключенный не опасен. Потому 450 опасных преступников были выпущены на свободу раньше срока. А мы для этого Савченко спасали! :)
37. Не баг, а раздолбайство. У меня просто истории про баги заканчиваются :) 2014 год, случай назвали Murder in the Amazon Cloud. Code Spaces была компанией, которая предоставляла разработчикам возможность создавать свои репозитории, хостить код и минимальный софт для PM.
Вся инфраструктура системы была хощена на Амазон. Нет, Cloud Space не взломали, а просто получили доступ к админке AWS. После чего начали требовать выкуп, чтоб вернуть доступ. Code Spaces постарались своими силами вернуть доступ к админке, вследствие чего захватчик начал удалять ресурсы, бакеты в S3 и так далее. Code Spaces надеялись восстановить все с бекапов, но, к сожалению, бекапы тоже управлялись все с той же консоли. От полученных травм Code Spaces так и не отошли и после не долгих разбирательств канули в Лету.
38. Студент Роберт Моррис (один из сооснователей Y-combinator и вообще достаточно известная личность) в 1988 году во время обучения в Cornell University написал программу, которая впоследствие стала известна под именем Morris Worm. Сама программа была написана, как утверждал автор, для вычисления размера интернета! Червь использовал сразу несколько дырок в Unix-системах и распространялся по сети. В черве была проверка — или система уже заражена. Но Моррис был уверен, что некоторые администраторы будут обманывать червь, всегда говоря, что система заражена, поэтому в 14% случаев червь копировал сам себя.
Моррис немного промазал, и червь начинал настолько нагружать систему, что ею стало невозможно пользоваться. 7 марта 1991 года оценка ущерба от червя составляла более чем 100 миллионов долларов. Моррис получил штраф в 10 500 долларов, 400 часов общественных работ и 3 года условки. А я еще над Януковичем смеялся.
39. Lockheed Martin F-35 Lightning II. Истребитель бомбардировщик 5-го поколения, разрекламированный 26 октября 2001 года. Машина смерти в воздухе, которая должна была быть выпущена в 2008 году и стоить всего-ничего от 40 до 50 миллионов долларов.
Шел 2018 год. Самолет F-35 был использован в бою всего лишь дважды. Система управления, запланированная самолетом, настолько сложна, что пока не очень позволяет ему стрелять, получать координаты и вообще делать хоть что-то. На данный момент осталось починить всего лишь 263 высоко приоритетных бага, и тогда уже можно приступать к лабораторным тестам. Кстати, на разработку самолета потратили уже 133 миллиарда долларов. Что вы знаете про долгострои?
40. Самый большой случай потери персональных данных — это, конечно же, взлом Equifax. Во фреймворке Apache Struts был обнаружен баг, который так же быстро был починен, а именно 6 марта. Баг привел к тому, что можно было выполнять так называемые RCE атаки (remote code execution). Сразу же после фикса хакеры начали бомбить сайты в интернете в поисках затупивших админов, которые забыли обновить версию Struts. Взлом Equifax был как раз сделан с помощью этого бага.
Но есть одно «но». Взлом был сделан в середине мая. Что приводит нас к тому, что админы Equifax за два месяца не удосужились накатить патч. На секундочку, Equifax занимались кредитной историей, а значит знали вот прям самые-самые персональные данные своих пользователей. Как взлом Equifax аукнется в ближайшие годы, еще совсем неизвестно.
41. Самый защищенный на свое время Windows NT.
42. Сингапур, 2017 год, 15 ноября. Многие слышали, что метро в Сингапуре практически полностью автоматизировано. Шутка ли — лучшая транспортная система в мире! Но 15 ноября два поезда не договорились. Вернее, баг в системе коммуникации двух поездов привел к тому, что поезд, который подъезжал к остановке, неправильно определил поезд, который на остановке, собственно, стоял. Вместо 6-вагонного поезда, он определил его как 3-вагонный и уже на замедляющейся, но все же большой скорости влетел в мирно стоящий поезд. Итог — 29 пострадавших, но хорошо, что никто не погиб.
43. Когда Steam выпустили на Linux и вы переносили папку с играми из дефолтного места, вы сильно рисковали потерять все данные из-за одного из скриптов в стиме, выполнявших команду rm -rf "$STEAMROOT/"* . Если вы переносили папку, то STEAMROOT оказывался равен пустой строчке, которая превращала все в команду rm -rf "/"* . Жертва зарепортила баг 14 января 2015 года :)
44. ВВС США вообще очень любят жить на широкую ногу. Начало 2000 года ознаменовалось тем, что был запланирован гигантский проект по разработке новой ERP системы, которая должна была заменить более чем 200 устаревших систем. И вообще сделать жизнь работников, если уж не раем, то с кисельными берегами и молочными реками.
2005 год, на разработку системы было уже потрачено более чем 1 миллиард долларов. Как раз, чтобы спикер ВВС США заявил, что с оценкой проекта немного промазали, и необходимо еще более чем 1.2 миллиарда, чтоб запилить четверть от запланированного объема, до 2020 года. Вы только вдумайтесь в горизонт планирования IT-проекта на 20 лет вперед. Промазали они, наверное, потому, что скрам не использовали :)
45. И немного о будущем! Если вы думаете, что мы пережили баг 2000 года и все дальше будет хорошо — нет :) Нас еще ждет 2038 год. Так уж случилось, что время в Unix-системах отмеряется в секундах, прошедших от 1 января 1970 года.
А именно 19 января 2038 года пройдет ровно 2 147 483 647 секунд от стартовой даты, что не влезет в обычное 32-битное число. Казалось бы, все можно починить, но вы даже не представляете, сколько в мире всего работает на легаси системах. Собственно, меньше чем через 20 лет эта проблема затронет ну очень большое количество систем, устройств и даже структур данных, которыми мы пользуемся сейчас.
46. В самолетах модели Boeing-787-Dreamliner был баг, который мог отключить подачу энергии на самолет, в независимости от фазы, в которой самолет находился. Но только после 248 дней работы. Причина — все то же 32-битное число, которое заканчивается. Именно через 248 дней будет число сантисекунд (0,01 секунды), которое не влезет в 32-битное число и приведет к полной потере управления самолетом. К счастью, данный баг был обнаружен быстрее падения первого боинга.
47. 1995 год, аэропорт Денвера представляет проект самой сложной в мире системы автоматической доставки багажа. Цена разработки системы — 200 млн долларов, время разработки — 2 года, рекламы — бесценна. Когда систему открыли, она внезапно начала вытворять с багажом такие непотребности — выкидывала багаж, выстреливала им на ленту доставки и просто зажевывала, — что ее назвали «baggage system from hell». Телевиденье и репортеры яростно смаковали картинки разодранных чемоданов, раскиданных вещей и поломанных планов на отпуск.
Доработка системы заняла 16 месяцев, что стоило аэропорту Денвера более чем 1.1 млн долларов в год. Аэропорт открылся таки в 1995 году, но багаж доставлялся старым добрым методом рабочих, мата и тележки. Часть системы все же пользовалась, но была очень дорога в эксплуатации. Ежики кололись, плакали, но продолжали заниматься любовью. По итогу, потратив 600 миллионов вместо запланированных 200, система была заброшена и отключена аж в 2005 году.
48. 2013 год, обычный парень Крис Рейнольдс, торгующий запчастями для BMW, утром 13 июня проснулся и проверил свой счет в PayPal. Всего лишь за одну ночь бедняга Крис стал в 1000 раз богаче, чем вся человеческая цивилизация. Счет PayPal показывал ему чудесную цифру в 92 квадриллиона долларов. Естественно, в PayPal быстро нашли и исправили ошибку, вернув Криса на землю, но он сыскал не абы какую популярность и был приглашен на многие телешоу! Когда же у него спросили, что бы он сделал со всеми этими деньжищами, Крис скромно ответил, что выплатил бы государственный долг :) Жаль, только виртуальными деньгами пока не принимают.
49. Незадолго до открытия пятого терминала в аэропорту Хитроу персонал тестировал новейшую систему для транспортировки больших объемов багажа, поступающего в аэропорт ежедневно. Перед открытием терминала она была тщательно протестирована на 12 000 пробных «единицах» багажа. Все испытания прошли безупречно, но в день открытия терминала оказалась, что система неработоспособна. Вероятно, причиной тому стали непредусмотренные практические ситуации. Например, пассажир мог забыть в сумке какой-то важный предмет, и багаж вручную забирали из транспортной системы. Весь процесс обработки нарушался, и система отказывала. В течение следующих десяти дней около 42 000 мест багажа не были доставлены владельцам, из-за этого пришлось отменить более 500 рейсов.
50. В 2004 году компания EDS разработала сложную компьютерную систему по выплате пособий для британского агентства помощи детям (CSA). В то же время Министерство труда и пенсионного обеспечения (DWP) приняло решение реорганизовать это агентство. Две программные системы оказались полностью несовместимы, в результате были спровоцированы необратимые ошибки. Система переплатила 1,9 миллионам человек и недоплатила семистам тысячам. В итоге накопилось 7 миллиардов долларов, не попавших на социальные счета, 239 000 нерассмотренных дел, 36 000 новых дел, «застрявших» в системе. Все эти ошибки обошлись британским налогоплательщикам в сумму более 1 миллиарда долларов.
51. Расскажу вам байку из своего опыта. В году так 2009-м писал я с командой софт для управления сетевыми устройствами. Когда я говорю про управление — это скачивание конфигурационного файла, допустим, с роутера, изменение его и закачка обратно.
Так работало большинство устройств, но некоторые настраивались через так называемые MIB деревья, или же просто через меню по SSH соединению. Так вот, чтобы что-то менять в устройствах по SSH, мы посылали команды: стрелка вниз, вверх, энтер. Прям как комбинации в Mortal Combat.
Цель, конечно же, была — добраться до пункта меню: скачать файл. Собственно, комбинации подгружались с шаблонов команд в зависимости от модели сетевого устройства. Итак, история :) Пишет нам заказчик: «Я администратор в аэропорту. Пользуюсь вашим софтом и пытаюсь настроить один роутер. Но когда я пытаюсь скачать конфиг, ваше приложение перегружает главный роутер, и весь терминал аэропорта погружается в интернет-тьму. И даже пропадает связь с самолетами...». Суть до дела, был неправильный конфиг :) Но, к счастью, обошлось без жертв. Пронесло!
50 серьезных ошибок в программировании и дизайне, которые стоили жизней, времени и денег. Часть 1
Когда-то я заинтересовался вопросом ответственности в IT. К финансовым потерям мы уже привыкли. Не проданный продукт, ошибка в расчете и недовольный клиент — это те последствия, о которых мы в курсе. Но что, если наши ошибки приведут к непоправимым последствиям. Я несколько раз читал лекции на тему ошибок в программировании, которые привели к человеческим жертвам.
1. Элаи Херцберг попала в историю как первый человек, который погиб под колесами беспилотного автомобиля. Весной 2018 года в темное время суток машина Uber засекла преграду. В начале она подумала, что это мусор, потом — что животное, и только за пару метров поняла, что это человек.
К сожалению, машина не успела затормозить, что привело к смерти человека. Тестирование проходило на модифицированной Volvo XC90, у которой была отключена система экстренного торможения, чтобы не мешать ПО Uber управлять машиной. Не может быть два короля в одном королевстве. Задача тормозить в экстренных случаях была возложена на плечи водителя, который страховал автопилот. Он же в это время смотрел Netflix.
2. Аппарат Therac-25 стал самым резонансным случаем в истории программирования для медицинских девайсов. В силу ошибки race condition, при быстром переключении между магнитным и рентгеновским режимами работы девайса заслонка для рентгеновских лучей не успевала установиться. Из-за этого у 10 пациентов диагностировали лучевую болезнь, что привело к смерти или ампутации пораженных частей тела.
3. 25 февраля 1991 года установка ПВО Patriot не смогла перехватить ракету, пущенную со стороны сил Саддама Хусейна. Ракета попала в барак солдат США, что привело к 28 смертям. Расследование показало, что 24-битные процессоры перехватчика при переводе времени совершают ошибку в 0.013 секунды каждый час. Patriot не перезагружали более 100 часов, что привело к ошибкам вычисления положения ракеты на 600 метров. Вот уж где перезагрузка спасла бы жизни.
4. В 2016 году актер Антон Ельчин был раздавлен собственной машиной при въезде домой. Антон многим запомнился как актер, сыгравший навигатора Чехова в полнометражках «Start Trek». Причиной смерти послужил не интуитивный дизайн ручки передач, представленный Jeep в новых моделях машин.
В отличие от стандартных ручек передач, где положение ручки показывает режим работы двигателя, у новых ручек местоположение выбиралось скорее как рычажок в меню. Антон вместо паркинга выбрал нейтральное положение, от чего машина скатилась и задавила невнимательного хозяина.
5. В 1992 году ошибки системы распределения маршрутов в Лондонской скорой помощи привели к смерти 30-45 человек (разброс большой, потому что не ясно, смогла бы скорая спасти того или иного человека). Все произошло, когда в Лондоне решили заменить людей операторов на компьютерную систему.
В результате система была введена в эксплуатацию без нагрузочного тестирования и с 81! известным багом. Добавьте к этому еще и то, что интегратор решил сэкономить и купил дешевое оборудование, которое сломалось через пару часов после активного пользования системой. Хаос был настолько безумным, что бывали случаи, когда человек, не дождавшись скорой, умирал, его увозили в морг, и только тогда приезжала скорая.
6. 1979 год. Пенсильвания чуть не стала еще одним Чернобылем, и это самый большой прецедент в истории атомной энергетики США. Внешний дизайн датчиков системы там был очень плохо продуман и был расположен по кругу комнаты. Смена, которая следила за состоянием, не заметила всех показателей, которые указывали на то, что есть утечка, и значение температуры реактора приблизилось к критическому значению. Ситуацию спасла следующая смена, которая выходила на вахту и начинала считывать показания датчиков.
Чтоб считать показатели, надо было пройти по круглой комнате и отдельно смотреть на каждый показатель во многих разных местах. Утечку нашли, реактор отключили, но еще 14 лет проводили работы по очищению территории. Это стало поводом огромных протестных митингов и очень поменяло общественное мнение про «мирный атом».
7. 1992 год, самолет под управлением опытной команды потерпел крушение возле Страсбурга. 87 из 92 человек погибли. Анализ черного ящика показал, что опытные пилоты перепутали настройки автопилота: угол и скорость снижения.
Дизайнер приборной панели очень стремился сэкономить место и расположил эти два индикатора друг возле друга. При том, что даже не смотря на то, что единицы измерения совершенно разные (пилоты хотели задать 3.3 градуса спуска, а задали 3300 футов в минуту). Но для экономии места оба показателя показывались как 3.3. Кому в голову придет показывать 3300 как 33?
8. Моя любимая история. Станислав Петров в 1983 году спас мир, не сделав ничего. Во время разгара холодной войны между США и СССР он служил в штабе антиракетной обороны. Так как две страны обладали атомным оружием, между ними была заключена доктрина взаимного гарантированного уничтожения. Это значило, что как только одна ракета полетит со стороны одной страны в другую, другая может ответить, как хочет. Грубо говоря — начало третьей мировой.
Станислав Петров в 1983 году как раз наблюдал за системой раннего обнаружения ракетного удара. И как же он удивился, когда увидел на экране 5 ракет, которые летели со стороны США в сторону СССР. По всем правилам Петров должен был отдать указания полномасштабного ракетного удара по США. Но, как он сказал: «У него была чуйка». Он предположил, что нападать на СССР всего лишь 5 ракетами — не логично, и решил подождать. Внезапно ракеты пропали, он сделал рапорт.
Расследование определило, что эти 5 ракет — edge case того, как лучи солнца падают на спутник на орбите Молния. Таким образом, Петров, не сделав ничего, подарил нам с вами мир, в котором мы живем. Хотя злые языки говорят, что он тогда был в стельку пьян. Но это не отменяет того, что даже будучи пьяным, ты можешь спасти миллиарды людей.
9. Пациентка Jenny (имя заменено в отчетах) погибла от обезвоживания после химиотерапии. Причина оказалась до ужаса идиотской. Дизайн медицинской системы был настолько плох, что опытные медсестры просто не заметили пункта, который говорил, что для этого пациента необходимо вводить дополнительные элементы сразу после операции.
10. Шестеро велосипедистов сошли с дистанции гонки в Осло в 2014 году. Оказалось, что велосипедисты выпили жидкость для мытья пола, решив, что это энергетик. Дизайн упаковки тоже имеет значение.
11. Два солдата армии США погибли во время учений артиллерийских подразделений. Солдаты понадеялись на данные тактической системы, но не знали, что, если не задать высоту цели — система считает ее равной 0. Вот тебе и рокетджамп.
12. 1994 год, борт авиакомпании China Airlines потерпел крушение и унес жизни более чем 250 человек. При приземлении второй пилот случайно включил автопилот, который начал вносить коррективы в действия пилотов. При снижении пилоты заметили это и смогли выключить автопилот, но, к сожалению, рассинхронизация действий людей и автопилота привела к крушению. При расследовании также была найдена ошибка, патч для которой уже был написан. Борт, потерпевший крушение, был запланирован на апдейт системы сразу после окончания рейса, который, к сожалению, так и не закончился удачно.
13. Knight Capital в свое время перепутали деплои и вместо тестового енва задеплоили новую версию на продакшен. Система думала, что тратятся виртуальные доллары, а на самом деле Knight потеряла 460 миллионов долларов за 45 минут. Скидывались на спасение Knight всем селом.
14. 2015 год, грузовой самолет испанских военно-воздушных сил потерпел крушение около Севильи. Авария была вызвана ошибкой ПО и унесла жизни 4 человек. Airbus после этого случая отозвала все самолеты A400 на проверку. Проблема заключалась в новой версии софта по контролю топлива в двигателях. Система подавала топливо, но очень медленно, от чего 3 из 4 двигателей отключились.
15. 1998 год, один из спутников Nasa, отправленный на Марс, достиг орбиты красной планеты и взорвался. Была ошибка в двух модулях ПО спутника: один ждал данные в метрической системе, а другой отдавал в имперской :) Не додебажили на 327 лямов.
16. Как рассказывает SIG, один из самолетов F-14 разбился вследствие того, что случилась системная ошибка, но программист не обернул ее в catch. Это привело к полному отключению бортового компьютера. Пилот катапультировался, но самолет, конечно же, не спасли.
17. Кибервойна, или взрыв, который было видно из космоса. В 1982 ЦРУ внедрило шпиона в канадскую фирму по разработке софта для газопроводных систем, потому как знало, что этот софт будет использован СССР. Программист-шпион написал методы, из-за которых в 1982 году газопроводная труба взорвалась так сильно, что взрыв можно было наблюдать из космоса. К счастью, никто кроме оленей не пострадал.
18. Новая, в 1996 году, ракета Ariane 5, разработка которой стоила около 8! миллиардов долларов, должна была вывести на орбиту несколько спутников и другое оборудование. Полет ракеты завершился через 4 секунды после взлета. Она взорвалась. Один из модулей системы попытался сконвертировать 64-битное число в 16-битное. Оно оказалось больше, чем влезало в память, и модуль завалился. Но ведь есть дублирующий модуль, которому было передано управление! На нем была та же версия ПО, которая попытался сделать то же самое. Результат — самоликвидация и горящие осколки на площади в 12 км2 на потеху зрителям. Во время расследования инцидента была проведена симуляция полета Ariane 5 с использованием другой инерциальной платформы — баг воспроизвели. Программа сбойнула точь-в-точь как в случае с реальной ракетой.
С одной стороны, причиной сбоя можно назвать оптимизацию кода, который не проверял допустимые значения для той конкретной переменной — программисты не предполагали, что число, описывающее горизонтальную скорость, может быть настолько великим.
С другой стороны, провинились и тестировщики — хоть и были произведены сотни тестов и тысячи последующих корректировок, никто не сделал полноценного анализа опорной инерциальной системы. Проблема была в том, что на Ariane 5, чья траектория полета сильно отличалась от Ariane 4, поставили навигационный софт от Ariane 4. Тот случай, когда железо проапгрейдили, а софтину обновить забыли.
19. Ночь живых мертвецов. 2003 год, St. Mary’s Mercy Hospital. Из-за ошибки случайно «убило» все 8500 пациентов. Система была умна, и как только пациент умирает — она сразу оповещает все службы: от полиции до страховой. Не странно, что все немного перепугались от внезапной масакры.
20. 1982 год, миноносец морских сил Великобритании был поражен ракетой, выпущенной из аргентинского самолета. Противоракетная система не сработала, погибло 28 человек. Во время постройки миноносца произошел взрыв и погибло два строителя. Поврежденная часть корабля была заменена частью с идентичного аргентинского корабля. Когда система обнаружила ракету, она провела проверку на свой-чужой. А так как замененная часть корабля была аргентинская, ракета была определена как своя. Кэш — это не шутки :) Противоракетная оборона не сработала, потому как ожидала, что ракета пролетит. Но нет.
21. 1994 год, вертолет модели Chinook разбился, даже не смотря на управление очень опытным пилотом. Погибли 29 человек. Расследование очень долго пыталось скинуть всю вину на пилота, но в результате были найдены ошибки в системе управления двигателями. Также были проблемы в работе датчика высоты с одновременно включенным радио вертолета. А мне не верили, что в Samsung компанс со спотифай не работает :)
22. Панама-Сити, докторам радиологам доставили новое медицинское оборудование, которое позволяло выставлять 4 блока, защищающие человека от радиации, и делать очень точные снимки. Система разрешала использовать не более 4 блоков, но доктора решили, что могут обмануть систему, если совмещать 5 блоков, с дыркой посередине. Но только никто не сказал медикам, что в зависимости от того, в какую фигуру складываются блоки — такой силы луч используется для снимков. Как результат — 10 смертей и 19 человек получили сильнейшее отравление радиацией.
23. Новейший в свое время самолет F-18 «превращался в тыкву» для системы, когда пересекал зону смены часового пояса с разницей в день (к примеру, полет с Гаваев в Японию). Система не рассчитывала, что может попасть в прошлое, потому 127-миллионный самолет мог упасть в любой момент. Благо, помогал reset.
24. Фобос-1, спутник СССР, был направлен на изучение Марса. В 1988 году неправильная команда, запущенная с Земли, активировала тестирующий код, который никогда не должен был бы выполниться. Это привело к тому, что спутник потерял возможность ориентироваться в космосе. У него села батарея, и он был навсегда утерян. Смешно то, что тестирующий код оказался там из-за спешки, но программисты заверили, что он никогда не выполнится. Выполнился.
25. День, когда AT&T остановился. 1990 год, новый патч для свичей AT&T. Естественно, компания не может апдейтить сразу все свичи, иначе вся сеть упадет. Потому по новой версии софта, один из свичей в Нью-Йорке начал процедуру апдейта и отправил всем ближним сообщение об этом. После апдейта загрузился и сообщил, что на месте. Так уж получилось, что, получив второе сообщение от свича из Нью-Йорка, другие свичи начинали процедуру self-testа, о чем сообщали ближайшим свичам, и отключались. При включении делали то же самое. Вся сеть AT&T каскадом завалилась на 8 часов, отключая своих пользователей от телефонов, и не имея возможности обработать запросы.
Cursor купить подписку в России: cursor AI цена и оплата подписки в 2026 году
Как оплатить Cursor AI в России: стоимость подписки в 2026 году, какую подписку выбрать для генерации и редактирования кода, работы с проектами и agent-задач. Почему купить подписку курсор не получается и как избежать ошибок при оплате.
В 2026 году подписка Cursor AI стала рабочим инструментом не только для разработчиков, но и для тех, кто пишет код в рамках учёбы, стартапов и продуктовой разработки. Запросы купить cursor и оплатить курсор чаще всего возникают в момент активной работы, когда доступ к агентным функциям, автодополнению и проектному контексту нужен сразу, без пауз и ограничений.
Основная проблема при попытке cursor купить подписку в России — не выбор тарифа, а сам процесс оплаты. Пользователи сталкиваются с отказами, зависшими платежами и ситуацией, когда списание проходит, но курсор подписка не применяется к аккаунту. Это особенно критично, когда Cursor используется для ежедневной разработки, подготовки заданий, рефакторинга кода или работы с большими проектами.
В этой статье разберёмся, как купить подписку курсор AI в 2026 году без отказов, сколько стоит cursor подписка на год, и какую подписку выбрать для задач, где важны скорость и контекст: автогенерации кода, рефакторинга и точечных правок по проекту с помощью agent-режима — и как безопасно оплатить курсор, чтобы доступ применился к аккаунту с первого раза.
Cursor купить подписку: почему оплата из России напрямую не проходит
При попытке купить подписку Cursor AI напрямую пользователи из России чаще всего сталкиваются не с ошибкой аккаунта, а с ограничениями на стороне платёжной инфраструктуры. Даже если карта принимается формально, платёж может быть отклонён уже на этапе подтверждения или не примениться к подписке после списания.
Дополнительный риск — задержка между оплатой и активацией тарифа. В момент работы с agent-режимом это выглядит как отказ: деньги списались, а доступ к расширенным функциям автогенерации и правок кода так и не появился. Именно поэтому прямую оплату Cursor из России нельзя считать предсказуемым способом, особенно когда подписка нужна здесь и сейчас для работы или учёбы.
Именно поэтому уже на этапе бесплатного лимита у многих появляется практичный вопрос: где купить подписку курсор быстро и без отказов, и какие безопасные способы оплатить курсор из России позволяют сразу получить доступ к подписке без сбоев и повторных попыток.
Рабочие способы купить Cursor из России быстро и надёжно
В 2026 году запрос купить подписку курсор чаще всего упирается не в выбор тарифа, а в то, чтобы оплата прошла с первого раза и подписка сразу активировалась.
Самый стабильный способ для тех, кому нужно cursor купить подписку быстро — оформление через сервис-посредник Oplatym. Платёж проводится один раз, есть поддержка по процессу, а активация cursor подписки обычно проходит без дополнительных проверок и повторных отказов.
Если у вас уже есть виртуальная международная карта, ей тоже можно оплатить cursor ai в России, но это вариант для тех, кто готов разбираться. Здесь больше шагов, и финальная стоимость cursor ai может отличаться от ожиданий из-за конвертации и комиссий, поэтому важнее заранее смотреть итог к оплате. Оплата через друзей или коллег за рубежом — рабочая опция, когда нужно купить подписку курсор разово, но как постоянное решение она менее удобна из-за зависимости от другого человека и необходимости повторять платёж.
Как купить подписку Cursor через Oplatym: пошаговая инструкция
После ограничений на международные платежи многие пользователи ищут, как оплатить cursor ai в России так, чтобы подписка активировалась сразу и без серии попыток. В таких сценариях Oplatym помогает провести оплату в рублях и сопровождает оформление на каждом этапе.
Перейдите на сайт Oplatym и обратитесь в поддержку/к менеджеру.
Уточните задачу: вам нужно cursor купить подписку, и назовите выбранный план (cursor подписка на год или месяц).
Получите расчёт: вам сообщат итоговую сумму к оплате с учётом тарифа и комиссии.
Оплатите заказ в рублях удобным способом и дождитесь подтверждения.
Далее выбирается формат оформления покупки — в зависимости от того, как вам удобнее провести оплату:
прямая оплата по ссылке
Самый быстрый путь, когда цель — купить cursor и получить активную курсор подписку без дополнительных действий со своей стороны.оплата через виртуальную международную карту
Вам предоставляют реквизиты виртуальной карты иностранного банка, и вы самостоятельно проводите оплату на стороне Cursor.
Оплатить курсор самостоятельно с виртуальной картой
Виртуальная международная карта подходит тем, кто хочет купить cursor и дальше продлевать доступ самостоятельно, без привязки к посредникам. Когда прямой платёж российской картой не проходит, этот вариант часто становится практичным способом решить задачу, как оплатить cursor ai в России, сохраняя контроль над оплатой на своей стороне.
Обычно схема выглядит так: вы оформляете виртуальную карту у международного провайдера, пополняете её в нужной валюте и используете реквизиты при оформлении тарифа в Cursor. После успешной транзакции выбранный план отображается в профиле, и становится доступна оплата подписки без повторных попыток.
Важно учитывать, что этот путь требует больше шагов и внимательности к биллингу. Итоговая стоимость cursor ai на месяц или подписки на год может отличаться из-за конвертации и комиссии провайдера, поэтому перед оплатой стоит ориентироваться на финальную сумму списания. Вариант удобен тем, кто готов один раз настроить процесс и дальше понимать, как оплатить курсор предсказуемо и без лишних отказов.
Как оплатить курсор из России с помощью друзей за границей
Если собственной международной карты нет, помощь знакомого или родственника за рубежом остаётся понятным способом решить вопрос, как оплатить cursor ai в россии без выпуска дополнительных платёжных инструментов. Вы заранее выбираете тариф и срок, передаёте данные, необходимые для оформления, а человек за границей оплачивает подписку своей картой на стороне Cursor. После успешной оплаты в аккаунте появляется активная cursor подписка, и доступ к функциям становится доступен сразу.
Этот подход удобен, когда нужно разово закрыть задачу cursor купить подписку и не тратить время на оформление виртуальной карты. Но важно учитывать, что для продления придётся повторять тот же сценарий. Поэтому способ чаще подходит как разовое решение, когда нужно быстро купить подписку курсор.
Cursor подписка на год: цена в 2026 году и где купить
В 2026 году большинство пользователей начинают с помесячных тарифов Cursor: так проще протестировать сервис в реальных задачах и понять, насколько он вписывается в рабочий процесс. Актуальные планы выглядят так: Pro — $20 в месяц, Pro+ — $60 в месяц, Ultra — $200 в месяц. Для повседневной разработки, автогенерации и правок кода в agent-режиме чаще всего достаточно уровня Pro — поэтому его и выбирают как базовый вариант, когда нужна стабильная cursor pro подписка без переплаты за максимальные лимиты.
При этом у сервиса есть и cursor подписка на год, которая экономичнее в пересчёте на месяц. Для Pro годовая оплата даёт эквивалент около $16 в месяц, поэтому вариант особенно выгоден тем, кто использует Cursor для работы каждый день и не хочет каждый месяц возвращаться к вопросу, где купить и как оплатить подписку без отказов.
Если нужно закрыть задачу надолго, удобнее купить подписку курсор сразу на год и оплатить один раз. Через Oplatym можно оформить оплату из России одним платежом, чтобы годовая подписка активировалась в аккаунте без повторных попыток и ежемесячных продлений.
Cursor подписка для генерации и редактирования кода: какой план выбрать
Если Cursor нужен прежде всего для автогенерации кода, правок и рефакторинга, без сложных цепочек действий, в большинстве случаев хватает базового платного тарифа. Такой сценарий типичен для повседневной разработки, обучения программированию и работы с небольшими или средними проектами, где важны скорость и контекст, а не максимальные лимиты.
В этом случае оптимальным выбором становится cursor pro подписка. Он закрывает задачи генерации функций, исправления ошибок, переписывания кода и работы с контекстом проекта без постоянных ограничений. Именно поэтому при запросе купить cursor чаще всего выбирают этот вариант — он даёт стабильный рабочий инструмент без переплаты за избыточные возможности.
Cursor подписка для работы с проектами и agent-задач: какой тариф подходит
Когда Cursor используется как полноценный рабочий инструмент, важна не только генерация кода, но и способность уверенно работать с проектом целиком. В agent-режиме это обычно выглядит так: вы ставите задачу, а курсор помогает пройти цепочку действий — найти нужные места в кодовой базе, предложить правки, подготовить изменения и довести результат до рабочего состояния.
Для активной ежедневной работы чаще выбирают Pro+. Он подходит, если вы регулярно запускаете agent-задачи, ведёте несколько веток или проектов и хотите, чтобы лимитов хватало на рабочий день без компромиссов. А Ultra имеет смысл, когда нагрузка постоянно высокая: Cursor нужен как основной инструмент в коммерческой разработке, и вы хотите максимальный запас по использованию и самый стабильный режим без оглядки на объём задач.
Cursor подписка: чем отличается от других AI-редакторов кода в 2026 году
В 2026 году Cursor покупают не как очередной AI в редакторе, а из-за практической разницы в работе. Подписка нужна тем, кто хочет быстрее проходить задачи по проекту и получать предсказуемые правки без лишней ручной рутины. Именно поэтому запрос купить cursor чаще возникает у тех, кто пишет код регулярно и не готов тратить время на повторные итерации.
Agent-workflow. Cursor ценят за цепочки действий по задаче, а не за разовые ответы: пройтись по проекту, предложить правки и довести изменение до результата.
Контекст проекта. Инструмент ориентируется на кодовую базу целиком, поэтому правки лучше ложатся в структуру и связи модулей.
Быстрые правки в редакторе. Генерация, рефакторинг и уточнения происходят в рабочем процессе, без переключений между разными сервисами.
Регулярные обновления. Улучшаются агентные режимы, стабильность и качество внесения изменений, включая работу с диффами.
Понятная ценность подписки. Подписка даёт доступ к режимам и объёму использования, которые превращают AI в инструмент для ежедневной разработки.
Как оплатить cursor ai в России безопасно: что учитывать при выборе способа
В 2026 году при оплате важно оценивать не только сумму, но и предсказуемость результата. Пользователи ищут, как купить подписку курсор в России, чтобы подписка подключилась к аккаунту сразу, без повторных попыток и ситуаций, когда платёж прошёл, а доступ не появился. Самый безопасный подход — выбирать способы, где понятны этапы оплаты, подтверждение и логика активации.
На практике для этого чаще используют проверенные сервисы-посредники, такие как Oplatym, где платёж проводится один раз и есть поддержка на этапе оформления. Альтернативные варианты тоже могут быть рабочими, но обычно требуют больше шагов и внимательности к деталям биллинга, особенно если цель — оплатить курсор без риска отказа или зависшей операции.
FAQ: оплата Cursor и выбор подписки в 2026 году
Можно оплатить курсор российской картой в 2026 году?
Чаще всего прямая оплата российской картой не проходит или даёт нестабильный результат. Поэтому, если нужно оплатить без серии попыток, обычно выбирают альтернативные способы с предсказуемой оплатой.
Какая cursor подписка мне нужна, если я только начинаю изучать сервис?
Если вы только знакомитесь с Cursor, начните с базового сценария: протестируйте возможности на своих задачах, а для регулярной работы чаще всего выбирают Pro, чтобы не упираться в ограничения и комфортно генерировать и редактировать код.
Cursor купить подписку без отказов платежа возможно?
Да, если изначально выбирать способ оплаты, который рассчитан на оплату из России и даёт понятную схему подтверждения. На практике наиболее предсказуемый вариант — оформить оплату через Oplatym и получить подписку с применением к аккаунту без повторных попыток.
Как оплатить cursor ai в России?
Рабочие варианты обычно сводятся к двум сценариям: оплата через сервис-посредник или оплата виртуальной международной картой. Выбор зависит от того, нужен ли быстрый результат с минимумом шагов или вы готовы настраивать процесс самостоятельно.
Сколько стоит cursor pro подписка на год?
Годовой вариант обычно выгоднее в пересчёте на месяц: для Pro это около $16 в месяц, если оплачивать сразу за год. Итоговая сумма зависит от условий оплаты и конвертации, поэтому ориентируйтесь на финальную стоимость при оформлении.
Заключение:
В 2026 году задача купить cursor обычно упирается не в выбор тарифа, а в то, чтобы оплатить курсор без отказов и сразу получить активную cursor подписку. Прямая оплата из России часто срывается, поэтому важно заранее выбрать способ, который даёт предсказуемый результат и не требует серии повторных попыток.
Если вы только начинаете, проще стартовать с базового сценария и понять нагрузку. Для регулярной разработки и ежедневных задач чаще выбирают Pro, а при высокой интенсивности и частых agent-задачах логично рассматривать Pro+ или Ultra. Когда вы определились с планом, следующий шаг — cursor купить подписку так, чтобы покупка применилась к аккаунту корректно.
На практике, если нужен быстрый и стабильный вариант, чтобы как оплатить cursor ai в России решилось с первого раза, подписку оформляют через Oplatym и закрывают вопрос оплаты одним платежом. Выберите подходящий тариф, проверьте итоговую стоимость и купить подписку курсор лучше сразу тем способом, который экономит время и позволяет вернуться к работе, а не к попыткам оплаты.
Реклама ИП Картамышев Артур Алексеевич, ИНН: 502423400222













