Загружал пару лет переписки из Telegram в Apache Doris на ноутбуке. Первый запуск 2 часа. После оптимизации 206 400 сообщений за 5 секунд.
Полез в исходники разобраться, почему Stream Load (HTTP-загрузка данных) в Doris работает так быстро. В статье разбор C++ кода: от HTTP PUT до Segment-файла на диске.
Что внутри:
— 14 шагов одного HTTP-запроса (с диаграммой и кодом)
— StreamLoadPipe: буфер 4 MB с backpressure
— Иерархия записи: LoadChannel → DeltaWriter → MemTable → async flush
— 6 практических выводов: что крутить, что мерить, где смотреть compaction score
Мы привыкли верить, что если сказать модели «будь агрессивным трейдером» или «будь строгим аналитиком», то она действительно начнёт так себя вести. На практике всё не так просто. В длинном диалоге роль быстро выдыхается: модель соглашается с образом, но постепенно возвращается к базовой вежливости, осторожности и бесконечным дисклеймерам.
Зато в коротких запросах происходит совсем другое. Один свежий промпт — и поведение реально сдвигается: модель становится заметно осторожнее, резче, параноидальнее или, наоборот, более рискованной. Это уже не «роль» в привычном смысле, а краткосрочный поведенческий профиль — временная настройка внутренних параметров решения.
Исследования показывают, что такой профиль способен существенно менять поведение. Например, коэффициент неприятия потерь можно «подкрутить» почти в три раза — и модель начнёт требовать значительно большей выгоды, чтобы принять риск. Звучит мощно, но вместе с ним приходят стохастичность, зависимость от формулировки и неожиданные побочные эффекты.
В статье разберём, где такие профили действительно работают, а где начинают ломать предсказуемость системы.
Читать далееПамяти Кеннета Олсена, родившегося в этот день ровно 100 лет назад
Уже глубоко за полночь 1 декабря 1959 года, а именно в 1:30, едва Лоис Андерсон уложила спать третьего, младшего ребенка в семье, раздался телефонный звонок. Из отеля «Статлер Хилтон» в Бостоне Харлан Андерсон позвонил супруге, предупредив о том, что не сможет приехать ночевать домой: прототип PDP-1, исправно работавший в стенах DEC, по известному закону подлости отказывался работать в выставочном зале. До открытия компьютерной конференции оставалось менее восьми часов...
Читать далееО том, как сделать функцию main приложения на Go чистой, понятной, открытой для расширения.
Театр начинается с вешалки, а любая программа на Go - с функции main. Собственно, что может быть сложного и плохочитаемого в main, казалось бы? Но нет. На написание этой статьи меня сподвиг реальный кейс.
Всем привет, всем крепких нервов, решительности, смелости, силы воли и упорства. Ощущение «что-то страшное грядёт» довлеет всем настолько, что любая креативность убивается на корню. Однако, наш рептильный мозг редко бывает прав. Давайте скажем кортизолу решительное «нет» и не будем самоубивать тот участок жизни, который у нас есть здесь и сейчас. Рептильный мозг не знает, что мы давно уже не в пустыне среди шушпанчиков и никакой потенциальной пользы «в случае чего» от тех решений, которые он навязывает, не будет — а будет один только вред.
Итак, встречайте: ядро микроконтроллера с шестибитными байтами. Глава первая: описание «на словах».
Это обычный «школьный процессор», на котором студентам показывают базовые принципы работы железа. Fetch, Sum, Jump… В принципе, это роднит его как с древнейшими процами, имевшими 8-16 команд, так и с современными, разной степени эзотеричности (вплоть до Single Instruction Set Computer, имеющий всего одну команду типа «инверсия указанного бита и затем безусловный переход на указанный адрес»). Но я решил вдруг, ХЗ с какого перепугу, придать ему практический смысл в нашем странном веке, когда даже в одноразовые вейпы лепят грошовые 32-битники, которые потом летят в помойку.
Дело в том, что проц, имеющий сложность уровня «за пригоршню КМОП-транзисторов», обладает одним свойством, которым эти девайсы обладать не могут ни с каким развитием технологий, потому что технологии уводят их всё дальше и дальше от обладания этим свойством: его можно реализовать зацело с устройством, которым он управляет. Да-да, на одном кристалле. Минус корпус, минус пайка, минус разводка и… минус питание.
Да я всё равно и на нём Doom запущу!A/B-тесты для оптимизации рекламных кампаний в Яндекс Директе я применяю уже несколько лет, но сейчас это стало практически обязательным, если хотите получать качественные заявки по нормальной цене.
Дополнительно рассмотрим связку A/B-тестов и встроенных лендингов прямо в Яндекс Директе, чтобы получать больше заявок без увеличения бюджета.
Оцениваем статистику и перераспределяем рекламный бюджет по самым эффективным вариантам. Это всегда стабильно улучшает результаты, если лендинг и предложение на нём хоть немного конвертят трафик в заявки.
Читать далееТри предыдущие статьи были про картинку. Картинка — вещь терпимая: можно сжать, можно потерять кадр, можно догнать следующим. Человеческий глаз прощает многое.
Со звуком всё иначе.
150 миллисекунд задержки — и собеседник начинает перебивать. 200 — и вы оба замолкаете, ждёте, потом говорите одновременно. 300 — созвон превращается в пытку. Это не абстрактные цифры из RFC, это реальность, которую каждый испытывал на плохом Zoom-звонке. (Кстати, порог в 150 мс — это ITU-T G.114, одна из самых цитируемых рекомендаций в телеком-индустрии. Не потому что магическое число, а потому что дальше начинаются перебивания.)
А теперь представьте: вы построили VDI, развернули 500 рабочих мест, люди довольны. И тут приходит запрос от call-центра: «Мы хотим работать через VDI тоже». Или от отдела продаж: «Нам нужен софтфон в виртуалке».
Вот тут начинается отдельная история.
Читать далееПредставьте, что вы получили в наследство проект, который писали 4 миллиарда лет. Документации нет, автор (Эволюция) — типичный адепт «быстрого прототипирования», который фигачил костыль на костыль, лишь бы оно не развалилось в продакшене прямо сейчас. В итоге мы имеем систему, где в каждой клетке подгружен весь исходный код огромного организма, 90% которого просто закрыто «заглушками».
Сегодня мы поговорим о том, почему наш геном — это архитектурный кошмар, и как мы будем его рефакторить в ближайшем будущем.
Читать далееНедавно наткнулся на статью про Echovault на Хабре — инструмент для памяти AI-агентов, написанный на Python. Автор описывал ровно ту же боль, что и я испытывал месяцами. Идея хорошая, реализация — рабочая. Но Python. Я ничего не имею против языка, просто не мой выбор для инструментов, которыми пользуюсь каждый день. Люблю скомпилированные бинарники: кинул файл — и работает, без virtualenv, без pip, без «а какая у тебя версия питона». Поэтому я взял идею и переписал её с нуля на Go. Получился Pantry.
Расскажу, зачем это вообще нужно и что внутри.
Читать далееLandlock — редкий для Linux случай, когда «песочницу» можно включить руками самого приложения: без root, без километров политик и с понятной логикой «по умолчанию запрещено всё». В этой статье разбираем, что это за LSM, какие три системных вызова нужны, как выбрать минимальный набор прав и почему открытые до ограничений файловые дескрипторы способны тихо обнулить всю задумку.
Открыть разборПривет, Хабр! Как вы считаете, что делает проект управляемым? На мой взгляд, это не только про грамотное планирование или профессиональную команду, но и возможность отследить промежуточные результаты. Истинный контроль рождается там, где есть возможность вовремя остановиться, оглядеться и убедиться, что всё идет по плану. В проектном управлении такие моменты называются контрольными точками (КТ). В статье расскажу, чем отличаются КТ от вех, и как с их помощью выстроить эффективную проектную деятельность.
Читать далееПривет, Хабр! Меня зовут Владимир, я Python-разработчик в команде IMV в Авито. Мы разрабатываем продукт, который помогает оценивать рыночную стоимость товара, будь то автомобиль, квартира или холодильник. Мы часто пишем тесты, и в этой статье я расскажу, как разные подходы к юнит-тестированию влияют на качество тестов, когда они помогают проекту, а когда — мешают, и почему само по себе наличие тестов ещё не гарантирует пользы. Статья будет полезна разработчикам, тимлидам и всем, кто пишет юнит-тесты и поддерживает код в долгоживущих проектах.
Читать далееС 1 января 2026 года у товарного бизнеса изменилась экономика. Маркетплейсы стали дороже, правила там меняются чаще, а доступ к клиенту по-прежнему не принадлежит селлеру. Плюс падает покупательская уверенность, кредиты дорогие, логистика сложнее.
Бренды и селлеры закрываются пачками. И тут парадокс: рынок не падает, а продолжает расти. Что происходит и почему так? Разбираю в статье выигрышную стратегию на 2026 и привожу реальный кейс нишевого бренда, с которым пообщался — они выросли с 50 до 500 заказов в Телеграме всего за полгода.
Читать далееХотите сделать фото в разных стилях с помощью ИИ? Узнайте, как нейросеть может превратить ваше селфи в стиль Disney, поп арт, 90-х или фэнтези. Внутри: 20 готовых промптов с примерами, разбор частых ошибок и пошаговый гайд по созданию идеального ИИ-портрета. Кликайте и экспериментируйте!
Читать далееВ крипте полно скама – это неоспоримый факт и уже практически аксиома. Обман на каждом шагу: тебя пытаются «нагреть» в настолько неожиданных местах, что диву даёшься. Когда мы только начинали свой путь в нише крипты, было ощущение, будто идем не по какой-нибудь инвестиционной дорожке, где основные риски уходят корнями в скилл рационального управления капиталом, а по минному полю. Минному полю с людьми, живущими по правилу «Налюби ближнего своего, иначе придет третий и налюбит вас обоих».
Но время шло, опыт копился, и большинство мошеннических схем стали очевидны. Отфильтровывались без заморочек на автопилоте. Короче, мы расслабились и… одного из участников нашей команды соскамили.
Соскамили настолько красиво, что не могу об этом не рассказать :-)
Итак...
Читать далееНеделя выдалась достаточно насыщенной. На ней нам представили Claude Sonnet 4.6 и Gemini 3.1 Pro. OpenAI же, по моему личному мнению, немного отстает от них, хотя не так давно была выпущена ChatGPT 5.3 Codex для агентного программирования.
В комментариях под некоторыми из выложенных мной новостей иногда наблюдается разброс мнений, мол, Gemini плохо себя показывает, а вот ChatGPT – вещь, но в других моих материалах люди думают ровно наоборот.
Сидя и раздумывая над этим, мне пришла в голову идея – сравнить ChatGPT и Gemini в достаточно рутинных задачах. По сути, чтобы просто удовлетворить свой интерес и сделать для себя выбор между ними. А вам решил показать, потому что кому-то тоже может быть интересно, а кому-то поможет сделать свой выбор. Исходя из специфики моего сравнения, возьму две прошные версии от каждой серии: ChatGPT 5.2 Pro и Gemini 3.1 Pro. Одна уже приличное время находится в нашем доступе, другая же была релизнута на этой неделе.
Принимайте стратегически удобное для прочтения положение, ну а я приступаю к сравнению.
Читать далееMeta Description: Сравнение подходов к лидогенерации в Telegram: массовые рассылки и AI-таргетирование. Данные, конверсии, риски бана, архитектура фильтрации.
Читать далееВы проводите daily stand-ups? Делаете ретроспективы каждые две недели? Следите за velocity? Поздравляю, вы делаете Scrum. Но понимаете ли вы философию? Или ваш Scrum превратился в набор встреч, которые все ненавидят, но ходят, потому что «так надо»?
Читать далееПривет, Хабр! Меня зовут Артём, и я менеджер продукта РЕД ВРМ. Чуть ранее я размещал статью, в которой рассказал о разработке РЕД ВРМ, планах развития и технических особенностях продукта. В сегодняшнем материале я, как и обещал, расскажу о протоколе RED DIRECT и раскрою новые фичи, которые появятся в ближайшем релизе.
Для начала хотелось бы рассказать о том, как связан протокол RED DIRECT с VDI и Терминальным доступом.
Читать далееНа прошлой неделе я попросил Claude устранить однострочный баг. Ему понадобилось 23 тысячи токенов. Потом тот же баг я попросил устранить Gemini. Он потратил 350 тысяч токенов. Да уж, на такое невозможно закрывать глаза.
Поэтому я написал Context Lens — трассировщик контекста, перехватывающий вызовы LLM API, чтобы показать, что же на самом деле находится в окне контекста с разбивкой по этапам. Я подключил его к четырём инструментам кодинга и дал им одну и ту же задачу. Результаты оказались настолько разными, что я решил написать об этом статью.
Вопрос
При работе с этими моделями мы платим за токены. Токены — это довольно сложная тема. По сути, это блоки информации; 1 токен приблизительно равен 4 символам английского текста. Чем больше токенов передаётся в модель, тем больше мы платим.
Но важнее то, что токены составляют контекст модели. Контекст — это всё, что есть у модели при генерации ответа, своего рода её кратковременная память. Как и у людей, она ограничена. И чем больше нужно запоминать, тем хуже мы справляемся при ответе на детализированный вопрос.
Итак, нам нужно быть аккуратными с нашим окном контекста, а для построения этого окна используются токены. Я задался вопросом: как инструменты справляются с этим ограничением? Насколько умно они его обрабатывают?
Читать далее