Forwarded from Техножрица 👩💻👩🏫👩🔧
Итак, небольшой ликбез по "научным закрытиям" - то есть, опровержениям и "отмене" научных исследований, которые на поверку оказались ошибочными или содержали подтасовки, а также список ресурсов, из которых можно об этих "закрытиях" узнавать.
—
В идеале заведомо ошибочные или недобросовестные научные статьи должны отсекаться ещё на этапе рецензирования, но из-за несовершенства системы это удаётся сделать далеко не всегда. Бывает и так, что серьёзные ошибки или фальсификации выявляются уже после публикации, и тогда уважающий себя научный журнал отзывает такой материал (это называется "ретракция", фактически "отмена" статьи). После этого публикация больше не считается действительной и не учитывается в наукометрии. Сам текст статьи, как правило, остаётся доступен на сайте, но сверху на него добавляют большой штамп со словами "RETRACTED", "WITHDRAWN", "WRONG PROOF", "WRONG DATA" и т.п.
Также случается, что статьи отзывают не из-за фактических ошибок или подтасовок, а из-за нарушения других принципов scientific integrity (научной добросовестности), например, плагиата или отсутствия добровольного информированного согласия пациентов на эксперимент. К сожалению, редакция журнала не всегда дает подробное объяснение того, почему именно статью отозвали, а ведь знать причины может быть важно, чтобы сделать правильные выводы. Однако, существует ряд ресурсов, которые систематически разбирают причины ретракций, а также указывают на ошибки и подтасовки в ещё не отозванных статьях:
1️⃣ Retraction Watch ( https://retractionwatch.com/ ) - пожалуй, самый известный блог на тему научных скандалов и ретракций, основанный научными журналистами Ivan Oransky и Adam Marcus. Кроме блога, авторы создали некоммерческую организацию под названием Center for Scientific Integrity и базу данных отозванных статей. В этой базе описана информация о том, где, когда и кем была опубликована каждая статья + краткие причины её отзыва. Любители анализа данных могут скачать её здесь: https://gitlab.com/crossref/retraction-watch-data/-/blob/main/retraction_watch.csv и посчитать по ней какие-нибудь интересные статистики.
2️⃣ Data Colada ( https://datacolada.org/ ) - блог, занимающийся выявлением статистических аномалий в данных из научных экспериментов - в основном, по behavioural science, - с целью разоблачений подтасовок. Пример - их анализ экспериментов печально известной Франчески Джино: https://datacolada.org/118 . Также ребята занимаются обнаружением p-hacking и других методологических проблем в исследованиях.
3️⃣ For Better Science ( https://forbetterscience.com/ ) - блог научного журналиста Leonid Schneider. Публикует журналистские расследования, как правило, связанные с научными скандалами в области медицины и биологии.
4️⃣ Science Integrity Digest ( https://scienceintegritydigest.com/ ) - блог микробиолога Elisabeth Bik с выявлением подлога в научных статьях, в основном, снова по биологии и медицине. Тут надо пояснить, что в таких статьях фотографии - например, клеток под микроскопом или результатов спектроскопии - нередко используются в качестве важного подтверждения правильности выводов. Так вот, Элизабет специализируется на выявлении фальсификаций в подобных изображениях - например, копипасты или следов использования фотошопа.
5️⃣ PubPeer ( https://pubpeer.com/ ) - ресурс, на котором можно рецензировать научные статьи пост-фактум уже после публикации, находить и анонимно описывать найденные в них ошибки и махинации. В основном посвящен статьям по биологии, медицине, но также рассматриваются статьи и по другим естественным наукам.
Что же касается моей научной области ( AI / ML / DL ), тут с отслеживанием ретракций всё сложно: специальных блогов на эту тему я не находила, да и сами ретракции случаются редко и проходят почти незамеченными. Максимум - где-нибудь в Proceedings появится пометка "withdrawn", да на https://openreview.net/ повезет найти обсуждение, из которого понятно, что пошло не так. И то не всегда: часть таких дискуссий остаётся закрытой. Надеюсь, эта ситуация улучшится в будущем.
#академический_ликбез #наука
—
В идеале заведомо ошибочные или недобросовестные научные статьи должны отсекаться ещё на этапе рецензирования, но из-за несовершенства системы это удаётся сделать далеко не всегда. Бывает и так, что серьёзные ошибки или фальсификации выявляются уже после публикации, и тогда уважающий себя научный журнал отзывает такой материал (это называется "ретракция", фактически "отмена" статьи). После этого публикация больше не считается действительной и не учитывается в наукометрии. Сам текст статьи, как правило, остаётся доступен на сайте, но сверху на него добавляют большой штамп со словами "RETRACTED", "WITHDRAWN", "WRONG PROOF", "WRONG DATA" и т.п.
Также случается, что статьи отзывают не из-за фактических ошибок или подтасовок, а из-за нарушения других принципов scientific integrity (научной добросовестности), например, плагиата или отсутствия добровольного информированного согласия пациентов на эксперимент. К сожалению, редакция журнала не всегда дает подробное объяснение того, почему именно статью отозвали, а ведь знать причины может быть важно, чтобы сделать правильные выводы. Однако, существует ряд ресурсов, которые систематически разбирают причины ретракций, а также указывают на ошибки и подтасовки в ещё не отозванных статьях:
1️⃣ Retraction Watch ( https://retractionwatch.com/ ) - пожалуй, самый известный блог на тему научных скандалов и ретракций, основанный научными журналистами Ivan Oransky и Adam Marcus. Кроме блога, авторы создали некоммерческую организацию под названием Center for Scientific Integrity и базу данных отозванных статей. В этой базе описана информация о том, где, когда и кем была опубликована каждая статья + краткие причины её отзыва. Любители анализа данных могут скачать её здесь: https://gitlab.com/crossref/retraction-watch-data/-/blob/main/retraction_watch.csv и посчитать по ней какие-нибудь интересные статистики.
2️⃣ Data Colada ( https://datacolada.org/ ) - блог, занимающийся выявлением статистических аномалий в данных из научных экспериментов - в основном, по behavioural science, - с целью разоблачений подтасовок. Пример - их анализ экспериментов печально известной Франчески Джино: https://datacolada.org/118 . Также ребята занимаются обнаружением p-hacking и других методологических проблем в исследованиях.
3️⃣ For Better Science ( https://forbetterscience.com/ ) - блог научного журналиста Leonid Schneider. Публикует журналистские расследования, как правило, связанные с научными скандалами в области медицины и биологии.
4️⃣ Science Integrity Digest ( https://scienceintegritydigest.com/ ) - блог микробиолога Elisabeth Bik с выявлением подлога в научных статьях, в основном, снова по биологии и медицине. Тут надо пояснить, что в таких статьях фотографии - например, клеток под микроскопом или результатов спектроскопии - нередко используются в качестве важного подтверждения правильности выводов. Так вот, Элизабет специализируется на выявлении фальсификаций в подобных изображениях - например, копипасты или следов использования фотошопа.
5️⃣ PubPeer ( https://pubpeer.com/ ) - ресурс, на котором можно рецензировать научные статьи пост-фактум уже после публикации, находить и анонимно описывать найденные в них ошибки и махинации. В основном посвящен статьям по биологии, медицине, но также рассматриваются статьи и по другим естественным наукам.
Что же касается моей научной области ( AI / ML / DL ), тут с отслеживанием ретракций всё сложно: специальных блогов на эту тему я не находила, да и сами ретракции случаются редко и проходят почти незамеченными. Максимум - где-нибудь в Proceedings появится пометка "withdrawn", да на https://openreview.net/ повезет найти обсуждение, из которого понятно, что пошло не так. И то не всегда: часть таких дискуссий остаётся закрытой. Надеюсь, эта ситуация улучшится в будущем.
#академический_ликбез #наука
👍6❤2🔥1
Forwarded from Neural Meduza
МВД предложило ввести уголовную ответственность за административную ответственность
🫡14😁6🌚2
#prog #rust хайлайты:
Реализовали derive через macro_rules!-макросы. Учитывая, насколько часто код, генерируемый derive, весьма простой, это позволит сильно упростить их написание, а также избежать выделения отдельного крейта только под процедурный макрос и, разумеется, не компилировать макрос в отдельную программу, которая общается с компилятором по RPC.
Реализовали derive через macro_rules!-макросы. Учитывая, насколько часто код, генерируемый derive, весьма простой, это позволит сильно упростить их написание, а также избежать выделения отдельного крейта только под процедурный макрос и, разумеется, не компилировать макрос в отдельную программу, которая общается с компилятором по RPC.
GitHub
Implement declarative (`macro_rules!`) derive macros (RFC 3698) by joshtriplett · Pull Request #145208 · rust-lang/rust
This is a draft for review, and should not be merged yet.
This is layered atop #145153 , and has
only two additional commits atop that. The first handles parsing and provides a
test for various par...
This is layered atop #145153 , and has
only two additional commits atop that. The first handles parsing and provides a
test for various par...
❤5👍4🤯2🔥1
Forwarded from Астрофизика и митенки
Вроде никакой конфиденциальной инфы тут нет, так что не могу не поделиться этой шедевральной идеей )
Контекст - активисты из разных уголков земного шара придумывают разные способы оставаться на видеосвязи с активистами из РФ
Контекст - активисты из разных уголков земного шара придумывают разные способы оставаться на видеосвязи с активистами из РФ
😁27🤣13
Обнаружил, что в коде по работе одно и то же поле примитивного целочисленного типа имеет разный смысл в зависимости от того, в каком типе хранится объемлющая структура.
#трудовыебудни #бомбёжкипост
#трудовыебудни #бомбёжкипост
😭17❤🔥2🤯1
Forwarded from Кресты на моей кукухе
Есть известный мем про отсутствие менеджмента памяти в ракетах, потому что она утекает дольше, чем ракета летит
Тут, видимо, новый кейс нашёлся
Тут, видимо, новый кейс нашёлся
🤡18🤣15😁3
#prog #rust #itsec #article
hyper HTTP/2 (Didn't) MadeYouReset
Протокол HTTP/2 позволяет открыть несколько стримов поверх одного соединения, каждый из которых может быть отменён (reset) любой стороной в любой момент. В некоторых случаях это нужно сделать обязательно — например, когда одна из сторон присылает невалидные сообщения. Это сделало возможным уязвимость, названную MadeYouReset. Суть её в том, что злоумышленник инициирует соединение с максимально возможным числом стримов, а затем постоянно их сбрасывает путём отправки невалидных фреймов. Обработка всех этих запросов и следование протоколу отнимает ресурсы сервера, что делает возможным Denial of service.
Эта уязвимость очень схожа с уязвимостью Rapid Reset, но, как описано в статье от Cloudflare, она несколько более хитрая. Rapid Reset полагается на явную отмену стримов клиентом через посылку фрейма RST_STREAM. MadeYouReset же работает через посылку невалидных фреймов, заставляя сервер парсить запросы и отменять стримы уже с его стороны.
Многие реализации HTTP/2 на практике делали работу по обработке запроса даже после закрытия стрима. Простые меры предосторожности против Rapid Reset, отслеживающие только фреймы RST_STREAM от клиента, бесполезны против MadeYouReset.
h2 (Rust-библиотека для работы с протоколом HTTP/2) оказалась не подвержена этой уязвимости. Почему? На это есть несколько причин.
Во-первых, в h2 несколько лет назад добавили меру предосторожности против абьюза клиентами отмен стримов. Именно, h2 отслеживает, сколько раз фрейм от клиента привёл к отмене стрима со стороны клиента, и когда это число достигает настраиваемого порога, закрывает соединение целиком. Это уже хорошая защита, которая на практике успешно защищала от Rapid Reset, но она была не безупречна — для одного типа фреймов (WINDOW_UPDATE) на одном из путей исполнения это число не обновлялось (разумеется, это поправили).
Во-вторых, h2 — библиотека, а не фреймворк, и всегда передаёт вызывающему коду информацию об отмене стрима. Разумеется, от этого мало толку, если вызывающий код на это никак не реагирует.
И это подводит нас к третьей причине: контекст использования. На практике h2 использовалась совместно с hyper, Rust-библиотеке для HTTP, абстрагированной от конкретной версии протокола. В коде hyper для стримов ожидается исполнение двух футур: поставляющей новые фреймы из стрима и обрабатывающей запросы из этого стрима. При получении отмены стрима hyper отменяет футуру, обрабатывающую запрос.
Итого: даже без закрытия бага с WINDOW_UPDATE h2 не был подвержен MadeYouReset. Разумеется, это во многом заслуга продуманной архитектуры h2 и hyper. Но также это и заслуга того, как реализована асинхронность в Rust: с ключевым методом Future::poll, позволяющим достаточно просто дожидаться исполнения нескольких футур одновременно, и встроенная поддержка отмены футур просто через вызов drop. Добиться подобной защиты от MadeYouReset в языке с активными тасками и явной в коде отменой (как, например, в C# или в Go с context.Done) значительно сложнее.
hyper HTTP/2 (Didn't) MadeYouReset
Протокол HTTP/2 позволяет открыть несколько стримов поверх одного соединения, каждый из которых может быть отменён (reset) любой стороной в любой момент. В некоторых случаях это нужно сделать обязательно — например, когда одна из сторон присылает невалидные сообщения. Это сделало возможным уязвимость, названную MadeYouReset. Суть её в том, что злоумышленник инициирует соединение с максимально возможным числом стримов, а затем постоянно их сбрасывает путём отправки невалидных фреймов. Обработка всех этих запросов и следование протоколу отнимает ресурсы сервера, что делает возможным Denial of service.
Эта уязвимость очень схожа с уязвимостью Rapid Reset, но, как описано в статье от Cloudflare, она несколько более хитрая. Rapid Reset полагается на явную отмену стримов клиентом через посылку фрейма RST_STREAM. MadeYouReset же работает через посылку невалидных фреймов, заставляя сервер парсить запросы и отменять стримы уже с его стороны.
Многие реализации HTTP/2 на практике делали работу по обработке запроса даже после закрытия стрима. Простые меры предосторожности против Rapid Reset, отслеживающие только фреймы RST_STREAM от клиента, бесполезны против MadeYouReset.
h2 (Rust-библиотека для работы с протоколом HTTP/2) оказалась не подвержена этой уязвимости. Почему? На это есть несколько причин.
Во-первых, в h2 несколько лет назад добавили меру предосторожности против абьюза клиентами отмен стримов. Именно, h2 отслеживает, сколько раз фрейм от клиента привёл к отмене стрима со стороны клиента, и когда это число достигает настраиваемого порога, закрывает соединение целиком. Это уже хорошая защита, которая на практике успешно защищала от Rapid Reset, но она была не безупречна — для одного типа фреймов (WINDOW_UPDATE) на одном из путей исполнения это число не обновлялось (разумеется, это поправили).
Во-вторых, h2 — библиотека, а не фреймворк, и всегда передаёт вызывающему коду информацию об отмене стрима. Разумеется, от этого мало толку, если вызывающий код на это никак не реагирует.
И это подводит нас к третьей причине: контекст использования. На практике h2 использовалась совместно с hyper, Rust-библиотеке для HTTP, абстрагированной от конкретной версии протокола. В коде hyper для стримов ожидается исполнение двух футур: поставляющей новые фреймы из стрима и обрабатывающей запросы из этого стрима. При получении отмены стрима hyper отменяет футуру, обрабатывающую запрос.
Итого: даже без закрытия бага с WINDOW_UPDATE h2 не был подвержен MadeYouReset. Разумеется, это во многом заслуга продуманной архитектуры h2 и hyper. Но также это и заслуга того, как реализована асинхронность в Rust: с ключевым методом Future::poll, позволяющим достаточно просто дожидаться исполнения нескольких футур одновременно, и встроенная поддержка отмены футур просто через вызов drop. Добиться подобной защиты от MadeYouReset в языке с активными тасками и явной в коде отменой (как, например, в C# или в Go с context.Done) значительно сложнее.
seanmonstar
hyper HTTP/2 (Didn't) MadeYouReset
A new HTTP/2 attack vector was disclosed today called MadeYouReset. hyper’s h2 is negligably affected, weathering the attack well. But, we have provided patc...
❤11👍7🔥4
Блог*
#video Рекурсивный Bad Apple с бесконечным* уровнем вложенности и постоянным зумом на протяжении всей длительности. youtu.be/hpVxbNHCdP4 *на самом деле три уровня, но с учётом разрешения разница не видна.
#video
Bad apple на яблоках
Bad apple на яблоках
The apples spin 90 degrees when their source pixel transitions between black and white.
YouTube
Bad Apple but if you pause it's just apples
The apples spin 90 degrees when their source pixel transitions between black and white.
Music: Bad Apple!! feat.nomico, Alstroemeria Records
Animation: あにら
Music: Bad Apple!! feat.nomico, Alstroemeria Records
Animation: あにら
😁2🔥1🤯1
@tech_b0lt_Genona подкинул бота. Смешно, конечно, что проанализировал текст из поста Пездузы
Forwarded from Admin Tools + AI 🔮
📊 Политический анализ канала
Блог* (@dereference_pointer_there)
📍 Диагноз: КЛАССИЧЕСКИЙ ЛИБЕРАЛИЗМ
💭 Обоснование:
Автор пишет о технических деталях, открытом доступе к научным данным и критически относится к государственному вмешательству (пример: «МВД предложило ввести уголовную ответственность за административную ответственность»). Такие позиции типичны для либертарианского правого направления, поддерживающего свободный рынок и минимальное государственное регулирование. При этом экономические взгляды нейтральны‑светло‑правые (упоминаний о перераспределении или соц‑политике нет). Поэтому выбранная идеология – КЛАССИЧЕСКИЙ ЛИБЕРАЛИЗМ, а координаты отражают лёгкое смещение вправо и умеренную либертарианскую позицию.
📅 28.08.2025 14:44
AdminTools. Подписаться
Блог* (@dereference_pointer_there)
📍 Диагноз: КЛАССИЧЕСКИЙ ЛИБЕРАЛИЗМ
💭 Обоснование:
Автор пишет о технических деталях, открытом доступе к научным данным и критически относится к государственному вмешательству (пример: «МВД предложило ввести уголовную ответственность за административную ответственность»). Такие позиции типичны для либертарианского правого направления, поддерживающего свободный рынок и минимальное государственное регулирование. При этом экономические взгляды нейтральны‑светло‑правые (упоминаний о перераспределении или соц‑политике нет). Поэтому выбранная идеология – КЛАССИЧЕСКИЙ ЛИБЕРАЛИЗМ, а координаты отражают лёгкое смещение вправо и умеренную либертарианскую позицию.
📅 28.08.2025 14:44
AdminTools. Подписаться