@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"
не может прочитать его!January 18, 2023
Вы пользуетесь 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.
January 23, 2023
Коллеги прислали (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…
January 23, 2023
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
January 31, 2023
Я сделал свой первый 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
February 20, 2023
concurrency в python:
*
*
*
*
Threading
: работает как ожидается, внедрять можно постепенно в отдельные модули, остальная программа может про это вообще ничего не знать. Но отдельный тред создаётся на каждый чих, либо надо писать собственный пул-менеджер.*
Concurrent.futures
: только для простых задач или для одной процедуры (main?), т. к. если таска в pool'е, и попытается запустить другую таску, может случиться дэдлок прямо в этом месте (если пул уже будет заполнен)*
asyncio
(async
, await
): вроде лишен этих недостатков, но требует полного переписывания всего кода. "Постепенное" внедрение невозможно. Все синхронные примитивы, типа стандартного open(), все операции с файлами, все вызовы внешних библиотек, не поддерживающих asyncio, блокируют всю программу целиком.February 20, 2023
Коллега посоветовал
Выглядит хорошо.
gevent
.Выглядит хорошо.
from gevent import monkey; monkey.patch_all()
February 20, 2023
Нашел для 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.
April 11, 2023
С прискорбием узнал, что 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...
November 6, 2023
забавное интервью. Тем, насколько я согласен с Bobuk-ом, и не согласен с интервьюером https://youtu.be/Ro1T-e0455g, особенно в последних ~30 минутах.
January 2, 2024
Скрипт для бэкапа почты из 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
February 8, 2024
Интересная 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.
February 13, 2024
commit_message.py
20.4 KB
тут в пятницу и сегодня утром запилил генератор commit message по git diff-у, используя gpt4all (тестировал с
mistral-7b-openorca.gguf2.Q4_0.gguf
но может заработать и с другими моделями).April 1, 2024
а 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
April 29, 2024
Есть такая штука, генератор парольных фраз на 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 оттуда же.
November 28, 2024
Режим 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
March 30