Технологический Болт Генона
Отличная новость, обожаю эти соревнования После четырёхлетнего перерыва объявлено о возобновлении конкурса IOCCC (International Obfuscated C Code Contest), нацеленного на написание наиболее запутанного и трудноразбираемого кода на языке Си. Мероприятие IOCCC28…
Об IOCCC (International Obfuscated C Code Contest) я писал в январе
https://xn--r1a.website/tech_b0lt_Genona/4922
И вот недавно подвели итоги
Winning Entries of 2024 - The 28th IOCCC
https://www.ioccc.org/2024/index.html#2024
Объявлены победители 28 конкурса по написанию запутанного кода на языке Си
https://www.opennet.ru/opennews/art.shtml?num=63668
Больше всего меня впечатлили три работы
1. Виртуальная машина, способная запускать Doom 1/2 на современных ПК от Ильи Курдюкова из "Базальт СПО"
https://www.ioccc.org/2024/kurdyukov3/index.html
https://github.com/ioccc-src/winner/blob/master/2024/kurdyukov3/prog.c
Разбор его работы от жюри
2024/kurdyukov3 - Prize in virtual quietus
https://www.youtube.com/watch?v=iaXMwqR93iE
2. Эмулятор CPU Intel 4004 от Николаса Карлини (Nicholas Carlini) из "Anthropic"
https://www.ioccc.org/2024/carlini/index.html
https://github.com/ioccc-src/winner/blob/master/2024/carlini/prog.c
Разбор его работы от жюри
2024/carlini - Prize in perfect timing
https://www.youtube.com/watch?v=r6wUZUaaJBY
Пост с разбором от самого автора
Gate-level emulation of an Intel 4004 in 4004 bytes of C
https://nicholas.carlini.com/writing/2025/ioccc-intel-4004-in-4004-bytes-c.html
3. Эмулятор CPU OpenRISC, способный запустить Linux от Себастиана Маке (Sebastian Macke) из "QAware"
https://www.ioccc.org/2024/macke/index.html
https://github.com/ioccc-src/winner/blob/master/2024/macke/prog.c
Разбор его работы от жюри
2024/macke - Prize in imitative rebooting
https://www.youtube.com/watch?v=jeQFI_8kGA4
Репа со всеми победителями за все года
https://github.com/ioccc-src/winner
Полная трансляция разбора работ
IOCCC28 Winning Entries | IOCCC Awards Presentation and Source Code Reveal
https://www.youtube.com/watch?v=UDzGwTalVAc
https://xn--r1a.website/tech_b0lt_Genona/4922
И вот недавно подвели итоги
Winning Entries of 2024 - The 28th IOCCC
https://www.ioccc.org/2024/index.html#2024
Объявлены победители 28 конкурса по написанию запутанного кода на языке Си
https://www.opennet.ru/opennews/art.shtml?num=63668
Участвующие в конкурсе работы, с одной стороны, должны препятствовать анализу кода и пониманию сути решаемой задачи, но, с другой стороны, код должен быть интересен и чем-то примечателен (работы могут быть необычно оформлены или выделять неожиданные стороны языка Си). Размер исходного кода программы не должен превышать 4096 байт, а программа должна собираться и выполнять осмысленное действиеБольше всего меня впечатлили три работы
1. Виртуальная машина, способная запускать Doom 1/2 на современных ПК от Ильи Курдюкова из "Базальт СПО"
https://www.ioccc.org/2024/kurdyukov3/index.html
https://github.com/ioccc-src/winner/blob/master/2024/kurdyukov3/prog.c
Разбор его работы от жюри
2024/kurdyukov3 - Prize in virtual quietus
https://www.youtube.com/watch?v=iaXMwqR93iE
2. Эмулятор CPU Intel 4004 от Николаса Карлини (Nicholas Carlini) из "Anthropic"
https://www.ioccc.org/2024/carlini/index.html
https://github.com/ioccc-src/winner/blob/master/2024/carlini/prog.c
Разбор его работы от жюри
2024/carlini - Prize in perfect timing
https://www.youtube.com/watch?v=r6wUZUaaJBY
Пост с разбором от самого автора
Gate-level emulation of an Intel 4004 in 4004 bytes of C
https://nicholas.carlini.com/writing/2025/ioccc-intel-4004-in-4004-bytes-c.html
3. Эмулятор CPU OpenRISC, способный запустить Linux от Себастиана Маке (Sebastian Macke) из "QAware"
https://www.ioccc.org/2024/macke/index.html
https://github.com/ioccc-src/winner/blob/master/2024/macke/prog.c
Разбор его работы от жюри
2024/macke - Prize in imitative rebooting
https://www.youtube.com/watch?v=jeQFI_8kGA4
Репа со всеми победителями за все года
https://github.com/ioccc-src/winner
Полная трансляция разбора работ
IOCCC28 Winning Entries | IOCCC Awards Presentation and Source Code Reveal
https://www.youtube.com/watch?v=UDzGwTalVAc
🔥23❤2😁1
Есть такая библиотека json-joy
https://github.com/streamich/json-joy
И у них в блоге я нашёл пост из 2023 года о том, как с помощью фаззинга они проверяют качество реализации алгоритмов совместного редактирования
Fuzz Testing RGA CRDT
https://jsonjoy.com/blog/fuzz-testing-rga-crdt
В посте рассмотрено три ситуации
- Fuzzer 1: Simulating two users
- Fuzzer 2: Simulating multiple users
- Fuzzer 3: Simulating multiple users generating all JSON operations, encoding, and decoding
Примеры реалиазации доступны в репозитории
https://github.com/streamich/json-joy/blob/master/src/json-crdt/nodes/bin/__tests__/BinNode.fuzzing.spec.ts#L82
https://github.com/streamich/json-joy/blob/master/src/json-crdt/nodes/str/__tests__/StrNodeFuzzer.ts#L104
Fuzz Testing of JSON CRDT Model
https://github.com/streamich/json-joy/tree/master/src/json-crdt/__tests__/fuzzer
json-joy is a library that implements cutting-edge real-time and collaborative editing algorithms and utilities for JSON data models, with a focus on developing the JSON CRDT (Conflict-free Replicated Data Type) specification and implementation https://github.com/streamich/json-joy
И у них в блоге я нашёл пост из 2023 года о том, как с помощью фаззинга они проверяют качество реализации алгоритмов совместного редактирования
Fuzz Testing RGA CRDT
https://jsonjoy.com/blog/fuzz-testing-rga-crdt
Fuzz testing has found dozens of bugs in json-joy RGA CRDT implementation. Some of them were so tricky that I’m not sure if we would have ever found them in reasonable amount of time without fuzz testing. Those bugs would be just sitting there, waiting to be triggered by some edge case, and then they would cause data corruption.В посте рассмотрено три ситуации
- Fuzzer 1: Simulating two users
- Fuzzer 2: Simulating multiple users
- Fuzzer 3: Simulating multiple users generating all JSON operations, encoding, and decoding
Примеры реалиазации доступны в репозитории
https://github.com/streamich/json-joy/blob/master/src/json-crdt/nodes/bin/__tests__/BinNode.fuzzing.spec.ts#L82
https://github.com/streamich/json-joy/blob/master/src/json-crdt/nodes/str/__tests__/StrNodeFuzzer.ts#L104
Fuzz Testing of JSON CRDT Model
https://github.com/streamich/json-joy/tree/master/src/json-crdt/__tests__/fuzzer
👍18❤4
Есть такой стартап Antithesis, который сделан выходцами из Apple, которые пилили FoundationDB (https://github.com/apple/foundationdb/) и занимается он созданием платформы для тестирования ПО - https://antithesis.com/product/what_is_antithesis/
Автоматическое тестирование ускорило разработку в 50 раз. Сказка от создателей FoundationDB
https://habr.com/ru/companies/ruvds/articles/800009/
И у них есть серия постов про их ИИ, который создан с одной целью - проходить игры с NES.
> The Antithesis autonomous testing platform can beat dozens of games, including some very complex ones that as far as we know have never before been completed by an autonomous system
Antithesis announces Artificial General 8-bit Intelligence (AG8I)
https://antithesis.com/blog/ag8bi/
How Antithesis finds bugs (with help from the Super Mario Bros.)
https://antithesis.com/blog/sdtalk/
Solving Zelda with the Antithesis SDK
https://antithesis.com/blog/zelda/
Crushing Castlevania with Antithesis
https://antithesis.com/blog/castlevania/
Depth is all you need: how Antithesis crushes Gradius
https://antithesis.com/blog/2025/gradius/
Optimizing our way through Metroid
https://antithesis.com/blog/2025/metroid/
Планируются ещё Contra, Kirby’s Adventure, Arkanoid, Tetris, Ice Climber
В посте про Metroid они поясняют зачем они это делают
> The honest truth, the underlying reality beneath the hype, is that this is actually how we figured this stuff out. None of us were fuzzing or PBT experts coming into this business, and if we were that wouldn’t have helped anyway, because our ambitions quickly went way beyond the state of the art in those fields. So we started asking questions like: “why can’t you beat The Legend of Zelda with a fuzzer,” and pixel by grueling pixel we learned enough to build the Antithesis platform.
В целом это правда похоже на специфичный fuzzing
> But our system doesn’t have to act like a linear agent. The rest of the platform around it is a mechanism for giving an arbitrary program save slots that can be written to and reloaded at arbitrary points. This translates a one-shot problem into a problem on which incremental progress is possible. We’re not sure if there’s a term for such an agent, but internally, we refer to this as “tree fuzzing,” and it enables our system to effectively test complex programs with a comparatively minimal understanding of their internal workings.
https://antithesis.com/blog/2025/gradius/#seeing-like-a-fuzzer
Запускают всё в специальном окружении, которое позволяет ловить и воспроизводить ошибки
So you think you want to write a deterministic hypervisor?
https://antithesis.com/blog/deterministic_hypervisor/
Я прикрепил к посту их трейлер и пару докладов, которые позволяют погрузиться в тему.
В общем с удовольствием прочитал всю серию и жду новые посты, тем кто интересуется рекомендую.
Автоматическое тестирование ускорило разработку в 50 раз. Сказка от создателей FoundationDB
https://habr.com/ru/companies/ruvds/articles/800009/
И у них есть серия постов про их ИИ, который создан с одной целью - проходить игры с NES.
> The Antithesis autonomous testing platform can beat dozens of games, including some very complex ones that as far as we know have never before been completed by an autonomous system
Antithesis announces Artificial General 8-bit Intelligence (AG8I)
https://antithesis.com/blog/ag8bi/
How Antithesis finds bugs (with help from the Super Mario Bros.)
https://antithesis.com/blog/sdtalk/
Solving Zelda with the Antithesis SDK
https://antithesis.com/blog/zelda/
Crushing Castlevania with Antithesis
https://antithesis.com/blog/castlevania/
Depth is all you need: how Antithesis crushes Gradius
https://antithesis.com/blog/2025/gradius/
Optimizing our way through Metroid
https://antithesis.com/blog/2025/metroid/
Планируются ещё Contra, Kirby’s Adventure, Arkanoid, Tetris, Ice Climber
В посте про Metroid они поясняют зачем они это делают
> The honest truth, the underlying reality beneath the hype, is that this is actually how we figured this stuff out. None of us were fuzzing or PBT experts coming into this business, and if we were that wouldn’t have helped anyway, because our ambitions quickly went way beyond the state of the art in those fields. So we started asking questions like: “why can’t you beat The Legend of Zelda with a fuzzer,” and pixel by grueling pixel we learned enough to build the Antithesis platform.
В целом это правда похоже на специфичный fuzzing
> But our system doesn’t have to act like a linear agent. The rest of the platform around it is a mechanism for giving an arbitrary program save slots that can be written to and reloaded at arbitrary points. This translates a one-shot problem into a problem on which incremental progress is possible. We’re not sure if there’s a term for such an agent, but internally, we refer to this as “tree fuzzing,” and it enables our system to effectively test complex programs with a comparatively minimal understanding of their internal workings.
https://antithesis.com/blog/2025/gradius/#seeing-like-a-fuzzer
Запускают всё в специальном окружении, которое позволяет ловить и воспроизводить ошибки
So you think you want to write a deterministic hypervisor?
https://antithesis.com/blog/deterministic_hypervisor/
Я прикрепил к посту их трейлер и пару докладов, которые позволяют погрузиться в тему.
В общем с удовольствием прочитал всю серию и жду новые посты, тем кто интересуется рекомендую.
👍14🔥7
Forwarded from Some Security Notes
#firejail #bubblewrap #sandbox #osa
Хороший обзор по актуальным песочницам для изоляции приложений и записи логов. Bubblewrap активно использую в настоящее время. Рекомендую.
https://hkubota.wordpress.com/2020/12/31/comparing-sandboxing-tools/
Хороший обзор по актуальным песочницам для изоляции приложений и записи логов. Bubblewrap активно использую в настоящее время. Рекомендую.
https://hkubota.wordpress.com/2020/12/31/comparing-sandboxing-tools/
Harald's Random Stuff
Comparing Sandboxing Tools
Comparing some tools to make it less dangerous to run code you did not write. Sandboxing seems to be the best way to go like Deno and wasmtime do. But what about Python, Node.js, etc.? firejail see…
👍6🔥4
Русский след в истории логотипа PostgreSQL
https://habr.com/ru/companies/postgrespro/articles/905612/
Готовый эскиз сайта с логотипом Дмитрий выложил на своём персональном сайте devnull.wplus.net (что подчеркивало неформальность) и отправил ссылку в нашу рассылку. И это не просто воспоминания: сохранилось его письмо в список рассылки pgsql-hackers от 12 апреля 1999 года. В нем, отвечая в рамках дискуссии "RE: [HACKERS] PostgreSQL Webpage", Дмитрий писал: "I was commited to show how postgres webpage should looks by my opinion. See http://devnull.wplus.net/pub/postgres/" («Я решил показать, как, по моему мнению, должна выглядеть веб-страница postgres. Смотрите...»). Так что факт задокументирован: именно тогда, в апреле 1999-го, эскиз был представлен сообществу.
. . .
Юридически авторство и права на использование «русского слоника» оставались в «серой зоне». Я решил исправить эту ситуацию и обратился к Дмитрию Самерсову с просьбой формально передать права на оригинальный дизайн сообществу. Поскольку разработка логотипа была частной инициативой Дмитрия и его студии, а не какой-то организации, процедура передачи прав была простой.
Дмитрий, не имевший никаких претензий на логотип, согласился. С присущим ему юмором он вспоминает: «Если просят сделать какую-то странную фигню, то эту странную фигню надо сделать со всей тщательностью и вниманием». В марте 2025 года Дмитрий Самерсов официально передал права на дизайн «слоника» под лицензией Creative Commons всему сообществу PostgreSQL.
Сегодня на официальной вики PostgreSQL закреплено: «The PostgreSQL elephant logo “Slonik” is a copyrighted design...» История приобрела логическое завершение.
Что чувствует Дмитрий Самерсов, стоя у истоков символа, известного миллионам? «С одной стороны, приятно, что есть что-то, что останется после меня, кроме детей. С другой стороны, немножко забавно, что из всего сделанного в этой жизни наиболее ярким ощущением остался такой случайный логотип slonik.gif».
Пост об этом же от Олега Бартунова из 2016 года
О логотипе PostgreSQL
https://obartunov.livejournal.com/186860.html
Небольшой доклад Олега (прикрепил тоже к посту)
История логотипа Slonik
https://www.youtube.com/watch?v=nqeyAs0YOHQ
Слайды положу в комментарии
Я с Дмитрием знаком лично. Он замечательный человек и собеседник.
Персональный сайт - https://www.samersoff.net/mz/
Канал - @softrainbbs
https://habr.com/ru/companies/postgrespro/articles/905612/
Готовый эскиз сайта с логотипом Дмитрий выложил на своём персональном сайте devnull.wplus.net (что подчеркивало неформальность) и отправил ссылку в нашу рассылку. И это не просто воспоминания: сохранилось его письмо в список рассылки pgsql-hackers от 12 апреля 1999 года. В нем, отвечая в рамках дискуссии "RE: [HACKERS] PostgreSQL Webpage", Дмитрий писал: "I was commited to show how postgres webpage should looks by my opinion. See http://devnull.wplus.net/pub/postgres/" («Я решил показать, как, по моему мнению, должна выглядеть веб-страница postgres. Смотрите...»). Так что факт задокументирован: именно тогда, в апреле 1999-го, эскиз был представлен сообществу.
. . .
Юридически авторство и права на использование «русского слоника» оставались в «серой зоне». Я решил исправить эту ситуацию и обратился к Дмитрию Самерсову с просьбой формально передать права на оригинальный дизайн сообществу. Поскольку разработка логотипа была частной инициативой Дмитрия и его студии, а не какой-то организации, процедура передачи прав была простой.
Дмитрий, не имевший никаких претензий на логотип, согласился. С присущим ему юмором он вспоминает: «Если просят сделать какую-то странную фигню, то эту странную фигню надо сделать со всей тщательностью и вниманием». В марте 2025 года Дмитрий Самерсов официально передал права на дизайн «слоника» под лицензией Creative Commons всему сообществу PostgreSQL.
Сегодня на официальной вики PostgreSQL закреплено: «The PostgreSQL elephant logo “Slonik” is a copyrighted design...» История приобрела логическое завершение.
Что чувствует Дмитрий Самерсов, стоя у истоков символа, известного миллионам? «С одной стороны, приятно, что есть что-то, что останется после меня, кроме детей. С другой стороны, немножко забавно, что из всего сделанного в этой жизни наиболее ярким ощущением остался такой случайный логотип slonik.gif».
Пост об этом же от Олега Бартунова из 2016 года
О логотипе PostgreSQL
https://obartunov.livejournal.com/186860.html
Небольшой доклад Олега (прикрепил тоже к посту)
История логотипа Slonik
https://www.youtube.com/watch?v=nqeyAs0YOHQ
Слайды положу в комментарии
Я с Дмитрием знаком лично. Он замечательный человек и собеседник.
Персональный сайт - https://www.samersoff.net/mz/
Канал - @softrainbbs
👍23❤14🔥13😁5🥱2😇2🤗2
Ребяты из Vulners запилили плагин для Chrome, который подсвечивает сами CVE на странице, показывает дополнительную информацию в попапе и по клику кидает на страницу с описанием уязвимости на https://vulners.com/
Оригинальное сообщение тут
https://xn--r1a.website/VulnersChat/15840
Архив есть в оригинальном сообщении + положу его в комментарии
Установка
1. Распакуйте ZIP
2. Откройте chrome://extensions/ → включите Developer mode
3. Нажмите Load unpacked и выберите папку с расширением
Я работаю с БДУ ФСТЭК в отдельном браузере и удобно, когда есть подсветка на странице по CVE с дополнительной информацией 🌝
Так же мне понравилось смотреть с такой "подсветкой" минимальную информацию сразу, когда уязвимости идут списком, что бы не разворачивать каждый пункт. Я добавил скрин с DockerHub для демонстрации того, что я имею ввиду.
Оригинальное сообщение тут
https://xn--r1a.website/VulnersChat/15840
Архив есть в оригинальном сообщении + положу его в комментарии
Установка
1. Распакуйте ZIP
2. Откройте chrome://extensions/ → включите Developer mode
3. Нажмите Load unpacked и выберите папку с расширением
Я работаю с БДУ ФСТЭК в отдельном браузере и удобно, когда есть подсветка на странице по CVE с дополнительной информацией 🌝
Так же мне понравилось смотреть с такой "подсветкой" минимальную информацию сразу, когда уязвимости идут списком, что бы не разворачивать каждый пункт. Я добавил скрин с DockerHub для демонстрации того, что я имею ввиду.
🔥13🤡8❤3👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Четверг, а значит время проектов от подписчиков! 🌝
Тем, кто пропустил, что такое четверговые проекты от подписчиков, можно прочитать тут - https://xn--r1a.website/tech_b0lt_Genona/4983
Слово автору @heaveneleven
---
Добрый вечер папищики, представляю на Ваш суд свою студенческую поделку - реализация протокола STAMP на eBPF и Go. STAMP - это протокол, позволяющий замерять сетевую задержку в обе стороны(а не общую туда-обратно, как это делает ping), а eBPF здесь требуется для того, чтобы манипулировать пакетами напрямую в сетевом стеке(на этапе Traffic Control), минимизируя таким образом задержки на процессинг - те метрики, которые вы получите, будут очень близки к реальным.
К Вашим услугам предлагаются:
- Два бинарника - Sender и Reflector:
- Sender отправляет-принимает пакеты и считает эти самые метрики;
- Reflector принимает пакеты от Sender и отправляет их обратно.
- Демка-симуляция на Docker Compose, которая разворачивает два контейнера и демонстрирует принцип работы (бинарники не требуются).
Зачем я это показываю вам? - хочется комментариев на тему "полезно - не полезно, нужно - не нужно". Пока что это просто учебный проект, хоть и прилизанный, но если будет интерес от комьюнити и запросы фич для реальных юзкейсов - быть может, из этой штуки вырастет серьёзная сетевая утилита. Так что если вы его погоняете у себя на своих сетях и скажете мне: "Полезная штука, буду юзать" или "Хорошо бы иметь такую-то фичу" - я буду очень рад и дальше её развивать.
https://github.com/viktordoronin/stamp-bpf
---
Слово автору @heaveneleven
---
Добрый вечер папищики, представляю на Ваш суд свою студенческую поделку - реализация протокола STAMP на eBPF и Go. STAMP - это протокол, позволяющий замерять сетевую задержку в обе стороны(а не общую туда-обратно, как это делает ping), а eBPF здесь требуется для того, чтобы манипулировать пакетами напрямую в сетевом стеке(на этапе Traffic Control), минимизируя таким образом задержки на процессинг - те метрики, которые вы получите, будут очень близки к реальным.
К Вашим услугам предлагаются:
- Два бинарника - Sender и Reflector:
- Sender отправляет-принимает пакеты и считает эти самые метрики;
- Reflector принимает пакеты от Sender и отправляет их обратно.
- Демка-симуляция на Docker Compose, которая разворачивает два контейнера и демонстрирует принцип работы (бинарники не требуются).
Зачем я это показываю вам? - хочется комментариев на тему "полезно - не полезно, нужно - не нужно". Пока что это просто учебный проект, хоть и прилизанный, но если будет интерес от комьюнити и запросы фич для реальных юзкейсов - быть может, из этой штуки вырастет серьёзная сетевая утилита. Так что если вы его погоняете у себя на своих сетях и скажете мне: "Полезная штука, буду юзать" или "Хорошо бы иметь такую-то фичу" - я буду очень рад и дальше её развивать.
https://github.com/viktordoronin/stamp-bpf
---
👍33❤2🥱2👎1
Технологический Болт Генона
Глубина анализа по временному промежутку небольшая, конечно, но что есть 🌝 UPD: Так как в комментах стало понятно, что не все поняли, то поясняю, что это бот текст сгенерил. 🔥 Roast Analysis: Тебе от друга (наконец-то честно) Слушай, я тут твой канал перечитал.…
Продолжаем анализировать канал ботами.
Прошлый раз - https://xn--r1a.website/tech_b0lt_Genona/5474
В этот раз принёс подписчик
@ChanToolsBot
Прошлый раз - https://xn--r1a.website/tech_b0lt_Genona/5474
В этот раз принёс подписчик
Политический анализ каналаТехнологический Болт Генона (@tech_b0lt_Genona)📍 Диагноз: ЛИБЕРТАРНЫЙ СОЦИАЛИЗМ💭 Обоснование:Во всех постах автор продвигает открытое программное обеспечение, совместную работу и децентрализованные инструменты (например, "json‑joy" с CRDT, "Antithesis"‑fuzzing, sandbox‑инструменты, открытый конкурс IOCCC). Он ценит свободу разработки и минимизацию внешнего контроля: «я с удовольствием прочитал всю серию и жду новые посты, тем кто интересуется рекомендую», «Bubblewrap активно использую», «работы должны препятствовать анализу кода, но быть интересными». Такие позиции указывают на левый экономический уклон (поддержка коллективных, открытых проектов) и сильный либертарианский настрой (отрицание авторитарных ограничений). Поэтому наиболее близкой идеологией считается ЛИБЕРТАРНЫЙ СОЦИАЛИЗМ.@ChanToolsBot
😁25🙉8🔥7🤡3👍2🥱2
Разработчики библиотеки GNU MP (GMP), предоставляющей функции для выполнения арифметических операций с произвольной точностью, предупредили пользователей об инциденте с повторным выходом из строя процессоров серии AMD Ryzen 9000 на базе микроархитектуры Zen 5 в ходе тестирования работы библиотеки. Предполагается, что повреждение процессоров было вызвано перегревом, возникающим при интенсивном выполнении функций GMP. До завершения полного анализа проблемы пользователям не рекомендовано активно использовать GMP на системах с CPU AMD Zen 5.
Опасения вызваны повторным выходом из строя CPU AMD Ryzen 9950X (AMD Zen5 X16 4300MHz) на сервере в тестовой инфраструктуре проекта. Первый выход из строя произошёл в феврале 2025 года, после чего процессор был заменён по гарантии. В конце августа ситуация повторилась и заменённый по гарантии CPU, установленный в системе с другим блоком питания и другой материнской платой, также перестал функционировать с теми же признаками, свидетельствующими о перегреве (на чипе образовалась обесцвеченная область, диаметром примерно в 1 сантиметр).
По предварительным данным библиотека GMP слишком интенсивно использует циклы с инструкцией MULX, что приводит на системах с AMD Zen 5 к потреблению значительного большей энергии, чем заявлено, и невозможности компенсировать нагрев системой охлаждения, подобранной в соответствии со спецификацией. Во время обоих повреждений выполнялся тест с ручными ассемблерными циклами с одной инструкцией MULX, создающий максимальную нагрузку.
Возможное повреждение CPU AMD Zen 5 при использовании библиотеки GNU MP
https://www.opennet.ru/opennews/art.shtml?num=63786
Оригинал
GMP damaging Zen 5 CPUs?
https://gmplib.org/gmp-zen5
Опасения вызваны повторным выходом из строя CPU AMD Ryzen 9950X (AMD Zen5 X16 4300MHz) на сервере в тестовой инфраструктуре проекта. Первый выход из строя произошёл в феврале 2025 года, после чего процессор был заменён по гарантии. В конце августа ситуация повторилась и заменённый по гарантии CPU, установленный в системе с другим блоком питания и другой материнской платой, также перестал функционировать с теми же признаками, свидетельствующими о перегреве (на чипе образовалась обесцвеченная область, диаметром примерно в 1 сантиметр).
По предварительным данным библиотека GMP слишком интенсивно использует циклы с инструкцией MULX, что приводит на системах с AMD Zen 5 к потреблению значительного большей энергии, чем заявлено, и невозможности компенсировать нагрев системой охлаждения, подобранной в соответствии со спецификацией. Во время обоих повреждений выполнялся тест с ручными ассемблерными циклами с одной инструкцией MULX, создающий максимальную нагрузку.
Возможное повреждение CPU AMD Zen 5 при использовании библиотеки GNU MP
https://www.opennet.ru/opennews/art.shtml?num=63786
Оригинал
GMP damaging Zen 5 CPUs?
https://gmplib.org/gmp-zen5
🫡39🔥25👍2😁2🤯2❤1😢1
Есть такой проект Ferrocene целью которого является создание Rust для критических систем.
В 2023 году его открыли
https://github.com/ferrocene/ferrocene
> Ferrocene is the upstream Rust compiler, rustc, unmodified - thoroughly tested on targets that are not supported by upstream. It comes with all tools you expect and are accustomed to from using the Rust toolchain. Additionally, it comes with long term support by a team of experts that have being doing Rust since before Rust 1.0.
Qualifying Rust without forking
https://ferrous-systems.com/blog/qualifying-rust-without-forking/
Свои наработки они стараются вливать в апстрим основного репозитория Rust
How Ferrocene improves Rust
https://ferrous-systems.com/blog/how-ferrocene-improves-rust/
Но пост не про сам Ferrocene, а про то они завезли полезную фичу генерации SBOM (Software Bill of Materials)
До относительно недавнего момента существовал один проект для генерации под Rust
https://github.com/CycloneDX/cyclonedx-rust-cargo
И главная его проблема в том, что он до сих пор не поддерживает последнюю версию CycloneDX 1.6
[Feature] Support CycloneDX 1.6
https://github.com/CycloneDX/cyclonedx-rust-cargo/issues/769
Ferrocene задались задачей затащить генерацию SBOM, как кусок
Вот обсуждение pre-RFC
https://internals.rust-lang.org/t/pre-rfc-cargo-sbom/19842
Вот PR RFC в репе Rust
RFC: cargo-sbom
https://github.com/rust-lang/rfcs/pull/3553
После этого был сделан PR с имплементацией, который приняли в феврале этого года
feat: implement RFC 3553 to add SBOM suppor
https://github.com/rust-lang/cargo/pull/13709
> To enable this feature either set the sbom field in the .cargo/config.toml
https://doc.rust-lang.org/cargo/reference/unstable.html#sbom
Поддерживаемые форматы
https://crates.io/crates/cargo-sbom
Пост с подробным рассказом что, как и когда контрибутил в этом контексте Ferrocene
SBOM support in Rust
https://ferrous-systems.com/blog/stackable-client/
В 2023 году его открыли
https://github.com/ferrocene/ferrocene
> Ferrocene is the upstream Rust compiler, rustc, unmodified - thoroughly tested on targets that are not supported by upstream. It comes with all tools you expect and are accustomed to from using the Rust toolchain. Additionally, it comes with long term support by a team of experts that have being doing Rust since before Rust 1.0.
Qualifying Rust without forking
https://ferrous-systems.com/blog/qualifying-rust-without-forking/
Свои наработки они стараются вливать в апстрим основного репозитория Rust
How Ferrocene improves Rust
https://ferrous-systems.com/blog/how-ferrocene-improves-rust/
Но пост не про сам Ferrocene, а про то они завезли полезную фичу генерации SBOM (Software Bill of Materials)
До относительно недавнего момента существовал один проект для генерации под Rust
https://github.com/CycloneDX/cyclonedx-rust-cargo
И главная его проблема в том, что он до сих пор не поддерживает последнюю версию CycloneDX 1.6
[Feature] Support CycloneDX 1.6
https://github.com/CycloneDX/cyclonedx-rust-cargo/issues/769
Ferrocene задались задачей затащить генерацию SBOM, как кусок
cargoВот обсуждение pre-RFC
https://internals.rust-lang.org/t/pre-rfc-cargo-sbom/19842
Вот PR RFC в репе Rust
RFC: cargo-sbom
https://github.com/rust-lang/rfcs/pull/3553
После этого был сделан PR с имплементацией, который приняли в феврале этого года
feat: implement RFC 3553 to add SBOM suppor
https://github.com/rust-lang/cargo/pull/13709
> To enable this feature either set the sbom field in the .cargo/config.toml
[unstable]
sbom = true
[build]
sbom = true
https://doc.rust-lang.org/cargo/reference/unstable.html#sbom
Поддерживаемые форматы
--output-format <OUTPUT_FORMAT>
The SBOM output format. [default: spdx_json_2_3] [possible values: spdx_json_2_3, cyclone_dx_json_1_4, cyclone_dx_json_1_6]
https://crates.io/crates/cargo-sbom
Пост с подробным рассказом что, как и когда контрибутил в этом контексте Ferrocene
SBOM support in Rust
https://ferrous-systems.com/blog/stackable-client/
❤11🔥7👍1😐1