LINUX.ORG.RU

Сообщения vertexua

 

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

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

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

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

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

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

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

 , , ,

vertexua
()

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

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

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

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

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

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

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

 

vertexua
()

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

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

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

 ,

vertexua
()

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

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

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

 , ,

vertexua
()

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

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

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

 , , ,

vertexua
()

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

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

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

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

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

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

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

 , , ,

vertexua
()

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

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

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

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

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

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

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

 

vertexua
()

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

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

vertexua
()

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

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

Привет ЛОР,

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

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

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

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

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

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

 , ,

vertexua
()

OpenBSD на arm64

Есть ли хоть один одноплатник на который 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
()

QEMU и tty

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

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

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

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

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

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

 , ,

vertexua
()

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

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

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

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

 , ,

vertexua
()

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

Дискач.

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

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

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

 , , ,

vertexua
()

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

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

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

Дискач.

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

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

 , ,

vertexua
()

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

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

Поехали

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

 ,

vertexua
()

Твиттер на ЛОРе: кто по чему сейчас угорает?

Коротко пишем кто что интересное сейчас изучает, технологии, языки или что-то не связанное с IT. Попытайтесь вместить в классические 140 символов.

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

 , ,

vertexua
()

topgrade - фронтенд к полному обновлению системы

Утилиту писал не я и не кто-то из знакомых, просто очень хорошая штука, решил попиарить. Обновляет всю систему, дергает ваш пакетный менеджер, потому всякие пакетные менеджеры в хомяке, npm, vundle, и так далее. Полный список на гитхабе.

https://github.com/r-darwish/topgrade

Установите Rust через rustup.rs

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

Потом (утилиту установит в ~/.cargo/bin):

$ cargo install topgrade
$ topgrade -n

Ключ -n чтобы оно вхолостую только показало что оно планировало сделать. Убираем ключ и запускаем еще раз для обновления.

 ,

vertexua
()

Печальное положение вещей с библиотеками для графиков в GTK

Чтобы никто не сказал что я не умею искать, вот эти ребята похоже тоже не умеют:

https://github.com/GNOME/gnome-system-monitor/blob/master/src/load-graph.cpp

По ссылке гора Cairo-лапши чтобы нарисовать графички в Gnome System Monitor.

https://cairographics.org/examples/ - в группе «Charting» тонна мертвечины или либ написаных сразу для Python.

Если вы даже откопаете либу из 90-х со странным интерфейсом, то упаси Бг вы желаете странного - хотите байндинг к вашему языку программирования.

Тема непосредственно связана с: Для чего вы бы согласились пользоваться приложением на Electron?, потому что я планирую сдаться.

Я все сказал.

 , ,

vertexua
()

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