Pull to refresh

Comments 44

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

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

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

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

Tout n'est pas si terrible que cela


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


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


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

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

Отрицательный опыт развивает эффективнее положительного.
UFO just landed and posted this here
Из оригинала:
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 часа после загрузки.
UFO just landed and posted this here
Камин без межсетевого экрана — это не безопасно!
UFO just landed and posted this here
… и перефразируя Закон Мерфи- «Если что-то может пойти не правильно- оно пойдет не правильно.»
Подождите, но без IoT зловещие корпорации не смогут собирать информацию, что у вас в холодильнике и как часто вы чихаете, чтобы показывать оптимизированную под ваши предпочтения рекламу.
UFO just landed and posted this here
Спасибо за беспокойство, но у меня «заел» не шифт. А Умный дом.
UFO just landed and posted this here
Интерес- это похвально. Не, с холодильника писать не удобно. У меня он видимо не такой компактный, как у вас. С журнального столика пишу. Умного.
Автор как будто объясняет жене, почему его уволили из программистов. Ну невозможно работать же!
Какой-то истерический крик души. Что с того, что «всё плохо»? Тыжпрограммист, ёлы палы, сделай хорошо!
Я в разработке ПО уже почти двадцать пять лет как и прошёл путь от ДВК (окей, 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 точнее) – новости… ну в общем да, у них все действительно плохо.

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

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

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

UFO just landed and posted this here
UFO just landed and posted this here
>>Часы не могут оставаться точными долгое время.
Это конечно жесть в 21 веке.
Sign up to leave a comment.