Может и так, я где-то читал, как оно там устроено, он температуру не меряет, а просто смотрит на команды, сколько их через сколько ядер летит и соответственно частоту снижает, там просто таблицы, то есть это не термальный троттллинг, который в теории может и на успеть. Хасвелл вот и на командах AVX2 до максима не бустился.
Ещё, кстати, AVX 512 может заметно дропать частоту ядер (ему просто больше транзисторов в моменте переключать надо), и по итогу выигрыш заметно меньше ожидаемого. Я как-то кучу времени угрохал, перекладывая AVX2 на 512 (команды там и правда разные и иногда просто тупой сменой ширины регистров не обойтись) и был сильно разочарован приростом, в два раза там и близко не было.
Это в общем от компилятора зависит, если взять один и тот же код и скомпилять, скажем, Студией, интеловским OneAPI и gcc, то может быть быстрее и так и сяк, вот как раз интеловскому индексы могут "нравиться", ему с ними векторизовать легче. Это даже от версии компилятора может зависеть, прогресс на месте не стоит. Я обычно нагруженные циклы профилировщиком смотрю, и в принципе при некоторой "насмотренности" по ассемблерному коду уже более-менее видно, надо ли менять одну форму на другую или нет.
Ну да, налоги в разных странах сильно разные. С электроэнергией та же история — в соседней Франции оно заметно дешеле, чем в Германии, центов этак на десять, но это связано (по момему дилетантскому мнению) с тем, что там ядрёные станции, а в Германии — "зелёные" технологии. Я вот принципиально против резкого закрытия атомных станций, переходить на возобновляемые источники, конечно надо, но это не должен быть резкий переход. Хотя при таких ценах на бензин мне заправлять мой гибрид из бытовой розетки уже экономически выгоднее нежели бензином. Но здесь та же история — "ура, закроем нафиг атомные станции!", ну и вот — потребители и платят по итогу за эти скоропалительные решения.
Пропаганда, конечно врёт, на то она и пропаганда, но фотка выше — уже с "лоукостер" заправки, так-то Shell да Aral ещё выше, но не намного, здесь нет вот прям "драматической" разницы между дешёвыми и дорогими заправками, двадцать центов — уже хорошо. Те, кто у границы живёт, могут делать бензин-туры, я вот в Люксембурге этой зимой за 1,40 заправлялся, а сейчас — 1,65 вроде.
Да, ценник на бензин нынче не радует, в Германии вот скакнул с 1,70 до 2,20; я на прошлой неделе по 2,11 заправлялся, оставлю тут для истории:
Меня в общем наука и технологии интересуют значительно больше политики, но вот программируя всяко разно, я обычно сначала думаю, а потом делаю, а власть предержащие похоже, вначале делают, а лишь потом думают как это расхлёбывать, а расплачиваются за эти упражнения обычные обыватели.
Если уж собирать тут коллекцию обновившихся диагностических утилит, то ещё и AIDA64 обновилась до 8.25.8200 в конце февраля, 24-го, если быть дотошным.
Я как раз занят в производстве похожих систем, только для автопромышленности. Такие светофоры у нас тоже стоят, но практически каждая система наружу отдаёт свой статус "жива/не жива", сейчас это через OPC UA принято делать, и это обычно оговаривается в контракте. Причём заказчик пошёл ленивый, он просит до кучи считать время простоя за последние 24 часа в процентах, считать детали и всё такое. Иногда уже после запуска просят добавить какие-то доп параметры (это стоит денег, но по итогу он получает выгоду от автоматического анализа этих данных). С распознаванием камерами - это оверинжиниринг. Уж тогда фотоэлементы можно было изолентой к светофорам примотать - было б дёшево и сердито и 100% распознавания.
Обычно для любого наблюдаемого феномена существует рациональное объяснение, чудес не бывает, вы можете попробовать запустить мой setup (в виртуалке, если не доверяете) чтобы локализовать проблему (это может проблема как сборки, так и запуска конкретно у вас) и если вы закинете куда-нибудь ваш проект, включая setup и скриншот как выглядит ошибка, хоть на тот же гитхаб, то я могу запустить это у себя, отреверсить и пробежать его под отладчиком, чтобы понять откуда ноги растут у этого сообщения. Я никогда такого не видел, но поскольку вы не одиноки, то коммьюнити будет благодарно, если мы разберёмся, в общем я готов попробовать помочь в свободное время.
Может, вы что-то делаете неправильно, у меня работает без проблем на 11, правда это LTSC — я себе сделал русско-немецкую клаву, расставив все знаки так, чтобы они на обоих языках оставались строго на одних и тех же местах (скобки со сдвигом на одну особо доставали). Правда ь и ю пришлось загнать в верхний ряд. Вот репозиторий с исходниками — может поможет понять, что у вас отличается.
В общем, кстати, верно — ИИ действительно увеличивает нагрузку, в том смысле, что это как вождение с адаптивным круиз-контролем (это который автоматом дистанцию держит), я с ним езжу иногда, но побаиваюсь, что он въедет в зад впереди идущей машины, это вызывает некоторое напряжение и усталость. Но вот смотрите, — много лет назад я попытался реализовать преобразование Фурье-Меллина, убил неделю да бросил, а вот теперь с ИИ я получил рабочий код за выходные (хоть и не с первой попытки, там окно Хэмминга надо правильно применить). Или вот сейчас — по ходу работы мне потребовался метод Оцу для вычисления порога бинаризации и затем Фильтр Савицкого — Голея для кой-какого сглаживания, причём по условиям задачки заказчик хочет видеть верифицируемый код, а не закрытые библиотечные функции, и эта штука выдаёт мне готовый живой код на Расте. Там, в общем нет ничего адски сложного, но много аккуратной рутинной работы по массивам данных, а тут я всё получаю из промптов, скармливаемых копилоту, и это офигенно, как я считаю. Это ещё держит в напряжении оттого, что я таки бегло просматриваю что он там выдаёт, только сегодня около тысячи строк математики, но так быстро я ещё никогда в жизни не работал, хотя устаю, пожалуй чуть сильнее чем раньше, когда на отладку сотни строк можно было день положить. Может для юных джунов-падаванов всё это само собой разумеется, но я-то всё ещё помню, как программил четверть века назад.
Спасибо! Небольшое "алаверды" к теме измерения разрешения из другой области, возможно кому-нибудь будет любопытно. Это также делается при использовании рентгена (неразрушающий контроль всяких деталей). Это нужно, потому что пятно рентгеновской трубки представляет собой не идеальный точечный источник, а имеет вполне определённый размер:
причём по ширине и высоте значения могут быть разные разные, так что измерение в общем случае производится в двух направлениях. Ну а поскольку это дело зависит от геометрии, то оно и называется геометрической нерезкостью. Разрешение нам надо знать, чтобы понимать насколько мелкие детали или дефекты мы сможем расмотреть на рентгеновском изображении.
Для измерения берётся вот такой проволочный эталон:
Там вольфрамовые проволочки разного диаметра, скажем номер 10 - это две проволочки диаметром сто микрон на таком же расстоянии между ними.
В рентгене это выглядит вот так:
Если увеличить, то вот:
Эталон размещают под углом два-пять градусов, чтобы избежать ситуации, когда проволочки точно совпадут с сеткой пикселей детектора, либо напротив, попадут между, это будет влиять на результаты. Тут как раз тот случай, когда муар нам нужен - мы осуществляем усреднение поперёк эталона (между красными линиями, стандарт требует взять 60% ширины).
Дальше строится профиль линии и смотрится в процентом соотношении насколько середина между проволочками "разрешается", это Dip называется:
И вот там, где у нас получается 20% в просвете между проволочками, тут интерполяция полиномом второй степени, это и есть разрешение в микронах:
Как-то так. На видимость дефектов также и контраст оказывает влияние, его определяют при помощи пенетраметров с дырочками, накладывая их на определённую толщину просвечиваемого материала, но это уже другая история:
Проблема надумана, в разумных дозах дум скроллинг может быть даже полезен. Я иногда замечаю там интересности, книги, фильмы и т.д. Вот намедни скроллил, не побоюсь признаться, короткие клипы ютьюбчика и там проскочил... унитаз, но я заметил имя Виктор Папанек, и сейчас читаю "Дизайн для реального мира", как-то раньше мне она не попалась, а вот не думскроллил бы - прошла бы хорошая книга мимо.
Это зависит от "оригинала" и переделки, бывает, что коллекционная ценность невелика и ужасная, рассыпавшаяся от старости механика, и слабая схемотехника, ужасный звук, но чисто внешне смотрится норм, тогда апгрейд современной начинкой оправдан, если не совсем уж колхозить, а сделать аккуратно.
Спасибо за наводку на модуль Bluetooth, я как раз неспешно переделываю один винтажный, но не имеющий особой коллекционной ценности бумбокс на современную начинку, мне этот модуль пригодится, вот в таком форм факторе не попадался. Но я замахнулся на переделку шкалы и замене её на монитор (ну зачем мне СВ/ДВ?). Поскольку в таком вытянутом виде мониторчик фиг найдёшь, я купил восемь штук, поставлю их в ряд и посажу их на мультиплексор. Мож к лету доделаю.
Эх, ностальгия, у нас был Аккорд (или Рига?). Такой с колонкой наверху, монофонический. В колонке стоял 4ГД-35, я сделал новый ящик и переделал на двухполосную, звух улучшился на порядок (насколько он может быть хорош на вертушке третьего класса). А Вега - был магнитофон, там ручки такие же, забавно.
Меня тоже эта "мода на винил" не обошла стороной — я несколько лет назад на барахолке таки купил Technics SL-B31 за 30 Евро, затем усилитель Onkyo A8620, это ещё полтинник, а акустика Kenwood LS880A была — я забрал у соседа даром, у неё низкочастотники рассыпались, я хотел было купить ремкомплект, но головки для сабвуферов, тоже Kenwood, встали туда как родные. Тут главное — вовремя остановиться, первым делом я сделал апгрейд иглы звукоснимателя на Tonacord Diamant, это ещё 20 евро... Но при такой б/у технике надо быть готовым к замене компонентов, в Onkyo пришлось залезть с паяльником, там реле одно отвалилось и электролиты явно на подходе.
Надо сказать, что если сравнить винил и хорошую оцифровку с Hi-Res плеера, то в смысле "качества" разницы особой нет. Звук "окрашен" по другому, ну и щелчков и мусора больше. Я в основном больше цифру слушаю, нежели аналог.
энтропия 16-символьных паролей, сгенерированных с помощью LLM, составляет около 27 и 20 бит соответственно. Для действительно случайного пароля метод статистики символов ожидает энтропию в 98 бит, в то время как метод, использующий логарифмические вероятности самого LLM, ожидает энтропию в 120 бит.
Любопытно, как можно получить 120 бит энтропии из 16 символьной строки в предположении, что используются только печатабельные ASCII символы, там вроде больше 105 не получить. Вот если взять юникод, то можно и сильно больше, но не везде такие символы можно ввести.
совокупное воздействие отказов оборудования, пробелом в квалификации, ошибок руководства и культурных различий
"культурных различий" звучит в данном контексте несколько двусмысленно, хотя имеется ввиду западная калька "cultural contributors/cultural breakdowns", то есть "корпоративная культура". Но мог быть и аутсорсинг, конечно.
Я просто вспомнил инцидент с MCAS, стоивший человечеству почти триста пятьдесят жизней и продемострироваший что как раз тут не всё ладно у Боинга с культурой разработки отказоустойчивых систем. Хотя, конечно, экстраполировать MCAS на Starliner было бы неверно, там могли работать разные группы, но общее снижение инженерной культуры на фоне увеличивающейся сложности систем оно в общем есть.
Но на тему именно культуры инжиниринга у меня есть пара примеров из жизни. Смотрите, есть специальный стенд проверки и контроля довольно ответственных деталей и вот раз в несколько месяцев там появляется сообщение-диалог "не могу сохранить данные". Дотошный заказчик отправляет в техподдержку скриншот, но собственно потерянных данных не видит, вроде всё работает как надо. После подтверждения диалог не появляется. Но проходит несколько месяцев и возникает снова. Программист разумный немедленно обкладывает весь стек вызовов логами, статически анализирует все цепочки, ведущие к этому диалогу и пытается спровоцировать его появление нагрузочными тестами (там очевидно, состояние гонки где-то сидит). Но программист в одной жаркой стране бодро рапортует — мы это дело пофиксили. Мне интересно, потому что там не всё тривиально, я участвую в ревью и с изумлением вижу... закомментированный диалог! Вот так всё просто. Нет диалога — нет проблем. На мой осторожный вопрос, что до причины-то спонтанного залёта в эту ветку вы не докопались, следует ответ — но заказчик же не пишет что данные теряются. При этом попытка объяснить, что у любого наблюдаемого поведения обычно есть рациональное объяснение, и несмотря на всю магию, компьютер, даже под Windows в общем несложная и довольно детерминированная штука тут встречает непонимание. Другой пример — стенд со спец программой крешится раз в неделю примерно. Программисты найти проблему не могут. Я подключаюсь, смотрю логи, вижу что креш идёт каждые 512 деталек и точно — одна из процедур оставляет открытые файлы и налетает на лимит, пишу отчёт. На ревью вижу гениальный фикс — "мы увеличили лимит до 8К". Ну да, теперь грабли будут стучать по лбу раз в четыре месяца. На моё осторожное "а просто закрыть файл за собой вы не пробовали?" следут гениальное "а вот это рискованный фикс, потому как этот хендл может ведь понадобиться где-нибудь дальше в открытом виде". Где-то так. Я сам разгильдяй местами, но не до такой же степени.
Может и так, я где-то читал, как оно там устроено, он температуру не меряет, а просто смотрит на команды, сколько их через сколько ядер летит и соответственно частоту снижает, там просто таблицы, то есть это не термальный троттллинг, который в теории может и на успеть. Хасвелл вот и на командах AVX2 до максима не бустился.
Ещё, кстати, AVX 512 может заметно дропать частоту ядер (ему просто больше транзисторов в моменте переключать надо), и по итогу выигрыш заметно меньше ожидаемого. Я как-то кучу времени угрохал, перекладывая AVX2 на 512 (команды там и правда разные и иногда просто тупой сменой ширины регистров не обойтись) и был сильно разочарован приростом, в два раза там и близко не было.
Это в общем от компилятора зависит, если взять один и тот же код и скомпилять, скажем, Студией, интеловским OneAPI и gcc, то может быть быстрее и так и сяк, вот как раз интеловскому индексы могут "нравиться", ему с ними векторизовать легче. Это даже от версии компилятора может зависеть, прогресс на месте не стоит. Я обычно нагруженные циклы профилировщиком смотрю, и в принципе при некоторой "насмотренности" по ассемблерному коду уже более-менее видно, надо ли менять одну форму на другую или нет.
Ну да, налоги в разных странах сильно разные. С электроэнергией та же история — в соседней Франции оно заметно дешеле, чем в Германии, центов этак на десять, но это связано (по момему дилетантскому мнению) с тем, что там ядрёные станции, а в Германии — "зелёные" технологии. Я вот принципиально против резкого закрытия атомных станций, переходить на возобновляемые источники, конечно надо, но это не должен быть резкий переход. Хотя при таких ценах на бензин мне заправлять мой гибрид из бытовой розетки уже экономически выгоднее нежели бензином. Но здесь та же история — "ура, закроем нафиг атомные станции!", ну и вот — потребители и платят по итогу за эти скоропалительные решения.
Пропаганда, конечно врёт, на то она и пропаганда, но фотка выше — уже с "лоукостер" заправки, так-то Shell да Aral ещё выше, но не намного, здесь нет вот прям "драматической" разницы между дешёвыми и дорогими заправками, двадцать центов — уже хорошо. Те, кто у границы живёт, могут делать бензин-туры, я вот в Люксембурге этой зимой за 1,40 заправлялся, а сейчас — 1,65 вроде.
Да, ценник на бензин нынче не радует, в Германии вот скакнул с 1,70 до 2,20; я на прошлой неделе по 2,11 заправлялся, оставлю тут для истории:
Меня в общем наука и технологии интересуют значительно больше политики, но вот программируя всяко разно, я обычно сначала думаю, а потом делаю, а власть предержащие похоже, вначале делают, а лишь потом думают как это расхлёбывать, а расплачиваются за эти упражнения обычные обыватели.
Если уж собирать тут коллекцию обновившихся диагностических утилит, то ещё и AIDA64 обновилась до 8.25.8200 в конце февраля, 24-го, если быть дотошным.
Я как раз занят в производстве похожих систем, только для автопромышленности. Такие светофоры у нас тоже стоят, но практически каждая система наружу отдаёт свой статус "жива/не жива", сейчас это через OPC UA принято делать, и это обычно оговаривается в контракте. Причём заказчик пошёл ленивый, он просит до кучи считать время простоя за последние 24 часа в процентах, считать детали и всё такое. Иногда уже после запуска просят добавить какие-то доп параметры (это стоит денег, но по итогу он получает выгоду от автоматического анализа этих данных). С распознаванием камерами - это оверинжиниринг. Уж тогда фотоэлементы можно было изолентой к светофорам примотать - было б дёшево и сердито и 100% распознавания.
Обычно для любого наблюдаемого феномена существует рациональное объяснение, чудес не бывает, вы можете попробовать запустить мой setup (в виртуалке, если не доверяете) чтобы локализовать проблему (это может проблема как сборки, так и запуска конкретно у вас) и если вы закинете куда-нибудь ваш проект, включая setup и скриншот как выглядит ошибка, хоть на тот же гитхаб, то я могу запустить это у себя, отреверсить и пробежать его под отладчиком, чтобы понять откуда ноги растут у этого сообщения. Я никогда такого не видел, но поскольку вы не одиноки, то коммьюнити будет благодарно, если мы разберёмся, в общем я готов попробовать помочь в свободное время.
Может, вы что-то делаете неправильно, у меня работает без проблем на 11, правда это LTSC — я себе сделал русско-немецкую клаву, расставив все знаки так, чтобы они на обоих языках оставались строго на одних и тех же местах (скобки со сдвигом на одну особо доставали). Правда ь и ю пришлось загнать в верхний ряд. Вот репозиторий с исходниками — может поможет понять, что у вас отличается.
В общем, кстати, верно — ИИ действительно увеличивает нагрузку, в том смысле, что это как вождение с адаптивным круиз-контролем (это который автоматом дистанцию держит), я с ним езжу иногда, но побаиваюсь, что он въедет в зад впереди идущей машины, это вызывает некоторое напряжение и усталость. Но вот смотрите, — много лет назад я попытался реализовать преобразование Фурье-Меллина, убил неделю да бросил, а вот теперь с ИИ я получил рабочий код за выходные (хоть и не с первой попытки, там окно Хэмминга надо правильно применить). Или вот сейчас — по ходу работы мне потребовался метод Оцу для вычисления порога бинаризации и затем Фильтр Савицкого — Голея для кой-какого сглаживания, причём по условиям задачки заказчик хочет видеть верифицируемый код, а не закрытые библиотечные функции, и эта штука выдаёт мне готовый живой код на Расте. Там, в общем нет ничего адски сложного, но много аккуратной рутинной работы по массивам данных, а тут я всё получаю из промптов, скармливаемых копилоту, и это офигенно, как я считаю. Это ещё держит в напряжении оттого, что я таки бегло просматриваю что он там выдаёт, только сегодня около тысячи строк математики, но так быстро я ещё никогда в жизни не работал, хотя устаю, пожалуй чуть сильнее чем раньше, когда на отладку сотни строк можно было день положить. Может для юных джунов-падаванов всё это само собой разумеется, но я-то всё ещё помню, как программил четверть века назад.
Спасибо! Небольшое "алаверды" к теме измерения разрешения из другой области, возможно кому-нибудь будет любопытно. Это также делается при использовании рентгена (неразрушающий контроль всяких деталей). Это нужно, потому что пятно рентгеновской трубки представляет собой не идеальный точечный источник, а имеет вполне определённый размер:
причём по ширине и высоте значения могут быть разные разные, так что измерение в общем случае производится в двух направлениях. Ну а поскольку это дело зависит от геометрии, то оно и называется геометрической нерезкостью. Разрешение нам надо знать, чтобы понимать насколько мелкие детали или дефекты мы сможем расмотреть на рентгеновском изображении.
Для измерения берётся вот такой проволочный эталон:
Там вольфрамовые проволочки разного диаметра, скажем номер 10 - это две проволочки диаметром сто микрон на таком же расстоянии между ними.
В рентгене это выглядит вот так:
Если увеличить, то вот:
Эталон размещают под углом два-пять градусов, чтобы избежать ситуации, когда проволочки точно совпадут с сеткой пикселей детектора, либо напротив, попадут между, это будет влиять на результаты. Тут как раз тот случай, когда муар нам нужен - мы осуществляем усреднение поперёк эталона (между красными линиями, стандарт требует взять 60% ширины).
Дальше строится профиль линии и смотрится в процентом соотношении насколько середина между проволочками "разрешается", это Dip называется:
И вот там, где у нас получается 20% в просвете между проволочками, тут интерполяция полиномом второй степени, это и есть разрешение в микронах:
Как-то так. На видимость дефектов также и контраст оказывает влияние, его определяют при помощи пенетраметров с дырочками, накладывая их на определённую толщину просвечиваемого материала, но это уже другая история:
Проблема надумана, в разумных дозах дум скроллинг может быть даже полезен. Я иногда замечаю там интересности, книги, фильмы и т.д. Вот намедни скроллил, не побоюсь признаться, короткие клипы ютьюбчика и там проскочил... унитаз, но я заметил имя Виктор Папанек, и сейчас читаю "Дизайн для реального мира", как-то раньше мне она не попалась, а вот не думскроллил бы - прошла бы хорошая книга мимо.
Спасибо, возьму на заметку, но мне надо ниже и длиннее, 35х300 мм где-то, такой фиг найдёшь, вот сюда:
Нашё в интернет архиве, как оно выглядит в оригинале. Вот, на стр.294:
https://archive.org/details/lalgebra00bomb/page/294/mode/2up
Это зависит от "оригинала" и переделки, бывает, что коллекционная ценность невелика и ужасная, рассыпавшаяся от старости механика, и слабая схемотехника, ужасный звук, но чисто внешне смотрится норм, тогда апгрейд современной начинкой оправдан, если не совсем уж колхозить, а сделать аккуратно.
В наушниках ТА-56М?
Спасибо за наводку на модуль Bluetooth, я как раз неспешно переделываю один винтажный, но не имеющий особой коллекционной ценности бумбокс на современную начинку, мне этот модуль пригодится, вот в таком форм факторе не попадался. Но я замахнулся на переделку шкалы и замене её на монитор (ну зачем мне СВ/ДВ?). Поскольку в таком вытянутом виде мониторчик фиг найдёшь, я купил восемь штук, поставлю их в ряд и посажу их на мультиплексор. Мож к лету доделаю.
Эх, ностальгия, у нас был Аккорд (или Рига?). Такой с колонкой наверху, монофонический. В колонке стоял 4ГД-35, я сделал новый ящик и переделал на двухполосную, звух улучшился на порядок (насколько он может быть хорош на вертушке третьего класса). А Вега - был магнитофон, там ручки такие же, забавно.
Меня тоже эта "мода на винил" не обошла стороной — я несколько лет назад на барахолке таки купил Technics SL-B31 за 30 Евро, затем усилитель Onkyo A8620, это ещё полтинник, а акустика Kenwood LS880A была — я забрал у соседа даром, у неё низкочастотники рассыпались, я хотел было купить ремкомплект, но головки для сабвуферов, тоже Kenwood, встали туда как родные. Тут главное — вовремя остановиться, первым делом я сделал апгрейд иглы звукоснимателя на Tonacord Diamant, это ещё 20 евро... Но при такой б/у технике надо быть готовым к замене компонентов, в Onkyo пришлось залезть с паяльником, там реле одно отвалилось и электролиты явно на подходе.
Надо сказать, что если сравнить винил и хорошую оцифровку с Hi-Res плеера, то в смысле "качества" разницы особой нет. Звук "окрашен" по другому, ну и щелчков и мусора больше. Я в основном больше цифру слушаю, нежели аналог.
Любопытно, как можно получить 120 бит энтропии из 16 символьной строки в предположении, что используются только печатабельные ASCII символы, там вроде больше 105 не получить. Вот если взять юникод, то можно и сильно больше, но не везде такие символы можно ввести.
"культурных различий" звучит в данном контексте несколько двусмысленно, хотя имеется ввиду западная калька "cultural contributors/cultural breakdowns", то есть "корпоративная культура". Но мог быть и аутсорсинг, конечно.
Я просто вспомнил инцидент с MCAS, стоивший человечеству почти триста пятьдесят жизней и продемострироваший что как раз тут не всё ладно у Боинга с культурой разработки отказоустойчивых систем. Хотя, конечно, экстраполировать MCAS на Starliner было бы неверно, там могли работать разные группы, но общее снижение инженерной культуры на фоне увеличивающейся сложности систем оно в общем есть.
Но на тему именно культуры инжиниринга у меня есть пара примеров из жизни. Смотрите, есть специальный стенд проверки и контроля довольно ответственных деталей и вот раз в несколько месяцев там появляется сообщение-диалог "не могу сохранить данные". Дотошный заказчик отправляет в техподдержку скриншот, но собственно потерянных данных не видит, вроде всё работает как надо. После подтверждения диалог не появляется. Но проходит несколько месяцев и возникает снова. Программист разумный немедленно обкладывает весь стек вызовов логами, статически анализирует все цепочки, ведущие к этому диалогу и пытается спровоцировать его появление нагрузочными тестами (там очевидно, состояние гонки где-то сидит). Но программист в одной жаркой стране бодро рапортует — мы это дело пофиксили. Мне интересно, потому что там не всё тривиально, я участвую в ревью и с изумлением вижу... закомментированный диалог! Вот так всё просто. Нет диалога — нет проблем. На мой осторожный вопрос, что до причины-то спонтанного залёта в эту ветку вы не докопались, следует ответ — но заказчик же не пишет что данные теряются. При этом попытка объяснить, что у любого наблюдаемого поведения обычно есть рациональное объяснение, и несмотря на всю магию, компьютер, даже под Windows в общем несложная и довольно детерминированная штука тут встречает непонимание. Другой пример — стенд со спец программой крешится раз в неделю примерно. Программисты найти проблему не могут. Я подключаюсь, смотрю логи, вижу что креш идёт каждые 512 деталек и точно — одна из процедур оставляет открытые файлы и налетает на лимит, пишу отчёт. На ревью вижу гениальный фикс — "мы увеличили лимит до 8К". Ну да, теперь грабли будут стучать по лбу раз в четыре месяца. На моё осторожное "а просто закрыть файл за собой вы не пробовали?" следут гениальное "а вот это рискованный фикс, потому как этот хендл может ведь понадобиться где-нибудь дальше в открытом виде". Где-то так. Я сам разгильдяй местами, но не до такой же степени.