Возможная причина чудесного совпадения: пока часы на руке, тепло от руки греет батарейку, а в теплой батарейке реакция идет активнее, и в результате батарейка может давать больший ток, у почти умершей батарейки разница может быть существенной. Многократно сталкивался с похожим — на руке часы идут точно, а когда полежат несколько часов — начинают отставать, верный признак, что батарейку пора менять.
Жду с нетерпением хотя бы одной истории, как какой-нибудь дефект, существенно влияющий на работу программы, все никак не могли найти, а потом ВДРУГ запустили Статический Анализатор Х — и он десять минут подумал и этот дефект нашел. Пока все на уровне «плотность ошибок снизилась».
Одно округление — да, но вычислений-то много, и округлений много и вместе они накапливаются. Там выполнялось LU-разложение матрицы, но были такие условия, что матрица гарантированно оказывалась вырожденной, т.е. не могла быть подвергнута LU-разложению, формально проведенное разложение дало бы деление на ноль. Из-за накопления погрешностей вместо деления на ноль происходило деление на очень малые значения, и формально оно проходило, но получался мусор.
детального описания, которое достаточно для того, чтобы другие могли написать аналогичный код и сделать такой же эксперимент
Помню, я как-то потратил три недели на воспроизведение результата по такому детальному описанию. В итоге выяснилось, что при описанных условиях вычисления подвержены таким бешеным погрешностям округления, что все результаты представляют собой просто мусор. А работа была такая серьезная, много умных букв и матана… Был бы опубликован код — занялся бы чем-нибудь более полезным.
Как алгоритмизовать — не знаю. Да, видимо, нужен ИИ, но сканер-то нужно еще устанавливать и подключать — далеко не все согласятся ставить себе дополнительную вряд ли дешевую железку.
Небольшая, но очень значимая поправка: не ошибочных, а потенциально ошибочных.
Анализ ищет куски кода, формально соответствующие каким-то правилам, но он не знает, ошибка это или нет. Просто правила формулируются так, чтобы под них подпадали преимущественно ошибочные куски кода.
При этом анализатор ничего не знает о влиянии этого куска на работу программы. Может быть, ошибка ужасающе тупая и сразу убивает программу, но управление никогда не приходит в этот кусок кода — тогда она никогда не проявится у клиента.
Что считать критической ошибкой? Нет, ошибка в анализаторе вряд ли позволит включить ваш компьютер в ботнет и вряд ли приведет к краже всех ваших денег. Зато, например, может приводить к падению при анализе какой-нибудь конструкции — пользоваться анализатором станет невозможно. Или приводить к выдаче тысяч нерелевантных диагностических сообщений — пользоваться анализатором станет невозможно. Или приводить к невыдаче диагностических сообщений — анализатор будет в упор смотреть на код с дефектом, который должен уметь выявлять, и не выявлять дефект. Это первые чисто гипотетические примеры, которые приходят в голову.
Вообще довольно креативно. Пока другие компании парятся над написанием чего-то хотя бы пытающегося быть интересным и отвечают на не всегда удобные комментарии,
1. платим за корпоративный блог
2. пишем чисто рекламные посты с отключенным голосованием, чтобы минусы не портили сладкую маркетинговую плюшку, на комментарии не отвечаем
3. получаем рекламную площадку с большой аудиторией и, видимо, относительно невысокой ценой
4. ????
5. ПРИБЫЛЬ
Владельцы генератора были на первом этаже, им отключили подачу электроэнергии (видимо, за неуплату — не знаю). Они поставили под окна генератор. Выхлоп генератора поднимался вверх и затягивался в окна второго и более высоких этажей.
Вы, похоже, сравниваете двигатель бензопилы и автомобильный. Зря. В автомобиле есть каталитический конвертер, плюс более крупный двигатель сжигает топливо чище, потому что лучше прогрет и в нем больше цилиндры и топливо сгорает полнее.
Металлопластик не герметичный, иначе жильцы бы задохнулись, в нем специально оставляют отверстия для поступления воздуха. Отверстия такого сечения, что в крупных городах через полгода рядом с ними собираются пятна копоти. И «мелкий моторчик» генератора дает достаточную концентрацию подходящих веществ, чтобы сделать существование тех соседей невыносимым, я на их месте пару дней был, запомнил надолго. Это действительно не перфоратор — это гораздо хуже.
Это значительно увеличит прибыль компаний, ведь трудно даже представить, сколько денег теряют кинокомпании только из-за того, что человеку лень идти в кинотеатр.
Обожаю такие предложения. В первой части предложения все еще честно — хотят больше денег, а второй — уже бедные стоящие на грани нищеты кинокомпании. Даже лучше, чем взаимоисключающие параграфы.
Вас может ждать очень неприятный сюрприз, когда спустя год вы обнаружите, что ИБП почему-то перестал работать, а при вскрытии увидите съеденный коррозией и обломившийся провод. Сталкивался с таким при пайке и использовании ничтожных количеств лимонной кислоты в качестве флюса — через несколько месяцев провод просто обламывается.
если вы перелили воды — она вернется из под крышки
Из-под крышки вернется не вода, а разбавленный электролит — серная кислота.
Серная кислота очень химически активна, даже при небольших концентрациях вызывает сильную коррозию металлических деталей. В случае батареи первыми страдают выведенные наружу контакты и присоединенные к ним провода.
Так что все, на что попала вернувшаяся из-под крышки «вода» нужно тщательно промыть — сначала раствором питьевой соды, потом водой.
Возможная причина чудесного совпадения: пока часы на руке, тепло от руки греет батарейку, а в теплой батарейке реакция идет активнее, и в результате батарейка может давать больший ток, у почти умершей батарейки разница может быть существенной. Многократно сталкивался с похожим — на руке часы идут точно, а когда полежат несколько часов — начинают отставать, верный признак, что батарейку пора менять.
Помню, я как-то потратил три недели на воспроизведение результата по такому детальному описанию. В итоге выяснилось, что при описанных условиях вычисления подвержены таким бешеным погрешностям округления, что все результаты представляют собой просто мусор. А работа была такая серьезная, много умных букв и матана… Был бы опубликован код — занялся бы чем-нибудь более полезным.
Небольшая, но очень значимая поправка: не ошибочных, а потенциально ошибочных.
Анализ ищет куски кода, формально соответствующие каким-то правилам, но он не знает, ошибка это или нет. Просто правила формулируются так, чтобы под них подпадали преимущественно ошибочные куски кода.
При этом анализатор ничего не знает о влиянии этого куска на работу программы. Может быть, ошибка ужасающе тупая и сразу убивает программу, но управление никогда не приходит в этот кусок кода — тогда она никогда не проявится у клиента.
Что считать критической ошибкой? Нет, ошибка в анализаторе вряд ли позволит включить ваш компьютер в ботнет и вряд ли приведет к краже всех ваших денег. Зато, например, может приводить к падению при анализе какой-нибудь конструкции — пользоваться анализатором станет невозможно. Или приводить к выдаче тысяч нерелевантных диагностических сообщений — пользоваться анализатором станет невозможно. Или приводить к невыдаче диагностических сообщений — анализатор будет в упор смотреть на код с дефектом, который должен уметь выявлять, и не выявлять дефект. Это первые чисто гипотетические примеры, которые приходят в голову.
1. платим за корпоративный блог
2. пишем чисто рекламные посты с отключенным голосованием, чтобы минусы не портили сладкую маркетинговую плюшку, на комментарии не отвечаем
3. получаем рекламную площадку с большой аудиторией и, видимо, относительно невысокой ценой
4. ????
5. ПРИБЫЛЬ
Владельцы генератора были на первом этаже, им отключили подачу электроэнергии (видимо, за неуплату — не знаю). Они поставили под окна генератор. Выхлоп генератора поднимался вверх и затягивался в окна второго и более высоких этажей.
Вы, похоже, сравниваете двигатель бензопилы и автомобильный. Зря. В автомобиле есть каталитический конвертер, плюс более крупный двигатель сжигает топливо чище, потому что лучше прогрет и в нем больше цилиндры и топливо сгорает полнее.
Если выхлоп затянет в окна соседей (например, сверху), они будут очень недовольны. И им будет наплевать на вашу экстренную ситуацию.
Обожаю такие предложения. В первой части предложения все еще честно — хотят больше денег, а второй — уже бедные стоящие на грани нищеты кинокомпании. Даже лучше, чем взаимоисключающие параграфы.
Из-под крышки вернется не вода, а разбавленный электролит — серная кислота.
Серная кислота очень химически активна, даже при небольших концентрациях вызывает сильную коррозию металлических деталей. В случае батареи первыми страдают выведенные наружу контакты и присоединенные к ним провода.
Так что все, на что попала вернувшаяся из-под крышки «вода» нужно тщательно промыть — сначала раствором питьевой соды, потом водой.