ugrep 6.2.0

Состоялся выпуск 6.2.0 быстрой консольной утилиты поиска текста ugrep, написанной на языке C++ и распространяемой по лицензии BSD-3.
( читать дальше... )
>>> Подробности
Всего сообщений: 213
Состоялся выпуск 6.2.0 быстрой консольной утилиты поиска текста ugrep, написанной на языке C++ и распространяемой по лицензии BSD-3.
( читать дальше... )
>>> Подробности
После почти трёхлетней паузы состоялись выпуски 2.0.0 и 2.0.1 оффлайн-переводчика для Android RTranslator, написанного на языках C++ и Java и распространяемого по лицензии Apache 2.0.
Для работы приложению необходим достаточно быстрый смартфон с, как минимум, 6GB памяти.
Поддерживаемые языки: арабский, болгарский, каталонский, китайский, чешский, датский, немецкий, греческий, английский, испанский, финский, французский, хорватский, итальянский, японский, корейский, голландский, польский, португальский, румынский, русский, словацкий, шведский, тамильский, тайский, турецкий, украинский, урду и вьетнамский.
( читать дальше... )
>>> Подробности
После пяти месяцев разработки состоялся выпуск 24.05 библиотеки и консольной утилиты 7-Zip, написанных на языках C и C++ и предназначенных для работы с архивами в формате 7z и многих других.
( читать дальше... )
>>> Подробности
15 мая состоялся выпуск 1.6.0 высокопроизводительной системы автоматического распознавания речи whisper.cpp, реализующей модель Whisper от OpenAI на языках C и C++, и распространяемой по лицензии MIT.
Список изменений:
--flash-attn
для ускорения обработки данных на устройствах с CUDA и Metal;main
.>>> Подробности
6 и 7 мая состоялись выпуски 5.1 и 5.1.1 C++ библиотеки, консольного и GUI-калькуляторов Qalculate!, написанных на языке C++ и распространяемых по лицензии GPL 2.0.
Изменения в библиотеке и консольном калькуляторе:
if()
;root(a, x)=b
(требуется рациональное значение для ln(a)/ln(b))
;powertower()
и multiples()
;100 + 10%
равно 110
или 100.1
);(x^a)^b = x^(a × b)
и x^a × x^b = x^(a + b)
при отключении комплексных чисел (исправлено падение);(ax + n)^2 > 1
, где n
чётно и a
не равно 1
, возвращается false
;setbits()
;Number::equals(0, ..., true)
, когда число бесконечно (влияет на функцию replace()
);a^(f(x))=a^(b*g(x))
, где b=2
или b=3
(в версии 5.1.1).( читать дальше... )
>>> Подробности
Состоялся корректирующий выпуск 0.9.2 консольного интерпретатора и встраиваемой библиотеки языка Pluto – альтернативной реализации языка Lua 5.4 со множеством изменений и улучшений в синтаксисе, стандартной библиотеке и интерпретаторе.
( читать дальше... )
>>> Подробности
Состоялся выпуск 1.0.0 консольной утилиты ugrep-indexer, написанной на языке C++ и предназначенной для ускорения рекурсивного поиска утилитой ugrep (при использовании в ней ключа --index
).
( читать дальше... )
>>> Подробности
StringZilla – SIMD- и SWAR-оптимизированная библиотека для C++ (с биндингами для языков C, JavaScript (модуль Node.js), Python, Rust и Swift) для быстрых строковых операций: поиск подстрок и набора символов (прямой и обратный), сортировка, расстояние Левенштейна, расстояние Хэмминга и других.
Однако, функциональность не одинакова для всех языков.
Проект распространяется по лицензии Apache-2.0.
( читать дальше... )
>>> Подробности
Organic Maps призывает всех желающих принять участие в ежегодной программе Google Summer of Code 2024 (GSoC), в рамках которой контрибьюторы (не только студенты!) со всего мира участвуют в разработке программного обеспечения с открытым исходным кодом под руководством опытных наставников из различных организаций. Мы участвуем в программе третий год подряд.
Мы делаем открытые мобильные офлайн-карты для путешественников и любителей активного отдыха на основе данных OpenStreetMap. Приложение уже установили более миллиона пользователей из 186 стран мира. Приложение доступно в F-Droid, Google Play, AppStore и даже FlatHub (desktop версия для разработки). Про нас пишут в блогах и упоминают в ведущих СМИ. На GitHub проекте более 8k ⭐ и около 700 forks.
Мы призываем всех желающих попробовать силы для участия в проекте и программе GSoC в частности.
( читать дальше... )
После четырёх месяцев разработки состоялся выпуск 0.7 редактора текстов NotepadNext, написанного на языке C++ с использованием библиотек Qt, Scintilla и др., и распространяемого по лицензии GPL-3.0.
Изменения:
match
и case
; поддержка атрибутов декоратора;>>> Подробности
Вышел очередной релиз Thalassa CMS, сочетающей генератор статического HTML и CGI-программу для поддержки пользовательских комментариев. Thalassa CMS написана на C++ и, по заявлению автора, не имеет внешних зависимостей, не использует СУБД и не генерирует страниц со скриптами.
( читать дальше... )
>>> Подробности
24 января, после почти четырёхлетней паузы, состоялся выпуск 1.0.0 header-only SIMD-оптимизированной библиотеки для C++ GLM (OpenGL Mathematics), основанной на спецификациях GLSL (pdf) (OpenGL Shading Language).
( читать дальше... )
>>> Подробности
24 января состоялся выпуск 4.038 C++ библиотеки SRELL (Std::RegEx-Like Library), реализующей ECMAScript-совместимые регулярные выражения.
Список изменений:
/(?:ab)+|cd/
находилась строка «ababcd»;Особенности библиотеки:
std::regex
;char8_t
, char16_t
и char32_t
для C++11 и более поздних версий стандарта.Более подробное описание доступно на сайте автора.
История изменений: англ./яп..
Постоянная ссылка на актуальную версию: https://www.akenotsuki.com/misc/srell/srell-latest.
>>> Подробности
В списке рассылки разработчиков ядра Linux возобновилось начатое шесть лет назад обсуждение перспектив использования современного кода на C++ в ядре Linux, помимо нынешнего применения языка Си с ассемблерными вставками и продвижения языка Rust. Изначально тема разработки ядра на C++ была поднята в 2018 году инженером из Red Hat, который первого апреля в качестве шутки опубликовал набор из 45 патчей для использования шаблонов, наследуемых классов и перегрузки функций C++ в коде ядра.
С инициативой продолжения обсуждения выступил Ганс Питер Анвин (Hans Peter Anvin), один из ключевых разработчиков ядра в компании Intel и создатель таких проектов как syslinux, klibc и LANANA, разработавший для ядра Linux систему автомонтирования, реализацию RAID 6, драйвер CPUID и x32 ABI. По мнению Анвина, который является автором многочисленных макросов и ассемблерных вставок в ядре, с 1999 года языки C и C++ значительно продвинулись вперёд в своём развитии и язык C++ стал лучше, чем С, подходить для разработки ядра операционных систем.
Возможности, для которых ещё недавно приходилось привлекать специфичные GCC-расширения, теперь легко реализовать на стандартном C++, и во многих случаях использование C++ позволит улучшить инфраструктуру без глобального изменения кода. В качестве минимальной упоминается использование спецификации C++14, которая включает необходимые средства метапрограммирования, а в качестве желаемой - использование спецификации C++20, в которой появилась поддержка концепций, способных исключить появление многих ошибок.
Анвин считает, что C++ более предпочтителен, чем Rust, так как последний существенно отличается от языка С по синтаксису, непривычен для текущих разработчиков ядра и не позволяет постепенно переписывать код (в случае языка С++ можно по частям переводить код с языка C, так как С-код можно компилировать как C++). В поддержку использования С++ в ядре также выступили Иржи Слаби (Jiri Slaby) из компании SUSE и Дэвид Хауэллс (David Howells) из Red Hat.
>>> Подробности
6 декабря состоялся выпуск 3.28 кроссплатформенной системы сборки CMake, написанной на языке C++ и распространяемой по лицензии BSD-3.
( читать дальше... )
Состоялся корректирующий выпуск 3.6.2 интерактивной командной оболочки fish с исправлением уязвимости CVE-2023-49284.
fish shell
использует некоторые символы Unicode для внутренней маркировки подстановочных знаков и расширений. Этот неправильный подход позволял читать эти символы в выводе подстановки команд, вместо того чтобы преобразовать их в безопасное внутреннее представление.
Хотя это может вызвать неожиданное поведение при прямом вводе (например, echo \UFDD2HOME
имеет тот же вывод, что и echo $HOME
), это может стать незначительной проблемой безопасности, если вывод подается из внешней программы в подстановку команд, где такой вывод может не ожидаться.
Этот недостаток дизайна появился в самых ранних версиях fish
, ещё до появления системы контроля версий, и, как считается, присутствует в каждой версии fish
, выпущенной за последние 15 лет или более, хотя и с разными символами.
Выполнение кода не представляется возможным, но DoS-атака (через раскрытие большого количества скобок) или раскрытие информации (например, через расширение переменных) потенциально возможны при определенных обстоятельствах.
В версии 3.6.3 исправлены только тесты.
>>> Подробности
После более трёх месяцев разработки состоялся выпуск 4.7.0 редактора документов LaTeX TeXstudio, написанного на языке C++ с использованием фреймфорка Qt (поддерживаются версии 5 и 6).
( читать дальше... )
>>> Подробности
Представляю Вашему вниманию разработанную мной первую версию мультимедийной библиотеки Little DirectMedia Layer, сокращённо LDL.
Библиотека написана на С++ 98 стандарта, что позволяет компилировать ее начиная с Visual C++ 6.0. Код распространяется на условиях Boost Software License 1.0. Но библиотека не ограничивает программистов в выборе стандарта языка C++, программист может использовать любой современный стандарт языка. Я придерживаюсь философии downgrade — это использование старых устройств и софта в повседневной жизни, когда компании не поддерживают свои же «устаревшие» операционные системы или устройства, увеличивая с каждой новой версией своего продукта системные требования, или прекращают поддержку девайса. Миллиарды устройств по всему миру ежесекундно перемалывают миллиарды инструкций неоптимизированного кода.
В этом году я выступил на конференции С++ 2023 с докладом «Вперед в прошлое, или Разрабатываем фреймворк под Windows 95 в 2023 году».
Своим проектом я хочу доказать, что старое железо еще может приносить пользу и его рано списывать в утиль. Есть что-то чарующее в старых технологиях, подходах и железках, а еще это вызов новым библиотекам и программам.
В самом начале процесса разработки я и не предполагал, что данная библиотека вообще возможна. Но при практической реализации прототипа, добавляя строчку за строчкой в фундамент будущей библиотеки, убеждался в возможности ее создания и практическом применении.
Резюмируя вышесказанное, возможно писать быстрые программы, нужно просто воспользоваться знаниями древних.
Возможности библиотеки:
Планы на будущее:
Ссылки:
>>> Подробности
Состоялся выпуск 9.0.0 библиотеки libzim, написанной на языке C++ и предназначенной для работы с файлами в формате ZIM. Разработка библиотеки ведётся и спонсируется проектом Kiwix.
ZIM — формат файла, предназначенный для офлайн-хранения информации, полученной из Web, в виде одного файла. В ZIM-файле в сжатом виде находятся логически связанные между собой html-страницы (а иногда и образы сайтов целиком) с работающими гиперссылками, изображениями, звуком и видео.
Проектом Kiwix разрабатывается набор консольных утилит zim-tools, десктопный и мобильные клиенты, и скрипты для создания файлов ZIM из дампов проектов Wikimedia или из HTML.
( читать дальше... )
>>> Подробности
Сегодня, в день 20-летия SAIL — библиотеки декодирования изображений для C/C++ — вышел релиз 0.9.0.
Демонстрационный скриншот: https://sail.software/demo.webp
Ключевые особенности:
Самый неглубокий уровень погружения - junior, где возможно загрузить только один фрейм с помощью двух строчек кода:
struct sail_image *image;
SAIL_TRY(sail_load_from_file(path, &image));
Самый глубокий уровень погружения — загрузка анимированных или многостраничных изображений из нестандартных источников (не файла или памяти).
>>> Подробности
← предыдущие | следующие → |