Hacker News Digest

Тег: #mri

Постов: 3

Study: MRI contrast agent causes harmful metal buildup in some patients (ormanager.com) 💬 Длинная дискуссия

К сожалению, в предоставленном фрагменте отсутствует основное содержание статьи. Я вижу только заголовок "Study: MRI contrast agent causes harmful metal buildup in some patients" и навигационные элементы сайта, но нет самого текста исследования, результатов или выводов.

Для создания точного пересказа мне нужен полный текст статьи, включая:

  • Основные findings исследования
  • Конкретные данные о накоплении металла
  • Группу пациентов, подверженных риску
  • Рекомендации или выводы авторов

Пожалуйста, предоставьте полный текст статьи, и я создам лаконичный пересказ в соответствии с вашими требованиями (~170 слов в двух абзацах).

by nikolay • 24 октября 2025 г. в 20:48 • 232 points

ОригиналHN

#mri#medical#research#contrast-agents#healthcare#kidney#nephrogenic-systemic-fibrosis#gadolinium

Комментарии (200)

  • Пациенты с хронической почечной недостаточностью действительно подвержены риску нефрогенного системного фиброза при использовании гадолиния, но в последние годы не зафиксировано ни одного случая при использовании современных препаратов.
  • Вопрос о накоплении гадолиния в мозге и других тканях остаётся предметом исследований, но нет доказательств, что это приводит к каким-либо клинически значимым последствиям.
  • Все участники согласились, что важно информировать пациентов о возможных рисках и давать им возможность принять решение, но подчеркнули, что отсутствие альтернативы не должно быть использовано как аргумент для отказа от необходимой диагностики.
  • Обсуждение также коснулось того, что всякая медицинская процедура сопряжена с риском, и что важно взвешивать пользу и риск в каждом конкретном случае.

Mathematicians have found a hidden 'reset button' for undoing rotation (newscientist.com)

Математики обнаружили универсальный способ "отмены" вращения любого объекта, что противоречит интуитивному представлению о необходимости painstakingly повторять обратные движения. Вместо этого можно использовать "скрытую кнопку сброса", которая включает масштабирование начального вращения на общий коэффициент и повторение этого дважды. Например, если волчок повернулся на три четверти, можно вернуться в исходное положение, масштабировав вращение до одной восьмой и повторив его дважды.

Этот метод применим к любым вращающимся объектам: спинам, кубитам, гироскопам и роботизированным рукам. Даже если объект прошел сложную траекторию, масштабирование всех углов вращения на один и тот же коэффициент и повторение этой траектории дважды возвращает его в исходное положение. Математическое доказательство основано на каталоге всех возможных вращений в трехмерном пространстве, известном как SO(3), который описывается с помощью абстрактного математического пространства, структурированного подобно шару.

by mikhael • 16 октября 2025 г. в 15:47 • 162 points

ОригиналHN

#so-3#su-2#quantum-computing#robotics#mri#classical-mechanics#mathematics

Комментарии (101)

  • Обсуждение вращений в SO(3) и SU(2) показало, что любой путь вращений можно «сбросить» в исходную точку, если повторить его дважды с подходящим масштабным коэффициентом λ, но формула для вычисления λ пока неизвестна.
  • Работа Эккмана и Тлусти подчеркивает, что классическая механика допускает обратимость, но не даёт способа вычислить обратную последовательность вращений без полного перебора всех возможных.
  • Исследование вращений в контексте робототехники, МРТ и квантовых вычислений подчеркивает, что вращения в 3D-пространстве могут быть «сброшены» с помощью простой последовательности шагов, но неясно, как вычислить эту последовательность.
  • Обсуждение также затрагивает вопрос о том, можно ли применить этот результат к «сбросу» любой последовательности вращений в контексте робототехники и МРТ, и поднимает вопрос о том, что такое вращение в контексте квантовых вычислений.

How Ruby executes JIT code (railsatscale.com)

Где живёт JIT-код

Ruby не выбрасывает байт-код — он остаётся в ISEQ. В структуре метода поле jit_entry либо NULL (интерпретатор), либо адрес скомпилированной машинной функции. Байт-код нужен для деоптимизации.

Как Ruby запускает JIT

Перед каждым вызовом метода VM проверяет jit_entry. Если указатель не нулевой — переход на него, иначе обычный интерпретатор. Одна проверка, один jmp.

Когда компилировать

ZJIT ждёт 25 вызовов для профилирования и 30 для компиляции (числа настраиваются). Пока счётчик jit_entry_calls не достигнет порога, метод работает в байт-коде.

Почему возвращаются к интерпретатору

JIT делает упрощающие предположения (типы, классы). Если они нарушаются — контроль возвращается к байт-коду, который всегда корректен. Это «деоптимизация»: быстро, но безопасно.

by ciconia • 09 сентября 2025 г. в 21:01 • 128 points

ОригиналHN

#ruby#jit#mri#jruby#truffleruby#just-in-time-compilation#dynamic-typing#interpreter#tiered-compilation#bytecode

Комментарии (20)

  • Участники обсуждают, возможно ли ускорить Ruby с помощью фонового JIT, который постепенно перекомпилирует методы по мере накопления профильной информации (tiered compilation уже есть в .NET и JS-движках).
  • Предложен снимок «прогретой» VM для мгновенного старта, но проблема — глобальное состояние C-библиотек; Emacs делает это через unexec.
  • MRI Ruby не распараллеливает потоки и не дружит с JIT: язык позволяет динамически менять классы, что ломает оптимизации.
  • Альтернатива — JRuby/TruffleRuby на JVM, но они теряют часть динамики и накладывают ограничения JVM.
  • Соглашение: Ruby вряд ли догонит Java по скорости из-за динамической типизации и дизайна языка.