Loess.ru

having fun

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]')

Show must go on


СОбытия последних лет заставили меня скрыть некоторые записи, теперь отношение количества технологий к оценочным суждениям — увеличено.

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

Эксперимент Базермана: Боязнь потерять и её эксплуатация

Очередное когнитивное искажение: Мы теряем постоянно драгоценные секунды жизни в попытках удержать то. что уже есть

Правила аукциона
У эксперимента простые правила:
Профессор проводит аукцион, на котором продаёт банкноту в 20 долларов.
Начальная стоимость банкноты — 1 доллар.
Участники по классическим правилам любого аукциона называют свои ставки. Шаг ставок — 1 доллар. Ставки можно поднимать сколь угодно долго. Банкнота достанется тому, кто сделал самую большую, никем не перебитую ставку. Победитель выплачивает профессору сумму своей ставки.
Важное условие: участник, который оказался вторым, — последним предлагал свою ставку перед итоговым победителем, — должен выплатить профессору сумму своей итоговой ставки.

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

https://habr.com/ru/post/596543/

Titanfall single-player = HL3 здорового человека

Чего-то подобного ожидали игроки от Half-Life 3, вместо этого получив Alyx.
Здесь сконцентрировано лучшее, что было во вселенной Half-Life:
движок source, роботы,

артефакт из иных миров, и тесты над ним, являющиеся триггером странных событий,

платформерные головоломки почти как в portal,

train ride, расширенный до полноценного экшн-уровня, напарник-dog c «прокачанным» до адекватного уровня интеллектом,

Запуск спутникаовой связи из бункера,

и даже классические цилиндрические реакторы с шахтой-проходом внизу.

Read More