LINUX.ORG.RU

Rust


248

19

Всего сообщений: 119

hyperfine 1.19.0

hyperfine 1.19.0
Группа Open Source

Состоялся выпуск 1.19.0 кроссплатформенной (Linux, MacOS, Windows) консольной утилиты hyperfine, написанной на языке Rust и распространяемой по лицензиям Apache-2.0 и MIT. Утилита предназначена для сравнения производительности других консольных утилит.

Список изменений:

  • добавлена опция --reference <cmd> позволяющая вручную указать команду <cmd>, с которой будут сравниваться результаты выполнения других команд;
  • добавлена опция --conclude <cmd>, выполняющая команду <cmd> после выполнения измеряемой команды;
  • команда --output= может быть задана для каждой команды;
  • переменная окружения $HYPERFINE_ITERATION теперь содержит текущий номер итерации для каждой команды бенчмарка;
  • в сообщение об ошибке добавлена информация об итерации;
  • в скрипт plot_histogram.py добавлена возможность позиционирования легенды графика на диаграмме. Выходной DPI графика установлен в 600 DPI;
  • улучшен скрипт plot_whisker.py;
  • исправлена ошибка отображения примерного времени выполнения в эмуляторах терминала с блочным курсором;
  • исправлено автодополнение zsh;
  • добавлена сборка aarch64-apple-darwin;
  • различный рефакторинг кода.

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

 , , , ,

dataman
()

Текстовый редактор Zed теперь официально поддерживает Linux

Группа Open Source

Написанный на языке Rust и использующий аппаратное ускорение рендеринга UI текстовый редактор Zed теперь поддерживает Linux. Команда разработчиков Zed начала выпускать официальные сборки этого редактора, которые должны работать на большинстве современных Linux систем. Для установки редактора предлагается запустить команду curl https://zed.dev/install.sh | sh.

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

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

 , , ,

zg
()

Майский отчёт по разработке микроядерной ОС Redox на Rust

Группа Linux General

3 июня разработчики ОС Redox опубликовали ежемесячный публичный отчёт о прогрессе в разработке за май 2024.

  • COSMIC. Джереми Соллера (разработчик из System76, а так же разработчик COSMIC в Redox, ссылка на персональный гитхаб) занимался заменой компонентов с Orbital на собственные COSMIC-аналоги, и теперь COSMIC-файлы, COSMIC-редактор и COSMIC-терминал являются постоянной частью рабочего стола Redox:

    У нас все еще есть несколько ошибок при выходе из приложений, но в остальном они работают без сбоев и выглядят великолепно!

  • Обновление инструментария. Собственная ветка Rust была обновлена ​​до версии от 11 мая 2024 г. Исправлено множество проблем с программами, требующими последней версии Rust.
  • Улучшения самостоятельного хостинга. Порт компилятора Rust был обновлен для соответствия версии собственного кросс-компилятора Rust.
  • Обновлён собственный порт LLVM.
  • Обновление Mesa3D. Собственная ветка Mesa3D была обновлена ​​до последней стабильной версии 24.0.8.
  • Программная часть. Одним из участников разработки, Риббоном (Ribbon, ссылка на персональный гитхаб), упаковано больше программ, утилит и инструментов Cargo.

Для справки: Redox это unix-подобная микроядерная операционная система, написанная на языке программирования Rust с акцентом на безопасность и высокую производительность. При разработке использовался опыт таких ядер и операционных систем, как SeL4, Minix, Plan 9 и BSD. В качестве цели ставится создание экосистемы, похожей на GNU или BSD, но создаваемой на безопасном для памяти языке и с использованием актуальных для 2010-х годов технологий. Среди сопутствующих компонентов особо выделяются:

  • микроядро, выполненное по типу ядра MINIX;
  • библиотека Newlib для программ на Си (аналог glibc);
  • драйверы работают в пространстве пользователя;
  • имеется опционально включаемый GUI — Orbital;
  • Ion shell — базовая библиотека для оболочек и выполнения команд в Redox, а также оболочка по умолчанию;
  • файловая система TFS, аналог ZFS;
  • пакетный менеджер Magnet;
  • менеджер памяти Ralloc.

Проект существует и активно развивается с 2015 года, распространяется по лицензии MIT.

>>> Подробности на официальном ресурсе разработчиков

 , ,

NeTC
()

fd 10.0.0 и bfs 3.2

fd 10.0.0 и bfs 3.2
Группа Open Source

Состоялся выпуск 10.0.0 консольной утилиты поиска файлов fd, написанной на языке Rust и распространяемой по лицензиям MIT и Apache 2.0.

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

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

 , , , ,

dataman
()

StringZilla 3.8.1

Группа Разработка

StringZillaSIMD- и SWAR-оптимизированная библиотека для C++ (с биндингами для языков C, JavaScript (модуль Node.js), Python, Rust и Swift) для быстрых строковых операций: поиск подстрок и набора символов (прямой и обратный), сортировка, расстояние Левенштейна, расстояние Хэмминга и других. Однако, функциональность не одинакова для всех языков.
Проект распространяется по лицензии Apache-2.0.

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

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

 , , , ,

dataman
()

Taskwarrior 3.0.0

Группа Open Source

25 марта 2024 года вышел долгожданный Taskwarrior 3.0.0.

Taskwarrior — продвинутый менеджер задач и планирования времени для командной строки (также доступны GUI-фронтэнды, библиотеки и дополнения).

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

>>> Подробности (github)

 , , ,

hobbit
()

hyperfine 1.17.0

Группа Open Source

После более двух месяцев разработки состоялся выпуск 1.17.0 кроссплатформенной (Linux, MacOS, Windows) консольной утилиты hyperfine, написанной на языке Rust и распространяемой по лицензиям Apache-2.0 и MIT.
Утилита предназначена для сравнения производительности других консольных утилит.

Список изменений:

  • добавлен параметр --sort, используемый для сортировки результатов сравнения относительной скорости и экспорте;
  • неиспользуемые параметры теперь отображаются в круглых скобках;
  • в скрипт scripts/plot_histogram.py вывода результатов в виде гистограмм добавлена опция --log-count;
  • обновлена документация (man);
  • исправлена ошибка вывода промежуточных результатов в stdout при использовании - в качестве имени файла;
  • исправлено падение при экспорте, если время бенчмарка равнялось нулю.

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

 , , , ,

dataman
()

В GCC добавлена поддержка Modula-2 и планируется включение Rust

Группа Open Source

В основной состав GCC принят фронтэнд m2 и библиотека libgm2, позволяющие использовать штатный инструментарий GCC для сборки программ на языке программирования Modula-2. Поддерживается сборка кода, соответствующего диалектам PIM2, PIM3 и PIM4, а также принятому ISO-стандарту для данного языка. Изменения включены в ветку GCC 13, релиз которой ожидается в мае 2023 года.

Modula-2 разработан в 1978 году Никлаусом Виртом, продолжает развитие языка Pascal и позиционируется как язык программирования для высоконадёжных промышленных систем (например, применяется в ПО для спутников ГЛОНАСС). Modula-2 является предшественником таких языков, как Modula-3, Oberon и Zonnon. Помимо Modula-2 в состав GCC включены фронтэнды для языков C, C++, Objective-C, Fortran, Go, D, Ada.

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

>>> Подробности (OpenNet)

 , ,

LongLiveUbuntu
()

Linux 6.1

Linux 6.1
Группа Ядро Linux

Линус Торвальдс после двух месяцев разработки выпустил стабильную версию ядра Linux версии 6.1.

В новой мажорной версии ядра с кодовым названием «Hurr durr I’ma ninja sloth» представлена экспериментальная (но пока очень базовая и неприменимая в реальных случаях использования) поддержка языка программирования Rust для разработки модулей и драйверов.

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

Окончательно удалена поддержка a.out.

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

 , ,

Dimez
()

RustCon 2022 — конференция по языку программирования Rust

Группа Конференции и встречи

Привет всем! Второго декабря, в Москве, пройдет второй RustCon — конференция для тех, кто пишет на языке Rust, и для тех, кто только приглядывается к нему. И сразу хорошая новость — в этом году RustCon пройдет одновременно в офлайн и онлайн-форматах! Что мы готовим:

Продвинутые доклады Крутейшие спикеры будут весь день делиться опытом и рассказывать о своих кейсах в Rust-разработке. Поговорим о новых технологиях и методах, поищем оптимальные решения типичных задач, обсудим перспективы языка (до сих пор не утихают споры!).

Воркшопы Потрогаем код руками и вживую освоим несколько классных приемов программирования на Rust.

Нетворкинг Разработчиков Rust трудно встретить в «естественной среде обитания», а на конференции можно будет познакомиться и пообщаться в неформальной обстановке со всеми заинтересованными лицами: спикерами, слушателями, участниками и представителями компаний, где уже пишут на Rust или собираются запускать проекты на нем.

По промокоду linux.org действует скидка 10 % на билет.

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

 , , ,

it-people
()

Линус Торвальдс запланировал внедрение Rust в Linux 6.1

Группа Ядро Linux

Создатель ядра Linux и координатор его разработки Линус Торвальдс объявил на Kernel Maintainers Summit, что в Linux 6.1 будет доступно программирование модулей на Rust — «если не произойдёт ничего незапланированного».

Причиной включения Rust в ядро Торвальдс назвал более высокую безопасность языка (за счёт снижения числа ошибок работы с памятью) и его привлекательность для молодых разработчиков:

Rust - это одна из тех вещей, которые, как я думаю, привлекут новые лица… мы стареем и седеем…

Также опубликована начальная реализация драйвера rust-e1000 для Ethernet-адаптеров Intel. А компания Western Digital разрабатывает на Rust драйвер для NVMe-накопителей. Хотя драйвер ещё не оптимизирован, он не отстаёт в производительности от имеющегося ядерного драйвера на языке Си.

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

 , , ,

alex1101
()

grex 1.4.0 — генератор регулярных выражений

grex 1.4.0 — генератор регулярных выражений
Группа Разработка

Обновилась утилита для создания регулярных выражений — grex 1.4.0. В новой версии исправлены ошибки, обновлена поддержка Unicode 14, крупным изменением стала возможность компиляции в WebAssembly и теперь grex можно использовать в браузере и Node.js (автор собрал NPM-пакет).

Посмотреть работу grex без установки можно на демо-странице: https://pemistahl.github.io/grex-js/

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

 , ,

dotcoder
()

Онлайн-вечеринка «виртПиво v5» — четверг 26 мая в 7 вечера по Москве

Онлайн-вечеринка «виртПиво v5» — четверг 26 мая в 7 вечера по Москве
Группа Конференции и встречи

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

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

Разумеется, мы собираемся не только «пить чай» и веселиться, но и поговорить и узнать больше о крутых опенсорсных проектах из «низкоуровневого мира». Например:

  • порт БИОСа coreboot для свежей матплаты MSI PRO Z690-A DDR4 от компании 3mdeb - см. новость «Сoreboot портирован на материнскую плату для Intel Alder Lake» - и результаты его тестирования пользователями защищённой ОС QubesOS ;
  • RustSBI - супервизор для RISC-V на 100%-ом Rust'е;
  • qspimux - переходник для безопасной удалённой перепрошивки чипа SPI-Flash без его отключения от матплаты;
  • lnDSO150 - прошивка для популярных карманных осциллографов DSO;
  • bcm5719-fw - прошивка для сетевой карты Broadcom BCM5719;
  • swtpm - программный эмулятор Trusted Platform Module и способы его использования;
  • TrenchBoot - фреймворк из связки проектов, призванный повысить безопасность процесса загрузки прошивки.

Надеюсь, и эта встреча окажется не менее увлекательной чем прошлые, которые продлились по 10-12 часов ;-) Вас ждут увлекательные разговоры об открытых прошивках, свободном железе и приятный вечер в уютной компании за чашкой чая. Приходите, мы ждём вас!

>>> Ссылка на онлайн-вечеринку

 , , , ,

SakuraKun
()

SixtyFPS становится Slint

Группа Open Source

Slint — это набор инструментов для разработки графических пользовательских интерфейсов, подходящий как для встраиваемых устройств, так и для настольных приложений. Имеется поддержка Rust, C++ и JavaScript.

Исходный код Slint написан на Rust. На выбор предлагаются лицензия GPLv3 и альтернативные варианты для проприетарных проектов.

Проект основали Olivier Goffart и Simon Hausmann, которые участвовали в разработке KDE и работали в Trolltech над Qt. Разработка началась весной 2020 года под названием SixtyFPS, что символизировало плавные анимации со скоростью 60 кадров в секунду, но под напором советчиков было принято решение переименовать проект в Slint, что можно расшифровать, как Straightforward, Lightweight, Native Toolkit (простой, легковесный, нативный набор инструментов).

Для описания интерфейса используется специально созданный декларативный язык разметки Slint, который частично был вдохновлён Qt QML. Язык является строго типизированным, с удобной для дизайнера системой измерений и хорошим инструментарием. Для написания бизнес-логики может использоваться Rust, C++ или JavaScript. Для этих языков было разработано интуитивное и идиоматичное API. Язык разметки Slint транслируется в код на Rust или C++, что обеспечивает высокую производительность. Также можно загружать .slint-файлы во время выполнения программы с помощью интерпретатора.

Инструментарий включает реализацию LSP для языка разметки Slint, которая интегрируется с различными средами разработки и редакторами и обеспечивает автодополнение, семантическую подсветку синтаксиса и предпросмотр.

Демонстрационные примеры можно запустить в браузере по ссылке https://slint-ui.com/#demos

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

 , ,

Legioner
()

RustCon Contest 2021

Группа Конференции и встречи

RustCon Contest — индивидуальные соревнования по программированию на языке Rust, которые пройдут с 12 октября по 15 ноября 2021 года. Присоединиться можно в любой момент.

Соревнование состоит из двух частей. Первая часть — решение задач на языке Rust. Вторая — Open-source contribution contest. Участвовать можно как в одной части, так и в обеих. Первая часть создана специально для новичков, а вторая — для разработчиков на Rust со стажем.

Победитель любой части получит билет на RustCon, бейдж победителя и фирменный мерч.

Занявшие второе место получат билет на RustCon.

Занявшие третье место получат скидку на билет 30 % и фирменный мерч RustCon.

Всем участникам даётся скидка 10 % на билет на RustCon.

>>> Правила и регистрация

 ,

it-people
()

RustCon Russia — конференция по языку программирования Rust

Группа Конференции и встречи

RustCon — конференция для тех, кто пишет на Rust, и тех, кто им интересуется.

Конференция пройдёт 3 декабря в Москве.

В программе: 8 докладов, мастер-класс «начинаем embedded на Rust», погружение в rust-тусовку, обед и кофе-брейки.

Некоторые из тем:

  • Rust и Python — как в небольшой команде просто, прозрачно и с минимальными трудозатратами переписать узкие места на Rust (и почему не C++);
  • под капотом у процедурных макросов (доклад про «кишки» rustc и низкоуровневые особенности процедурных макросов);
  • неочевидные прелести Rust.

По промокоду linux.org действует скидка 10 % на билет.

>>> Программа и билеты

 

it-people
()

Rust 1.55.0

Rust 1.55.0
Группа Разработка

Команда Rust рада объявить о новой версии языка программирования Rust, 1.55.0!

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

  • Cargo теперь дедуплицирует ошибки компилятора.
  • Ускорен и исправлен парсинг чисел с плавающей точкой по алгоритму Eisel-Lemire.
  • Обновлены варианты для std::io::ErrorKind.
  • Добавлены шаблоны открытого диапазона. (Подробности.)
  • Стабилизированы многочисленные API.

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

 ,

umren
()

Корректирующий выпуск Firefox 91.0.1

Группа Mozilla

Почти сразу после релиза Firefox 91 вышла новая версия браузера, в которой появились важные баг-фиксы и изменения:

  • Исправлена уязвимость (CVE-2021-29991), касающаяся как браузера Firefox так и Thunderbird, с помощью которой было возможно провести атаку по разделению HTTP-заголовков. Проблема вызвана некорректным принятием символа перевода строки в заголовках HTTP/3, что позволяет указать заголовок, который будет принят как два разных заголовка.
  • Исправлен баг, из-за которого менялась высота табов при использовании математических символов.
  • Исправлена проблема, приводящая к отображению вкладок из окон, открытых в приватном режиме, в обычных окнах при просмотре рекомендаций в адресной строке.

Также объявлено о главном изменении в грядущей 92-й версии, которая должна будет выйти 7-го сентября. Разработчики планируют включить опцию WebRender для всех пользователей по умолчанию (касается всех платформ: Linux, MacOS, Windows и Android), а уже в версии 93 отключить WebRender станет невозможно, опции gfx.webrender.force-legacy-layers и MOZ_WEBRENDER=0 будут убраны.

WebRender написан на языке Rust и позволяет добиться существенного увеличения скорости отрисовки и снижения нагрузки на центральный процессор за счёт выноса на сторону видеокарты операций отрисовки содержимого страницы, которые реализованы через выполняемые в GPU шейдеры. Для систем со старыми видеокартами или проблемными графическими драйверами в WebRender будет использован режим программной растеризации gfx.webrender.software=true.

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

 , , , ,

claire
()

Google профинансирует работу над Rust for Linux

Группа Open Source

Компания оплатит год работы Мигеля Охеда (Miguel Ojeda) над его проектом Rust for Linux. Работа будет вестись в рамках проекта Prossimo под эгидой организации ISRG (Internet Security Research Group) — учредителя проекта Let's Encrypt.

По данным Microsoft около 70% всех уязвимостей, описанных в CVE, вызваны небезопасной работой с памятью. Написание на Rust таких компонентов, как драйверы устройств, может снизить риск появления уязвимостей.

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

 , ,

LikeABoss
()

Линус Торвальдс раскритиковал Rust в ядре

Группа Linux General

Линус Торвальдс критикует использование Rust в ядре. Причины: возможность panic(), неделимость библиотеки и соответственно опасные попытки использования 128 bit типов (в ядре запрещено), бесполезность предложенных примеров драйверов.

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

 ,

anonymous
()