Ariane-5G - как потерять миллионы всего за 40 секунд. Компьютер убийца.

2024 ж. 1 Мам.
166 917 Рет қаралды

Привет друзья. В этом видео мы расскажем историю ещё одного компьютера убийцы, на этот раз ошибка в коде уничтожила только технику. Но вот стоимость этой аварии была просто огромной.
- Заходите в наш магазин и покупайте DIY-электронику, а также все для 3-д печати! У нас нет донатов и это реальный способ поддержать канал, чтобы мы и дальше радовали вас новыми видосами!
amperka.ru/?...
Краткое содержание:
00:00 Интро
00:42 Ariane-5
01:38 Запуск Ariane-5
02:27 Расследование аварии
04:04 Виды ИНС
06:36 Хитрости предстартовой подготовки
07:45 Навигация в новой ракете
08:17 Где спряталась ошибка
09:59 Повторяем ошибку на современной системе
11:04 Выводы
Музыка:
filmmusic.io/song/6838-darkties
filmmusic.io/song/7412-cyborg...
filmmusic.io/song/6866-pumpki...
filmmusic.io/song/5717-terrib...
filmmusic.io/song/4656-flower...

Пікірлер
  • Проц с ядром: - системная ошибка, оверхед пула, кернел паник! Помогите! Логгер: - я просто запишу это, ок

    @flibustieros@flibustieros2 жыл бұрын
    • Логгер: чувак с камерой из мемов

      @deeznucz8639@deeznucz86392 жыл бұрын
    • У логгера так то больше и нет задач, кроме как записывания состояния машины

      @wentysss@wentysss2 жыл бұрын
  • Покрывайте код тестами. Покрывайте код тестов тестами. Покрывайте код тестов тестов тестами... (спустя несколько тысяч итераций) * переполнение стека *

    @bashkirtsevich@bashkirtsevich2 жыл бұрын
    • :)

      @user-dv1nc2xo2w@user-dv1nc2xo2w2 жыл бұрын
    • Жиза)))))

      @dred77780@dred777802 жыл бұрын
    • Стэка мозга

      @stanislavk1546@stanislavk15462 жыл бұрын
    • Сюда нельзя вставить изображение, но думаю что все видели картинки из серии «unit tests passed, integration failed». И здесь тоже, отдельно взятые тесты не помогли бы совсем, от слова «никак». А так, вообще говоря, если для тестов нужны свои тесты, то все эти тесты написаны неправильно.

      @dimasokolru@dimasokolru2 жыл бұрын
    • Кстати я вот буквально недавно думал что чем больше ты масштабируешь и уточняешь тесты, тем больше они начинают походить на копию приложения, которое покрывается тестами. Потому что я уже не знаю что сложнее - эндпоинты на беке который я тестирую, или интерсепторы которые я всё больше усложняю в сайпресе.

      @NoiroStar@NoiroStar2 жыл бұрын
  • Эту историю читал лет 12 назад, в каком-то компьютерном журнале. Заголовок был, что-то "Самая дорогая программная ошибка". Спасибо, освежил память.

    @DDEEXX02@DDEEXX022 жыл бұрын
  • Тоже программист и такие ситуации случаются очень часто: когда видишь ошибку и понимаешь, что код на все 100% должен работать правильно, но он почему-то этого не делает.

    @user-ub6cv6nk5u@user-ub6cv6nk5u2 жыл бұрын
    • А почему такая уверенность, что он должен работать? Вы же помните, что у вас 16-bit и есть пределы. Если посмотреть на ситуацию в целом со стороны, то я бы никогда не посчитал полностью универсальным код, который рассчитан для работы при отклонениях не на все 360x180 градусов. Я бы добавил туда комментарий: # проверь штатный угол отклонения ракеты перед переносом кода. Ладно бы ещё величина переменной была бесконечной: например, высота орбиты в метрах, тут уж точно можно только взять некоторый запас, дальше которого ракета физически улететь не сможет, и записать в комментарии в коде, что при переносе его на новую ракету нужно проверять, не увеличить ли битность переменной согласно новым техническим характеристикам.

      @goodless2988@goodless29882 жыл бұрын
    • @@goodless2988 комментарии наше всё

      @aronarinkin8779@aronarinkin87792 жыл бұрын
    • @@goodless2988 Вы явно НЕ программист. Во первых - вы уже знаете проблему, поэтому и советуете. Во вторых - проблема не в коде, а в отказе от тестов перед запуском. В третьих - вот код ошибки( переполнение в E_BH - для справки) P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS (TDB.T_ENTIER_16S * ((1.0/C_M_LSB_BH) * G_M_INFO_DERIVE(T_ALG.E_BH))) G_M_INFO_DERIVE(T_ALG.E_BH)) - именно та функция которая брала 64 бита вещественного и превращала в 16 бит со знаком действительное. Кстати - если вы не в курсе, то весь этот код не использовался вообще. Тоесть в 5-й версии, он не был нужен.

      @dazbjaxnoname7611@dazbjaxnoname76112 жыл бұрын
  • Жду когда ты соберёшь процессор. В оном из роликов ты обещал попробовать. Спасибо за 300 лайков.

    @KOT_BARSIK-_-@KOT_BARSIK-_-2 жыл бұрын
    • +

      @user-uc1hb6fo3r@user-uc1hb6fo3r2 жыл бұрын
    • +

      @Chertolet1217@Chertolet12172 жыл бұрын
    • Согласен но у меня видео вышло 15 мин назад а твой комментарий 20 мин назад. Как?

      @user-ft4lw1lk9f@user-ft4lw1lk9f2 жыл бұрын
    • На макетке из транзисторов?

      @UbijcaSmerti2005@UbijcaSmerti20052 жыл бұрын
    • Как он тебе его соберет

      @LNLGv-ig8fb@LNLGv-ig8fb2 жыл бұрын
  • Отличный выпуск Выпуски на ракетную тематику усиливают желание увидеть новую ракету в вашем исполнении

    @akuladon1488@akuladon14882 жыл бұрын
    • мне во время просмотра пришло письмо от гикбрейнса!

      @150_Pounds_Of_Toxic_Substance@150_Pounds_Of_Toxic_Substance2 жыл бұрын
    • Неее пусть соберут генератор водорода кислорода работающий на солнечных Панелях.

      @Partizanex@Partizanex2 жыл бұрын
  • Кстати норм заход для рекламы курсов тестировщиков был бы (:

    @RetuZZik@RetuZZik2 жыл бұрын
    • Или для KSP 2

      @akazanova@akazanova2 жыл бұрын
    • Любишь смотреть рекламу? 🤦🏻‍♂️

      @Hbyh66_ug67@Hbyh66_ug672 жыл бұрын
    • @@Hbyh66_ug67 Нет, просто отмечает подходящее для неё место в шуточной форме

      @arbuzno@arbuzno2 жыл бұрын
  • 1:29 лайк за KSP)

    @Takumy_@Takumy_2 жыл бұрын
    • Как раз собирался это писать. Лайк.

      @lonegall@lonegall2 жыл бұрын
  • 5:20 вместо МегаГерц (MHz) написано МиллиГерц (mHz). Монтажеру привет.

    @YN3_@YN3_2 жыл бұрын
    • мощный проц)) надежный как швейцарские часы))

      @TheRealNisem@TheRealNisem2 жыл бұрын
  • Ошибку устранили... вместе с тем, кто её допустил)

    @urgebt@urgebt2 жыл бұрын
    • Мне кажется, такое только в нашей необъятной практикуют. Там все таки человеческий фактор сработал. Много, очень много людей допустило ошибку...

      @jetspaser5935@jetspaser59352 жыл бұрын
    • У боинга вроде была история, когда была плавающая проблема в софте, которая отлавливалась только в полете, создавая очень стремную ситуацию для всех кто на борту. Её долго не могли пофиксить. В конце концов организовали демо полет для инженеров, которые бысренько пофиксили её, когда почуствовали на себе ее последствия)

      @alexanderXpetrov@alexanderXpetrov2 жыл бұрын
    • Надеюсь, устранили окончательно, т.е. сделали возможной работу на любых углах отклонения вплоть до 180° (просто потому что здесь физически существует предел этого параметра)? А то окажется, что следующая ракета летит ещё круче и переменная снова не рассчитана на такие значения.

      @goodless2988@goodless29882 жыл бұрын
  • 7:40 аааааааа! Кто так строит? Лёха ты же инжинер.

    @user-sm9ro4zd2b@user-sm9ro4zd2b2 жыл бұрын
    • он так видит.

      @Rodogor_Hoenhaym@Rodogor_Hoenhaym2 жыл бұрын
    • @@Rodogor_Hoenhaym но это не оправдание. Строить надо по нормальному.

      @user-sm9ro4zd2b@user-sm9ro4zd2b2 жыл бұрын
    • @@user-sm9ro4zd2b нормальный инженёр, нормально построил.

      @Rodogor_Hoenhaym@Rodogor_Hoenhaym2 жыл бұрын
    • Да ладно гироскопов побольше и как струна полетит)

      @robert1330@robert13302 жыл бұрын
    • @@robert1330 это гиродины.

      @user-sm9ro4zd2b@user-sm9ro4zd2b2 жыл бұрын
  • Ну, это просто супер! Рассказ про чью-то маленькую ошибку, которая обошлась очень дорого, и Антон на первых же кадрах говорит - знакомьтесь, Ариан-5, а показывает - Ариан-6 !!! Браво! )

    @aerospacer994@aerospacer9942 жыл бұрын
  • 16 бит хватит каждому

    @IgorYegorkin@IgorYegorkin2 жыл бұрын
    • Ну что, битами померяемся?🤣

      @Thor_Odinssen@Thor_Odinssen2 жыл бұрын
    • Мне и 8 заголову

      @gACZXC6ASDASD@gACZXC6ASDASD2 жыл бұрын
    • а 512 битный процессор в 83 году на ВМФ СССР не хочешь?

      @user-su4is5je7y@user-su4is5je7y2 жыл бұрын
    • @@gACZXC6ASDASD юзаю 4x битный 😎👍

      @lava_frai@lava_frai2 жыл бұрын
    • @@user-su4is5je7y а поподробнее можно?

      @ledle3949@ledle39492 жыл бұрын
  • А меня научили: перед делением в коде проверь знаменатель на ноль, даже если нуля там не будет никогда в жизни. А вот если не проверишь - то ноль обязательно проскочит.

    @ChronosPauL@ChronosPauL2 жыл бұрын
    • А это не сильно нагрузит систему?

      @rawil6751@rawil67512 жыл бұрын
    • @@rawil6751 деление грузит намного сильнее, чем проверка условия

      @ChronosPauL@ChronosPauL2 жыл бұрын
    • Угу, а потом окажется, что не ноль, но достаточно малое число в знаменателе -- тоже даёт переполнение. И твоя проверка была ни о чём. Полностью корректная работа с ошибками возможна только при реализации подсистемы обработки исключений (типа try-throw-catch). Более простые варианты всегда имеют грабли или сильно неэффективны, а если расширять функциональность до полного подавления граблей, то в итоге почти та же схема обработки по сути и получится.

      @dmitryvodolazsky@dmitryvodolazsky2 жыл бұрын
    • @@dmitryvodolazsky проверять double на ноль - надо быть альтернативно одаренным. А когда среднее или СКО считаешь - вполне рабочая схема. И не надо к мелочам докапываться, я указал принцип: даже там где нуля быть не должно, он может появиться

      @ChronosPauL@ChronosPauL2 жыл бұрын
    • ахахах) Даже если знаменатель - константа, отличная от 0?

      @dmitriibannikovasx@dmitriibannikovasx2 жыл бұрын
  • "Покрывайте свой код тестами", самое важное в этом видео.

    @denispleshakov9437@denispleshakov94372 жыл бұрын
    • Все ведь тестами не покрыть, производительность упадет. Там и так овер дофига параметров нужно вычислять.

      @ZALMAN_AKILOV@ZALMAN_AKILOV2 жыл бұрын
    • @@ZALMAN_AKILOV вообще то здесь речь идет об интеграционном тестировании, которое выполняется перед релизом продукта, а не проверках в рантайме. Они никак не влияют на производительность, потому что существуют отдельно от продукта.

      @denispleshakov9437@denispleshakov94372 жыл бұрын
    • @@ZALMAN_AKILOV Производительность упадёт... гм... во время тестирования. Какая неожиданность

      @Uni-Coder@Uni-Coder2 жыл бұрын
    • @@Uni-Coder спасибо огромное, учту в будущем, а то пишу и не тестирую совсем, вот я дэбил

      @ZALMAN_AKILOV@ZALMAN_AKILOV2 жыл бұрын
    • не экономьте на быдлокодерах

      @natteft6593@natteft6593 Жыл бұрын
  • Очень здорово, что не просто рассказал, но и наглядно показал как ведёт себя эта "особенность" в компиляторе.

    @maxray7329@maxray73292 жыл бұрын
  • Мне аж захотелось в KSP поиграть

    @user-kz8ut4mc8m@user-kz8ut4mc8m2 жыл бұрын
    • да кстати

      @timoshkaarmata8094@timoshkaarmata80942 жыл бұрын
    • Мне тоже

      @user-in1hy8dt2y@user-in1hy8dt2y2 жыл бұрын
  • Классный выпуск, почаще бы такое, очень интересно

    @grandmaster6437@grandmaster64372 жыл бұрын
  • Интересный контент. Спасибо за выпуск. Не знал про такую аварию.

    @PavelByRuss@PavelByRuss2 жыл бұрын
  • Спасибо! Теперь есть то что смотреть перед сном

    @HukoJlau_@HukoJlau_2 жыл бұрын
  • Спасибо за видео! Было очень интересно)

    @aleksandrsgranicins3664@aleksandrsgranicins36642 жыл бұрын
  • Вот это я понимаю дебагинг кода)

    @Vlafder@Vlafder2 жыл бұрын
  • Как у классика поётся: нельзя обосраться, но мы обосрались...

    @user-ji2iw7lq5s@user-ji2iw7lq5s2 жыл бұрын
  • неплохо неплохо)) KSP одобряем)

    @FenechKus@FenechKus2 жыл бұрын
  • нужно подобные ошибки в курс собирать и преподавать в университете, с более подробным разбором, а курс назвать, как не стать говнокодером

    @MrKim-pt2vm@MrKim-pt2vm2 жыл бұрын
  • Спасибо за видео.Коммент в поддержку!

    @sovrinfo@sovrinfo2 жыл бұрын
  • Выпуск просто огонь, амперкины вы как всегда отличная команда.

    @borZoy_196RUS@borZoy_196RUS2 жыл бұрын
  • Отличный видос жду еще таких)

    @user-cs7py5rp6p@user-cs7py5rp6p2 жыл бұрын
  • Ещё один рассказ, где все произошло из-за переполнения переменной. Топ1 баг!

    @user-nb7cv5px1v@user-nb7cv5px1v2 жыл бұрын
    • А как весело отлавливать такие ошибки. Спасибо производителям потребительского железа за вагон оперативки. Можно без зазрения совести везде использовать double

      @user-bo7yz7wb1h@user-bo7yz7wb1h2 жыл бұрын
    • @@user-bo7yz7wb1h однажды и дабл может переполниться :-Р

      @brusherru@brusherru2 жыл бұрын
    • @@user-bo7yz7wb1h а потом калькулятор гиг ОЗУ жрёт

      @user-wm8ei7tu4t@user-wm8ei7tu4t2 жыл бұрын
  • Кадры из ксп вставил, это мы одобряем

    @user-tx2ni2ge3g@user-tx2ni2ge3g2 жыл бұрын
    • Ксп это что ? Подскажи если не сложно. Поиск по фото херню выдает индийскую. Не смотрел, интересно.

      @Vlad_BY@Vlad_BY2 жыл бұрын
    • @@Vlad_BY Игра Kerbal space program

      @user-tx2ni2ge3g@user-tx2ni2ge3g2 жыл бұрын
  • Только вот в этом примере, поведение при переполнении это скорее особенность поведения языка, а не процессора. Точнее даже компиляторат Попробуй тот же раст, и там будет совсем все по другому

    @alexanderXpetrov@alexanderXpetrov2 жыл бұрын
    • даже в C# для проверки переполнения есть `checked`

      @INshadow08@INshadow082 жыл бұрын
    • @@INshadow08 ещё один недоязык

      @natteft6593@natteft6593 Жыл бұрын
  • Ура! Компьютер убийца продолжается!

    @MountCreekFlow@MountCreekFlow2 жыл бұрын
  • За KSP респект конечно

    @vad3eng769@vad3eng7692 жыл бұрын
  • 5:21 - MHZ..., а не миллиГерц

    @kontruspech@kontruspech2 жыл бұрын
    • Мегагерц

      @oleg__9479@oleg__94792 жыл бұрын
    • Мхз мегагерц

      @oleg__9479@oleg__94792 жыл бұрын
  • Безусловно лайк!

    @1-mark-835@1-mark-8352 жыл бұрын
  • Очень интересно 👍

    @Gennady_Bruschenko@Gennady_Bruschenko2 жыл бұрын
  • Интересно Ариан 6 :) тоже сразу запустят с полезным грузом "Ну всё-же работало на 5 версии".

    @jesusdarkjewel9456@jesusdarkjewel94562 жыл бұрын
  • Лайк за нарезку из KSP)) порадовал

    @genabegemot6658@genabegemot66582 жыл бұрын
  • круто , продолжай.....

    @andrewsed_uplisten2019@andrewsed_uplisten20192 жыл бұрын
  • Технобайки. Лучшая рубрика 👍👍👍👍👍❗❗❗❗👍👍❗❗❗

    @staskochetkov5565@staskochetkov55652 жыл бұрын
  • Можем спать спокойно, Арнольд грохнул Скайнет )

    @user-mk6sy1he1z@user-mk6sy1he1z2 жыл бұрын
    • Поправка: Скайнет выбрал не тот тип переменной и грохнулся сам.

      @chaoskrl@chaoskrl2 жыл бұрын
    • @@chaoskrl В этой вселенной Скайнет сделал харакири)

      @dalipot2747@dalipot27472 жыл бұрын
    • @@ssh7437 Этот точно сам развалился. Имел фатальный недостаток и кучу мелких багов.

      @chaoskrl@chaoskrl2 жыл бұрын
    • @@ssh7437 Не, мой батя в конце 70-х это предсказывал. Только, поскольку был глубоко советским человеком, смотрел на это под другим углом, что мол "маленькая штучка моё" постепенно одерживала верх над идеей коммунизма.

      @chaoskrl@chaoskrl2 жыл бұрын
    • @@ssh7437 да он и цитировал эту фразу "маленькая штучка моё" из какой-то советской классики. В этих "окнах" я так понял, что это лженаука какая-то, но у СССР были и чисто объективные причины, чтобы развалиться... Например, гиперцентрализация, которая сейчас и у ГОРФ есть.

      @chaoskrl@chaoskrl2 жыл бұрын
  • классный разбор.

    @syborg957@syborg9572 жыл бұрын
  • огонь выпуск

    @dimakof@dimakof2 жыл бұрын
  • 1:33 ksp

    @HIHITO@HIHITO2 жыл бұрын
  • Подскажите пожалуйста кадры из какого фильма использовались в моменте с 9:13

    @aleksthorne@aleksthorne2 жыл бұрын
  • Я один подумал что 5G это то самое 5G?

    @Furfur022@Furfur0222 жыл бұрын
    • Ага

      @mentter@mentter2 жыл бұрын
    • Да 😂

      @jecovseva2257@jecovseva2257 Жыл бұрын
  • Я на кружке делаю всяких роботов на конкурсы. Мне дали задание: перенести программу с одного робота с какой-то штукой на подобие радара на другого. Я перенёс без изменений, ведь на моём она работала нормально. Но я не учёл, что у меня стоит Ардуино Уно, а там- Мини. Естественно там по-другому были воткнуты провода. Я включаю робота с новой программой, начинаю им управлять. Левая и правая гусеница работали нормально. Потом я начинаю вращать"Радар"... Робот начал хрустеть и передачу на радаре разломало к чёрту. Вот ещё один урок: всегда проверяйте пины на платах, пожалуйста.

    @dalipot2747@dalipot27472 жыл бұрын
  • Думал сначала, про аппарат для лучевой терапии расскажешь, про ракету не слышал ранее, благодарю.

    @user-bu5hg5ru3d@user-bu5hg5ru3d2 жыл бұрын
    • уже было )

      @AmperkaRuOfficial@AmperkaRuOfficial2 жыл бұрын
  • Леха, мы не эту ракету ждали! Но всеравно интересно. Есть ещё идеи по вжмванию после большого П?

    @Ardbot@Ardbot2 жыл бұрын
  • Лехина ракета обошлась дешевле…

    @votetonomer@votetonomer2 жыл бұрын
    • А если не видно разницы..)

      @akaruiakarui9893@akaruiakarui98932 жыл бұрын
  • Не по колокольчику а по зову сердца)))

    @user-pr4lv6vw2s@user-pr4lv6vw2s2 жыл бұрын
  • О Лёха вернулся

    @axmedich-america-givno@axmedich-america-givno2 жыл бұрын
  • 2:03 дорогой же фейерверк вышел.

    @user-sm9ro4zd2b@user-sm9ro4zd2b2 жыл бұрын
  • Привет создателям софта для Боинг 737MAX

    @user-eq3wk6qs3m@user-eq3wk6qs3m2 жыл бұрын
    • Там нету так таковой ошибки, код работает так как написан без багов, там как бы сказать... Недоработка.

      @Noname-fl4cf@Noname-fl4cf2 жыл бұрын
    • @@Noname-fl4cf От этого только страшнее. 2 самолета упало, погибло 315 человек.

      @user-eq3wk6qs3m@user-eq3wk6qs3m2 жыл бұрын
    • Там другое - там знак обратной связи поменялся на противоположный, и девайс ушел носом в землю, а должен был наоборот. Все-таки программерам таких вещей ДОЛЖНЫ читать основы ТАР, даже если это индусы.

      @alexlinde6695@alexlinde66952 жыл бұрын
    • @@alexlinde6695 там просто был неисправен датчик угла атаки, а великие программисты из боинга не учли ситуацию что он может быть неисправен и давать неверные данные. При этом ПО брало данные только с 1го датчика, даже если остальные были исправны. Датчик показывал что нос задрат - ПО пыталось его опустить, хотя это было не так. А пилоты не предприняли неправильные действия по устранению проблемы + это был в обоих случаях взлет и как следствие низкая высота

      @Noname-fl4cf@Noname-fl4cf2 жыл бұрын
  • Спасибо за ксп амперка!... Кстати для ксп есть адд-он Kos он добавляет возможность программировать корабли на бэйсике

    @aronarinkin8779@aronarinkin87792 жыл бұрын
  • Вся суть ошибки Машины должны быть безопасны для человека. Переполнение буфера для переменной: Машины должны убивать человека!

    @alexgordon4634@alexgordon46342 жыл бұрын
    • Беспилотные такси - игра в рулетку(с одним боевым патроном)

      @alexgordon4634@alexgordon46342 жыл бұрын
  • оп, на 5 минуте Амперка говорит 12-33 мегагерц а обозначил в ролике как mHz, то есть милигерцы. Ай-яй-яй, вот из-за таких вот мелочей ракеты и разбиваются. ))))

    @kirillmux@kirillmux2 жыл бұрын
    • Блин. Точно. Столько раз смотрел и не видел...

      @AmperkaRuOfficial@AmperkaRuOfficial2 жыл бұрын
  • ! Ждём от Амперки - сборка простого процессора на простых транзисторах !

    @ArduBlock_Projects@ArduBlock_Projects2 жыл бұрын
  • Где видео про float?

    @kewldanil@kewldanil2 жыл бұрын
  • Из-за казалосьбы такой мелочи. Познавательно 😊👍

    @user-fh5dl2tp6p@user-fh5dl2tp6p2 жыл бұрын
  • Интересно)

    @user-vc8no2iq5n@user-vc8no2iq5n2 жыл бұрын
  • запуск... установка тяги двигателей 80... высота: 1000 м Ошибка совместимости! Переполнение переменной! Диагностика установка положение ракеты: 90* Аварийное завершение работы 1 модуля... Аварийное завершение работы 2 модуля...

    @user-ze1fn5ep7m@user-ze1fn5ep7m2 жыл бұрын
  • я когда переписываю свою программу часто использую куски кода старой, как итог надо переписывать еще раз

    @logic4519@logic45192 жыл бұрын
  • Чтоб "Протон" совершил подобный кульбит, так серьёзно не заморачивались - хватило пару штифтов спилить при установке датчиков угловой скорости ))

    @user-kd1kj3ni8x@user-kd1kj3ni8x2 жыл бұрын
  • Вот что значит говнокод на 500 миллиардов зелёных! 1.Ракета 💥 2.Ученые😵 3.Увидели говнокод 🗿

    @Ne_prosto_Dena@Ne_prosto_Dena2 жыл бұрын
    • При том что программист наверняка сделал всё по тз. Там наверное так и написано было "нужно 16 бит". Вот к чему приводит, когда люди делают отдельную часть и им не дают даже думать где и как она будет находится в большом проекте. А ведь к этому стремится наше общество. Каждая пчёлка делает свою маленькую работу не понимая куда весь рой движется. Что то политикой запахло. Ну да ладно.

      @maksim5225@maksim52252 жыл бұрын
  • Симуляцию делали в Кербал?)

    @user-qp2wb6hn1h@user-qp2wb6hn1h2 жыл бұрын
  • Ничего не понятно. Но очень интересно 😀спасибо

    @user-ob5cv9yv7n@user-ob5cv9yv7n2 жыл бұрын
  • Статический анализатор кода мог бы найти эту ошибку

    @paveltsukanov4488@paveltsukanov44882 жыл бұрын
  • Крутое видео я тебя смотрю уже 2 года так держать

    @kristian9784@kristian97842 жыл бұрын
  • Технобайки это конечно хорошо, но где рука терминатора? А где законченный проект робота с Интро? Обещали закончить. А вообще может устроите конкурс кто лучше сделает данного робота?(награду естественно вам придумать)

    @nikolas6649@nikolas66492 жыл бұрын
  • лайк за Kerbal Space Programm ))))

    @djAbyssRT@djAbyssRT2 жыл бұрын
  • Так у нас почти так же недавно ракету угробили при запуске с Восточного. Код ориентации исправно работал на Байконуре десятки лет. А запустили с восточного - стал крутить ракету не в ту сторону. Детская ошибка в коде стоила много лямов.

    @user-sm4ih7li8m@user-sm4ih7li8m2 жыл бұрын
  • Расскажи как падают самолеты с четырехкратным резервированием вычислительных блоков. Из за плохих контактов. Или из за чего происходят аварии под управлением автопилотов.

    @sergeyrink3003@sergeyrink30032 жыл бұрын
  • Разве запуски не застрахованы?

    @Deemon1@Deemon12 жыл бұрын
  • «Техника попала на тот свет»! Новое слово Амперки в теологии ))

    @1382200@13822002 жыл бұрын
  • То чувство когда смотришь это видео в перерыве между написанием тестов)

    @NoiroStar@NoiroStar2 жыл бұрын
  • Ну так C и С++ не контролируют неявное преобразование типа, оно всё равно будет сведено к явному на этапе компиляции, разве что для отдельных случаев будет выдан варнинг у некоторых компиляторов в некоторых случаях (также из-за перегрузки функций C++ рекомендуется следить за типом операндов операций и аргументов функций вручную, иначе может быть вызвана не та функция с тем же именем). Явное преобразование - обычная операция в C и С++, её корректность не контролируется ни во время компиляции, ни во время исполнения. Переполнение - не совсем корректный термин для операции преобразования плавающего в целое. У плавающего своё переполнение, у целого своё. Конкретно при преобразовании double в uint16, вначале произойдёт преобразование в самое длинное целое (long например), а затем старшие биты будут просто отброшены. Вообще именно так (отброс старших битов) и может завершится самая обычная операция с целым (мультипликативная, аддитивная). И в стандарте многих языков это не является ошибкой! Целочисленное переполнение часто не контролируется вообще. Можно настроить компилятор на генерацию исключения отдельно. (В тоже время плавающее переполнение - всегда ошибка.) Есть ещё способ преобразовать плавающее в целое - изъятие мантиссы с отбросом экспоненты по маске в побитовой операции из союза (union) в составе double и 64-битного целого. Но такой способ не является универсальным, ибо нужно точно знать низкоуровневый формат плавающего, а он в стандарте языка не задан и варьируется у ЭВМ. Здесь вообще невозможно переполнение, по сути - это тот же отброс битов. Поэтому для корректного преобразования рекомендуется воспользоваться функциями, часто самописными, чтобы гарантировать обработку ошибок. Что же до неконтролируемости целочисленного переполнения, то оно бывает и полезно. А именно - такое поведение в мультипликативной операции есть по сути аж две операции подряд - умножение и остаток от деления на (длину максимального целого + 1). И в 32-битных генераторах псевдослучайных чисел формула R[i]=(R[i-1]*M)%L сокращается до R[i]=R[i-1]*M, где R[] - последовательность псевдослучайных целых, M - множитель последовательности, L - длина цикла последовательности (константы L и M подбираются особо и зависят друг от друга, для L=2^31 существует не так много приемлемых M, одно из которых, 65539, даёт в прошлом весьма распространённый алгоритм RANDU).

    @user-ie3kj1nd7m@user-ie3kj1nd7m2 жыл бұрын
  • legacy код - он такой. когда его писали были свои ТЗ и ограничения, т.е. условия, в которых он работает. может ввести в заблуждение, что он будет всегда работать во всех условиях, если он долго эксплуатировался и всегда работал корректно (в пределах условий ТЗ). на эти грабли многие наступают.

    @cb_q@cb_q2 жыл бұрын
  • Очень странно, почему они не использовали MISRA. Решили, что авось пронесёт?

    @alexorlovecky6662@alexorlovecky66622 жыл бұрын
  • Было бы символичнее, если бы не поместившееся число затёрло адрес возврата на стеке

    @user-bl2zr7bj3k@user-bl2zr7bj3k2 жыл бұрын
  • Так в чем был баг? Это из разряда - пришел баг с работы домой, весь грустный грустный. Жена спрашивает его, что случилось, дорогой? А баг и отвечает - ты прикинь, эти уроды что придумали... Издали какие то документы... Теперь я не баг... Я фича..

    @lexelfs@lexelfs2 жыл бұрын
  • Леша, ты на 3d today fest поедешь?

    @mtveys2800@mtveys28002 жыл бұрын
  • Простите, а сколько там была тактовая частота у MC68020? От 12 до 33 МЕГАгерц (MHz) или МИЛИгерц (mHz)? Казалось бы, всего-то другой регистр - но разница 9 порядков

    @KirDobar@KirDobar2 жыл бұрын
    • мегагерц

      @user-mazuta@user-mazuta2 жыл бұрын
    • @@user-mazuta, но на 5:09 на экране отображены именно милигерцы (mHz)

      @KirDobar@KirDobar2 жыл бұрын
  • инфа стухла лет 20 тому назад. расскажи про новые баги-убийцы!

    @prostaknaivnyj5976@prostaknaivnyj59762 жыл бұрын
  • лайк за KSP

    @whytetris2987@whytetris29872 жыл бұрын
  • При использовании С++ можно включить что при даунсазинге автомачтиески проверяются границы и выдается эксепшн

    @TheMicstep@TheMicstep2 жыл бұрын
  • Коммент в поддержку!

    @godisgruvan4595@godisgruvan45952 жыл бұрын
  • 11:00 Чтобы компилятор выдавал предупреждения о "стремных" преобразованиях, нужно включить расширенные предупреждения в части преобразований. В gcc за это отвечает опция -Wconversion . В данном случае gcc честно предупреждает, что здесь результат преобразования может оказаться неожиданным. Да и вообще стоит включать -Wextra и -pedantic для пущей строгости. )

    @iforand@iforand2 жыл бұрын
    • мне вообще интересно зачем он gcc использовал, есть же прям предназначеный для винды msvc...

      @The_Mr_Professor@The_Mr_Professor2 жыл бұрын
  • Ну,если франция,то Ариан,а не эриан :) у французов все по-человечески.

    @user-ml2rb9eb9n@user-ml2rb9eb9n2 жыл бұрын
  • Читал байки про программистов еще во времена FIDOnet в районе 1996-2000 годов. Эта история там была. И еще несколько историй, в которых ошибки программистов привели к различным потерям. Найти бы тот текстик...

    @veoramid@veoramid2 жыл бұрын
  • Одного не понимать - у компутера должна была быть изначальная информация о траектории и при получении неверной информации за короткий промежуток времени посчитать ее верной с учетом скорости массы и инерции? Сдается этих параметров в принципе не было... как и многих других...

    @RusLSystems@RusLSystems2 жыл бұрын
  • Как-то сразу подумал, что ошибка из-за отсутствия тестов. Был только вопрос ошибка в железа или в совте?

    @user-mp9du5qu9e@user-mp9du5qu9e2 жыл бұрын
  • Круто

    @nikolaigeni8433@nikolaigeni84332 жыл бұрын
  • Аххаах видос серьёзный но геймплей где балуются в KSP

    @alexmanko8521@alexmanko85212 жыл бұрын
  • 17 Секунд, Я не первый не второй, но зато патпещик твой!!!

    @Furfur022@Furfur0222 жыл бұрын
  • почаще бы такое

    @user-jc9rn3jl9d@user-jc9rn3jl9d2 жыл бұрын
  • Громкое название - "Компьютер - убийца" Ну так дело было не в бобине... Тут скорее "Инженеры - тупицы".

    @DNKR88@DNKR882 жыл бұрын
    • Кликбейт) Но вообще я бы сказала, что мне всё равно очень нравится рубрика, ибо меня мотивирует, что другие прогеры и инженеры тож косячат) Помогает не впадать в депрессняк, если у меня что-то не получается

      @IreneRadix@IreneRadix2 жыл бұрын
    • Собственно, к счастью, по-другому компьютеры пока убивать не могут

      @IreneRadix@IreneRadix2 жыл бұрын
    • @@IreneRadix ну нееееее kzhead.info/sun/l5d-fsaijIasY4E/bejne.html и kzhead.info/sun/epGNlK1-hnqZipE/bejne.html

      @AmperkaRuOfficial@AmperkaRuOfficial2 жыл бұрын
    • @@AmperkaRuOfficial , смотрела. Там тоже ошибки программистов, хотя последствия страшнее P.S. Естественно, программировать что-то важное типа компов на самолётах, ракетах, медицинских приборах и.т.п. я не пойду

      @IreneRadix@IreneRadix2 жыл бұрын
  • 9:20, что за фильм, не могу название вспомнить?

    @crzkamcha8922@crzkamcha89222 жыл бұрын
    • Армагеддон

      @xromies@xromies2 жыл бұрын
  • О! та история про ускоритель!

    @user-hs6bc7mq3j@user-hs6bc7mq3j2 жыл бұрын
  • Дорогой фейерверк ))

    @GadTIH@GadTIH2 жыл бұрын
KZhead