Объявлены победители 29 конкурса по написанию запутанного кода на языке Си
Опубликованы
исходные тексты
работ
, победивших в
двадцать девятом
конкурсе IOCCC (International Obfuscated C Code Contest), участникам которого предлагалось подготовить наиболее запутанный и трудноразбираемый код на языке Си. Участвующие в конкурсе работы, с одной стороны, должны препятствовать анализу кода и пониманию сути решаемой задачи, но, с другой стороны, код должен быть интересен и чем-то примечателен (работы могут быть необычно оформлены или выделять неожиданные стороны языка Си). Размер файла с кодом программы
не должен
превышать 4993 байтa, а чистый код не должен превышать 2503 байта после обработки утилитой
iocccsize
.
Среди победителей:
- Эмулятор компьютера с архитектурой URISC, набор команд в котором ограничивается одной инструкцией SUBLEQ (SUbtract and Branch if Less than or EQual to zero). Размер эмулятора всего 366 байт, при том, что помимо CPU он эмулирует фреймбуфер с разрешением 800x512, используя для вывода графики библиотеку SDL3, и может загрузить образ с Linux и запустить в нём игру doom.
- Генератор изображения чёрной дыры. Приложение включает простой интерпретатор для подмножества языка Fortran 66, программа для которого задана в форме перфокарт, закодированных через пробелы и табуляции в исходном коде. Закодированная Fortran-программа повторяет первый код для симуляции чёрной дыры, опубликованный Жан-Пьером Люмине в 1978 году. Изображение формируется в виде облака точек и сохраняется в формате PGM. Кроме симуляции чёрной дыры предложены варианты с закодированными "перфокартами" для расчёта множества Мандельброта, вычисления простых чисел и трассировки лучей.
- Вариант утилиты patch, генерирующий утилиту diff через серию трансформаций собственного кода. На первом этапе скомпилированной утилите patch передаётся собственный исходных код, на основе которого формируется diff-файл. После применения этого diff-а к собственному коду на выходе получается программа, которая в цикле на основе своего кода генерирует набор коммитов с патчами в формате "git am". При объединении данных коммитов командой "git log --pretty=format:%s > final.c" получается код с реализацией утилиты diff.
- Игра в жанре Roguelike, работающая в текстовом терминале и позволяющая проходить автоматически генерируемый лабиринт, собирать артефакты и избегать монстров. Код оформлен в виде изображения подземного жителя и обфусцирован (строки зашифрованы, циклы реализованы через goto, при работе с массивами используется синтаксис "индекс[массив]").
- Генератор ASCII-анимации, воссоздающий заставку сериала "Доктор Кто" с симуляцией видеоэффекта "HowlRound" (туннель из уменьшающихся копий изображения), применявшегося в заставке 1963 года.
- Эмулятор игровой приставки GameBoy, оптимизированный для запуска тетриса, но способный выполнять и другие игры (протестирован запуск ROM-файлов для десятка игр). Вывод формируется в форме псевдографики из Unicode-символов.
- Симулятор звука морского прибоя на фоне автоматически генерируемой медитативной музыки. На выходе генерируется wav-файл, продолжительностью 5 минут.
- Реализация самомодифицирующегося игрового автомата Quine Pong, предоставляющего две игры - пинг-понг и перепрыгивающий препятствия динозавр (как в пасхальном яйце из Google Chrome). Программа примечательна тем, что отображение кадров реализовано через цикличную перегенерацию кода программы (запуск приводит к выводу исходного кода для первого кадра, после компиляции этого кода формируется код для следующего кадра и так далее). Игровой процесс реализован через shell-скрипт, выполняющий цикличную перекомпиляцию кода.
- Компилятор и генератор кода для языка Zoltraak. Язык включает только одно слово "zoltraak", которое комбинируется в разной форме с пробелами и пустыми строками. На вход подаётся любой текстовый файл, который преобразуется в программу на языке Си, состоящую из заголовка и последовательности на языке Zoltraak. Компиляция и выполнение сгенерированной Си-программы приводит к выводу содержимого исходного текстового файла.
<iframe src="https://www.youtube.com/embed/MoWCwZx1Swc">/<center>
<br /><br>Источник: <b><a href="https://www.opennet.ru/opennews/art.shtml?num=65641">https://www.opennet.ru/opennews/art.shtml?num=65641</a></b></br></center></center></li></li></li></li></center></li></li></li></li></ul></p>
Объявлены победители 29 конкурса по написанию запутанного кода на языке Си
Опубликованы
исходные тексты
работ
, победивших в
двадцать девятом
конкурсе IOCCC (International Obfuscated C Code Contest), участникам которого предлагалось подготовить наиболее запутанный и трудноразбираемый код на языке Си. Участвующие в конкурсе работы, с одной стороны, должны препятствовать анализу кода и пониманию сути решаемой задачи, но, с другой стороны, код должен быть интересен и чем-то примечателен (работы могут быть необычно оформлены или выделять неожиданные стороны языка Си). Размер файла с кодом программы
не должен
превышать 4993 байтa, а чистый код не должен превышать 2503 байта после обработки утилитой
iocccsize
.
Среди победителей:
- Эмулятор компьютера с архитектурой URISC, набор команд в котором ограничивается одной инструкцией SUBLEQ (SUbtract and Branch if Less than or EQual to zero). Размер эмулятора всего 366 байт, при том, что помимо CPU он эмулирует фреймбуфер с разрешением 800x512, используя для вывода графики библиотеку SDL3, и может загрузить образ с Linux и запустить в нём игру doom.
- Генератор изображения чёрной дыры. Приложение включает простой интерпретатор для подмножества языка Fortran 66, программа для которого задана в форме перфокарт, закодированных через пробелы и табуляции в исходном коде. Закодированная Fortran-программа повторяет первый код для симуляции чёрной дыры, опубликованный Жан-Пьером Люмине в 1978 году. Изображение формируется в виде облака точек и сохраняется в формате PGM. Кроме симуляции чёрной дыры предложены варианты с закодированными "перфокартами" для расчёта множества Мандельброта, вычисления простых чисел и трассировки лучей.
- Вариант утилиты patch, генерирующий утилиту diff через серию трансформаций собственного кода. На первом этапе скомпилированной утилите patch передаётся собственный исходных код, на основе которого формируется diff-файл. После применения этого diff-а к собственному коду на выходе получается программа, которая в цикле на основе своего кода генерирует набор коммитов с патчами в формате "git am". При объединении данных коммитов командой "git log --pretty=format:%s > final.c" получается код с реализацией утилиты diff.
- Игра в жанре Roguelike, работающая в текстовом терминале и позволяющая проходить автоматически генерируемый лабиринт, собирать артефакты и избегать монстров. Код оформлен в виде изображения подземного жителя и обфусцирован (строки зашифрованы, циклы реализованы через goto, при работе с массивами используется синтаксис "индекс[массив]").
- Генератор ASCII-анимации, воссоздающий заставку сериала "Доктор Кто" с симуляцией видеоэффекта "HowlRound" (туннель из уменьшающихся копий изображения), применявшегося в заставке 1963 года.
- Эмулятор игровой приставки GameBoy, оптимизированный для запуска тетриса, но способный выполнять и другие игры (протестирован запуск ROM-файлов для десятка игр). Вывод формируется в форме псевдографики из Unicode-символов.
- Симулятор звука морского прибоя на фоне автоматически генерируемой медитативной музыки. На выходе генерируется wav-файл, продолжительностью 5 минут.
- Реализация самомодифицирующегося игрового автомата Quine Pong, предоставляющего две игры - пинг-понг и перепрыгивающий препятствия динозавр (как в пасхальном яйце из Google Chrome). Программа примечательна тем, что отображение кадров реализовано через цикличную перегенерацию кода программы (запуск приводит к выводу исходного кода для первого кадра, после компиляции этого кода формируется код для следующего кадра и так далее). Игровой процесс реализован через shell-скрипт, выполняющий цикличную перекомпиляцию кода.
- Компилятор и генератор кода для языка Zoltraak. Язык включает только одно слово "zoltraak", которое комбинируется в разной форме с пробелами и пустыми строками. На вход подаётся любой текстовый файл, который преобразуется в программу на языке Си, состоящую из заголовка и последовательности на языке Zoltraak. Компиляция и выполнение сгенерированной Си-программы приводит к выводу содержимого исходного текстового файла.
<iframe src="https://www.youtube.com/embed/MoWCwZx1Swc">/<center>
<br /><br>Источник: <b><a href="https://www.opennet.ru/opennews/art.shtml?num=65641">https://www.opennet.ru/opennews/art.shtml?num=65641</a></b></br></center></center></li></li></li></li></center></li></li></li></li></ul></p>
Выпуск Wayland-Protocols 1.49
Представлен
выпуск пакета
wayland-protocols 1.49
, содержащего набор протоколов и расширений, дополняющих базовый протокол Wayland и предоставляющих возможности, необходимые для построения композитных серверов и пользовательских окружений.
В новой версии:
- Добавлен экспериментальный протокол xx-fractional-scale, предоставляющий возможность масштабирования системы логических координат, значения в которой задаются целыми числами, для повышения точности позиционирования и увеличения разрешения логических координат до отдельных пикселей. Подобная возможность решает проблему с ограниченным разрешением системы логических координат, недостаточным для позиционирования на уровне отдельных пикселей, необходимого для полноценной реализации дробного масштабирования.
- В протокол "linux-dmabuf" добавлена поддержка работы на системах с несколькими GPU. На подобных системах клиент может согласовать с композитными сервером какой из GPU следует использовать.
- В протокол color-management-v1 добавлена поддержка метаданных изображений в формате BT.2100 для применения в композитном сервере специфичных обработчиков, позволяющих корректно отображать HDR-контент, созданный для Windows.
Все протоколы последовательно проходят фазы разработки, тестирования и стабилизации. После завершения стадии разработки (категория "unstable") протокол помещается в ветку "staging" и официально включается в состав набора wayland-protocols, а после завершения тестирования перемещается в категорию стабильных. Протоколы из категории "staging" уже можно применять в композитных серверах и клиентах, где требуется связанная с ними функциональность. В отличие от категории "unstable" в "staging" запрещено внесение изменений, нарушающих совместимость, но в случае выявление проблем и недоработок в ходе тестирования, не исключается замена новой значительной версией протокола или другим Wayland-расширением.
Для ускорения доведения протоколов до разработчиков и стимулирования ранней реализации протоколов в существующих проектах, начиная с позапрошлого выпуска дополнительно была добавлена фаза "experimental", в которой допускается внесение изменений, нарушающих совместимость, и добавление "сырых" протоколов, которые можно постепенно доводить до должного уровня. Если для попадания протокола в фазу "staging" требуется сформировать команду поддержки и получить определённое число подтверждений (ACK) от участников рецензирования, то для попадания в "experimental" достаточно отсутствия возражений (NACK) в течение двухнедельного периода рецензирования.
В настоящее время в состав набора wayland-protocols входят следующие стабильные протоколы, в которых обеспечивается обратная совместимость:
- "viewporter" - позволяет клиенту выполнять действия по масштабированию и обрезанию краёв поверхности на стороне сервера.
- "presentation-time" - обеспечивает отображение видео.
- "xdg-shell" - интерфейс создания и взаимодействия с поверхностями как с окнами, позволяющий передвигать их по экрану, сворачивать, разворачивать, изменять размер и т.д.
- "linux-dmabuf" - предоставляет возможности для создания wl_buffer-ов на базе DMA-BUF.
- "tablet" - организация ввода с графических планшетов.
Протоколы, тестируемые в ветке "staging":
- drm-lease - предоставляет ресурсы, необходимые для формирования стереокартинки с разными буферами для левого и правого глаза при выводе на шлемы виртуальной реальности.
- "ext-session-lock" - определяет средства блокировки сеанса, например, во время работы хранителя экрана или вывода диалога аутентификации.
- "single-pixel-buffer" - позволяет создавать однопиксельные буферы, включающие четыре 32-разрядных значения RGBA.
- "xdg-activation" - позволяет передать фокус между разными поверхностями первого уровня (например, при помощи
xdg-activation одно приложение может переключить фокус на другое).
- content-type - позволяет клиентам передать композитному серверу сведения об отображаемом содержимом, которые могут использоваться для оптимизации поведения с учётом содержимого, например, выставлении специфичных DRM-свойств, таких как "content type". Заявлена поддержка следующих типов контента: none (нет сведений о типе данных), photo (вывод цифровых фото, требующий минимальной обработки), video (видео или анимация, требуется более точная синхронизация, чтобы исключить подтормаживания) и game (запуск игр, требуется вывод с минимальной задержкой).
- ext-idle-notify - даёт возможность композитным серверам передавать клиентам уведомления о неактивности пользователя, что может использоваться для активации дополнительных режимов энергосбережения после определённого времени неактивности.
- tearing-control - позволяет отключить в полноэкранных приложениях вертикальную синхронизацию (VSync) с кадровым гасящим импульсом, применяемую для защиты от появления разрывов при выводе (tearing). В мультимедийных приложениях появление артефактов из-за разрывов является нежелательным эффектом, но в игровых программах с артефактами можно смириться, если борьба с ними приводит к дополнительным задержкам.
- ext-foreign-toplevel-list - получение информации о поверхностях, размещённых на самом верхнем уровне (toplevel), которые позволяют организовать закрепление окон поверх другого содержимого, например, для подключения собственных панелей и переключателей окон.
- security-context - позволяет идентифицировать клиентов, использующих sandbox-изоляцию. Клиент может зарегистрировать новое подключение к композитному серверу на базе Wayland и прикрепить к нему контекст безопасности, после чего в соответствии с указанным контекстом безопасности композитный менеджер ограничит возможности, доступные для установленного соединения.
- cursor-shape - альтернативный способ настройки внешнего вида курсора, основанный на передаче серии изображений курсора вместо привязки к поверхности (wl_surface).
- "ext-transient-seat" - предназначен для создания временных независимых сеансов (seat), рассчитанных на использование вместе с виртуальными устройствами ввода. Например, при реализации возможности подключения к удалённому рабочему столу протокол позволяет создать для каждого пользователя отдельный сеанс с виртуальными клавиатурой и мышью.
- "xdg-toplevel-drag" - расширяет механизм "drag & drop" возможностью прикрепления окон верхнего уровня к операции перемещения, что может быть использовано, например, для организации перетаскивания мышью панелей инструментов или вкладок браузера. Новый протокол позволяет создавать отсоединяемые части окна, которые при перетаскивании из этого окна становятся новыми окнами и могут перемещаться поверх существующего окна перед повторным прикреплением.
- "xdg-dialog" - позволяет назначать поверхностям верхнего уровня признаки, специфичные для диалоговых окон, например, можно создавать модальные диалоги, которые блокируют взаимодействие пользователя с остальной частью интерфейса.
- "linux-drm-syncobj" - предоставляет инструменты для явной синхронизации буферов при помощи объектов синхронизации DRM (Direct Rendering Manager). Предполагается, что в контексте синхронизации при отрисовке в буфер предложенный протокол позволит улучшить работу с драйверами на базе графических API Vulkan и OpenGL (реализация базируется на обработчиках в драйверах). Новый протокол даёт возможность убедиться, что операция отрисовки в буфер завершена до того, как композитный менеджер отобразит данный буфер.
- alpha-modifier, позволяющий клиентам менять уровень прозрачности поверхности и выносить операции по обеспечению прозрачности на сторону композитного сервера, который в свою очередь может переадресовать эти операции KMS.
- xdg-toplevel-icon - привязка пиктограммы к окну верхнего уровня.
-
ext-image-capture-source и ext-image-copy-capture - организация захвата контента, выводимого на экран.
- xdg-system-bell - позволяет выводить системный сигнал, который может использоваться, например, как предупреждение в эмуляторе терминалов. Форма вывода сигнала определяется на усмотрение композитного менеджера, это может быть не только звук, но визуальный отклик.
- fifo - реализует FIFO-механизм (первым пришёл - первым ушёл) обработки очереди обновления содержимого отображаемой поверхности. С практической стороны протокол позволяет при выводе использовать ожидание завершения вертикальной развёртки (vblank) вместо использования callback-вызовов при каждой готовности отобразить новый кадр, что решает проблему с высокой нагрузкой на GPU при использовании VSync.
- commit-timing - позволяет привязать ограничение времени к содержимому поверхности (композитный сервер должен отобразить изменение контента по возможности через указанное время, но не раньше).
- ext-data-control - позволяет привилегированным клиентам управлять обработкой данных, например, для реализации менеджеров буфера обмена.
- ext-workspace - реализует концепцию виртуальных рабочих столов и предлагает события с информацией о состоянии рабочих столов, а также возможности для активации и деактивации рабочих столов. Протокол может применяться для создания панелей и индикаторов, выводящих список доступных виртуальных рабочих столов и позволяющих переключаться между ними.
- color-management - предоставляет возможности для управления цветом и поддержки расширенного динамического диапазона яркости (HDR, High Dynamic Range). При помощи добавленного расширения клиентские приложения могут получать информацию о связанных с цветопередачей свойствах устройств вывода и передавать композитному серверу данные о свойствах цветопередачи собственного контента. В композитном сервере данная информация может использоваться для автоматического управления цветом при отображении содержимого на различных устройствах вывода, например, для преобразования контента в предоставление, подходящее для отображения на HDR-мониторах. Для описания цветовых пространств используются профили ICC.
- xdg-toplevel-tag - позволяет Wayland-клиентам прикреплять теги к поверхностями верхнего уровня, которые композитный сервер может использовать для идентификации окон после перезапуска приложения (например, приложение может выставить теги "main window" и "settings" для основного окна и окна с настройками). Подобная идентификация полезна для восстановления позиции, размера и свойств окон после перезапуска, а также для определения особых правил для отдельных видов окон.
- color-representation - определение цветового представления Wayland-поверхности. Wayland-клиенты могут передавать метаданные, необходимые для определения прозрачности, цветовой модели, субдискретизации и диапазона квантования, и применяемые при преобразовании буфера с данными, соответствующими цветовой модели YCbCr, в представление RGB.
- ext-background-effect - применение эффектов к полупрозрачным частям Wayland-поверхности, таких как размытие фона.
- pointer-warp - позволяет приложению мгновенно переместить указатель в указанную позицию.
- xdg-session-management - возможности для восстановления состояния и позиции окон прерванного сеанса, например, после аварийного завершения композитного сервера или приложения.
Протоколы, разрабатываемые в ветке "experimental":
- xx-session-management - восстановление состояния окон для прерванных сеансов (например, после аварийного завершения композитного менеджера).
- xx-input-method - даёт возможность приложениям реализовывать методы ввода текста для композитных серверов и формировать введённый текст, что может применяться, например, для создания виртуальных клавиатур и IME-прослоек (Input Method Editor) для обработки ввода.
- xx-text-input - позволяет композитным серверам реализовывать методы ввода и отправлять текст в приложения. Протокол стандартизирует взаимодействие между композитным сервером и приложениями, и позволяет управлять такими возможностями, как передача вводимого текста, обработка событий об изменении фокуса ввода и учёт специфики полей ввода (язык, выделение текста, тип контента).
- xx-cutouts - для получения информации о вырезах на экране (например, области под фронтальную камеру на экране смартфона).
- xx-zones - для создания и добавления окон верхнего уровня в "зоны" - окружения со своим пространством координат. Протокол позволяет организовать логическую расстановку окон, в которой каждое окно размещается относительно другого окна.
- xx-keyboard-filter - для перехвата клиентом выбранных событий клавиатуры, изменения событий ввода или блокирования передачи определённых событий в Wayland-поверхность, на которой установлен фокус ввода.
Протоколы, разрабатываемые в ветке "unstable":
- "fullscreen-shell" - управление работой в полноэкранном режиме.
- "input-method" - обработка методов ввода.
- "idle-inhibit" - блокировка запуска скринсейвера (экранной заставки).
- "input-timestamps" - временные метки для событий ввода.
- "keyboard-shortcuts-inhibit" - управление прикреплением клавиатурных комбинаций и горячих клавиш.
- "linux-explicit-synchronization" - специфичный для Linux механизм синхронизации буферов в привязке к поверхности.
- "pointer-gestures" - управление с сенсорных экранов.
- "pointer constraints" - ограничения указателей (блокировка).
- "primary-selection" - по аналогии с X11 обеспечивает работу первичного буфера обмена (primary selection), вставка информации из которого обычно осуществляется средней кнопкой мыши.
- "relative pointer events" - относительные события указателей.
- "text-input" - организация ввода текста.
- "xdg-foreign" - интерфейс взаимодействия с поверхностями "соседнего" клиента.
- "xdg-decoration" - отрисовка декораций окон на стороне сервера.
- "xdg-output" - дополнительные сведения о видеовыходе (используется для дробного масштабирования).
- "xwayland-keyboard-grab" - захват ввода в приложениях XWayland.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65638
https://t.me/Tvarium/343
В Австралии есть такая птичья ОПГ — «огненные ястребы». Они ведут себя как полные психопаты в мире птиц, потому что сами же поджигают лес.
...
Вот идёт лесной пожар. Хищный птиц подхватывает горящую ветку и бросает её в сухую траву — теперь это новый очаг огня. Грызуны, змеи и насекомые вылезают из укрытий и бегут, а хищник в это время собирает их как лёгкую добычу. Как-то так аборигены обычно рассказывали про огненных ястребов, но никто им особо не верил.
...
- Поджигают только избранные. Из 100 птиц, кружащих над пламенем, с горящим факелом может летать, например, один. Был случай, когда из 12 птиц двое оказались поджигателями. То есть речь точно не про массовый инстинкт. Скорее всего, это в прямом смысле высший пилотаж — локальный навык охоты, которым владеют далеко не все.
Intentional Fire-Spreading by “Firehawk” Raptors in Northern Australia
(#tvarium)
Сквозь камыш и рогоз, дурманящие запахи диких роз, с пением птички под названием камышовка-барсучок в укромное место под сень громадного дуба с рунами на стволе.
#ЛенинградНутряной
Сквозь камыш и рогоз, дурманящие запахи диких роз, с пением птички под названием камышовка-барсучок в укромное место под сень громадного дуба с рунами на стволе.
#ЛенинградНутряной
Планы развития Ubuntu Desktop 26.10
Жан-Батист Лальман (Jean Baptiste Lallement), директор по инжинирингу в компании Canonical,
опубликовал
планы по развитию функциональности среды рабочего стола, которые намерены воплотить в осеннем выпуске Ubuntu 26.10. Выделяется четыре ключевые направления работы:
- Развитие окружения на основе GNOME.
- Обновление среды рабочего стола до выпуска GNOME 51, намеченного на 16 сентября.
- Переход с dbus-daemon на dbus-broker в качестве применяемой по умолчанию реализации шины D-Bus. D-Bus Broker реализован в пространстве пользователя, но активно использует для ускорения подсистемы ядра Linux, сохраняет совместимость с эталонной реализацией D-Bus и может быть использован для прозрачной замены dbus-daemon. D-Bus Broker учитывает ресурсы в привязке к пользователям и уделяет особое внимание оптимизации производительности и повышению надёжности (например, сообщение не может быть потеряно без обработки ошибки). Проект Fedora перешёл по умолчанию на dbus-broker в 2019 году.
- Предоставление полноценной сборки с рабочим столом для плат с CPU RISC-V, поддерживающих профиль RVA23 (RISC-V Application), в который включены расширения для векторных операций и гипервизоров.
- Реализация средств для людей с ограниченными возможностями, определённых в стандарте WCAG 2.2. Устранение недостатков, выявленных в ходе аудита.
- Обновление мультимедийного фреймворка GStreamer до следующей ветки 1.30 и задействование плагинов к GStreamer, написанных на Rust. Упрощение поиска и установки дополнительных проприетарных кодеков.
- Сочетание простоты выполнения типовых задач для новичков с гибкостью и возможностью использования расширенной функциональности для опытных пользователей.
- Поставка универсального интерфейса для управления приложениями (App Center), поддерживающего пакеты разных форматов (deb, snap) и упрощающего поиск необходимых программ с оглядкой на категории и рейтинг.
- Улучшение интерфейса для поиска и выбора дополнительных драйверов, с возможностью оценки их готовности к повседневному использованию.
- Разработка нового упрощённого интерфейса установки дистрибутива, значительно снижающего сложность разбивки на разделы и настройку хранилищ.
- Разработка нового мастера первичной настройки, выносящего из инсталлятора на стадию первого первого запуска системы операции базовой настройки системы и задания специфичных для пользователя параметров. Возможность автоматизации первичной настройки при массовой установке Ubuntu.
- Внедрение возможностей на базе AI, понимающих контекст и предугадывающих намерения пользователя.
- Добавление инструментов, учитывающих контекст во время работы с рабочим столом (Context-Aware Desktop) и помогающих пользователю в выполнении намеченной работы, предоставляя информацию, комбинирующую данные из приложений, сервисов и рабочего стола.
- Интеграция системы распознавания речи для организации голосового ввода и распознавания команд на естественном языке.
- Построение заслуживающей доверия платформы.
- Продолжение развития пакета authd для настройки централизованной аутентификации через облачных провайдеров идентификации. Добавление возможности подключения с использованием учётных записей в сервисах Microsoft и поддержка многофакторной аутентификации (MFA) на базе приложения Microsoft Authenticator. Поддержка передачи сведений об идентификаторах пользователя через атрибуты, задаваемые внешними провайдерами идентификации, для присвоения пользователю единых UID и GID на разных компьютерах. Предоставление администратору опции для отключения локальной аутентификации по паролям для пользователей с централизованными учётными записями.
- Добавление в NetworkManager возможности аутентификации при подключении к VPN, используя сертификаты PKCS#11 и смарт-карты.
- Интеграция в конфигуратор (GNOME Settings) информации о сертификации оборудования (Ubuntu Certified hardware).
- Введение в строй нового wiki-сайта с документацией и руководствами, объединяющего информацию из wiki Ubuntu и wiki Canonical.
- Проведение оптимизации производительности и снижение размера сборок для Windows-подсистемы WSL (Windows Subsystem for Linux).
Источник: https://www.opennet.ru/opennews/art.shtml?num=65637
Стабильный выпуск XLibre XServer 25.1, форка X.Org Server
Спустя ровно год с момента
основания
форка X.Org Server
представлен
выпуск
XLibre 25.1.6
. Выпуск ознаменовал перевод ветки 25.1 в разряд стабильных (прошлые обновления имели качество бета-версий и предназначались для тестирования). XLibre применяется по умолчанию в дистрибутивах Artix Linux, GhostBSD, OpenMandriva и Vendefoul Wolf. Для Arch Linux, Debian, DragonFly BSD, Fedora, FreeBSD, Gentoo Linux, GNU Guix, Linux Mint, MX Linux, RHEL, Slackware, Ubuntu и Void Linux сообществом поддерживаются пакеты для замены X.Org Server на XLibre.
Основные изменения в ветке XLibre XServer 25.1:
- Добавлена поддержка библиотеки libseat и фонового процесса seatd, предоставляющих возможности для управления сеансом и организации доступа к совместно используемым устройствам ввода и вывода (может использоваться в качестве альтернативы systemd-logind).
- Улучшена поддержка проприетарных драйверов NVIDIA. В дополнение к ранее поддерживаемым выпускам драйверов NVIDIA 570+, добавлена поддержка старых веток 340, 390 и 470, активируемая через указание флага "legacy_nvidia_padding" при сборке Xserver и позволяющая обойтись без выставления в директиве ServerFlags параметра IgnoreABI.
На системах с драйвером NVIDIA включена поддержка архитектуры 2D-ускорения GLAMOR, которая использует OpenGL для ускорения 2D-операций (ранее поддержка GLAMOR была отключена из-за несовместимости с DDX-драйвером "modesetting" на системах с драйверами NVIDIA, теперь данная несовмесимость устранена).
- Возвращён X-сервер Xfbdev, использующий фреймбуфер, предоставляемый устройством framebuffer (/dev/fb*) в Linux. Xfbdev может работать без графических драйверов и подходит для применения на встраиваемых системах и в окружениях с ограниченными ресурсами.
- Реализовано X11-расширение Xnamespace, обеспечивающее изоляцию клиентов через разделение на уровне пространств имён X11.
- Добавлена поддержка платформы Cygwin (GNU-окружение для Windows).
- Добавлена возможность задания свойства DPI в привязке к разным мониторам.
- В драйвере dga прекращена поддержка устаревшего протокола DGA 1.0.
- В системе непрерывной интеграции реализовано тестирование сборок для платформ DragonFly BSD, FreeBSD, NetBSD, Cygwin (x86-64), macOS и Windows.
- Устранены уязвимости CVE-2026-50256, CVE-2026-50257, CVE-2026-50258, CVE-2026-50259, CVE-2026-50260, CVE-2026-50261, CVE-2026-50262 и CVE-2026-50263, недавно исправленные в X.Org Server 21.1.23 и xwayland 24.1.12.
Проект развивает Энрико Вайгельт (Enrico Weigelt), занимающий первое место по числу подготовленных для X-сервера изменений - до создания форка от Энрико в X.Org Server было принято около 1600 изменений и ещё более 1200 изменений включено в кодовую базу форка. Энрико также является мэйнтейнером драйверов AMD FCH GPIO и VIRTIO GPIO в ядре Linux, и мэйнтейнером Xnest. Причиной создания форка было несогласие с политикой сопровождающих X.Org, ведущей к стагнации разработки, в то время как Энрико выступал за активное продолжение развития и проведения большой чистки X-сервера. Недовольство сопровождающих в отношении Энрико, которое привело к прекращению приёма от него изменений, вызвано тем, что некоторые связанные с проведением чистки изменения приводили к проблемам, регрессиям, нарушению ABI и сбоям при сборке.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65636
Выпуск программы для ведения заметок OutWiker 4.0
Спустя почти два года с момента выхода прошлой стабильной версии,
опубликован
выпуск программы для хранения заметок
OutWiker 4.0
. Особенностью программы является то, что заметки хранятся в виде каталогов с текстовыми файлами, к каждой заметке можно прикреплять произвольное количество файлов, программа позволяет писать заметки с использованием различных нотаций: HTML, вики, Markdown (если установлен соответствующий плагин). Также с помощью плагинов можно добавить возможность размещения на викистраницах формул в формате LaTeX и вставки блока кода с раскраской ключевых слов для различных языков программирования. Программа написана на языке Python (интерфейс на wxPython),
распространяется
под лицензией GPLv3 и доступна в сборках для Linux (snap и flatpak) и Windows.
Изменения в версии 4.0:
- Предложена новая реализация дерева заметок и вкладок. Вкладки теперь могут располагаться в несколько рядов.
- Реализовано изменение порядка следования заметок с помощью мыши и масштабирование дерева заметок через вращение колеса мыши.
- Добавлены возможности изменения цвета и размера шрифта заметок в дереве заметок.
- В дереве заметок добавлены дополнительные значки, обозначающие, что заметка добавлена в закладки или открыта в режиме только для чтения.
- Добавлен новый плагин, помечающий цветом или дополнительным значком заметки, изменённые сегодня.
- Добавлены настройки внешнего вида вкладок и интерфейса.
- Реализован новый интерфейс выбора меток для страницы.
- Добавлена возможность изменения размера значков в дереве заметок и размера кнопок на панели инструментов.
- Добавлены новые стили текста для викистраниц.
- Добавлены новые векторные значки для заметок.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65635
Энтузиасты развивают Opengram, сервер для протокола Telegram
Сообщество энтузиастов развивает
Opengram
— открытую реализацию серверной части мессенджера Telegram. Проект представляет собой самостоятельный сервер, реализующий протокол MTProto (поддерживается layer до 216), который может использоваться для замены официальной серверной инфраструктуры Telegram при развёртывании на собственном оборудовании. Поддерживаются официальные клиенты Telegram (Telegram Desktop, мобильные приложения) после изменения в них адреса дата-центра и публичного RSA-ключа сервера.
Opengram является форком проекта mytelegram. Код Opengram написан на языке C# (.NET 9) и
распространяется в исходных текстах без указания лицензии. Изначальный проект mytelegram поставляется под лицензией Apache 2.0, которая в соответствии с пунктом 4a требует включения копии текста лицензии при распространении производных работ.
Сервер построен на наборе микросервисов, запускаемых через Docker Compose: шлюз MTProto-подключений, сервер авторизации и обмена ключами, сервер сессий, серверы команд и запросов (архитектура CQRS), HTTP Bot API, служебный API администрирования, серверы хранения и раздачи файлов, TURN/STUN для звонков и сервис отправки кодов подтверждения. В качестве инфраструктуры используются MongoDB , Redis, RabbitMQ и MinIO.
Из поддерживаемых возможностей: личные чаты, группы, супергруппы и каналы, секретные (end-to-end) чаты, голосовые и видеозвонки (через TURN/STUN и SFU mediasoup), боты и Bot API, настройки приватности и двухфакторная аутентификация, стикеры, реакции и кастомные эмодзи; звёзды (Stars) и подарки (Star Gifts), включая перепродажу и апгрейд. истории (Stories), темы оформления и обои; запланированные и самоудаляющиеся сообщения.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65629
GNOME File Previewer перешёл на GTK4, в GJS улучшена поддержка TypeScript
Проект GNOME
опубликовал
еженедельный отчёт, в котором отмечено портирование приложения File Previewer (
sushi
), используемого в GNOME для предпросмотра содержимого файлов, на библиотеку
GTK4
, компоненты оформления интерфейса
libadwaita
, бэкенд изолированной загрузки изображений
Glycin
и язык построения интерфейса
Blueprint
. В File Previewer также реализована поддержка тёмной темы оформления и плавающих панелей инструментов, модернизирован код для использования модулей EcmaScript.
Для JavaScript-движка GJS, применяемого в GNOME Shell, Polari и GNOME Documents, развивается фреймворк gjsify, добавляющий поддержку языка TypeScript. Из последних достижений в gjsify отмечена возможность выполнения компилятора TypeScript внутри GJS, что позволяет обойтись без Node.js для запуска tsc. Добавлена встроенная команда "gjsify install", которую можно использовать вместо "npm install".
Опубликован музыкальный проигрыватель Vinyl 1.4.0, написанный на Rust и ставший первым мультимедийным приложением GNOME, поддерживающим загрузку текстов песен напрямую из тегов ID3v2. В новой версии также появилась возможность загрузки отдельных изображений обложек для каждого трека, добавлена кнопка открытия каталога с текущим треком, реализованы всплывающие подсказки, появилась возможность поиска по расширениям.
Опубликован первый выпуск приложения Contributor Atlas с наглядной интерактивной картой участников разработки и истории развития проекта GIMP.
Опубликован выпуск Gitte 0.6.0, клиента для работы с Git для GNOME, написанного с использованием GTK4, libadwaita и Relm4.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65632
Изменение процесса разработки и прогресс в развитии браузера Ladybird
Андреас Клинг (Andreas Kling), основатель web-браузера
Ladybird
,
объявил
об изменении процесса разработки проекта. Ladybird отныне прекращает приём публичных pull-запросов и переходит к продвижению изменений в кодовую базу только через сопровождающих. Все уже открытые публичные pull-запросы будут закрыты.
Исходный код
Ladybird продолжит поставляться под лицензией BSD. Сообщения о проблемах, уязвимостях и тестировании работы с сайтами продолжат приниматься без изменения. Сторонние энтузиасты также смогут принимать участие в обсуждениях, связанных с поддержкой стандартов и архитектурой проекта.
В качестве причин прекращения принятия публичных pull-запросов упоминается подготовка к первому альфа-выпуску, требующая более строгого распределения ответственности за вносимые изменения. По мнению создателей Ladybird код должен приниматься только от тех, кто заслуживает доверия и готов нести персональную ответственность за каждую строку кода, и то, соответствует ли код архитектуре проекта и сможет ли поддерживаться в будущем.
Из проблем возникающих при приёме изменений от всех желающих упоминается снижение уровня доверия к авторам патчей - из-за возможности формирования изменений через AI, размер патча теперь не корректирует с трудозатратами и потраченным на разработку временем. Принятие сторонних патчей также упрощает деятельность злоумышленников, первое время генерирующих рабочие изменения, чтобы заслужить доверие для последующего внедрения в код скрытой уязвимости.
Дополнительно можно отметить майский отчёт о развитии Ladybird. Из недавних достижений отмечается:
- Реализован JIT-компилятор для WebAssembly, основанного на Cranelift (переход от интерпретации к JIT-компиляции в 8 раз повысил производительность прохождения теста CoreMark и в 3-4 раза микротестов отдельных функций);
- Задействован новый блокировщик нежелательного контента, основанный на библиотеке adblock-rust от проекта Brave и поддерживающий фильтры в стиле Adblock Plus и EasyList;
- На языке Rust переписан парсер HTML;
- Код прокрутки содержимого вынесен из основного потока в отдельный процесс композитинга и переведён на асинхронную модель работы;
- Включён по умолчанию API Media Source Extensions и улучшена работа с потоковым видео;
- Добавлена система кэширования байткода JavaScript на диске;
- В сборщике мусора реализован инкрементальный режим очистки памяти, исключающий длительные приостановки вычислений и повышающий отзывчивость интерфейса;
- Расширена поддержка CSS, реализованы контейнерные запросы (@container), разграничение области видимости (@scope), "grid-template-columns: subgrid", "scroll-margin", "scroll-padding";
- Добавлен API Permissions;
- Реализован протокол HSTS (HTTP Strict Transport Security);
- Обеспечено автоматическое определения кодировки текста;
- В инструменты для web-разработчиков добавлена поддержка инспектирования flexbox- и grid-раскладок;
- Улучшена совместимость с Discord, Shopify, Reddit, а также с сайтами, использующими графики на базе библиотеки TradingView.
- Модернизирован интерфейс пользователя на базе библиотеки Qt. Реализован режим вертикального отображения вкладок. Добавлена поддержка перемещения вкладок мышью для их группировки, отсоединения или переноса в другое окно;
- Вместо типовых для Qt стилей панелей и кнопок, реализовано собственное оформление вкладок, панели инструментов и адресной строки. Добавлена возможность восстановления недавно закрытых вкладок и окон. Реализована функция вставки текста из буфера обмена средней кнопкой мыши.
Браузер Ladybird развивается Андреасом Клингом, который когда-то работал в компании Nokia и занимался разработкой KHTML, а затем в Apple был одним из разработчиков Safari. Изначально проект был создан как приложение для операционной системы SerenityOS, но летом 2024 года был выделен в отдельный проект и получил пожертвование в 1 млн. долларов. Браузер написан на языке С++ (стартовал проект переписывания компонентов на Rust) и распространяется под лицензией BSD. Проектом развиваются собственный движок LibWeb, JavaScript-интерпретатор LibJS и сопутствующие библиотеки.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65628
Релиз платформы сборки дистрибутивов T2 SDE 26.6
Опубликован
релиз мета-дистрибутива
T2 SDE 26.6
, предоставляющего окружение для формирования собственных дистрибутивов, кросс-компиляции и поддержания версий пакетов в актуальном состоянии. Из популярных дистрибутивов, построенных на базе системы T2, можно отметить Puppy Linux. Проектом
предоставляется
10 готовых загрузочных iso-образов с графическим окружением на базе KDE, собранных для архитектур arm64, ia64, ppc64, ppc64le, riscv64, riscv64 rva23, i686 и x86-64.
Платформа сосредоточена на создании сборок на базе ядра Linux, но отдельно развиваются прототипы, позволяющие собирать пакеты для различных ОС, включая macOS, Haiku и BSD-системы. В планах поддержка создания окружений на основе других ядер, например, на базе L4, Fuchsia и RedoxOS, и формирование сборок на базе Android (AOSP). Для сборки доступно более 7000 пакетов.
В T2 обеспечивается поддержка 20 аппаратных архитектур, применяемых как в современных встраиваемых системах, так и на устаревшем оборудовании. Например, обеспечена поддержка игровых приставок Nintendo Wii U и Sony PS3, рабочих станций SGI, Sun и HP. Для большинства архитектур возможна загрузка в окружениях с 128 МБ ОЗУ. Поддерживаются такие архитектуры, как Alpha, Arc, ARM64, HPPA64, IA64, Loongarch64, M68k, Microblaze, MIPS64, Nios2, OpenRISC, PowerPC 64, RISC-V 64, s390x, SPARC 64, SuperH, i486, i686, i786, x86-64 и x32.
Среди изменений в новой версии:
- Предоставлены полные сборки со средой рабочего стола KDE Plasma, собранные компилятором Clang с использованием Си-библиотеки musl.
- Добавлены сборки с KDE Plasma для архитектур RISC, Alpha, IA-64, SPARC и HPPA.
- В сборках с KDE в менеджере приложений Discover включена поддержка пакетов в формате Flatpak.
- Реализована поддержка воспроизводимой пересборки окружений с KDE Plasma на базу Wayland и glibc или musl.
- Добавлена возможность установки KDE в режиме автоматического входа, не требующего у пользователя ввода пароля.
- Обновлены версии почти 4000 пакетов, например, в поставку вошли ядро Linux 7.0, GCC 16.1, LLVM/Clang 22.1, Mesa 26.1, Glibc 2.43, Musl 1.2.5, uClibC 1.0.56.
- Расширена поддержка архитектур ARM64, RISC-V, IA-64, SPARC64, HPPA64.
- В состав включены дополнительные прошивки для чипов Wi-Fi и Bluetooth.
- Для систем ARM64 добавлен OpenGL-драйвер Panfrost для GPU ARM Mali.
- Добавлен драйвер для использования GPU PowerVR на системах RISCV64.
- Перенесены патчи для поддержки Apple T2 Mac.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65627
В Chrome устранено 429 уязвимостей, а в Android - 124
Компания Google
внесла
изменения в объявление о выпуске Chrome 149, в котором раскрыла сведения об устранении 429 уязвимостей. 22 уязвимости отмечены как критические, а 87 - как опасные. Критические проблемы позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. Детали пока не раскрываются, упомянуто только, что большая часть критических проблем вызвана переполнением буфера или обращением к уже освобождённой памяти в компонентах
ANGLE
,
Ozone
, Chromecast, Chromoting, GFX и процессе для взаимодействия с GPU. Наибольший размер вознаграждения за уязвимость составил 97 тысяч долларов.
Дополнительно можно отметить публикацию июньского отчёта об уязвимостях в Android, в котором упомянуто 124 уязвимости. 18 уязвимостям присвоен критический уровень опасности. 2 критические уязвимости присутствуют во фреймворках и позволяют совершить удалённую атаку для выполнения своего кода в системе без необходимости совершения пользователем каких-либо действий. 13 критических уязвимостей присутствуют в системных компонентах и позволяют поднять свои привилегии в системе. 3 критические проблемы выявлены в проприетарных компонентах Qualcomm.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65624
Доступен Emscripten 6.0, компилятор из C/C++ в WebAssembly
Опубликован
выпуск инструментария
Emscripten 6.0
, позволяющего компилировать код на C/C++ и других языках, для которых имеются фронтэнды на базе LLVM, в универсальный низкоуровневый промежуточный код WebAssembly. Полученный результат можно использовать для интеграции с JavaScript-проектами, запуска в web-браузере, использования в Node.js или создания обособленных многоплатформенных приложений, запускаемых при помощи
wasm runtime
. Код проекта
распространяется
под лицензией MIT. В компиляторе используются наработки проекта LLVM, а для генерации WebAssembly и оптимизации задействована библиотека
Binaryen
.
Основной целью Emscripten заявлено создание инструмента, позволяющего выполнять в Web код независимо от языка программирования, на котором этот код изначально написан. В компилируемых приложениях могут использоваться вызовы стандартных библиотек C и С++ (libc, libcxx), расширения C++, многопоточность на базе pthreads, API POSIX и многие мультимедийные библиотеки. Отдельно предоставляются API для интеграции с Web API и кодом на JavaScript.
Emscripten поддерживает трансляцию вывода библиотеки SDL2 через Canvas, а также реализует поддержку OpenGL и EGL через API WebGL, что позволяет преобразовывать в WebAssembly графические приложения и игры (например, имеется порт тулкита Qt, поддерживаются игровые движки Unreal Engine и Unit, а также движок симуляции физических процессов Bullet).
Помимо компиляции кода на C/C++ отдельно развиваются проекты для запуска в браузерах интерпретаторов и виртуальных машин для языков Lua, C#, Python, Ruby и Perl. Кроме того, возможно применение фронтэндов к LLVM, отличных от Clang, например, фронтэндов для языков, как Swift, Rust, D и Fortran.
Присвоение номера версии 6.0 связано с внесением изменений, нарушающих совместимость. Основные изменения в Emscripten 6.0:
- Увеличены минимальные версии браузерных движков, в которых может исполняться генерируемый код: Chrome 74 -> 85, Firefox 68 -> 79 и Safari 12.2 -> 14.1. Изменение позволило задействовать по умолчанию расширения WebAssembly для импорта и экспорта изменяемых глобальных переменных, а также увеличения разрядности чисел с сохранением знака и значения.
- При выполнении потоковой загрузки с использованием операции Fetch размер загружаемого блока теперь ограничен 8 МБ для предотвращения загрузки в память сразу всего содержимого больших файлов.
- Обновлены версии musl libc 1.2.6, libpng 1.6.58 и google-closure-compiler 20260429.0.0.
- Реализован флаг компилятора "-m64", который аналогичен флагам
"-sMEMORY64" и "--target=wasm64".
- Из объекта PThread удалено поле PThread.runningWorkers.
- Функция pause() теперь возвращает 0 вместо EINTR.
- На платформе Windows вместо bat-файла (emcc.bat) для запуска Emscripten предложен exe-файл (emcc.exe).
Источник: https://www.opennet.ru/opennews/art.shtml?num=65625
@iron_bug
Да, я и сам стараюсь меньше жить "по часам", но пока у меня это плохо получается.
@cybertailor Не хочешь попробовать Sxmo?
Джордж Вудкок, "Тирания часов" (перевод Марии Рахманиновой, #akrateia)
Земледелец трудится в согласии с природными стихиями, ремесленник – до тех пор, пока не доведёт своё изделие до доступного ему совершенства. Ещё совсем недавно время воспринималось как неотделимая часть природного процесса, и люди не были озабочены его точным измерением.
...
Напротив, современный западный человек живёт в мире, который в полной мере функционирует согласно механическим и математическим символам часовой разметки. Часы диктуют его движения и ограничивают его действия; часы превращают время из природного процесса – в товар, который можно измерять, покупать и продавать – как мыло или изюм.
(#федичитает #чтопочитать)
@iron_bug Забытое искусство.
Большая Охта не устаёт преподносить сюрпризы и всяческие артефакты. Эта фигурка белки, подвешенная на дерево под металлическую крышу, слишком уж уродлива чтобы быть игрушкой или стандартным дачным украшением. Уверен, что это работа настоящего охтинского мастера таксидермиста прошлых лет.
#ЛенинградНутряной #спб
Компания Alibaba опубликовала инструментарий Open Code Review для рецензирования кода
Alibaba, одна из крупнейших китайских IT-компаний,
опубликовала
открытую платформу
Open Code Review
с реализацией гибридной архитектуры рецензирования, сочетающей строгие методы проверки с гибкими возможностями больших языковых моделей. Проект основан на коде применяемой в Alibaba внутренней системы рецензирования изменений, написан на языке Go и
распространяется
под лицензией Apache 2.0.
Система поддерживает интеграцию с различными большими языковыми моделями, допускает привязку комментариев к конкретным строкам в коде и содержит встроенные наборы правил для выявление типовых проблем и уязвимостей, таких как ошибки при синхронизации потоков, межсайтовый скриптинг и подстановка SQL-кода. Проверка на основе правил предоставляется для языков Java, TypeScript, Go, Python, Kotlin, C++ и C.
Open Code Review предлагает инструментарий командной строки, читающий изменения из git, отправляющий их большой языковой модели через выбранного AI-агента и генерирующий структурированный отчёт с построчными комментариями. Помимо анализа переданных изменений AI-агент может выполнять поиск в кодовой базе, загружать файлы из репозитория и инспектировать другие изменённые файлы для более глубокого погружения к контекст и учёта связи с другими изменениями.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65623
Праздник байкеров. Весь центр перекрыли с утра. Наверное, я опять на него не пойду... Хотя поснимать байкеров при параде и в закулисье в моем личном списке фотохотелок уже давно.
Если тут вдруг есть байкеры из екб, знайте, захочется фоток, можно спросить меня.
Производитель телевизоров Roku опубликовал открытую операционную систему Roku LT OS
Компания
Roku
, производящая телевизоры, телеприставки и устройства для умного дома,
представила
открытую операционную систему Roku LT OS, нацеленную на использование в специализированных инженерных проектах и встраиваемые системах. Roku LT OS позволяет создавать собственные решения, способные работать в окружениях с ограниченными ресурсами и жёсткими требованиями к задержкам и предсказуемому времени выполнения операций. Код проекта написан на языке Си и
распространяется
под лицензией Apache 2.0. Поддерживается создание прошивок для чипов ESP32 и STMicro, а также запуск Roku LT OS поверх Linux.
Для разработки решений на базе Roku LT OS поставляется SDK и примеры прошивок, а в качестве обучающего руководства предложен видеокурс. Roku использует Roku LT OS в пультах дистанционного управления телевизорами. Представленная ОС также задействована в университетском проекте LT Racing, развивающем гоночный электромобиль, в качестве операционной системы для блока управления (VCU, Vehicle Control Unit) на базе SoC STM32H755ZI. Данный чип включает два ядра ARM Cortex‑M4 и ARM Cortex‑M7, которые задействованы для раздельного изолированного выполнения независимых экземпляров Roku LT OS.
В качестве минимальных требований к оборудованию заявлены процессор 100Mhz и 64 Кб ОЗУ. Запускаемые в Roku LT OS приложения собираются в форме динамически загружаемых разделяемых библиотек. Имеется поддержка TCP/IP стека lwIP, кодеков MP4 и Opus, шифрования и TLS. Поставляются драйверы для различных датчиков, BlueTooth, USB, устройств ввода, Wi-Fi, SD-карт, NPU, SPI, I2C.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65620
Microsoft анонсировал универсальный дистрибутив Azure Linux 4.0
Компания Microsoft
анонсировала
первую публично доступную экспериментальную сборку дистрибутива
Azure Linux 4.0
, подготовленную для запуске в виртуальных машинах и контейнерах. В дальнейшем обещают опубликовать экспериментальные сборки для WSL (Windows Subsystem for Linux) и AKS (Azure Kubernetes Service). Ветка Azure Linux 4 преподносится как универсальное решение, оптимизированное для платформы Azure и пригодное для использования во всех связанных с ней сферах, от виртуальных машин и контейнеров до узлов в кластере Kubernetes и систем разработчиков. Специфичные для дистрибутива изменения
поставляются
под лицензией MIT.
По сравнению с Azure Linux 3.0 новая ветка переведена с собственной пакетной базы на использование пакетов из дистрибутива Fedora 43. В качестве основы используются штатные SRPM-пакеты из репозиториев Fedora, для которых поставляется набор оверлеев - файлов конфигурации в формате TOML, дающих возможность пересобирать пакеты с дополнениями, оптимизациями и изменениями, необходимыми для Azure Linux. Для генерации результирующих RPM-пакетов на основе SRPM-пакетов Fedora и оверлеев применяется инструментарий azldev, написанный на языке Go и поставляемый под лицензией MIT. Система сборки Azure Linux даёт возможность генерировать как классические установочные окружения с RPM-пакетами, так и монолитные атомарно обновляемые системные образы.
В Azure Linux 4.0 поставляется ядро Linux 6.18 с дополнительными оптимизациями, добавлена защита от атак через зависимости (supply chain), обеспечен предсказуемый цикл поддержки и выпуска обновлений, реализованы инструменты для интеграции с облаком Azure и включены возможности для усиления безопасности, такие как фильтрация системных вызовов, шифрование дисковых разделов, верификация репоизиториев и пакетов по цифровой подписи, защита от атак, связанных с символическими ссылками и сборка с опциями для защиты от переполнений буфера.
В состав включены новые драйверы, оптимизированные для оборудования, применяемого в Azur, улучшена интеграция с гипервизором Hyper-V и добавлена поддержка GPU- и AI-ускорителей. Пакетный менеджер tdnf заменён на dnf5. Обеспечена поддержка SELinux. Среди задействованных версий системных компонентов: glibc 2.42, OpenSSL 3.5, systemd 258, Python 3.14, RPM 6.0.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65618
The Close | Adult Animation Comedy Short Film - BBC
(#чтопосмотреть #анимация)
Random relinking at boot comes to httpd(8) and smtpd(8)
Random order relinking of critical components is an
OpenBSD
feature specifically designed to make it harder to exploit bugs in the resulting binary.
sshd(8)
was the first of the network-facing daemons to get the random treatment (see
this previous report
).
Now
in a
series
of
commits
that
split
one
daemon
(smptd(8))
into
six
separate binaries, Theo de Raadt (deraadt@) is bringing httpd(8) and smptd(8), both common in network facing configrations, into the random relink at boot fold.
httpd(8) was the first of the two:
Read more…
А вы слыхали, как поют бобры?
#бобр #весна #покатушки
External Attachment: Бобр плывет по реке
Релиз Chrome 149
Компания Google
опубликовала
релиз web-браузера
Chrome 149
. Одновременно доступен стабильный выпуск свободного проекта
Chromium
, выступающего основой Chrome. Браузер Chrome
отличается
от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей
RLZ-параметров
при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 150 запланирован на 30 июня.
Основные изменения в Chrome 149 (1, 2,
3, 4):
- В конфигуратор в секцию "Система" ("System") добавлены настройки для управления загрузкой и использованием AI-моделей, выполняемых на устройстве пользователя. Например, можно полностью запретить использование подобных моделей и удалить ранее загруженные модели.
- В июне начнётся публикация официальных сборок Chrome 149 для Linux-систем на базе архитектуры ARM64, поставляемых в пакетах deb и rpm. Ранее официальные сборки Chrome для Linux публиковались только для архитектуры x86_64, а для архитектуры ARM64 были доступны только сторонние сборки Chromium, предлагаемые дистрибутивами.
- В Service Worker-ах ограничена возможность фоновой загрузки данных, используя API Background Fetch.
- В CSS реализована поддержка настройки оформления разделителей между элементами в контейнерах grid и flexbox. Добавлены CSS-свойства column-rule-inset и row-rule-inset для укорачивания или удлинения разделителей, а также column-rule-visibility-items и row-rule-visibility-items для управления видимостью разделителей (только между заполненными элементами или во всех промежутках сетки). Ширину, цвет и отступы можно анимировать с помощью переходных эффектов (transition), активируемых, например, при наведении курсора.
- Убрано влияние активных WebSocket-соединений на сохранение страницы в кэше перехода (BFCache - Back-forward cache), обеспечивающем мгновенный переход при использовании кнопок "Назад" и "Вперёд" или при навигации по уже просмотренным страницам текущего сайта. Ранее наличие WebSocket-соединения не позволяло поместить страницу к кэш и приводило к необходимости её полной перезагрузки при нажатии кнопок "Назад" или "Вперёд".
- В CSS-свойстве shape-outside реализована возможность использования функций path(), shape(), rect() и xywh().
- В CSS-свойство "image-rendering" добавлено значение "crisp-edges", предписывающее масштабировать изображение без размытия с сохранением контраста и чётких границ.
- Добавлено CSS-свойство path-length, позволяющее изменять атрибут pathLength в SVG.
- В объект Intl.Locale добавлена возможность задавать и получить информацию об используемом варианте языка.
- Внесены улучшения в инструменты для web-разработчиков, в которых стабилизирована реализация MCP-сервера (Model Context Protocol) и интерфейса командной строки для AI-агентов. Добавлена возможность эмуляции собственных HTTP-заголовков. Значительное переработана панель AI-ассистента. Реализована экспериментальная возможность отладки страниц, использующих API WebMCP. В панель CSS добавлена поддержка автодополнения стилей, используя AI-модель Gemini.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65617
Уязвимость в реализациях HTTP/2, приводящая к исчерпанию доступной памяти
Раскрыта
информация об уязвимости "
HTTP/2 Bomb
", затрагивающей различные реализации протокола HTTP/2 и позволяющей добиться отказа в обслуживании через исчерпание всей доступной процессу памяти. Наличие проблемы подтверждено в HTTP-серверах nginx, Apache httpd (
CVE-2026-49975
), Microsoft IIS, Envoy (
CVE-2026-47774
) и Cloudflare Pingora в конфигурации по умолчанию.
Уязвимость использует метод, напоминающий zip-бомбу, применяемую к функциональности сжатия заголовков в HTTP/2. Идея в том, что запрос может содержать тысячи сжатых заголовков, таких как "Cookie", без прикреплённых данных, каждый из которых в запросе представлен однобайтовой ссылкой в индексе HPACK, но на сервере требует полноценного выделения памяти под весь заголовок. Уровень расходования памяти в различных HTTP-серверах варьируется от примерно 70 байт на каждый байт в индексе для nginx, IIS и Pingora, до 4000 байт в Apache httpd и 5700 в Envoy. При атаке с потребительского компьютера, имеющего канал связи 100Mbps, для исчерпания 32 ГБ памяти требуется примерно 10 секунд при атаке на сервер с Envoy 1.37.2, 18 секунд - Apache httpd 2.4.67 и 45 секунд - nginx 1.29.7.
Для блокирования уязвимости в выпуске nginx 1.29.8 из проекта freenginx была перенесена директива max_headers, по умолчанию допускающая обработку не более 1000 заголовков. В Envoy исправление
включено в состав выпуска 1.36.7, в котором реализованы лимиты mutable_max_request_headers_kb и max_headers_count. В Apache httpd исправление предложено в выпуске модуля mod_http2 2.0.41, который ещё не вошёл в релизы Apache httpd. Для
Microsoft IIS и Cloudflare Pingora исправления пока отсутствуют.
В качестве обходного пути защиты можно отключить использование протокола HTTP/2 и выставить ограничение на размер памяти, доступный для рабочих процессов.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65616
Уязвимость в реализациях HTTP/2, приводящая к исчерпанию доступной памяти
Раскрыта
информация об уязвимости "
HTTP/2 Bomb
", затрагивающей различные реализации протокола HTTP/2 и позволяющей добиться отказа в обслуживании через исчерпание всей доступной процессу памяти. Наличие проблемы подтверждено в HTTP-серверах nginx, Apache httpd (
CVE-2026-49975
), Microsoft IIS, Envoy (
CVE-2026-47774
) и Cloudflare Pingora в конфигурации по умолчанию.
Уязвимость использует метод, напоминающий zip-бомбу, применяемую к функциональности сжатия заголовков в HTTP/2. Идея в том, что запрос может содержать тысячи сжатых заголовков, таких как "Cookie", без прикреплённых данных, каждый из которых в запросе представлен однобайтовой ссылкой в индексе HPACK, но на сервере требует полноценного выделения памяти под весь заголовок. Уровень расходования памяти в различных HTTP-серверах варьируется от примерно 70 байт на каждый байт в индексе для nginx, IIS и Pingora, до 4000 байт в Apache httpd и 5700 в Envoy. При атаке с потребительского компьютера, имеющего канал связи 100Mbps, для исчерпания 32 ГБ памяти требуется примерно 10 секунд при атаке на сервер с Envoy 1.37.2, 18 секунд - Apache httpd 2.4.67 и 45 секунд - nginx 1.29.7.
Для блокирования уязвимости в выпуске nginx 1.29.8 из проекта freenginx была перенесена директива max_headers, по умолчанию допускающая обработку не более 1000 заголовков. В Envoy исправление
включено в состав выпуска 1.36.7, в котором реализованы лимиты mutable_max_request_headers_kb и max_headers_count. В Apache httpd исправление предложено в выпуске модуля mod_http2 2.0.41, который ещё не вошёл в релизы Apache httpd. Для
Microsoft IIS и Cloudflare Pingora исправления пока отсутствуют.
В качестве обходного пути защиты можно отключить использование протокола HTTP/2 и выставить ограничение на размер памяти, доступный для рабочих процессов.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65616
Spotted on a walk 🦝
#rusmeme
Уязвимость в libinput, позволяющая повысить свои привилегии в системе
В библиотеке
libinput
, предоставляющей унифицированный стек ввода для Wayland и X.Org Server, выявлена
уязвимость
(CVE не назначен),
позволяющая
добиться выполнения кода с правами root через подключение локальным пользователем виртуального устройства ввода, сэмулированного в пользовательском пространстве через
uinput
или
uhid
. Проблема
устранена
в выпусках
1.31.3
и
1.30.4
.
Уязвимость присутствует в udev-обработчике libinput-device-group и
вызвана отсутствием должного экранирования спецсимволов в атрибутах, получаемых от устройств ввода и передаваемых в подсистему udev в форме "ключ=значение". Через подстановку символа перевода строки ("\n") в атрибут, можно добиться добавления своего правила udev, например, через выполнение при помощи uinput команды UI_SET_PHYS("poc\n‹SECOND_KEY›=‹value›"). Для выполнения произвольных команд с правами root достаточно подобным способом добавить udev-правило со свойством "REMOVE_CMD".
Для эксплуатации уязвимости атакующий должен иметь доступ к устройству /dev/uinput или /dev/uhid. Обычно доступ к uinput и uhid имеет только пользователь root, но в некоторых дистрибутивах поставляются udev-правила, позволяющие непривилегированным пользователям создавать устройства через uinput. Например, в Fedora подобные правила выставляются при установке пакетов steam-devices, antimicrox и kdeconnectd. Доступен прототип эксплоита.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65615
Выпуск фильтрующего прокси Privoxy 4.2.0
Опубликован
релиз прокси-сервера
Privoxy 4.2.0
, предназначенного для создания персональных фильтров web-контента. При помощи Privoxy можно вырезать рекламные вставки, отбрасывать отслеживающие Cookie, удалять всплывающие диалоги, блокировать загрузку стороннего JavaScript-кода и вносить необходимые пользователю произвольные изменения в web-страницы. Privoxy поддерживает установку как на локальные системы отдельных пользователей, так и на серверы для создания централизованной инфраструктуры фильтрации контента в локальной сети. Код проекта написан на языке Си и
распространяется
под лицензией GPLv2+. Готовые сборки подготовлены для Linux (
deb
) и
Windows
.
Из расширенных возможностей Privoxy можно отметить: возможность привязки тегов для изменения поведения фильтров в зависимости от отдельных клиентских и серверных HTTP-заголовков; режим инспектирования HTTPS, позволяющий фильтровать HTTPS-запросы и ответы; использование регулярных выражений в файлах конфигурации; возможность замены анимированных gif-ов на урезанные статические картинки. Privoxy может использоваться для блокирования рекламы и нежелательного контента на устройствах, на которых невозможно установить соответствующие браузерные дополнения.
Среди изменений в новом выпуске:
- В режиме инспектирования HTTPS включено по умолчанию использование ключей на базе эллиптических кривых (SN_X9_62_prime256v1) вместо RSA при генерацииключей и сертификатов для сайтов.
- Реализована возможность использования разных клиентских тегов для разных клиентов, работающих на том же хосте.
- Добавлена сборочная опция "--enable-acl-debugging" для добавления расширенных возможностей отладки ACL.
- Повышена эффективность работы фильтров за счёт применения отдельных связанных списков для разных типов фильтров.
- Во встроенный web-интерфейс добавлена возможность добавления и убирания внешних фильтров.
- Прекращена поддержка библиотеки mbedtls 2.x и версий OpenSSL до 2.0.
- Для "sourceforge" добавлен фильтр для скрытия панели вайб-кодинга.
- Исправлены две проблемы с безопасностью (CVE-идентификаторы не присвоены):
Fedora Linux помог выявить проблему с безопасностью в почтовом клиенте Outlook
Администраторы почтовых серверов на базе Fedora Linux
обратили внимание
на возникновение проблем с работой почтового клиента
Microsoft Outlook
после обновления дистрибутива. Диагностика проблемы показала, что в новой версии пакета с IMAP/POP3-сервером Dovecot 2.4.3 в настройках по умолчанию была запрещена аутентификация по протоколам IMAP и POP3 с передачей пароля в открытом виде в сеансах без применения шифрования.
У пользователей Outlook была включена опция для обращения к почтовому серверу с использованием шифрования, но почтовый клиент при её выставлении продолжал использовать сетевой порт 110 для POP3, вместо смены номера порта на 995, применяемого для TLS-сеанса по протоколу POP3. Таким образом некоторые старые конфигурации Outlook без вывода предупреждения игнорировали флаг использования TLS-шифрования в случае указания порта 110, предназначенного для обмена данными открытым текстом. Наиболее старый выпуск Microsoft Outlook в котором замечено проявление проблемы датирован 2007 годом.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65614
Регрессии в rsync 3.4.3 и принятие изменений, подготовленных с использованием AI
После выхода обновления утилиты для синхронизации файлов
rsync 3.4.3
с исправлением 6 уязвимостей,
отмечено
появление
регрессий
, нарушающих работоспособность ранее используемых конфигураций. Помимо этого
непонимание
и
недовольство
вызвало
добавление
за последние две недели в репозитории rsync около 50 изменений, подготовленных с использованием AI-модели Claude. Некоторые пользователи
связали
появление регрессий с генерацией низкокачественных исправлений уязвимостей при помощи AI.
Некоторые из регрессий в rsync 3.4.3:
- Начали завершаться с ошибкой команды для инкрементального создания резервных копий, в которых было указано несколько опций "--compare-dest";
- Стало
невозможно собрать rsync на системах с ядрами Linux до версии 5.6 из-за задействования системного вызов openat2 (коммит 1, коммит 2);
- Перестал работать формат "хост::модуль/путь" (коммит).
- Перестали восприниматься команды, использующие опцию
"--delete-missing-args" вместе с "--files-from" (коммит).
- При синхронизации стали выдаваться ошибки о нахождении значения modtime_nsec вне допустимого диапазона.
- Нарушилась сборка на старых версиях macOS.
- Изменилось поведение опции "--link-dest" (коммит).
- Возникли сбои при запуске в мультиплексоре терминалов tmux.
Эндрю Триджелл (Andrew Tridgell), основатель проектов samba и rsync, два года назад вернувшийся к сопровождению rsync и добавивший проблемные коммиты, опубликовал заметку с пояснением сложившейся ситуации. По словам Эндрю, проект rsync столкнулся с лавиной отчётов об уязвимостях, многие из которых были сгенерированы через AI. В релизе rsync 3.4.3 появление регрессий стало ценой устранения уязвимостей. Эндрю сознательно предпочёл исправить уязвимости, несмотря на то, что исправления могли нарушить работу некоторых редких, но корректных сценариев использования rsync. Подобные сценарии не покрывались старым тестовым набором и ручными проверками, поэтому регрессии остались не замеченными и будут устранены в следующим выпуске 3.4.4.
Возникшая ситуация побудила Эндрю модернизировать тестовый набор, ввести проверку покрытия кода и реализовать тестирование в системе непрерывной интеграции на разных платформах, а также выполнить анализ потенциальных уязвимостей. Так как Эндрю уже почти 60 лет и он предпочёл бы путешествовать на яхте, а не тратить своё время на устранение уязвимостей в rsync, он решил привлечь AI-ассистенты для выполнения рутинных задач в условиях свалившейся лавины сообщений об уязвимостях. Эндрю разработал архитектуру, план проверки и структуру нового тестового набора, после чего при помощи AI сгенерировал его на Python и заменил им ранее применявшийся тестовый shell-скрипт. При разработке использовалась модель Claude с ручной проверкой результата и перекрёстной проверкой в Codex и Gemini.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65589
Here's a follow-up article about spaces in DOS filenames. You can save names like
MY◼️FILE.TXT
…but not names like
FILE◼️.TXT
The space at the end is a problem because of how DOS stores filenames. More info and a demo in this article:
https://www.both.org/?p=14211
Microsoft представил Coreutils для Windows, эмулятор терминала Intelligent Terminal и контейнеры в WSL
Компания Microsoft
представила
порт набора утилит
Coreutils для платформы Windows
. В состав входит несколько десятков утилит, включая sort, cat, chmod, chown, cp, find, sleep, sort, tee, echo, uptime и ls. Инструментарий позволяет напрямую использовать в Windows типовые утилиты, доступные в Linux и macOS, без использования прослойки WSL. Целью проекта заявлено упрощение перехода между Unix-подобными системами, WSL, контейнерами и Windows, и предоставление единого набора команд, флагов и методов, позволяющих переносить существующие скрипты из других систем без переписывания. Код написан на Rust и PwerShell, и
распространяется
под лицензией MIT.
Реализация основана на коде проекта uutils (Rust Coreutils), развивающего вариант GNU Coreutils на языке Rust, а также реализациях утилит find и grep на Rust. Утилиты собраны в виде одного универсального исполняемого файла "C:\Program Files\coreutils\coreutils.exe", отдельные команды к которому привязаны при помощи жёстких ссылок в NTFS.
Из-за конфликта с имеющимися штатными утилитами Windows или привязки к специфичным возможностям из поставки исключены утилиты dd, dir, dircolors, shred, sync, uname, expand, kill, more, paste, timeout и whoami. Из состава также исключены утилиты, завязанные на не поддерживаемые в Windows концепции POSIX: chcon, chgrp, chmod, chown, chroot, groups, hostid, id, install, logname, mkfifo, mknod, nice, nohup, pathchk, pinky, runcon, stdbuf, stty, tty, users, who.
Из ограничений и особенностей отмечается необходимость использовать NUL вместо /dev/null, отсутствие поддержки сигналов (SIGHUP, SIGPIPE, SIGUSR), возможность создания символических ссылок только после включения режима для разработчика, недоступность некоторых операций с правами доступа. При работе с каталогами принимаются как пути с символом "/", так и c "\".
Одновременно представлен первый выпуск эмулятора терминала Intelligent Terminal, представляющего собой форк Windows Terminal с интегрированным AI-агентом. Поддерживается подключение AI-агентов, поддерживающих протокол ACP (Agent Client Protocol), таких как gitHub Copilot, Claude, Codex и Gemini. Код терминала написан на языках C++ и Rust, и открыт под лицензией MIT.
По функциональности терминал близок к Windows Terminal и также поддерживает вкладки, темы оформления, профили, комбинации клавиши разделение экрана на отдельные области. Из отличий выделяется отдельная статусная строка с состоянием AI-агента и возможностью быстрого обращения к нему, а также привязанная к контексту закрепляемая панель для взаимодействия с AI-агентом. Имеется возможность просмотра истории действий AI-агентов и переключения между разными AI-агентами. Упоминается возможность отправки в Microsoft телеметрии с информацией об использовании программы.
Дополнительно анонсирован проект по созданию системы для запуска Linux-контейнеров в Windows, реализованной на базе прослойки WSL (Windows Subsystem for Linux). Инструментарий предоставляет типовой интерфейс командной строки wslc и API для создания, развёртывания и запуска контейнеров на базе Linux из окружения Windows, а также для обращения к запущенным контейнерам из Windows. Первую ознакомительную версию WSL-контейнеров намерены опубликовать в ближайшие месяцы в составе одного из обновлений WSL. Так как WSL является открытым проектом, отслеживать разработку можно уже сейчас на GitHub.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65609
llvm/clang(1)/lld(1) updated to version 22.1.6
In -current,
Robert Nagy (robert@)
updated
clang(1),
llvm,
and lld(1)
to version 22.1.6:
https://marc.info/?l=openbsd-cvs&m=178005264089753&w=2
https://marc.info/?l=openbsd-cvs&m=178005271889792&w=2
https://marc.info/?l=openbsd-cvs&m=178005276789832&w=2
Yes, that's a lot of churn, all for the better we think.
Work on ports compliance continues.
Расширение системной памяти через подкачку в видеопамяти NVIDIA
Опубликован инструментарий
nbd-vram
, позволяющий разместить область подкачки в видеопамяти графической карты NVIDIA. Подобный манёвр даёт возможность виртуально увеличить размер памяти в системе, работающей на ноутбуках с впаянной нерасширяемой оперативной памятью и GPU NVIDIA. Код написан на языке Си и
распространяется
под лицензией MIT.
Например, на ноутбуке с 16 ГБ ОЗУ и видеокартой NVIDIA GeForce RTX 3070 с 8 ГБ VRAM через раздел подкачки можно задействовать дополнительные 7 ГБ памяти. В сочетании с применением модуля ядра zram для сжатого хранения раздела подкачки и подключением дополнительного раздела подкачки на SSD-накопителе общий размер адресуемой памяти в тестовой конфигурации доведён до 46 ГБ (при нехватке ОЗУ начинает использоваться видеопамять, затем привлекается сжатие при помощи zram и на последнем этапе задействуется подкачка на SSD). Производительность работы с видеопамятью при последовательном чтении оценивается примерно в 1.3 GB/s и задержками ниже NVMe из-за обращения к GPU по шине PCIe.
Реализация основана на применении фонового процесса nbd-vram, который выделяет VRAM через API драйвера CUDA и предоставляет системе доступ к полученной видеопамяти в форме блочного устройства на базе протокола NBD (Network Block Device). В ядре Linux используется встроенный драйвер nbd без загрузки собственных специализированных модулей. После создания блочного устройства /dev/nbdX, связанного с выделенной видеопамятью, на нём штатными утилитами создаётся раздел подкачки.
Для автоматизации запуска конфигурации с nbd-vram подготовлен инсталлятор и сервис systemd "vram-swap-nbd.service". Настройка сводится к заданию размера выделяемой видеопамяти и приоритета подкачки через переменные VRAM_SETUP_SIZE_MB и VRAM_SWAP_PRIORITY. Имеется опция для активации подкачки в видеопамяти только при подключении ноутбука к стационарному источнику питания, позволяющая экономить энергию в автономном режиме. Для работы nbd-vram требуется NVIDIA GPU c поддержкой CUDA (например, серии GeForce RTX и GTX), драйвер NVIDIA с библиотекой libcuda.so.1 (установка CUDA Toolkit не требуется), ядро Linux новее 3.0 и пакет nbd-client.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65612
Выпуск дистрибутива Ubuntu Sway Remix 26.04 LTS
Доступен
выпуск дистрибутива
Ubuntu Sway Remix 26.04 LTS
, предоставляющего преднастроенный и готовый к использованию рабочий стол на основе мозаичного композитного менеджера Sway. Дистрибутив является неофициальной редакцией Ubuntu 26.04, созданной с оглядкой как на опытных пользователей GNU/Linux, так и новичков, желающих попробовать окружение мозаичных оконных менеджеров без необходимости в их долгой настройке. Для загрузки
подготовлены
сборки для архитектур amd64, arm64 и компьютеров Raspberry Pi.
Окружение дистрибутива построено на основе Sway - композитного менеджера, использующего протокол Wayland и полностью совместимого с мозаичным оконным менеджером i3, а также панели Waybar, файлового менеджера Thunar, и утилит из проекта NWG-Shell, таких как менеджер обоев рабочего стола Azote, полноэкранного меню приложений nwg-drawer, утилиты для вывода содержимого скриптов на экран nwg-wrapper (используется для отображения подсказки по горячим клавишам на рабочем столе), менеджера настройки тем GTK, курсора и шрифтов nwg-look и скрипта Autotiling, автоматически компонующего окна открытых приложений на манер динамических мозаичных оконных менеджеров.
В состав дистрибутива входят программы как с графическим интерфейсом, такие как Firefox, Qutebrowser, Audacious, Transmission, Libreoffice, Pluma и MATE Calc, так и консольные приложения и утилиты, такие как музыкальный проигрыватель Musikcube, видеопроигрыватель MPV, утилита для просмотра изображений Swayimg, утилита для просмотра документов PDF Zathura, текстовый редактор Neovim, файловый менеджер Ranger и другие.
Другой особенностью дистрибутива является полный отказ от использования пакетного менеджера Snap, все программы поставляются в виде обычных deb-пакетов, в том числе веб-браузер Firefox, для установки которого задействован официальный PPA-репозиторий Mozilla Team. Установщик дистрибутива основан на фреймворке Calamares.
Основные изменения:
- Sway обновлен до выпуска 1.11.
- Для систем с видеочипами NVIDIA по умолчанию задействован движок отрисовки на базе Vulkan.
- Задействован ряд утилит из графического окружения Xfce: вместо файлового менеджера PCmanFM установлен Thunar, утилита для просмотра изображений lximage-qt заменена на Ristretto, а архиватор Engrampa - на Xarchiver.
- Собственные скрипты для вывода уведомлений об изменении уровня громкости и яркости экрана заменены на утилиту SwayOSD.
- Из поставки удалены музыкальный проигрыватель Audacious и почтовый клиент Thunderbird.
- Сформирован установочный образ для архитектуры arm64, который можно использовать на UEFI-совместимых платах с процессорами ARM, таких как Ampere, а также в виртуальных машинах на компьютерах Mac с процессорами Apple Silicon.
- Внесён ряд улучшений в образ для одноплатных компьютеров Raspberry Pi.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65610
Первый выпуск редактора Vim Classic, продолжающего развитие ветки Vim 8.2
Дрю ДеВолт (Drew DeVault), автор пользовательского окружения
Sway
, почтового клиента
Aerc
, языка программирования
Hare
и платформы совместной разработки
SourceHut
,
опубликовал
первый выпуск
Vim Classic
, форка текстового редактора
Vim 8.2
, продолжающего сопровождение прошлой ветки. В качестве причин создания форка указано непринятие политики Vim в отношении использования AI. По задумке Дрю ДеВолта, Vim Classic 8.3 можно рассматривать как то, как мог бы выглядеть выпуск Vim 8.3, если бы разработчики Vim не создали ветку Vim 9 с новым скриптовым языком
Vim9 Script
, имеющим синтаксис, близкий к JavaScript, TypeScript и Java. От Vim 8.2 выпуск Vim Classic 8.3 отличается исправлением ошибок и портированием некоторых возможностей из новых веток Vim.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65608
Доступна библиотека устранения шума на изображениях Open Image Denoise 2.5
Компания Intel
опубликовала
выпуск проекта
oidn 2.5
(Open Image Denoise), развивающего коллекцию фильтров для устранения шумов на изображениях, подготовленных с использованием систем рендеринга на основе трассировки лучей. Open Image Denoise развивается как часть более крупного проекта
oneAPI Rendering Toolkit
, нацеленного на разработку средств программной визуализации научных расчётов (
SDVis
(Software Defined Visualization), включающих библиотеку трассировки лучей
Embree
, систему фотореалистичной отрисовки
GLuRay
, платформу распределённой трассировки лучей
OSPRay
и систему программной растеризации
OpenSWR
. Код написан на языке С++ и
опубликован
под лицензией Apache 2.0.
Целью проекта является предоставление высококачественных, эффективных и простых в использовании функций шумоподавления, которые можно применять для повышения качества результатов трассировки лучей. Предложенные фильтры позволяют на основании результата сокращённого цикла трассировки лучей получить итоговый уровень качества, сопоставимый с результатом более затратного
и длительного процесса детализированного рендеринга.
Open Image Denoise обеспечивает отсеивание случайного шума, возникающего, например, при трассировке лучей на основе численного интегрирования по методу Монте-Карло (MCRT). Для достижения высокого качества рендеринга в подобных алгоритмах требуется проведение трассировки очень большого числа лучей, иначе на результирующем изображении появляются заметные артефакты в виде случайного шума.
Применение Open Image Denoise позволяет на несколько порядков сократить количество необходимых вычислений при расчёте каждого пикселя. В итоге, можно значительно быстрее сгенерировать изначально зашумлённое изображение, но затем довести его до приемлемого качества при помощи быстрых алгоритмов подавления шумов. При наличии соответствующего оборудования предложенный инструментарий можно применять даже для интерактивной трассировки лучей c устранением шумов на лету.
Библиотека может применяться на различных классах устройств, от ноутбуков и ПК, до узлов в кластерах. Реализация оптимизирована для различных классов 64-разрядных CPU Intel с поддержкой инструкций SSE4, AVX2, AVX-512 и XMX (Xe Matrix Extensions), чипов Apple Silicon и систем с GPU Intel Xe (серии Arc, Flex и Max), NVIDIA (на базе архитектур Turing, Ampere, Ada Lovelace, Hopper и Blackwell) и AMD (на базе архитектур RDNA2 (Navi 21), RDNA3 (Navi 3x), RDNA 3.5 и RDNA4). В качестве минимального требования заявлена поддержка SSE4.1.
Основные изменения в выпуске Open Image Denoise 2.5:
- Значительно повышена производительность и сокращено потребление памяти на GPU Intel с движком XMX (Xe Matrix eXtensions) и CPU Intel c поддержкой инструкций AMX-FP16.
- Добавлен API для импорта внешних семафоров из графических API Vulkan и Direct3D 12. В настоящее время поддержка ограничена устройствами с CUDA (в Windows и Linux) и HIP (в Windows). Поддержка устройств SYCL появится в одном из будущих выпусков.
- Добавлен флаг OIDN_EXTERNAL_MEMORY_TYPE_FLAG_DEDICATED для импорта специализированной внешней памяти.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65605
Electric Wizard - The Chosen Few
https://www.youtube.com/watch?v=G-1RnTm31ng
#music
@iron_bug прикольно, про LoRa не знал. Надо изучить этот момент
@s1dul Похоже на Scuttlebutt, только он ещё и p2p
Проблемы с соблюдением авторского права при переписывании ScanCode на Rust при помощи AI
Сопровождающий открытый инструментарий
ScanCode Toolkit
, предназначенный для сканирования кода на предмет пересечений с чужими авторскими правами, выявления используемых лицензий и обнаружения неисправленных уязвимостей,
раскритиковал
проект, создавший при помощи AI клон продукта ScanCode, переписанный с Python на Rust (название клона не упоминается, но, судя по всем признакам, речь про проект
Provenant
). Утверждается, что в переписанном проекте нарушена торговая марка ScanCode и удалены упоминания об авторских правах и лицензиях. Претензии объясняются тем, что в переписанном клоне продолжено использование ключевых алгоритмов ScanCode, сохранена архитектура проекта и структура кода.
По мнению сопровождающего ScanCode успешному созданию клона способствовало наличие у проекта исчерпывающего автоматизированного тестового набора, включающего более 90 тысяч тестов, из которых 40 тысяч посвящены обнаружению использования тех или иных лицензий в коде. Авторы переписанной версии заявили о существенном повышении производительности (в 10-100 раз), но, по словам сопровождающего ScanCode, ценой ускорения стало не полное прохождение тестового набора, а также снижение корректности работы и полноты предоставляемой информации (клон выдавал некорректные результаты и находил не всю информацию при анализе).
Если в специальных тестах производительности Rust-порт существенно опережал ScanCode, то при прохождении стандартного тестового набора клон оказался медленнее, несмотря на то, что в нём пропускались некоторые проверки. После внесения в ScanCode оптимизаций, таких как кэширование, производительность ScanCode при сканировании кода стала не хуже, чем в клоне на Rust, при полном сохранении корректности работы.
Авторам клона также вменяется нарушение авторских прав и лицензии Apache 2.0, под которой распространяется код ScanCode. Отмечается, что в процессе переписывания были нарушены 4 основных требования лицензии: оставление оригинального файла с примечанием (NOTICE), сохранение упоминаний об авторских правах, выделение совершённых изменений и смена имени в производной работе. После замечания авторы клона разместили файл NOTICE и переименовали свой проект, но два остальные нарушения пока остаются неустранёнными.
Сопровождающий ScanCode считает, что сообщество должно выработать критерии для разделения того, что при использовании AI считать производной работой, а что независимой реализацией. По его мнению, после переписывания кода на другом языке с сохранением алгоритмов и структуры результат продолжает оставаться производной работой, даже если в процессе были переименованы переменные и переделаны или удалены комментарии. Заявления авторов Rust-порта о независимой переработке, лишь вдохновлённой проектом ScanCode, в этом случае некорректно, так как работа нацелена на создание видимости оригинальной разработки, что даже хуже чем прямое копирование, так как подобные манипуляции сложнее обнаружить.
Значительной проблемой при генерации кода через AI называется отсутствие отслеживания происхождения кода, который был использован для получения результата. По умолчанию AI-агенты, использующие код из открытых проектов, игнорируют информацию об авторах, если специально не реализованы средства выявления и сохранения метаданных о лицензиях и авторстве. Проблема атрибуции затрагивает не только работу по переписыванию кода с одного языка на другой, но и генерацию кода в общем виде - результат в этом случае может достаточно точно повторять шаблоны из существующего открытого кода, используемого в процессе обучения модели.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65602
Canonical опубликовал утилиту workshop для развёртывания окружений для разработки
Компания Canonical
представила
инструментарий
workshop
, позволяющий одной командной быстро создавать в Ubuntu изолированные окружения для применения при разработке ПО и решения задач, связанных с машинным обучением и вовлечением AI-агентов. Начинка окружения определяется в одном файле конфигурации в формате YAML, который позволяет точно воспроизвести описанное окружение на любых компьютерах. Предполагается, что благодаря workshop разработчик может сосредоточиться на том, что он хочет получить, не тратя своё время на разбор зависимостей и настройку начинки. Инструментарий устанавливается в виде
snap-пакета
. Код проекта написан на языке Go и
распространяется
под лицензией GPLv3.
Окружение формируется из независимых подключаемых элементов, оформляемых в виде SDK, которыми можно делиться с другими пользователями через каталог SDK Store. Комбинируя свои и уже существующие SDK разработчик может задействовать в окружении желаемые языки программирования, библиотеки и инструменты. Например, предоставляются SDK для использования Ollama, OpenCode, NVIDIA CUDA и AMD ROCm. Для низкоуровневого управления окружениями в workshop задействован инструментарий управления контейнерами LXD 6.8.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65601
Обновление X.Org Server 21.1.23 с устранением 9 уязвимостей
Опубликованы
корректирующие выпуски X.Org Server 21.1.23 и DDX-компонента (Device-Dependent X)
xwayland 24.1.12
, обеспечивающего запуск X.Org Server для организации выполнения X11-приложений в окружениях на базе Wayland. В новых версиях устранены
9 уязвимостей
. Некоторые уязвимости потенциально могут быть эксплуатированы для повышения привилегий в системах, в которых X-сервер выполняется с правами root, а также для удалённого выполнения кода в конфигурациях, в которых для доступа используется перенаправление сеанса X11 при помощи SSH.
Исправленные уязвимости (CVE-идентификаторы не назначены):
- Переполнение буфера при обработке альтернативных названий шрифтов. Проблема вызвана разными ограничениями на размер имени шрифта в библиотеке libXfont2 и X-сервере - сервер выделял под имя 256 байт, а библиотека допускала передачу имён размером до 1024 байта.
- Обращения к памяти после её освобождения в функциях miSyncDestroyFence(), FreeCounter() и SyncChangeCounter() из-за ошибок обновления счётчиков ссылок.
- Переполнение буфера при обработке определённых типов клавиш в XKB. Проблема возникает из-за неверного вычисления размера таблицы кодов символов.
- Переполнение буфера в XKB, возникающее при обработке запросов SetMap из-за отсутствия должной проверки размера переданных клиентом данных.
- Запись и чтение данных за области вне границы буфера в GLX из-за неверной проверки размера получаемых от пользователя атрибутов в функции ChangeDrawableAttributes.
- Обращение к памяти после её освобождения, возникающее после изменения атрибутов окна и принудительного вызова хранителя экрана. Проблема может привести к утечке содержимого из памяти процесса.
- Запись в память за пределами выделенного буфера в DRI2-функциях DRIGetBuffers и DRIGetBuffersWithFormat, возникающая при запросе нескольких экземпляров DRI2BufferBackLeft, но одного экземпляра DRI2BufferFrontLeft.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65600
Атакующие встроили вредоносное ПО в 32 NPM-пакета Red Hat
В результате компрометации процесса формирования релизов на базе GitHub Actions в принадлежащих компании Red Hat репозиториях
RedHatInsights
, злоумышленники
смогли
опубликовать в каталоге NPM 64 вредоносные версии, охватывающие 32 NPM-пакета для платформы
Red Hat Cloud Services
. Для каждого из поражённых NPM-пакетов были выпущены по две вредоносные версии, в которые был интегрирован код для активации нового варианта червя mini-shai-hulud, выполняющего поиск токенов и учётных данных в текущем окружении.
Червь размещался в файле index.js и активировался через preinstall-обработчик, вызываемый при установке поражённого пакета. После активации червь выполнял поиск в системе токенов к NPM (~/.npmrc), PyPI, CircleCI, AWS, GCP, Docker, Azure, HashiCorp и KubernetesK8s, а также закрытых ключей SSH. Найденные данные отправлялись злоумышленникам. В случае обнаружения токена для подключения к каталогу NPM червь автоматически публиковал новые вредоносные релизы для разрабатываемых в текущем окружении пакетов, поражая дерево зависимостей.
Доступ к GitHub Actions был получен в результате компрометации учётной записи одного из сотрудников Red Hat, что позволило атакующим напрямую отправить коммиты в репозитории javascript-clients, frontend-components и platform-frontend-ai-toolkit, без прохождения стадии рецензирования. Через коммиты в систему непрерывной интеграции подставлялся файл ci.yaml, который при запуске сборочной работы запускал при помощи платформы bun скрипт _index.js. Скрипт использовал полномочие "id-token: write" для запроса у GitHub токена OIDC (OpenID Connect), который затем применялся для аутентификации в NPM при помощи механизма "trusted publishing".
NPM-пакеты, содержащие вредоносный код:
@redhat-cloud-services/chrome (2.3.1, 2.3.2)@redhat-cloud-services/compliance-client (4.0.3, 4.0.4)@redhat-cloud-services/config-manager-client (5.0.4, 5.0.5)@redhat-cloud-services/entitlements-client (4.0.11, 4.0.12)@redhat-cloud-services/eslint-config-redhat-cloud-services (3.2.1, 3.2.2)@redhat-cloud-services/frontend-components (7.7.2, 7.7.3)@redhat-cloud-services/frontend-components-advisor-components (3.8.2)@redhat-cloud-services/frontend-components-config (6.11.3, 6.11.4)@redhat-cloud-services/frontend-components-config-utilities (4.11.2, 4.11.3)@redhat-cloud-services/frontend-components-notifications (6.9.2, 6.9.3)@redhat-cloud-services/frontend-components-remediations (4.9.2, 4.9.3)@redhat-cloud-services/frontend-components-testing (1.2.1, 1.2.2)@redhat-cloud-services/frontend-components-translations (4.4.1, 4.4.2)@redhat-cloud-services/frontend-components-utilities (7.4.1, 7.4.2)@redhat-cloud-services/hcc-feo-mcp (0.3.1, 0.3.2)@redhat-cloud-services/hcc-kessel-mcp (0.3.1, 0.3.2)@redhat-cloud-services/hcc-pf-mcp (0.6.1, 0.6.2)@redhat-cloud-services/host-inventory-client (5.0.3, 5.0.4)@redhat-cloud-services/insights-client (4.0.4, 4.0.5)@redhat-cloud-services/integrations-client (6.0.4, 6.0.5)@redhat-cloud-services/javascript-clients-shared (2.0.8, 2.0.9)@redhat-cloud-services/notifications-client (6.1.4, 6.1.5)@redhat-cloud-services/patch-client (4.0.4, 4.0.5)@redhat-cloud-services/quickstarts-client (4.0.11, 4.0.12)@redhat-cloud-services/rbac-client (9.0.3, 9.0.4)@redhat-cloud-services/remediations-client (4.0.4, 4.0.5)@redhat-cloud-services/rule-components (4.7.2, 4.7.3)@redhat-cloud-services/sources-client (3.0.10, 3.0.11)@redhat-cloud-services/topological-inventory-client (3.0.10, 3.0.11)@redhat-cloud-services/tsc-transform-imports (1.2.2)@redhat-cloud-services/types (3.6.1, 3.6.2, 3.6.4)@redhat-cloud-services/vulnerabilities-client (2.1.8, 2.1.9)
Источник: https://www.opennet.ru/opennews/art.shtml?num=65599
Опять мельтешение по городу, старые неузнаваемые районы, ородруины новостроек перетекают одни в другой без перерыва, жилые территории теперь строят вплотную к кладбищам, и только полузабытые и совершенно пустые кладбищенские тропки дарят ощущение чего-то живого, с запахом сирени и посвистом птиц.
#ЛенинградНутряной
@coolingfan375 @Konstantin Так вот откуда скоро поплывут выпускники на праздник!