2026-03-17

Диаграммы и ztools

Выложил новую версию ztools. Добавил примеры работы с графикой - круговые и пончиковые диаграммы. Примеры почти целиком сгеренировал Codex. Из-за отсутствия прослойки вроде виртуального DOM размер библиотеки получается минимальный - ее можно включить в промт агенту целиком и агент сразу понимает как писать код с ее использованием.  Получается AI Friendly Dom-First Reactivity. Прям здорово!

 

Оставить комментарий

 
  2026-02-28

Опубликовал ztools

Меня давно волнует вопрос - почему javascript библиотеки такие грамоздкие? Репозиторий React занимает больше гигабайта! А точно, проблема, которую решает реакт может должна решаться набором программ с кодовой базой размером в 10 инсталлятора Windows NT?

Оживил, вернее переписал с нуля ztools.org.

Ztools - это небольшая библиотека размером всего в несколько сотен строчек кода на JavaScript, которые добавляют реактивность, конcтруирование dom элементов, веб-компоненты, SSR и многое другое...

Конечно это вайбкодинг, посмотрим что из этого получится...

 

Оставить комментарий

 
  2026-02-20

Поставил OpenClаw

Сказать, что я под впечатлением это ничего не сказать. Разработчик, который может жить в лаптопе и питается электричеством и токенами. При этом всегда готов помочь, умеет использовать все инструменты которые умеет использовать обычный человек, и создает свои, готов работать 24 часа в сутки за умеренную плату. Да, это не бесплатно - ему нужны токены и электричество, как джин из анекдота, исполняющий желания за деньги.

 

Оставить комментарий

 
  2026-01-12

Визуализация клавиатуры на экране

Просто удивительно, как быстро стало можно сделать прототип для своей идеи!

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

За пару выходных я сделал приложение, которое визуализирует мою раскладку, позволяя наглядно видеть, где расположены какие клавиши и что ещё можно улучшить или добавить!

 

Оставить комментарий

 
  2025-12-03

Запускаем локальный MCP сервер как удаленный

MCP-сервера — это супер-хайповая тема последних дней. Что в ней хайпового? Вы даёте LLM возможность взаимодействовать с реальным миром. Идея проста: LLM умеет формулировать запросы в JSON, а значит, она может почти без магии общаться с внешними инструментами по протоколу JSON-RPC!

Самый простой способ вызова MCP — это через локальный процесс через STDIO. Например, один из самых простых MCP-серверов — @modelcontextprotocol/server-filesystem — умеет работать с файловой системой. Говорим системе: вызови npx -y @modelcontextprotocol/server-filesystem /some/folder/name, и наша LLM теперь видит файловую систему и может её менять так, как вы её попросите.

Но в таком виде вызов MCP-сервера не имеет большого смысла: если вы используете IDE, то там агенты уже и так могут работать с файловой системой. Но что, если мы хотим иметь доступ не локально, а удалённо? В этом случае, установив на удалённый сервер тот же самый MCP-сервер, мы можем просто обращаться к нему через SSH, предварительно забросив на удалённый сервер SSH-ключи, чтобы сервер не спрашивал пароль. Обмен будет всё так же происходить через stdin/stdout, но сессия будет поддерживаться через SSH!

[mcp_servers.remote-filesystem] 
command = "ssh" 
args = ["user@someserver.com", "mcp-server-filesystem /home/user/foldertoaccess"]

Этот способ открывает широкие возможности для создания лёгких универсальных мобильных ассистентов, упрощает администрирование серверов, и ещё можно сделать многое, чему пока не дали названия. Но будьте осторожны — ведь удалить ваши файлы теперь LLM тоже сможет без проблем, поэтому пользуйтесь этой силой с умом!

 

Оставить комментарий

 
  2025-04-16

Самоиграющийся тетрис

Денис Ширяев в своем Telegram канале опубликовал интересный скрипт - тетрис который играет сам в себя постоянно улучшая свою игру при помощи генетического алгоритма. Примечательно то, что все это сделано одним промтом при помощи модели Gemini.

У на моем компьютере скрипт работает уже сутки - из 1000 генераций сделал 350, и все еще играет. Думаю при помощи градиентного спуска можно получить не менее эпичный результат!

 

Оставить комментарий

 
  2025-04-14

Фрактальная фотография

Вот тут чувак делает крутые фрактальные эффекты из стопкадров на видео - что это если не искусство?

 

Оставить комментарий

 
  2025-03-17

Вкалывают роботы

Попробовал новый инструмент Browser Use. Browser Use - это система автоматизации браузера на базе искуственного интеллекта. Для использования нужно использовать Python но есть и версия с интерфейсом. Говоришь системе, что ты хочешь и браузер автоматически делает то что тебе нужно - ищет в сети товары, делает онлайн заказ, ищет для нас работу, или работников, что угодно.

Я прям под впечатлением. Система использует OpenAI ключи, так что за пользование системой придется платить, один запуск стоит несколько центов, что в принципе вполне терпимо. Для автоматизации используется playwright который, оказывается умеет открывать браузер со всеми расширениями и пользовательскими сессиями, не знаю как он это делает но работает это круто!

 

Оставить комментарий

 
  2025-01-01

Программа для синхронизации заметок на телефоне

Долгое время использую для синхронизации связку Termux + git и доволен как слон. Однако настройка всего этого занимает массу времени и подходит только для технических задротов вроде меня. Подумал, существует ли что-то проще? Поиски в сети не дали каких-либо работающих решений, поэтому мне стало интересно, а можно ли запрограммировать что-то с нуля. Оказалось, что вполне реально. Существует реализация JGit под Java, которая вполне работает, если ее встроить в Android-приложение. Единственную проблему, которую я сейчас пытаюсь решить, это то, что файлы должны быть доступны в общем хранилище андроид-устройства, а напрямую доступа в это хранилище у Android-приложения нет, поэтому приходится дополнительно к операциям с git реализовать операции копирования из внутреннего хранилища устройства во внешнее и наоборот. Как сделать проще, я пока не придумал. Из-за этого мое решение работает значительно медленнее, чем решение на базе Termux. В принципе, не сильно критично, но неприятно - у меня в заметках несколько тысяч файлов, и ждать полторы минуты вместо сорока секунд, когда они синхронизируются, мне не хочется...

Если получится ускорить решение опубликую на Play Market вдруг такая программа не только мне окажется полезной?

Upd: Проблему со скоростью решил, теперь работает даже быстрее чем Termux, потестирую еще некорое время на предмет багов, но кажется получилось что-то полезное...

 

Оставить комментарий

 
  2024-10-11

И снова Штирлиц заметил...

У меня есть инстанс GitLab, на котором я хостю свои проекты. Сначала кто-то начал рассылать спам с помощью GitLab Runner, который также хостится там. "Поломали", подумал я. Пришлось сменить пароли и отключить GitLab Runner.

В какой-то момент я заметил, что на инстансе стали появляться новые пользователи, которых я не создавал. "Опять поломали", подумал я! Пришлось удалить всех чужих пользователей, обновить GitLab и проверить логи. Уязвимостей не нашел. Однако пользователи продолжали появляться, а я продолжал их удалять. Использование своего инстанса уже не приносило радости.

И вот, когда мне это надоело, и я решил убрать публичную ссылку под VPN, чтобы извне никто не мог достучаться до инстанса, я обратил внимание, что на главной странице моего GitLab есть ссылка "Зарегистрироваться". То есть, всё это время любой, у кого была ссылка на мой GitLab, мог создавать там пользователей. Я сам не закрыл эту возможность, когда настраивал сервис — балда! Странно, что за всё это время никто не начал майнить биткойны.

 

Оставить комментарий