LINUX.ORG.RU

Сообщения dataman

 

PlutoVG 1.0.0

Новости — Разработка
Группа Разработка

11 марта состоялся первый значительный выпуск 1.0.0 библиотеки двухмерной векторной графики PlutoVG, написанной на языке C и распространяемой по лицензии MIT. У библиотеки нет сторонних зависимостей.

Возможности библиотеки:

  • стили рисования линий;
  • сплошное, градиентное и текстурное закрашивание;
  • шрифты и текст;
  • обрезка и композиция;
  • трансформации;
  • изображения.

( читать дальше... )

>>> Список изменений на GitHub

 , , ,

dataman
()

ugrep 7.3

Новости — Open Source
ugrep 7.3
Группа Open Source

3 марта состоялся выпуск 7.3 быстрой кроссплатформенной консольной утилиты поиска текста ugrep.

Для более эффективного поиска в большом количестве файлов на медленных носителях, или при поиске во многих архивах (zip, zstd, tar, bzip2, bzip3, 7z, lzma, lz4, brotli и др.), можно предварительно выполнить индексирование утилитой ugrep-indexer (входит в поставку ugrep, начиная с версии 6.0).

Утилита написана на языке C++ и распространяется по лицензии BSD-3.

В этом выпуске произведены улучшения удобства использования, а также исправлена работа опций -i (--ignore-case) и -j (--smart-case). Теперь они используют собственные функции изменения регистра букв Юникода, не входящих в ASCII. Например, echo "Śrem" | ug -i "ś.*" теперь завершится успешным нахождением совпадения и напечатает 1: Śrem, как и ожидает пользователь.

>>> Список изменений версии 7.3 на GitHub

 , , , ,

dataman
()

Бьёрн Страуструп призвал стандартизировать профили C++ для безопасной работы с памятью

Форум — Talks

https://www.opennet.ru/opennews/art.shtml?num=62821

Бьёрн Страуструп (Bjarne Stroustrup), создатель языка C++, призвал комитет WG21, отвечающий за разработку стандартов для языка C++, предпринять меры для сохранения актуальности C++ в условиях активного продвижения инициатив по переходу на языки, обеспечивающие безопасную работу с памятью. Страуструп считает, что язык С++ уже содержит все возможности, необходимые для безопасной работы с памятью. Остаётся только предоставить средства, гарантирующие, что код написан с использованием только безопасных возможностей.

По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры, так как Агентство по кибербезопасности и защите инфраструктуры США и ФБР стали более активно продвигать среди производителей ПО идею перехода на языки, безопасного работающие с памятью. До 2026 года производителям ПО рекомендовано разработать план по применению в своих продуктах технологий, защищающих от ошибок при работе с памятью, или переходу на использование языков, безопасно работающих с памятью.

Стандартизация возможностей для безопасной разработки на C++ позволит сохранить интерес к языку С++, особенно с учётом того, что разработчики существующих проектов на С и C++ смогут постепенно наращивать безопасность своих продуктов, не прибегая к инициативам по переписыванию на другом языке. В частности, проекты на C можно преобразовать в код С++, а за тем поэтапно переводить код на безопасные конструкции, следуя рекомендациям из руководства «C++ Core Guidelines».

Для обеспечения разработки безопасного кода Страуструп предлагает стандартизировать систему профилей C++, вводящих дополнительные требования к коду. Профили близки к применению флагов -Wall и -Wextra при компиляции, но в отличие от них работают на уровне запрета применения определённых возможностей языка. К реализации предлагаются профили для безопасных типов, контроля времени жизни объектов, работы с допустимыми диапазонами значений и целочисленной арифметики. Привязку к профилям можно задавать не только для проекта и файлов (например, [[profile::enforce(type)]]), но и включать/отключать на уровне отдельных конструкций (например, [profile::suppress(lifetime))] this->succ = this->succ->succ;).

Работа по повышению безопасности будет сводится к включению профиля для определённого кода и переписыванию частей, использующих небезопасные возможности языка, охватываемые выбранным профилем. Например, использование профилей поможет уйти от применения в коде сырых указателей и массивов, избавиться приведения типов и защититься от обращений к неинициализированным объектам. Вместо сырых указателей можно использовать, например, умные указатели std::unique_ptr и std::shared_ptr с отслеживанием владения. При наличии в коде циклов «for», перебирающих отдельные элементы Си-массива, потребует заменить данные циклы на вариант с обработкой диапазонов for(type variable : vector), использующий std::vector.

Предложены следующие профили:

  • type – каждый объект должен быть инициализирован, не допускается приведение типов.
  • lifetime – запрещены ссылки на освобождённые или неиспользуемые области памяти, разыменование указателей, явный вызов new/delete.
  • bounds – требуется проверка допустимых диапазонов при работе с указателями, запрещены арифметические операции с указателями.
  • arithmetic – блокируются целочисленные переполнения, запрещены знаковые/беззнаковые преобразования, изменяющие значение.
  • concurrency – исключает операции, приводящие к взаимным блокировкам и состояниям гонки.
  • RAII (Resource Acquisition Is Initialization) – требует проверки владения для каждого ресурса.

Гарантии, реализуемые при использовании профилей:

  • Обращение к объекту допускается только в соответствии с типом, под которым этот объект был определён.
  • Каждый объект должен быть корректно создан и освобождён.Каждый объект должен быть корректно создан и освобождён.
  • Каждый указатель должен указывать на корректный объект или нулевой указатель.
  • Каждая ссылка через указатель не должна переходить по нулевому указателю.
  • Каждое обращение через индексированный указатель должно находиться в пределах допустимого диапазона.

 , , ,

dataman
()

Clifm 1.24

Новости — Open Source
Группа Open Source

2 марта, после более месяца разработки, состоялся выпуск 1.24 (названный в честь Herman Toothrot из серии игр Monkey Island) консольного менеджера файлов Clifm, Clifm – это менеджер файлов c текстовым интерфейсом, созданный с учётом принципов дизайна интерфейса командной строки, а не дизайна TUI, как, например, превосходные Midnight Commander и Ranger.

( читать дальше... )

>>> Список изменений версии 1.24 на GitHub

 , , , ,

dataman
()

Свершилось! На GitHub можно обсуждать Midnight Commander!

Форум — Talks

https://github.com/MidnightCommander/mc-old

Midnight Commander’s Legacy Repository

⚠️ This repository has been archived! ⚠️

It reflects the state just before we switched from Trac to GitHub for issue tracking on Feb 28, 2025.

Please use the new repository at MidnightCommander/mc instead!

– Maintainers


MidnightCommander/mc

Уже:

Issues 620

https://github.com/MidnightCommander/mc/discussions/4658

Welcome to Midnight Commander Discussions!

 , ,

dataman
()

CLI11 2.5.0

Новости — Разработка
CLI11 2.5.0
Группа Разработка

27 февраля, после более года разработки, состоялся выпуск 2.5.0 кроссплатформенной header-only библиотеки для C++ CLI11, предназначенной для разбора параметров командной строки и распространяемой по лицензии BSD 3.

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

( читать дальше... )

>>> Подробности на GitHub

 , , ,

dataman
()

Lexilla 5.4.3, Scintilla 5.5.5, SciTE 5.5.5

Новости — Open Source
Группа Open Source

25 февраля, после двух месяцев разработки, состоялись выпуски 5.4.3 и 5.5.5 кроссплатформенных библиотек для парсинга, редактирования и подсветки кода Lexilla и Scintilla соответственно, а также выпуск 5.5.5 основанного на них редактора текстов SciTE.

( читать дальше... )

>>> Подробности на scintilla.org

 , , , ,

dataman
()

Gifsicle 1.96

Новости — Мультимедиа
Gifsicle 1.96
Группа Мультимедиа

После годового перерыва состоялся выпуск 1.96 консольной утилиты Gifsicle, предназначенной для создания и редактирования изображений и анимаций в формате GIF, а также для получения информации о файлах в этом формате. В комплект поставки также входят утилиты gifdiff и gifview (для X11) для сравнения и просмотра файлов GIF, соответственно.

( читать дальше... )

>>> Исходный код на GitHub

>>> Список изменений на lcdf.org/gifsicle

 , , , ,

dataman
()

miniaudio 0.11.22

Новости — Разработка
miniaudio 0.11.22
Группа Разработка

24 февраля, после более года разработки, состоялся выпуск 0.11.22 кроссплатформенной библиотеки захвата и воспроизведения звука miniaudio, написанной на языке C и распространяемой, как общественное достояние. miniaudio работает на всех основных настольных и мобильных платформах без сторонних зависимостей.

( читать дальше... )

>>> Список изменений на GitHub

 , , miniaudio,

dataman
()

qman 1.3.0 и 1.3.1

Новости — Open Source
qman 1.3.0 и 1.3.1
Группа Open Source

22 февраля состоялись выпуски 1.3.0 и 1.3.1 консольной утилиты qman, предназначенной для более удобного просмотра страниц man. Утилита написана на языке C и распространяется по лицензии BSD 2.

( читать дальше... )

>>> Список изменений на GitHub

 , , , ,

dataman
()

Zstandard 1.5.7

Новости — Open Source
Группа Open Source

После 11 месяцев разработки и свыше 500 коммитов состоялся выпуск 1.5.7 быстрой библиотеки сжатия данных и консольной утилиты Zstandard, написанных на языке C и распространяемых по лицензиям BSD или GNU GPL 2.

Это значительный выпуск с улучшениями в производительности, стабильности и функциональности, и особенно рекомендуется для пользователей 32-битных систем.

( читать дальше... )

>>> Полный список изменений на GitHub

 , , , ,

dataman
()

lzbench 2.0 и 2.0.1

Новости — Open Source
lzbench 2.0 и 2.0.1
Группа Open Source

6 и 12 февраля состоялись выпуски 2.0 и 2.0.1 консольной утилиты lzbench, предназначенной для сравнения многих популярных алгоритмов компрессии и декомпрессии (их список можно получить командой lzbench -l).

( читать дальше... )

>>> Список изменений всех версий на GitHub

 , , , ,

dataman
()

Vifm 0.14

Новости — Open Source
Vifm 0.14
Группа Open Source

8 февраля, после более полутора лет разработки, состоялся выпуск 0.14 консольного менеджера файлов Vifm, в котором используется Vim-подобное модальное управление и некоторые идеи, позаимствованные из почтового клиента mutt.

( читать дальше... )

>>> Исходный код на GitHub

>>> Подробности на vifm.info

 , , , ,

dataman
()

Форкнули QuickJS

Форум — Development

Оригинал Белларда: https://github.com/bellard/quickjs.
Форк: https://github.com/quickjs-ng/quickjs:

QuickJS is a small and embeddable JavaScript engine. It aims to support the latest ECMAScript specification.
This project is a fork of the original QuickJS project by Fabrice Bellard and Charlie Gordon, after it went dormant, with the intent of reigniting its development.

Версия 0.8.0 от 24 декабря 2024.


Другие JavaScript-движки на C.

https://github.com/svaarala/duktape – больше года без изменений.

Duktape is an embeddable Javascript engine, with a focus on portability and compact footprint.

https://github.com/jerryscript-project/jerryscript – версия 3.0.0 от 18 декабря 2024.

JerryScript is a lightweight JavaScript engine for resource-constrained devices such as microcontrollers. It can run on devices with less than 64 KB of RAM and less than 200 KB of flash memory.

 , , , ,

dataman
()

Для systemd развивается возможность загрузки системных образов по HTTP

Форум — Talks

Леннарт Поттеринг (Lennart Poettering) предложил включить в системный менеджер systemd изменение, позволяющие загружать систему с использованием образа корневой ФС, получаемого c внешнего хоста по протоколу HTTP. Изменение сводится к расширению systemd возможностью не только скачивать дисковый образ по HTTP на начальной стадии загрузки, но и распаковывать загруженный образ, связывать с блочным устройством в loopback-режиме, монтировать блочное устройство как /sysroot и загружать с него систему.

Поддержка скачивания дисковых образов во время загрузки системы при помощи systemd-import-generator уже включена в состав systemd 257. Остальная функциональности пока находится на стадии рабочего прототипа, требующего доработки. В реализации пока не поддерживается полный цикл загрузки, но в дальнейшем функциональность планируют довести до загрузки через UEFI HTTP Boot универсальных образов ядра UKI (Unified Kernel Image), объединяющих в одном файле загрузчик для UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd.

URL для загрузки системного образа планируют вычислять на основании URL, заданного для EFI-образа в настройках UEFI HTTP Boot (например, при загрузке через EFI HTTP Boot http://example.com/somedir/myimage.efi, присутствующий в UKI initrd-обработчик загрузит образ rootfs как http://example.com/somedir/myimage.raw.xz). В дальнейшем помимо HTTP в качестве транспорта для получения образа планируется добавить поддержку технологии NVMe-over-TCP, позволяющей обращаться к NVMe-накопителям по сети (NVM Express over Fabrics), используя протокол TCP.

Предполагается, что загрузка с образов, получаемых с внешнего хоста, упростит организацию тестирования современных неизменяемых («immutable») операционных систем на реальном оборудовании. Разработчик может на своём компьютере сформировать образ с системным окружением утилитой mkosi и сделать его доступным через HTTP командой «mkosi -f serve». На компьютере, на котором требуется протестировать работу системы, достаточно включить в EFI загрузку по HTTP и добавить URL загружаемого образа командой:

kernel-bootcfg --add-uri=http://192.168.47.11:8081/image.efi --title=testloop --boot-order=0

После чего можно просто перезагрузить компьютер и он загрузит типовой образ ядра UKI, который затем загрузит подготовленный разработчиком дисковый образ с корневой ФС. До отключения в EFI загрузки по HTTP каждая последующая перезагрузка компьютера будет приводить к загрузке свежего системного образа. При подобном тестировании никак не затрагиваются локальные диски.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62711.

 ,

dataman
()

Pioneer 2025-02-03

Новости — Игры
Группа Игры

После года разработки состоялся релиз 2025-02-03 космической приключенческой игры Pioneer, действие которой происходит в нашей галактике на рубеже 33-го века.

Pioneer – это бесплатная кроссплатформенная видеоигра с открытым исходным кодом (С++ и Lua) в жанре симулятора космической торговли и боя, созданная по мотивам коммерческой игры Frontier: Elite 2.

( читать дальше... )

>>> Полный список изменений на GitHub

 , , , ,

dataman
()

Геологическая история Марса: рентгеновский спектрометр помогает разгадывать марсианские загадки

Форум — Science & Engineering

Учёные раскрывают секреты формирования планеты в образцах древних вулканов Марса.

В новом исследовании международная группа учёных во главе с профессором Мариек Шмидт из Университета Брока представила открытия о критическом периоде эволюционной истории Марса. Работа раскрывает новые подробности о геологическом прошлом Красной планеты.

Профессор Шмидт, возглавляющая кафедру наук о Земле в Университете Брока, участвовала в миссии марсохода Perseverance NASA в качестве научного сотрудника. Она и её коллеги анализировали древние породы, найденные в кратере Езеро на Марсе. Одной из основных целей миссии был поиск признаков древней микробной жизни, но изучение магматических пород и реголита в этом районе также дало представление о малоизученном периоде истории планеты.

«Мы делаем на Марсе то, чего никогда раньше не делали», – говорит Шмидт. Она также является со-исследователем в команде, работающей с прибором PIXL (Planetary Instrument for X-Ray Lithochemistry). Этот рентгенофлуоресцентный спектрометр использовался для определения элементного состава марсианских поверхностных материалов с высоким разрешением, позволяя учёным дистанционно «заглянуть» вглубь пород, чтобы исследовать, как они формировались и из чего состоят.

«Масштаб научных исследований был невероятным. Это самое всестороннее на сегодняшний день изучение образцов, которые были сохранены для возвращения на Землю», – отмечает Шмидт. «Теперь мы знаем минеральный и химический состав пород, понимаем их текстуры, но следующим шагом было рассказать о том, как, по нашему мнению, формировались эти породы с точки зрения подъёма магмы через марсианскую кору, её кристаллизации, эволюции и изменения состава».

Работа также выдвигает ряд гипотез, которые могут направлять дальнейшие исследования, когда образцы будут доставлены на Землю.

Таня Кизовски, соавтор статьи и заместитель куратора по минералогии в Королевском музее Онтарио, отмечает, что все марсианские образцы, изученные на Земле до сих пор, были метеоритами. Большинство марсианских метеоритов имеют возраст менее 500 миллионов лет, что относительно молодо по сравнению с 4,5-миллиардной историей Марса. В то же время образцы из кратера Езеро, как полагают, имеют возраст не менее 3,5 миллиардов лет.

«Марс очень хорошо сохранился с точки зрения ранней истории нашей Солнечной системы, поэтому возможность изучать такие древние породы, особенно когда они будут доставлены на Землю, поможет нам узнать об истории внутренней части Солнечной системы и о том, когда возникла жизнь», – говорит Кизовски.

Образцы также происходят из уникального периода в истории Марса, когда внутренняя динамика планеты претерпевала серьёзные изменения. Шмидт объясняет: «Вулканизм на Марсе в основном связан с так называемыми горячими точками, подобными Гавайям или Исландии на Земле, где есть сфокусированный источник магмы, уходящий глубоко, пробивающийся через всё и затем извергающийся на поверхность. Но в ранней истории Марса есть модели, подтверждающие идею о том, что марсианская кора формировалась в результате широко распространённого вулканизма, не обязательно сосредоточенного в этих горячих точках, и этот переход, как считается, произошёл примерно в то время, когда формировались эти породы».

Шмидт и её команде ещё предстоит подождать – возможно, десятилетие или больше – прежде чем образцы буду доставлены на Землю. «Доставка этих образцов с Марса будет невероятно сложной задачей и потребует удивительного инженерного подвига, особенно если учесть, что вы доставляете с орбиты нечто размером с баскетбольный мяч», – говорит Шмидт.

Тем временем марсоход Perseverance продолжает исследовать новые районы Марса и собирать образцы, а Шмидт и её коллеги терпеливо ожидают возможности однажды проанализировать марсианские породы уже на Земле.

Это исследование открывает новую главу в изучении Марса, предоставляя учёным беспрецедентную возможность заглянуть в далёкое прошлое планеты. Анализ древних пород из кратера Езеро не только проливает свет на геологическую историю Марса, но и может помочь в поиске следов древней жизни на планете. Кроме того, эти данные могут быть ключом к пониманию ранних этапов формирования планет в Солнечной системе.

Источник: https://www.ixbt.com/news/2025/02/08/geologicheskaja-istorija-marsa-rentgenovskij-spektrometr-pomogaet-razgadyvat-marsianskie-zagadki.html.

https://ru.wikipedia.org/wiki/Езеро_(кратер)
https://ru.wikipedia.org/wiki/Персеверанс_(марсоход)

 , perseverance, ,

dataman
()

curl 8.12.0

Новости — Интернет
Группа Интернет

5 февраля, после почти двух месяцев разработки, состоялся выпуск 8.12.0 консольной утилиты и библиотеки curl, написанных на языке C и распространяемых по лицензии curl.

( читать дальше... )

>>> Новость в блоге автора

 , , , ,

dataman
()

PCRE2 10.45

Новости — Open Source
PCRE2 10.45
Группа Open Source

После более полугода разработки, состоялся выпуск 10.45 библиотеки PERL-совместимых регулярных выражений PCRE2, написанной на языке C и распространяемой по лицензии BSD. Это сравнительно большой выпуск, включающий в себя новые функции, некоторые исправления ошибок и несколько изменений, имеющих небольшое влияние на обратную совместимость.

Версия 10.45 – это первый выпуск, подготовленный новыми сопровождающими проекта, которые благодарят Филипа Хейзела, создателя и сопровождающего проектов PCRE и PCRE2.

( читать дальше... )

>>> Подробности на GitHub

 , , , ,

dataman
()

Groonga 14.1.3

Новости — Open Source
Groonga 14.1.3
Группа Open Source

29 января, после месяца разработки, состоялся выпуск 14.1.3 полнотекстовой поисковой системы и столбцовой системы управления базами данных Groonga, написанной на языках C и C++, и распространяемой по лицензии GNU LGPL 2.1 или более поздней.

Проектом предоставляется библиотека и консольные утилиты.
Из связанных проектов стоит отметить Mroonga и PGroonga – интеграции Groonga в MySQL и PostgreSQL соответственно.

( читать дальше... )

>>> Список изменений на groonga.org

 , , , ,

dataman
()

RSS подписка на новые темы