создаю вещи, которые делают повседневную жизнь немного проще. в основном программы, автоматизацию и небольшие инструменты для задач, с которыми сталкиваюсь сам.
мне важны полезные вещи, простые решения и внимание, с которым их доводят до ума.
делаю восстановление по расписанию надёжнее, а управление проще и безопаснее.
транспортные инструменты
улучшаю обработку меняющейся информации в kontrole & vilciens, сохраняя приватность.
автоматизация телефона
помогаю android-задачам восстанавливаться после сбоев и спокойно ждать между запусками.
работа и публикация
слежу за потреблением ресурсов сервисами и готовлю проекты к публичному выпуску.
это текущие задачи; ниже описано то, что уже сделано.
что я сделал
действующие системы, небольшие полезные инструменты и несколько опытов, которые меня чему-то научили.
текущая работа
системы, которые я развиваю и поддерживаю.
ticket remote
браузер и телефон
интерфейс в браузере для запроса контролируемых действий на android-телефоне и просмотра результата.
зачем
доступ, состояние телефона или обрыв связи могут прервать даже простую задачу.
что получилось
контроль доступа, действия под наблюдением, проверки состояния, надёжное расписание и понятные результаты.
что можно посмотреть
ссылка на проект — ниже. идентификаторы устройств, данные доступа, коды управления, билеты и приватное состояние здесь не публикуются.
kontrole & vilciens
общественный транспорт
карты, транспортные сводки и движение поездов для поездок по риге и за её пределами.
зачем
полезная информация разбросана между остановками, маршрутами и постоянно меняющимися сообщениями.
что получилось
веб-сервисы и telegram для карт, происшествий, отправлений и движения поездов, с руководствами на нескольких языках.
что можно посмотреть
сайты показывают, как всё работает. личные сообщения и внутренний анализ остаются закрытыми.
управление pixel / android
автоматизация телефона
среда для наблюдения за android-задачами и восстановления после прерываний.
зачем
задачи зависят от состояния приложения и телефона, длительных процессов и нестабильных соединений.
что получилось
среда на kotlin и adb с контролем задач, отчётами о состоянии и восстановлением для ticket remote и других телефонных процессов.
что можно посмотреть
публичный pixel-phone описывает устройство среды. идентификаторы устройств, приватные адреса, состояние аккаунтов и журналы закрыты.
собственная серверная инфраструктура
работа сервисов
среда, в которой я развёртываю и запускаю go-сервисы на своей инфраструктуре.
зачем
даже небольшим сервисам нужны повторяемые релизы, пределы ресурсов, видимые сбои и возможность отката.
что получилось
linux и docker для релизов, мониторинга, проверок состояния, ограниченной диагностики, управления dns и откатов.
что можно посмотреть
public-ops показывает структуру и рабочие приёмы. хосты, адреса, порты, данные доступа, панели и приватное состояние исключены.
вспомогательные проекты
инструменты для публикации работ и управления доступом.
github manager
публикация проектов
способ превращать локальные проекты в понятные публичные репозитории и поддерживать их синхронизацию.
зачем
в рабочих папках код часто смешан с приватными данными, лишними файлами и неочевидным контекстом.
что получилось
python-пакет для поиска, проверки, очистки, описания, публикации и синхронизации проектов с явным выбором публичного содержимого.
что можно посмотреть
главный репозиторий описывает установку и проверки. его frontend- и backend-зеркала — части одного проекта.
управление подпиской
приватный проект
мини-приложение для доступа, продления подписки и понятного статуса аккаунта.
зачем
доступ, продление, состояние оплаты и поддержка должны работать согласованно.
что получилось
приватный процесс доступа и продления с мини-приложением и ясным статусом для пользователя.
что можно посмотреть
здесь описаны только общий замысел и подход к надёжности. данные бизнеса, платежей, клиентов, аккаунтов и восстановления закрыты; публичного репозитория нет.
небольшие инструменты
конкретная задача и решение для неё.
csv network map
карты и данные
карта с поиском, на которой измерения из таблиц проще изучать и сравнивать.
зачем
место и параметры соединения трудно сравнивать построчно. исходные файлы могут содержать приватные колонки.
что получилось
связанные точки и записи, сводки, поиск и фильтры. ip-адреса исключены.
что можно посмотреть
измерения скорости опубликованы на карте. поля с ip-адресами не входят в открытый набор данных.
главная с частицами и игра
интерактивный веб
спокойная сцена с частицами, которая открывается в интерактивную игру.
зачем
графика должна работать на слабых устройствах, с касанием, клавиатурой, хорошим контрастом и уменьшенным движением.
что получилось
адаптивная симуляция с фоновым и игровым режимами, разными способами ввода, сохранением, тактильным откликом и контролем скорости. у webgpu есть запасной canvas 2d.
что можно посмотреть
обе страницы открыты. проверки охватывают отрисовку, время, контраст, сессии и ввод.
codex auth rotator
утилита для macos
нативное приложение для просмотра и переключения сохранённых вариантов входа в codex.
зачем
похожие файлы аккаунтов мешают быстро понять, какой из них нужен.
что получилось
приложение на swift находит сохранённые варианты, показывает активный и позволяет осознанно переключиться. есть запасной путь через командную строку.
собирает календари латвийских судов в одну книгу для поиска и анализа.
зачем
заседания разнесены по месяцам и типам дел, а страницы используют старую кодировку.
что получилось
обход страниц windows-1257, согласование общих и специальных полей, добавление текста упомянутых законов и сводок к уголовным делам, экспорт в excel.
что можно посмотреть
репозиторий показывает этапы обработки и структуру результата, чтобы преобразование можно было проверить.
task-executor
задачи по расписанию
небольшая публичная оболочка для запуска обслуживания по расписанию.
зачем
расписание должно легко проверяться без раскрытия приватных адресов и бизнес-операций.
что получилось
shell-скрипты, github actions и документация показывают, когда и как запускаются задачи.
что можно посмотреть
репозиторий раскрывает механизм расписания. вызываемые им операции приложений остаются приватными.
правила dns arbuzas
небольшой файл правил
список блокировки dns с историей версий и понятным местом для проверки изменений.
зачем
правило, спрятанное в локальном файле, трудно найти, обсудить или поддерживать.
что получилось
публичное описание правил с контекстом и историей изменений.
что можно посмотреть
правила и история доступны прямо на github. для этой задачи достаточно документа.
переименование файлов google takeout
файловая утилита
небольшой python-скрипт для исправления имён повторяющихся json-файлов в экспорте google takeout.
зачем
номер копии может оказаться после неверного расширения, а исправлять большой экспорт вручную утомительно.
что получилось
скрипт отделяет имя, номер копии и расширение, затем собирает их в едином порядке.
что можно посмотреть
в репозитории есть скрипт, примеры до и после и предупреждение о перезаписи, которое нужно прочитать до запуска.
архив
ранние инструменты, эксперименты и форки с указанием исходных проектов.
уведомления gribu.lv в telegram
личная автоматизация
наблюдатель с управлением через telegram, который сообщает о значимых изменениях числа непрочитанных сообщений.
зачем
постоянные проверки отвлекают, а шумные уведомления лишь добавляют забот.
что получилось
python-сервис с командами запуска, остановки, статуса, отладки, проверки, входа и помощи; адаптивным опросом, поддержкой сессий, повторами и проверками состояния.
что можно посмотреть
репозиторий описывает команды, уведомления только при изменениях, запуск в контейнере и работу с секретами и истёкшими сессиями.
форк clawdex cloudflared
форк и эксперимент
эксперимент с управлением codex с телефона и macos через cloudflare tunnel.
зачем
удалённому доступу нужны чёткие границы между хостом, мостом, клиентом и туннелем.
что получилось
macos-хост, rust-мост, expo-клиент, правила, проверки состояния, туннель и старый путь на typescript. до контролируемого открытия мост доступен только на localhost.
что можно посмотреть
это форк существующего проекта. публичный репозиторий указывает первоисточник и описывает компоненты и настройку.
старые форки и эксперименты
архив
два форка автоматизации как запись того, что я изучал.
зачем
старым экспериментам нужен контекст и ясное указание авторов исходного проекта.
что получилось
эксперименты с duolingo и microsoft e5 auto-renew. это форки, а не поддерживаемые оригинальные релизы.
что можно посмотреть
связи с исходными проектами видны на github. эти работы остались здесь как история обучения.
как я работаю
начать с реальной задачи
непонятная поездка, повторяющаяся проверка, запутанный экспорт. мне интересно находить небольшие проблемы, которые постоянно отнимают внимание.
оставить простым
иногда помогает страница. иногда хватает скрипта или документа. я стараюсь выбрать самое небольшое решение, которое приносит пользу.
позаботиться о деталях
проверяю то, что человек видит и использует: страницу, телефон, ссылки и поведение при сбоях. личные данные остаются личными.