LogicDaemon-pubru
из моего старого блога, 11 янв. 2016 г. командная строка в Windows – минное поле У меня есть подозрение, что в недрах Microsoft есть специальная команда разработчиков, которая специально заботится, чтобы у всего, что связано с командной строкой Windows,…
Кстати, если читаете путь из реестра, молитесь, чтобы там не было международных символов. Обнаружить их в командной строке – нереально, а выдаются
12. Копирование папок – эпичный пример фейла (или win'а команды из первого абзаца?). Типичная команда для копирования папки в Windows:
смогли с первого раза посчитать количество ключей? Ну ок, наверное, не все они требуются. Вот необходимый минимум, чтобы
13.
reg
'ом они в кодировке ANSI (а cmd.exe
работает в OEM), поэтому при наличии не-ASCII символов, при попытке совершить chdir
(или что угодно другое) пакетный файл будет поджидать облом.12. Копирование папок – эпичный пример фейла (или win'а команды из первого абзаца?). Типичная команда для копирования папки в Windows:
xcopy s:\WindowsImageBackup r:\WindowsImageBackup /E /I /Q /G /H /R /K /O /Y /B /J
смогли с первого раза посчитать количество ключей? Ну ок, наверное, не все они требуются. Вот необходимый минимум, чтобы
xcopy
не остановился где-нибудь посередине и не задал тупой вопрос, ожидая интерактивного ответа: /E /I /G /H /R /Y
. Да, кстати, Вы использовали copy
? Облом будет поджидать незаметно :) Ключи copy указываются перед аргументами откуда и куда, xcopy
– после аргументов.13.
%comspec% /U /C "ECHO 123>test.txt"
записывает файл в UNICODE.%comspec% /U /C "FOR /F %A IN (test.txt) DO ECHO %A"
не может прочитать его!Вы пользуетесь putty? Тогда у меня для вас штука, которая умеет копировать настройки из одной сессии в другие (например, поменяли шрифт в
https://github.com/LogicDaemon/PersonalUseScripts/blob/master/misc/copy_putty_settings.ahk
--
En: For anyone who use putty, I've wrote a GUI utility to copy settings between sessions. Useful, for example, for updating font or term type in all sessions.
Questions welcome.
Default Session
, и желаете применить его во всех остальных).https://github.com/LogicDaemon/PersonalUseScripts/blob/master/misc/copy_putty_settings.ahk
--
En: For anyone who use putty, I've wrote a GUI utility to copy settings between sessions. Useful, for example, for updating font or term type in all sessions.
Questions welcome.
Коллеги прислали (bash's echo is broken)
https://youtu.be/lq98MM2ogBk
https://youtu.be/lq98MM2ogBk
YouTube
bash's echo command is broken
Bash's echo command is broken. You can't reliably print variable contents using echo.
This video explores how it's broken, and some things you can do to work around it.
There's even a demo of a bug in some other software caused by the strange behaviour of…
This video explores how it's broken, and some things you can do to work around it.
There's even a demo of a bug in some other software caused by the strange behaviour of…
latest_python3.py
11.6 KB
Давно хотел запилить, и вот оно.
github.com/.../latest_python3.py
Скрипт находит последнюю версию python на официальном сайте, опционально: скачивает, в linux собирает из исходника, и ставит в
Если запустить без параметров, выведется краткая справка; если с
Перед запуском, установите lxml:
github.com/.../latest_python3.py
Скрипт находит последнюю версию python на официальном сайте, опционально: скачивает, в linux собирает из исходника, и ставит в
$HOME/.local
, а в windows просто скачивает exe и устанавливает пользователю.Если запустить без параметров, выведется краткая справка; если с
-h
или --help
— подробнаяПеред запуском, установите lxml:
pip install lxml packaging
Я сделал свой первый python3 asyncio скрипт. Сравнивает два каталога, и для одинаковых файлов (расположенных по одинаковому под-пути) устанавливает дату более старого.
Нужен, чтобы восстановить даты файлов из бэкапа после
set_older_datetimes_for_same_files.py
P.S. asyncio – какой-то ужас. Легче сразу на go писать.
Нужен, чтобы восстановить даты файлов из бэкапа после
git checkout
, но только тех, которые не поменялись.set_older_datetimes_for_same_files.py
P.S. asyncio – какой-то ужас. Легче сразу на go писать.
GitHub
PersonalUseScripts/set_older_datetimes_for_same_files.py at master · LogicDaemon/PersonalUseScripts
scripts for my personal use. Nothing private, but barely useful for others - PersonalUseScripts/set_older_datetimes_for_same_files.py at master · LogicDaemon/PersonalUseScripts
concurrency в python:
*
*
*
*
Threading
: работает как ожидается, внедрять можно постепенно в отдельные модули, остальная программа может про это вообще ничего не знать. Но отдельный тред создаётся на каждый чих, либо надо писать собственный пул-менеджер.*
Concurrent.futures
: только для простых задач или для одной процедуры (main?), т. к. если таска в pool'е, и попытается запустить другую таску, может случиться дэдлок прямо в этом месте (если пул уже будет заполнен)*
asyncio
(async
, await
): вроде лишен этих недостатков, но требует полного переписывания всего кода. "Постепенное" внедрение невозможно. Все синхронные примитивы, типа стандартного open(), все операции с файлами, все вызовы внешних библиотек, не поддерживающих asyncio, блокируют всю программу целиком.Коллега посоветовал
Выглядит хорошо.
gevent
.Выглядит хорошо.
from gevent import monkey; monkey.patch_all()
Нашел для python модуль logicmin, минимизирующий логику по таблицам истинности; причем в моём случае оптимизированная логика используется, чтобы объяснить, почему то или иное состояние приводит к определённому действию сервера.
Вроде, то же самое умеет pyeda, но logicmin явно меньше и проще.
Вроде, то же самое умеет pyeda, но logicmin явно меньше и проще.
GitHub
GitHub - dreylago/logicmin: Logic Minimization in Python
Logic Minimization in Python. Contribute to dreylago/logicmin development by creating an account on GitHub.
С прискорбием узнал, что KC Softwares закрывается :-( SUMo и DUMo больше не работают, и больше никогда работать не будут.
Замены им нет, пока (временно) начал использовать https://github.com/NexovaDev/UpdateHub, но он из нескольких сотен программ видит пару десятков :-(
Замены им нет, пока (временно) начал использовать https://github.com/NexovaDev/UpdateHub, но он из нескольких сотен программ видит пару десятков :-(
GitHub
GitHub - NexovaDev/UpdateHub: UpdateHub is an app that simplifies updating software on your computer. A user-friendly interface…
UpdateHub is an app that simplifies updating software on your computer. A user-friendly interface allows you to quickly check for and install available updates for your operating system and applica...
забавное интервью. Тем, насколько я согласен с Bobuk-ом, и не согласен с интервьюером https://youtu.be/Ro1T-e0455g, особенно в последних ~30 минутах.
Скрипт для бэкапа почты из IMAP4. И бойлерплейт для питонячих скриптов с CLI и чтением конфига (причем параметры конфигурации в CLI и конфиге идентичны, их не надо указывать дважды)
https://t.me/logicdaemon_pub/6
https://t.me/logicdaemon_pub/6
Telegram
LogicDaemon-pub
Just wrote a simple IMAP4 backup script, which is mostly a boilerplate of a CLI with a config file, which shows expected locations of the config when invoked with --help.
To use with gmail, create app password first in https://myaccount.google.com/apppasswords
To use with gmail, create app password first in https://myaccount.google.com/apppasswords
Интересная Copilot-like дополнялка-рефакторилка https://marketplace.visualstudio.com/items?itemName=Morph.rift-vscode https://github.com/morph-labs/rift
Есть фичи, которых нет в Copilot, но нет автоподбора контекста из открытых и соседних файлов (который есть в Copilot).
Модель выбирается: можно использовать OpenAI-шное (если есть токен), но можно и локальные модели GPT4All и HuggingFace.
Есть фичи, которых нет в Copilot, но нет автоподбора контекста из открытых и соседних файлов (который есть в Copilot).
Модель выбирается: можно использовать OpenAI-шное (если есть токен), но можно и локальные модели GPT4All и HuggingFace.
commit_message.py
20.4 KB
тут в пятницу и сегодня утром запилил генератор commit message по git diff-у, используя gpt4all (тестировал с
mistral-7b-openorca.gguf2.Q4_0.gguf
но может заработать и с другими моделями).а WSA оказывается и на Windows 10 рабоатет https://github.com/YT-Advanced/WSA-Script/
GitHub
GitHub - YT-Advanced/WSA-Script: Integrate Magisk root and Google Apps into WSA (Windows Subsystem for Android) with GitHub Actions
Integrate Magisk root and Google Apps into WSA (Windows Subsystem for Android) with GitHub Actions - YT-Advanced/WSA-Script
Есть такая штука, генератор парольных фраз на javascript'е, давно пользуюсь https://www.fourmilab.ch/javascrypt/pass_phrase.html
Кроме парольных фраз, бывает удобно генерировать и e-mail'ы для моего домена.
Открывать новую страницу в браузере и вручную копипастить оттуда надоело, поэтому я запилил (вдохновляясь тем самым javascrypt и его словарем) пару скриптов:
email.ahk — использует буфер обмена в качестве суффикса, и набирает на клавиатуре сгенерированный e-mail. Его предполагается вешать на горячую клавишу;
pass_phrase.ahk — GUI, генерирует e-mail и набор слов в поле, откуда их можно скопировать.
Оба читают
Кроме самих скриптов, потребуется wordstab.txt оттуда же.
Кроме парольных фраз, бывает удобно генерировать и e-mail'ы для моего домена.
Открывать новую страницу в браузере и вручную копипастить оттуда надоело, поэтому я запилил (вдохновляясь тем самым javascrypt и его словарем) пару скриптов:
email.ahk — использует буфер обмена в качестве суффикса, и набирает на клавиатуре сгенерированный e-mail. Его предполагается вешать на горячую клавишу;
pass_phrase.ahk — GUI, генерирует e-mail и набор слов в поле, откуда их можно скопировать.
Оба читают
%LocalAppData%\_sec\EmailSuffix.txt
и дописывают первую строчку к сгенерированному e-mail-у.Кроме самих скриптов, потребуется wordstab.txt оттуда же.
Режим Agent у Copilot — 💪
С ним сегодня за утро замутил скрипт, который репостит новости с сайта Магти в телегу https://t.me/magticomnews_wonderdays
При этом 99% этого кода Copilot написал сам. И потом ошибки исправлял (после запроса).
https://github.com/LogicDaemon/tgbot/
С ним сегодня за утро замутил скрипт, который репостит новости с сайта Магти в телегу https://t.me/magticomnews_wonderdays
При этом 99% этого кода Copilot написал сам. И потом ошибки исправлял (после запроса).
https://github.com/LogicDaemon/tgbot/
Telegram
MagtiGeWonderDays-Reposted
wonder days from <https://www.magticom.ge/en/about-company/news>; not affilliated with magticom, maintained by @logicdaemon