Сохранёнки программиста (@prog_stuff) — Telegram-канал | Telegram Dialogs
Все каналы
Сохранёнки программиста

Сохранёнки программиста

@prog_stuff

6.6K подписчиков технологии 💬 Комментарии открыты

Заметки и ссылки на будущее, чтобы изучить когда будет время. Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/med

Последние публикации

Сохранёнки программиста
19.07.2026 13:14 · 👁 231
Команда Roc переписала 300 000 строк Rust на Zig и достигла паритета Разработчики языка Roc полтора года переносили компилятор с Rust на Zig, и недавно новый догнал оригинал по возможностям. Проверка прошла на игре Rocci Bird: меньше тысячи строк на Roc теперь собирается в 31-килобайтный WebAssembly-бинарник. Старый компилятор выдавал файл более чем вдвое больше. Забавно, что параллельно проект Bun недавно поделился опытом обратной переписи с Zig на Rust. Так что это не история «какой язык круче», а скорее редкий случай, когда две команды демонстрируют единственно правильную логику — для разных целей нужны разные инструменты. Официальный релиз Roc 0.1.0 пока не вышел. Обещают позже в этом году. Разбор — в статье.
Сохранёнки программиста
19.07.2026 08:04 · 👁 307
Тензорная библиотека на C, которую можно прочитать целиком Большие ML-фреймворки прячут за одной строкой целую машину: раскладку данных в памяти, передачу буферов на GPU, матричное умножение, градиенты и обновление весов. Сергей Зайцев разобрал этот слой до деталей и собрал Utensil — компактную single-header-библиотеку на C. 🔘 тензор хранится как плоский массив float вместе с shape и strides, а представления разделяют данные через owner и счётчик ссылок; 🔘 каждая операция имеет CPU-реализацию и Metal kernel, состояние буферов отслеживается dirty-флагами; 🔘 матричное умножение на CPU уходит в cblas_sgemm, на GPU — в собственный kernel; 🔘 backward pass написан вручную для каждого слоя, cross-entropy считает loss и gradient за один проход; 🔘 сеть 784 → 128 → 10 на MNIST достигает примерно 97% точности на тестовой выборке. В авторском сравнении на MacBook M1 эпоха обучения заняла 0,8 секунды, у PyTorch — около двух секунд. Этот результат относится к одной небольшой модели и конкретному компьютеру. Библиотека пока обходится без broadcasting, autograd и CUDA, а Metal привязывает ускорение к устройствам Apple. Весь путь от массива чисел до обученной сети остаётся достаточно компактным для вдумчивого чтения. Полная статья: https://zserge.com/posts/tensor/ @prog_stuff
Сохранёнки программиста
18.07.2026 10:02 · 👁 316
На Tproger вышел материал о «Точке сборки» — серии открытых вебинаров кафедры техпреда МФТИ, где основатели ИИ-стартапов делятся практикой вместо прогнозов. О чём: почему опыт того, кто прямо сейчас собирает продукт на агентах, актуальнее любых аналитических материалов; как вайб-кодинг стал рабочим подходом в командах; что происходит с экономикой проверки гипотез, когда MVP собирается за выходные; кто выступал на первой встрече и как попасть на следующие. Полная статья: https://tproger.ru/articles/pochemu-opyt-razrabotchikov-luchwe-prognozov-pro-ii @prog_stuff
Сохранёнки программиста
18.07.2026 08:02 · 👁 322
Задержка в Linux: X11, Wayland, VRR и DXVK в миллисекундах Марко Нетт собрал прибор для измерения задержки от клика до появления кадра. RP2040 эмулирует мышь с частотой опроса 1000 Гц, а фотодиод считывает яркость экрана примерно каждые 24 микросекунды. Для каждой конфигурации автор провёл три серии по сто кликов. 🔘 медианы восьми основных конфигураций уложились в 4,21–4,93 мс; 🔘 нативный X11 опередил нативный Wayland на 0,14–0,22 мс; 🔘 VRR снял 0,26–0,45 мс и уменьшил разброс результатов; 🔘 самый заметный штраф принёс XWayland: до 3,13 мс; 🔘 dxvk-low-latency дал до 0,84 мс в тесте без ограничения FPS. Измерения сделаны на одном компьютере с RTX 4070 Super, монитором 500 Гц и KDE Plasma. На другом железе соотношение может измениться. Схемы прибора, прошивка, анализатор и сырые CSV опубликованы вместе со статьёй. Полная статья: https://marco-nett.de/blog/measuring-input-latency-on-linux-x11-vs-wayland-vrr-dxvk/ @prog_stuff
Сохранёнки программиста
17.07.2026 08:04 · 👁 355
Нормальные TLS-сертификаты для внутренних сервисов Автор настроил внутренние сервисы с сертификатами публичного ACME CA. Схема использует собственный домен, split-horizon DNS, VPN и nginx. 🔘 внешний и внутренний DNS возвращают разные адреса одного имени; 🔘 acme.sh получает сертификат и обновляет его по расписанию; 🔘 nginx слушает VPN-интерфейс и закрывает сервис от внешней сети; 🔘 SAN, CNAME и wildcard-сертификаты дают разные варианты организации имён. Критичное место схемы — bind nginx: ошибка в адресе откроет сервис наружу. При наличии API у DNS-провайдера выпуск сертификата через DNS-01 часто требует меньше настроек, чем описанный HTTP-01. Полная статья: https://tuxnet.dev/posts/tls-for-internal-services/ @prog_stuff
Сохранёнки программиста
16.07.2026 08:04 · 👁 387
Конкурентность в стиле Go, собранная поверх pthreads Автор собрал на C знакомые по Go примитивы: мьютексы, condition variables, атомики, ограниченный пул воркеров и buffered/unbuffered channels. Затем сравнил их стоимость с реализацией Go. 🔘 атомики и свободные мьютексы работают на уровне Go или быстрее благодаря тонкой обёртке; 🔘 парковка потока и системные пробуждения замедляют condition variables в 7–10 раз; 🔘 на крупных задачах worker pool укладывается примерно в 10% от результата Go; 🔘 мелкая передача работы лучше даётся дешёвым goroutines. Преимущество pthreads сохраняется на крупных задачах с редкой синхронизацией. Частые переключения быстро съедают выигрыш и оставляют системные потоки далеко позади runtime scheduler. Полная статья: https://antonz.org/concurrency-in-c/ @prog_stuff
Сохранёнки программиста
15.07.2026 08:01 · 👁 411
Как переписывать историю Git без цепочки интерактивных rebase Автор разобрал экспериментальную команду git history из Git 2.54–2.55. Она меняет старый коммит и сама перестраивает всех его потомков. 🔘 fixup встраивает staged-правку в выбранный коммит; 🔘 reword меняет сообщение, не затрагивая рабочее дерево; 🔘 split делит коммит на части по выбранным hunks. Операции атомарны. При конфликте Git оставляет историю в исходном состоянии. Merge-коммиты пока не поддерживаются, сохранить конфликт для ручного продолжения тоже нельзя. Поэтому область применения уже, чем у интерактивного rebase. Полная статья: https://lalitm.com/post/git-history/ @prog_stuff
Сохранёнки программиста
14.07.2026 13:04 · 👁 420
На Tproger вышел обзор онлайн-магистратуры МФТИ «Технологическое предпринимательство» — глазами разработчика, который пошёл туда после 10 лет в коммерческой разработке. О чём: почему он не стал запускать стартап без подготовки и бросал онлайн-курсы на середине; как выглядит учёба изнутри: вебинары по выходным, персональный ментор и 1000 часов работы над собственным проектом; где программа слабая (разные стадии проектов в одной группе, неровный фидбек); во сколько магистратура обойдётся в 2026 году и как проверить формат до оплаты. Полная статья: https://tproger.ru/articles/skolko-stoit-stat-predprinimatelem-obzor-onlajn-magistratury Реклама. Рекламодатель: МФТИ, Физтех, ИНН 5008006211, erid: 2W5zFHGdLk9 @prog_stuff
Сохранёнки программиста
14.07.2026 08:01 · 👁 421
Баг, который 15 лет жил во всех дистрибутивах Linux Команда VEGA разобрала use-after-free на стеке ядра (CVE-2026-43499): дефект пролежал в коде с 2011 года и присутствовал в каждом крупном дистрибутиве. Для срабатывания не нужны ни привилегии, ни специальная конфигурация ядра. Корень — в механике futex с наследованием приоритета. Функция, снимающая поток с ожидания, чистит поле pi_blocked_on у current. На обычном пути это корректно, но на «proxy»-ветке current — уже не тот поток, что спит в ожидании, и у спящего остаётся висячий указатель на фрейм собственного, уже свёрнутого стека. Дальше — образцовая цепочка эксплуатации: контролируемые байты распыляются на освобождённый стек, подделывается структура ожидателя, обходится KASLR. В итоге — эскалация до root и выход из контейнера со стабильностью 97%. За это Google выплатил команде 92 337 долларов по программе kernelCTF. Полная статья: https://nebusec.ai/research/ionstack-part-2/ Сохранять тем, кто хочет увидеть, как одно неверное допущение про «кто сейчас current» превращается в root на пятнадцать лет вперёд. @prog_stuff
Сохранёнки программиста
13.07.2026 20:38 · 👁 396
UI-паттерны, которые скоро можно делать без JS Если верстаете интерфейсы каждый день, я бы сохранил этот доклад Уны Кравец с CSS Day 2026 в закладки. Она разобрала, как новые CSS-возможности убирают типичный скриптовый код: sticky-заголовок прячется через scroll-state(stuck: top), а hover-тултипы собираются на атрибутах interesttarget и popover=hint — почти без JavaScript. Ещё два момента: sibling-index() задаёт staggered-задержки прямо в CSS, а border-shape позволяет рисовать необычные формы границ вместо border-radius. Пока часть фич работает не везде — polyfill для invokers не тянет на мобильные, так что в прод пока не нёс бы. Но следить стоит: платформа берёт на себя то, за что мы раньше тащили библиотеки. Видео доклада на YouTube.
Чат поддержки
Ответим здесь же, обычно быстро
Здравствуйте! Напишите ваш вопрос — оператор ответит в этом чате.