LINUX.ORG.RU

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

А у вас все работает идеально?

Форум — Talks

Субботнее размышление под вискарем.

Наша жизнь многогранна, но так или иначе львиная ее доля происходит в контакте с техникой, чаще всего даже цифровой, а у нас с вами, имею в виду ЛОР - не только в контексте потребления, но еще и в контексте созидания\изменения.

Словил себя на мысли, что не проходит и дня, чтобы то что должно сработать - не срабатывает.

Бачок унитаза. Круглая резинка надевается на круглую трубку, и вставляется в круглое отверстие, чтобы не течь. Течет. Достаем, обкручиваем паклей, смазываем, короче колхозим.

3D-принтер. Заводское сопло, вкрученное в заводской хотенд, надетый на заводской экструдер, куда входит заводской PLA, печатающий с температурой написанной на бобине, и параметрами установленными производителями. Забивается сопло. Выкручиваем, чистим, ставим, снижаем температуру ниже чем написано на бобине.

Дверь. Измеряем длину, измеряем высоту, крутим петли, ставим чтобы закрывалось. Не закрывается. Высота в одной стороне на 2 мм выше, чем высота на другой стороне. Подпиливаем, поднимаем, опускаем, короче колхозим.

Автоматическая кофе-машина. Ставим чашку, нажимаем кнопку, оно мелет кофе, всасывает воду, понимает что воды недостаточно, отменяет чашку кофе, и рапортует что воды нет. Вы мрази не могли повешать датчик на пять сантиметров выше, чтобы воды оставалось как минимум на чашку? Выливаем, доливаем, засыпаем заново.

Мышка. Прокручиваем колесико вниз, скролл делается один вниз, пять вверх. Че, нельзя было поставить нормальный оптический энкодер, ценой аж на 25 центов дороже механического? Заказываем новую.

Компьютер. Выключился. Точнее как оказалось, потух. Сперва не сообразил, потом понял. Системный блок предназначенный для вертикальной установки, поставил вертикально на ковролин. Вентиляционные отверстия перекрылись, кулер гоняет горячий воздух. Вы кретины не могли сделать резинки выше на 2 см, или поставить кулер на боковую панель?

Сенсорный выключатель. Не выключается когда работает гибридный инвертор. И на том и на другом написано «220» и стоят заводские пломбы. О том что выключатель не работает с инверторами, или инвертор с выключателями - нигде не написано.

ESP32C3 mini. Дырка USB Type-C. Комплектный шнур. USB-гнездо в котором работает всё. В 40% заливки скетча - A serial exception error occurred: Write timeout. Перетык, перезалив.

Работа. Миграция. Простой домен, Plesk и там и там. Кнопка «Получить сертификат» (от LetsEncrypt) возвращает ошибку, потому что видите ли у домена есть AAAA запись (неотключаемая на Cloudflare). Другие ГУИ и certbot срабатывают нормально, на этом же сервере, на этом же домене, т.е. проблема не CF, не сервера, не моя, а сраного Плеска. Отключаем проксирование на стороне CF, светим серверный IP, в общем костылим.

Хобби. Программирую железку. printf(somevar) - 0.1, но if (somevar==0.1) не срабатывает, потому что видите ли (float)1.1-1.0 может быть 0.100000023, хотя в нормальных ЯП операции сравнения - самое простое что только может быть.

Фирменный макбук с фирменной зарядкой, вставленной в фирменную розетку с фирменным работающим заземлением - бьет током. Я даже где-то не против, но верните мне хотя бы 20$ за присутствующее, но не работающее заземление.

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

Хобби. Программирую с использованием GTK. Здесь комментарии излишни.

И это только приключения одного дня.

Скажите, а у вас все так же глючит, или мне надо править карму?

 

windows10
()

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

Форум — 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

 , ,

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Тб.

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

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

 , , ,

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
()