nuancesprog | Education

Telegram-канал nuancesprog - NOP::Nuances of Programming

59798

Любые вопросы по сотрудничеству: @ramilkr Если нужен токен: https://telega.in/c/nuancesprog NOP::Humor - https://t.me/nophumor NOP::Recruiter Удаленка- https://t.me/nopremote РКН: 4977653520

Subscribe to a channel

NOP::Nuances of Programming

Решение проблемы COUNT в Postgres

ParadeDB ускорила COUNT-запросы поиска в два раза. Пропускная способность выросла с 2645.8 до 5353.3 QPS.

Проверка видимости строк занимала 81% всех чтений страниц. Сегментная партиция по ctid сократила эти чтения с 1382 до 30.

Второй шаг — инвертировать карту DocId → ctid. Старый маппинг требовал n чтений ctid для n совпадений.

🔗 Подробнее

@nuancesprog #Data #Postgres

Читать полностью…

NOP::Nuances of Programming

Слабое звено 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

Читать полностью…

NOP::Nuances of Programming

Undo для Postgres: откат ровно тех строк, что испортили

Muhammad Aqeel представил pgVolvra — инструмент точного отката изменённых строк. Он возвращает только строки, которые задела ошибочная команда, и не трогает остальное.

Обычный откат в Postgres — это восстановление копии и ручная сверка, занимает часы. pgVolvra записывает изменения строк и работает на чистом SQL и PL/pgSQL без расширений.

Полезно сначала смотреть прошлое через as_of и включить предупреждение о массовых изменениях. Ставится инструмент одним SQL-файлом, а откат требует confirm => true.

🔗 Подробнее

@nuancesprog #Tools #Postgres

Читать полностью…

NOP::Nuances of Programming

Microsoft Edge: full chain без порчи памяти

Orange Tsai собрал для Edge цепочку из пяти багов и двух функций Windows. За неё дали $175 000 и 17.5 баллов Master of Pwn.

Первая уязвимость — UXSS из-за навигации без привязки к вкладке. EdgeCAGuidanceNavigationThrottle запускает переход не из рендерера, а из браузерного процесса.

Если не указан source_contents, Chromium берёт текущую активную вкладку. Атакующий переключает вкладку за время задержки и выполняет скрипт на чужом сайте.

🔗 Подробнее

@nuancesprog #Security

Читать полностью…

NOP::Nuances of Programming

Как масштабировать SIMD-код на любую ширину векторов

Статья рассказывает, как писать SIMD-код, который не привязан к конкретной ширине. Это позволяет одному исходнику работать на разных процессорах.

Обычно SIMD-код пишут под конкретный набор инструкций вроде AVX2. При переходе на более широкие регистры код приходится переписывать.

Стоит использовать обёртки и автовекторизацию вместо ручного указания ширины. Так код сам адаптируется под разные наборы инструкций.

🔗 Подробнее

@nuancesprog #Languages #C

Читать полностью…

NOP::Nuances of Programming

Софт может ухудшаться, но раньше был ужасен

Джейк Войтко пишет, что софт раньше был ужасен. Синие экраны и крахи были нормой с 1990 года.

Windows занимала около 95% рынка, а драйверы были глючными. Пользователи до сих пор рефлекторно жмут Ctrl+S из-за травмы.

Рост кода в 10 раз без снижения ошибок делает софт хуже. Не романтизируй прошлое: текущие баги не уникальны.

🔗 Подробнее

@nuancesprog #Opinion

Читать полностью…

NOP::Nuances of Programming

Код пишется в Cursor, ревьюит Claude, деплой уходит на AWS. Осталось за все это заплатить

Российские карты не принимают многие зарубежные сервисы для разработчиков. Можно искать посредников, просить знакомых с иностранной картой, а можно оформить собственную.

Yello Card — виртуальная карта иностранного эмитента с пополнением рублями через СБП без комиссии и бесплатным обслуживанием.

С тарифом Ultima+ можно оплачивать:

✔️ GitHub Copilot, Cursor, JetBrains
✔️ Claude, ChatGPT и их API
✔️ AWS, Google Cloud, Vercel, Hetzner

Всего в списке поддерживаемых — более 375 сервисов, включая Figma и Notion.

Нужный сервис можно проверить на сайте ещё до выпуска карты.

Проверить, какие сервисы можно оплатить

Читать полностью…

NOP::Nuances of Programming

Функции '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

Читать полностью…

NOP::Nuances of Programming

Экспериментальный JIT в CPython уберут

В 2024 году в Python 3.13 появился экспериментальный JIT-компилятор CPython. В июне совет приостановил работу над ним, а после отзыва PEP 836 JIT уберут.

PEP 744 о JIT был информационным и не давал формального согласия на доработку. Это оставляло неопределённость для разработчиков CPython, мейнтейнеров пакетов и пользователей.

Для рабочих проектов не закладывайся на JIT в ближайших версиях Python. Эксперименты с ним лучше держать вне основной ветки CPython.

🔗 Подробнее

@nuancesprog #Languages #Python

Читать полностью…

NOP::Nuances of Programming

Sebastian Raschka выпустил видеокурс по reasoning-моделям

Sebastian Raschka выложил восемь видеолекций по reasoning-моделям. Это больше одиннадцати часов кода на Python и PyTorch.

Почти все актуальные LLM уже reasoning-модели или предлагают такой режим. Курс берёт предобученную Qwen3 и добавляет оценку, инференс-скейлинг и обучение с подкреплением.

Для прохождения нужно уверенно знать Python и PyTorch. Ранние примеры запускаются на CPU, но для обучения лучше взять GPU.

🔗 Подробнее

@nuancesprog #AI #Python

Читать полностью…

NOP::Nuances of Programming

Старая 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

Читать полностью…

NOP::Nuances of Programming

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

Читать полностью…

NOP::Nuances of Programming

SIMD-ускорение детектора FAST на ESP32-S3 за $2
Автор написал SIMD-версию детектора FAST для ESP32-S3.
Она вдвое быстрее эталона и обрабатывает QVGA-кадр за ~6 мс.

У чипа есть 128-битные SIMD-инструкции, но с ограничениями.
Он сравнивает только знаковые байты и использует насыщающую арифметику.

Автор обошёл ограничения сдвигом диапазона и склейкой регистров.
Его код даёт 220% прироста: с 5.1 до 11.2 МП/с.

🔗 Подробнее

@nuancesprog #Tools

Читать полностью…

NOP::Nuances of Programming

Исходники 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

Читать полностью…

NOP::Nuances of Programming

RAG на 15 млн документов: как заставить показать доказательства

Stanford RegLab протестировала коммерческие юридические RAG-инструменты. Они всё ещё галлюцинировали в 17–33% случаев.

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

Нужна архитектура с четырьмя фильтрами: извлечение, ограничение, проверка, отказ. Она превращает галлюцинацию в честное «не смог проверить».

🔗 Подробнее

@nuancesprog #AI

Читать полностью…

NOP::Nuances of Programming

H.264 Is Magic
H.264 — стандарт видеокодека для интернет-видео, Blu-ray, телефонов, дронов и камер.
Несжатое видео 1080p при 60 кадрах в секунду занимает примерно 370 МБ/с.

Автор сравнил PNG-скриншот и H.264-видео одной и той же страницы.
Скриншот весит 1015 КБ, а пять секунд видео с 300 кадрами — 175 КБ.

H.264 сжимает с потерями: он выбрасывает малозаметные детали изображения.
У MacBook Pro пропадают отверстия решёток динамиков, а кадр весит 7% исходника.
🔗 Подробнее

@nuancesprog #Data

Читать полностью…

NOP::Nuances of Programming

📬 Дайджест недели

Лучшее за неделю:
• Исходники 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

Читать полностью…

NOP::Nuances of Programming

Логи с инъекцией обманули открытые модели

Автор спрятал 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

Читать полностью…

NOP::Nuances of Programming

26 400 живых учётных данных в 7,25 млн репозиториев Gitee
Исследователь Бен Зиммерман с командой Kingfisher из MongoDB просканировал 7 256 531 публичных репозиториев Gitee. Он нашёл 26 400 уникальных проверенных живых учётных данных.

Среди находок — действующий админ-доступ крупной корпоративной ИИ-платформы и тысячи живых ключей облачных провайдеров. На Gitee нет публичных партнёрств по сканированию секретов, как на GitHub.

Для обхода ограничений Gitee он собрал 1 704 759 имён пользователей и обходил страницы. Проверь свои публичные репозитории на секреты — история коммитов не прощает загрузок ключей.

🔗 Подробнее

@nuancesprog #Security #Git

Читать полностью…

NOP::Nuances of Programming

Таблицы поиска на миллиард запросов в секунду

Даниэль Лемир разбирает быстрые таблицы поиска строк в C++.
Заявлена скорость в миллиард запросов в секунду.

Ключи известны при написании кода и не меняются.
unordered_map всё равно хеширует строку и обходит список.

Автор предлагает perfect hashing вместо unordered_map.
Детали реализации он показывает в статье.

🔗 Подробнее

@nuancesprog #Languages

Читать полностью…

NOP::Nuances of Programming

Что решает SKIP LOCKED, а что остаётся вам

SKIP LOCKED позволяет брать следующую свободную строку, не дожидаясь заблокированных.
Postgres получил SKIP LOCKED в версии 9.5, MySQL — в 8.0.

SKIP LOCKED защищает только момент взятия задачи.
Упавший воркер оставляет задачу в статусе running навсегда.

Нужны lease (время владения) и heartbeat, чтобы воркер не потерял задачу.
Fencing token решает, чей результат считать при двух владельцах.

🔗 Подробнее

@nuancesprog #Infrastructure #Postgres

Читать полностью…

NOP::Nuances of Programming

CI зелёный. Может ли PR украсть секреты?

GitHub Actions запускает workflow по pull request. Тесты зелёные, но workflow может получить доступ к секретам и токену.

Опасны связки pull_request_target и workflow_run с выполнением кода из PR. Они работают в привилегированном контексте и могут отдать секреты чужому коду.

Дай workflow только нужные права и не подключай лишние секреты. Проверяй сторонние actions и не вставляй заголовок PR прямо в shell-скрипт.

🔗 Подробнее

@nuancesprog #Security #GitHub

Читать полностью…

NOP::Nuances of Programming

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

Читать полностью…

NOP::Nuances of Programming

Microsoft анонсировала Type Server Protocol

Microsoft опубликовала спецификацию Type Server Protocol (TSP). Он расширяет Language Server Protocol и использует его структуры данных.

Для IDE и анализаторов это единый способ получать данные о типах. Сервер отдаёт вычисленные, объявленные и ожидаемые типы.

Протокол пока в 0.x: минорные версии могут ломать совместимость. Проверяй возвращаемую версию через typeServer/getSupportedProtocolVersion.

🔗 Подробнее

@nuancesprog #Tools #Python

Читать полностью…

NOP::Nuances of Programming

Точность 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

Читать полностью…

NOP::Nuances of Programming

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

Читать полностью…

NOP::Nuances of Programming

Partial Operator Precedence

В Zig компилятор теперь требует скобки для неоднозначных сочетаний операторов. Это изменение реализует issue #114, открытый 8 февраля 2016 года.

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

Обновляться можно вручную или через zig fmt --upgrade, он добавит скобки по старым правилам. Автор советует ручную правку: флаг уберут после одного цикла релизов.

🔗 Подробнее

@nuancesprog #Languages

Читать полностью…

NOP::Nuances of Programming

OpenAI выпустил php2shell-checker для проверки PHP2Shell

OpenAI опубликовал инструмент php2shell-checker на GitHub. Он определяет, уязвима ли версия PHP для атаки PHP2Shell.

Утилита проверяет заголовки X-Powered-By и Server на сайте. Она также может смотреть версию PHP на локальном сервере.

Результат OK не гарантирует наличие бэкпорт-фикса в установке. Инструмент не шлёт эксплойты и не проверяет тело ответа.

🔗 Подробнее

@nuancesprog #Security

Читать полностью…

NOP::Nuances of Programming

Люди, которые считают UB безобидным, ошибаются

Автор блога разобрал неопределённое поведение в C на конкретном ассемблере. Он показал сборку GCC 16.2 с флагом -O1.

После вызова std::unreachable() выполнение провалилось в функцию explode(), хотя её никто не звал. При разыменовании нулевого указателя GCC записал ноль вместо 99 и упал.

Неопределённое поведение может сделать что угодно. Не рассчитывай на segfault или на «мы знаем, что произойдёт».

🔗 Подробнее

@nuancesprog #Languages #C

Читать полностью…

NOP::Nuances of Programming

MCP-файрвол: 14 из 17 атак прошли, теперь 2 из 23
Разработчики атаковали свой MCP-файрвол WARDEN с открытым исходным кодом. Превратили задокументированные ограничения в 17 атак: сначала прошли 14.
Такой подход вскрывает дыры, которых не видно по списку 'что не делает'. Для разработчиков MCP-инструментов это сигнал проверять утечки малыми кусками.
Исправили тройной защитой: двойные отпечатки, окна без разделителей, метки для инструментов с именами людей. Теперь пробиваются только 2 атаки из 23.
🔗 Подробнее

@nuancesprog #Security

Читать полностью…
Subscribe to a channel