Этот год обещает быть годом комаров, поэтому мы взяли с собой спрей от насекомых, чтобы избавиться от них в Vivaldi и грести, не отвлекаясь.
Наша команда усердно трудилась в душном офисе, чтобы сделать вашу работу в браузере ещё более удобной, чтобы вы могли снова наслаждаться летом и — если вам это по душе — смотреть футбол.
Читать далееУ меня есть сервер в интернете, который работает с HTTP/2, HTTP/3, с IPv4 и IPv6… Как всё это хозяйство протестировать? Я не нашёл решение и прибёг к помощи ИИ, который мне навайбкодил нужный мне сервис. Всё это хорошо. Но, может быть из этой идеи можно слепить годный продукт или просто доработать этот?
Если у вас те же проблемы с тестированием своего сайта, добро пожаловать под кат. Там я расскажу, с какой проблемой я лично столкнулся. И как, временно, решил этот вопрос.
Читать далееЯ думаю, что все заметили, что в последнее время доступ к большинству зарубежным ресурсам и API оставляет желать лучшего. Для обычного человека потеря связи с любимыми или нужными ресурсами посреди рабочего дня — это очень неприятно. Полагаться на один зарубежный сервер стало неэффективно: узлы падают, скорость проседает. У меня у самого появилась это проблема, поэтому я захотел ее решить.
Что я решил сделать, рассказываю дальше
Читать дальше5 клиентов по 10 000 рублей в месяц - 50 000 рублей MRR. Но при корректном подсчете на выходе получается лишь 27 000 - почти половина регулярной выручки будто испаряется. Разбираю типичные ошибки, которые допускают команды при расчете MRR, и объясняю, почему одна и та же база клиентов может показывать совершенно разные цифры в зависимости от методики подсчёта.
Читать далееВ 2026 году был опубликован инструмент VMkatz. По функционалу он напоминает широко известный инструмент Mimikatz, но, в отличие от него, целью VMkatz является извлечение учетных данных напрямую из файлов виртуальных машин (снимков памяти и виртуальных дисков) без необходимости входа внутрь гостевых Windows-систем. VMkatz может работать с файлами виртуальных машин разных платформ, включая VMware ESXi, Microsoft Hyper-V, VirtualBox и QEMU/KVM.
Читать далееПривет, Хабр! Когда я был мелкий и трава зеленее, провайдеры всегда выдавали не белый, а «серый» адрес. Да, он менялся при каждом подключении, но всегда можно было открыть порт и поиграть с корешами в ту же CS 1.6 или Minecraft. Время прошло, и сейчас чтобы получить белый IP, нужно пройти три круга ада. И то не факт, что дадут. Или: «Купите наш тариф за миллион денег, тогда дадим».
Предыстория: от идеи к прототипу
Всё началось с того, что мы с коллегами по работе решили собраться и поиграть в CS 1.6. Желающих много, а вот чтобы все были в одном месте — уже не получается. И тогда меня посетила мысль: а что если сделать приложение, чтобы, потягивая пивко, можно было открыть игровой сервер для друзей? А не качать какие‑то Hamachi, ngrok и прочее, а потом ещё 15 минут настраивать порты, пока пиво остывает.
Читать далееПеред совместной поездкой всегда кажется, что главные вопросы — это билеты, жильё и маршрут. Но если вы едете компанией, есть ещё один вопрос, который почти всегда всплывает уже по ходу дела и особенно по окончании поездки: кто кому и сколько должен?
Более года назад мы готовились к поездке в Японию
Открытый чекер архитектуры C++ для CI: циклы, копипаст, распухшие заголовки — в каждом PR. Плюс замер на 484 500 коммитов в поисках архитектурного дрейфа
Почему ревью это пропустилоВы собрали диалоговую систему — агента с RAG, инструментами и памятью. На коротких диалогах всё работает: модель выбирает нужный инструмент и достаёт данные. Но через несколько десятков итераций агент уже путает инструменты, тянет в ответ старые вызовы и опирается на ошибку, которая раньше попала в контекст.
Новый промпт не всегда решает проблему: важно управлять тем, какая информация попадает к модели перед каждым следующим шагом. Это и называют контекстной инженерией.
Разбираемся, чем она отличается от промпт-инжиниринга, RAG и MCP, почему агент начинает ошибаться и какие приёмы помогают собрать контекст так, чтобы модель не путалась в длинных сценариях.
Показать на коде →Когда говорят «энтерпрайз-стек на .NET», обычно имеют в виду зоопарк: база от одного вендора, шина от другого, ORM с миграциями, отдельный оркестратор, ещё что-нибудь для наблюдаемости — и клей между всем этим, который пишешь сам и потом сам же чинишь по ночам.
Мы пошли другим путём и последние полгода собираем это как одну согласованную экосистему: типизированное хранилище redb поверх Postgres/MSSQL/SQLite, интеграционный движок redb.Route (наш ответ Apache Camel под .NET) и рантайм redb.Tsak с дашбордом, hot-reload и кластером. Три слоя, один код, один стиль.
Сегодня вышла версия 3.3.0 — синхронный бамп всей экосистемы. Это не «добавили пару фич»: это релиз, в котором мы починили то, что молча не работало под нагрузкой (и это, пожалуй, главное), добавили два новых транспорта, довели до конца RAG-петлю для LLM и сделали конкурентность на любом источнике. Ниже — по делу, с кодом.
И сразу главное: с версии 3.3.0 все Pro-решения бесплатны. Никаких лицензий, никаких ключей, никакой регистрации — просто ставишь пакет и юзаешь. Change tracking, bulk, продвинутый кэш, аналитика, кластер Tsak с координатором и failover — всё включено из коробки, в разработке и в проде одинаково. dotnet add package redb.Postgres.Pro — и оно работает. Никакого пейволла, никакого лицензионного сервера, ничего активировать не надо.
Читать далееПривет, Хабр!
Чат-бот может быстро ответить на типовые вопросы о товаре, стоимости или доступных вариантах. Но в сложных продажах часть диалогов неизбежно доходит до вопросов, которые удобнее обсудить с человеком: подобрать условия, сравнить несколько предложений, уточнить детали оплаты или принять решение прямо сейчас.
В такой момент пользователю важно дать простой способ перейти от переписки к разговору, не заставляя его искать номер телефона, оставлять заявку и ждать обратного звонка.
В статье соберём чат, который отвечает на вопросы по выбранному туристическому направлению, оценивает контекст диалога и при подходящем сценарии предлагает позвонить менеджеру прямо из браузера.
Стек: FastAPI, Pydantic, requests, YandexGPT, Vite и Web SDK МТС Exolve.
Читать далееВсе знают авто-электриков и диагностов. Я IT-автоэлектрик объединяю знание физики автомобильных цепей и низкоуровневого программирования на С для создания инструментов анализа и изучения j1939.
CAN шина это мост между двумя мирами авто-электриков и IT специалиста. Но для многих этот мост, увы кажется непреодолимой пропастью. Ребята попробуйте программировать на Си и вы пойдёте по этому мосту. Я начинал программировать в телефоне termux. То есть для этого нужно только желание.
Я себя не считаю самым умным. Я просто нашел для себя мощную точку пересечения этих профессий и стал называть этот подход IT-автоэлектрик. Писать свои собственные утилиты на С чтоб заглянуть под капот CAN шины. Под капотом ДВС менее интересно.
Размер моих логов на сегодняшний день 1 - 3 мегабайта. Если вес лога гигабайты то по идее данные нужно положить в голову страницы и процессор полетит как пуля. Размер скомпилированного файла map_id_j1939.c и viz_j1939.c по 16.5 КБ.
Читать далееПервая AI-фича часто ломается задолго до релиза — ещё на этапе, когда команда пытается описать, что именно она собирается делать. Привычного PRD с user stories и acceptance criteria уже недостаточно: поведение LLM зависит от промпта, модели, данных для оценки и множества граничных случаев.
В статье разбираем, какие разделы стоит добавить в спецификацию AI-продукта, чтобы команда понимала, как измерять качество, контролировать риски и принимать решения после запуска.
Каждый раз, когда я пишу о физике элементарных частиц, я сталкиваюсь с моментом неопределённости относительно величины, которая, на первый взгляд, должна быть ясной. Сколько видов элементарных частиц, по-вашему, существует?
В экспериментах на Большом адронном коллайдере физики сталкивают пучки протонов, разбивая их на все возможные элементарные частицы. При этом у них есть невероятно точный набор математических уравнений, описывающих эти строительные блоки материи и все способы их соединения. Итак, поскольку известные частицы природы можно как эмпирически наблюдать, так и теоретически описать, можно было бы подумать, что их также легко можно сосчитать. Но, увы, нет. Я уже знала, что по причинам, которые мы увидим, подсчёт не так прост, как кажется.
Поэтому недавно я написала нескольким физикам, чтобы спросить, как каждый из них лично подсчитывает фундаментальные составляющие природы. Первый признак того, насколько сложен этот вопрос, проявился в ответе Дэвида Тонга, физика из Кембриджского университета и автора учебников, когда мы назначали видеозвонок: «Думаю, правильный ответ на ваш вопрос — не целое число!»
Читать далееЕсть закономерность, которую я вижу на многих проектах. Когда собственник или директор впервые формулирует, что он хочет от ИИ, он часто называет не то, что принесёт деньги, а то, что выглядит как ИИ. Голосовой ассистент. Чат-бот, который сам отвечает клиентам. Система, которая слушает звонки менеджеров и оценивает их работу. Всё это яркое, демонстрируемое, «вау». И многие из этих идей становятся ловушкой на старте.
Читать далееСегодня мы с гордостью объявляем о выходе TypeScript 7 — нативной версии TypeScript, которая работает в 10 раз быстрее!
С самых первых дней TypeScript обещал сделать JavaScript масштабируемым. Добавив в мир JavaScript строгую проверку типов и мощные инструменты разработки, TypeScript позволил создавать сложные качественные приложения для разных платформ.
Читать далееВ современной фронтенд-разработке реактивность стала стандартом дефакто. Мы привыкли к ней в Vue, React (если через хуки/стейт - здесь появляется спорный момент), Angular (Signals) и RxJS. Однако тяжелые фреймворки не всегда уместны, если вам нужно построить чистую, легковесную бизнес-логику, абстрагированную от DOM-дерева.
Вот что я хочу Вам показать: https://www.npmjs.com/package/@pravosleva/reactive-engine
NPM-пакет @pravosleva/reactive-engine решает именно эту задачу, предоставляя разработчикам специализированный движок (Reactive Engine) для управления реактивными состояниями и автоматического вычисления зависимостей на чистом JavaScript / TypeScript.
Читать далееКаждый день на человека обрушивается от четырёх до десяти тысяч рекламных сообщений. Баннеры, посты, ролики, сторис, таргет, контекст, e‑mail, пуш‑уведомления — всё это слоями оседает в сознании, и психика защищается. Она учится игнорировать всё яркое, громкое, навязчивое. Она отфильтровывает креатив как раздражитель.
И здесь возникает парадокс: чем больше усилий вы вкладываете в то, чтобы вас заметили, тем меньше вас замечают. Чем ярче вы кричите, тем быстрее ваш голос сливается с общим шумом. Чем неожиданнее и креативнее ваш ход, тем быстрее он превращается в ещё один шаблон.
В этой гонке побеждает не самый громкий. Побеждает самый понятный.
Читать далееС момента создания блога, примерно половина запросов на платный контент, рекламу и продвижение, которые мне присылают — про ИИ.
Казалось бы «пиши и радуйся» да считай купоны, тем более когда за окном очередной кризис и ездят танки, а тут дают деньги за буквы на экране.
К сожалению все несколько сложнее чем кажется и невинная попытка вкатиться в «ИИ‑повесточку» может закончиться распятием на кресте. Причем как для незадачливого автора, так и для заказчика, которых к этому кресту приколотят любимые читатели.
Ракрываю тему.
Читать далее