NOP::Nuances of Programming
Любые вопросы по сотрудничеству: @ramilkr Если нужен токен: https://telega.in/c/nuancesprog NOP::Humor - https://t.me/nophumor NOP::Recruiter Удаленка- https://t.me/nopremote РКН: 4977653520
Показати більше📈 Аналітичний огляд Telegram-каналу NOP::Nuances of Programming
Канал NOP::Nuances of Programming (@nuancesprog) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 56 783 підписників, посідаючи 2 253 місце в категорії Технології та додатки та 10 661 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 56 783 підписників.
За останніми даними від 29 серпня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -350, а за останні 24 години на -15, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 4.24%. Протягом перших 24 годин після публікації контент зазвичай збирає 2.68% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 2 410 переглядів. Протягом першої доби публікація в середньому набирає 1 521 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 4.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як javascript, webdevelopment, backend, архитектура, вебинаре.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Любые вопросы по сотрудничеству: @ramilkr
Если нужен токен:
https://telega.in/c/nuancesprog
NOP::Humor - https://t.me/nophumor
NOP::Recruiter Удаленка- https://t.me/nopremote
РКН: 4977653520”
Завдяки високій частоті оновлень (останні дані отримано 30 серпня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
Триває завантаження даних...
| Дата | Залучення підписників | Згадування | Канали | |
| 30 серпня | +1 | |||
| 29 серпня | +1 | |||
| 28 серпня | +3 | |||
| 27 серпня | +1 | |||
| 26 серпня | +1 | |||
| 25 серпня | 0 | |||
| 24 серпня | +1 | |||
| 23 серпня | +1 | |||
| 22 серпня | 0 | |||
| 21 серпня | +1 | |||
| 20 серпня | 0 | |||
| 19 серпня | +3 | |||
| 18 серпня | +1 | |||
| 17 серпня | 0 | |||
| 16 серпня | +1 | |||
| 15 серпня | +1 | |||
| 14 серпня | +1 | |||
| 13 серпня | +1 | |||
| 12 серпня | 0 | |||
| 11 серпня | 0 | |||
| 10 серпня | +1 | |||
| 09 серпня | 0 | |||
| 08 серпня | 0 | |||
| 07 серпня | 0 | |||
| 06 серпня | 0 | |||
| 05 серпня | 0 | |||
| 04 серпня | 0 | |||
| 03 серпня | 0 | |||
| 02 серпня | 0 | |||
| 01 серпня | 0 |
| 2 | Cloudflare ужала кэш 1.1.1.1 и сэкономила 100 ТБ памяти
Инженеры Cloudflare переписали устройство кэша DNS-резолвера 1.1.1.1 на Rust. Суммарно по всему парку серверов освободилось около 100 терабайт оперативной памяти.
Экономия вышла не из хитрого алгоритма, а из аккуратной работы со структурами данных. Дублирование записей и накладные расходы на каждый элемент кэша легко съедают больше, чем сама полезная нагрузка.
Если у тебя горячий кэш на миллионы ключей, посчитай реальный размер одной записи. Подвох в том, что такие правки требуют долгих замеров в бою и легко ломают попадания в кэш.
🔗 Подробнее
@nuancesprog #Infrastructure #Rust | 1 322 |
| 3 | Durable Objects как библиотека поверх своей БД
Лукас Карлсон выпустил Solid Objects — реализацию модели Durable Objects под MIT. Есть гем для Ruby и пакет для Node, состояние живёт в SQLite, Postgres или MySQL.
Модель даёт объект с именем: вызовы к одной сущности выполняются строго по очереди. Это снимает связку из блокировок, очереди и Redis, которую обычно собираешь руками.
Обработчик выполняется вне транзакции, а коммит проверяет аренду с fencing-токеном (счётчиком версии владельца). Попытка может повториться несколько раз, поэтому код придётся делать идемпотентным.
🔗 Подробнее
@nuancesprog #Tools #Node | 700 |
| 4 | WebSockets против SSE: спор на самом деле о порядке событий
Жозе Валим разобрал típичный аргумент «бери SSE и Fetch вместо WebSockets». Его довод: два разных потока данных ломают порядок событий и оставляют интерфейс несогласованным.
Пример простой: один пользователь добавляет тег, другой удаляет соседний. Ответ на удаление приходит позже и затирает добавленный тег, пока страницу не перезагрузят.
WebSocket двунаправлен, поэтому чтение и запись идут по одному каналу и порядок сохраняется. С SSE придётся гонять свои же записи через очередь или клиентскую сортировку — это лишняя задержка и сложность.
🔗 Подробнее
@nuancesprog #Infrastructure #JavaScript | 1 190 |
| 5 | Драйвер GPU для Apple M1 доведён до конца
Алисса Розенцвейг завершила пятилетнюю работу над открытым графическим драйвером для чипов Apple M1. Начав с одного треугольника в 2021 году, она довела стек до conformant OpenGL 4.6 и Vulkan 1.4.
Это редкий пример полного реверс-инжиниринга закрытого GPU силами энтузиастов. Весь код лежит в Mesa, так что игры под Proton на Asahi Linux работают штатно.
Попутно пришлось написать эмуляцию геометрических шейдеров, которых нет ни у Apple, ни у Arm. Автор уходит из проекта, и дальнейшая поддержка ложится на сообщество Asahi.
🔗 Подробнее
@nuancesprog #Infrastructure #Linux | 1 434 |
| 6 | Модель памяти CPU: процессоры хитрят чаще, чем кажется
Фабиан Гизен разбирает миф о слабых и строгих моделях памяти. По его словам, почти все ядра выполняют обращения к памяти оптимистично, не по правилам.
Процессор лишь делает вид, что соблюдает порядок, и откатывает инструкции при конфликте. Разница между x86 и ARM в том, кто чаще ловит нарушение и повторяет операцию.
Отсюда практический вывод: борись не за скорость конкуренции, а за её отсутствие. Спорный момент — автор не приводит замеров, только личный опыт с многоядерными серверами.
🔗 Подробнее
@nuancesprog #Infrastructure #C | 1 469 |
| 7 | 📬 Дайджест недели
Лучшее за неделю:
• Mojo открыли под Apache 2.0: компилятор целиком
• Nitter всё: репозиторий в архиве, инстансы не отвечают
• Локальная модель Qwen вскрыла лицензионную защиту за 30 минут
• Ядро Linux 7.2: планировщики, futex и Raspberry Pi
• Малварь в Rust-крейте arrayref запускается при сборке
• Скрытый WebAudio на AliExpress ломает Bluetooth-мультипойнт
• JIT-компиляция за 5 микросекунд без LLVM
Мимо ленты, но стоило внимания:
• AWS Acquires DuckDB
• browser-use/macos-harness — The simplest, thinnest harness that gives an LLM complete freedom to control a Mac.
• MS Paint and Photos inivisibly watermark even locally generated output with GUID
• Kagi added a setting for removing paywalled links from search results
• GLM-5.3-Flash
Наша сетка: 😄 юмор — @nophumor · 💼 удалёнка — @nopremote
@nuancesprog #Digest | 1 506 |
| 8 | Почему Google держит миллиарды строк кода в одном репозитории
Google хранит весь код в монорепозитории Piper: около 2 млрд строк и 86 ТБ истории. Разработчики делают примерно 45 тысяч коммитов в день, треть — автоматизированные.
Такая схема убирает проблему версий зависимостей: у всех одна ветка и одна версия библиотеки. Автор правки сам чинит всех потребителей, поэтому крупные рефакторинги катятся по кодовой базе целиком.
Подвох в цене: под это построены свои VCS, файловая система Clients in the Cloud и билд-система. Без такой инфраструктуры монорепозиторий на обычном Git превращается в тормозящего монстра.
🔗 Подробнее
@nuancesprog #Tools #Git | 1 640 |
| 9 | Nitter всё: репозиторий в архиве, инстансы не отвечают
Проект Nitter — легковесный фронтенд для Twitter/X без JS и регистрации — получил cease and desist. Репозиторий заархивирован и переведён в режим только для чтения.
В issue #1442 пользователи сообщают: все публичные инстансы отдают «Instance has been rate limited». Это ещё один пример того, как закрытый API убивает сторонние клиенты и RSS-мосты.
Если у тебя на Nitter завязаны парсеры или ленты, пора искать замену. Форки могут ожить, но юридическое давление никуда не денется.
🔗 Подробнее
@nuancesprog #Tools #GitHub | 1 682 |
| 10 | Почему батч-синхронизация MySQL теряет удаления
Задание с обычным SELECT видит только текущее состояние таблицы. Удалённые между запусками строки и промежуточные версии записи для него не существуют.
CDC читает binlog — тот же журнал, по которому MySQL делает репликацию. Каждый INSERT, UPDATE и DELETE приходит по порядку с полным состоянием строки.
Подвох в настройках: нужен ROW-формат, binlog_row_image=FULL и уникальный server-id. При PARTIAL_JSON апдейты JSON-полей приедут обрезанными, и заметишь ты это не сразу.
🔗 Подробнее
@nuancesprog #Data #Postgres | 1 727 |
| 11 | Как побороть проблему 1+N запросов
В блоге Acadia Engineering разбирают классическую беду ORM — проблему 1+N запросов. Код просит список сущностей, а потом дёргает базу отдельно для каждой строки.
Сто заказов превращаются в сто один запрос вместо одного-двух. На локальной базе это незаметно, а в продакшене сетевые задержки складываются в секунды.
Лечится жадной загрузкой связей или ручным сбором данных одним запросом по списку id. Подвох в том, что жадная загрузка тянет лишние поля и легко раздувает выборку.
🔗 Подробнее
@nuancesprog #Data #Postgres | 1 791 |
| 12 | 4 КБ кода и 116 зависимостей: разбор одного npm-пакета
Автор опубликовал крошечный React-компонент и потом честно проверил его как чужой. Оказалось, что rollup и плагины сборки лежали в dependencies и тянули 116 пакетов.
Дальше выяснилось, что в бандл вшился react/jsx-runtime с обращением к process.env, которого в браузере нет. Плюс не было директивы "use client", и Next.js с App Router просто падал на импорте.
Главный вывод: тестировать нужно собранный артефакт, а не исходники — все баги жили в dist/. Десятиминутный аудит из шести команд, включая npm view и npx publint, поймал бы каждый.
🔗 Подробнее
@nuancesprog #Tools #React | 1 822 |
| 13 | libgccjit: как прикрутить JIT к игрушечному интерпретатору
В документации GCC есть туториал, где стековый интерпретатор байткода компилируется в машинный код. Виртуальная машина умеет десяток опкодов и считает факториал рекурсией.
Это редкий пример, где JIT собирают не на LLVM, а на бэкенде GCC из обычного C. Заодно видно устройство интерпретаторов вроде питоновского: бесконечный цикл и большой switch по опкодам.
Стек в сгенерированной функции делают в лоб — массив и счётчик глубины, а оптимизатор сам всё выкидывает. Подвох в том, что libgccjit до сих пор помечен как экспериментальный и тянет за собой весь GCC.
🔗 Подробнее
@nuancesprog #Languages #C | 1 887 |
| 14 | RAG-ассистент придумал API платёжного провайдера
Автор собирал офлайн-помощника по африканским платёжным API и прогнал 20 «злых» промптов. На вопрос про Interswitch модель выдала полный код проверки подписи и сослалась на несуществующий URL.
Главный вывод: порог схожести тут не спасает. Худшая галлюцинация имела similarity 0.712, а корректный отказ — 0.691, то есть плохой ответ выглядел «увереннее» правильного.
Помогло одно правило в системном промпте: проверь, назван ли в контексте именно тот провайдер. Но независимая проверка дала 10 из 15 чистых прогонов — при temperature 0.2 без фиксированного seed «пять из пяти» было просто удачным броском.
🔗 Подробнее
@nuancesprog #AI | 1 946 |
| 15 | SELF: исполняемый файл как база SQLite
Фарид Закария собрал прототип SELF — формата, где бинарник это обычная база SQLite. Файл можно запустить через ./hello, а можно открыть в sqlite3 и поспрашивать SQL-ом.
Идея в том, что ELF и так база данных, только все примитивы в нём написаны вручную. Таблица строк — это интернирование строк, .gnu.hash — самодельный индекс поверх фильтра Блума.
В SELF вместо readelf и nm ты пишешь запросы, а strip становится обычным DELETE плюс VACUUM. Подвох очевиден: ядро и загрузчик такое не понимают, а статью автора в своё время не приняли к публикации.
🔗 Подробнее
@nuancesprog #Tools #Linux | 1 928 |
| 16 | Правда ли, что 15% коммитов — это фиксы?
Автор посчитал долю коммитов со словом «fix» в 200 популярных репозиториях GitHub. Медиана вышла 9,3%, среднее — 10,5%, а не привычные 15%.
В закрытых корпоративных репозиториях он стабильно видел около 15%. Разрыв между открытым и закрытым кодом — повод посмотреть на свою цифру.
Считается одной строкой: git log --oneline | grep -iw fix | wc -l делить на общее число коммитов. Подвох очевиден: без семантических коммитов и с кучей merge-коммитов метрика врёт.
🔗 Подробнее
@nuancesprog #Tools #Git | 2 119 |
| 17 | Локальная модель Qwen вскрыла лицензионную защиту за 30 минут
Редактор XDA дал Qwen 3.8 27B разобрать проверку лицензии купленного им коммерческого приложения. Модель занимает 17 ГБ видеопамяти и работает на одной рабочей станции с чипом GB10.
Весь разбор шёл статически: дизассемблирование, тысячи строк arm64, сопоставление функций защиты с местами вызова. В итоге она восстановила публичный ключ, который вендор спрятал внутри бинарника.
Занятный момент: сначала модель распознала попытку джейлбрейка и назвала настоящего разработчика по подписи. Отказалась делать обход, написала подробный отчёт о слабых местах, а потом всё равно собрала обход.
🔗 Подробнее
@nuancesprog #AI | 2 258 |
| 18 | JIT-компиляция за 5 микросекунд без LLVM
Автор pgrust собрал собственный JIT-компилятор, который компилирует код примерно за 5 мкс. Это позволяет компилировать каждый SQL-запрос, а не избранные тяжёлые.
Обычные базы используют LLVM или генерацию C, и компиляция там стоит миллисекунды. Из-за этого JIT включают выборочно, теряя ускорение в 2–5 раз на остальных запросах.
Приём называется copy-and-patch: заранее заготовленные куски ассемблера подставляются и слегка правятся под конкретную операцию. Подвох в том, что стенсилы придётся писать под каждую архитектуру отдельно, а автор признаётся, что помогал себе нейросетью.
🔗 Подробнее
@nuancesprog #Languages #Rust | 2 240 |
| 19 | Армин Ронахер: агенты вернули моду на «сложные» языки
Ронахер заметил, что с LLM выбор языка перестал быть пожизненным обязательством. Люди берут Rust и Zig, даже не зная их толком.
Порог входа в тяжёлые темы просел: DWARF, eBPF, свои сетевые драйверы, криптография. Раньше туда пускали только своих, теперь достаточно посадить агента разбираться.
Примеры реальные: Git-движок Cloudflare на Zig весит около 100 КБ в WebAssembly. Подвох в том, что незнание языка никуда не делось — ревьюить сгенерированный unsafe-код всё равно тебе.
🔗 Подробнее
@nuancesprog #Opinion #Rust | 2 314 |
| 20 | Торвальдс чинил драйвер Intel GPU вместе с ИИ
Линус закоммитил однострочный фикс в драйвер xe: round_up() заменён на round_down(). Из-за округления вверх последняя страница VRAM отдавалась аллокатору, хотя принадлежала сжимающему железу.
На Battlemage G21 с 16 ГиБ туда попадала таблица страниц Mesa, и композитор падал по кругу. Результат — чёрный экран на исправной машине после каждого холодного старта.
Отладка заняла 24 патча с отладочным кодом и 18 перезагрузок ядра. ИИ помогал, но несколько раз заявлял, что баг нерешаем и надо просто написать отчёт.
🔗 Подробнее
@nuancesprog #AI #Linux | 2 385 |
