Сегодня ловил классический баг: в дебаге работает, в релизе нет.
"Вот блядь", думаю я, предвкушая поиск неинициализированной переменной в горе кода, который писал не я, да еще и с хитрой математикой под капотом.
Натравил cppcheck и clang, поправил подозрительные места - не оно.
Запустил отладку в релизе, добрался до математики, добрался до библиотеки. Все это очень подозрительно, а что если отключить оптимизицию?
Вот, -Ofast с fast math ломала расчеты, а обнаружилось это сразу после обновления ОС, всех библиотек и компилятора.
Легко отделался. Не включайте -Ofast, если вам важны результаты вычислений вашей программы. А если не важны, тоже не включайте, потому что тогда вообще хуй угадаешь откуда ноги растут.
"Вот блядь", думаю я, предвкушая поиск неинициализированной переменной в горе кода, который писал не я, да еще и с хитрой математикой под капотом.
Натравил cppcheck и clang, поправил подозрительные места - не оно.
Запустил отладку в релизе, добрался до математики, добрался до библиотеки. Все это очень подозрительно, а что если отключить оптимизицию?
Вот, -Ofast с fast math ломала расчеты, а обнаружилось это сразу после обновления ОС, всех библиотек и компилятора.
Легко отделался. Не включайте -Ofast, если вам важны результаты вычислений вашей программы. А если не важны, тоже не включайте, потому что тогда вообще хуй угадаешь откуда ноги растут.
Тред "нечего на язык пенять, если ты ебалай" https://twitter.com/FelixTheBest/status/1147034506588766214
Twitter
Felix The Bestovitch
(читая наезды на C) Рефлексировал давеча о том, какие совершаю ошибки и откуда берётся невнимательность, приводящая к коду категории «= вместо ==». Думаю, очень часто невнимательность — она потому, что разработчик не хочет быть внимательным в этом коде, на…
Позвольте мне в пятницу вечером дать ссылку на обоссанный TJ, потому что это забавно
https://tjournal.ru/tech/105088-polzovateli-stack-exchange-rasskazali-kak-dergane-myshyu-na-samom-dele-uskoryalo-rabotu-v-windows-95
https://tjournal.ru/tech/105088-polzovateli-stack-exchange-rasskazali-kak-dergane-myshyu-na-samom-dele-uskoryalo-rabotu-v-windows-95
TJ
Пользователи Stack Exchange рассказали, как дёрганье мышью на самом деле ускоряло работу в Windows 95 — Технологии на TJ
Оказывается, это правда работало.
Forwarded from ITGram
Dockerfile Best Practices -- кратко, с картинками и объяснением, почему и зачем.
Docker
Docker Blog | Docker
2025 was the year software teams stopped optimizing models and started optimizing systems. By December, a few truths were impossible to ignore. 1. Developer Productivity Became the Real Competitive Advantage By mid-year, every major AI lab had cleared the…
Исходники старых игр
https://archive.org/details/gamesourcecode&tab=about
https://archive.org/details/gamesourcecode&tab=about
archive.org
Game Source Code Collection : Free Software : Free Download, Borrow and Streaming : Internet Archive
This is a collection of computer game source code. The majority of these titles were originally released as commercial products and the source code was made available to the public at a later time. Developers have released these assets under varying licenses.…
Как я вливал 2 репы в одну с сохранением истории
- Подтянуть одну репу в другую с помощью git subtree
- Поправить cmake
- Здесь все должно было закончиться
- Починить линковку
- Починить тесты
- Обнаружить, что тесты не проходят только локально (пора почистить кэш конан-пакетов).
Прекрасно, просто прекрасно (проебаные пол дня).
- Подтянуть одну репу в другую с помощью git subtree
- Поправить cmake
- Здесь все должно было закончиться
- Починить линковку
- Починить тесты
- Обнаружить, что тесты не проходят только локально (пора почистить кэш конан-пакетов).
Прекрасно, просто прекрасно (проебаные пол дня).
Как не надо делать в CMake (полезно, теперь планирую исправить одну штуку, но до сегодняшнего для ее исправить было муторно) http://voices.canonical.com/jussi.pakkanen/2013/03/26/a-list-of-common-cmake-antipatterns/
Forwarded from N + 1
Нейросети чаще всего воплощают в виде компьютерных программ, но на самом деле их можно реализовать и другими способами. В новой работе ученые показывают, что кусок стекла с правильно размещенными внутри неоднородностями может производить «вычисления» и распознавать рукописные цифры. Главным преимуществом такой нейросети является абсолютная пассивность, то есть для ее работы не требуется энергия
http://short.nplus1.ru/optneunetwork
http://short.nplus1.ru/optneunetwork
Продолжая тему CMake. Нашел очень полезный флаг - CMAKE_INSTALL_RPATH_USE_LINK_PATH.
Как понятно из названия, он сохраняет RPATH, использующийся при линковке. Полезно, если у вас куча зависимостей ГДЕ-ТО в загадочных местах системы, например это конан пакеты или вы просто ебанутый.
Ну а я этого раньше не знал, потому что разрабатывал под виндовс и это место не болело.
Как понятно из названия, он сохраняет RPATH, использующийся при линковке. Полезно, если у вас куча зависимостей ГДЕ-ТО в загадочных местах системы, например это конан пакеты или вы просто ебанутый.
Ну а я этого раньше не знал, потому что разрабатывал под виндовс и это место не болело.