Дописи
Блог
Прозорість: більшість дописів тут створено за допомогою ШІ, а неанглійські версії перекладені локальною LLM і вичитані. Помітили помилку? Напишіть мені.
-
Моніторинг та безпечне керування парком систем живлення постійним струмом через SNMP
Трекер систем живлення Eltek знаходить ректифікаційні електростанції з Zabbix, класифікує їх шляхом зондування OID ідентичності SNMP проти редагованих профільів для кожного виробника, опитує кожні 15 хвилин на предмет метрик та інвентаризації компонентів, і дозволяє операторам змінювати параметри контролера через SNMP за жорсткими запобіжниками — валідація, підтвердження, встановлення, зчитування, аудит, відкат.
-
Знаючи, що насправді дозволяє ваша конфігурація Nginx — аудитор, який обчислює фактичний доступ
nginx-acl-guard парсить конфіг nginx з crossplane, обчислює ефективну політику доступу для кожного server/location та захищає редагування за допомогою пайплайна, який відрізняє ефективний доступ і відмовляється від будь-якого непідтвердженого розширення — git backup, nginx -t на staging, atomic swap, rollback.
-
Самоперекладаючий блог: SQLite, редактор Markdown та локальна LLM
Як це блог працює під капотом — пости зберігаються в SQLite та рендерять Markdown у момент запиту, адміністративний редактор замінює файли часу збірки, а локальна модель Gemma створює чернетки російської та української версій для мого огляду перед публікацією.
-
RAG для расплывчатых вопросов, детерминированный CLI для точных
maximo-ticket-tools — інструментарій лише для читання над системою тікетів IBM Maximo: індексуйте його в локальний Onyx RAG для питань природною мовою, але відповідайте на питання «скільки» за допомогою детермінованих запитів, ніколи LLM. Плюс дашборд PoP-map та спостерігач Telegram.
-
Оренда будинку з локальним LLM як фільтром
home.khanoff.com — спостерігач, який витягує свіжі оголошення про оренду житла з двох українських джерел, оцінює кожне за розмитими людськими критеріями за допомогою локальної LLM та надсилає мені повідомлення в Telegram. Модель ніколи не перебуває на шляху прийому даних (ingest path).
-
Портал для мешканців товариства власників будинків — на чистому PHP та SQLite
osbb-wh.pp.ua — приватний веб-кабінет для членів ОСББ: оголошення, документи, автореєстр з OCR номерних знаків, опитування, квитки до правління та внутрішня пошта. Без фреймворку, без MySQL — PHP 8.3 та файл SQLite.
-
Покидання WordPress: міграція мого сайту на Astro та SQLite
Чому я замінив встановлення WordPress обсягом 475 МБ на andrew.khanoff.com одним контейнером Astro та файлом SQLite — і як я здійснив перехід із нульовим простоєм та відкатом однією командою.
-
Щоденний конвеєр GitHub → локальна LLM, який пише мої проєктні картки
Як автоматично заповнюється розділ "Projects" на цьому сайті: cron job зчитує мої приватні репозиторії, просить локальну модель Gemma створити опис та об'єднує результат у SQLite — ніколи не перезаписуючи мої правки чи витік приватної репозиторії.
-
Сімейний документний хаб з толерантністю до помилок за допомогою FastAPI та Meilisearch
start.khanoff.com — теплий, самостійно розміщений хаб для всієї родини: документи, інструкції, рецепти, посилання та відео за однією прощаючою пошуковою строкою. FastAPI + HTMX + Meilisearch + Immich, вхід через magic-link, PWA.
-
Створення самостійно розміщеного резюме з використанням Astro, SQLite та локальної LLM
Як побудовано andrew.khanoff.com — серверно відрендерений Astro, єдине джерело правди у вигляді SQLite, адмін-панель лише з passkey та щоденний конвеєр GitHub→local-LLM, який створює чернетки карток проєкту.
-
Автоматичне блокування зловмисників за допомогою BGP — система виявлення вторгнень (IDS), яка анонсує маршрути чорних отворів
Suri Defender: потоки виявлення (CrowdSec + fail2ban) керують route-injector ExaBGP, який оголошує шкідливі IP як маршрути RTBH через iBGP, тому трафік атаки відкидається на межах мережі — а не на сервері. Стек обсягом 2.7 ГБ переписано до кількох сотень МБ.