LINUX.ORG.RU

Сообщения vertexua

 

Вкатываюсь в embedded как хобби. Arduino vs STM32

Форум — Development

Формальное образование по электронике есть, опыт программирования - миллиард лет.

Полный нуб в практическом смысле по embedded, начал тыкать палкой неделю назад.

Я набрал STM32 Black Pill, зарядил Rust Embedded, все работает, лампочки мигают, экраны hello world пишут, серво шевелятся. Буду робота собирать.

Прошла эра AVR говорят? Забить на эти все Ардуины и копать дальше в STM32? Вроде все устраивает, но просто хочу мнений узнать. Я так понимаю что всё «pills» - это китайский бомжпакет, но если уткнусь в проблемы, то вроде есть официальные борды от STM, код почти не прийдётся менять, поменял HAL и все. На спеки этих Atmega по той же цене больно смотреть по сравнению с STM32. Ржавый тоже официально с пол пинка поддерживает STM32, а avr там нужно тулчейны собирать как плебей или вообще валить на С.

Там ещё какие ESP, PIC на горизонте маячат, но я вообще не знаю стоит ли копать.

Это очередное «памагите какой дистрибутив установить чтобы пацаны в 10-Б зауважали», но вместо линукса - embedded. Дичкач

 , , ,

vertexua
()

Установка локально собраного софта в OpenBSD

Форум — Admin

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

В Linux я бы установил его в /usr/local, но в OpenBSD назначение каталога немного другое - в него устанавливается вообще все, что не является частью базовой системы.

Ок, может все равно установить туда? Но тогда подобные файлы детектируются например через pkg_check -F, как неизвестные пакетному менеджеру.

Я вижу несколько вариантов

  • Не волноваться по поводу pkg_check -F, оно вроде ничего не делает кроме просто информирования что такой файл есть. Ничего не сломается, так как софт совсем отдельный и не конфликтует ни с чем.
  • /opt. Так вообще делают в OpenBSD?
  • Попытаться как-то опакетить локально, или сделать что-то чтобы пакетный менеджер управлял и этим пакетом.

Как принято в OpenBSD?

 

vertexua
()

Какой UI должен быть у современного текстового редактора или IDE

Голосования — Голосования
  1. Десктопный нативный графический тулкит (Gtk+, Qt, wxWidgets...) 331 (77%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Консольный (S-Lang, (n)curses, termcap) 144 (34%)

    *******************************************************************************************************************************************

  3. Кроссплатформенный ненативный рендеринг (Flutter, Swing) 75 (18%)

    ************************************************************************

  4. Отделенный бекенд редактора от формы отображения ценой дополнительной сложности архитектуры (xi-editor) 56 (13%)

    ******************************************************

  5. Десктопный HTML5-based тулкит (Electron) 38 (9%)

    ************************************

  6. WebUI в браузере с локального демона или онлайн сервиса (CodeAnywhere) 28 (7%)

    ***************************

Всего голосов: 672, всего проголосовавших: 428

 ,

vertexua
()

Чему вы научились за время пандемии?

Форум — Talks

Я вот заметил что большинство людей которые я знаю оказались в жестких карантинных условиях и это заставило находить себе занятия дома, обретать новые хобби или умения.

Чему научились вы? Новые скиллы, хобби?

 ,

vertexua
()

Квест пройден!

Форум — Talks

5 зелёных, 5 платиновых, бан, разбан, 5 зеленых опять.

Принимаю поздравления.

 , ,

vertexua
()

Эмулятор 21го века

Форум — Talks

https://blog.davetcode.co.uk/post/21st-century-emulator/

Затравка - каждая инструкция в отдельном Docker контейнере

 , , ,

vertexua
()

Система тюремных наказаний за нарушение законов - обычно банальная месть

Форум — Talks

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

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

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

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

    • Особенным примером является частичный саботаж глупых законов, вроде «преступлений без пострадавших» когда просто нельзя, но если сделать, то ничего плохого не случится. В некоторых случаях нарушивший «нарушивший» - реальный пострадавший. В данном случае закон сделан потому что было всем пофиг когда его принимали или согласно каким-то дремучим заблуждениям или стереотипам. Общество все равно собирается в кучу и начинает карать и осуждать толпой.
  • Для психически нездорового человека причины могут быть намного забористее. Обычно опять - причины где-то в детстве, в травмах или в состоянии огранизма. Наказание - тоже удовлетворение садистких наклонностей в обществе. Некоторых признают невменяемыми, но это спектр. Можно вырасти чрезвычайно жестоким человеком, но быть «вменямым» по этому определению.

P.S. Не предлагаю отменять сам институт заключения и полиции, но они - костыль, к которому приходится прибегать после казалось бы тысяч лет развития человечества. Но законы выписаны именно так «украл - столько лет тюрьмы». По принятию закона должно быть сначала 5 ярусов описаний по предотвращению, созданию мотиваций ему следовать.

 , , ,

vertexua
()

Не банхаммером единым

Форум — Linux-org-ru

Может вместо банов добавим фичу в ЛОР и будем особо яростных делать игнорируемыми для всех, на временные промежутки.

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

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

Это можно обойти многими акканутами, но я думаю может в большинстве случаев сработать.

Главное именно банить акк не прийдётся и его многие смогут надёжно и навсегда заигнорить. От банов приходится игнорить заново

Туда же Эдика и прочих буйных

 

vertexua
()

В Go подкатывают generics

Форум — Talks

 , небесная ось, последние времена

vertexua
()

Microsoft выпустила официальную Rust библиотеку для Windows API

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

Библиотека оформлена в виде Rust crate под MIT License, который можно использовать вот так:

[dependencies]
windows = "0.2.1"

[build-dependencies]
windows = "0.2.1"

После этого в скрипте сборки build.rs можно сгенерировать те модули, которые нужны для вашего приложения:

fn main() {
    windows::build!(
        windows::data::xml::dom::*
        windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject}
        windows::win32::windows_programming::CloseHandle
    );
}

Документация о доступных модулях опубликована на docs.rs.

Пример кода:

mod bindings {
    ::windows::include_bindings!();
}

use bindings::{
    windows::data::xml::dom::*,
    windows::win32::system_services::{CreateEventW, SetEvent, WaitForSingleObject},
    windows::win32::windows_programming::CloseHandle,
};

fn main() -> windows::Result<()> {
    let doc = XmlDocument::new()?;
    doc.load_xml("<html>hello world</html>")?;

    let root = doc.document_element()?;
    assert!(root.node_name()? == "html");
    assert!(root.inner_text()? == "hello world");

    unsafe {
        let event = CreateEventW(
            std::ptr::null_mut(),
            true.into(),
            false.into(),
            std::ptr::null(),
        );

        SetEvent(event).ok()?;
        WaitForSingleObject(event, 0);
        CloseHandle(event).ok()?;
    }

    Ok(())
}

Для некоторых вызовов функций используется unsafe, так как эти функции предоставляются как они есть, не адаптируя их к конвенциями Rust. По такому же принципу устроен crate libc, который служит базовым crate для доступа к libc и используется как основа для пострения библиотек с безопасным интерфейсом.

Проект создан в рамках Win32 Metadata Project, который призван облегчить создание API для разных языков программирования. Вторая библиотека, которая была создана на основе Metadata Project на первое фазе проекта - C#/Win32. Также Microsoft анонсировала начало работы над версией для С++, которая использует современный стиль языка.

>>> Github

 , , , ,

vertexua
()

Facebook ищет full-time разработчиков чтобы разрабатывать компилятор и стандартную библиотеку Rust

Форум — Development

https://www.reddit.com/r/rust/comments/jfkmxo/facebook_is_hiring_a_team_to_work_on_the_rust/

We’ll be working on the whole stack. From frontend, to codegen, libraries and tools, to make sure that Rust is able to handle the massive Facebook scale. I know of specific bugs and issues, but we don’t have a clear roadmap yet.

 ,

vertexua
()

Stream Plex или Tidal на Raspberry Pi

Форум — Admin

Привет ЛОР,

У меня следующая задача - я хочу взять малину, воткнуть в нее серьезное аудиожелезо по USB (допустим оставим вопрос драйверов за скобками), чтобы оно распозналось как аудиокарта.

Потом я хочу сидеть за другой машиной с браузером или с Android телефоном и там хочу включать треки, но чтобы они играли на малине. И все это без искажений FLAC в цифровой форме, без resampling чтобы на железо просто уходил PCM звук.

Источники звука:

  • Самый лучший вариант - стриминговые платформы. Идеально если бы работало все вплоть до Tidal Masters
  • Чуть хуже вариант - FLACs с диска. Тут как бы и mpd можно обойтись, но это очень неудобно, качать это все.

Plex я упомянул в том контексте что он у меня уже есть, у него есть связка с Tidal, но нету какого-то промежуточного сервера чтобы слать это все на малину.

Мою задачу полностью решает Roon Core (x86_64) + Roon Bridge (arm64), но я пока не уверен что хочу еще и на них подписываться. Я хочу узнать, можно ли подобное навелосипедить из подручных средств.

 , ,

vertexua
()

OpenBSD на arm64

Форум — Linux-install

Есть ли хоть один одноплатник на который OpenBSD устанавливается легко? Пускай в данном случае эталоном «легко» будет установка OpenBSD обычным инсталлером с LiveUSB или просто прошивка образа на карточку. А потом чтобы работал хотя-бы Ethernet и USB. В идеале HDMI и WiFi конечно.

Что не гляну guide, так все вот в таком духе https://github.com/jasperla/openbsd-rockpro64, копируешь dtb с форумов ручками, подключаешься к serial порт и потом еще

The USB ports don’t seem to work yet despite the controller attaching in OpenBSD, this is probably due to the dtb not being fully correct. Also, the dtb should be built as part of the sysutils/dtb port.

Кому нужны эти USB.

 , , ,

vertexua
()

Какие оригинальные идеи вы бы хотели видеть в Linux-дистрибутиве будущего?

Голосования — Голосования

Каждый день видим рождение дистрибутивов с разной банальной функциональностью, вроде минимализма, или дружелюбностью для пользователя или каким-то конкретным DE по дефолту.

Для поддержки оборудования возьмем ядро линукса за базу, но будем мыслить шире. Архитектуру userspace можно делать совершенно по-разному.

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

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

  1. Система без состояния, тривиальный factory reset, состояние только в /home 155 (43%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Полная контейнеризация каждого приложения 103 (29%)

    ********************************************************************************************************************************************************************************************************************

  3. Cтруктурированные данные в pipes между утилитами 90 (25%)

    *****************************************************************************************************************************************************************************************

  4. Реорганизация софта на десктопе для глобальной доступности на всех ваших устройствах 85 (24%)

    *******************************************************************************************************************************************************************************

  5. Голосовое управление 70 (19%)

    ************************************************************************************************************************************************

  6. Машинное обучение для анализа состояния системы 60 (17%)

    ***************************************************************************************************************************

  7. Система-хост, где после логин экрана каждый пользователь входит в свою полную аппаратно ускореную VM с правами sudo 58 (16%)

    ***********************************************************************************************************************

  8. Flatpack, Snapcraft, AppImage как единственный пакетный менеджер 47 (13%)

    *************************************************************************************************

  9. Обширная телеметрия/мониторинг отправляемая на личный сервер 43 (12%)

    ****************************************************************************************

  10. Assistant, Alexa, Wolfram и другие облачные API как часть shell 42 (12%)

    **************************************************************************************

  11. HTML5/CSS/JS/WebAssembly DE 39 (11%)

    ********************************************************************************

  12. Поддержка софта только на языках компилируемых AOT в натив (с удобными библиотеками для scripting) 38 (11%)

    ******************************************************************************

  13. Логин по дефолту сразу в мультиплексор терминалов 34 (9%)

    **********************************************************************

  14. Автоматически глобально-доступная веб-консоль для администрирования 27 (8%)

    *******************************************************

  15. Все приложения на WebAssembly/WASI с AOT при инсталляции 26 (7%)

    *****************************************************

Всего голосов: 917, всего проголосовавших: 360

 , , ,

vertexua
()

QEMU и tty

Форум — Admin

Как сделать через командную строку запуска qemu так, чтобы ядро Линукса внутри писало лог в нулевую консоль - ttyS0, но мне в консоль в -nographic режиме сразу показывалась вторая консоль - ttyS1. Или наборот, главное в разные

Я не хочу нажимать вот эти все Ctrl+Alt+F{1..2}.

Это не какой-то дистр, это просто ядро с busybox. Пока что и getty и логи ядра срут в ttyS0. Опция ядра - console=ttyS0.

Хотелось бы логи ядра к чертям убрать с ttyS0, но хоть где-то оставить.

В /var/log/messages ничего не пишется, может забыл что-то в ядре подрубить? Или это не ядро писать туда должно?

quiet решает проблему засирания консоли, но я бы хотел просто убрать логи в другое место, а не совсем убить.

 , ,

vertexua
()

Мейнтейнеры пакетов, поделитесь историями успеха мейнтенерства

Форум — General

Расскажите что мейнтейните (свой софт или чужой), сколько труда уходит, как это делается?

В основном интересуют истории от тех, кто поддерживает пакеты в главном репозитории дистра, а не в своих PPA/AUR/overlay.

Еще интересно какие дистры и насколько тяжело мейнтейнить сразу на несколько дистров? Например насколько больше труда одновременно предоставлять пакет для нескольких дистров с одним форматом пакета - Debian/Ubuntu, CentOS/RedHat/Fedora.

 , ,

vertexua
()

Perl 6 официально решили переименовать в Raku

Форум — Development

Дискач.

Не преуменьшая потенциальных инноваций в самом языке, можно также официально начинать шутить.

Буква «u» в данном слове silent? Как я понимаю что если с японского, то да.

https://news.ycombinator.com/item?id=21227430

 , , ,

vertexua
()

Переехал на кучу утилит переписаных на 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
()

Perl 6 vs Python 3

Форум — Development

Дискач.

Чтобы писать утилиты и демоны например для десктопа. Допустим оставим в покое веб-девелопмент, там и так тесно. И забудем былое, Python 2, Perl 5 и связанные стереотипы.

P.S. Прошу не удалять за тупняк, я понимаю как это выглядит. Но тема то интересная

 , ,

vertexua
()

Язык для скриптов из одного файла

Форум — Development

Всегда есть shell, python, perl. Но вот я решил повысить планку и добавить еще несколько нетипичных требований помимо стандартных, может что-то и найдется

Поехали

  • Как у всех языков для скриптов - поддержка shebang
  • Статическая типизация
  • Быстрая сборка
  • Высокая производительность
  • Автоматическое закачивание зависимостей если они отсутствуют со своего сервиса пакетов на основе текста того же единственного файла с shebang

 ,

vertexua
()

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