LINUX.ORG.RU

Сообщения Vit

 

Перевел сайт на node.js

 ,

https://rcopen.com/

Ну что… я наконец-то перевел свой толстенный пыховский форум на node.js. Без тайпскрипта и CMC.

Это был гиганский долгострой, в процессе которого появились js-yaml, markdown-it, pako, pica и прочие популярные пакеты для ноды.

Мы строили-строили, и наконец построили! (с) Чебурашка.

PS. Это все под линуксом конечно.

Vit
()

Где посмотреть алгоритмы выбора master-а

 

https://github.com/nodeca/tabex

Есть приблуда для обмена сообщениями между вкладками браузера. При этом:

  • Желательно чтобы только одна вкладка подписывалась на сообщения с сервера (чтобы не плодить коннекты)
  • Вкладки могут произвольным образом помирать и отмораживаться.

Поэтому нужно автоматически выбирать «мастера», которые полезет на сервер. Когда старый помрет или сильно затупит. При этом если в какой-то момент временно будет два мастера - не страшно.

Какой-то алгоритм, написанный на коленке, уже давно есть и работает. Но хочется почитать как такое вообще положено по науке делать. Есть какие-нибудь ссылки?

Vit
()

Как напрямую донейты с гитхаба получать?

 ,

Гитхабовский sponsorship не работает напрямую с российскими счетами, но там вроде есть опция выбрать банковский аккаунт в другой стране.

Собственно, вопрос, кто так делал и где в еврозоне можно завести личный счет из России, без персонального визита, с низкими тарифами? Предпочтительно в Германии, но можно и в Прибалтике. В принципе можно даже без карточки, но если будет - то хорошо.

Vit
()

Посоветуйте целочисленный FFT для эмбедов

 , cortex m0+, ,

Надо делать FFT на 512 точек, для fixed point Q15 / Q31 (еще не определился)

С удивлением обнаружил, что CMSIS DSP генерит немеряные таблицы, которые не влазят в 32К флеша. И это после обрезки лишних.

Посоветуйте какую-нибудь другую библиотеку, пусть не так сурово оптимизированную, но без конских таблиц (чтобы в пределах 12 килобайт). Ну и без аллокаций памяти. И желательно сразу с оптимизацией входа-выхода (мне комплексные числа не нужны), т.к. с оперативкой еще хуже чем с флешем.

Vit
()

STM32CubeMX как выставить оверсамплинг для АЦП?

 

STM32G030F6P6. Может у меня глаз замылился, никак не могу в CubeMX найти настройки, которые включают оверсамплинг для АЦП и задают его параметры. Вроде по даташиту есть. Куда смотреть-то?

И чтоб два раза не вставать… оверсамплинг ведь нормально через DMA в память льется? Внешне все то же самое, только данные выплевываются реже (потому что копятся)?

Vit
()

Посоветуйте алгоритмы ресамплинга сигнала в 2^N раз

 , fir, resampling

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

Сориентируйте, куда копать. Что-то кроме децимирующего FIR есть смысл искать?

И второй вопрос - если FIR, то с какими параметрами?

  • Меня смущает, что частоту среза выставляют ровно на половине диапазона, а не слегка ниже. Разве от недодавленного края переотражения на FFT не полезут?
  • Какое подавление выбирать? 40дб? 60дб?
Vit
()

Проверьте пожалуйста код IIR фильтров

 ,

https://github.com/speedcontrols/dc_sc_grinder/tree/scripts/scripts/lib

Проверьте пожалуйста код баттервортовских фильтров второго порядка, кто разбирается.

От прогонов на реальных данных складывается впечатление, что не на ту частоту генерятся.

Из этих делается каскад 8-12 порядка. Почему так - на микроконтроллере с точностью и производительности грустно, приходится изворачиваться. Жабаскрипт - просто чтобы на десктопе в комфортных условиях алгоритмы поиска фундаментальной частоты отладить.

Vit
()

А mongodb вообще умеет general_ci для строк?

 collation,

Понадобилось тут в монге сделать поиск строк case insensitive. Думал, как в сиквеле пропишу general_ci collation, ага… щаз… У них кажется collation определяется «локалью» и можно указать только для одного языка.

Я чего-то пропустил или в монге до сих пор реально жопа с collation?

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

Vit
()

docker, как принято обрабатывать логи?

 ,

У меня docker-compose пускает пачку конейнеров. Но хочется из некоторых (например постфикса) хранить логи за неделю, чтобы их вдумчиво погрепать при проблемах.

Самое простое - перемапить композом папки из контейнера на volume или на /var/log хоста. Но что-то мне подсказывает, что это махровый костыль.

Если вытаскивать логи командой вроде docker-compose log mail - они теряются после перезапуска.

Как вообще положено работать с докеровскими логами? Сервер всего один, оркестрировать кластер не надо, композа хватает за глаза. Хочется чего-то простого, но идеологически правильного.

Vit
()

zfs + mongodb, посоветуйте тюнинг

 ,

Есть обычная вебня в докере. Форум с очень большим количеством картинок в монге. Основная база гигов 20, и картинок терабайты.

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

Собсна, вопрос: это будет работать с не очень большой просадкой по скорости, или вообще без шансов? Настройки думал стандартные:

  • отключить atime
  • xattrs хранить в инодах
  • кеш только для метаданных (без l2arc)
  • ? насчет компрессии не уверен, в монге и так уже есть
  • record size думал юзать дефолтный (кажется 128k)

zfs та что на Ubuntu 20.04lts. Не 2.х, но с какими-то бекпортами.

Это будет с вебней вменяемо работать? К сожалению, в интернетах толком статей нет (уже обыскался). Только про innodb, но там размер блока тюнят и разницу не сравнивают.

На serverfault, где у чувака «фсе плёха», он сам дятел, т.к. заюзал l2arc и ограничил ему память всего 2 гига.

Vit
()

На каких структурах сделать «табличную» функцию с плавающими опорными точками?

 

Мне нужна «двумерная» табличная функцию, где табличку будут заполнять на лету.

F(ток, обороты) => напряжение

Проблема в том, что пара [ток, обороты] никогда не попадет строго в сетку. И вообще равномерность никто не гарантирует.

Надо запоминать что есть, и по мере появления достаточно близких точек делать интерполяцию. Если близких точек нет - говорить что «тут пока данных не хватает».

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

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

Какие есть варианты?

Vit
()

Шорткат `.` на гитхабе

 ,

https://twitter.com/github/status/1425505817827151872

Майкрософт умудрился веб-vscode к гитхабу привернуть. Там правда половина экстеншенов не работает, и терминала нет. Но как альтернатива текущему онлайн-редактору - очень даже.

Vit
()

Hetzner. Почему PX серверы такие дорогие?

 

Пытаюсь выбрать новый сервер в хетцнере. Из требований только память с ECC и диски от 8 терабайт. Из подходящих:

  • PX62 (64gb, 2*8tb) - 89 евро
  • SX64 (64gb, 4*16tb) - 89 евро
  • AX65 (64gb, 2*8tb) - 64 евро

Почему такая разница по деньгам за интел? Процы отличаются, но по производительности вроде не особо. Есть какие-то нюансы против АМД?

И второй вопрос насчет надежности дисков. С теми что на 16 терабайт в SX64 связываться или не стоит?

Vit
()

Mongodb + docker, как лучше делать бакапы?

 , ,

Мне надо определиться, что заливать на продакшен, чтобы в ближайшие 10 лет голова не болела. Нужно иногда бакапить монгу, где ~20gb всяких данных и ~1tb картинок. Не обязательно бакапить прям до последнего свежего бита, но желательно чтобы в это время продакшен не тупил. Если «текстовые» данные можно хоть запросами сдампить (размер небольшой), то с картинками такое не прокатит.

Видится 2 варианта:

  1. Поднимать реплику и бакапить слейв - неохота за второй сервер платить.
  2. Делать снапшоты и переливать файлы.

Вот по второму пункту есть вопросы. Чем делать снапшоты чтобы это не тупило? У меня от LVM сложилось впечатление что там снапшоты ну очень сильно тупят. Смотрю в cторону btrfs, но так и не понял, оно уже стало стабильным или нет.

Напишите, у кого есть опыт с btrfs/lvm на продакшенах, ну и вообще с бакапами БД через снапшоты. Какое нынче направление стоит выбирать?

Vit
()

Самокатошэринг, кто пользуется?

 самокат

Обнаружил почти рядом стоянку электросамокатов. Кто-нибудь этим пользовался? Когда имеет смысл по сравнению с убером?

На велике раньше катался много, на самокатах ни разу. Насколько это безопасно вообще? Или ну его нафик?

Vit
()

Как посчитать аналитически расстояние от точки до безье третьего порядка?

 ,

Есть сегмент контура, который описывается безье третьего порядка. Без inflextion point. Надо найти минимальное расстояние от произвольной точки до этого сегмента.

  • для квадратичныз безье в гугле формул навалом, для кубических почему-то тухловато.
  • численными методами (бить на 100 отрезков и т.п.) не хочется. Хотелось бы аналитически.
Vit
()

Чем отрендерить строку текста в буфер?

 , ,

https://github.com/puzrin/lbprint

Мне надо рендерить строки текста в черно-белый битмап, чтобы печатать на принтере этикеток. Сейчас это делается через пакет canvas, но он уже заманал тем что с новыми нодами время от времени перестает работать.

Есть желание чего-нибудь собрать c emscripten конкретно для рендеринга текста. Опыт сборки FreeType имеется. Но есть проблема - фритайп только про рендеринг единичных глифов, а мне надо именно строку, с кернингом и т.п. Есть всякие Harfbuzz, Pango, FreeBidi, но я в этом совсем не рублю.

Посоветуйте, куда копать. Надо рендерить просто строку текста (на любом языке), без переносов. Чтобы на вход засунуть юникод, а на выходе получить битмап и параметры фонта (где baseline и т.п., чтобы правильно несколько строк расположить).

Может есть уже готовые снипеты под мои нужды?

Vit
()

Посоветуйте скороварку

 ,

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

Немного заблудился по моделям и ценам.

  • Redmond RMC-PM380 за 6 тысяч. На озоне самое массовое. При этом есть более дорогие редмонды, но непонятно какие суперфичи они добавляют.
  • REDMOND RMC-PM504, REDMOND RMC-P350 - на маркете, с сортировкой по звездам. Около 10 тыс, хз чем лучше предыдущего.
  • Kitfort KT-215. На маркете. Есть крышка аэрогриля, но хз, надо ли это вообще.
  • ну и всякие левые нонеймы

Посоветуйте, на что обращать внимание, или конкретные модели. Ну чтобы ручки удобные, вода стекала как надо, клапаны не глючили и т.п. ХЗ что там вылезает при реальной эксплуатации. Цена не особо критична, но советовать индукционный выпендреж за килобакс тоже не надо.

Я не особый любитель готовки. Просто хочется удобства. Типа, после гриля поставить мясо с картофаном тушиться. Или кусок буженины сделать без напрягов. Чтобы «поставил и ушел кодить».

Vit
()

Посоветуйте аллокатор для С под эмбеды

 , ,

В гуевую библиотеку LVGL нужен аллокатор на замену родного.

  • heap обычно 4К-32К
  • выделяемые объекты в основном 10-100 байт

Посоветуйте что-нибудь проверенное под такие задачи. Но без фанатизма с ручным управлением пулами.

Из правдоподобного нагуглил такое:

но не хватает опыта, чтобы понять насколько это все актуально.

Vit
()

Расскажите про яйцеварки :)

 

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

Должен сказать, забавная в своей странности штука. Вроде бред, но ведь удобно. Только моя на 8 яиц и как-то великовата со шнуром. А брать мелкие без таймера (где все по объему воды) мне не хочется.

Но есть вариант для микроволновки https://www.aliexpress.com/item/32817877540.html. Там видимо наношапочка из фольги.

У меня вопрос. Кто-нибудь микроволновочными яйцеварками пользовался и отличается ли результат от электрических?

Vit
()

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