uz
Feedback
NOP::Nuances of Programming

NOP::Nuances of Programming

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

📈 Telegram kanali NOP::Nuances of Programming analitikasi

NOP::Nuances of Programming (@nuancesprog) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 56 328 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 2 282-o'rinni va Rossiya mintaqasida 10 671-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 56 328 obunachiga ega bo‘ldi.

06 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -360 ga, so‘nggi 24 soatda esa -12 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 4.18% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 2.65% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 2 357 marta ko‘riladi; birinchi sutkada odatda 1 495 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 5 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent javascript, webdevelopment, backend, архитектура, вебинаре kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Любые вопросы по сотрудничеству: @ramilkr Если нужен токен: https://telega.in/c/nuancesprog NOP::Humor - https://t.me/nophumor NOP::Recruiter Удаленка- https://t.me/nopremote РКН: 4977653520”

Yuqori yangilanish chastotasi (oxirgi ma’lumot 07 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

56 328
Obunachilar
-1224 soatlar
-827 kun
-36030 kun
Postlar arxiv
Бенчмарк должен занимать 300 миллисекунд Алекс Кладов советует подбирать размер входных данных так, чтобы бенчмарк шёл около
Бенчмарк должен занимать 300 миллисекунд Алекс Кладов советует подбирать размер входных данных так, чтобы бенчмарк шёл около 300 мс. Это целые числа от 1 до 999, без плавающей точки и смены единиц. Быстрее 10 мс — и результат искажают фиксированные расходы вроде старта интерпретатора. А дольше секунды — и ты уже ждёшь, хотя прогнать замер хочется раз десять подряд. Триста миллисекунд человек ещё чувствует, поэтому подключается интуиция, а не только арифметика. Подвох в допущении: цель бенчмарка здесь — не точность, а верное решение автора. 🔗 Подробнее @nuancesprog #Tools

Контейнеры Linux в 500 строк кода на C Лиззи Диксон написала учебный контейнер на C — вышло около 570 строк. Код показывает n
Контейнеры Linux в 500 строк кода на C Лиззи Диксон написала учебный контейнер на C — вышло около 570 строк. Код показывает namespaces, capabilities, cgroups, seccomp и setrlimit по отдельности. Обычно контейнер — чёрный ящик из Docker, и непонятно, что именно он изолирует. Здесь видно, какой вызов за какое ограничение отвечает. Автор честно предупреждает: это минимальный набор запретов, а не продакшен-конфигурация. Отдельно разобраны user namespaces — источник целой серии дыр с повышением привилегий. 🔗 Подробнее @nuancesprog #Infrastructure #Linux

Dostoevsky: как LSM-дерево перестаёт сливать данные зря Нив Даян и Стратос Идреос разобрали, где LSM-дерево (основа RocksDB и
Dostoevsky: как LSM-дерево перестаёт сливать данные зря Нив Даян и Стратос Идреос разобрали, где LSM-дерево (основа RocksDB и Cassandra) тратит силы впустую. Оказалось, почти вся работа слияния уходит на мелкие уровни, а выигрыш дают только крупные. Отсюда схема Lazy Leveling: на малых уровнях данные просто накапливаются, сливается лишь последний. Запись ускоряется на порядок, при этом точечные чтения и объём на диске почти не страдают. Поверх этого авторы вводят Fluid LSM-tree с двумя ручками — сколько пачек терпеть на мелких уровнях и сколько на последнем. Подвох в том, что настройка считается под конкретную нагрузку, и при её смене оптимум уезжает. 🔗 Подробнее @nuancesprog #Data

Dust: предобучение трансформеров без обратного распространения Команда qLabs показала метод нулевого порядка, который возмуща
Dust: предобучение трансформеров без обратного распространения Команда qLabs показала метод нулевого порядка, который возмущает активации, а не веса. Каждый токен становится отдельным «членом популяции», и один прямой проход оценивает всех сразу. Это первый такой метод, сравнимый с backprop на предобучении языковых моделей. По оценкам авторов, он в 10^3–10^4 раз эффективнее весовой ES-реализации EGGROLL. Подвох в цене: догнать и обогнать backprop удаётся лишь при огромной популяции, то есть вычислениях. Цифры про отрыв от EGGROLL — экстраполяция, а не прямой замер, так что жди повторений. 🔗 Подробнее @nuancesprog #AI #Python

Как обогнать компилятор, написав интерпретатор на ассемблере Мэтт Китер написал на Rust интерпретатор Uxn — стековой машины н
Как обогнать компилятор, написав интерпретатор на ассемблере Мэтт Китер написал на Rust интерпретатор Uxn — стековой машины на 256 опкодов. Потом он разобрал сгенерированный ARM-ассемблер и нашёл два узких места. Компилятор держит индексы стеков и базу RAM в памяти, а не в регистрах. Ещё вся диспетчеризация идёт через один непредсказуемый косвенный переход по таблице. Профилировщик показал: инструкция ldrh из цикла диспетчера съедает больше трети времени. Лечится это threaded code — переходом к следующему опкоду прямо из текущего. 🔗 Подробнее @nuancesprog #Languages #Rust

mold 3.0: быстрый линкер переписали с C++ на Rust Руи Уэяма выпустил mold 3.0.0 — первую версию линкера на Rust. Ветка 2.42.1
mold 3.0: быстрый линкер переписали с C++ на Rust Руи Уэяма выпустил mold 3.0.0 — первую версию линкера на Rust. Ветка 2.42.1 стала последним релизом на C++. Для тебя это drop-in замена: те же опции, те же архитектуры, та же скорость. Проверяли на тестах всех платформ и на сборке всех пакетов Gentoo — регрессий не нашли. Сборка теперь через Cargo вместо CMake, нужен Rust 1.95 и C-компилятор. Зависимость от oneTBB убрали, а на битых объектных файлах mold теперь паникует вместо чтения за границами памяти. 🔗 Подробнее @nuancesprog #Tools #Rust

Оригинальный Doom переписали на SQL Лукас Фогель из CedarDB портировал игровую логику и рендерер Doom 1993 года в чистый SQL.
Оригинальный Doom переписали на SQL Лукас Фогель из CedarDB портировал игровую логику и рендерер Doom 1993 года в чистый SQL. Игровой цикл крутится на родных 35 FPS, кадр 320x200 собирается до 60 раз в секунду. Python тут только читает клавиатуру, отбивает такты и показывает картинку. Всё остальное — запросы к базе, потому что формат .wad изначально реляционный: вершины, линии, сектора. Можно зайти на публичный сервер и даже сыграть в дэтматч на четверых. А пока ждёшь место в очереди, разрешают запрашивать живое состояние игры обычным SELECT. 🔗 Подробнее @nuancesprog #Data #Postgres

Swap превратил паузу GC в Go из 51 мкс в 40 мс Фернандо Симойнс включил swap в продакшене, чтобы гасить всплески памяти. Мета
Swap превратил паузу GC в Go из 51 мкс в 40 мс Фернандо Симойнс включил swap в продакшене, чтобы гасить всплески памяти. Метаданные сборщика мусора уехали на диск, и пауза stop-the-world выросла до 40 мс. Ядро вытесняет страницы по возрасту, а служебные структуры рантайма читаются редко — только в циклах GC. Из 40 мс почти 39 ушло на 228 обращений к диску, и в это время стоят все горутины. Если копишь мусор на хосте со swap, замеряй паузы bpf-скриптом и считай major page faults. Green Tea из Go 1.26 здесь не спасает — автор проверил, разница незаметна. 🔗 Подробнее @nuancesprog #Infrastructure #Go

Клод построил O'Neill-цилиндр, по которому можно погулять Автор попросил Claude собрать браузерную симуляцию цилиндра О'Нила
Клод построил O'Neill-цилиндр, по которому можно погулять Автор попросил Claude собрать браузерную симуляцию цилиндра О'Нила — космической станции с вращением вместо гравитации. Результат крутится прямо на Cloudflare Workers, ходить по нему можно мышью и клавишами. Это наглядный тест того, как модель держит физику, а не только синтаксис. Сила Кориолиса, кривизна «земли» над головой и скорость вращения связаны формулами, которые легко переврать. Открой и проверь сам: брось предмет и посмотри, уводит ли его в сторону. Если автор не вычитал расчёты, демка выглядит убедительно, но врёт в цифрах. 🔗 Подробнее @nuancesprog #AI #JavaScript

Docker Desktop использовал microVM ещё до Firecracker Дэйв Скотт из Docker напоминает: Docker Desktop с 2016 года крутит конт
Docker Desktop использовал microVM ещё до Firecracker Дэйв Скотт из Docker напоминает: Docker Desktop с 2016 года крутит контейнеры в микро-виртуалке. Она выросла из unikernel-проекта MirageOS и VMM-библиотеки hyperkit, встроенной прямо в приложение. Для тебя это значит, что контейнеры на Mac изолированы сильнее, чем кажется. Ядро Linux внутри считается недоверенным, поэтому свежая CVE в нём не ломает хост. Та же основа теперь в Docker Sandboxes — по отдельной microVM на каждую песочницу для AI-агентов. Пост написан инженером Docker, так что рекламный уклон в финале стоит делить надвое. 🔗 Подробнее @nuancesprog #Infrastructure #Docker

Жёсткие лимиты трат должны быть по умолчанию Саймон Уиллисон призывает облака включать hard-лимиты: превысил сумму — сервис о
Жёсткие лимиты трат должны быть по умолчанию Саймон Уиллисон призывает облака включать hard-лимиты: превысил сумму — сервис отключается. Мягкие лимиты с письмом на почту он считает бесполезными. Агенты-кодеры сильно упростили запуск кода, который тратит деньги на API и хостинг. Проснуться со счётом на несколько тысяч долларов теперь куда проще, чем раньше. AWS выкатил spend limits в сентябре, Google Cloud — Spend Caps ещё в июле. Подвох в том, что доступ пока ограничен, а приложение при лимите просто встаёт. 🔗 Подробнее @nuancesprog #Infrastructure

Headstart: ранние метаданные ускоряют сборку Rust почти вдвое Патчи для rustc и cargo заставляют компилятор писать .rmeta сра
Headstart: ранние метаданные ускоряют сборку Rust почти вдвое Патчи для rustc и cargo заставляют компилятор писать .rmeta сразу после проверки интерфейсов. Зависимые крейты стартуют, не дожидаясь, пока проверятся тела функций. На 13 реальных проектах вроде rust-analyzer и bevy cargo check ускорился до 54%. Выигрыш берётся из простаивающих ядер, так что на 16-ядерной машине он заметнее всего. Подвох в том, что часть работы потом выбрасывается, а память расходуется активнее. На 4 ядрах прирост скромнее: 24% на check и около 14% на build. 🔗 Подробнее @nuancesprog #Tools #Rust

SAML и XML signature wrapping: баг, который не умирает Trail of Bits выпустила разбор «SAML: a fractal of bad design» и предл
SAML и XML signature wrapping: баг, который не умирает Trail of Bits выпустила разбор «SAML: a fractal of bad design» и предлагает хоронить протокол. Подпись в SAML лежит внутри документа, который она же и подписывает. Отсюда классика: код, проверяющий подпись, и код, читающий логин, смотрят в разные части XML. В 2012 году так сломали 11 библиотек из 14, в 2018 ещё партию, а в 2025 — ruby-saml. Для новых сервисов совет простой: бери OIDC, где подпись отделена от данных и канонизировать нечего. Если клиент требует SAML, живи на поддерживаемой библиотеке и ставь патчи без задержек. 🔗 Подробнее @nuancesprog #Security

Почему разработчики не спешат «использовать платформу» Нолан Лоусон разбирает, почему призыв «возьми готовый браузерный API»
Почему разработчики не спешат «использовать платформу» Нолан Лоусон разбирает, почему призыв «возьми готовый браузерный API» так часто игнорируют. Он сам годами писал полифилы и теперь объясняет логику скептиков. Исторически браузеры отставали, и jQuery закрывал дыры, пока не вымрет IE6. Привычка осталась: за «липким блоком» идут в npm, а не к CSS position: sticky. Вторая причина честнее — писать своё просто интереснее и так учат платформу. Но модалка своими руками требует ловушки фокуса и возврата фокуса, чего <dialog> даёт даром. 🔗 Подробнее @nuancesprog #Frontend #JavaScript

Service mesh: +0,16 мс на одном соединении и −86% RPS на 32 Автор замерил Linkerd на трёх нодах DigitalOcean: при одном соеди
Service mesh: +0,16 мс на одном соединении и −86% RPS на 32 Автор замерил Linkerd на трёх нодах DigitalOcean: при одном соединении задержка выросла всего на 0,16 мс. При 32 параллельных соединениях медиана подскочила до 3,8 мс, а пропускная способность упала с 51 791 до 7 018 rps. Именно цифру про доли миллисекунды показывают на слайдах, и она честная. Только никто не живёт на одном соединении, а потолок упирается не в железо: ноды были загружены на 50%. Узкое место — сам сайдкар: прокси съедал в два-три раза больше CPU, чем nginx рядом с ним. Зато память стабильно 12 Ми, а mTLS между всеми подами включается одной аннотацией — вопрос лишь в том, знаешь ли ты цену. 🔗 Подробнее @nuancesprog #Infrastructure #Kubernetes

Go 1.27 уже работает на JSON v2 — что ломается при миграции Go 1.27 принёс в стандартную библиотеку encoding/json/v2. Старый
Go 1.27 уже работает на JSON v2 — что ломается при миграции Go 1.27 принёс в стандартную библиотеку encoding/json/v2. Старый encoding/json теперь реализован поверх нового движка с включёнными флагами совместимости. Вывод обещают прежний, но тексты ошибок изменились — тесты со сравнением строк упадут. Проверяй типы вроде *json.SyntaxError, а не содержимое err.Error(). Сменишь импорт на v2 — nil-срезы станут [], имена полей сверяются по регистру, дубли ключей и битый UTF-8 дадут ошибку. time.Duration вообще не маршалится, а omitempty у bool и чисел пора менять на omitzero. 🔗 Подробнее @nuancesprog #Languages #Go

C++ Insights: смотрим на код глазами компилятора C++ Insights — инструмент на базе Clang, который переписывает твой код в раз
C++ Insights: смотрим на код глазами компилятора C++ Insights — инструмент на базе Clang, который переписывает твой код в развёрнутый вид. Он показывает сгенерированные конструкторы, вызовы operator= и неявные приведения типов. Для C++ это почти единственный способ увидеть, что реально скрывается за лямбдой или structured bindings. Вместо догадок о «магии компилятора» ты получаешь обычный исходник, который можно прочитать. Есть онлайн-версия, так что ставить ничего не нужно — достаточно вставить сниппет. Но вывод иногда псевдокод: он читаем, но не всегда компилируется как есть. 🔗 Подробнее @nuancesprog #Tools #C

Четыре всадника агентного кодинга Алекс Марцинович разобрал по полочкам, чем агентные ассистенты вредят разработке. Он выдели
Четыре всадника агентного кодинга Алекс Марцинович разобрал по полочкам, чем агентные ассистенты вредят разработке. Он выделил четыре беды: слоп, отчуждение, потерю навыков и распад команд. Код от моделей пахнет узнаваемо, и люди перестают заходить в такую кодовую базу. Чувство владения исчезает: ты не пишешь код, а просматриваешь отчёт агента. Совет «новичкам не трогать AI» автор честно называет нежизнеспособным для всей индустрии. Стимулы учиться вручную рушатся, а кривой обучения у «волшебной коробки» по сути нет. 🔗 Подробнее @nuancesprog #Opinion

Как один GPS-модуль отправил сеть Telstra в 2006 год 8 июля 2026 года инженер в Мельбурне включил после ремонта шасси синхрон
Как один GPS-модуль отправил сеть Telstra в 2006 год 8 июля 2026 года инженер в Мельбурне включил после ремонта шасси синхронизации времени. GPS-карта со старой прошивкой подняла дату на 1024 недели назад — в ноябрь 2006. Сбой задел 45% звонков и сессий, включая 604 вызова в службу спасения. NTP отработал по правилам: самый низкий страт побеждает, а спорить с Мельбурном было некому. За девять месяцев до аварии карту включили, чтобы заткнуть «мигающий» источник, и никто не проверил изменение. Проверь, нет ли у тебя петель в иерархии времени и альтернативного источника для голосования. 🔗 Подробнее @nuancesprog #Infrastructure

SequenceHash: безопасное хеширование нескольких значений Trail of Bits выпустила SequenceHash и SequenceMAC — конструкции для
SequenceHash: безопасное хеширование нескольких значений Trail of Bits выпустила SequenceHash и SequenceMAC — конструкции для хеширования набора значений сразу. Спецификация открыта и вошла в C2SP, есть реализации на Rust, Go и Python. Наивный подход — склеить входы и хешировать — даёт одинаковый результат для разных наборов. В примере с SHA256 три разных разбиения строк выдают один и тот же дайджест, а это путь к подделке коммитментов и доказательств. В отличие от NIST TupleHash, новые функции не привязаны к Keccak и работают с SHA256, BLAKE, RIPEMD. Подвох обычный: безопасность целиком зависит от выбранного хеша, CRC32 чуда не произойдёт. 🔗 Подробнее @nuancesprog #Security #Rust