Как стать автором
Обновить

Комментарии 44

Название у поста тоже плохое: через полгода по поиску не найти будет.

А уж тема — ух!
почему же: (через год)
— как же назывался пост где чел писал что все плохо?.. а. ну да.
«Не помню точно, кто писал и о чем, но такая там грусть была...»

Еще такого рода заголовки в СМИ сделать, и вообще будет — плохо.
Предлагаю тему для следующего поста:
«Как перестать бояться и начать жить.»
А то страху нагнали, аж жуть берёт (серьёзно).

Совершенно разные проблемы в одну кучу. Не надо так.

Tout n'est pas si terrible que cela


До интернета вещей, что бы улететь на машине в кювет достаточно было подержать свое рено меган под дождиком пару дней и вот на скорости 100 км в час ваша бортовая эвм выдает вам Défaillance électronique вырубает мотор и вы летите в кювет из за того что не справились с поворотом.


Тема конечно требует особого внимания но паниковать уже поздно. Согласен, это скорее из оперы:


«Как перестать бояться и начать жить.»
Для возникновения такой проблемы и бортовой ЭВМ не обязательно.
У меня на машине банально трамблёр залило несмотря на защиту днища, залетающим под капот снегом, в результатате двигатель стал троить.
А в своё время на мотоцикле Ява после дождя двигатель стабильно начинал барахлить от отсыревания проводки при включении поворотника (что то в пульте видимо коротило).

Как там по закону Мерфи, если что то может пойти не так, то это обязательно пойдет не так.

Отрицательный опыт развивает эффективнее положительного.
НЛО прилетело и опубликовало эту надпись здесь
Из оригинала:
On a fateful day, on a transaction that ran particularly fast, the NTP synchronization of the computer clock drifted it back by a few parts of a second, just enough to apparently allow the second timestamp to give a time prior to the first one.

Не очень понятно: ведь NTP по идее не должен откручивать часы назад, если они спешат, но разница небольшая. Он просто замедляет их. Или я не прав?
Вы не правы, поскольку «небольшая» разница — неизвестно сколько. Раньше похожее было в dahdi asterisk.org. Просто вешался изза синхронизации. Проблема проявлялася раньше во весь рост в виртуальных контейнерах xen, позже xen немножко подкрутили это, стало чуть лучше. Но все равно проблема есть.
неизвестно сколько

По умолчанию >128 мс http://doc.ntp.org/4.1.0/ntpd.htm
В случае автора (какие-то таймстампы с миллисекундной точностью) нужно было подкрутить настройки NTP, возможно вообще время получать от GPS+PPS.
В основном перевод ничего, но местами просто ужасен.

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

В бинарном протоколе требовалось указать длину сообщения в байтах, но одна из сторон указывала его в кодовых позициях (code points).

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

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

С таким плохим интерфейсом многие люди пропустили критические биты проверки.

С таким плохим интерфейсом многие люди пропустили важнейшие этапы проверки.
Спасибо, исправил! Будет здорово, если в следующий раз вы пришлете мне замечания в личку
А мне больше нравится видеть публичную историю исправлений.
Пишут в комментариях — получают минусы и просьбу писать в личку.

Пишут в личку — появляются те, кто хочет видеть «публичную историю исправлений».

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

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

А я Очень хорошо понимаю автора этой статьи! И Полностью с ним согласен. Так-же как и он не доверяю ни технологиям «Умных домов» ни повсеместной автоматизации. Ибо Знаю, какие сбой… нет- Сбои могут иметь месть быть. И Не хочу жить в током «Умном доме». Пусть лучше в моем доме будет камин, который топится дровами. И электрогенератор, который запитывает лампочки и комп.
А у меня есть камин, который топится дровами. В прошлом году при совершенно обычной загрузке все тем же набором дров(с той же влажностью и типом) из партии в 4 метрических тонны он почемуто стрельнул угольками по 1-2см на 4 метра в другую стенку. Ночью, через 2 часа после загрузки.
НЛО прилетело и опубликовало эту надпись здесь
Камин без межсетевого экрана — это не безопасно!
Кошмар. " Как страшно жить!".
НЛО прилетело и опубликовало эту надпись здесь
… и перефразируя Закон Мерфи- «Если что-то может пойти не правильно- оно пойдет не правильно.»
Подождите, но без IoT зловещие корпорации не смогут собирать информацию, что у вас в холодильнике и как часто вы чихаете, чтобы показывать оптимизированную под ваши предпочтения рекламу.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за беспокойство, но у меня «заел» не шифт. А Умный дом.
НЛО прилетело и опубликовало эту надпись здесь
Интерес- это похвально. Не, с холодильника писать не удобно. У меня он видимо не такой компактный, как у вас. С журнального столика пишу. Умного.
Автор как будто объясняет жене, почему его уволили из программистов. Ну невозможно работать же!
Какой-то истерический крик души. Что с того, что «всё плохо»? Тыжпрограммист, ёлы палы, сделай хорошо!
Я в разработке ПО уже почти двадцать пять лет как и прошёл путь от ДВК (окей, DEC PDP-11) c 56 кБ памяти и 5 МБ жёстким диском до современных систем, так что могу окинуть взглядом технический прогресс за четверть века. У меня в общем-то нет никакой боязни перед «умными устройствами», но нет и никакой эйфории, связанной с ними. То, что мы наблюдаем — технический прогресс, который приводит к постоянно возрастающей сложности систем, причём сложность растёт едва ли не экспоненциально. Борьба с этой сложностью и постоянная подстройка под меняющиеся требования — это и есть суть работы программиста (и в этой безумной битве программист, как правило, всегда в проигрыше). Так было, есть и будет. Рождаются новые инструменты разработки, новые языки, новые методологии разработки, новые паттерны. Мы с каждой итерацией продвигаемся чуть дальше, и никто не сказал, что путь будет лёгким, но вот чтобы «всё плохо» — я так не считаю совершенно. Сейчас операционка RT11FB и ассемблер MACRO-11 кажутся мне простыми как пять копеек, а четверть века назад казались верхом совершенства. Впервые увидев Windows 3.1, я был едва ли не в шоке. На первую оконную программу я убил, наверное, неделю и тоже думал, что всё плохо. Пройдёт ещё четверть века и программисты 2050 года будут смотреть на нас нынешних, как на динозавров, и, наверное будут всё также бурчать, мол, всё плохо, опять этот полу-искуственный недо-интеллект, понимаешь, в проблеме не до конца разобрался.
Если почитать внимательно, то в статье не только «истерический крик души», но и много прозрачных (и, главное, полезных) намёков на то, как сделать хорошо (или, по крайней мере, не оттяпать себе и другим голову клавиатурой). На мой взгляд, написано очень хорошо — много внятных иллюстраций и объяснений на пальцах критически важных вещей. А что до «эмоциональной тональности» текста — пусть это волнует разработчиков сентимент-анализа.
Да я с этим не спорю, но это всё просто текущие рабочие моменты, причём собранные в одну кучу. Начинается-то статья именно со слов «всё плохо», да и заканчивается в общем-то тем же. Впрочем оставим это сентимент-анализу, тут вы, пожалуй, правы. Я это к тому, что на самом деле в статье затронуты темы, по которым можно было бы написать три-четыре, если не больше, сугубо технических статей, описывающих текущие проблемы и способы их решения. А так — слишком поверхностно и всё в кучу — и NTP и юникод и JSON, и SSL до кучи.
Некоторые цифры не делятся нацело, и без работы с дробной частью будет очень сложно не потерять точность

В двоичной системе все дробные числа периодические, кроме дробей со знаменателем, кратным 2. Не совсем очевидный факт, но в десятичной системе тоже все дроби периодические, кроме дробей со знаменателем, кратным 2 или 5. Просто используются обычно кратные, типа 0.1 и 0.2.


Если вы когда-нибудь видели сумму 0,1 + 0,2, равную 0,30000000000000004, вы знаете, что это такое.

Этой проблемы можно избежать, если ввести использование двоично-десятичнной арифметики с фиксированной точкой. Целая часть 32 бита, от 0 до 2^32-1, дробная часть 32 бита, показывает количество миллиардных долей. Можно двухмиллиардные сделать. Если больше, будут проблемы при сложении, а так можно в одной ячейке вычислять сумму и делать десятичную коррекцию с переносом. Для большинства стандартных вычислений этого хватит, для специализированных можно использовать отдельные библиотеки. Мне кажется, производительность будет выше, особенно в играх.


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

Или монотонно возрастающий счетчик событий, у которых время просто дополнительный атрибут.

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

А их архитектору (если у них есть архитектор) надо оторвать руки от задницы и пришить к плечам. Потому что значительная часть приведенных схемок вызывает внутреннее содрогание. Х**к-х**к и в продакшен, да.

В общем я что-то не оценил. Старый уже наверное стал, прошло у меня это юношеское «все плохо».
НЛО прилетело и опубликовало эту надпись здесь
был бы весьма полезен конспект, который можно было открыть отдельно
Тогда будет так: читаем конспект — «всё понятно» — закрываем и не возвращаемся. Особенно если текст западного происхождения, где целая книга может быть вбиванием одной мысли.
НЛО прилетело и опубликовало эту надпись здесь
… но с помощью преобразования UTC для установки даты и времени, вы получите 27, что невозможно считать целым числом без знака.

Разве 27 это не целое число без знака?

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
>>Часы не могут оставаться точными долгое время.
Это конечно жесть в 21 веке.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий