Loess.ru

having fun

The REAL math

Мнимые числа реальны: #1-13 [Welch Labs]
«Откуда вообще берутся новые числа, что такое комплексная плоскость, как представить четыре измерения в нашем трёхмерном мире, и почему мнимые числа более чем реальны.»

Удобный self-hosted список задач (ToDo list) с синхронизацией в NextCloud

Ставим NextCloud на выделенный IP
Ставим Nginx-proxy для подключения к нему по SSL
На телефон — ставим F-Droid
Устанавливаем tasks.org из F-Droid

Открываем tasks.org, авторизуемся на сервере NextCloud с помощью CalDAV

Создаём виджет на экране, и ставим галочку в «настройки — внешний вид — Временно показывать задачи после завершения», получаем что-то вроде:

Туда же можно подключить синхронизацию закладок браузеров с помощью Floccus

Про сон

Сумбурная копипаста с кучей информации на одной странице https://habr.com/ru/company/timeweb/blog/579626/. В т.ч. — написано и про глицин, и про мелатонин, и про ГАМК

Ася Казанцева <3 «Зачем нужно спать и как делать это правильно?»:

Вячеслав Дубынин. Мозг и сон (основная лекция, по материалам которой собрана выжимка на хабре):

Установка streamripper

Качаем темплейт деб 10 потому что на пве6.3 (под управлением деб10) образ 11 деб не работает
заводим CT деб 10
Добавляем публичный ключ putty в /root/.ssh/authorized_keys
смотрим локалю, если её нет и кракозябры — делаем dpkg-reconfigure locales, перезагружаемся
коннектимся в консоль, cкачиваем стримриппер https://sourceforge.net/projects/streamripper/files/streamripper%20%28current%29/1.64.6/

apt install gcc glib2.0 libogg-dev libvorbis-dev make
./configure
make

./streamripper http://chill.friskyradio.com/frisky_aac_high -r 8008 -z -L playlist.pls -t -o version -D "%S/%1q %A - %T" --xs_offset=3000

делаем демона /etc/systemd:

[Unit]
Description=streamripper-frisky
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

StartLimitIntervalSec=500
StartLimitBurst=5

[Service]
Restart=on-failure
RestartSec=10s

ExecStart=/path/to/streamripper-1.64.6/streamripper http://chill.friskyradio.com/frisky_aac_high -r 8008 -z -L playlist.pls -o version -t -D '/path/to/FriskyChill/%%1q %%A - %%T' --xs_offset=3000

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable streamripper-frisky
apt install incron

Добавляем юзера в /etc/incron.allow

incrontab -e

ебёмся с тем, что инкронтаб вообще никак не умеет обрабатывать пути с пробелами,

тыкаем галку «Disable application keypad mode» in PuTTY (on the Features panel) для того, чтобы нумпад наконец-то заработал

пишем скрипт, на вход которому скармливаем параметр для выгрузки файла в тг:

/path/to/FriskyChill       IN_CREATE,IN_MOVED_TO   /path/to/py-frisky-bot/py-frisky-bot.py "$@/$#" $% >> /path/to/py-frisky-bot/py-frisky-bot.log 2>&1

Осознаём, что файлы больше 50 мб ботами в телегу не выгружаются, и делаем http-сервер и отправку урла в чат вместо аудио.

Получаем что-то типа этого: https://t.me/FriskyChill
Подписывайтесь! =)

Как выбрать свинцовый аккумулятор

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

АКБ Дельта


http://akbtest.ru/csb-hr-1234w (pdf)

Рекомендую данный сайт в качестве справочника по свинцовым аккумуляторам

Some ways for organizing linux desktops/workflows/terminals

Прекрасная статья-обзор организации процесса в текстовых терминалах в терминальной стадии: http://jacobzelko.com/workflow/ (pdf)


Таскбар в screen делается записью в ~/.screenrc, что-то типа:
hardstatus alwayslastline "%{bw}[%H] [%?%-Lw%?%{wb}%n*%f %t%{bw}%?%+Lw%?]%=%{bw} [%1`] [%c:%s] [%l]"
http://www.softpanorama.org/Utilities/Screen/tips.shtml
https://www.transfusion.eu.org/2014/06/18/gnu-screen-on-steroids/


Недавно узнал, что window-менеджеров не десять штук, а в разы больше =) Например, HiveOS использует легковесный аскетичный Openbox WM + Tint2:


https://laurvas.ru/openbox/

Git для самых маленьких и для совсем больших

https://ohmygit.org/

Git LFS vs Git Annex:

side-to-side comparison: https://workingconcept.com/blog/git-annex-vs-git-lfs (pdf)
вводный обзор, как работать с annex: https://blog.debiania.in.ua/posts/2013-12-15-advertising-git-annex.html (pdf)

Основное юзабилити-отличие:

With Git LFS, new developers cloning a Git LFS-enabled repo for the first time don’t need to know anything about it. They can use «git lfs clone» to have that initial clone come down faster, but they don’t have to. «git clone» alone is all they need.

Based on my reading just now (mainly Git Annex vs. Git LFS), with Git Annex new developers cloning the repo for the first time must also remember to invoke «git annex sync —content» after cloning. They must also remember to run that same command after adding new files.

While it probably does not seem like a lot to remember (one extra command to type), in my experience adding one extra command to a workflow can impair productivity pretty signficantly — especially if people sometimes forget to run that command.

— https://www.reddit.com/r/git/comments/7vgudg/why_or_is_git_lfs_winning/

Backing up Mikrotik RouterOS config to Git repository

#!/bin/sh
cd /home/user/mikrot-config/
/usr/bin/ssh -i /home/user/.ssh/id_rsa admin-ssh-account@ip.address.of.mikrot "export" > /home/user/mikrot-config/mikrot.conf 2>&1
#deletes first line with datetime for committing only config changes
/bin/sed -i '1{/by RouterOS 6/d;}' /home/user/mikrot-config/mikrot.conf
git add ./mikrot.conf
git commit -m "backup as of $(/bin/date +\%Y-\%m-\%d-\%H-\%M-\%S)"

if you need to backup a lot of hosts and webface for backup control, check https://www.ekzorchik.ru/2019/03/backing-up-mikrotik-via-oxidized/ (pdf)