LINUX.ORG.RU

Избранные сообщения Siborgium

Я нашёл клаву своей мечты

Форум — Talks

Спешу поделиться радостью – я наконец нашёл клавиатуру, которая удовлетворяет все мои хотелки: механика, полноразмерная (105 ANSI), классическая компоновка (а не всякая сплит/ортолинейная чушь), стильно выглядящая, возможность проводного подключения, ну и с Bluetooth и возможностью привязываться и переключаться между несколькими девайсами.

Встречайте победителя – Mistel X-VIII gloaming с коричневыми свитчами черри. Пользуюсь больше недели, полёт нормальный.

До этого была Anne Pro 2 с коричневыми гатеронами которая была почти тем, что мне нужно, но она:

  1. 60% и моим пальцам это не понравилось,

  2. Гатероны шлак по сравнению с черри,

  3. Глючная прошивка, с которой иногда происходили странные вещи, вроде залипания клавиш.

 ,

cocucka
()

Haiku на RISC-V плате HiFive Unmatched и ЛОРом в NetSurf

Галерея — Скриншоты

Сегодня открылся ЛОР в NetSurf в Haiku RISC-V.

С начала этого года делаю порт свободной UNIX-like операционной системы Haiku на процессорную архитектуру RISC-V (64 бит) (подробнее: My Haiku RISC-V port progress, My progress on real RISC-V hardware). Сейчас система уже неплохо работает на реальном RISC-V железе HiFive Unmatched, есть графика, сеть WiFi, поддержка многоядерности (SMP), пакеты портов собираются на самом железе, работает воспроизведение видео.

RISC-V — полностью открытая и свободная от каких либо отчислений процессорная архитектура, конкурирующая с ARM. Архитектура довольно новая и свободная от легаси вроде четырёх несовместимых наборов команд в ARM, разных MMU, и т.п.. Также архитектура очень простая и выразительная: я написал дизассеблер за два дня и минимально работающий порт Haiku за несколько недель. Для Haiku это первый рабочий порт на не x86-совместимую архитектуру. Остальные порты находятся в зачаточном состоянии без рабочего userland более 10 лет.

Компания SiFive производит открытые ядра RISC-V и готовые платы с полностью открытым программным обеспечением включая драйверы и прошивки. Я использую плату HiFive Unmatched. На плате есть шина PCIe так что можно использовать многие существующие драйвера Haiku без изменений.

Железо выглядит как-то так: раз, два.

Используемое железо:

  • Мат. плата: HiFive Unmatched.
  • Диск: Silicon Power SSD 256GB 3D TLC NAND M.2 2280 PCIe3.0×4 NVMe1.3 P34A60
  • Сеть: Intel AC 9260 M.2 WiFi
  • Видеокарта: AMD Radeon R7 250

>>> Просмотр (1920x1080, 263 Kb)

 , ,

X512
()

Pipewire - неизбежная... победа!

Форум — Multimedia

Есть snap, flatpak, wayland. Вроде хорошее дело, но - они добавляют изоляцию между приложениями, и такие штуки как jack, pulseaudio уже не могут работать как раньше. Надо что-то решать. И тут появляется надежда - pipewire. Но надежда ложная, потому что это катастрофа!

Нет, надежда все-таки есть.

Вот мои претензии (которые в итоге разрешились):

1. Обязательный ресемплинг. Как известно, pulseaudio поддерживало две частоты дискретизации микшера - основную и альтернативную. Это позволяло, в случае воспроизведения например только музыки со spotify переключать микшер на частоту дискретизации потока и УБРАТЬ ресемплинг! Если воспроизводит только одно приложение, ресемплинга быть НЕ ДОЛЖНО! Потому что он не нужен. Pipewire не позволяет, и похоже что реализовать это в той архитектуре, которую заложили, будет весьма непросто. На практике он всегда делает ресемплинг и всегда портит звук.

Последняя версия pipewire поддерживает до 16 значений частоты дискретизации и будет переключаться на нужную, когда это возможно.

Переключение РАБОТАЕТ уже сейчас, на версии из Git! На релизе 0.3.33 у меня не работает.

КАК СДЕЛАТЬ:

В pipewire.conf пишем:

default.clock.rate          = 48000
default.clock.allowed-rates = [ 44100, 48000 ]

Можно перечислить в allowed-rates до 16 значений. Все!

ТЕПЕРЬ - если воспроизведения не было, и запустить на воспроизведение ОДНО приложение, pipewrire будет переводить себя и звуковую карту на частоту дискретизации этого приложения, и ресемплинга НЕ БУДЕТ.

2. При работе с jack клиентами может меняться размер буфера. Занавес! То есть я играю на гитаре, и тут мне меняют размер буфера? А ничего что это приведет к слышимому и чувствуемому изменению задержки звука? Как играть??? Так НЕЛЬЗЯ ДЕЛАТЬ, а надо делать ровно наоборот. Я уже молчу про то, что изменение на лету размера буфера может просто крашануть jack приложение, которое такого бреда не ожидало!

3. Для того, чтобы вообще хоть как-то задать размер буфера для jack клиентов, надо запускать приложение с переменной окружения PIPEWIRE_LATENCY. То есть мне теперь все приложения из консоли стартовать? Или все desktop файлы править? С настоящим jack это решается элементарно - программой управления типа qjackctl. Там просто выбирается какой буфер, и все приложения используют его. Должно быть ВОТ ТАК.

Решение:

pw-metadata -n settings 0 clock.force-quantum <size>

устанавливает фиксированный размер буфера.

Или в jack.conf:

node.lock-quantum = true

4. Нельзя нормальным образом поменять частоту дискретизации при работе с jack клиентом. Используется та, на которую настроен pipewire своим конфигом. С нормальным jack частота просто выбирается в qjackctl. А с pipewire что, мне править конфиг и перезапускать его, или как?

Решение, можно менять на лету:

pw-metadata -n settings 0 clock.force-rate <samplerate>

В итоге, имеем огромные практически нерешаемые проблемы на уровне архитектуры, из-за которых pipewire идет в противоположную от нужной сторону.

Последний релиз и коммиты, которые делаются прямо сейчас показывают, что развитие пошло именно в нужную сторону.

 , ,

James_Holden
()

А существует ли какой-нибудь сервис для распознавания растений по фотографии?

Форум — Talks

Сабж. Чтоб ему фотку, а оно возвращало биологический вид на латинском, в биномиальной номенклатуре. Линукс тут при том, что хотелось бы с открытыми исходниками и под свободной лицензией.

 , ,

Harald
()

ranger_udisk_menu

Форум — General

Сделал простенькую программку для файлового менеджера ranger для управления монтированием разделов и дисков с интерфейсом на ncurses. Очень неудобно было это всё делать руками, а подобного уже готового не нашёл. Странно, что это не было реализовано искаропки.

Github: https://github.com/SL-RU/ranger_udisk_menu

Скриншот

 , ,

SL_RU
()

sylpheed на gtk3

Форум — Desktop

год назад прогнал - sylpheed на gtk3

но, тем не менее, пацан сказал, пацан сделал - https://github.com/v1cont/yam

до идеала, конечно, еще далеко, но тем не менее, кому интересно - попрорбуйте

 , ,

ananas
()

Самоудалёнка на чердаке

Галерея — Рабочие места

Добрый день/ночь, давно не выкладывал ничего личного на всеобщее обозление. Вот так выглядит моё рабочее место в деревне. Рабочий комп справа. FX-8350, Asus Sabertooth. До эпидемии он жил в городе, как и другие мои домашние числодробилки, в настенном исполнении. Слева гибрид t60 и t61 (T9300). На обоих Gentoo. Ещё левее кусок ноута HP 650, на котором жена занимается вёрсткой, на столе слева стоит монитор к нему, но он не влез в кадр. Принтер какой-то Самсунг. Над нами ещё один чердачок, там стоят сервера с фильмами и никакого вайфая. Оба на платках GA-C1037UN-EU, винты WD на 3 и 4Тб.

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

Ладно, всем привет, не болейте, не скучайте. Пойду грядки вскапывать.

>>> Просмотр (4000x3000, 4153 Kb)

 , , ,

WerNA
()

Релиз читалки Foliate 2.2.0

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

Вышла новая версия Foliate — читалки электронных книг на GTK.

В этой версии добавлена поддержка следующих форматов:

  • FictionBook (.fb2, .fb2.zip);
  • Comic book archive (.cbr, .cbz, .cbt, .cb7);
  • Plain text (.txt);
  • Unpacked EPUB files.

Кроме этого:

  • добавлена опция для установки максимальной ширины страницы;
  • при просмотре библиотеки показываются недавно открытые книги и прогресс чтения;
  • добавлен поиск книг по метаданным;
  • добавлена поддержка OPDS*;
  • улучшения в просмотрщике изображений, озвучке текста, аннотациях.

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

 , , , ,

anonymous
()

Переехал на кучу утилит переписаных на Rust

Форум — Talks

Тег «угадай автора по заголовку».

Q: Зачем?

A: Ради эксперимента, повысится комфорт пользования терминалом или нет.

Q: Причем тут Rust?

A: Ни при чем, но из-за нативности и отсутствия GC на нем толпа людей побежала переписывать что ни попадя. С таким же успехом можно было бы и npm install, но тормозило бы. Ближе opam install или go get

Теперь мой терминал по истине свистит и пердит. Даю список если кому надо.

  • alacritty - GPU ускоренный терминал.
  • alias cat=bat- cat с хорошей подсветкой синтаксиса и нумерацией строк и пейджером.
  • broot - навигатор по каталогам, который одновременно показывает дерево, но адекватно себя ведет с громадными каталогами, показывая их по чуть-чуть.
  • dust - утилита для исследования места занимаемого каталогами, сортирует деревья файлов начиная с самых больших каталогов.
  • alias ls="exa -l --group-directories-first" ls с хорошими дефолтами, tree встроено.
  • rip Утилита для удаления файлов с разными удобными фичами и восстановлением
  • hors "How do I parse float in javascript?" - находит короткий ответ в интернетах и отвечает. Чуть лучше работает чем оригинал - howdoi.
  • mdcat - cat для Markdown, для отображения удобочитаемой формы документа. Ссылки делает сносками.
  • alias grep=rg - очень быстрый и удобный grep
  • starship - shell command prompt, показывает кучу полезной информации в зависимости от контекста, например git branch если в репозитории, версии софта и ЯП если в каталогах с сорцами, hostname если зайти по ssh.
  • tokei - сборщик статистики по ЯП и строкам кода в деревьях исходников.
  • hyperfine - бенчмарк утилита, time на стероидах.
  • tldr- сокращенная версия man, показывает как чем пользоваться в примерах, а не выдавая полную справку. Страницы поддерживаются сообществом для громадного количества утилит. Изначальный проект - https://tldr.sh/
  • topgrade - универсальная утилита обновления. При запуске пытается обновить все что видит - системные пакеты, vim пакеты и так далее.
  • runiq - быстрый sort | uniq с разными алгоритмами внутри.
  • fd - быстрый и удобный find, удобно чтобы не вспоминать заковыристые ключи
  • fselect - поисковик файлов с SQL-like языком запросов
  • sd - как sed, только интуитивный
  • i3status-rs - Сразу i3status+i3blocks. Плюс батарейки к i3blocks, которые как я понял автор решил убрать.
  • onefetch - Вроде neofetch, но для сорцов. Просто запустите эту штуку с корня любого git репа, клонированого локально
  • wasmtime - JIT runtime для WASI стандарта. Пускалка WebAssembly приложений.
  • scriptisto - «shebang-интерпретатор» для компилируемых языков, прозрачно собирает и кеширует нативные сборки кода

Что не зашло совсем

Все вышеперечисленое ставится через cargo install <package_name> (кроме alacritty), название смотрите на страницах. Сам cargo и Rust ставятся через

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

P.S. Призываю остальных взять ЯП вашей секты и поставить такой эксперимент и отписаться. Да-да, расскажите как вы пользовались ls на Java. Пользователей emacs прошу не беспокоить

 , , ,

vertexua
()

Фабрис Белар выложил движок JavaScript

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

Французский математик Фабрис Белар (Fabrice Bellard), более известный работой над ffmpeg, qemu, tcc и вычислением числа Пи, выложил в открытый доступ QuickJS — компактную реализацию JavaScript в виде библиотеки на языке C.

  • Почти полностью поддерживает спецификацию ES2019.
  • В том числе математические расширения.
  • Проходит все тесты ECMAScript Test Suite.
  • Нет зависимостей от других библиотек.
  • Малый размер статически линкуемой библиотеки — от 190 KiB на x86 для «hello world».
  • Быстрый интерпретатор — проходит 56000 тестов ECMAScript Test Suite за ~100 с на 1 ядре настольного ПК. Накладные расходы на цикл запуска и остановки < 300 мкс.
  • Может компилировать исходные файлы на JavaScript в исполняемые файлы без внешних зависимостей.
  • Может компилировать исходные файлы на JavaScript в WebAssembly.
  • Сборщик мусора со счётчиком ссылок (детерминированный, с малым потреблением памяти).
  • Интерпретатор командной строки с цветной подсветкой синтаксиса.

Согласно тестам производительности из обсуждения на Opennet.ru, скорость QuickJS в тестах в 15-40 раз меньше, чем у Node.js.

>>> Сайт автора

 

question4
()