"9 января 2038 года я бы все же посоветовал всем быть поосторожнее – именно в этот момент значение Unix-времени превысит 2147483647 и перестанет помещаться в стандартную переменную (беззнаковое 32-битное целое число). И как на это отреагируют 32-битные устройства по всему миру — загадка." —
а перевести время на устройстве и проверить что именно будет не судьба?
Я всегда полагал, что дата/время прописывается в устройство при прошивке и может быть задана произвольно, а не только в соответствие с показаниями службы точного времени. И каким образом новорожденное устройство может определить "типичное" время ему задано или нет, сходить посмотреть дату на свежих газетах в киоске? Речь естественно об устройствах в режиме оффлайн
На своей ОпенСюзе провел икспиримент: установил 8 января 2038 года 23:59 мин и выводил каждую секунду. Все прошло нормально, переход с пятницы на субботу прошел успешно
Расширил икспиримент: установил 9 января 2038 года 23:59 мин и выводил каждую секунду. Все прошло нормально, переход с субботы на воскресенье прошел успешно
"Во время работы над ПО новой ракеты программисты использовали куски уже готового кода, ранее написанного ими для Ариан 4."
Сейчас этим грешат практически все программеры поголовно. С нуля пишется только первая версия и дальше пошли копипасты. И все бы ничего. Только вот спустя годы и десятки версий программы никто уже не помнит (а зачастую и авторы уже ушли из команды разработчиков) тонкостей основы. А все сосредоточено именно на довесках, расширении функционала. Никто не занимается оптимизацией основы. И на выходе мы получаем вместо браузера, который занимал 30 мб оперативной памяти на старте — 300 мб через 10 лет. Я уж не говорю о багах кочующих от версии к версии. А цифра основной версии под полтинник — это уж совсем неприкрытый популизм.
эм... а почему на 0 делить нельзя??? Можно! результатом будет бесконечность. Это конечно не поместится ни в какую переменную, но сам факт — можно. И мне видится, что дети в школе, к моменту прохождения деления вполне способны это осознать, вместо захламления головы тем, что на 0 делить нельзя.
Как раз проще раз и навсегда запомнить, что на ноль делить нельзя. А захламление головы ненужностью в виде бесконечности как раз и произойдёт. Кому охота, пусть этим занимаются в математической спецшколе и универе, а потом и в научной деятельности.
а не проще включить логику и понять, что чем меньше делитель, тем больше результат и если делитель стремится к 0, то результат к бесконечности? А то так мы придём к тому, что человеку достаточно уметь складывать и как-то писать (3-и года обучения) и всё, можно отправлять в жизнь!
Давайте еще бесконечность возводить в степени как в институте и получим необходимость анализировать бесконечность в квадрате деленную на бесконечность в кубе — корень 4 степени от бесконечно малого в квадрате.
Нет уж. Эти категории значений нужны лишь там где нужны, а в жизни надо использовать то что эффективно.
Ведь никому не приходит в голову в жизни использовать релятивистскую механику, несмотря на то что она вполне работает.Все понимают, что она слишком сложна для повседневного использования в мире небольших скоростей. Все тянутся за механикой ньютона. Но она ведь ошибочна в той части где скорости высоки.Все понимают, но используют ее.Потому что эффективно и намного проще.
вот ведь незадача.... волн нет, а они регистрируются... :( Наверно Однокамушкин всё подстроил?
...гравитационные волны — первый постулат указанной Вами книги.
Ну и на тему остального. Глонас и ГПС работают на принципах теории относительности. На ньютоновских формулах не получается. Может подскажете нашим воякам как точность поправить? Они Вам огромное спасибо скажут и медаль дадут за особые заслуги. Не? Не хотите?
Вы знаете как устроена джипиэс? От трёх спутников посылается сигнал приёмнику на Земле. Часы на приёмнике и спутниках показывают одно время. Приёмник считает время посылки-приёма сигнала и так как скорость радиоволны известна и равна скорости света получает расстояние до спутника. И так со всеми тремя спутниками. Получил три пути — на пересечении этих трёх путей он получает положение приёмника в трёхмерном пространстве, положения спутников известны. Где тут теория относительности? Тут одна сплошная классическая механика.
В своё время у нас в конторе один "сертифицированный" специалист по Cisco не стал вдаваться в подробности по особенностям прошивки и настройки разных линеек продуктов и тупо скопипастил основные команды из одной инструкции для наладчиков на местах в другую.
Хорошо, ребята решили сначала потренироваться и дело обошлось парой "кирпичей" в центральном офисе, отремонтировать которые удалось достаточно оперативно.
> На ноль делить нельзя – это знают даже ученики начальной школы.<
В отличие от школьников, студентам технических вузов на ноль делить можно. Операцию, которая в алгебре является невозможной, можно произвести в других сферах математического знания. В них появляются новые дополнительные условия задачи, которые допускают это действие. Делить на ноль можно будет тем, кто прослушает курс лекций по нестандартному анализу, изучит дельта-функцию Дирака и ознакомится с расширенной комплексной плоскостью.
В программировании попытка разделить число с плавающей точкой на ноль приведёт к +INF или −INF (Стандарт IEEE 754), однако, в зависимости от языка программирования и типа числа́ (например, целое число), которое делят на ноль, может: сгенерировать исключение, сообщение об ошибке, остановку выполняемой программы, сгенерировать положительную или отрицательную бесконечность, или привести к специальному нечисловому значению (NaN).
"–Взрыв ракеты "Пэтриот» в Саудовской Аравии 25 февраля 1991, который привел к гибели 28 человек, связан с ошибками округления.
–Взрыв ракеты Ариан-5 сразу после старта при ее первом испытании во Французской Гвиане 4 июня 1996 был следствием переполнения числовой сетки компьютера.
–23 августа 1991 в Гандсфиорде в Норвегии затонула нефтяная платформа, что привело к убытку почти в один миллиард долларов. Это, как предполагается, было результатом inaccurate finite element analysis"
Вот и представим, что Сатане удалось внедрить во все компьютеры программу расчета, в которой бы при умножении дважды два вместо четырех получалось бы пять, сто или одна миллионная. Причем пусть это происходит не всегда, а лишь изредка, так что при проверках получалось бы дважды два четыре, а в реальной и самой сложной вычислительной работе компьютер изредка давал бы этот самый нелепый результат.
Результаты этого были бы трагичны. Вдруг начали бы сталкиваться самолеты, запуски космических кораблей «иногда» стали бы кончаться падением, стали бы вдруг взрываться атомные станции, начались бы сбои электросетей, охватывающие целые страны и континенты, и много других аварий и катастроф стало бы происходить. Причем все это происходило бы «ни с того, ни с сего», все проверки показывали бы, что все работает нормально. И осталось бы все сваливать на «человеческий фактор». Ведь кто бы посмел подумать на компьютер, если все проверки успешно проходят, и все они работают «как часы».
И лучше всего, если бы частота таких «сбоев» увеличивалась по мере увеличения сложности расчетов и мощности компьютерных систем, потому что их проверить сложнее. В результате по мере прогресса техники и вычислительных средств количество и тяжесть аварий не только не снижались, а наоборот, возрастали. Думается, технократическая цивилизация с такой компьютерной закладкой была бы обречена, и в конце концов она бы погибла.
Итак, чтобы погубить человечество, Сатане достаточно внести замаскированную ошибку в компьютерную программу числовой обработки.
Комментарии
"Сегодня Microsoft анонсировала выход новой версии Windows. В ней появились новые баги, но зато старые сохранены для полной совместимости."
а перевести время на устройстве и проверить что именно будет не судьба?
"Что самое смешное, очень многих людей тянет протестировать все найденные баги на собственной шкуре."
Сейчас этим грешат практически все программеры поголовно. С нуля пишется только первая версия и дальше пошли копипасты. И все бы ничего. Только вот спустя годы и десятки версий программы никто уже не помнит (а зачастую и авторы уже ушли из команды разработчиков) тонкостей основы. А все сосредоточено именно на довесках, расширении функционала. Никто не занимается оптимизацией основы. И на выходе мы получаем вместо браузера, который занимал 30 мб оперативной памяти на старте — 300 мб через 10 лет. Я уж не говорю о багах кочующих от версии к версии. А цифра основной версии под полтинник — это уж совсем неприкрытый популизм.
Иной раз даже слишком много лишнего. Мне стыдно, но никто об этом кроме меня не знает.
Сталкивается-это полбеды....
Гораздо интереснее то, что он их создает не менее регулярно.
raised exception class EDivByZero with message 'Division by zero'
Нет уж. Эти категории значений нужны лишь там где нужны, а в жизни надо использовать то что эффективно.
Ведь никому не приходит в голову в жизни использовать релятивистскую механику, несмотря на то что она вполне работает.Все понимают, что она слишком сложна для повседневного использования в мире небольших скоростей. Все тянутся за механикой ньютона. Но она ведь ошибочна в той части где скорости высоки.Все понимают, но используют ее.Потому что эффективно и намного проще.
yadi.sk
вот ведь незадача.... волн нет, а они регистрируются... :( Наверно Однокамушкин всё подстроил?
...гравитационные волны — первый постулат указанной Вами книги.
Ну и на тему остального. Глонас и ГПС работают на принципах теории относительности. На ньютоновских формулах не получается. Может подскажете нашим воякам как точность поправить? Они Вам огромное спасибо скажут и медаль дадут за особые заслуги. Не? Не хотите?
Делить на ноль, конечно, можно, только надо решить — зачем.
Вообще-то 32-битное беззнаковое целое — это 4294967295.
А 2147483647 — обычное 32-битное целое, и если его увеличить на единицу, получим занчение -2147483648.
Хорошо, ребята решили сначала потренироваться и дело обошлось парой "кирпичей" в центральном офисе, отремонтировать которые удалось достаточно оперативно.
В отличие от школьников, студентам технических вузов на ноль делить можно. Операцию, которая в алгебре является невозможной, можно произвести в других сферах математического знания. В них появляются новые дополнительные условия задачи, которые допускают это действие. Делить на ноль можно будет тем, кто прослушает курс лекций по нестандартному анализу, изучит дельта-функцию Дирака и ознакомится с расширенной комплексной плоскостью.
В программировании попытка разделить число с плавающей точкой на ноль приведёт к +INF или −INF (Стандарт IEEE 754), однако, в зависимости от языка программирования и типа числа́ (например, целое число), которое делят на ноль, может: сгенерировать исключение, сообщение об ошибке, остановку выполняемой программы, сгенерировать положительную или отрицательную бесконечность, или привести к специальному нечисловому значению (NaN).
Комплексные числа на этой плоскости изображаются в виде точек либо в виде векторов.
yur.ru
"–Взрыв ракеты "Пэтриот» в Саудовской Аравии 25 февраля 1991, который привел к гибели 28 человек, связан с ошибками округления.
–Взрыв ракеты Ариан-5 сразу после старта при ее первом испытании во Французской Гвиане 4 июня 1996 был следствием переполнения числовой сетки компьютера.
–23 августа 1991 в Гандсфиорде в Норвегии затонула нефтяная платформа, что привело к убытку почти в один миллиард долларов. Это, как предполагается, было результатом inaccurate finite element analysis"
"
аварии были вызваны стандартом IEEE754.
Вот и представим, что Сатане удалось внедрить во все компьютеры программу расчета, в которой бы при умножении дважды два вместо четырех получалось бы пять, сто или одна миллионная. Причем пусть это происходит не всегда, а лишь изредка, так что при проверках получалось бы дважды два четыре, а в реальной и самой сложной вычислительной работе компьютер изредка давал бы этот самый нелепый результат.
Результаты этого были бы трагичны. Вдруг начали бы сталкиваться самолеты, запуски космических кораблей «иногда» стали бы кончаться падением, стали бы вдруг взрываться атомные станции, начались бы сбои электросетей, охватывающие целые страны и континенты, и много других аварий и катастроф стало бы происходить. Причем все это происходило бы «ни с того, ни с сего», все проверки показывали бы, что все работает нормально. И осталось бы все сваливать на «человеческий фактор». Ведь кто бы посмел подумать на компьютер, если все проверки успешно проходят, и все они работают «как часы».
И лучше всего, если бы частота таких «сбоев» увеличивалась по мере увеличения сложности расчетов и мощности компьютерных систем, потому что их проверить сложнее. В результате по мере прогресса техники и вычислительных средств количество и тяжесть аварий не только не снижались, а наоборот, возрастали. Думается, технократическая цивилизация с такой компьютерной закладкой была бы обречена, и в конце концов она бы погибла.
Итак, чтобы погубить человечество, Сатане достаточно внести замаскированную ошибку в компьютерную программу числовой обработки.
Но этого делать совсем не надо.
Потому что это уже есть.
"