Представьте: продакшен падает ночью. Причина —
А теперь другая история: разработчик 20 минут борется с ошибками компиляции. Исправляет. Деплоит. Всё работает. Никто не просыпается ночью.
Сегодня рассказываю про одну интересную статью. Автор утверждает: компилятор бесполезен не потому что он слабый, а потому что мы постоянно его обманываем:
1️⃣ Null — говорим "это String", но на самом деле может быть
2️⃣ Unchecked exceptions — говорим "возвращает String", но может выкинуть исключение
3️⃣ Касты — говорим компилятору "trust me bro, это точно Dog", а через месяц там оказывается Cat
4️⃣ Side-effects — функция возвращает
➡️ Что происходит когда перестаёшь лгать
Вместо
Вместо кастов —
Вместо "это просто int" —
➡️ Реальный кейс
Google Cloud outage в июне 2025 — причина
📎 В общем, статья годная
@prog_stuff
null где-то в глубине сервиса. Никто не знал, что он там может быть. Компилятор молчал.А теперь другая история: разработчик 20 минут борется с ошибками компиляции. Исправляет. Деплоит. Всё работает. Никто не просыпается ночью.
Сегодня рассказываю про одну интересную статью. Автор утверждает: компилятор бесполезен не потому что он слабый, а потому что мы постоянно его обманываем:
nullvoid, но делает что-то критичное. Компилятор не знает что
Вместо
null — Option<String>. Теперь компилятор видит разницу и заставляет обработать отсутствие значения.Вместо кастов —
union types. Добавили новый case? Компилятор покажет ВСЕ места, где нужно обработать новую логику.Вместо "это просто int" —
UserId, AppId, PostId. Теперь их невозможно перепутать.
Google Cloud outage в июне 2025 — причина
null в неожиданном месте. Автор показывает, как диалог с компилятором мог бы предотвратить это: изменил тип поля на опциональное → получил сотни ошибок компиляции → понял, что дизайн неправильный → переделал на union type → компилятор показал все места, где нужна новая логика → добавил валидацию → скомпилировалось → задеплоил → спокойно спит.@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17
Обзор статьи от Herb Sutter: почему C++ растёт быстрее всех, несмотря на Rust, безопасность и AI
Главный архитектор C++ в Microsoft подводит итоги 2025 года. Тезис: «Software taketh away faster than hardware giveth» — наши задачи растут быстрее, чем мощность железа. Так было 80 лет, так будет и дальше.
➡️ Главные ограничения 2025 года
🔘 Электричество — не чипы. Все сделки OpenAI теперь в гигаваттах. Microsoft CFO: «Нам не хватает не GPU, а места и электричества для них»
🔘 Чипы — NVIDIA самая дорогая компания мира, TSMC — главная точка отказа планеты
➡️ Рост языков 2022-2025
Самые быстрорастущие: Rust и C++. При этом C++ за год добавил столько разработчиков, сколько всего Rust-программистов в мире.
➡️ А как же «C++ небезопасен»?
🔘 Только 3 из топ-10 уязвимостей MITRE связаны с языком
🔘 79% кибератак вообще без malware — атакуют другое
🔘 Проблемный язык — C, не C++. Единственное исследование, разделившее их (Mend.io), показывает: C++ по безопасности ближе к другим языкам, чем к C
➡️ Про ИИ
🔘 «Если ваша работа — следовать сложным инструкциям и нажимать кнопки, ИИ за ней придёт. Но это не большинство программистов»
🔘 AWS CEO: «Заменить джунов на ИИ — одна из самых тупых идей, что я слышал»
📎 Полная статья
@prog_stuff
Главный архитектор C++ в Microsoft подводит итоги 2025 года. Тезис: «Software taketh away faster than hardware giveth» — наши задачи растут быстрее, чем мощность железа. Так было 80 лет, так будет и дальше.
Самые быстрорастущие: Rust и C++. При этом C++ за год добавил столько разработчиков, сколько всего Rust-программистов в мире.
@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from Нейроканал
Себастьян Рашка подвёл итоги года в LLM-мире. Рашка — автор книги «Build A Large Language Model (From Scratch)» и независимый исследователь, который пишет код руками и разбирается в деталях. Его обзоры ценны тем, что это взгляд практика, а не маркетинговый пересказ пресс-релизов.
➡️ Главное открытие года — RLVR и GRPO
DeepSeek R1 в январе показал, что reasoning-поведение можно развить через reinforcement learning с проверяемыми наградами. Модель стоила ~$5M вместо ожидаемых $50–500M. После этого буквально все крупные лабы выпустили свои "думающие" модели.
GRPO стал любимым алгоритмом исследователей — он концептуально интересный и не требует безумных бюджетов для экспериментов.
➡️ Тренды года
🔘 Inference-time scaling — тратим больше на генерацию ответа, получаем лучше результат. DeepSeekMath-V2 так дошёл до золотого уровня на математических олимпиадах
🔘 Tool use — LLM учатся использовать поиск и калькуляторы вместо галлюцинаций
🔘 Benchmaxxing — модели оптимизируют под бенчмарки, а не под реальные задачи. Llama 4 — яркий пример: цифры отличные, а пользователи разочарованы
➡️ Про использование LLM в работе
Рашка пишет: если модель делает всю работу, а человек только смотрит — это путь к выгоранию. Удовольствие от решения сложной задачи пропадает, когда LLM выдаёт ответ за секунду.
Его подход: критичный код пишет сам (чтобы понимать и расти), а рутину типа argparse-бойлерплейта отдаёт модели.
➡️ Прогнозы на 2026
🔘 Diffusion-модели для текста выйдут в продакшн (Gemini Diffusion первый)
🔘 RLVR расширится за пределы математики и кода — химия, биология
🔘 RAG начнёт уступать длинному контексту
🔘 Прогресс будет больше от inference-оптимизаций, чем от самих моделей
Статья на ~13k слов, но читается легко. Рашка не просто перечисляет события — он объясняет, почему это важно, и добавляет свой опыт. Особенно полезны секции про практическое использование LLM и честный разговор про burnout.
📎 https://magazine.sebastianraschka.com/p/state-of-llms-2025
@neuro_channel
DeepSeek R1 в январе показал, что reasoning-поведение можно развить через reinforcement learning с проверяемыми наградами. Модель стоила ~$5M вместо ожидаемых $50–500M. После этого буквально все крупные лабы выпустили свои "думающие" модели.
GRPO стал любимым алгоритмом исследователей — он концептуально интересный и не требует безумных бюджетов для экспериментов.
Рашка пишет: если модель делает всю работу, а человек только смотрит — это путь к выгоранию. Удовольствие от решения сложной задачи пропадает, когда LLM выдаёт ответ за секунду.
Его подход: критичный код пишет сам (чтобы понимать и расти), а рутину типа argparse-бойлерплейта отдаёт модели.
Статья на ~13k слов, но читается легко. Рашка не просто перечисляет события — он объясняет, почему это важно, и добавляет свой опыт. Особенно полезны секции про практическое использование LLM и честный разговор про burnout.
@neuro_channel
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Любопытная статья «Код стал дешёвым. Софт — нет»
Автор пишет, что Claude Code, Cursor и компания убили стоимость написания кода. Но не стоимость понимания проблемы.
Мы входим в эру «персонального софта» — люди генерируют себе трекеры расходов, Chrome-расширения, фитнес-приложения точно под свои нужды. Не ищут SaaS, который решает 80% задачи — делают свой за вечер. Используют и выбрасывают.
Но есть нюанс. Трекер ломается, когда банк меняет формат CSV. Расширение умирает, когда сайт обновляет вёрстку. Фитнес-приложение разваливается, когда нужен офлайн-режим. Код написать легко — сделать так, чтобы оно работало в реальном мире, всё ещё дорого.
Автор разбирает, почему мы не вступаем в золотую эру SaaS, почему истории про $10k MRR за выходные — чаще маркетинг, чем реальность, и что теперь реально отличает инженера от генератора кода.
📎 https://www.chrisgregori.dev/opinion/code-is-cheap-now-software-isnt
@prog_stuff
Автор пишет, что Claude Code, Cursor и компания убили стоимость написания кода. Но не стоимость понимания проблемы.
Мы входим в эру «персонального софта» — люди генерируют себе трекеры расходов, Chrome-расширения, фитнес-приложения точно под свои нужды. Не ищут SaaS, который решает 80% задачи — делают свой за вечер. Используют и выбрасывают.
Но есть нюанс. Трекер ломается, когда банк меняет формат CSV. Расширение умирает, когда сайт обновляет вёрстку. Фитнес-приложение разваливается, когда нужен офлайн-режим. Код написать легко — сделать так, чтобы оно работало в реальном мире, всё ещё дорого.
Автор разбирает, почему мы не вступаем в золотую эру SaaS, почему истории про $10k MRR за выходные — чаще маркетинг, чем реальность, и что теперь реально отличает инженера от генератора кода.
@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Laravel-разработчика с 14-летним стажем сократили с работы. Параллельно закрылся фриланс-проект, на котором он сидел 5 лет. Вместо рассылки резюме он за полтора месяца допилил свой MVP до полноценного продукта.
Сейчас проект приносит $3–4,5k в месяц, автор бросил искать работу и занимается только им. Обо всём этом в статье на Tproger.
Длинное интервью, но читается легко — много конкретики про стек, деньги и ошибки.
@prog_stuff
Сейчас проект приносит $3–4,5k в месяц, автор бросил искать работу и занимается только им. Обо всём этом в статье на Tproger.
Длинное интервью, но читается легко — много конкретики про стек, деньги и ошибки.
@prog_stuff
Tproger
Уволили? Отлично. Как разработчик запустил конкурента hh.ru — Hirify.me и начал зарабатывать
История Laravel-разработчика с 14-летним стажем, который после сокращения за полтора месяца создал Hirify.me, вошел в топ-4 рынка вакансий РФ и вышел на доход до $5000 в месяц.
❤5🔥3✍2
Разработчик сделал свой процессор и запустил на нём GIF-плеер. Звучит безумно, но на самом деле это реально — и вот как это работает.
➡️ Что такое FPGA
Обычный процессор (Intel, AMD) — готовая схема, залитая в кремний на заводе. Изменить её нельзя.
FPGA — микросхема из миллионов логических блоков, соединённых сеткой проводников. На каждом пересечении — транзисторный ключ. Когда загружаешь конфигурацию, каждый ключ получает команду «включись» или «выключись» — и это определяет, как блоки соединены между собой.
Ничего не двигается физически — это электрическая перекоммутация. Но в результате микросхема начинает работать как процессор, который описал автор. Не эмуляция, а реальные такты, реальные провода, реальная скорость.
➡️ Что сделал автор
1️⃣ Описал простой RISC-V процессор на SystemVerilog
2️⃣ Загрузил на FPGA-плату — получился работающий CPU @ 25 MHz
3️⃣ Написал на C GIF-декодер (стандартная библиотека не влезла в 32 KB RAM, пришлось писать базовые функции самому)
4️⃣ Запустил — гифка 195×146 px крутится на ~4 FPS
➡️ И зачем это
Красивый пример того, как устроены компьютеры под капотом. От описания логики до картинки на экране — всё в двух репозиториях: сам процессор, плеер для гифок.
@prog_stuff
Обычный процессор (Intel, AMD) — готовая схема, залитая в кремний на заводе. Изменить её нельзя.
FPGA — микросхема из миллионов логических блоков, соединённых сеткой проводников. На каждом пересечении — транзисторный ключ. Когда загружаешь конфигурацию, каждый ключ получает команду «включись» или «выключись» — и это определяет, как блоки соединены между собой.
Ничего не двигается физически — это электрическая перекоммутация. Но в результате микросхема начинает работать как процессор, который описал автор. Не эмуляция, а реальные такты, реальные провода, реальная скорость.
Красивый пример того, как устроены компьютеры под капотом. От описания логики до картинки на экране — всё в двух репозиториях: сам процессор, плеер для гифок.
@prog_stuff
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4❤🔥1
Статья о том, почему разработчики устают не от кода, а от всего вокруг него
➡️ Главная мысль
Продуктивность — это не «делать больше», а «решать сложные задачи эффективно». Большинство инженеров тратят ментальную энергию ещё до того, как написали первую строчку кода.
➡️ 7 грехов
1️⃣ Context switching — 23 минуты на возврат в фокус после одного уведомления
2️⃣ Multitasking — оптимизируем время ответа вместо времени решения
3️⃣ Urgency illusion — обсуждаем имена переменных часами, игнорируем архитектурный долг
4️⃣ Parkinson's law — работа растягивается на всё отведённое время
5️⃣ Zeigarnik effect — незакрытые задачи съедают «ментальную RAM» фоном
6️⃣ Decision fatigue — к обеду мозг уже не способен на сложные решения
7️⃣ Brooks's law — больше людей в проекте = медленнее, а не быстрее
Автор предлагает системный подход: батчить коммуникации, агрессивно таймбоксить задачи, автоматизировать мелкие решения (линтеры, шаблоны), делать сложное утром, писать next step перед уходом с работы.
Подробнее в самой статье, тут только кратко суть описал, чтобы вы поняли интересно вам почитать или нет.
📎 https://strategizeyourcareer.com/p/the-7-deadly-sins-of-software-engineers-productivity
@prog_stuff
Продуктивность — это не «делать больше», а «решать сложные задачи эффективно». Большинство инженеров тратят ментальную энергию ещё до того, как написали первую строчку кода.
Автор предлагает системный подход: батчить коммуникации, агрессивно таймбоксить задачи, автоматизировать мелкие решения (линтеры, шаблоны), делать сложное утром, писать next step перед уходом с работы.
Подробнее в самой статье, тут только кратко суть описал, чтобы вы поняли интересно вам почитать или нет.
@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Разбираем плагины для кодинга с ИИ в VS Code
На Tproger вышла статья о том, чем заменить GitHub Copilot (и почему вообще есть запрос его менять).
Один из вариантов — open source плагины для VS Code по принципу BYOK (Bring Your Own Key). В статье разбирают три варианта — Continue, Cline и Kilo Code. Если коротко, то Continue — для минималистов, Cline — комбайн для работы, Kilo Code — полноценная среда для кодинга с ИИ.
А в самой статье можно узнать нюансы: как настроить любой из плагинов, в чем плюсы и минусы: https://tprg.ru/t1fZ
На Tproger вышла статья о том, чем заменить GitHub Copilot (и почему вообще есть запрос его менять).
Один из вариантов — open source плагины для VS Code по принципу BYOK (Bring Your Own Key). В статье разбирают три варианта — Continue, Cline и Kilo Code. Если коротко, то Continue — для минималистов, Cline — комбайн для работы, Kilo Code — полноценная среда для кодинга с ИИ.
А в самой статье можно узнать нюансы: как настроить любой из плагинов, в чем плюсы и минусы: https://tprg.ru/t1fZ
👌2
Статья на GitHub с 12k+ звёздами о том, почему код становится сложным — и дело не в алгоритмах
Автор вводит понятие «когнитивная нагрузка» — сколько всего разработчику нужно держать в голове, чтобы понять код. И показывает, как мы сами её раздуваем: глубоким наследованием, слоями абстракций, микросервисами ради микросервисов.
Любимый пример: стартап с 5 разработчиками сделал 17 микросервисов и отстал на 10 месяцев. Каждое изменение требовало правок в 4+ местах.
Цитата, которая запомнилась: «A little copying is better than a little dependency» — Rob Pike.
Статья не очень доинная, с примерами кода и конкретными антипаттернами.
📎 https://github.com/zakirullin/cognitive-load
@prog_stuff
Автор вводит понятие «когнитивная нагрузка» — сколько всего разработчику нужно держать в голове, чтобы понять код. И показывает, как мы сами её раздуваем: глубоким наследованием, слоями абстракций, микросервисами ради микросервисов.
Любимый пример: стартап с 5 разработчиками сделал 17 микросервисов и отстал на 10 месяцев. Каждое изменение требовало правок в 4+ местах.
Цитата, которая запомнилась: «A little copying is better than a little dependency» — Rob Pike.
Статья не очень доинная, с примерами кода и конкретными антипаттернами.
@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
OpenAI рассказала, как обслуживает 800 миллионов пользователей ChatGPT на обычном PostgreSQL — больше миллиона запросов в секунду, без кастомных модификаций.
Архитектура: 1 primary инстанс + ~50 read реплик на Azure-инфраструктуре. Latency на p99 — двузначные миллисекунды. Правда, есть нюанс — write-heavy workloads OpenAI вывела в Azure CosmosDB, а в PostgreSQL оставила read-heavy операции.
Что интересно — они не стали городить сложную систему. Вместо этого взяли стандартный PostgreSQL и выжали из него максимум через базовые практики: connection pooling (PgBouncer) для переиспользования соединений вместо создания новых, query optimization для профилирования и переписывания тяжёлых запросов, strategic indexing — индексы ровно там, где нужны.
Для AI-функций используют расширение
База обслуживает данные пользователей, истории разговоров и API-взаимодействия.
➡️ Главный вывод: PostgreSQL действительно масштабируется до экстремальных нагрузок, если правильно настроить. Не нужно сразу бежать за NewSQL или распределёнными системами — сначала стоит выжать всё из проверенных решений.
Инженеры OpenAI подчёркивают: успех в том, что они фокусировались на best practices, а не на переизобретении колеса. Connection pool, индексы, read реплики — это всё есть в документации PostgreSQL. Просто нужно применить грамотно.
Годный пример того, что правильное разделение нагрузки важнее выбора модной БД. PostgreSQL для чтения + CosmosDB для записи — и никакого шардинга одной базы. Простая архитектура побеждает.
📎 OpenAI Blog, Hacker News
@prog_stuff
Архитектура: 1 primary инстанс + ~50 read реплик на Azure-инфраструктуре. Latency на p99 — двузначные миллисекунды. Правда, есть нюанс — write-heavy workloads OpenAI вывела в Azure CosmosDB, а в PostgreSQL оставила read-heavy операции.
Что интересно — они не стали городить сложную систему. Вместо этого взяли стандартный PostgreSQL и выжали из него максимум через базовые практики: connection pooling (PgBouncer) для переиспользования соединений вместо создания новых, query optimization для профилирования и переписывания тяжёлых запросов, strategic indexing — индексы ровно там, где нужны.
Для AI-функций используют расширение
pgvector — хранят и ищут высокоразмерные векторы (embeddings) для семантического поиска в данных ChatGPT.База обслуживает данные пользователей, истории разговоров и API-взаимодействия.
Инженеры OpenAI подчёркивают: успех в том, что они фокусировались на best practices, а не на переизобретении колеса. Connection pool, индексы, read реплики — это всё есть в документации PostgreSQL. Просто нужно применить грамотно.
Годный пример того, что правильное разделение нагрузки важнее выбора модной БД. PostgreSQL для чтения + CosmosDB для записи — и никакого шардинга одной базы. Простая архитектура побеждает.
@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤1👍1
Разработчик игры через SSH заметил странное: при вводе одного символа отправляется около 270 пакетов. CPU загружен на 30%, bandwidth — 6,5 Мбит/с. Что происходит?
Разбор через tcpdump показал паттерн: 179 пакетов по 36 байт каждые 20 мс. Причина — функция
Зачем это нужно? Чтобы злоумышленники не могли определить, какие буквы вы вводите, анализируя интервалы между пакетами. SSH отправляет ложные пакеты (SSH2_MSG_PING) для маскировки реального ввода.
Решение: отключить объявление расширения
Результат:
🔘 CPU: 29,90% → 11,64%
🔘 Syscalls: 3,10 с → 0,66 с
🔘 Bandwidth: 6,5 → 3 Мбит/с
Классический компромисс: безопасность против производительности. Для большинства сценариев это незаметно, но для высоконагруженных приложений через SSH — критично.
📎 https://eieio.games/blog/ssh-sends-100-packets-per-keystroke/
@prog_stuff
Разбор через tcpdump показал паттерн: 179 пакетов по 36 байт каждые 20 мс. Причина — функция
obfuscate_keystroke_timing, добавленная в SSH в 2023 году.Зачем это нужно? Чтобы злоумышленники не могли определить, какие буквы вы вводите, анализируя интервалы между пакетами. SSH отправляет ложные пакеты (SSH2_MSG_PING) для маскировки реального ввода.
Решение: отключить объявление расширения
[email protected] на стороне сервера.Результат:
Классический компромисс: безопасность против производительности. Для большинства сценариев это незаметно, но для высоконагруженных приложений через SSH — критично.
@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥1👍1
Forwarded from Типичный программист
Дашборд — это скучно до того момента, пока к его визуализации не подключат гигантский экран.
Сегодняшняя история о команде, которая превратила обычную статистику посещения фестиваля в генеративное шоу. Их задача звучала как вызов: сделать так, чтобы было невозможно оторвать глаз от дашбордов.
Так они создали интерактивную инсталляцию, где посетители, сами того не зная, становились частью цифрового арт-объекта.
Следующий артефакт представит категорию «Виртуализация». Не пропустите.
Please open Telegram to view this post
VIEW IN TELEGRAM
6 шагов выхода из выгорания — статья от разработчика, который через это прошёл
80% программистов чувствуют себя выгоревшими. Автор — Senior Developer из Берлина — сам прошёл через это: +15 кг за 3 месяца, кожная сыпь от стресса, утренние Red Bull'ы вместо энергии.
Его чеклист:
🔘 Заставь себя отдохнуть — закрой ноутбук, никакого кода на выходных. Технологии не меняются так быстро, как кажется
🔘 Поставь границы — фиксированное время ухода, никаких коммитов ночью. Тебя не уволят — замену искать дороже
🔘 Физическая нагрузка — работает не хуже антидепрессантов, доказано исследованиями
🔘 Верни страсть к коду — попарься с джунами, сходи в технический музей, вспомни зачем начинал
🔘 Набери маленьких побед — не большие фичи, а low-hanging fruit: мелкие баги, тесты, оптимизации
🔘 Смени работу — если после всего выше ничего не изменилось, проблема не в тебе
📎 https://www.theseniordev.com/blog/to-every-developer-close-to-burnout-read-this
@prog_stuff
80% программистов чувствуют себя выгоревшими. Автор — Senior Developer из Берлина — сам прошёл через это: +15 кг за 3 месяца, кожная сыпь от стресса, утренние Red Bull'ы вместо энергии.
Его чеклист:
@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
«После двух лет вайб-кодинга вернулся к ручному написанию» — тема в топе HackerNews. Тред на 500+ комментов о том, как ИИ-ассистенты влияют на навыки.
Главные мысли из обсуждения:
🔘 "Ты ДОЛЖЕН писать код сам. Да, AI может — но ты студент, код пока несложный. Но ты ДОЛЖЕН писать его сам" — CS-преподаватель
🔘 "No pain no gain работает и для обучения. Борьба с концептами — это и есть суть, а не результат"
🔘 "После нескольких циклов AI-генерации исчезает гордость за владение кодом. Начинаешь проект с энтузиазмом, но после пары итераций с AI..."
🔘 "Я хочу просто строить вещи, мне не нужно 'становиться сильнее'. У меня теперь мех-костюм" — контраргумент
🔘 "Self-taught разработчики всегда имеют слепые пятна. Неделю пишут на JS чтобы сэкономить 5 минут на C или bash"
📎 https://news.ycombinator.com/item?id=46765460
@prog_stuff
Главные мысли из обсуждения:
@prog_stuff
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1