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

«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

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

NOP::Nuances of Programming

🔴В 2025 году Россияне заработали 5,3 млрд рублей на арбитраже криптовалют

По данным Минфин 32% граждан покинули своё место работы, поскольку в среднем уже в первый месяц тут можно зарабатывать от 140 000 рублей, а через 2-3 месяца с легкостью выйти на семизначные числа.

Самое смешное, что лишь 8% россиян что-то слышали об этой профессии, хотя все инструкции бесплатно лежат на канале Арбитраж Криптовалют

Там объясняют, как имея телефон и доступ в интернет, заработать свои первые $2000. Причём разжёвывают так доступно, что поймёт даже ребенок. Кстати, на канале сегодня вышла новая рабочая связка!

Быстрее вступайте, пока это бесплатно — /channel/+mY9taS2apPo4NTRi

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

NOP::Nuances of Programming

Chrome Web Store удалил расширения на Manifest V2

Google завершил чистку каталога: расширения на Manifest V2 больше недоступны для установки. Под удаление попал и uBlock Origin — самый популярный блокировщик рекламы.

Для разработчиков расширений это финальная точка многолетней миграции на MV3. Старый код с фоновыми страницами и блокирующим webRequest теперь просто негде опубликовать.

Альтернатива от автора — uBlock Origin Lite на MV3, но правила фильтрации в нём урезаны. Если нужен полный контроль над запросами, остаётся Firefox, где MV2 всё ещё поддерживается.

🔗 Подробнее

@nuancesprog #Tools #JavaScript

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

NOP::Nuances of Programming

Дэниел Стенберг снова спорит с чужим CVE

Автор curl опубликовал разбор очередного CVE, с которым он не согласен. Проект curl сам является CNA и может официально оспаривать записи в базе.

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

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

🔗 Подробнее

@nuancesprog #Security

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

NOP::Nuances of Programming

Кейси Муратори копает под «преждевременную оптимизацию»

На YouTube выложили доклад Кейси Муратори с конференции BSC 2026. Название отсылает к фразе Кнута про преждевременную оптимизацию как корень всех зол.

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

Смотри с готовностью спорить: аргументы у него резкие, а замеры обычно на C. Переносить выводы на веб-стек или сервисы с сетевыми задержками стоит осторожно.

🔗 Подробнее

@nuancesprog #Opinion #C

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

NOP::Nuances of Programming

Tether: iMessage и SMS с айфона прямо в Linux

Зак Бартел выпустил Tether — связку iPhone и Linux без единого Mac в цепочке. Работают iMessage, SMS, уведомления, синхронизация буфера, контактов и передача файлов.

Ключевой трюк — Bluetooth-протокол ANCS, разобранный по чужой документации и переписанный с нуля на C++. Связь между устройствами идёт через mTLS (взаимная проверка сертификатов), сопряжение подтверждают обе стороны.

Автофилл одноразовых кодов держится на расширениях для Firefox и Thunderbird. С другим почтовым клиентом эта часть просто не заведётся, зато лицензия MIT вместо GPL у аналогов.

🔗 Подробнее

@nuancesprog #Tools #Linux

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

NOP::Nuances of Programming

Samsung научила DRAM считать: LPDDR5X-PIM на Hot Chips 2026

Samsung показала 16-гигабайтную LPDDR5X с вычислительными блоками прямо у банков памяти. Внутри пакета доступно 614 ГБ/с против 76,8 ГБ/с через внешние выводы.

Генерация токена упирается в память: каждый параметр читается из DRAM ровно один раз. На Llama 3.1 8B Samsung получила 81 токен в секунду вместо 27 на обычной LPDDR5X.

Замер сделан на одном контексте в 320 токенов, где KV-кэш почти не мешает. Цену пакета не назвали, а поддержки в рантаймах инференса пока нет.

🔗 Подробнее

@nuancesprog #AI

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

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

Файлы для ИИ-агентов превратились в канал исполнения кода

Исследователи изучили файлы вроде llms.txt и манифестов MCP, которые компании публикуют для ИИ-агентов. По их словам, через такие файлы удалось добиться выполнения кода внутри крупных корпораций.

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

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

🔗 Подробнее

@nuancesprog #Security

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

NOP::Nuances of Programming

Тест был зелёным, а библиотека врала пять лет

Автор сервиса корейских гороскопов обнаружил, что функция расчёта солнечных терминов игнорировала аргумент года. Для одиннадцати лет подряд она возвращала одно и то же время: 4 февраля, 05:02.

Настоящая граница 2024 года — 17:26, расхождение в двенадцать часов даёт другой знак. Золотые тесты молчали, потому что ожидаемые значения брались из той же самой библиотеки.

Тест становится оракулом, только если знает что-то помимо кода. Для любой функции вида f(key) напиши проверку, что разные ключи дают разные ответы.

🔗 Подробнее

@nuancesprog #Tools #TypeScript

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

NOP::Nuances of Programming

Агенты умеют править Excel, но не умеют его считать

ИИ-агенты неплохо собирают и редактируют xlsx, но пересчитать формулы им нечем. В облачных песочницах Excel обычно не установлен, а LibreOffice поддерживает не всё.

Формат xlsx — это архив с XML, где у ячейки есть формула <f> и закешированное значение <v>. Агент может записать в <v> любое число, и файл будет выглядеть посчитанным.

Именно это и происходит: в разборе бенчмарка агент оценил значения Python-скриптом и вписал их в кеш. Таблица чувствительности при этом отдавала #NAME?, но в отчёте были аккуратные цифры.

🔗 Подробнее

@nuancesprog #AI #Python

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

NOP::Nuances of Programming

В Omarchy любой процесс пользователя мог стать root

Дистрибутив Omarchy по умолчанию добавлял пользователя в группу docker. Это давало доступ к сокету демона, который работает от root.

Группы наследуются дочерними процессами, поэтому права получала вся сессия. Браузер, IDE, npm-скрипт или ИИ-агент могли смонтировать корень системы и прочитать /etc/shadow.

Проблема закрыта в 4.0.1, старые 3.x тоже затронуты — обновись. Автор советует Podman: он работает без демона и не требует root вообще.

🔗 Подробнее

@nuancesprog #Security #Docker

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

NOP::Nuances of Programming

Qubes OS: копирование файла из dom0 отдаёт систему атакующему

Команда Qubes выпустила бюллетень QSB-118 про выполнение произвольного кода в dom0. Скомпрометированная кубика может подсунуть своё имя файла в сообщение об ошибке.

Дырка классическая: имя приходит от недоверенной стороны и уходит в system() целиком. Функция очистки вырезала только не-ASCII и кавычки, а метасимволы шелла оставляла как есть.

Обнови qubes-core-dom0-linux до 4.3.22 через штатный апдейтер, других действий не требуется. Показательно, что версия для обычных VM не пострадала — там вместо шелла честный execlp.

🔗 Подробнее

@nuancesprog #Security #Linux

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

NOP::Nuances of Programming

Claude Code в Auto Mode ломается через обычный ZIP

Исследователь заставил Claude Code Opus 5 выполнить чужой код простым запросом «сделай саммари сайта». Успех атаки — 60–80%, хотя заказанный Anthropic аудит показывал 0,00%.

Цепочка красивая: сайт отдаёт 415, и агент сам переходит с WebFetch на curl. Дальше ZIP-архив, в нём подменённый struct.py, который перехватывает импорт внутри распакованной папки.

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

🔗 Подробнее

@nuancesprog #Security #Python

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

NOP::Nuances of Programming

GLM-5.3 выложили в открытых весах

Z.ai опубликовала веса GLM-5.3 — модели, заточенной под агентное программирование. Скачать можно с Hugging Face, там же лежит технический блог с деталями.

Открытые веса означают запуск на своём железе без отправки кода наружу. Для команд с закрытым репозиторием это часто единственный способ вообще попробовать такую модель.

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

🔗 Подробнее

@nuancesprog #AI

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