February 2026

S M T W T F S
1234567
8 9101112 1314
15161718192021
22232425262728

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Friday, May 8th, 2020 03:39 pm
Code Review of Ferguson’s Model

В общем, то, что код этой модели ужасен и в нем черт ногу сломит - довольно неудивительно. Даже у программистов с этим часто проблемы, а уж у непрограммистов - пиши пропало. Но там другой прикол - что когда им указывают на то, что в их модели полно багов и race conditions, они говорят "ну так это ж стохастическая модель, конечно она разные результаты выдаёт!" и рекомендуют, если уж такие вы придиры, запускать её single-threaded.

В то, что учёные, занимающиеся вероятностным моделированием, не видят разницы между стохастической моделью и случайным мусором, который вбрасывают в неё баги в коде - я не верю. Это всё равно, что биолог бы плевал в пробирку с образцами со словами "ну а чё, там всё равно биологические материалы!". И тогда возникают вопросы - не пытаются ли нас надуть, в расчёте на то, что мы лохи и пользуясь умными словами типа "стохастический", нам можно продать любую лажу? И если да, то где ещё они нас пытаются кинуть и насколько?
Friday, May 8th, 2020 11:32 pm (UTC)
Случайным образом ткнул в код.

///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** /////
///// ***** ///// ***** ///// ***** ///// ***** ///// ***** GLOBAL VARIABLES (some structures in CovidSim.h file and some containers) - memory allocated later.
///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** ///// ***** /////


Программисты такое не пишут. Это ебанаты.

Лвдно. Я работал в H2O, там то же самое. Код, который вылетал раз в две недели, на определенном юниттесте. Важные персоны, объясняющие, что это все ошибки эксперимента. Мержи в мастера, где юниттесты рушатся как до, так и после. Объяснение: мы оптимисты, мы надеемся, что не добавим ошибо.

А эта хрень, раз в две недели - это у них "random()", который засевают от systemTimeMillis; этот рандом используется для вычисления тангенса; так арктангенс в питоне и джаве получается разный. С какого бы хуя? А они когда в джейсон сериализуют, то "округляют" путем прибавления одной миллионной. Тангенс же. Иногда он почти вертикален.

Ну вот такие профессионалы эти "data scientists".
Friday, May 8th, 2020 11:37 pm (UTC)
Ну да. Главное чтоб картинка была красивая.
Friday, May 8th, 2020 11:47 pm (UTC)
Да, с тангенсом весело.
Saturday, May 9th, 2020 12:02 am (UTC)
Тут трюк в том, что берем то же самое число, и, по идее, хоть питон, хоть джава вызывают одну и ту же команду. Дурь происходит при сериализации "случайного числа".
Saturday, May 9th, 2020 12:19 am (UTC)
Ну так я и говорю, что тангенс округлять опасно, в линке важнее история с Фейнманом, чем обломы калькуляторов.
Saturday, May 9th, 2020 03:58 am (UTC)
Я не случайным образом, а с самого верха открыл, увидел переменные i1, i2, j1, j2 и немедленно закрыл. Я такой код в прошлом веке подтирал за общепризнанным "маэстро", на всю жизнь хватило.
Saturday, May 9th, 2020 07:03 am (UTC)
В современном коде наличие внешних счётчиков цикла вообще пугает.
Saturday, May 9th, 2020 07:59 am (UTC)
> Я работал в H2O, там то же самое.

Я работал в конкуренте H2O.
Там было сильно лучше, в основном потому что дата саентистов били по рукам и без вазелина.