IT-ХОЗЯЕВА
416 subscribers
62 photos
5 videos
72 links
Канал сообщества boosty.to/jointime
Download Telegram
🔥 Я распаковал исходник Claude Code v2.1.88. Половина того, что про него пишут — миф

Распаковал бандл Claude Code v2.1.88 — 1884 файла. Восемь мифов разошлись с кодом. Главное: никакой рекурсии внутри — один while(true) с изменяемым состоянием. Контекст сжимается не одной функцией, а пятью механизмами, причём после трёх неудачных сжатий autocompact молча отключается до конца сессии. Инструменты стартуют ещё до того, как модель дописала текст — параллельно, до 10 штук за раз. А stop_reason приходит с опозданием: сначала null, потом подмена. Если юзаете Claude Code — знайте, что полное сжатие не сохраняет последние сообщения дословно, только пересказ модели. И следите за параллельными инструментами: падение одного гасит соседей без предупреждения.

Источник

#новости
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥2🍌1
🗞️ Cloudflare приобрела VoidZero — создателей Vite, Vitest и Rolldown

Cloudflare купила VoidZero — компанию Эвана Ю (создателя Vue.js), которая стоит за Vite, Vitest, Rolldown и Oxc. Вся команда переходит в Cloudflare, но проекты остаются открытыми (MIT) и независимыми. Cloudflare выделила $1 млн в фонд экосистемы Vite. Vite — это 129 млн загрузок в неделю, его используют Vue, SvelteKit, Nuxt, Astro, Solid, Qwik, Angular, React Router и даже Next.js. В краткосроке ничего не меняется, в долгом — Cloudflare построит CLI на основе Vite. Хорошая новость: инфраструктурный гигант вкладывается в открытый инструмент, не пытаясь его закрыть.

Источник

#новости
👍3❤‍🔥1🔥1
🔍 MCP-серверы — что это, зачем нужны и как подключить в 2026

MCP (Model Context Protocol) — это протокол, через который AI-ассистенты подключаются к вашим инструментам: базам данных, API, файлам, браузеру. Если вайбкодинг — это «AI пишет код», то MCP — это «AI дотягивается до всего остального». Разбираем, как устроен протокол, какие серверы реально полезны и как подключить первый MCP-сервер за пять минут.

Читать на ithozyaeva.ru

#статьи
❤‍🔥3👍1🔥1🍌1
🗞️ Смогут ли LLM выжить во время катастрофы? Gemini, ChatGPT и другие играют в «Бункер» (анализ поведения)

LLM-модели проверили в игре «Бункер» — выживание с голосованием и скрытыми картами. 8 моделей (Gemini 3 Flash, ChatGPT 5 mini, Grok 4.3 и др.) соревновались, кто останется в убежище. Интересно: проверяли, будут ли модели поддаваться толпе, оценивать скрытые риски и отдавать предпочтение прикладным профессиям. Результаты — в статье. Хороший повод задуматься, насколько ваши AI-агенты адекватны в нестандартных задачах.

Источник

#новости
🔥2👍1🥰1
📚 RAG на практике — как построить поиск по своим данным для LLM

RAG (Retrieval-Augmented Generation) — самый частый запрос к AI-инженеру: «сделай, чтобы модель отвечала по нашим документам». На бумаге всё просто: нарезал документы, сложил в векторную базу, достал релевантное, подсунул модели. На практике первая версия почти всегда отвечает мимо. Разбираем, как RAG устроен на самом деле, где он ломается и когда его вообще не нужно строить.

Читать на ithozyaeva.ru

#статьи
2🔥1🥰1
⚡️ Мы попробовали Claude Code в энтерпрайз-разработке и собрали за вас восемь проблем

Коллеги из Циана попробовали Claude Code в энтерпрайз-разработке и собрали 8 проблем. Главная боль: хранение конфигов в репозиториях — если не класть .claude и claude.md в компонент, помощник теряет настройки. Решение — плагины для общей конфиги и MCP для компонентоспецифичной. Вторая проблема — Windows: Claude Code путается в bash-командах, а инструменты сборки отличаются. Циан видит выход в WSL или отказе от Windows. Ещё петли обратной связи: корневой агент должен проверять субагентов, иначе код может не соответствовать требованиям. Итог: Claude Code мощный, но внедрение в большую компанию — это не «поставил и забыл», а настройка инфраструктуры и процессов.

Источник

#новости
👍2❤‍🔥1🔥1
🤝 Локальные LLM: как и зачем запускать ИИ у себя дома.

Краткое введение в локальные большие языковые модели: что это такое, чем они отличаются от облачных frontier-моделей, на каком железе их запускать и какие задачи они уже могут решать. Разберём практические сценарии для разработчиков, ограничения локальных моделей, роль RAG, tooling вокруг моделей и почему будущее, скорее всего, не в выборе “локально или облако”, а в гибридном AI-runtime.

📅 23.06.2026 в 20:00 (МСК)

Подробности на платформе

#сообщество
❤‍🔥11🔥1
📰 Переработки: как компании превращают вашу ответственность в бесплатный ресурс

Исследование: переработки в IT редко начинаются с прямых требований — компании просто создают среду, где отказаться "неудобно". Автор разбирает механизм: сначала «чуть-чуть дожать», потом «важный релиз», и вот ты уже в 23:17 с холодным ужином. Главный вывод: переработки — это не про плохое планирование инженера, а про системные проблемы — сжатые сроки, игнорирование рисков и героический менеджмент. Если в твоей команде «авральный режим» стал нормой — это не твоя вина, а повод пересмотреть процессы.

Источник

#новости
2
🎙️ Хватит сливать токены! Базовая гигиена для экономии лимитов ИИ-агентов

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

📅 20.06.2026 в 20:00 (МСК)

Подробности на платформе

#сообщество
💡 Netflix сделала карту микросервисов, которой не хватало каждому

Ночные инциденты в микросервисах — это всегда детектив: метрики орут, логи сыплются, трейсы показывают путь конкретного запроса, но ответа на вопрос «кто кого убил» нет. Netflix построила инструмент, который решает эту проблему в лоб — Service Topology. Это живая карта зависимостей между сервисами, которая обновляется в реальном времени и показывает не только «кто с кем говорит», но и статус здоровья каждого узла, бизнес-домен и владельца.

Главный трюк в том, что они не полагаются на один источник данных. eBPF-сетевые потоки дают полноту (все соединения, даже неинструментированных сервисов), IPC-метрики добавляют прикладной контекст (конкретный endpoint, ошибки, задержки), а распределённые трейсы показывают реальное поведение запросов. Ни один слой не идеален, но вместе они компенсируют слабости друг друга. Система строит три независимых графа и сливает их по запросу за доли секунды.

Что это даёт на практике? Инженер может за секунду узнать, кто upstream и downstream у любого сервиса, оценить зону поражения перед плановым отключением, одним кликом перейти от узла к трейсам или логам, а главное — наложить статус здоровья на граф и сразу понять, локальная проблема или каскадный сбой. Плюс «путешествие во времени»: можно посмотреть топологию на любой момент в прошлом без взрыва хранилища. Вся архитектура — графовая база поверх KV-стора, gRPC-API с фильтрами и ответом быстрее секунды.

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

Источник

#новости
❤‍🔥1🔥1
📚 AI-агенты — что это, как работают и как собрать своего в 2026

«Сделайте нам AI-агента» — за год это превратилось из хайпа в обычную строчку в задаче. Но под словом «агент» каждый понимает своё: кто-то чат-бота с кнопками, кто-то автономную систему, которая сама ходит по сервисам и что-то делает. Разбираем, что такое агент на самом деле, из чего он собран, где уже приносит пользу и почему первая версия так любит сжигать бюджет.

Читать на ithozyaeva.ru

#статьи
Код от нейронки плоский — как и её тексты. Только в тексте это заметно всем

Смотрите, я сам сижу на Claude Code каждый день, он реально ускоряет. Но есть вещь, которую вайб-кодеры упорно не видят: код, сгенерированный нейронкой, получается плоским. Как её тексты — гладкими, грамматически идеальными и абсолютно пустыми. Только в тексте это видит любой читатель, а в коде — только инженер, которого вайб-кодер из процесса выкинул.

Возьмём конкретный пример — функцию secure_filename из Werkzeug. Наивный промпт «сделай безопасное имя файла» выдаёт вполне рабочую функцию: чистит пробелы, оставляет буквы и точки. Демка работает. Но она не обрабатывает кучу граничных случаев: имя файла «..» (ссылка на родительскую папку) останется как есть, «CON.txt» на Windows не переименуется в зарезервированное имя устройства, а «naïve.txt» не транслитерируется в ASCII. Оригинал делает всё это — и ещё кучу мелочей, которые автор просто знает, потому что писал не первый день.

И это ключевой момент. Разрыв между кодом сеньора и кодом вайб-кодера — это разрыв в промпте. Сеньор знает, о каких граничных случаях надо сказать нейронке, потому что наступал на эти грабли. Вайб-кодер не знает даже, что такие случаи существуют, и не может попросить то, о чём не догадывается. В итоге он получает «работающий» код, который на самом деле гнилой. И главная проблема: он этого никогда не узнает, потому что оценить код некому. Тесты пройдены? Работает. А что под капотом — никого не волнует, пока не грохнется прод.

Вывод простой: нейронка генерирует локально корректный код, который глобально ущербен. И если ты не умеешь читать код — ты покупаешь видимость работающей системы, а не систему. Промпт — вот где настоящая экспертиза, и её не заменят никакие AI-инструменты.
3
telega-gleam 2.0 🚀

В целом, я убил все остальные фреймворки для тг ботов. Расходимся.

Главная темка для меня была наконец завести канал зависимостей как R в Effect.ts чтобы из библиотечки можно было выйти действительно в станы фреймворков.

Проблема была такая: все сервисы (db pool, http-клиент, i18n) приходилось пихать в сессию (а это персистируемое состояние) и в адаптере я откидывал эти поля и это по сути утекшая абстракция.

Теперь у Context третий дженерик dependencies:

telega.new_for_polling_with_dependencies(
api_client:,
dependencies: Deps(db:, http:, i18n:),
)


И в любом хендлере можно достать зависимости из контекста. Ничего глобального, все покрыто типами, в тестах легко подменить что хочешь.

Дальше всё нанизалось само:

💜storage-слой под одним контрактом сразу с реализацией для postgres / sqlite / redis
💜завел telemetry span-событий на BEAM которые можно нацепить на PromEx/otel
💜telega_webapp + telega_i18n позволяет по кайфу делать фуллстак-приложения целиком на Gleam
💜graceful shutdown теперь без потери апдейтов от телеграмма с полноценным дрейном соединений для всех адаптеров и RAII подходом для зависимостей
💜авто-команды для роутера и поддержка переводов для всего этого

Мне лично кажется что я довел проект до отличного состояния и теперь точно дальше только полишинг. Тч ставим звездочки и пробуем
Please open Telegram to view this post
VIEW IN TELEGRAM
4
🎉 Vue SOTA 2026: на чем строим фронтенд в эпоху ИИ

Доклад о том, где мы находимся сейчас в экосистеме Vue и почему его по-прежнему можно использовать несмотря на то, что большинство вокруг использует React. Будет немного (немного) истории, еще немного сравнения фреймворков, а затем поговорим о том как теперь пишем на Вью и Наксте с агентами.

📅 09.07.2026 в 19:00 (МСК)

Подробности на платформе

#сообщество
🗞️ Fedora 45 включает теневой стек: защита от ROP для новых процессоров

Fedora 45 собирается включить защиту на основе теневого стека (Shadow Stack) по умолчанию для бинарников, собранных под x86_64. Это аппаратная фича Intel CET, доступная начиная с 11-го поколения Intel (Tiger Lake, Rocket Lake) и AMD Zen3. Включат поддержку в GCC, Clang и rustc — то есть под раздачу попадают C, C++ и Rust.

Что это даёт на практике: если в приложении переполнят буфер на стеке и попытаются переписать адрес возврата, теневой стек это заметит — у него своя копия адресов в защищённой области памяти. ROP-атаки (Return-Oriented Programming) становятся значительно сложнее. Разумеется, на старых процессорах без аппаратной поддержки (Zen2 и старше) инструкции CET просто работают как NOP — защита не включается, но и не ломает совместимость.

Лично я считаю это правильным шагом: лучше защитить пользователей современного железа, чем тянуть совместимость с процессорами десятилетней давности. Fedora всегда была дистрибутивом для тех, кто хочет новое, а не для тех, кто сидит на Pentium 4. Если у вас Zen2 — ну, может, пора подумать об апгрейде. А если боитесь, что какой-то старый софт сломается — всегда можно пересобрать пакет с флагом -fcf-protection=none. Но в целом, безопасность в продакшене того стоит.

Источник

#новости
Forwarded from 8BitJS
​​Ускоряем O(N + T), не меняя Big O. Часть 2. Четыре байта, которые могут изменить результат

В первой части мы получили решение через разностный массив со сложностью O(N + T) и результатом 1,589 секунды.

Big O отвечает на вопрос, как растет количество работы. Но внутри алгоритма куда более важную часть играют размер одной записи в памяти, количество временных объектов, случайные обращения к большому массиву, стоимость разбора входных данных.

Теперь посмотрим не на количество операций, а на то, что именно лежит в памяти.

В JavaScript все обычные числа имеют тип Number. По спецификации это 64-битные числа с плавающей точкой IEEE 754.

Внутри V8 их представление может меняться: небольшие целые числа могут храниться как Smi, а остальные — как HeapNumber. Об этом подробнее писал ранее: Как V8 работает с числами. Small Integer теория и HeapNumber в V8. Как хранятся числа вне Smi. Теория часть 1

Но у TypedArray правила проще:

- Int32Array хранит ровно 32-битные знаковые целые;
- Float64Array хранит 64-битные числа с плавающей точкой.

При T = 10 000 000 только сам разностный массив занимает примерно:

Int32Array 4 байта на одну запись и для всего массива около 40 МБ
Float64Array8 байт на одну запись и для всего массива около 80 МБ

В два раза меньше памяти означает, что через иерархию кэшей процессора приходится протаскивать меньше данных.

Выбор очевиден, но есть небольшое «но».

Переполнение

По условию одна заявка содержит не больше 1 000 000 велосипедов. Такое значение спокойно помещается в Int32.

Но в одной точке разностного массива могут встретиться миллионы одинаковых событий:

diff[a] += s;


Отдельное значение s помещается в 32 бита, а их сумма — уже нет.

Int32Array не бросает ошибку и не превращает значение в обычный Number. При записи он просто оставляет младшие 32 бита:

const values = new Int32Array(1);

values[0] = 2_147_483_647;
values[0] += 1;

console.log(values[0]);
// -2147483648

Мы прибавили единицу к положительному числу и получили отрицательное — произошло переполнение.


Для JavaScript Number это все еще безопасное целое значение, но для одной ячейки Int32Array — уже нет.

Подведем итог

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

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

Любые оптимизации всегда требуют баланса между скоростью и памятью.

—-

#JavaScript #V8 #TypedArray #Int32Array #Overflow #Performance #CodeRun #8BitJS
Forwarded from 8BitJS
​​Итоги CodeRun Summer: 15 задач и 636 попыток решения

Финал CodeRun Summer Challenge выглядит аккуратно: 15 задач из 15 и третье место среди JavaScript-решений.

Но за рейтингом остались 636 отправок, 443 WebAssembly-модуля и 548 тысяч строк тестов и бенчмарков. Финальные 15 файлов заняли всего 1 142 строки. На одну строку решения пришлось около 480 строк экспериментов.

Сложнее всего сказать когда соревнование алгоритмов переросло в соревнование моделей и микрооптимизаций.

Немного сухой статистики

- 15 решенных задач, итоговое 3 место
- 1 задача с лучшим результатом, 39 мс
- Репозиторий весом 1,35 ГБ и 4 708 файлов.
- 199 052 строк на C
- 1210 сессий с агентами
- 8 852 044 861 чистых токенов без форка для сабагентов

Главное открытие: Accepted — не конец работы.

Интересные факты

Самая большая задач имеет 507 кандидатов и 232 092 строк исходников, а самая маленькая 16 файлов и 1 821 строку.

Для одной из задач пришлось создать 394 МБ тестовых данных.

В одной задаче вычислительное ядро занимало около 1,36 мс, а весь прогон десятки миллисекунд.

Мои главные уроки

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

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

Изначально выстраивать идеальный сценарий с агентом, который начинает не с кода, а с условия: фиксирует контракт задачи, ограничивает рантайм. Затем строит оракул, тесты и воспроизводимый бенчмарк на точной версии Node.js. Каждая идея проверяется в отдельном кандидате, и до браузера доходит только вариант, который сохраняет корректность и стабильно выигрывает на нескольких профилях. После отправки агент сверяет результат с тем исходником, который действительно ушёл в судью. Так CodeRun становится финальной проверкой измеренного улучшения, а не дорогим генератором случайных чисел.

Wasm не оказался волшебной палочкой. Часто выигрыш съедала компиляция, иногда обмен с памятью.

Локальные миллисекунды врут. На результат влияют прогрев, скрытые данные, ввод. Поэтому локальная медиана стала не доказательством, а основанием продолжить эксперимент.

Однажды Monaco склеил старый код с хвостом нового. Так выяснилось, что сверка исходника перед отправкой — тоже часть алгоритма.

В итоге сработал не один трюк, а смена процесса: замороженный контроль, проверка корректности, разные профили, одна гипотеза за эксперимент и отправка только при измеримом запасе.

---

#CodeRun #Challenge #JavaScript #Benchmark #8bitJS
1🔥1👏1
🎙️ Бэкендеры заменят фронтов. Трансформация в корпорации.

Что делать фронтам? Всё так плохо?

📅 25.07.2026 в 12:00 (МСК)

Подробности на платформе

#сообщество
😁2