Обновить

Автоматический контент-конвейер на n8n: WooCommerce → Gemini → Telegram, и грабли, на которые я наступила

В статье — разбор рабочей автоматизации на n8n, которая берёт новые товары из WooCommerce, генерирует под них контент через Google Gemini и публикует в Telegram без участия человека. Плюс — три конкретных бага, с которыми я столкнулась, и как их закрыла.

Читать далее

TGLock: приложение, которое помогает подключить Telegram в России

Уровень сложностиПростой

Telegram зависает на «Соединении…», а включать VPN для всего устройства не хочется? Я разрабатываю TGLock — бесплатное приложение с открытым кодом, которое помогает подключить Telegram через альтернативные маршруты. Покажу, как запустить его на компьютере, подключить телефон и проверить, работает ли такой способ в вашей сети. Объясню устройство программы, ограничения и изменения последнего релиза. Для начала не понадобятся собственный сервер или платная подписка.

Читать далее

Грабли MAX Bot API, которых нет в документации (проверено на живом проекте)

Уровень сложностиСредний

Грабли MAX Bot API, которых нет в документации (проверено на живом проекте) Грабля №1: неправильный домен и устаревшая авторизация Грабля №2: message\\\_callback, а не callback\\\_query Грабля №3: message лежит не там, где ожидаешь Грабля №4: вебхук молча блокирует long polling Грабля №5: /answers требует непустое тело

загляни

Первое разбитое окно: как в компании незаметно разрушается культура информационной безопасности

Уровень сложностиПростой

Первое разбитое окно» в информационной безопасности

Что происходит, если сотрудник видит, что правило ИБ можно нарушать — и ничего не происходит?

В 1969 году психолог Филип Зимбардо оставил два автомобиля с признаками «брошенности»: один в Бронксе, второй — в Пало-Альто.

В Бронксе машину начали разбирать почти сразу. В Пало-Альто она оставалась нетронутой. Позже исследователи сами начали разрушать автомобиль — и окружающие подключились к происходящему.

Для меня как CISO здесь есть важная аналогия.

В большой компании «разбитое окно» — это не обязательно инцидент.

Это может быть временное исключение, которое никто не закрыл. Общий privileged-аккаунт, который «пока нужен». Уязвимость, которую уже третий раз переносят. Передача рабочего файла через неразрешённый сервис. Или руководитель, которому разрешили обойти контроль, обязательный для остальных.

По отдельности всё это кажется мелочью.

Но сотрудники считывают не политики. Они считывают реальность.

Если нарушение существует месяцами, организация получает простой сигнал:

«Значит, так можно».

И в этот момент технический долг превращается в культурный.

Поэтому зрелость ИБ я бы измерял не только количеством внедрённых средств защиты. Важнее другое: как быстро компания замечает и устраняет свои «разбитые окна».

При этом задача CISO — не построить корпоративную полицию. Если один и тот же контроль постоянно обходят, стоит проверить не только людей, но и сам контроль. Возможно, безопасный путь слишком сложен.

Сильная безопасность — это среда, в которой правильное действие является самым простым.

Написал об этом подробнее в новой статье.

А какие «разбитые окна» в ИБ вы считаете самыми опасными?

Читать далее

Мой опыт работы с автономными AI-агентами: OpenClaw, Hermes и Ouroboros. Почему я решил собрать своего

Уровень сложностиПростой

Три агента, три точки отказа. Зачем я собрал своего

OpenClaw удобно писать с телефона, но на среднем проекте он забывал и личность, и своих же субагентов. Hermes ровнее пишет код и не теряет память. Ouroboros умеет переписывать себя — и именно поэтому в прод я его не пустил. Три системы параллельно — это три места, где всё разъедется. Рассказываю, что сломалось на живых задачах и почему в итоге остался один контур.

Читать далее

Пришёл тестировать, остался программировать: мой путь из QA в C#. Часть 1

Уровень сложностиПростой


В 18 лет случайно попал в QA, пережил два профессиональных прихода, добрался до автотестов и додумался перейти в разработку.

Читать далее

Экстремальный фандинг на мелких перпах: край, который умер в 2023

Уровень сложностиСредний

Идея «ловить экстремальный фандинг на мелких перпах» — единственный класс края, где маленький капитал считается преимуществом: фонды в мелкий контракт не заходят, а $10 000 заходят. Я проверил её на всей истории фандинга Binance USDT-M за 2019–2026: 658 перпов, из них 364 со спотовой парой (только их можно захеджировать), 1125 эпизодов, правило записано до расчёта. В 2021 году это работало — сотни эпизодов, у 63% плюс, отдельные монеты давали по 14–15% нотионала за три недели. С 2023-го по 2026-й — минус при любом чтении данных, в 2026 в плюсе всего 4% эпизодов. Ниже — правило, цифры по годам, три структурные причины смерти (учащённый фандинг, схлопывание всплеска за одну-две выплаты, отрицательный фандинг на свежих листингах) и оптимистичная граница, которая тоже не спасает. Код и все эпизоды в CSV — в открытом репозитории.

Читать далее

Шлюз к LLM на MikroTik: как я написал полноценный шлюз на 64m RAM

Уровень сложностиСредний

LLM‑шлюз на MikroTik: 64 МБ вместо виртуалки с LiteLLM

LiteLLM удобный, но на домашней лаборатории съедал целую виртуалку. Поставил шлюз к Ollama, vLLM и облаку прямо на MikroTik hAP ax³: бинарь ~12 МБ, лимит контейнера 64 МБ, в конце статьи — нагрузочный прогон.

Привет, Хабр. Статьи пишу нечасто, хотя рассказывать есть о чём. Сейчас я почти целиком в теме AI‑агентов и всего, что вокруг них крутится.

Читать далее

«Первый созвон только в нашем Zoom». Разбор фишинга под видом B2B‑клиента

Представлял фишинг как письмо: «ваш аккаунт заблокирован». Внутри ссылка на криво сделанную страницу с логотипом банка. Но вот столкнулся и оказалось, все намного хитрее.

Почти сутки я был уверен, что общаюсь с новым клиентом. Обсудил задачу, получил реквизиты компании, подготовил коммерческое предложение, договорился о созвоне. И только за десять минут до встречи меня подвели к тому, ради чего всё это затевалось: нужно было ввести пароль от Google.

Читать далее

Российские каталоги против MS AD: как проверить реальную работоспособность решения ещё до запуска пилота

Уровень сложностиСредний

Импортозамещение ИТ‑инфраструктур уже идет полным ходом и будет только набирать обороты в горизонте ближайших лет. Массовый переход компаний с Microsoft Active Directory на отечественные решения в рамках этого процесса сопряжен с выбором целевого каталога, от которого будет зависеть функциональность всей инфраструктуры данных.

В сообществе вендоров упрочнилась мысль о том, что для успешной трансформации каталога обязательным пунктом является запуск пилотного проекта. Он позволяет выявить слабые места и предотвратить потери ценных данных до основного перехода.

Однако нельзя упускать из поля зрения вопрос о выборе альтернативы Active Directory, который предшествует запуску тестовой миграции. Целесообразным будет заранее убедиться не только в том, что продукт совместим с операционной системой, но и в том, что учтены все технические различия с Active Directory.

Читать далее

Почему OCR и RAG недостаточно для промышленного архива: как превратить КД в трассируемые инженерные данные

Уровень сложностиСредний

Всё выглядит почти идеально: загружаем технический чертёж, модель распознаёт деталь, видит размеры, резьбу, шероховатость, материал, примечания и через несколько секунд выдаёт структурированное описание. Ещё несколько лет назад на такой разбор инженер тратил заметно больше времени.

Читать далее

От ML-модели к NPV: как проверить экономику персонализации до начала разработки

Уровень сложностиСредний

Персонализация давно стала почти обязательным пунктом в презентациях о цифровой трансформации. Собираем данные о клиенте, строим модель склонности к покупке, выбираем наиболее подходящее предложение — и ожидаем рост конверсии.

Но есть менее эффектный и, на мой взгляд, более интересный вопрос:

какой прирост продаж должна обеспечить персонализация, чтобы инвестиции в неё вообще имели экономический смысл?

В рамках командного MBA-проекта мы исследуем этот вопрос на примере авиационного ритейла. В качестве публичного кейса выбрали Emirates и два маршрута — Дубай–Мумбаи и Дубай–Эр-Рияд.

Внутренних данных авиакомпании у нас нет, поэтому поставили себе дополнительное ограничение: построить бизнес-кейс на публичных данных, собственных наблюдениях рынка и явно обозначенных предположениях.

Для начала максимально сузили задачу. Вместо большой платформы персонализации рассматриваем две дополнительные услуги: платный выбор места и дополнительный багаж. Цена услуги не персонализируется. Модель должна определить, что предложить конкретному пассажиру и в какой момент это сделать.

Дальше начинается математика.

На основании расписания, типов воздушных судов, их вместимости и опубликованного среднего коэффициента загрузки мы получили оценку около 208 тыс. пассажиров за 90 дней на двух маршрутах.

Но 208 тыс. пассажиров — ещё не аудитория эксперимента. Для персонализации нужен идентифицированный клиент с достаточным набором данных. Публичной доли таких пассажиров Emirates не раскрывает, поэтому используем сценарии. В базовом — 40%, или около 83 тыс. пассажиров. При A/B-тесте 50/50 экспериментальная группа составит примерно 41,7 тыс. человек.

Теперь предположим исходную долю покупателей платного выбора места 15%, дополнительного багажа — 20%, а персонализация дает +6% относительного прироста.

Это не +6 процентных пунктов. Для выбора места 15% превращаются в 15,9%, а для багажа 20% — в 21,2%.

В результате получаем примерно 375 дополнительных покупок мест и 500 покупок багажа. При принятых в модели средних чеках это около $45 тыс. дополнительной выручки за три месяца в экспериментальной группе.

Кажется, можно показывать результат руководству.

Но именно здесь начинается наиболее интересная часть:

$45 тыс. дополнительной выручки ещё не означают, что в решение стоит инвестировать.

Нужно учесть маржинальность дополнительных продаж, стоимость команды разработки, эксплуатацию, инфраструктуру и масштабирование. А затем перейти к свободному денежному потоку, NPV, IRR, сроку окупаемости и главному для нашего исследования вопросу:

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

В статье разбираю всю цепочку — от оценки пассажиропотока и A/B-эксперимента до границы, где задача машинного обучения превращается в задачу инвестиционного анализа.

Читать далее

AI извлекает, код решает: как мы проверяли отчёты о контрагентах в n8n

Уровень сложностиСредний

Как построили в n8n проверку PDF по 30–60 подрядчикам: СПАРК разбирался регулярными выражениями, нестабильные выписки — AI в строгий JSON, а совпадения ИНН, названий, дат и критериев проверял JavaScript. Сценарий работал менее пяти минут и формировал таблицу расхождений, оставляя решение и коммуникацию человеку.

Читать далее

Эволюция вайбкодинга: три эпохи за пять лет

Уровень сложностиПростой

Термин «вайбкодинг» появился всего полтора года назад, в феврале 2025-го, но с тех пор успел стать предметом обожания одних и ненависти других — в зависимости от того, кто и как его понимает. Ввёл его в оборот Андрей Карпати, один из сооснователей OpenAI, и уже в ноябре того же года британский словарь Collins назвал «вайбкодинг» словом года.

Термин новый, но писать код при помощи LLM научились гораздо раньше.

Читать далее

Как VPN на сон грядущий заблокировал мне аккаунт Claude — и как я сделал так, чтобы это не повторилось

Уровень сложностиСредний

Я каждый день пользуюсь Claude Code и Cursor, работая то через корпоративный VPN, то через личный. В какой-то момент это привело к блокировке аккаунта Claude — судя по всему, из-за слишком частой смены страны и IP. Вместо того чтобы поднимать свой прокси, я написал небольшой npm-пакет geo-guard-ai: он проверяет страну по внешнему IP перед запуском Claude Code и Cursor и перед каждым промптом, и блокирует работу, если страна не из разрешённого списка. В статье — почему обычный alias для перехвата команды не годится, как устроена двухуровневая проверка и что нужно знать про поведение fail-closed в Cursor.

Читать далее

Пять лет делаю сайты малому бизнесу «под ключ»: мой стек, мои ошибки и почему всё выходит дороже, чем кажется

На Хабре много пишут про высокие нагрузки, стартапы и миллионные бюджеты. Моя ниша скромнее: я делаю сайты малому бизнесу в регионах. Стоматологии, свадебные фотографы, автомастерские, магазины запчастей. Читая статьи «как я сделал сервис на миллион пользователей», я каждый раз вспоминаю, как выбирал хостинг для сайта стоматологии и переживал из-за того, что у клиента не работает кнопка на телефоне в 11 вечера.

За пять лет я прошёл путь от «сделаю за три дня дёшево» до аккуратного процесса с брифом, договором и поддержкой. Расскажу, как это выглядит изнутри, где я регулярно наступал на грабли, и почему цены на такие сайты почти всегда оказываются выше, чем ожидает заказчик.

Читать далее

Что делать в эпоху ИИ, чтобы не потерять все?

Уровень сложностиСредний

Последние 3 года я был сильно увлечен нейросетями. Пробовал их, еще когда занимался дизайном в январе 2023 года, а далее уже в программировании, учебе и маркетинге, но все поменялось месяц назад и я перестал пользоваться ими вообще некоторое время. Думаю уместно будет начать с того, как я пришел к этому инструменту с какими опасностями столкнулся, а далее расскажу, что стоить делать для того, чтобы использовать нейросети безопасно и обойти 99% людей.

Читать далее

Почему значок VPN в Android не гарантирует, что VPN действительно работает

Уровень сложностиПростой

Значок VPN в шторке Android говорит только одно: интерфейс существует. Он ничего не говорит о том, реально ли через этот интерфейс сейчас проходит трафик, а в условиях, где VPN регулярно блокируют, разница между этими двумя состояниями ощущается на практике.

В статье - как Android на самом деле определяет наличие VPN, почему этого недостаточно, какие есть более надёжные способы проверки, и описание моих трудностей и их решений при написании pet-проекта для Android.

Читать далее

Второй мозг для ИИ-агентов: как я храню контекст проектов, чтобы не пересказывать его каждую сессию

Уровень сложностиПростой

Я пишу код через ИИ-агентов: даю задачу, агент правит файлы, запускает тесты, коммитит. Работает быстро, пока сессия жива. А потом сессия сжимается или закрывается — и следующий запуск того же агента начинается с чистого листа. Я полгода жил в режиме «перескажи контекст заново», пока не собрал систему из пяти текстовых файлов, которая этот контекст держит.

Читать далее