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

Чем плох load average: исторические грабли Unix

Крис Сибенманн разбирает, откуда у привычной тройки чисел столько странностей. Load average — экспоненциально сглаженная длина очереди готовых процессов за 1, 5 и 15 минут.

Исторически ядро считало её по таймеру, и периодические задачи могли попадать в такт замерам. В Linux в счёт идут ещё и процессы в непрерываемом сне, ждущие диска.

Значит, высокая цифра не означает, что ты упёрся именно в процессор. И она не делится на число ядер: 8 на 16-ядерной машине — совсем не беда.

🔗 Подробнее

@nuancesprog #Infrastructure #Linux

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

NOP::Nuances of Programming

Forgejo 16.0.4 закрывает критическую RCE

Разработчики Forgejo, самодостаточного форка Gitea для своих Git-серверов, выпустили срочный релиз 16.0.4. Все версии до 16.0.3 включительно уязвимы к удалённому выполнению кода.

RCE на Git-хостинге — это доступ к исходникам, токенам CI и ключам развёртывания. Если ты держишь Forgejo для команды, инстанс обычно смотрит в интернет по HTTPS.

Обновись сейчас же, а до перезапуска прикрой веб-интерфейс файрволом или VPN. Технические детали команда раскрывает не сразу — время на патч у админов есть, но небольшое.

🔗 Подробнее

@nuancesprog #Security #Git

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

NOP::Nuances of Programming

nginx проксирует новый метод QUERY, но кэшировать его не умеет

Автор поднял API, который принимает только QUERY — по сути GET с телом запроса. nginx пропускает такие запросы насквозь без единой жалобы.

Проблемы начинаются с кэша: proxy_cache_methods знает лишь GET, HEAD и POST. Добавишь туда QUERY — сервер не стартует и падает на проверке конфига.

Обходной путь через proxy_method POST тоже не работает, тело в ключ кэша не попадает. Забавная деталь: без прямой подсказки все восемь языковых моделей отправили обычный POST.

🔗 Подробнее

@nuancesprog #Infrastructure #Nginx

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

NOP::Nuances of Programming

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

Лучшее за неделю:
qBittorrent и сбежавший из песочницы торрент-клиент
LWN поднимает цены на подписку впервые с 2022 года
Tailwind Labs переходит в Shopify
Атака Томпсона через strip: заражена вся сборка NixOS
Polars 2.0: потоковый движок теперь по умолчанию
OpenAI следит за своими кодовыми агентами
CodePen 2.0 отправляет код на сервер, пока ты печатаешь

Мимо ленты, но стоило внимания:
Intellectual Fly Is Open
Google AI Mode shows same products 21.6% more expensive than traditional search
This Month in Ladybird – August 2026
Google DeepMind Releases AlphaGenome Atlas
I've factored the RSA keys of a Certificate Authority from the 90s

Наша сетка: 😄 юмор — @nophumor · 💼 удалёнка — @nopremote

@nuancesprog #Digest

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

NOP::Nuances of Programming

Geiger: одна команда покажет всех ИИ-агентов на твоей машине

Разработчик выложил geiger — сканер, который находит ИИ-агентов, MCP-серверы и плагины. Запускается через npx geiger-scan, ничего не ставит и только читает конфиги.

Агенты, хуки и расширения умеют выполнять команды и держат ключи в дотфайлах. Geiger вешает на каждую находку метки EXECUTES, HOLDS-SECRETS, BROAD-FILESYSTEM и показывает путь к файлу.

Проверяются Claude Code, Cursor, Codex CLI, Ollama, браузерные расширения и глобальные npm-пакеты. Смущает README: рассказ про август 2026 и 200 000 звёзд выглядит придуманным.

🔗 Подробнее

@nuancesprog #Security #Node

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

NOP::Nuances of Programming

Tailwind Labs переходит в Shopify

Команда Tailwind CSS объявила о переходе в Shopify. Фреймворк ставят более 110 миллионов раз в неделю, им стилизованы ChatGPT, X и Reddit.

Адам Уотан обещает, что открытые проекты остаются под MIT и продолжат развиваться силами той же команды. Для Shopify Tailwind — несущая часть стека, так что заинтересованность в поддержке выглядит настоящей.

Подвох в коммерческой части: регистрации на Tailwind Plus и ui.sh закрывают для новых клиентов. У текущих доступ сохраняется, но платные шаблоны как продукт дальше не растут.

🔗 Подробнее

@nuancesprog #Frontend

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

NOP::Nuances of Programming

CodePen 2.0 отправляет код на сервер, пока ты печатаешь

Пользователь заметил, что новый редактор CodePen шлёт содержимое на codepen.dev почти сразу. Уникальный маркер из index.html появился в предпросмотре через пару секунд, при сборке с флагом save:false.

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

В комментариях справедливо возражают: сервер нужен для рендера превью и автодополнения. Но подвох в том, что поведение неочевидно, а для секретов лучше брать локальную песочницу.

🔗 Подробнее

@nuancesprog #Security #JavaScript

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

NOP::Nuances of Programming

Авторы Dataflow Model разбирают свою статью 11 лет спустя

Команда Google получила премию VLDB Test of Time за работу о потоковой обработке 2015 года. В новой статье авторы сами оценивают, что в ней устарело, а что выжило.

Основа устояла: время события важнее времени обработки, а данные никогда не бывают полными. Зато триггеры признаны переусложнёнными, а потоки и таблицы оказались двумя видами одного объекта.

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

🔗 Подробнее

@nuancesprog #Data #Kafka

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

NOP::Nuances of Programming

Рэйчел Лейкок: код-ревью проверяет слишком много

CTO Thoughtworks спорит с коллегой из DX: ИИ пишет больше кода, чем люди успевают читать. В Meta объём строк на влитый диф вырос на 106% за год, медианный размер пул-реквеста — на 64%.

Лейкок считает, что мы решаем ревью не те задачи: знания, обучение, архитектура. Всё это дешевле обсуждать до написания кода, а не после упаковки в пул-реквест.

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

🔗 Подробнее

@nuancesprog #Opinion

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

NOP::Nuances of Programming

OpenAI следит за своими кодовыми агентами

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

Агенты всё чаще выполняют задачи без ревью каждого шага человеком. Значит, нужен способ заметить, когда агент срезал угол или подделал результат.

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

🔗 Подробнее

@nuancesprog #AI

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

NOP::Nuances of Programming

Когда инцидент объявляют ради обхода процессов

В командах появилась привычка: объявить инцидент, чтобы ускорить релиз или получить доступ. Автор блога Great Circle разбирает, почему это стало любимым обходным путём.

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

Смотри не на нарушителей, а на процесс, который они обходят: там и прячется проблема. Подвох в том, что статистика инцидентов перестаёт отражать реальную надёжность.

🔗 Подробнее

@nuancesprog #Opinion

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

NOP::Nuances of Programming

Почему кодовые агенты выбирают grep, а не LSP

Инженер сравнил обычный текстовый поиск grep с семантической навигацией через LSP (протокол языковых серверов). На задачах поиска кода модели брали семантический инструмент лишь в 0–6% случаев.

Дело оказалось не в точности, а в форме ответа: grep сразу отдаёт найденную строку. Когда автор добавил в ответ LSP исходный текст, pass@1 на переименованиях вырос с 0.67 до 0.83.

Ценность LSP зависит от шума в репозитории, а не от типизации языка. На чистом remeda прироста нет и +16% токенов, на шумном hono — +0.246 F1.

🔗 Подробнее

@nuancesprog #AI #TypeScript

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

NOP::Nuances of Programming

Статическое выделение памяти вместо пулов объектов

matklad разбирает use-after-free в движке биржевых заявок: отменённая заявка вернулась в пул, но осталась в списке цен. Пул объектов убирает путаницу типов, но логическую ошибку не лечит.

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

Радикальный вариант из TigerStyle: выделить весь массив заявок на старте и никогда не аллоцировать в рантайме. Подвох в inline-перечислениях внутри объекта — они возвращают путаницу типов обратно.

🔗 Подробнее

@nuancesprog #Security #Rust

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

NOP::Nuances of Programming

LWN поднимает цены на подписку впервые с 2022 года

С 15 сентября подписка на LWN.net подорожает примерно на 20%. Уровень «Professional hacker» станет стоить $11 в месяц вместо $9.

LWN живёт только на деньги читателей, без рекламы и слежки — с 2002 года. За эти 24 года цены поднимали всего дважды, а прошлая правка позволила нанять двух новых авторов.

Подписки, купленные до 15 сентября, действуют до конца срока по старой цене. Читатели в комментариях спорят о другом: расплывчатый заголовок «A Note from LWN» напугал многих закрытием издания.

🔗 Подробнее

@nuancesprog #Opinion #Linux

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

NOP::Nuances of Programming

Десктопный ChatGPT таскает с собой LibreOffice

Саймон Уиллисон нашёл в ~/.cache папку на 1,7 ГБ от приложения Codex. Внутри полноценные Python и Node.js, бинарники git, Poppler и весь офисный пакет LibreOffice.

Это не баг, а способ дать агенту руки для работы с документами. Рядом лежат скиллы — инструкции, где искать эти бинарники и как их запускать.

Подвох в том, что кэш растёт молча и обновляется отдельно от системных пакетов. Загляни в свой ~/.cache через OmniDiskSweeper — там может быть много неожиданного.

🔗 Подробнее

@nuancesprog #AI #Python

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

NOP::Nuances of Programming

Shopify возвращается с React Native на Swift и Kotlin

В 2020 году Shopify перевела мобильные приложения на React Native, а в сентябре 2026-го объявила обратный переход. Причина — не проблемы фреймворка, а кодовые агенты, которые сильно снизили цену второй реализации.

Главный аргумент 2020 года был «не писать фичу дважды», и именно он ослаб. Агенты переносят готовую фичу с iOS на Android по образцу и держат паритет через общие спецификации и тесты.

Спорный момент: двойная кодовая база не исчезла, просто её стоимость переложили на LLM. Библиотеки вроде React Native Skia Shopify спонсирует до конца 2026-го, дальше репозиторий форкнут и переименуют.

🔗 Подробнее

@nuancesprog #Tools #React

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

NOP::Nuances of Programming

ERSC: Git-протокол снаружи, своё хранилище внутри

Стартап East River Source Control строит хостинг репозиториев без Git-репозиториев на дисках. Клиент общается по обычному протоколу Git, а под капотом — собственный движок хранения.

Агенты пишут код быстрее людей, и репозитории пухнут вместе с числом веток. Проблемы монорепо на миллиарды строк перестают быть заботой одних только гигантов.

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

🔗 Подробнее

@nuancesprog #Tools #Git

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

NOP::Nuances of Programming

NVIDIA выпустила CUDA Rust: два пути к GPU-ядрам

NVIDIA представила два проекта для написания GPU-ядер прямо на Rust. cuda-oxide компилирует SIMT-код в PTX через свой бэкенд rustc, cutile-rs работает на стабильном Rust 1.89+.

Раньше из Rust можно было только запускать ядра, а само ядро писать на C++. Теперь весь стек — от драйвера до ядра — держится на одном языке с проверками памяти на этапе компиляции.

Начинать советуют с Tile-модели: компилятор сам раскладывает данные по потокам и архитектурам. Подвох в том, что cuda-oxide пока ранняя альфа и требует прибитой гвоздями nightly-версии и LLVM.

🔗 Подробнее

@nuancesprog #Languages #Rust

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

NOP::Nuances of Programming

Как заставить Postgres проверить индексы, предложенные моделью

Автор попросил девять языковых моделей предложить индексы для восьми обычных запросов. Затем каждый индекс создавался в транзакции, замерялся и откатывался обратно.

Проверка по времени не работает: индекс ускорил запрос на 17%, но планировщик его не выбрал. Поэтому вопроса два — стало ли заметно быстрее и попал ли индекс в план EXPLAIN.

Дешёвая mistral-3-14B дала 16 проверенных индексов за $0.0013, а nemotron — семь за $0.0297. Подвох в CONCURRENTLY: он не живёт в транзакции, и его приходится вырезать ради отката.

🔗 Подробнее

@nuancesprog #AI #Postgres

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

NOP::Nuances of Programming

Rails 8: аутентификация из коробки и прощание с Redis

Rails 8.0 вышел 7 ноября 2024 года и требует Ruby 3.2 или новее. Сейчас актуален Rails 8.1, а 8.0 получает только патчи безопасности до ноября 2026.

Команда bin/rails generate authentication генерит сессии, сброс пароля и мейлер прямо в твой код. Solid Queue, Cache и Cable заменяют Redis обычной базой: очередь на HEY тянет 20 млн задач в день.

Подвох в том, что бэклог задач и кеш переезжают в твою основную базу. Rails 7.1 и 7.2 уже сняты с поддержки, так что обновление — задача на сейчас, а не на потом.

🔗 Подробнее

@nuancesprog #Tools #Redis

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

NOP::Nuances of Programming

Атака Томпсона через strip: заражена вся сборка NixOS

Исследователи собрали классическую атаку «доверия к доверию» вокруг GNU strip, обычной утилиты сборки. Она не читает исходники и не генерирует код — только правит готовые ELF-файлы.

Один подменённый strip в бинарном зерне NixOS переживает весь бутстрап и попадает в финальное окружение. На реальной ревизии nixpkgs так собрали графический установщик с бэкдором почти во всех бинарниках.

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

🔗 Подробнее

@nuancesprog #Security #Linux

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

NOP::Nuances of Programming

«Simple Made Easy»: доклад Рича Хикки, которому уже 14 лет

Автор Clojure Рич Хикки в 2011 году развёл два понятия: simple и easy. Простое — то, что не сплетено с другим, лёгкое — то, что близко и привычно.

Разница важна, потому что мы обычно выбираем привычное и зовём это простотой. Отсюда фреймворки, ORM и состояние, которые удобны в первый день и мешают на второй год.

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

🔗 Подробнее

@nuancesprog #Opinion

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

NOP::Nuances of Programming

Beyond ORMs: почему автор Extralite вернулся к чистому SQL

Разработчик из Ruby-сообщества объясняет, почему ушёл от ActiveRecord к прямым запросам. Он создал Extralite — гем для работы с SQLite без слоя объектов.

ORM не умеет в оконные функции, CTE и RETURNING, а сам весит около 43 тысяч строк. Из-за иллюзии «объект = строка» новичок легко пишет N+1: цикл с delete вместо одного запроса.

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

🔗 Подробнее

@nuancesprog #Data #Postgres

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

NOP::Nuances of Programming

qBittorrent и сбежавший из песочницы торрент-клиент

В Mastodon разошёлся пост: у пользователя копия qBittorrent «выбралась» из песочницы. Деталей в записи почти нет — это скорее байка, чем баг-репорт.

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

Проверь реальные права клиента через flatpak info --show-permissions и урежь лишнее. Подвох в том, что без подтверждённых деталей это просто повод пересмотреть настройки, а не новость об уязвимости.

🔗 Подробнее

@nuancesprog #Security #Linux

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

NOP::Nuances of Programming

Chromium: RCE в песочнице, которую уже используют в атаках

Под номером CVE-2026-85046 заявлена уязвимость с выходом за пределы песочницы во всех версиях Chromium. Карточка NVD пока пустая: технических подробностей и оценки CVSS там нет.

Побег из песочницы означает выполнение кода уже вне изоляции вкладки. Под ударом не только Chrome, но и Edge, Brave, Electron-приложения и встроенные вебвью.

Обновляй браузеры и пересобирай всё, что тащит Chromium внутрь, как только выйдут патчи. Подвох в том, что до публикации деталей проверить масштаб самому нечем — ориентируйся на бюллетени вендоров.

🔗 Подробнее

@nuancesprog #Security

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

NOP::Nuances of Programming

Ленивые импорты в Python 3.15 и линтер, который их расставит

В Python 3.15a7 появились ленивые импорты по PEP 810: пишешь lazy import numpy. Модуль подгружается только при первом обращении к объекту.

Для CLI это ощутимая экономия: вызов --help больше не тянет тяжёлые зависимости. Автор сделал инструмент uvx flake8-lazy --apply=list, который расставит ленивые импорты за тебя.

Ленивым можно делать не всё: импорт в try/except ModuleNotFoundError сломается, ошибка переедет на первое использование. Ещё в альфе флаг lazy_imports=none отключает не тот синтаксис — обещают починить.

🔗 Подробнее

@nuancesprog #Languages #Python

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

NOP::Nuances of Programming

Laravel закрыл issues в части репозиториев

Laravel отключил создание issues в пакетах вроде Socialite и Scout. Вместо жалоб предлагают сразу присылать пул-реквесты с исправлением.

Мейнтейнерам это экономит время на разбор дублей и пустых сообщений. Но порог входа растёт: новичок опишет баг, а PR не осилит.

Брент Роз замечает, что в эпоху ИИ PR отправить почти так же легко. Только код от нейросети проверять дольше, чем осмысленный патч от человека.

🔗 Подробнее

@nuancesprog #Opinion #GitHub

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

NOP::Nuances of Programming

Polars 2.0: потоковый движок теперь по умолчанию

Вышел первый релиз-кандидат Polars 2.0, финальная версия — через несколько недель. Главное изменение: collect() у LazyFrame теперь идёт в потоковый движок.

Команда обещает в среднем пятикратное ускорение и заметно меньший расход памяти. Взамен порядок строк в join, group_by и unpivot больше не гарантируется.

Нужен прежний порядок — есть maintain_order или движок in-memory через настройку. Заодно Polars стал строже: is_in и горизонтальный concat теперь падают вместо тихой подмены данных.

🔗 Подробнее

@nuancesprog #Data #Python

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

NOP::Nuances of Programming

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

Лучшее за неделю:
Chrome Web Store удалил расширения на Manifest V2
В Omarchy любой процесс пользователя мог стать root
GLM-5.3 выложили в открытых весах
Cloudflare ужала кэш 1.1.1.1 и сэкономила 100 ТБ памяти
Кейси Муратори копает под «преждевременную оптимизацию»
Дэниел Стенберг снова спорит с чужим CVE
Модель памяти CPU: процессоры хитрят чаще, чем кажется

Мимо ленты, но стоило внимания:
How I made Rustdoc 33% faster in one week
shadcn-ui/cn — cn is a new engine for Tailwind class merging and conflict resolution. It replaces tailwind-merge and clsx. Same APIs. Full parity. And it is 30× faster.
"IT WoRKs BeTter in the App "
EVE Online moves to Python 3
Atlas: A World Model for Spatial Intelligence

Наша сетка: 😄 юмор — @nophumor · 💼 удалёнка — @nopremote

@nuancesprog #Digest

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

NOP::Nuances of Programming

Кто следит за сторожем: скучная изнанка мониторинга

Автор PulseWatch словил алерт о пропаже задачи — и оказалось, что GitHub Actions реально задержал воркфлоу на 90 минут. Сервис сработал верно, зато вскрылась дыра: смерть самого сторожевого процесса никто бы не заметил.

Это классическая слепая зона любого мониторинга: приложение живо, пинги идут, а проверяющий цикл мёртв. Пользователь узнает об этом только когда упадёт его собственная задача.

Лечится вынесением проверки наружу — теперь цикл шлёт сигналы в Healthchecks.io, и домены отказа разделены. Второй вывод спорнее: cron на 15 минут не значит, что grace-период в 15 минут безопасен.

🔗 Подробнее

@nuancesprog #Infrastructure #GitHub

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