LINUX.ORG.RU

Сообщения KRoN73

 

Есть ли проигрыватель mp3, которые умеет двухсторонний синк плейлистов m3u?

Сабж? Чтобы показывал играл плейлисты m3u, изменения в которых записывались бы в те же m3u?

 , ,

KRoN73
()

Markdown: синтаксис для include?

Надо тут включать на одном сайте в Markdown-статьи другие Markdown-документы. Есть идеи, как это сделать максимально идеологически близко к Markdown? То есть это должен быть какой-то формат, похожий на читаемый текст и, желательно, в рамках привычного синтаксиса. Навскидку вижу пару вариантов:

`#include «/path/file.md»`

Это совсем уже для «си головного мозга» :) Но хотя бы понятен смысл.

`{!/path/file.md!}`

С одной стороны, с MD роднит простота (отсутствие слов), с другой — формат совсем не «MD-шный».

Думаю, идеологически это должно быть что-то в духе MD-картинок или ссылок. В MD основная идеология — дополнительная разметка поверх простого текста. То есть, по хорошему, это должна быть какая-то наглядная надстройка над логикой `[текст описания](ссылка)`. Вот как картинки сделали добавлением восклицательного знака перед описанием.

Может, плюнуть и совместить а ля `#include[опциональное описание](ссылка)`? Заодно получается универсальный формат.

Или даже `!include[опциональное описание](ссылка)`? — почти единообразно с картинками :)

// кросспост с http://127.0.0.1:43110/1F4WVHDpQYxuJL6xEY3EZTYkZds9TTjVHC/?Topic:1535873946_1...

 

KRoN73
()

Накопились вопросы по «умному дому»

Вразнобой, так сказать, как буду вспоминать.

Первое, самое актуальное. Скриптовая логика. Я так пока и не пришёл к единому подходу, как возвращать и анализировать логические значения. Был бы какой-нибудь «Forth командной строки», нормально взаимодействующий с Linux-окружением, было бы проще. Но приходится работать в контексте bash'а.

Например, статус «допустима ли концентрация CO2». Очевидное решение — возвращать после проверки «0» или «1»:

#!/bin/bash

[ $(hall_co2) -ge 1100 ] && echo 1 || echo 0


И проверять соответствующим образом:
#!/bin/bash

. $(dirname $0)/../init

if [ "$(is_hall_co2_notice)" == "0" ]; then
    exit
fi

once_per 10 check-co2-hall-notice send-to-telegram "В зале душно: $(hall_co2) PPM."


Можно возвращать пустое значение и проверять по -z/-n, но тогда теряется единообразие с командами, возвращающими целые значения. Жаль, что bash не считает «0» за false.

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

is_hall_co2_notice || exit


Я пока, как в примере выше, вывожу «0» или «1», но не считаю этот вариант удобным :-/

 

KRoN73
()

mp4 перестали показываться в Опере

Интересный глюк вылез после недавнего обновления и перезагрузки. Точнее, обновление, может, и очень давнее, я браузер не каждую неделю перезапускаю, а ноутук — не каждый месяц, просто перезагрузился на днях только... :)

При попытке проиграть mp4 через html5 (тег video) ничего не происходит (никаких ошибок в консоли браузера и т.п.), а при попытке открыть mp4 в браузере по прямой ссылке, он не проигрывается, как обычно, а предлагается его скачать. Скаченный файл совершенно нормальный.

В YouTube, что интересно, всё показывается нормально. В Хроме с mp4/video никаких проблем. В Опере под Windows — тоже всё ок. Т.е. проблема именно в Linux-версии Оперы, похоже :-/ С приватном режиме и с чистым профилем тоже не играет.

Есть мысли, что это может быть?

 , , ,

KRoN73
()

Как из Telegram прочитать архив сообщений?

Блин. Полез разбираться с Телеграмом для трансляции на форумы и нигде не нахожу способ вытянуть полностью архив с картинками :)

Есть возможность целиком получать сообщения оперативно, по мере ввода (getUpdates или Webhook'и). Есть возможность получить текстовый архив старых сообщений через telegram-cli. Но утянуть полностью старые сообщения с картинками — непонятно как.

В API ничего подходящего не вижу.

Гуглёж показывает, что у людей такая же проблема.

Кто-то её решал или она не решается? :-/

 ,

KRoN73
()

Управление громкостью отдельного приложения из cli?

Такая задача.

Есть утреннее голосовое извещение от бота. «Вставайте, сегодня такая-то дата, такая-то погода...»

Но оно довольно резко рявкает, спросонья в тишине раздражает.

Хотелось бы предварительно включать какую-нибудь утреннюю музыку, или предустановку, или подобрать Интернет-радио (кто что порекомендует?)

Включать нужно негромко, тихо, минут за 15 до подъёма и понемногу повышать громкость от очень тихой до просто тихой.

При этом основную громкость от приложений по умолчанию не трогать. Это, типа, святое — вдруг что-то реально важное нужно озвучить.

Как бы это сделать?

Система — Ubuntu/ARM (одноплатник). Управление идёт из cron, так что всякие pulse audio, видимо, отпадают.

 , ,

KRoN73
()

Что-то типа буфера для MQTT?

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

Сделать такую регистр/защёлку/буфер элементарно, но, вдруг, есть какие-то стандартные решения?

 

KRoN73
()

Вопрос по оптимизации комбинаторных алгоритмов...

Не совсем про Linux, но считается под ним, так что не совсем офтопик :D

Есть такая задача. M (~8) матриц в цепочке, у каждой из которых есть N*N элементов с весовыми коэффициентами и ссылки на предыдущую и следующую матрицу.

Каждая следующая матрица имеет на входе те же элементы, что и предыдущая. Но выходные — другие. Такие же, что следующая в цепочке на входе.

Ну, для простоты, первая матрица: типы компьютеров × ОС:

        | Десктоп | Смартфон | Сервер
Windows | 9       | 6        | 6
Linux   | 6       | 3        | 9
Android | 3       | 9        | 3


Вторая матрица в цепочке — ОС × процессор. Скажем:
     | Windows | Linux | Android
ARM  | 3       | 9     | 9
x86  | 9       | 9     | 6
MIPS | 3       | 3     | 6


Следующая в цепочке — процессор x производитель:
        | ARM | x86 | MIPS
Intel   | 6   | 9   | 3
AMD     | 3   | 9   | 3
Toshiba | 3   | 3   | 6


Т.е. получаются такие цепочки:

Десктоп → Windows → ARM  → Intel   = 9+3+6 = 18
Десктоп → Windows → ARM  → AMD     = 9+3+3 = 15
Десктоп → Windows → ARM  → Toshiba = 9+3+3 = 15
Десктоп → Windows → x86  → Intel   = 9+9+6 = 23
Десктоп → Windows → x86  → AMD     = 9+9+3 = 21
Десктоп → Windows → x86  → Toshiba = 9+9+3 = 21
...
Сервер  → Android → MIPS → Toshiba = 3+6+6 = 15


На самом деле матрицы не квадратные, но это для примера не важно.

Нужно найти лучшие и худшие цепочки, скажем, по десятку тех и других.

Проблема в том, что количество матриц в цепочке достигает 8 (и может быть больше), а число элементов бывает 5..10..30. А 15**8 = 2.5 млрд комбинаций. Да ещё цепочек матриц может быть несколько десятков. Весовые коэффициенты считаются тоже отдельно, по результатам голосов многих людей :)

Если считать это в лоб, просчитав все комбинации, записав их итоговый вес, то сортировать придётся гигабайты данных.

Может быть это как-то можно оптимизировать? :)

А то тут не хватает моей соображаловки, куда можно копать в плане оптимизации. Что-то с оптимизацией деревьев?

 ,

KRoN73
()

Менеджер ссылок (букмарков/закладок) в файловой системе?

Я до сих пор считаю древнее решение IExplorer с хранением закладок в дереве ФС очень удачным. И сильно не хватает подобного для ручной работы со ссылками в других браузерах. Понятно, что не сложно сделать свой аналог, но, прежде чем велосипедить — может, где-то уже есть подобное готовое решение?

 , ,

KRoN73
()

Контроль трафика по устройствам в режиме точки доступа Wi-Fi

Сижу в деревне, телефон раздаёт мобильный Интернет по Wi-Fi на 5-6 девайсов. Периодически кто-то из них начинает страшно жрать трафик, но кто — непонятно. Тем более, что Android сегодня по трафику почти не управляем (игнорирует выключение синхронизации и т.п.). При чём начинается это достаточно редко, так что поймать проблему через постоянные смены паролей и подключение устройств по одному сложно.

Есть ли возможность как-то проконтролировать расход трафика по клиентам точки доступа?

 , ,

KRoN73
()

Apparmor vs LXC

Весь dmesg забит тоннами такого:

[Пн июл 10 20:09:30 2017] audit: type=1400 audit(1499706547.846:7167): apparmor="DENIED" operation="file_lock" profile="lxc-container-default-cgns" pid=6413 comm="(ionclean)" family="unix" sock_type="dgram" protocol=0 addr=none
[Пн июл 10 20:09:30 2017] audit: type=1400 audit(1499706547.846:7168): apparmor="DENIED" operation="file_lock" profile="lxc-container-default-cgns" pid=6413 comm="(ionclean)" family="unix" sock_type="dgram" protocol=0 addr=none
[Пн июл 10 20:09:30 2017] audit: type=1400 audit(1499706547.846:7169): apparmor="DENIED" operation="file_lock" profile="lxc-container-default-cgns" pid=6413 comm="(ionclean)" family="unix" sock_type="dgram" protocol=0 addr=none


Вроде, на работе никак не сказывается, но неприятно. Гуглёж ничего внятного не дал. Apparmor для меня — тёмный лес. Кто-нибудь знает, как с этим бороться?

 , ,

KRoN73
()

Как посмотреть список запросов MySQL во время «Too many connections»?

Сабж.

mysqladmin цепляется на общих основаниях и поэтому при заполнении очереди запросов присоединится не может.

Всякие slowlog не помощник, потому что когда забивается очередь на 500 коннектов, то лог потом забит тысячами запросов, найти виновника там нереально. Да и задача найти не виновника, а в том числе и откуда лезут эти 500 коннектов.

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

Есть мысли?

 

KRoN73
()

Android CLI: adb, ssh и т.п.

Нет ли какой-то утилитки, которая без рута позволяет использовать разные функции Android через командную строку?

Ну, например, статус батареи я итак нашёл:

$ acpi
Battery 0: 22%

$ cat /sys/class/power_supply/battery/capacity
22


Но хотелось бы, например:

- Видеть статус сети (GPRS/EDGE/3G/4G).
- Уметь включить экран и вывести текст
- Управлять громкостью и выводом звука

Есть что-то подобное?

 , , ,

KRoN73
()

Maximum number of clients reached. Error: cannot open display

С некоторых пор моя Ubuntu стала через пару дней работы превращаться в тыкву:

$  xclock
Maximum number of clients reachedError: Can't open display: :0

$ xlsclients
Maximum number of clients reachedxlsclients:  unable to open display ":0"


Если что-нибудь закрыть, то удаётся получить список клиентов, но он совсем мелкий:

$ xlsclients | wc -l
39


Максимум — 42 клиента. Потом — аллес капут. Есть мысли, как увеличить это количество штатно? Нигде не гуглится :-/ Точнее, гуглится, что лимит должен быть 256, что тоже, в общем, не густо но у меня всё куда хуже!

Пока приходится периодически перелогиниваться :-/

 ,

KRoN73
()

Блин, вот как воевать со свопом?

MySQL занимает 25Гб VIRT. Из них только 16Гб в RSS. При этом 9.6Гб в буферах и кешах + 2Гб свободно. Большие MySQL-запросы по базе безбожно тормозят с уходом в IO по причине доставания данных из свопа.

swappines = 1

Что ещё можно подкрутить, чтобы заставить MySQL реже уходить в своп (но не отключая своп — всё в мои 32Гб оперативки не влезет)?

 , swappiness

KRoN73
()

Бесчеловечный p2p-обмен информацией?

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

Я пока навскидку только ZeroNet знаю, там такое «из коробки» есть. И, в общем, он моим задачам даже подходит.

Но, может, что-то ещё полезное упускаю?

Tox на сервере, вроде, умеет жить, но там нет группового обмена. Нельзя подписаться на группу с сообщениями.

Twister, по-моему, не умеет жить автономно на сервере.

Что-то ещё?

 , ,

KRoN73
()

MATE: как настроить перебор окон по Alt-Tab?

У меня две машины с MATE. Одинаковые, почти всё по умолчанию. Но у одной Alt-Tab листает окна привычно, перебирая последние два окна, а у другой — перебирает все развёрнутые окна. Бесит ужасно, при разработке приходится постоянно сворачивать все окна, кроме рабочих. Но как это исправить и что влияет на такое поведение я ни в настройках не нашёл, ни нагуглить не смог.

Может, тут кто-нибудь подскажет? :)

 

KRoN73
()

Hetzner: стоит ли связываться с аукционом серверов?

Сейчас плачу €42/мес. за EX40 (i7-4770, 32G RAM, 2x2T HDD).

Смотрю, в продаже на вторичном их рынке есть i7-920/48G RAM/2x2T HDD за €28.57/мес. И памяти больше (а мне под MySQL маловато уже), и дешевле... Есть ли какой-то подвох? :) У кого есть опыт?

Update: или вот, €47.06 (правда, цена в отличие от предыдущей не фиксированная и ещё два дня торгов) за i7-950/48G RAM/2x2T + 2x240 SSD. Гибридная дисковая подсистема очень рулит :)

 , ,

KRoN73
()

Кто такой [loop1]?

Оптимизирую понемногу сервер и вижу в iotop, что довольно активно дёргается процесс [loop1]. Проблема в том, что у меня довольно много монтированных образов и bind'ов и не все из них — в хостовой системе. Ещё, сверх того, десятки маунтов в Docker. Как бы узнать, какому монтированию оно соответствует? В соответствующем /proc/[pid] ничего подходящего не нашёл...

 ,

KRoN73
()

Google My Activity

Думаю, уже все наслышаны про https://myactivity.google.com/myactivity и хранимые записи с микрофона в «OK Google».

Однако, это вполне ожидаемо. Как и давно известное хранение истории поиска и т.п.

Но вот что меня удивило, так это хранение заголовков посещённых страниц. Включая приватные. Например, у меня хранится там история общения в закрытом модераторском форуме... Хотя тоже можно было догадаться. Подозрения и раньше были — когда Гугл слал предупреждения о нарушении правил размещения их рекламы на приватных страницах закрытого форуме — но там была вероятность, что это кто-то из «доброжелателей» стучит... А по факту, выходит, скорее всего, Гугл сливает не только заголовки, но и контент :)

 ,

KRoN73
()

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