Обновить
512K+

Open source *

Открытое программное обеспечение

699,89
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Manticore Search 27.1.5: аутентификация, шардированные таблицы, диалоговый поиск и более быстрый векторный поиск

Время на прочтение5 мин
Охват и читатели8K

Manticore Search 27.1.5 выпущен. Этот релиз приносит встроенные аутентификацию и авторизацию, шардированные таблицы, conversational search, более быструю сборку HNSW, улучшенные фасетирование и агрегации, а также длинный список исправлений в KNN, репликации, совместимости протоколов и других областях.

Этот пост - сводка всего, что вышло с 25.0.1 по 27.1.5.

Читать далее

Собрал ИИ-бенчмарк под себя из 2 месяцев своих сессий — и дорогие модели проиграли дешёвым

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.3K

Два месяца своих сессий с ИИ скормил скрипту и собрал бенчмарк под СВОЮ работу — не под чужой лидерборд.

Результат: тройка «лучших открытых моделей» сжалась в ничью, а в практике победила модель в 37 раз дешевле — потому что отвечает мгновенно, а 744B-гигант думает 22 секунды до первого слова.

Важным оказался не балл, а телеметрия, которую балл прячет.

Читать далее

Анатомия процесса загрузки Linux — от инициализации ядра до systemd

Время на прочтение11 мин
Охват и читатели19K

Загрузка операционной системы — процесс многоступенчатый и разнообразный. Несколько лет назад я писал о процессе загрузки сервера x86 в режимах Legacy и UEFI, но акцент тогда был именно на «железной» части.

Пришло время сместить внимание на программную составляющую. Посмотрим, какие стадии преодолевает ядро Linux, что происходит, и какие «фишки» можно выполнить на старте системы.

Читать далее →

Deckhouse Prom++: как мы сжали разметку метрик Prometheus и снизили расход памяти в 2,5 раза с помощью статистики данных

Уровень сложностиСложный
Время на прочтение24 мин
Охват и читатели14K

Хотели избежать копирования данных, придумали свою служебную разметку, а потом обнаружили: она занимает почти столько же места, сколько сам исходный текст. Мы перестали гадать, посмотрели на реальные данные и применили простые, но эффективные подходы: числа переменной длины, отказ от double в пользу целых типов и умные if-else вместо switch

Итог: мы сжали разметку в 2,5 раза и при этом даже немного выиграли в скорости. Рассказываем, как знание предметной области помогло нам не усложнять код, а сделать его быстрее и легче.

Читать далее

Browser Policy Manager: распаковка

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели12K

В предыдущих публикациях я уже рассказывал, зачем вообще появился Browser Policy Manager, почему я начал с Firefox Enterprise Policies и почему не стал делать «просто генератор policies.json». Эта статья — более техническая. Здесь я хочу разобрать, как Browser Policy Manager устроен внутри на версии 0.8.8.

Версия 0.8.8 для проекта важна тем, что в ней фактически сложилась основная архитектура продукта:

Читать далее

Vibe-coding и зависимости: как не дать Claude и Cursor затащить дырявый пакет

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели9.2K

На прошлой неделе я попросил Claude Code добавить рендеринг markdown в проект. Через секунду в зависимостях появился flutter_markdown — нормальный пакет от flutter.dev, паблишер проверенный. Я нажал accept.

А потом случайно открыл его карточку, а там прямо в шапке: «This project has been discontinued, and will not receive further updates.» Пакет уже больше года как мёртв.

Другой пример: Cursor добавляет minio/minio:latest в docker-compose для S3-совместимого хранилища. Только репозиторий архивирован 25 апреля 2026 года, и MinIO Inc. толкает всех в коммерческий AIStor.

В статье разбираю: — что такое slopsquatting и почему эта атака работает только из-за ИИ-агентов; — что показала USENIX Security 2025 на 576 000 примерах кода (спойлер: 19,7% рекомендованных LLM пакетов вообще не существуют); — что реально творилось с npm и PyPI в 2024–2025 — от ultralytics до Shai-Hulud-червя и атаки на chalk с 2 млрд weekly downloads; — готовый skill для Claude Code, который заставит агента проверять пакет до установки.

Читать далее

Как мы ускорили KNN-поиск в Manticore: двухпроходный обход HNSW, пакетная обработка и AVX-512

Время на прочтение6 мин
Охват и читатели6.7K

Кратко: Три изменения в HNSW-поиске ускоряют KNN-поиск до 29% при больших k и дают более 20% прироста при параллельной нагрузке. Без изменений API, без перестроения индексов и без новых настроек — просто более быстрый поиск.

Читать далее

От золотого сечения до троичности Брусенцова: одно семейство числовых форматов от 2 до 1024 бит

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели7.8K

Почему bfloat16 стал стандартом для обучения нейросетей? Не потому, что он оптимален как число, — а потому что под него десять лет затачивали GPU и TPU. Снимаем этот эффект железа и смотрим на числа честно.

В статье: семейство форматов GoldenFloat (GF4, GF8, GF16, GF32, GF64, GF1024) с основанием φ = (1+√5)/2; метрика «бит на значение» (GF16 = 2.5725 обходит bf16 = 2.6135 на одном корпусе); и неожиданный мост к троичной машине «Сетунь» Н. П. Брусенцова — три состояния −1/0/+1 как предельная точка той же φ-лестницы.

Без обещаний золотых гор: что измерено — измерено, что только спека — помечено.

Читать про φ-форматы

Как быстро восстановить сайты, если нет бэкапов

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели7.8K

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

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

Читать далее

Как я подключил Obsidian к Claude и Codex: домашний сервер, CouchDB, MCP и баг, который съедал заметки

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели13K

Статья про то, как я связал Obsidian с Claude и Codex через домашний сервер, CouchDB и MCP, а по дороге поймал баг, который тихо съедал куски заметок.

🔧 Это не про «как всё стало умным», а про нормальную историю с self-hosted, авторизацией, странностями LiveSync, мобильными клиентами, CORS, OAuth 2.1.

Внутри выводы о том, как давать AI доступ к базе знаний и не потерять эти самые данные.

Заходите, читайте и делитесь своим опытом ❤️

Читать далее

Как reload ingress-nginx уронил прод. История про pids.max, threads-max и виртуалку, которая подросла

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.3K

Схема входящего траффика в кластер Kubernetes простая: web → Envoy Gateway → Ingress Nginx → backend. За Ingress Nginx, помимо обычного HTTP, живут долгоживущие WebSocket-соединения. Штатная нагрузка - около 100 RPS. Ничего экзотического.

В один прекрасный день всё в кластере легло. Клиенты получают 503/500. В логах Envoy - флаг UF и upstream_reset_before_response_started{connection_timeout}. То есть ingress-nginx просто перестал отвечать.

Дальше - два часа разбора и довольно красивая цепочка причин, которая началась с банального reload, а закончилась на том, как ядро считает лимит потоков при старте виртуалки.

Читать далее

Из ядра Linux выпилили strncpy: шесть лет, 362 коммита, одна функция

Время на прочтение2 мин
Охват и читатели35K

19 июня Линус Торвальдс влил merge, который убрал из ядра Linux функцию strncpy — шесть лет работы, 362 коммита, семьдесят человек ради одной функции стандартной библиотеки C. Разбираю, почему «просто заменить небезопасную функцию» в C совсем не просто: strncpy только выглядит как «безопасный strcpy» из-за параметра n, а на деле это даже не строковая функция, а реликт fixed-width полей из AT&T Unix 1979 года. Главное в истории не сам выпил, а его цена: заменить нельзя автозаменой, потому что каждый из 362 вызовов требует понять намерение — нужна C-строка, padding или бинарное поле. Урок выходит за пределы ядра: в любой C/C++ базе на проде strncpy — это не баг, а код, который надо перечитать.

Читать дальше →

KiSinWi — AutoML-платформа с микросервисной архитектурой и мультиагентными воркфлоу

Уровень сложностиСредний
Время на прочтение26 мин
Охват и читатели7.7K

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

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

Читать дальше

Ближайшие события

Как навести порядок в паролях. Локальный менеджер паролей: KeePassXC, Syncthing и бэкапы

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели11K

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

Читать далее

Разработка длиною в 3 года: как я писал свой PHP CMS/Framework Gy, «убийцу» Битрикса, весом 350 Кб

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели6.9K

Под катом делюсь обзором своего самописного PHP-фреймворка Gy — попытки сделать легковесного «убийцу» Битрикса весом 350 Кб. Расскажу, как я реализовал вызов компонентов, зачем написал кастомный SQL-движок на текстовых файлах PhpFileSql.

Костыли, велосипеды, 3 года разработки по выходным, 315 коммитов, 14232 строки кода, поддержка практически всех версий PHP и ровно 0 пользователей.

Читать далее

Локальный RAG без магии: sources, timings, request_id и отказ от генерации

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели9K

Хотел разобраться где заканчивается простой вызов локальной LLM и начинается backend система.

Сначала всё выглядело просто: frontend отправляет вопрос, FastAPI принимает POST /ask, backend вызывает локальную модель через Ollama и возвращает ответ. Но стало понятно: для помощника по документации этого мало. Модель отвечает, но непонятно на какие документы она опирается, какие фрагменты попали в prompt, сколько времени занял каждый этап и что делать, если индекс устарел.

В статье показываю не "как вообще устроен RAG", а путь от простого вызова локальной LLM к небольшому backend/RAG-проекту с API контрактом, request_id, логированием, sources, timings, rebuild index, negative tests и честными ограничениями.

От LLM вызова к RAG системе

Спутниковая связь в симуляторе NS-3. Часть 7

Уровень сложностиСредний
Время на прочтение34 мин
Охват и читатели6K

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

Читать далее

DeepSeek‑V4‑Flash на двух DGX Spark: как мы убрали очередь и получили multi‑user

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.4K

Подняли DeepSeek‑V4‑Flash на двух GB10, упёрлись в потолок consumer Blackwell, прошли три тупика со спекулятивным декодингом — и в итоге получили параллельную работу ресёрч-агента и длинной генерации без очереди. Цифры из Grafana.

Читать далее

Как мы сделали простой мониторинг загрузки станков через Zigbee-сеть: open source стек без кабелей и вендорлок

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели12K

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

Читать далее

Меняем Punto Switcher на macOS: открытый код, ноль телеметрии и ноль зависимостей — в обоих смыслах

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.7K

Если серьёзно — зависимостей у RuSwitcher действительно ноль: только системные фреймворки и чистый Swift, никакой телеметрии и ничего постороннего в Package.swift. Но начнём с боли.

Если вы пишете на двух языках, то знаете эту боль: набрал полстроки, поднял глаза — а там ghbdtn вместо «привет». На Windows эту проблему закрывает Punto Switcher. А на macOS? Его Mac‑версию Яндекс забросил ещё в 2017-м, да и у самого Punto хватает «сюрпризов»: встроенный кейлоггер‑«дневник», телеметрия, навязывание Яндекс‑сервисов и закрытый код. Мне хотелось простого, открытого и без слежки — поэтому я написал своё: RuSwitcher, лёгкий переключатель раскладки в меню‑баре. Open source (MIT), ноль зависимостей, ноль телеметрии.

В статье — как это устроено внутри: перехват клавиатуры через CGEventTap, динамический маппинг любых двух раскладок через UCKeyTranslate, и отдельно — раздел «грабли», включая историю про то, как я случайно выложил релиз, где DMG назывался 2.1.0, а внутри лежала сборка 2.0.3.

Втянуться без зависимостей