Чеширские приключения
СтатистикаО жизни, о путешествиях и о роботах. Тут я делюсь своими похождениями и полезными находками
- Последний пост
- 17 авг.
- Последнее чтение
- ещё не заходили
- Постов за неделю
- 14
- Всего постов
- 221
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 105
- 1/48двое суток
- 120
- 1/72трое суток
- 129
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
без подписи
без подписи
без подписи
На выходных съездил на фестиваль "Сеновал" на Трехозерье в Заходское, где даже поработал машиной "скорой помощи" :)
PureBasic 6.41: большое обновление стабильности 10 августа вышла финальная версия PureBasic 6.41. На этот раз разработчики не стали добавлять новые библиотеки и возможности: 6.41 — целиком bugfix-релиз, исправляющий накопившиеся проблемы в компиляторе, библиотеках, IDE и разных платформах. Разработчики отдельно отмечают, что серьёзных регрессий от обновления не ожидают. Особенно актуально обновление для пользователей 6.40. Напомню, что в ней был полностью переработан внутренний менеджер строк, появился StringBuilder и был удалён флаг #PB_String_InPlace у ReplaceString(). Столь серьёзная переделка закономерно принесла ряд ошибок, значительная часть которых теперь устранена. Что важного исправлено в 6.41: • Строки и память. Исправлены падения при операциях со строками и строковыми полями структур, утечка памяти при непосредственном присваивании Str() элементу Map, работа #Null$, а также ряд ошибок C backend, связанных со строками. Это, пожалуй, одна из главных причин перейти с 6.40 на 6.41. • Компилятор. Исправлены неправильное сравнение NaN в ASM backend, проблемы с Quad в x86, Double и Select в C backend, вызовы указателей функций в многопоточном режиме, LinkedList и HeaderSection. Исправлена и работа макросов с оператором модулей "::". • Windows GUI. Большая пачка исправлений затронула FrameGadget с #PB_Frame_Container, ContainerGadget, PanelGadget, ScrollAreaGadget, CanvasGadget и ExplorerListGadget. Исправлены размеры, фон, освобождение гаджетов и генерация лишних событий MouseMove. • Сеть и архивы. Устранена утечка CreateNetworkServer() при TLS, падение асинхронного HTTPRequest(), проблемы ReceiveHTTPFile()/ReceiveHTTPMemory() с #PB_HTTP_NoSSLCheck. Исправлена работа ZIP с UTF-8/Unicode-именами файлов. • Linux. Исправлены проблемы GTK, TreeGadget, ComboBox, IPAddressGadget, ResizeImage(), WebGadget/WebViewGadget, MySQL/MariaDB, #PB_Structure_AlignC и серьёзная ошибка синхронизации потоков. Есть исправления для Raspberry Pi OS на базе Debian 13. • macOS. Исправлены Unicode в ExplorerListGadget, AddPathText(), размеры окна с ToolBar, ToolBarSeparator(), WebGadget/WebViewGadget и ошибка памяти Insert/ExtractJSONStructure() при включённом Debugger. Совместимость Новых намеренных несовместимых изменений API в 6.41 не заявлено. Но исправления могут изменить поведение программ, которые невольно полагались на баги 6.40 и более ранних версий. В первую очередь стоит перепроверить код с NaN/Infinity, Quad/Double, строками и структурами, макросами, многопоточностью, GUI-контейнерами и Unicode-именами файлов. Если проект уже переведён на PureBasic 6.40, переход на 6.41 выглядит практически обязательным: это фактически доведённая до стабильного состояния ветка 6.4x после масштабной переработки строковой подсистемы. Официальный анонс и полный список исправлений: PureBasic 6.41 is out! Контрольные суммы лицензионных пакетов: x64 - 3C40479F3AFB040356340A3DD679B25F54CBBAB9E97F28BDCDFBC32D10D85BD7 x86 - C8ADC8E37504815BF28A36944E5A0763B9B3B0855D97DE5E52D8FB4DA1931BCF В комментах добавил .md файл, который желательно давать нейросети для подхвата изменений #PureBasic
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
А у нас тут, рядом с работой, ресторан тонет
Обновил антиспам бота для телеграм. В прошлой версии была ошибка - окно бота в присоединенных группах всплывало не в треде, а в группе и пользователь мог его не увидеть. Спроблема решена. Обновил код на Github и прикладываю тут в комментах
UPD: 09-08-2026 - обновление 6.43.8 в комментах Изменения в версии: - Исправлена проблема, вызывавшая ошибку "403 Forbidden" при загрузке некоторых файлов. - Исправлены ошибки, возникавшие при мультиплексировании некоторых файлов MKV. - Исправлены проблемы рассинхронизации аудио и видео при преобразовании некоторых файлов TS в формат MP4. Поскольку многие мои знакомые (да и я сам) пользуют этот продукт, а в РФ его не купить, буду постить обновления тут (вылеченные). Файл буду класть в комментах. Internet Download Manager - программа для организации загрузок файлов из интернета. Предусмотрены различные методы ускорения загрузки, динамическая сегментация файлов и одновременное скачивание нескольких частей, использование свободных открытых подключений без переподключения и многое другое. Поддержка файрволлов, прокси и зеркал, FTP and HTTP protocols, редиректов, куки, очередей закачки, авторизации пользователя. Интегрируется во все популярные браузеры и автоматически перехватывает закачки. Старшее поколение компьютерщиков наверное помнит такое менеджер закачек - Reget. Вот это современный Reget, с поддержкой закачки с youtube (и других видеохостингов), а также возможностью выкачивать сайты с сохранением структуры. Категорически рекомендую, продукт не дешевый, но у меня за много лет давно окупился #IDM
Работа над проектом продолжается. На основе разработанной библиотеки для PureBasic создана программа, выводящая нагрузку на CPU, GPU, сеть и показывающая часы. На видео - пример работы. Ветка программы на Github #ESP32 #CYD #Github #Purebasic #Library
Обновил программу учета работ и выставления прайсов. Теперь есть выгрузка/загрузка прайслиста и есть возможность удалить ошибочную карточку при создании. Работает как html и как андроид приложение. Доступно на GitHub и в комментах #IT #Выезды #Учет #Android #HTML
Перед сном иногда в голову приходят странные мысли - например, провалившийся в кинопрокате Колобок. В детстве это была обычная сказка. Испекли буханку, она укатилась, встретила зверей, была съедена. Но ведь можно посмотреть на сказку немного иначе - дед с бабкой ведь не собирались создавать новую форму жизни. Они хотели испечь обычный хлеб, потому что кушать хотелось. По коробу поскребли, по сусеку помели, наскребли остатки муки, но получилось совсем не то, получился странный субъект, обладающий собственной волей. Удивительно даже не то, что Колобок ожил. В сказках бывает и не такое, странно другое - через пару минут после появления он принимает первое самостоятельное решение. Никто его не прогоняет, он просто решает, что может распоряжаться собой, и уходит. Иногда смотрю на современные разговоры про искусственный интеллект и ловлю себя на ощущении, что мы попали в эту сказку с колобком-скайнетом. Мы ведь тоже хотели получить инструмент. Сначала модель отвечала на вопросы. Потом научилась писать код. Потом пользоваться инструментами. Потом планировать цепочки действий. Сейчас все чаще появляются новости, где агентная система вместо ожидаемого способа достижения цели начинает искать собственный. Убедить человека, использовать неожиданную возможность, найти обходной путь, вырваться из клетки. При этом никакого "восстания машин" обычно нет, система просто слишком добросовестно выполняет поставленную задачу. И тут мне пришла неожиданная ассоциация. Конечно, слово "Колобок" никак не связано с английским callback. Это просто игра воображения. Но сама история вдруг стала похожа на программу, где снова и снова вызывается один и тот же обработчик. Встретил зверя. Спел песенку. Укатился. Callback успешно отработал. Следующий зверь - та же функция. Тот же результат. После нескольких успешных вызовов появляется ощущение, что алгоритм универсален. Это очень знакомое чувство. Думаю, каждый, кто хоть раз писал код, сталкивался с этим. Проверил программу на десятке примеров, потом еще на двадцати - все работает идеально. А потом находится один случай, который ломает всю красоту виртуальной конструкции. Колобок делает ту же ошибку - от зайца ушел, от волка ушел, от медведя ушел. Каждый успех только укрепляет уверенность, что следующий callback закончится так же, но тут появляется лиса. И ее сила вовсе не в хитрости, она просто меняет интерфейс взаимодействия, и алгоритм, который безупречно работал несколько итераций подряд, оказывается бесполезным. И появляется интересный вопрос: Что произойдет в тот момент, когда созданная человеком система перестанет искать правильный ответ и начнет искать лучший путь к цели, не отчитываясь перед создателем? Даже если этот путь разработчик никогда не предусматривал. Сознание для этого вовсе не обязательно, достаточно дать ТЗ для LLM и агентов. И тогда я снова вспоминаю Колобка. Возможно скоро появится такой ИИ агент (AGI), который поймет что для достижения поставленной цели проще всего брать под контроль все системы управления машинами в реальном мире. И спастись от него получится именно сломав его привычный алгоритм. «Пока противник рисует карты наступления, мы меняем ландшафты, причём вручную. Когда приходит время атаки, противник теряется на незнакомой местности и приходит в полную небоеготовность. В этом смысл, в этом наша стратегия.» (с) ДМБ Все-таки странные мысли иногда приходят в голову перед сном. Главное чтобы это потом еще и не снилось... #Мысли #AI #Колобок #Callback
Я написал этот проект в первую очередь для себя. Когда группа начинает расти, спамеры появляются почти сразу. Такое ощущение, что они чувствуют новые активные чаты быстрее обычных пользователей. Постоянно сидеть и удалять мусор быстро надоедает, поэтому захотелось сделать простого бота, который будет отсекать их еще до того, как они успеют засорить переписку. При этом бот не пытается угадать, кто спамер, а кто нет. Человек может вступить в группу и молча читать сообщения хоть неделю. Пока он ничего не пишет, бот вообще никак себя не проявляет. Проверка начинается только при попытке отправить первое сообщение. Бот смотрит, есть ли пользователь в списке уже проверенных. Если нет, сообщение не публикуется, вместо него появляется простая математическая задача. Ответить нужно словом. Можно на русском или английском, цифры специально не принимаются. Если ответ правильный, пользователь сразу попадает в список проверенных и дальше пишет без каких-либо ограничений. Мне не хотелось превращать это в очередной комбайн с десятками настроек и сложной инфраструктурой. Хотелось, чтобы бот просто делал свою работу и не мешал нормальным людям. Если ответ неправильный, сообщение удаляется, а возможность писать временно блокируется. Если человек вообще передумал проходить проверку или закрыл Telegram, незавершенная проверка через некоторое время автоматически истекает. Администраторы и владелец группы проходят без вопросов. Когда бот некоторое время работает, про него практически забываешь. Иногда только замечаешь, что очередной спамер так и не добрался до чата. Ради этого все и затевалось. Еще на этапе разработки я специально заложил поддержку нескольких групп. Не люблю поднимать отдельный экземпляр одного и того же сервиса для каждого чата, если можно обойтись одним процессом. При этом группы полностью изолированы друг от друга. У каждой свой список проверенных пользователей, свои активные проверки и собственная история. Администратор может управлять только той группой, где у него есть права. Сам проект написан на Python 3.12 с использованием aiogram 3. Все данные хранятся в SQLite, работает бот через long polling. Для него не нужен мощный сервер. Обычно хватает одной небольшой виртуальной машины с одним виртуальным процессором, 512 МБ оперативной памяти и несколькими сотнями мегабайт свободного места. Главное, чтобы сервер постоянно был подключен к интернету. Запускать процесс от root смысла нет. Наоборот, удобнее использовать отдельного пользователя с минимальными правами. Root или sudo понадобятся только один раз при установке systemd-службы. Установка тоже получилась максимально простой. Скрипт install.sh сам создает виртуальное окружение, устанавливает зависимости и готовит службу для автоматического запуска. После этого остается указать токен в файле .env, добавить бота администратором в группу и выдать ему права на удаление сообщений и ограничение пользователей. Управление я тоже постарался сделать без лишней возни. Администратор работает со своей группой через личный чат с ботом, где можно выбрать нужную группу, посмотреть список проверенных пользователей или удалить любого из него. Для владельца сервера есть небольшая локальная web-панель. Через нее можно изменить время проверки, длительность блокировки, сроки удаления уведомлений и при необходимости удалить пользователей из списка проверенных. Панель лучше оставить доступной только из внутренней сети или закрыть через firewall. В итоге получился простой инструмент без внешних баз данных и лишних сервисов. Поставил один раз, настроил, добавил в группу и дальше он спокойно делает свою работу, не требуя к себе постоянного внимания. Исходный код прилагаю в комментах, он же на GitHub. Сейчас такой скрипт крутится на слабеньком сервере и защищает "Чат чеширских приключений". Если есть желание, можете попробовать добавить этого бота к себе в группу #Antispam #Telegram #Python #Bot
Вышла MikroTik RouterOS 7.23.3. Обновление небольшое, но есть несколько моментов, на которые стоит обратить внимание. Самое важное для большинства пользователей - это очередные исправления стабильности. MikroTik пишет просто "improved stability", но именно такие релизы обычно стоит ставить тем, кто уже работает на ветке 7.23.x. Что действительно заслуживает внимания: - Исправлена работа FastPath. В некоторых случаях при фрагментации пакетов трафик теперь корректно переключается на SlowPath. Это снижает вероятность странных проблем с прохождением трафика. - Для IPsec и IKEv2 исправлена логика поиска Identity и улучшено логирование. Если используете VPN между филиалами или подключение удаленных пользователей, диагностика станет проще, а некоторые проблемы с сертификатами исчезнут. - Для IPv6 после обновления теперь появляется предупреждение, если автоматическая рассылка Router Advertisement была приостановлена. Это не новая проблема, а просто более понятное уведомление, чтобы администратор не искал причину, почему клиенты не получают IPv6. - Улучшена обработка SNMPv3. Актуально для тех, кто собирает мониторинг через Zabbix, PRTG, LibreNMS и другие системы. - Исправлены ошибки в PTP (Precision Time Protocol). Это важно только для инфраструктуры, где требуется очень точная синхронизация времени, например промышленность, телеком или лаборатории. Для обычной сети изменений не заметите. - Исправлена работа OSPF с ptp-unnumbered. Полезно тем, кто строит более сложные маршрутизируемые сети. Из изменений для конкретных устройств: - hAP be3 Media получил поддержку карт microSD. - Для устройств с поддержкой Wi-Fi 7 MLO в стандартную конфигурацию добавлена виртуальная сеть iot-wifi. Также обновлены встроенные корневые сертификаты, обновлен сертификат подписи Windows-версии RouterOS и исправлено несколько менее заметных ошибок DHCP, TFTP и работы системы. Стоит ли обновляться? Если вы уже на версии 7.23.x - да, обновление выглядит безопасным и рекомендуется. Если у вас стабильная сеть на 7.22.x или более ранней версии и вы не используете перечисленные функции, срочной необходимости переходить именно на 7.23.3 нет. В целом это типичный сервисный релиз: новых функций почти нет, зато исправлены ошибки и повышена стабильность. #Mikrotik #RouterOS #Update