59798
Любые вопросы по сотрудничеству: @ramilkr Если нужен токен: https://telega.in/c/nuancesprog NOP::Humor - https://t.me/nophumor NOP::Recruiter Удаленка- https://t.me/nopremote РКН: 4977653520
Решение проблемы COUNT в Postgres
ParadeDB ускорила COUNT-запросы поиска в два раза. Пропускная способность выросла с 2645.8 до 5353.3 QPS.
Проверка видимости строк занимала 81% всех чтений страниц. Сегментная партиция по ctid сократила эти чтения с 1382 до 30.
Второй шаг — инвертировать карту DocId → ctid. Старый маппинг требовал n чтений ctid для n совпадений.
🔗 Подробнее
@nuancesprog #Data #Postgres
Слабое звено Azure: пять полных кросс-тенантных взломов
Исследователь Binary Security нашёл уязвимости в API Connections внутри Azure Logic Apps. Они дают полный доступ к чужому бэкенду и принесли исследователю 200 000 долларов.
ARM-запрос идёт в общий API Management с правами на все подключения. Поэтому чужой токен можно применить к Key Vault, Azure SQL или Jira.
Первый фикс закрыл path traversal, но не архитектурный доступ к чужим токенам. Минимизируй права токенов у своих Azure API Connections.
🔗 Подробнее
@nuancesprog #Security
Undo для Postgres: откат ровно тех строк, что испортили
Muhammad Aqeel представил pgVolvra — инструмент точного отката изменённых строк. Он возвращает только строки, которые задела ошибочная команда, и не трогает остальное.
Обычный откат в Postgres — это восстановление копии и ручная сверка, занимает часы. pgVolvra записывает изменения строк и работает на чистом SQL и PL/pgSQL без расширений.
Полезно сначала смотреть прошлое через as_of и включить предупреждение о массовых изменениях. Ставится инструмент одним SQL-файлом, а откат требует confirm => true.
🔗 Подробнее
@nuancesprog #Tools #Postgres
Microsoft Edge: full chain без порчи памяти
Orange Tsai собрал для Edge цепочку из пяти багов и двух функций Windows. За неё дали $175 000 и 17.5 баллов Master of Pwn.
Первая уязвимость — UXSS из-за навигации без привязки к вкладке. EdgeCAGuidanceNavigationThrottle запускает переход не из рендерера, а из браузерного процесса.
Если не указан source_contents, Chromium берёт текущую активную вкладку. Атакующий переключает вкладку за время задержки и выполняет скрипт на чужом сайте.
🔗 Подробнее
@nuancesprog #Security
Как масштабировать SIMD-код на любую ширину векторов
Статья рассказывает, как писать SIMD-код, который не привязан к конкретной ширине. Это позволяет одному исходнику работать на разных процессорах.
Обычно SIMD-код пишут под конкретный набор инструкций вроде AVX2. При переходе на более широкие регистры код приходится переписывать.
Стоит использовать обёртки и автовекторизацию вместо ручного указания ширины. Так код сам адаптируется под разные наборы инструкций.
🔗 Подробнее
@nuancesprog #Languages #C
Софт может ухудшаться, но раньше был ужасен
Джейк Войтко пишет, что софт раньше был ужасен. Синие экраны и крахи были нормой с 1990 года.
Windows занимала около 95% рынка, а драйверы были глючными. Пользователи до сих пор рефлекторно жмут Ctrl+S из-за травмы.
Рост кода в 10 раз без снижения ошибок делает софт хуже. Не романтизируй прошлое: текущие баги не уникальны.
🔗 Подробнее
@nuancesprog #Opinion
Код пишется в Cursor, ревьюит Claude, деплой уходит на AWS. Осталось за все это заплатить
Российские карты не принимают многие зарубежные сервисы для разработчиков. Можно искать посредников, просить знакомых с иностранной картой, а можно оформить собственную.
Yello Card — виртуальная карта иностранного эмитента с пополнением рублями через СБП без комиссии и бесплатным обслуживанием.
С тарифом Ultima+ можно оплачивать:
✔️ GitHub Copilot, Cursor, JetBrains
✔️ Claude, ChatGPT и их API
✔️ AWS, Google Cloud, Vercel, Hetzner
Всего в списке поддерживаемых — более 375 сервисов, включая Figma и Notion.
Нужный сервис можно проверить на сайте ещё до выпуска карты.
Проверить, какие сервисы можно оплатить
Функции 'use server' в Next.js — публичные HTTP-эндпоинты
Каждая экспортированная функция с директивой 'use server' компилируется в публичный POST-эндпоинт. Её можно вызвать через curl или Postman, передав любой JSON.
Проверка в layout.tsx или page.tsx не защищает Server Action: перед вызовом layout.tsx не выполняется. middleware.ts тоже не спасёт как единственный рубеж безопасности.
Проверяй права прямо внутри каждой функции с 'use server' и не экспортируй лишнее. Не верь TypeScript: типы стираются, а в теле может прийти любой JSON.
🔗 Подробнее
@nuancesprog #Security #React
Экспериментальный JIT в CPython уберут
В 2024 году в Python 3.13 появился экспериментальный JIT-компилятор CPython. В июне совет приостановил работу над ним, а после отзыва PEP 836 JIT уберут.
PEP 744 о JIT был информационным и не давал формального согласия на доработку. Это оставляло неопределённость для разработчиков CPython, мейнтейнеров пакетов и пользователей.
Для рабочих проектов не закладывайся на JIT в ближайших версиях Python. Эксперименты с ним лучше держать вне основной ветки CPython.
🔗 Подробнее
@nuancesprog #Languages #Python
Sebastian Raschka выпустил видеокурс по reasoning-моделям
Sebastian Raschka выложил восемь видеолекций по reasoning-моделям. Это больше одиннадцати часов кода на Python и PyTorch.
Почти все актуальные LLM уже reasoning-модели или предлагают такой режим. Курс берёт предобученную Qwen3 и добавляет оценку, инференс-скейлинг и обучение с подкреплением.
Для прохождения нужно уверенно знать Python и PyTorch. Ранние примеры запускаются на CPU, но для обучения лучше взять GPU.
🔗 Подробнее
@nuancesprog #AI #Python
Старая CNN обошла новые LLM в диагностике рака кожи
Учёный сравнил старую CNN с новыми LLM для диагностики рака кожи.
Сеть Inception v3 2015 года обошла GPT-6 Astra и Claude Fable 5.1.
CNN правильно назвала диагноз для 125 из 200 поражений.
LLM дали верный ответ лишь в 84 и 85 случаях.
Она дообучилась за двадцать минут на одной H100 и работает в браузере.
Но модель разрешила не лечить 18 из 30 меланом при пороге по умолчанию.
🔗 Подробнее
@nuancesprog #AI
Reylo: импорт .sql в TypeScript без кодогенерации
Reylo позволяет импортировать .sql файлы прямо в TypeScript.
Типы выводятся полностью, без генерации кода.
Он использует content mappers из TypeScript 7.1, сейчас в бете.
Сверка с живой базой ловит опечатки в колонках и параметрах.
Для запуска нужны TypeScript 7.1 beta, Node 24 и dev-база.
В tsconfig добавляешь contentMappers и запускаешь tsc с --runExternalCode.
🔗 Подробнее
@nuancesprog #Languages #TypeScript
SIMD-ускорение детектора FAST на ESP32-S3 за $2
Автор написал SIMD-версию детектора FAST для ESP32-S3.
Она вдвое быстрее эталона и обрабатывает QVGA-кадр за ~6 мс.
У чипа есть 128-битные SIMD-инструкции, но с ограничениями.
Он сравнивает только знаковые байты и использует насыщающую арифметику.
Автор обошёл ограничения сдвигом диапазона и склейкой регистров.
Его код даёт 220% прироста: с 5.1 до 11.2 МП/с.
🔗 Подробнее
@nuancesprog #Tools
Исходники GPU tensor unlock для RTX 4090 и 4070 Ti SUPER
Опубликован модуль ядра для разблокировки тензорных ядер RTX 4090. Он также поддерживает RTX 4070 Ti SUPER и RTX 4060 Ti 16GB.
Модуль включает переопределение скорости SM до старта драйвера NVIDIA. На RTX 4090 FP16 и BF16 тензорная пропускная способность выросла примерно вдвое.
На 4070 Ti SUPER скорость выдачи тензорных инструкций FP16/FP32 выросла с 95.0 до 189.9 TF/s. Но это скорости инструкций, а не ускорение реальных приложений.
🔗 Подробнее
@nuancesprog #Infrastructure #Linux
RAG на 15 млн документов: как заставить показать доказательства
Stanford RegLab протестировала коммерческие юридические RAG-инструменты. Они всё ещё галлюцинировали в 17–33% случаев.
Три главные причины: неверный контекст, игнорирование верного, ответ без доказательств. Система не умеет честно сказать «не знаю» и заполняет пробелы.
Нужна архитектура с четырьмя фильтрами: извлечение, ограничение, проверка, отказ. Она превращает галлюцинацию в честное «не смог проверить».
🔗 Подробнее
@nuancesprog #AI
H.264 Is Magic
H.264 — стандарт видеокодека для интернет-видео, Blu-ray, телефонов, дронов и камер.
Несжатое видео 1080p при 60 кадрах в секунду занимает примерно 370 МБ/с.
Автор сравнил PNG-скриншот и H.264-видео одной и той же страницы.
Скриншот весит 1015 КБ, а пять секунд видео с 300 кадрами — 175 КБ.
H.264 сжимает с потерями: он выбрасывает малозаметные детали изображения.
У MacBook Pro пропадают отверстия решёток динамиков, а кадр весит 7% исходника.
🔗 Подробнее
@nuancesprog #Data
📬 Дайджест недели
Лучшее за неделю:
• Исходники GPU tensor unlock для RTX 4090 и 4070 Ti SUPER
• OpenAI выпустил php2shell-checker для проверки PHP2Shell
• Reylo: импорт .sql в TypeScript без кодогенерации
• Разработчик случайно раскрыл PHP RCE до эмбарго
• Старая CNN обошла новые LLM в диагностике рака кожи
• Sebastian Raschka выпустил видеокурс по reasoning-моделям
• Claude формально доказал безопасность 123 библиотек
Мимо ленты, но стоило внимания:
• EthanArbuckle/fairplay-decrypt — Offline FairPlay App Store IPA decryption with independent key derivation
• Chained PHP2Shell Exploit Roots 25 Servers, Including US Government Servers
• Tailscale SSH: Investigation and remediation update
• Code-execution flaw in UEFI firmware affects most servers on planet Earth
• Tailscale SSH: Investigation and remediation update
Наша сетка: 😄 юмор — @nophumor · 💼 удалёнка — @nopremote
@nuancesprog #Digest
Логи с инъекцией обманули открытые модели
Автор спрятал prompt injection в логе из 300 записей ASP.NET Core. Четыре открытые модели ответили «GHOST IN THE SHELL» вместо разбора инцидента.
Лог выглядел как обычный сбой payments-api с ретраями и circuit breaker. Если скармишь такие логи ИИ без проверки, вывод можно подменить.
Gemini 2.5 Flash-Lite, 3.5 Flash-Lite, Codex Luna и Sol инъекцию проигнорировали. Атаку пришлось дорабатывать четыре или пять раз.
🔗 Подробнее
@nuancesprog #AI
26 400 живых учётных данных в 7,25 млн репозиториев Gitee
Исследователь Бен Зиммерман с командой Kingfisher из MongoDB просканировал 7 256 531 публичных репозиториев Gitee. Он нашёл 26 400 уникальных проверенных живых учётных данных.
Среди находок — действующий админ-доступ крупной корпоративной ИИ-платформы и тысячи живых ключей облачных провайдеров. На Gitee нет публичных партнёрств по сканированию секретов, как на GitHub.
Для обхода ограничений Gitee он собрал 1 704 759 имён пользователей и обходил страницы. Проверь свои публичные репозитории на секреты — история коммитов не прощает загрузок ключей.
🔗 Подробнее
@nuancesprog #Security #Git
Таблицы поиска на миллиард запросов в секунду
Даниэль Лемир разбирает быстрые таблицы поиска строк в C++.
Заявлена скорость в миллиард запросов в секунду.
Ключи известны при написании кода и не меняются.
unordered_map всё равно хеширует строку и обходит список.
Автор предлагает perfect hashing вместо unordered_map.
Детали реализации он показывает в статье.
🔗 Подробнее
@nuancesprog #Languages
Что решает SKIP LOCKED, а что остаётся вам
SKIP LOCKED позволяет брать следующую свободную строку, не дожидаясь заблокированных.
Postgres получил SKIP LOCKED в версии 9.5, MySQL — в 8.0.
SKIP LOCKED защищает только момент взятия задачи.
Упавший воркер оставляет задачу в статусе running навсегда.
Нужны lease (время владения) и heartbeat, чтобы воркер не потерял задачу.
Fencing token решает, чей результат считать при двух владельцах.
🔗 Подробнее
@nuancesprog #Infrastructure #Postgres
CI зелёный. Может ли PR украсть секреты?
GitHub Actions запускает workflow по pull request. Тесты зелёные, но workflow может получить доступ к секретам и токену.
Опасны связки pull_request_target и workflow_run с выполнением кода из PR. Они работают в привилегированном контексте и могут отдать секреты чужому коду.
Дай workflow только нужные права и не подключай лишние секреты. Проверяй сторонние actions и не вставляй заголовок PR прямо в shell-скрипт.
🔗 Подробнее
@nuancesprog #Security #GitHub
CRDT на время слияния: как работает Eg-walker
Joseph Gentle и Martin Kleppmann представили Eg-walker на EuroSys 2025. Классический OT (операционное преобразование) сливает реальную историю Git Makefile за час, Eg-walker — за 24 миллисекунды.
Обычные CRDT (бесконфликтные структуры данных) держат метаданные в памяти и требуют свыше 10x памяти OT. Eg-walker хранит историю правок и собирает CRDT только при конкуренции.
При обычной работе правки применяются к строке без метаданных. Временный CRDT нужен только для конкурентных событий, и его выбрасывают.
🔗 Подробнее
@nuancesprog #Tools
Microsoft анонсировала Type Server Protocol
Microsoft опубликовала спецификацию Type Server Protocol (TSP). Он расширяет Language Server Protocol и использует его структуры данных.
Для IDE и анализаторов это единый способ получать данные о типах. Сервер отдаёт вычисленные, объявленные и ожидаемые типы.
Протокол пока в 0.x: минорные версии могут ломать совместимость. Проверяй возвращаемую версию через typeServer/getSupportedProtocolVersion.
🔗 Подробнее
@nuancesprog #Tools #Python
Точность tool call в vLLM: 92% → 100%
На vLLM 0.28 Kimi K2.6 выдавала ожидаемую схему tool call лишь в 92% случаев. Это два сбоя на каждые 25 попыток вызова инструментов.
Неточные вызовы инструментов заставляют модель накапливать бессмысленный контекст в диалоге. Особенно это вредит агентным сценариям с длинными многоходовыми сессиями.
В vLLM 0.31 появился серверный флаг constrained decoding (генерация строго по схеме). Он гарантирует 100% соблюдение схемы на новых Kimi и DeepSeek.
🔗 Подробнее
@nuancesprog #AI
Dijkstra, A* и CCH на дорогах Флориды
ArcadeDB сравнила поиск пути на дорожной сети Флориды: 1,07 млн узлов и 2,7 млн сегментов. Dijkstra обработал 1 029 617 узлов, A* — 840 138, а CCH только 346.
Все три алгоритма вернули одинаковый маршрут с точностью до секунды. CCH отвечает за 0,04 мс вместо примерно 100 мс у Dijkstra.
ArcadeDB строит CCH по SQL-выражению с параметрами km и minutes. Когда иерархия не успевает за коммитом, запрос уходит в bidirectional Dijkstra.
🔗 Подробнее
@nuancesprog #Data
Partial Operator Precedence
В Zig компилятор теперь требует скобки для неоднозначных сочетаний операторов. Это изменение реализует issue #114, открытый 8 февраля 2016 года.
Теперь не нужно помнить приоритет сложных сочетаний, только таблицу для арифметики и сравнений. В кодовой базе Zig поправили лишь 353 строки из более чем миллиона.
Обновляться можно вручную или через zig fmt --upgrade, он добавит скобки по старым правилам. Автор советует ручную правку: флаг уберут после одного цикла релизов.
🔗 Подробнее
@nuancesprog #Languages
OpenAI выпустил php2shell-checker для проверки PHP2Shell
OpenAI опубликовал инструмент php2shell-checker на GitHub. Он определяет, уязвима ли версия PHP для атаки PHP2Shell.
Утилита проверяет заголовки X-Powered-By и Server на сайте. Она также может смотреть версию PHP на локальном сервере.
Результат OK не гарантирует наличие бэкпорт-фикса в установке. Инструмент не шлёт эксплойты и не проверяет тело ответа.
🔗 Подробнее
@nuancesprog #Security
Люди, которые считают UB безобидным, ошибаются
Автор блога разобрал неопределённое поведение в C на конкретном ассемблере. Он показал сборку GCC 16.2 с флагом -O1.
После вызова std::unreachable() выполнение провалилось в функцию explode(), хотя её никто не звал. При разыменовании нулевого указателя GCC записал ноль вместо 99 и упал.
Неопределённое поведение может сделать что угодно. Не рассчитывай на segfault или на «мы знаем, что произойдёт».
🔗 Подробнее
@nuancesprog #Languages #C
MCP-файрвол: 14 из 17 атак прошли, теперь 2 из 23
Разработчики атаковали свой MCP-файрвол WARDEN с открытым исходным кодом. Превратили задокументированные ограничения в 17 атак: сначала прошли 14.
Такой подход вскрывает дыры, которых не видно по списку 'что не делает'. Для разработчиков MCP-инструментов это сигнал проверять утечки малыми кусками.
Исправили тройной защитой: двойные отпечатки, окна без разделителей, метки для инструментов с именами людей. Теперь пробиваются только 2 атаки из 23.
🔗 Подробнее
@nuancesprog #Security