Обновить

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

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

Термин «вайбкодинг» появился всего полтора года назад, в феврале 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.

Читать далее

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

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

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

Читать далее

Freedom To Parrots

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

Freedom To Parrots — проект, с помощью которого любой желающий, имея обычный ПК, телефон или ноутбук, может развернуть туннель для интернет-трафика внутри интернет-звонка, чтобы получить доступ к сайтам там, где это необходимо!

Читать далее

Как я собрал новостного Telegram‑бота с ИИ‑редактором, который живёт в GitHub Actions и не стоит ни копейки

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

Обычно автоматический новостной канал в Telegram делают так: скрипт на feedparser, копеечный VPS, cron раз в час — и в канал падает безликая простыня текста со ссылкой. Через день от такого канала все отписываются.

Читать далее

Гонка вооружений в интернете: как блокировки и VPN бесконечно догоняют друг друга

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

У этой гонки нет финиша. Каждый раз, когда цензура учится распознавать очередное поколение VPN‑протоколов, разработчики уже через несколько недель выпускают версию, которая снова её обманывает — и цикл начинается заново.

В этой статье описано — четыре реальных раунда этой гонки. Как Китай в 2019–2021 годах научился вычислять Shadowsocks по тому, насколько случайными выглядели первые байты соединения. Как в 2018-м Роскомнадзор заблокировал 19 миллионов IP Google и Amazon ради одного Telegram. Как российский TSPU в 2025–2026 годах дошёл до обрезания любого соединения через Cloudflare после первых 16 килобайт. И какой протокол сейчас в ответ буквально притворяется чужим сайтом.

Читать далее

v2hub: экосистема для разработчиков

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

В прошлых постах я рассказывал про v2hub - экосистему для управления VPN-подписками - и про то, как я до неё докатился. На тот момент сервис был устроен просто: есть пользователь, у него есть токен, он этим токеном управляет своими подписками. Через v2hub-cli, через v2hub-panel, через бота - не важно, суть одна: у пользователя только те подписки, что он создал сам.

Это отлично работало и продолжает работать. Но начали появляться люди, которые хотят построить свой сервис поверх v2hub или интегрировать его в уже существующий продукт. Стало ясно, что текущего функционала для этого не хватает.

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

Можно, конечно, передать свой личный токен, чтобы сторонний сервис сам создавал подписки от вашего имени. Но это неудобно и пользователю (сервис может взять и удалить нужную ему подписку), и разработчику (пришлось бы хранить отдельный токен для каждого пользователя).

Так в v2hub появились провайдеры.

О провайдерах

TrustTunnel на своём VPS: как устроен протокол и как его установить

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

TrustTunnel создан командой AdGuard VPN. Исходники сервера и клиентов открыты, и сервер можно поднять на своём VPS. Для подключения к нему не нужна подписка на AdGuard VPN. Официальный проект.

Клиент устанавливает защищённое соединение с сервером. Внутри него идут подключения приложений, а сервер уже обращается к нужным адресам в интернете. Для передачи данных используются HTTP/2 поверх TLS и TCP либо HTTP/3 поверх QUIC и UDP.

Для каждого TCP-подключения клиент отправляет HTTP-запрос CONNECT и открывает отдельный поток. Сервер соединяется с адресатом, после чего передаёт данные в обе стороны. Несколько потоков используют общее соединение между клиентом и VPS.

UDP устроен иначе: датаграммы разных приложений передаются через один общий HTTP-поток. Внутри него TrustTunnel добавляет адреса, порты и длину данных, чтобы сервер мог отправить каждый пакет по назначению. Для ICMP echo, то есть ping, спецификация предусматривает отдельный поток. Это описано в спецификации TrustTunnel.

Разница между транспортами заметна при потерях пакетов. В HTTP/2 все потоки зависят от одного TCP-соединения: пока оно восстанавливает потерянные данные, доставка следующих данных задерживается. В QUIC восстановление идёт отдельно для каждого потока. Но внутри потока порядок сохраняется, а пропускная способность соединения остаётся общей. Поэтому HTTP/3 не гарантирует меньшую задержку в любой сети. Устройство потоков QUIC.

На практике HTTP/2 полезен там, где ограничен UDP. HTTP/3 стоит проверить там, где UDP доступен. Сравнивать лучше на своей сети и своём сервере.

Читать далее

Работа в IT в Испании: айтишников не хватает, но четверть безработных айтишников ЕС живёт здесь

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

В Испании одновременно не хватает айтишников и десятки тысяч людей с технологическим образованием не могут найти работу.

В Tech Cities 2026 Experis приводит оценку ОЭСР: на одного доступного технологического специалиста в Испании приходится больше трёх предложений работы. Adecco насчитал почти 222 тысячи опубликованных технологических вакансий за 2025 год.

А профсоюз UGT показывает другую Испанию: 50 354 зарегистрированных соискателя работы в секторе TIC. По данным Eurostat, которые приводит UGT, в стране 54 100 безработных с образованием в области новых технологий. Безработица среди них — 9,9% против 6,5% в среднем по ЕС.

На первый взгляд кто‑то здесь неправильно считает.

Читать далее

Кто сказал, что юнит-тесты должны писать разработчики?

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

Я работаю тестировщиком в онлайн-школе испанского языка. Наш проект это не сайт с учебными материалами или сервис с несколькими фичами, а довольно большая платформа, которой пользуются ученики, преподаватели и менеджеры. Словом, полноценное учебное заведение, но — онлайн. EdTech, короче говоря.

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

Frontend написан на React, состояние хранится в Redux, значительная часть бизнес-логики вынесена в сервисный/API-слой. Проект активно использует Firebase и Firestore, есть асинхронные операции, webhooks, внешние API, realtime-синхронизация, AI-функции и другие интеграции. 

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

За несколько лет, пока я работал на проекте, ситуация изменилась.

Читать далее

Два мегабайта состояния внутри, 17 бит наружу: разбор моста, который связывает языковые модели в обход текста

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

В начале сентября из тихого режима вышла компания Mostik: 15 человек, из них 12 с докторской степенью и один лауреат Филдсовской премии. Их мост соединяет две языковые модели и передаёт скрытые состояния напрямую, минуя текст. В демонстрации облачная GLM-5.2 на 753 миллиарда параметров не пишет ни одного токена: читает задачу, отдаёт внутреннее состояние через мост, а весь текст генерирует Qwen-3.5 на 4 миллиарда, модель класса «запускается на телефоне».

Издание QbitAI пишет: связка выбила зашкаливающий результат на ARC-AGI 3, том самом бенчмарке, где до этого почти максимум набрал GPT-6 Astra. Точных цифр в материале нет. Сама команда технические детали пока не раскрывает: говорит, соревнование не закончено. Зато главную идею описали подробно, и о ней можно поговорить предметно, с формулами и допущениями, а не только на пальцах.

Читать далее

Связка Gemini + Anki: как бесплатно скрестить метод Фейнмана и интервальные повторения для учёбы

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

Рассказываю, как объединить нейросеть Gemini и приложение Anki, чтобы перестать зубрить конспекты. Пошаговая настройка обхода блокировок, готовый промпт для карточек и разбор метода Фейнмана.

Читать далее

Агент сказал «готово». Четыре вердикта вместо одного слова

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

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

Читать далее

Самое дешёвое число на странице — не цена

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

Двадцать площадок продают одно и то же — 65 000 единиц энергии TRON на час — и ни одна пара не называет цену одинаково. Я читаю их прайсы каждые пятнадцать минут и свожу в одну таблицу. Статья не про TRON: она про то, что происходит между «страница загрузилась» и «есть число, по которому можно сортировать», и про один класс ошибок, который я считаю самым скверным в системах такого рода: производная величина, незаметно ставшая исходной.

Читать далее

Как подружить Cursor с корпоративным VPN после 4 сентября

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

4 сентября у многих пользователей из России внезапно перестали нормально работать AI-функции Cursor: Agent, Chat, автодополнение и часть API-запросов.

Днём ранее, 3 сентября, Anysphere обновила Terms of Service. В новой версии появился пункт 17.5 Export and Trade Controls, где говорится о необходимости соблюдать санкционные и экспортные ограничения, а также об ограничениях на использование сервиса в определённых юрисдикциях и для определённых лиц.

И вот тут возникает интересная проблема.

Самый очевидный совет — «просто включи VPN» — для разработчика, работающего в корпоративной инфраструктуре, часто не подходит. В моём случае корпоративная сеть нужна постоянно: через неё доступны внутренняя документация, GitLab, сервисы, базы знаний и прочая инфраструктура. При включении обычного VPN маршрут до корпоративной сети ломался. В итоге Cursor вроде бы снова получал доступ наружу, но одновременно терял доступ внутрь корпоративной инфраструктуры.

Читать далее

MovieShort-AI: автонарезка фильмов в вертикальные Shorts — пайплайн «сцены → LLM → 9:16»

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

Десктопная программа, которая берёт полнометражный фильм и сама нарезает короткие вертикальные ролики: находит сцены, распознаёт речь, просит LLM выбрать лучшие моменты, потом режет, центрирует кадр на людях и вшивает субтитры. Дальше - что умеет, как устроено внутри и грабли, о которые я споткнулся.

Читать далее