Что ждать от внедрения Istio? (Андрей Половов, Флант, Kuber Conf 2021)
Istio в разрезе: что умеет и не умеет самый популярный Service Mesh (А. Половов, DevOpsConf 2023)
Istio: распределенное приложение (Алексей Колосков Hilbert Team, DevOpsConf 2023)
(позже)
Pyinstaller+Alembic
При упаковке работающего Py-кода с миграциями alembic возникает множество проблем, с ходу погуглив которые — не решить:
Для нормальной компиляции в Venv и вывода проблем при запуске бинарника — необходимо запускать Pyinstaller модулем прям там:
./venv/bin/python3 -m PyInstaller -d bootloader [other args]
«Can't find Python file env.py
» лечится добавлением папки миграций к бинарнику --add-data
— файлы распаковываются в /tmp/ вместе с остальными исполняемыми файлами (https://ru.stackoverflow.com/questions/1360697/%D0%9A%D0%B0%D0%BA-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D0%BA-exe-add-data)
env.py должен быть совместимым с целевой ОС: «No module named 'logging.config'
» при запуске собранного бинарника — не лечится добавлением --hidden-import
, но лечится закомменчиванием строк fileConfig() в env.py и добавлением опций из alembic.ini в скрипт: alembic_cfg.set_main_option(…)
«Warning When using programmatic configuration, make sure the env.py file in use is compatible with the target configuration; including that the call to Python logging.fileConfig() is omitted if the programmatic configuration doesn’t actually include logging directives.»
(WARNING at https://alembic.sqlalchemy.org/en/latest/api/config.html)
Пути в скрипте миграций должны иметь явное указание или на директорию, откуда запускается бинарник, или на /tmp/_MEI…, второе можно сделать с sys._MEIPASS (https://stackoverflow.com/questions/51060894/adding-a-data-file-in-pyinstaller-using-the-onefile-option , example)
«Path ... is not represented in current version locations
» чинится указанием:
alembic_cfg.set_main_option('script_location','relative/folder')
alembic_cfg.set_main_option('version_locations','same as script_location param[/subdir]')
Flipper Zero unlocked region tx firmware
По-умолчанию Флиппер умеет читать все частоты, но передавать — только по фиксированным после прошивки (https://docs.flipperzero.one/sub-ghz/read).
При обновлении прошивки через qFlipper (https://docs.flipperzero.one/basics/firmware-update) регион детектируется вероятнее всего, по ip, с которого скачивается прошивка, но говорят, что по совокупности показателей. Устанавливается соответствующий регион, который написан примерно как «HW: R1, provisioned R2».
Нашёл последнюю кастомную прошивку со всеми разлоченными частотами и дополнительными плюшками: https://github.com/DarkFlippers/unleashed-firmware/tags -> https://github.com/UberGuidoZ/unleashed-firmware/tags, можно сразу брать и заливать файлом через qFlipper
Ещё инструменты: https://flippermaker.github.io/
Ещё приложения под прошивку unleashed: https://github.com/RogueMaster/flipperzero-firmware-wPlugins
Putty run remote bash command
run.cmd:
call putty -ssh user@ip.add.res.s -pw pass -m c:script.sh
script.sh:
sudo systemctl restart docker.service
Теорема байеса. Наши представления о реальности неточны
Можно почитать лонгрид https://lesswrong.ru/w/Наглядное объяснение теоремы Байеса (pdf),
а можно и краткий видос, объясняющий суть:
Ловушка Байеса [Veritasium]
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
NSA Green Lambert for OS X rootkit investigation
Green Lambert is described as an “active implant” and “the only one where non-Windows variants have been found.”
“C2 jitter, secure erase / uninstall, SSL/TLS+extra crypto, size below 150K, encrypt logs and local collection, decrypt strings on the fly in mem… simply following these guidelines immediately makes the malware (“tools”) more interesting and, recognizable by a skilled analyst.”
Про сон
Сумбурная копипаста с кучей информации на одной странице 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
Подписывайтесь! =)