The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

·01.04 Второй предварительный выпуск мессенджера Pidgin 3.0 (1)
  Представлен второй экспериментальный выпуск клиента для мгновенного обмена сообщениями Pidgin 3.0 (2.91), позволяющего одновременно работать в нескольких сетях с разными протоколами и переключаться между чатами при помощи вкладок. Выпуск отмечен как имеющий уровень качества предварительной альфа-версии, не рассчитанной на повседневное применение. Сборки подготовлены в формате Flatpak (пока доступен только архив с кодом).

Ветка Pidgin 3 разрабатывается с 2011 года, а до этого ещё три года обсуждалась на уровне концепций и идей. В Pidgin 3 выполнен переход на систему типов GObject, библиотеки GTK4 и Adwaita, сборочную систему Meson, GPlugin для обработки плагинов, SQLite для хранение истории чатов и GSettings для работы с настройками. Полностью переработан API. Для определения элементов интерфейса задействован GTK Builder XML, а для отображения истории чатов создана собственная библиотека виджетов Talkatu.

В интерфейсе объединены в одном окне список контактов и окон с чатами. Прекращена поставки консольного клиента Finch (не исключено, что его могут вернуть в будущем). Из протоколов пока поддерживается только IRCv3, а также развиваются новые реализации протоколов XMPP и Bonjour, которые пока поддерживаются частично. Ветка Pidgin 3 несовместима с Pidgin 2 и ранее созданными плагинами, но может быть установлена параллельно с имеющимися сборками Pidgin 2.

Среди изменений в представленном обновлении:

  • При сортировке списка участников теперь учитываются полномочия. Например, для IRC в самом верху показываются операторы канала, за ним пользователи с правом голоса и потом обычные участники.
  • Добавлена поддержка поиска в списке участников.
  • Добавлены базовые уведомления о новых сообщениях.
  • Добавлена поддержка расширений для форматирования сообщений в IRC.

  1. Главная ссылка к новости
  2. OpenNews: Релиз клиента для мгновенного обмена сообщениями Pidgin 2.14.14
  3. OpenNews: Предварительный выпуск мессенджера Pidgin 3.0
  4. OpenNews: В плагине ss-otr к Pidgin выявлен вредоносный код
  5. OpenNews: Представлен порт Pidgin libpurple для Android
  6. OpenNews: Релиз Instantbird 1.1, IM-клиента на базе технологий Mozilla и Pidgin
Обсуждение (1) | Тип: Программы |


·01.04 Релиз Firefox 137 с поддержкой группировки вкладок (47 +8)
  Состоялся релиз web-браузера Firefox 137 и сформированы обновления прошлых веток с длительным сроком поддержки - 115.22.0 и 128.9.0. На стадию бета-тестирования переведена ветка Firefox 138, релиз которой намечен на 29 апреля.

Основные новшества в Firefox 137:

  • Добавлена поддержка группировки вкладок, позволяющая объединять несколько вкладок и сворачивать их в одну кнопку, чтобы они не занимали место при просмотре других вкладок. Группе можно назначить имя и цвет, а также отдельно сохранить на случай, если содержимое понадобиться в будущем. Для создания группы можно использовать подменю "Добавить вкладку в группу" в контекстном меню, показываемом при клике правой кнопкой мыши на кнопках вкладок, или просто перетащив одну вкладку на другую (откроется диалог для создания группы).

    Группировка может оказаться полезной для разделения вкладок по тематике (развлечение, покупки, чтение на потом). Кроме того, группировка помогает, когда в процессе первоначального изучения какой-то темы или при выборе товара открывается много связанных страниц, к которым через какое-то время потребуется вернуться, но оставлять в форме отдельных вкладок второстепенные страницы не хочется, так как они занимают место в панели. Возможность пока по умолчанию включена не для всех и постепенно будет активироваться для всё большего процента пользователей. Для принудительного включения на странице about:config можно активировать параметр "browser.tabs.groups.enabled"

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

    При отправке поискового запроса из адресной строки, введённые данные теперь остаются в адресной строке как есть, даже после отправки запроса к поисковой системе, что позволяет при необходимости изменить запрос напрямую в адресной строке. Например, при отправке запроса "samba vulnerability" в адресной строке теперь не показывается URL поисковой системы, а остаётся введённый текст:

    В выпадающем списке рекомендаций обеспечен показ кнопок для выполнения дополнительных действий, таких как вывод страницы на печать.

  • При начале ввода поискового запроса в адресной строке, находясь на странице какого-то сайта, в числе рекомендаций автоматически будет предложена возможность отправки запроса через поисковую систему этого сайта, если он предоставляет соответствующие функции. После отправки двух подобных поисковых запросов на сайт, браузер предложит добавить поисковый движок сайта в список поисковых систем.
  • Предоставлена возможность выбора области поиска, используя управляющие теги, такие как @bookmarks, @tabs, @history и @actions. При вводе символа "@" появляется подсказка по доступным тегам.

    Адресную строку теперь можно использовать как калькулятор, достаточно ввести в ней произвольное математическое выражение и в выпадающей подсказке будет показан результат. Для копирования результата в буфер обмена можно кликнуть на него мышью.

    Новые возможности адресной строки пока активированы по умолчанию только для небольшого процента пользователей. Для принудительного включения в "about:config" можно использовать параметры из секции "browser.urlbar", такие как "browser.urlbar.quicksuggest.enabled", "browser.urlbar.unifiedSearchButton.always" и "browser.urlbar.suggest.calculator").

  • В сборках для платформы Linux включено использование аппаратного ускорения декодирования видео в формате HEVC (H.265).
  • При просмотре PDF-документов обеспечено определение всех ссылок и превращение их в гиперссылки.
  • В PDF-просмотрщик добавлен диалог для прикрепления к документу изображения своей подписи.
  • Добавлена поддержка API SVG Path для отображения фигур и создания контуров при помощи SVG-элемента "path". Добавлена поддержка методов getPathData(), setPathData() и getPathSegmentAtLength(), предоставляемых интерфейсом SVGPathElement.
  • Добавлено CSS-свойство "hyphenate-limit-chars", которое можно использовать для указания минимального числа символов в частях слова, разделённых при переносе конца слова на другую строку.
  • В CSS-свойство text-decoration-line добавлена поддержка значений "spelling-error" и "grammar-error" для оформления выделения в тексте синтаксических и грамматических ошибок.
  • Добавлен метод Math.sumPrecise() для вычисления суммы элементов массивов и других перечисляемых объектов с точностью, превышающей точность обычного суммирования в цикле (исключаются потери точности при промежуточном сохранении результатов).
  • Добавлен метод Atomics.pause() для информирования о нахождении потока в состоянии блокировки из-за , ожидания доступа к общему ресурсу, что может использоваться системой при регулировании энергопотребления CPU.
  • Для дополнений выставлено ограничение (10 МБ) на размер данных, сохраняемых через API storage.session.
  • В инструментах для web-разработчика в панели инспектирования шрифтов добавлено отображение метаданных шрифтов, таких как версия, автор, поставщик и лицензия.
  • В панели инспектирования сетевой активности предоставлена возможность переопределения ответов на сетевые запросы (вместо реального ответа можно подставить содержимое выбранного файла).
  • В версии для платформы Android добавлена поддержка видео в формате HEVC (H.265).

Кроме новшеств и исправления ошибок в Firefox 137 устранено 14 уязвимостей. 13 уязвимостей помечены как опасные. Все из опасных уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

  1. Главная ссылка к новости
  2. OpenNews: Релиз Firefox 136 с поддержкой вертикальных вкладок
  3. OpenNews: Mozilla переходит к поставке Firefox с условиями использования
  4. OpenNews: В Firefox существенно модернизирована адресная строка
  5. OpenNews: Европейскому регулятору подана жалоба о появлении в Firefox функции отслеживания пользователей
  6. OpenNews: В Firefox появится группировка вкладок
Обсуждение (47 +8) | Тип: Программы |


·01.04 В ядро Linux 6.15 приняты значительные оптимизации сетевой подсистемы и exFAT (83 +30)
  В состав кодовой базы ядра Linux, на основе которой формируется выпуск 6.15, принят набор изменений с оптимизациями, в ряде ситуаций значительно повышающих производительность сетевых операций:
  • Оптимизация GRO (Generic Receive Offload), объединяющая несколько мелких пакетов в один большой, теперь задействована при переключении обработки пакета на другой CPU (для балансировки нагрузки) при использовании подсистемы XDP (eXpress Data Path), позволяющей обрабатывать пакеты на уровне сетевого драйвера на стадии до их передачи сетевому стеку. Прирост производительности обработки TCP-потоков от применения оптимизации может достигать двух раз.
  • В условиях сильной нагрузки производительность функции connect() повышена до двух раз за счёт замены spin-блокировки на механизм синхронизации RCU (Read-Copy-Update) при поиске записей с информацией о сторонах соединения (исходные и целевые IP-адреса и порты). Дополнительно проведена оптимизация хэширования, обеспечившая прирост производительности ещё на 229%.
  • Ускорена реализация MPTCP (Multipath TCP), расширения протокола TCP для организации доставки пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам. MPTCP в режиме с одним потоком ускорен на 29%.
  • В netfilter при наличии сокета прекращено выполнение операций поиска маршрутов в FIB (Forwarding Information Base). Благодаря данной оптимизации производительность возросла на 20%.
  • Производительность UDP в условиях флуда (flood) увеличена на 10%, за счет исключения лишних операций со структурой sk_tsflags при получении пакетов.

Кроме того, в находящееся в разработке ядро Linux 6.15 принято изменение для драйвера файловой системы exFAT, ускоряющее операции удаления файлов. Ранее драйвер exFAT по отдельности посылал накопителям запросы "discard" на каждый освобождаемый кластер удаляемого файла. Оптимизированная версия группирует запросы, в результате чего время удаления тестового файла размером 80 ГБ сократилось с 286 секунд до 1.6 секунды.

  1. Главная ссылка к новости
  2. OpenNews: В ядро Linux добавлена поддержка работы в качестве хост-системы для Hyper-V
  3. OpenNews: Релиз ядра Linux 6.14
  4. OpenNews: Для ядра Linux 6.15 предложен начальный код драйвера Nova, написанный на Rust
  5. OpenNews: Обсуждение увеличения частоты таймера в ядре Linux до 1000 Гц по умолчанию
  6. OpenNews: Проект TuxTape для развёртывания инфраструктуры live-патчей к ядру Linux
Обсуждение (83 +30) | Автор: Аноним | Тип: К сведению |


·01.04 Выпуск системы резервного копирования Restic 0.18. Атака на CDC (25 +4)
  Представлен выпуск системы резервного копирования Restic 0.18, позволяющей хранить резервные копии в зашифрованном виде в версионированном репозитории с поддержкой дедупликации. Система изначально рассчитана на то, что резервные копии сохраняются в окружениях, не заслуживающих доверия, и попадание резервной копии в чужие руки не должно скомпрометировать систему. При создании резервной копии возможно определение гибких правил для включения и исключения файлов и каталогов (формат правил напоминает rsync или gitignore). Поддерживается работа в Linux, macOS, Windows и BSD-системах. Код проекта написан на языке Go и распространяется под лицензией BSD.

Резервные копии могут храниться в локальной ФС, на внешнем сервере с доступом по SFTP/SSH или HTTP REST, в облаках Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage и Google Cloud Storage, а также в любых хранилищах, для которых имеются бэкенды rclone. Для хранения также может использоваться развиваемый проектом rest server, обеспечивающий более высокую производительность по сравнению с другими бэкендами и способный работать в режиме только для дополнения, не позволяющем удалить или изменить резервные копии в случае компрометации исходного сервера и доступа к ключам шифрования.

Система поддерживает снапшоты, отражающие состояние иерархии каталогов в разные моменты времени (снапшоты создаются автоматически для каждой резервной копии). Возможно копирование снапшотов между разными репозиториями. Для экономии трафика в процессе создания резервных копий копируются только изменившиеся данные. Снапшот с резервной копией может быть примонтирован в форме виртуального раздела (монтирование осуществляется при помощи FUSE). Также предоставляются команды для анализа изменений и выборочного извлечения файлов.

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

На внешних серверах информация сохраняется в зашифрованном виде - для контрольных сумм и дедупликации используются хэши SHA-256, для шифрования - алгоритм AES-256-CTR, а для гарантирования целостности - коды аутентификации на основе Poly1305-AES. Предусмотрена возможность верификации резервной копии по контрольным суммам и кодам аутентификации для подтверждения, что целостность файлов не нарушена.


В новой версии устранена возможность совершения атаки (PDF) по определению наличия заданных файлов в зашифрованном хранилище резервных копий. Атака позволяет определить находится ли в зашифрованном бэкапе какой-то конкретный файл, получив доступ к хранилищу резервных копий или при возможности анализа сетевого трафика с резервными копиями. Например, атаку может совершить администратор сервера, на который сохраняются бэкапы, интернет-провайдер или спецслужбы, получившие доступ к серверу или трафику. Целью совершения атаки может стать расследование утечки информации, в котором спецслужбы смогут оценить наличие интересующих документов в хранилище резервных копий.

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

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

Уязвимость не специфична для Restic и затрагивает другие системы резервного копирования, использующие разделение данных на блоки при помощи техники CDC (Content-Defined Chunking), такие как BorgBackup, Tarsnap, Bupstash и Duplicacy. В Tarsnap проблема устранена в обновлении 1.0.41, в BorgBackup ведётся работа над исправлением, которое намерены включить в ветку borg 2. В Bupstash последнее изменение было 2 года назад, а в Duplicacy - 4 месяца назад.

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

Кроме устранения уязвимости в Restic 0.18 также предложено несколько новшеств:

  • Добавлена экспериментальная поддержка "холодных" хранилищ резервных копий (данные становятся доступны для извлечения через минуты или часы после запроса), поддерживающих протокол S3, таких как Amazon S3 Glacier.
  • В команды check и tag добавлена поддержка вывода в формате JSON.
  • При сборке образов для GitHub Container Registry учтены рекомендации SLSA (Supply-chain Levels for Software Artifacts).
  • В команду ls добавлен выбор метода сортировки вывода. В команде find по умолчанию задействована сортировка по дате (от новых к старым).
  • Предоставлена возможности исключения из операции перепаковки файлов, размером меньше заданного.
  • Добавлена настройка для включения/отключения восстановления расширенных атрибутов файлов.
  • Добавлена поддержка ОС DragonFlyBSD.
  • Добавлена поддержка расширенных атрибутов файлов на системах с NetBSD 10+.
  • В ветке restic 0.19.0 намечено удаление поддержки устаревших возможностей, активированных через настройки deprecate-legacy-index, deprecate-s3-legacy-layout, explicit-s3-anonymous-auth и safe-forget-keep-tags.
  • Прекращена поддержка старых версий Windows и macOS, для работы теперь требуется как минимум Windows 10, Windows Server 2016 или macOS 11. Прекращена поддержка версий TLS до 1.2.

  1. Главная ссылка к новости
  2. OpenNews: Тестирование сервиса резервного копирования Tarsnap
  3. OpenNews: Релиз системы резервного копирования BorgBackup 1.1.0
  4. OpenNews: Доступна система резервного копирования Bacula 13.0.0
  5. OpenNews: Доступен GNU Anastasis, инструментарий для резервного копирования ключей шифрования
  6. OpenNews: Доступна система резервного копирования restic 0.15
Обсуждение (25 +4) | Тип: Программы |


·31.03 Выпуск Phosh 0.46.0, GNOME-окружения для смартфонов (89 +5)
  Опубликован релиз Phosh 0.46, экранной оболочки для мобильных устройств, основанной на технологиях GNOME и библиотеке GTK. Окружение изначально развивалось компанией Purism в качестве аналога GNOME Shell для смартфона Librem 5, но затем вошло в число неофициальных проектов GNOME и используется в postmarketOS, Mobian, Droidian, некоторых прошивках для устройств Pine64 и редакции Fedora для смартфонов. Phosh использует композитный сервер Phoc, работающий поверх Wayland, а также собственную экранную клавиатуру squeekboard. Наработки проекта распространяются под лицензией GPLv3+.

В новом выпуске:

  • Предоставлена возможность показа фонового изображения при блокировке экрана.
  • Добавлена анимация при смахивании уведомлений экранным жестом.
  • В мультимедийном проигрывателе обеспечена загрузка обложек музыкальных альбомов.
  • В области индикаторов реализована обработка пустот, в которых размещена передняя камера.
  • Обеспечена единообразная обратная связь для всех событий, связанных с нажатиями.
  • В выпадающий панели с быстрыми настройками появилась индикация поиска беспроводных сетей.
  • Упрощены файлы с макетами интерфейса и выполнена подготовка к переходу на GTK4.
  • В композитном сервере Phoc добавлена поддержка Wayland-протоколов ext-foreign-toplevel-info и alpha-modifier-v1. Реализована анимация процесса выполнения операции (вращающийся спиннер). Разрешена прозрачность в окнах приложений, использующих X11.
  • В конфигуратор добавлен интерфейс выбора обоев для экрана блокировки. Реализована настройка силы тактильной обратной связи. Разрешено использования звуковых файлов в формате oga.
  • В gmobile, обработчиках для работы GNOME на мобильных устройствах, добавлена поддержка кнопки включения (выхода из спящего режима) на устройствах Google Pixel 3a, SHIFT6mq, Samsung Galaxy A5 и Xioami Mi A2 Lite. Добавлена поддержка дисплейных панелей смартфонов Furilabs FLX1 и Nothing Phone 1.
  • Обновлены версии зависимостей: wlroots 0.18.2, GNOME 47, Calls 48, feedbackd 0.8.1, feedbackd-device-themes 0.8.1, callaudiod 0.1.10, wys 0.1.12, mmsd-tng 2.6.3.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Phosh 0.45.0, GNOME-окружения для смартфонов
  3. OpenNews: Опубликован postmarketOS 24.12, Linux-дистрибутив для смартфонов и мобильных устройств
  4. OpenNews: Опубликован Droidian 99, вариант Debian для смартфонов
  5. OpenNews: Прогресс в создании варианта GNOME Shell для мобильных устройств
  6. OpenNews: Продолжение развития GNOME Shell для мобильных устройств
Обсуждение (89 +5) | Тип: Программы |


·31.03 Разработчики OrioleDB предложили улучшить API для альтернативных движков PostgreSQL (28 +12)
  Разработчики OrioleDB проанализировали текущее состояние низкоуровневого API, применяемого для доступа расширений к таблицам и индексам в PostgreSQL (Table/Index Access Method (AM) API), и предложили пути его улучшения. С момента появления в PostgreSQL 12 подобного API разработчики получили возможность создавать альтернативные механизмы хранения данных. Однако, несмотря на наличие этого API и известные ограничения встроенного механизма хранения, до сих пор не появилось полнофункциональных транзакционных движков хранения, реализованных исключительно в виде расширений.

Наиболее востребованными функциями для альтернативных табличных движков PostgreSQL являются:

  • Альтернативные реализации MVCC, например, хранилища на основе журнала UNDO.
  • Индексно-организованные таблицы, где индекс не является необязательным дополнением к таблице, которое ускоряет запросы, а представляет собой основную структуру данных, в которой хранятся данные таблицы.

Изменения, необходимые в API Table/Index AM для поддержки альтернативных реализаций MVCC, рассматриваются с оглядкой на расширение OrioleDB, разработанное для устранения известных недостатков встроенного механизма хранения PostgreSQL. Проблема в том, что для полной интеграции OrioleDB с PostgreSQL требуются внесение изменений в код PostgreSQL, что усложняет внедрение проекта и подчёркивает необходимость модернизации текущего API Table AM.

API Table AM не навязывает напрямую способ реализации MVCC. Тем не менее, API Table AM и API Index AM делают следующее предположение: каждый TID (Tuple/row Identifier) либо индексируется всеми индексами, либо не индексируется вообще. Даже если Index AM имеет несколько ссылок на один TID (например, GIN), все эти ссылки должны соответствовать одному и тому же индексированному значению.

Этот принцип критиковали за увеличение числа операций записи ("write amplification") - если обновляется один индексированный атрибут, необходимо обновить каждый индекс в таблице. При необходимости в полной мере использовать преимущества журнала UNDO или построить другой метод хранения без "усиления записи" (например, метод WARM), требуется нарушить это предположение.

Table AM основанный на UNDO, который не будет нарушать это предположение, напоминает существующий метод HOT (Heap-Only Tuples), за исключением того, что старые версии строк сохраняются в журнале UNDO и не должны умещаться в той же странице. Но, по мнению авторов, этого преимущества недостаточно, чтобы оправдать существование отдельного Table AM.

Практические ограничения существующего API:

  • Во время обновления строки таблицы индексы обновляются по принципу «все или ничего».
  • Отсутствие в API Index AM возможности точечного удаления определённых кортежей. В настоящее время можно удалять кортежи из индексов массово с помощью методов ambulkdelete и amvacuumcleanup. Попытка реализовать точечное удаление через этот API привела бы к низкой эффективности, поскольку большинство текущих реализаций должны сканировать весь индекс. Кроме того, API не позволяет указать какие из кортежей, ссылающиеся на один и тот же TID, следует удалить. Он может удалить только их все.
  • Индексы в настоящее время ссылаются на строки таблицы по номеру блока (32 бита) и номеру смещения (16 бит). И только 11 бит номера смещения можно безопасно передать из TID таблицы во все методы доступа индекса. При этом альтернативным реализациям MVCC может потребоваться хранить дополнительную полезную нагрузку (payload) вместе с TID. Например, в OrioleDB требуется один или несколько бит для реализации индексов "delete-marking" или полной информации о видимости.

Предложено два способа преодолеть ограничения на практике:

    Подход 1: API Index AM предоставляет возможности для альтернативной реализации MVCC.

    В то время как Table AM продолжает отвечать за все компоненты MVCC, Index AM предоставляет необходимые возможности для альтернативной реализации MVCC, а именно: хранение пользовательской полезной нагрузки (payload) вместе с TID, метод точечного удаления и даже метод точечного обновления (если TID в индексе не может быть изменён, пользовательская полезная нагрузка – может). Кроме этого, так как необходимо разрешить нескольким кортежам индекса ссылаться на один и тот же TID, методы API, применяемые при сканировании индекса, также нуждаются в обновлении.

    Подход 2: Индексы, поддерживающие MVCC.

    Альтернативой было бы разрешить индексы, поддерживающие MVCC. То есть "executor" (или, возможно, Table AM) просто вызывает методы insert() и delete() в Index AM, в то время как Index AM предоставляет возможность сканирования c учётом MVCC. Это значительно упростило бы сканирование с использованием только индексов (index-only). Даже весь Table AM в таком случае мог бы стать промежуточным слоем, хранящим данные в индексе.

    На диаграмме ниже приведён пример. Значение индекса 2 обновляется транзакцией 11 со значения "A" на значение "B". Поэтому значение "A" отмечено как xmax == 11, а значение "B" отмечено как xmin == 11. Таким образом можно сканировать индекс 2 и получать только видимые кортежи в соответствии с MVCC без проверок кучи (heap). Сборка мусора индекса 2 также может быть выполнена без использования кучи.

    При внедрении всех перечисленных новшеств в API индексных методов доступа, маловероятно, чтобы удалось одновременно доработать все индексы для поддержки всех новых возможностей. Более реалистично разрешить несколько реализаций для одного индексного метода доступа. Например, в дополнение к обычному B-tree, расширение сможет реализовать альтернативный B-tree с поддержкой MVCC внутри индекса и поддержкой идентификаторов записи произвольной длины.

    Таким образом, предлагается пересмотреть не только API Table AM, но и API Index AM, который исправно служил сообществу PostgreSQL на протяжении многих лет. Более того, предлагается разделить Index AM на логический слой и слой реализации. Эта переосмысленная архитектура позволит PostgreSQL поддерживать различные модели хранения.

    1. Главная ссылка к новости
    2. OpenNews: Седьмая бета-версия OrioleDB, высокопроизводительного движка хранения для PostgreSQL
    3. OpenNews: Для PostgreSQL представлен движок хранения OrioleDB, обходящийся без операции VACUUM
    4. OpenNews: Доступны IvorySQL 4.0 и SynchDB 1.0, надстройки к PostgreSQL для взаимодействия с другими СУБД
    5. OpenNews: Microsoft открыл код СУБД DocumentDB, основанной на PostgreSQL
    6. OpenNews: Релиз FerretDB 2.0, реализации MongoDB на базе СУБД PostgreSQL
Обсуждение (28 +12) | Автор: Alexander Korotkov | Тип: Обобщение |


·31.03 Доступна платформа обмена сообщениями Zulip 10 (72 +12)
  Опубликован релиз Zulip 10, серверной платформы для развёртывания корпоративных мессенджеров, подходящих для организации общения сотрудников и групп разработчиков. Проект изначально был разработан компанией Zulip и открыт после её поглощения компанией Dropbox под лицензией Apache 2.0. Код серверной части написан на языке Python с использованием фреймворка Django. Клиентское ПО доступно для Linux, Windows, macOS, Android и iOS, также предоставляется встроенный web-интерфейс.

Система поддерживает как прямой обмен сообщениями между двумя людьми, так и проведение групповых обсуждений. Zulip можно сравнить с сервисом Slack и рассматривать как внутрикорпоративный аналог Twitter, применяемый для общения и обсуждений рабочих вопросов в больших группах сотрудников. Предоставляются средства для отслеживания состояния и участия одновременно в нескольких обсуждениях с использованием нитевидной модели отображения сообщений, которая является оптимальным компромиссом между привязкой к комнатам в Slack и единым публичным пространством Twitter. Одновременное нитевидное отображение всех обсуждений позволяет в одном месте охватить все группы, при этом сохранив логическое разделение между ними.

Из возможностей Zulip также можно отметить поддержку отправки сообщений пользователю в offline-режиме (сообщения будут доставлены после появления в online), сохранение полной истории обсуждений на сервере и средства для поиска в архиве, возможность отправки файлов в режиме Drag-and-drop, автоматическую подсветку синтаксиса для передаваемых в сообщениях блоков кода, встроенный язык разметки для быстрого оформления списков и форматирования текста, средства для групповой отправки уведомлений, возможность создания закрытых групп, интеграция с Trac, Nagios, Github, Jenkins, Git, Subversion, JIRA, Puppet, RSS, Twitter и другими сервисами, средства для привязки к сообщениям наглядных меток.

Основные новшества:

  • Добавлены инструменты для управления правами доступа, позволяющие манипулировать правами на уровне отдельных пользователей, групп пользователей и ролей. Например, в интерфейсе можно разрешить перемещение сообщений пользователям, которым назначена роль модератора, или которые включены в группу менеджеров. При помощи групп можно воссоздать структуру управления организацией, например, начальники могут быть объединены в группу менеджеров, которая может быть разбита на подгруппы, отвечающие за технологии и дизайн.
  • Добавлены дополнительные возможности управления группами. Появилась поддержка предоставления отдельных прав для создания и администрирования групп, добавления и удаления участников. Также можно определять каким пользователям разрешено самостоятельно присоединяться и покидать группы. Добавлена поддержка подключения пользователей к группе на этапе отправки инвайта. Вместо удаления группы реализована деактивация, при которой для аудита сохраняется вся история группы. В панель с настройками групп добавлены отдельные вкладки для общих настроек, управления составом групп и назначением прав доступа.
  • В интерфейс администратора добавлены новые настройки для каналов, позволяющие определить для каждого канала администраторов и лиц, имеющих право подключения/отключения пользователей. На уровне отдельных пользователей и групп можно выборочно назначать доступ в режиме только чтения, ограничивать редактирование уже отправленных сообщений, управлять подпиской на приватные каналы, назначать участников, уполномоченных закрывать темы. Добавлена возможность скрытия или оставления архивных каналов.
  • Добавлена концепция общего чата, в котором отображаются сообщений без привязки к теме.
  • Реализована поддержка настройки размера шрифта и межстрочных интервалов, позволяющая более гибко адаптировать интерфейс под свои предпочтения, чем изменение масштаба.
  • В боковую панель со списком пользователей добавлена отдельная секция с недавно подключившимися участниками. В меню панели добавлена опция для показа аватаров в списке. Обновлены индикаторы доступности участников.
  • Расширены возможности по созданию ссылок на сообщения, каналы и темы обсуждений. Ранее созданные ссылки на темы теперь продолжают действовать после переименования темы или перемещения в другой канал. При вставке через буфер обмена ссылки в программы, поддерживающие формат HTML, обеспечено автоматическое форматирование ссылки в виде "#channel > topic". Аналогично, при вставке полных URL при написании новых сообщений подобные ссылки преобразуются в формат ссылок Zulip. Упрощено создание ссылок на темы обсуждений.
  • Улучшен интерфейс составления новых сообщений. Добавлена функция сохранения типовых отрывков текста для их быстрой вставки при составлении нового сообщения. В боковую панель добавлены кнопки для отправки сообщения с созданием новой темы и для прямой отправки сообщения другому пользователю. Добавлена опция для перенаправления сообщения или его части в другой чат. Упрощена совместная работа над списками задач (todo).
  • Проведены оптимизации обработки и хранения сообщений, благодаря которым сообщения в окне просмотра теперь появляются без задержки.
  • Добавлен индикатор, показываемый когда другой участник приступил к редактированию уже отправленного сообщения (ранее предоставлялся только индикатор написания нового сообщения).
  • Добавлен модуль интеграции с Zoom, использующий OAuth. В модуле интеграции с BigBlueButton добавлена поддержка голосовых вызовов (без видео). Добавлены модули интеграции для Airbyte и Onyx, и улучшены для GitHub, GitLab, GoCD, Linear, NewRelic и Slack.
  • Добавлен тестовый модуль для краткого изложения сути обсуждения в теме, используя выбранные пользователем большие языковые модели.
  • На сервер добавлена поддержка загрузки больших файлов, используя протокол TUS. Проведена оптимизация протокола синхронизации, позволившая сократить трафик и нагрузку на CPU в крупных организациях.
  • Устранены уязвимости:
    • CVE-2025-27149 - при экспорте публичных данных была возможна утечка метаданных о приватных сообщениях и строк с идентификаторами браузеров клиентов.
    • CVE-2025-30368, CVE-2025-30369: файлы с экспортом и поля в профилях могли быть удалены администраторами других организаций.

  1. Главная ссылка к новости
  2. OpenNews: Завершено открытие серверной части сервиса мгновенного обмена сообщениями Wire
  3. OpenNews: Проект TFC развивает параноидально защищённую систему обмена сообщениями
  4. OpenNews: Проект Revolt развивает открытую альтернативу платформе Discord
  5. OpenNews: Первый выпуск коммуникационной платформы Fosscord, совместимой с Discord
  6. OpenNews: Доступна система обмена сообщениями Briar, способная работать в режиме P2P
Обсуждение (72 +12) | Тип: Программы |


·31.03 Выпуск дистрибутива CachyOS 250330, поставляющего ядро с дополнительными оптимизациями (81 +9)
  Опубликован выпуск дистрибутива CachyOS 250330, основанного на пакетной базе Arch Linux и применяющего непрерывную модель доставки обновлений. Дистрибутив примечателен включением оптимизаций для повышения производительности и предоставлением возможности установки различных сред рабочего стола. Помимо базового окружения на основе KDE для установки доступны GNOME, Xfce, i3WM, Wayfire, LXQT, OpenBox, Cinnamon, Cosmic, UKUI, LXDE, Mate, Budgie, Qtile, Hyprland и Sway. Размер установочного iso-образа 2.7 ГБ. Отдельно поставляются сборки (2.8 ГБ) для носимых устройств (Handheld Edition) с интерфейсом в стиле GameMode и компонентами для любителей компьютерных игр.

В дистрибутиве по умолчанию включён планировщик задач BORE, оптимизированный для снижения задержек на рабочем столе и повышения приоритета интерактивных процессов. Ядро и пакеты собраны с включением LTO-оптимизаций (Link-Time Optimization) и задействованием инструкций, доступных в процессорах на базе микроархитектур x86-64-v3, x86-64-v4 и Zen4. При сборке базовых пакетов дополнительно включены оптимизации PGO (Profile-Guided Optimization) или BOLT (Binary Optimization and Layout Tool). В дистрибутиве поставляется web-браузер Cachy-Browser, основанный на Firefox с патчами для усиления безопасности и повышения производительности, а также изменениями от проекта Librewolf. В качестве файловых систем могут использоваться btrfs, zfs, ext4, xfs и f2fs.

Основные изменения:

  • Задействован загрузчик Limine, поддерживающий темы оформления загрузочного меню и способный работать на системах с BIOS и UEFI.
  • По аналогии с grub-btrfs для Limine реализована возможность загрузки различных состояний системы, автоматически сохраняемых при помощи механизма снапшотов в ФС Btrfs. Например, в случае сбоя при установке пакетов можно загрузиться с состояния до начала установки. Создание снапшотов включено по умолчанию на всех установках, использующих Btrfs.
  • Добавлен пакет "cachyos-samba-settings" с конфигуратором, упрощающим настройку сетевых разделов Samba.
  • Для проприетарного драйвера NVIDIA возвращены GSP-прошивки, которые ранее были отключены из-за проблем, решённых в недавних обновлениях прошивок.
  • Добавлен драйвер ASUS Armoury, позволяющий управлять энергопотреблением и кулерами на ноутбуках ASUS и игровых консолях Rog Ally.
  • В udev для файловой системы NTFS прекращена загрузка по умолчанию драйвера ядра ntfs3 из-за проблем, возникающих у некоторых пользователей.
  • Улучшен скрипт sbctl-batch-sign, предназначенный для заверения файлов цифровой подписью файлов для верифицированной загрузки в режиме UEFI Secure Boot.
  • В пакетах с Wine и Wine-Staging по умолчанию включена поддержка режима Wow64 (64-bit Windows-on-Windows) для выполнения 32-разрядных Windows-приложений в 64-разрядных Unix-системах. Вместо winesync задействован драйвер NTSync, позволяющий существенно поднять производительность Windows-игр, запускаемых при помощи Wine.
  • В отдельное приложение вынесен интерфейс настройки планировщика задач.
  • Добавлены драйверы для AMD RDNA4, NVIDIA GeForce RTX 5070 Ti и NVIDIA GeForce 5070.
  • Добавлена поддержка скрипта DLSS Swapper, загружающего и обновляющего библиотеки для поддержки технологии DLSS (Deep Learning Super Sampling).
  • Обновлены версии: ядро Linux 6.14.0, NVIDIA 570.133.07, GNOME 48, KDE Plasma 6.3.3, Mesa 25.0.2.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск дистрибутива CachyOS 241221, включающего ядро с дополнительными оптимизациями
  3. OpenNews: Выпуск EasyOS 6.5, самобытного дистрибутива от создателя Puppy Linux
  4. OpenNews: Microsoft опубликовал дистрибутив Azure Linux 3.0.20241203
  5. OpenNews: Доступен дистрибутив Apertis 2025.0, позволяющий не использовать код под лицензией GPLv3
  6. OpenNews: Опубликован AerynOS 2025.03, первый выпуск после переименования Serpent OS
Обсуждение (81 +9) | Тип: Программы |


·30.03 Опубликован свободный видеокодек Theora 1.2 (150 +39)
  Организация Xiph.Org, известная разработкой видео- и аудиокодеков Daala, Opus, FLAC, Vorbis и Speex, представила новую редакцию свободного кодека Theora 1.2, сформированную спустя 15 с половиной лет после прошлого обновления. Кодек распространяется под свободной лицензией без сбора лицензионных отчислений (royalty-free). Формат сжатия видео Theora, как правило, используется совместно с аудиокодеком Vorbis в контейнерах Ogg и может работать в режимах с переменным и фиксированным битрейтом. По уровню качества кодирования Theora близок к H.264 и DiVX. Эталонная реализация кодека распространяется под лицензией BSD.

Основное внимание при подготовке новой редакции было уделено повышению производительности и эффективности кодирования. На уровне битового потока (bitstream) Theora 1.2 полностью соответствует стандартизированному в 2004 году формату кодирования видео Theora. API и ABI интерфейсы новой версии также сохраняют полную совместимость с прошлыми выпусками Theora. В состав Theora 1.2 включены 190-страничная спецификация, документация на API, черновик спецификации RTP-расширений для потокового вещания и эталонные реализации кодировщика и декодировщика.

Главным изменением в Theora 1.2 стала новая реализация эталонного кодировщика, предложенного под кодовым именем "Ptalarbvorm". В новой реализации значительно повышена производительность и обеспечен более высокий уровень сжатия. При этом создаваемые новым кодировщиком файлы полностью совместимы с декодировщиками, предлагавшимися в прошлых версиях.

Кроме того, в Theora 1.2 проведена оптимизация эталонного декодировщика, добавлена поддержка платформы RISC OS и значительно улучшена поддержка архитектуры ARM. Добавлены оптимизации для CPU ARM и DSP TI C64x+. Предложено три уровня скорости кодирования (старый уровень 2 переименован в 3, а вместо второго предложен новый промежуточный уровень).

  1. Главная ссылка к новости
  2. OpenNews: Разработчики Chrome и Firefox рассматривают возможность прекращения поддержки видеокодека Theora
  3. OpenNews: Финальный релиз видеокодека Theora 1.1
  4. OpenNews: Сообщество Xiph.Org представило видеокодек Daala с технологиями, опережающими VP9 и H.265/HEVC
  5. OpenNews: Доступен аудиокодек Opus 1.5
  6. OpenNews: Опубликован свободный звуковой кодек FLAC 1.5
Обсуждение (150 +39) | Тип: К сведению |


·30.03 Выпуск видеоредакторов Shotcut 25.03 и Flowblade 2.20 (45 +9)
  Опубликован релиз видеоредактора Shotcut 25.03, развиваемого автором проекта MLT и использующего данный фреймворк для редактирования видео. Поддержка форматов видео и звука реализована через FFmpeg. Возможно использование плагинов с реализацией видео и аудио эффектов, совместимых с Frei0r и LADSPA. Из особенностей Shotcut можно отметить возможность многотрекового редактирования с компоновкой видео из фрагментов в различных исходных форматах, без необходимости их предварительного импортирования или перекодирования. Имеются встроенные средства для создания скринкастов, обработки изображения с web-камеры и приёма потокового видео. Код написан на C++ с использованием фреймворка Qt и распространяется под лицензией GPLv3. Готовые сборки доступны для Linux (AppImage, flatpak и snap), macOS и Windows.

Среди изменений в новом выпуске:

  • В инструмент для вставки субтитров (Subtitles > Generate Text on Timeline) добавлены преднастройки стиля текста.
  • Добавлены кнопки для копирования текущего фильтра и всех фильтров.
  • В заголовке окна отражён выбранный видеорежим.
  • В фильтр "Рассинхронизация" (No Sync) добавлены параметры для вертикального и горизонтального выравнивания.
  • Добавлены фильтры "360: Cap Top & Bottom" и "360: Equirectangular Wrap" для удаления частей и коррекции видео, снятого в режиме 360-градусов.
  • Список воспроизведения добавлен раздел "Not In a Bin", в который помещаются клипы, не попавшие в другие разделы.
  • В поле поиска фильтров добавлена поддержка тегов "#rgba", "#yuv", "#gpu" и "#10bit".
  • На шкале времени обеспечена пометка клипов, имеющих фильтры.

Кроме того, состоялся релиз многотрекового редактора видео Flowblade 2.20, предназначенного для компоновки видеороликов из отдельных видео, звуковых файлов и изображений. Редактор предоставляет средства для обрезки клипов с точностью до отдельных кадров, использования фильтров, определения своего порядка применения инструментов, корректировки поведения шкалы времени, композитинга изображений (например, можно поворачивать, постепенно замещать и создавать переходные эффекты). Код проекта написан на языке Python (MLT, FFmpeg, PyGTK) и распространяется под лицензией GPLv3. Сборки подготовлены в формате Flatpak.

Среди изменений в новом выпуске:

  • Расширены возможности синхронизации клипов. Добавлены новые операции для синхронизации видеодорожек: "Синхронизировать все клипы" (Sync All Clips) и "Обновить синхронизацию с клипами" (Update Sync to Clips). Добавлена поддержка автоматической синхронизации звука при добавлении клипов на дорожки, созданные пользователем. Операции разделения звука и видео теперь применяются ко всем отзеркалированным трекам, а не только к первому треку.
  • Добавлена операция для сохранения контейнерного клипа из видеоряда.
  • В фильтрах для управления позицией и масштабом ("Position Scale" и "Position Scale Rotate") появилась возможность добавления часто используемых анимационных эффектов, таких как приближение/отдаление и перемещение, в одно действие.
  • Добавлена поддержка готовых стабилизированных медиа-элементов, не требующих дополнительной обработки.
  • Добавлена возможность создания копии видеоряда.
  • Добавлена поддержка шаблонов для создания генераторов на основе предварительно определённых типовых настроек.

  1. Главная ссылка к новости
  2. OpenNews: Релиз программы для редактирования видео LosslessCut 3.65.0
  3. OpenNews: Выпуск видеоредактора Shotcut 25.01
  4. OpenNews: Доступен видеоредактор Flowblade 2.18
  5. OpenNews: Выпуск свободного видеоредактора OpenShot 3.2.0
  6. OpenNews: Выпуск видеоредактора Pitivi 2022.06
Обсуждение (45 +9) | Тип: Программы |


·30.03 Доступны утилиты мониторинга nvtop 3.2.0 и htop 3.4.0. Уязвимость в atop (83 +25)
  Опубликован выпуск консольной утилиты nvtop 3.2.0, предназначенной для интерактивного мониторинга работы GPU и аппаратных ускорителей. Утилита позволяет наглядно отслеживать на графиках нагрузку, потребление памяти и изменение частоты GPU, а также просматривать процессы, наиболее активно нагружающие GPU. Поддерживаются GPU и ускорители компаний AMD, Intel, NVIDIA, Apple (M1 & M2), Huawei (Ascend), Qualcomm и Broadcom (VideoCore). Возможно отслеживание на одном экране работы сразу нескольких чипов.

В новой версии реализована поддержка драйверов Intel XE и Broadcom V3D (Raspberry Pi). Добавлена поддержка AI-ускорителя Google TPU (Tensor Processing Unit). Добавлены опции "-P" и -s" для скрытия области со списком процессов и для сохранения состояния в формате JSON.

Одновременно состоялся выпуск утилиты Atop 2.11.1, предназначенной для интерактивного мониторинга параметров работы системы и отображения активности процессов. От утилиты top программа atop отличается большей детализацией (CPU, GPU, память, диски, сеть, потоки, контейнеры) и возможностью периодического сброса отчётов в файл для последующего анализа. Код написан на языке Си и распространяется под лицензией GPLv2.

В новой версии устранена уязвимость (CVE-2025-31160), позволяющая локальному пользователю вызвать переполнение буфера при запуске утилиты atop другим пользователем. Например, непривилегированный пользователь может организовать атаку на администратора, запускающего утилиту atop. Проблема вызвана тем, что в atop опционально поддерживается сбор статистики о работе GPU, который вынесен в отдельный процесс atopgpud. Взаимодействие с этим процессом осуществляется через TCP-порт. Во время запуска atop пытается соединиться с данным TCP-портом и периодически загружает через него статистику, не обеспечивая при этом должной проверки размера передаваемых данных.

Метод атаки сводится к тому, что любой пользователь в системе может запустить на сетевом порту atopgpud свой обработчик, который выдаст данные заведомо большего размера, что приведёт к переполнению буфера в atop при попытке разбора статистики. Возможность создания рабочего эксплоита для выполнения кода пока не продемонстрирована. В новой версии atop по умолчанию отключён сбор статистики через TCP-порт и добавлена опция "-k" для активации поддержки atopgpud. Также внесены дополнительные проверки в код разбора статистики для предотвращения переполнений.

В заключении можно отметить выпуск top-подобной утилиты htop 3.4.0, примечательной такими возможностями, как свободная вертикальная и горизонтальная прокрутка списка процессов, средства оценки эффективности работы SMP и использования каждого процессорного ядра, наличие древовидного режима просмотра, гибкие возможности по настройке интерфейса, поддержка фильтрации процессов и управления ими (завершение работы, настройка приоритета). Код проекта написан на языке Си и распространяется под лицензией GPLv2

В новой версии добавлено отслеживание активности GPU в Linux; улучшена работа на ARM-компьютерах Apple; решены проблемы со сборкой для DragonFlyBSD, Darwin, NetBSD, OpenBSD и Solaris; обеспечен учёт дисковой и сетевой активности в DragonFlyBSD; добавлена информация о потоках и состоянии процессов в macOS; расширена поддержка Unicode; переработан код для работы с датчиками температуры; повышена производительность кода для разбора статистики; добавлена поддержка скрытия данных о кэше и буферах.

  1. Главная ссылка к новости
  2. OpenNews: Новая версия утилиты atop для отображения и записи информации о процессах
  3. OpenNews: ptop для мониторинга работы PostgreSQL. Обзор top-подобных утилит.
  4. OpenNews: Выпуск утилиты htop 3.0
  5. OpenNews: Выпуск утилиты системного мониторинга TTop 1.2
  6. OpenNews: Netflix опубликовал код утилиты bpftop
Обсуждение (83 +25) | Тип: Программы |


·30.03 Выпуск утилиты GNU patch 2.8 (40 +20)
  Спустя семь лет с прошлого выпуска и двенадцать с половиной лет с момента публикации ветки 2.7 представлен релиз утилиты GNU patch 2.8. Утилита позволяет применить к файлам патчи, включающие списки изменений, созданные программой diff. Код написан на языке Си и распространяется под лицензией GPLv3+.

В новой версии:

  • Решена проблема 2038 года - утилита теперь корректно обрабатывает данные о времени файлов, созданных после 2038 года, даже на платформах с 32-разрядным типом time_t.
  • Опция "--follow-symlinks" теперь распространяется не только на входные файлы, но и на создаваемые файлы.
  • В соответствие с требованиями стандарта POSIX.1-2024 запрещено использование символа перевода строки в именах файлов.
  • Запрещено использование нулевых байтов ('\0') в строках с директивами diff.
  • Разрешено указание пробелов и табуляций перед и после значений с номерами строк.
  • Проведена работа по исключению неопределённого или некорректного поведения в нештатных ситуациях, например, при обработке очень больших размеров полей, ошибках ввода/вывода, нехватке памяти, состояниях гонки и отправке сигналов в неподходящие моменты.
  • Удалён старый код "Plan B", созданный для систем с 16-разрядными указателями.
  • Повышены требования к компилятору, который теперь должен поддерживать стандарт C99 (ранее требовался C89).
  • Добавлена поддержка новых версий GCC, Autoconf и Gnulib.

  1. Главная ссылка к новости
  2. OpenNews: Опасные уязвимости в утилитах beep и patch
  3. OpenNews: Уязвимость в утилите BSD patch и TCP-стеке FreeBSD
  4. OpenNews: Разработка новых вариантов diff и grep для обработки сложных структур данных
  5. OpenNews: Новая версия утилиты GNU patch 2.7
  6. OpenNews: Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода
Обсуждение (40 +20) | Тип: Программы |


·29.03 Представлен формат сжатия изображений Spectral JPEG XL (74 +34)
  Инженеры из компании Intel представили формат изображений Spectral JPEG XL, оптимизированный для эффективного сжатия изображений, охватывающих области спектра за границей диапазона видимого излучения. Предложенный формат предоставляет возможности, аналогичные спектральной редакции формата OpenEXR, но в отличие от последнего обеспечивает кодирование с потерями, что позволяет добиться сокращения размера файлов в 10-60 раз по сравнению со сжатием без потерь.

Спектральные изображения содержат не только информацию об интенсивности света в трех основных цветовых каналах (RGB), но охватывают часть ультрафиолетового и инфракрасного диапазонов. Подобные изображения используются в таких областях, как высококачественный рендеринг, анализ материалов и визуализация научных данных. Например, спектральные изображения могут использоваться для точного моделирования реальных оптических эффектов при рендеринге, для оценки того, как выглядит краска при различном освещении, и для идентификации материалов по их световым сигнатурам.

Съёмка с захватом диапазонов вне видимого спектра даёт возможность более точно моделировать взаимодействие света с материалами, но приводит к значительному увеличению информации, хранимой для каждого пикселя. Спектральные изображения могут включать десятки каналов, охватывающих различные диапазоны длин волн, и использовать для каждого канала 16- или 32-разрядные числа с плавающей запятой, что позволяет охватить более широкий диапазон значений яркости, чем на обычных фотографиях. Ценой подобной возможности становится существенное увеличение размера по сравнению с традиционными изображениями. В качестве примера упомянуто изображение с 81 дополнительным спектральным каналом, занимающее в формате OpenEXR 300 МБ. При помощи Spectral JPEG XL данное изображение удалось сжать до 3.9 МБ без потери спектральных характеристик.

Для сокращения размера Spectral JPEG XL использует разделение данных о яркости и форме спектра, и применяет дискретное косинусное преобразование, позволяющее сохранить основные спектральные характеристики, но отбросить несущественные высокочастотные спектральные детали. Суть метода в преобразовании плавного изменения волновых характеристик в набор волновых коэффициентов (коэффициентов частоты), при совмещении воссоздающих исходную спектральную информацию.

Более высокочастотные спектральные коэффициенты затем нормируются по отношению к общей яркости, что позволяет агрессивнее сжимать менее значимые данные. Идея в том, что с точки зрения восприятия наиболее важна средняя яркость и она сохраняется с наиболее высоким качеством, а коэффициенты высоких частот не столь важны и к ним применяется более высокий уровень сжатия и опционально более низкие разрешения. После этого информацию обрабатывает кодек, реализованный на базе существующего движка сжатия, разработанного для формата JPEG XL.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимости в реализации JPEG XL из состава FFmpeg
  3. OpenNews: Samsung обеспечил поддержку формата изображений JPEG XL
  4. OpenNews: В Safari 17 и WebKit включена поддержка формата изображений JPEG XL
  5. OpenNews: Google упраздняет поддержку JPEG XL в Chrome
  6. OpenNews: Представлен формат сжатия изображений QOI
Обсуждение (74 +34) | Тип: К сведению |


·29.03 Изучение начинки sandbox-окружения, используемого в Google Gemini для запуска Python-кода (19 +13)
  Опубликованы результаты исследования защищённости изолированного окружения для выполнения Python-кода, применяемого компанией Google в чатботе Gemini. Чатбот Gemini предоставляет средства для генерации кода по описанию задачи и для языка Python позволяет сразу запустить созданный код, чтобы избавить разработчика от лишних действий при его проверке. Код запускается в изолированном окружении, которое отрезано от внешнего мира и допускает только исполнение интерпретатора Python. Для определения начинки sandbox-окружения исследователи добились запуска кода, использующего возможности Python-библиотеки os для перебора содержимого всех каталогов и построения карты файловой системы.

Особый интерес вызвал исполняемый файл /usr/bin/entry/entry_point, который занимал 579 МБ. Для извлечения данного файла исследователи создали скрипт, который последовательно небольшими порциями выводил на экран содержимое в формате Base64. На своей стороне они автоматизировали склейку данных отрывков при помощи инструментария Caido и получили копию файла на своей системе.

Для анализа полученного исполняемого файла была применена утилита binwalk, предназначенная для извлечения файлов, встроенных в прошивки. Среди извлечённых данных оказался каталог google3, в котором, судя по названиям файлов, находился Python-код с различными компонентами для обеспечения работы сервиса, например, RPC для взаимодействия AI-модели Gemini с внешними сервисами Google, такими как YouTube, Google Flights и Google Maps.

Изучение содержимого файлов показало, что это не конфиденциальный код и он был одобрен для публичного доступа службой безопасности Google. При этом дальнейший анализ дампа выявил наличие в нём proto-файлов (Protocol Buffer) со спецификациями внутренних структур данных, позволяющих понять тонкости обмена данными между различными сервисами Google. Польза от получения выявленных proto-файлов сомнительна, так как семь лет назад подобные proto-файлы уже были извлечены другими исследователями из Google App Engine.

  1. Главная ссылка к новости
  2. OpenNews: Из-за опечатки в настройках атакующие могли подменить DNS-сервер MasterCard
  3. OpenNews: Google проанализировал уязвимости, задействованные для совершения атак в 2023 году
  4. OpenNews: Атака на провайдера, выведшая из строя 659 тысяч домашних маршрутизаторов
  5. OpenNews: Компания Google открыла код gRPC, RPC-фреймворка на основе HTTP/2
  6. OpenNews: Инициатива по выплате вознаграждений за выявления уязвимостей в открытых проектах Google
Обсуждение (19 +13) | Тип: Проблемы безопасности |


·29.03 В пакетном менеджере Zypper реализована параллельная загрузка пакетов (71 +12)
  Разработчики дистрибутива openSUSE реализовали в пакетном менеджере Zypper возможность распараллеливания загрузки пакетов и метаданных. Дополнительно предложен новый бэкенд, более оптимально повторно использующий уже установленные соединения и повышающий эффективность обработки метаданных. При обновлении 250 пакетов суммарным размером 100 МБ время загрузки после включения нового бэкенда и параллельного режима сократилось с 68.7 секунд до 13.1 секунд, а при обновлении 407 пакетов размером 1 ГБ - с 281.1 cекунды до 119.6 секунд.

Распараллеливание доступно начиная с выпусков libzypp 17.36.4 и zypper 1.14.87, пока размещённых только в репозиториях Tumbleweed и Slowroll. По умолчанию упомянутые возможности пока отключены и преподносятся как экспериментальные. Для включения параллельной загрузки и нового бэкенда можно использовать переменные окружения "ZYPP_PCK_PRELOAD=1" и "ZYPP_CURL2=1", а настройка числа одновременных соединений регулируется при помощи параметра "download.max_concurrent_connections" в файле конфигурации zypp.conf.

  1. Главная ссылка к новости
  2. OpenNews: openSUSE тестирует поддержку повторяемых сборок
  3. OpenNews: SUSE и openSUSE рассматривают прекращение поддержки загрузки на системах с BIOS
  4. OpenNews: Дистрибутив openSUSE Tumbleweed перешёл на использование SELinux по умолчанию
  5. OpenNews: Дистрибутив openSUSE опубликовал альтернативный инсталлятор Agama 11
  6. OpenNews: openSUSE развивает новый графический интерфейс установки пакетов YQPkg
Обсуждение (71 +12) | Тип: К сведению |


Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру