Типичный программист
78.6K subscribers
3.71K photos
1.16K videos
14 files
8.34K links
Всё самое интересное по программированию

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
К багам привыкают настолько, что перестают считать их багами

Дэн Лу описывает знакомый механизм: человек годами пользуется сломанным интерфейсом и постепенно обрастает бессознательными обходными привычками. Он ждёт перед редактированием заголовка Google Doc после открытия или выключает Wi-Fi перед входом в домен, а затем уже не замечает сам дефект.

Для продуктовой команды такая адаптация опасна. Сотрудники ежедневно проходят знакомыми тропами и видят удобную систему, тогда как новый пользователь встречает все сбои сразу. Лу приводит историю сотрудника Blackboard, который считал продукт любимым пользователями. В опросе Amplicate 93% участников заявили, что ненавидят эту систему; данные приводила Fast Company в 2011 году.

Сам Лу говорит, что замечает сотни и тысячи багов в неделю. Его эссе о слепоте к дефектам связывает качество продукта со способностью команды замечать собственные костыли.

ИИ-агенты ускорили создание кода и исправление дефектов. Первый шаг всё равно остаётся человеческим: записывать привычные обходные действия, воспроизводить путь нового пользователя и возвращать такие случаи в список реальных поломок.
14👍6🔥2🎉1🤩1🌚1
«Терминальные интерфейсы удобнее, там всё с клавиатуры» — довод, который держится на плохих GUI

На Hacker News неделю спорили, пора ли перестать делать текстовые интерфейсы в терминале в пользу графических. В защиту TUI чаще всего звучало одно: их выбирают за полное управление с клавиатуры.

Хараламбос Кардарис с наблюдением согласен, а с выводом спорит. Возьмите наугад графическое и терминальное приложение — второе действительно с большей вероятностью окажется целиком клавиатурным. Только говорит это о том, как написаны графические приложения. GNOME Human Interface Guidelines прямо требуют: всё, что делается указателем, должно делаться и с клавиатуры, а пройти по любой части интерфейса нужно уметь без мыши. Требование есть, соблюдают его выборочно.

В нашем канале «Сохранёнки программиста» разобрали подробнее.
🔥54👍4💔2🤝2👏1🤔1😢1🎉1👌1💯1
Откуда взялась фраза «преждевременная оптимизация — корень всех зол»

Этой фразой полвека закрывают споры о производительности: одни цитируют её как Кнута, другие как Хоара, и часто — чтобы осадить желание написать код побыстрее. Кейси Муратори, автор Handmade Hero и курса Computer Enhance, привёз на Better Software Conference двухчасовой доклад-расследование о том, при каких обстоятельствах фраза родилась.

В его исследовательской папке больше 200 исторических документов: переписка и заметки Дейкстры времён «GOTO considered harmful», работы Хоара, отчёты конференций NATO 1968 года и статья Кнута «Structured Programming with go to Statements», где фраза напечатана. Вывод: без знания этих людей и их споров фразу читают либо слишком буквально, либо слишком широко — и применяют не к тому, к чему её задумывали.

Попутные находки стоят отдельного упоминания: у Хоара в работе 1965 года Муратори нашёл конструкцию, очень похожую на SSA-форму, на которой стоят современные компиляторы, а у Страуструпа в 1979-м — приём, который сегодня называют dependency injection.

Смотреть доклад — после него ещё сорок минут вопросов от создателя языка Odin. Автор отдельно выложил источники всех цитат со слайдов, от EWD-заметок Дейкстры до устных историй Кнута и Хоара.
8🤓7👍4👏4🙏1👌1🤝1🙉1
Forwarded from Нейроканал
Anthropic выпустила Claude Fable 5.1 и Mythos 5.1. Это одна и та же модель, разница только в ограничителях: Fable доступна всем, Mythos через программы проверенного доступа для кибербезопасности и биологии. Всем подписчикам разом сбросили лимиты, так что попробовать можно прямо сейчас.

По бенчмаркам модель заметно ушла от Fable 5 и обошла Opus 5 и GPT-5.6 Sol: в агентном научном коде рост вдвое, в терминальном кодинге и бизнес-автоматизации тоже большой отрыв. На низком и среднем усилии она даёт результат уровня Fable 5 за заметно меньшие деньги. В Claude Code дефолт High, в Cowork и на claude․ai Medium.

Цена токенов прежняя, $10 и $50 за миллион, но чтение кэша подешевело в 4 раза, до $0,25. Для обычных задач это минус около 25% к счёту, для агентных до 45%. Модель уже доступна в API как claude-fable-5-1, на AWS, Google Cloud и Azure.

Фильтры по кибербезопасности стали срабатывать примерно на 60% реже: модели теперь разрешили искать уязвимости в коде, запрещены только эксплойты, пентест и сканирование бинарников. Ещё Anthropic закрыла лазейку для дистилляции: новые API-аккаунты больше не могут править прошлый контекст, сохраняя транскрипт размышлений модели.

@neuro_channel
👍147🔥2👏2💊2👎1🤩1👌1😐1👀1🤝1
Google выкинул uBlock Origin из Chrome Web Store: Manifest V2 закончился окончательно

31 августа из магазина удалили все оставшиеся расширения на старом API, и полный uBlock Origin вместе с ними. Установить его заново в Chrome нельзя: на 139-й версии он просто не запускается, а на 138-й и старше остаётся в списке, но отключено: включить его могла только корпоративная политика.

Причина в Manifest V3: расширение больше не может само разбирать каждый сетевой запрос, только передать браузеру ограниченный набор правил. Автор uBlock Origin с самого начала говорил, что полноценная версия в таких условиях невозможна, и сделал урезанную uBlock Origin Lite.

Что остаётся: Lite-версия в Chrome, полный uBlock Origin в Firefox (по словам автора, там он работает лучше всего) или в Microsoft Edge Add-ons. Для разработчиков расширений это конец режима «у клиентов ещё стоит старая сборка, её можно чинить».

Хронологию, что делать пользователям и что менять в расширениях разобрали на сайте.

@tproger
😢9🫡64💊3🌭2👏1🕊1
mold переписывают на Rust, чтобы дистрибутивы Linux сделали его линкером по умолчанию

Линкер собирает объектные файлы и библиотеки в готовую программу, и на больших проектах этот этап заметно влияет на скорость сборки. Автор mold Руи Уэяма объявил, что версия 3.0 должна уметь линковать практически всё, с чем справляется GNU ld, включая ядра и программы для встраиваемых систем.

Ради этого проект переписывают с C++ на Rust и добавляют полноценную поддержку линкер-скриптов. Скорость у mold и сейчас главный аргумент: на 64-ядерном Threadripper отладочная сборка Firefox линкуется у него за 0,89 секунды против 7,04 у lld, и даже lld, в который авторы стенда перенесли четыре приёма из mold, отстаёт с результатом 4,44. У репозитория под лицензией MIT почти 17 тысяч звёзд, актуальный релиз — v2.42.0.

Поворот заметен на фоне собственной документации проекта: сейчас mold понимает ровно столько линкер-скриптов, сколько нужно, чтобы прочитать /usr/lib/x86_64-linux-gnu/libc.so, сам язык там назван переусложнённым, и стоит прямая оговорка, что расширять поддержку не планируют.

Пока mold каждый включает себе сам: флагом -fuse-ld=mold, настройкой системы сборки или подменой системного ld. Если дистрибутивы сделают его линкером по умолчанию, короче станут сборки всего, что собирается системным тулчейном, начиная с самих пакетов дистрибутива.

Свежие бенчмарки против lld и wild, план на 3.0 и как включить mold сегодня разобрали на сайте.
🤩8🔥5👍42💊21👌1💯1
Anthropic выпустила Claude Fable 5.1: та же модель, что закрытая Mythos 5.1, и первое место в независимом рейтинге в день релиза

Fable 5.1 доступна всем через подписку и API, Mythos 5.1 отдают только проверенным организациям из США. Anthropic прямо пишет: это одна и та же модель, разница лишь в защитных фильтрах, Fable не делает пентест и не генерирует эксплойты. Цены на вход и выход прежние: $10 и $50 за миллион токенов, чтение кэша подешевело с $1 до $0,25, контекст 1 млн токенов.

Цифры: на Terminal-Bench-Science результат вырос с 24,7% у Fable 5 до 52,6%, на AutomationBench с 17,1% до 31,4%. Независимый замер Artificial Analysis дал 66 баллов против 63 у Opus 5 и 61 у GPT-5.6 Sol, это первое место среди 184 моделей.

Что проверить у себя: сменить идентификатор на claude-fable-5-1, прогнать длинные агентные сценарии, сравнить режим xhigh с максимальным (разница один балл, а задача на 28% дешевле).

Все бенчмарки, цены и ограничения собрали в одном разборе на сайте.

@tproger
👍32🤪2🔥1🤔1🎉1🤩1🍓1🎅1💊1
Человек выровнял 17 000 слов по правому краю, подбирая слова под ширину строки

Моноширинный текст плохо выравнивается по обоим краям. Пробел неделим, половинки пробела нет, поэтому строки расползаются дырами, а переносы в таком шрифте лезут в глаза и портят копирование. По этой причине ровный правый край в текстовых файлах почти не встречается.

В конце девяностых автор под ником rs1n написал текстовое руководство по игре Super Metroid и всё-таки его выровнял. В FAQ внизу страницы у него спрашивают, какой программой он это сделал. Ответ: «Никакой. Я просто аккуратно подбирал слова, чтобы всё сходилось по правому краю. Всё сделано в обычном текстовом редакторе». Так идут 17 000 слов подряд.

Марчин Вихары, собравший эту историю, замечает: в книгах абзацы переписывают ради вёрстки постоянно, а на экране почти никогда. Хотя тот, кто хоть раз час подгонял подпись кнопки под ширину в плотном интерфейсе, занимался тем же самым.

#кек
🔥394👍3🤩32💊2
Сканеры ищут открытые Langflow и Rails: первый выполняет чужой Python от root, второй отдаёт секреты через загруженную картинку

VulnCheck насчитал сотни попыток эксплуатации двух старых дыр на своих ловушках. CVE-2026-0768 в Langflow (CVSS 9,8): эндпоинт /api/v1/validate/code выполняет код из параметра без аутентификации, а Langflow часто крутится в Docker от root. CVE-2026-66066 в Rails Active Storage (CVSS 9,5): специально собранное изображение заставляет libvips прочитать любой файл сервера, включая secret_key_base и пароли к базе.

Для Rails исправление есть, для Langflow версия с патчем в advisory не указана, и ZDI называет единственной мерой ограничение доступа. В запросах ищут OPENAI_API*, AWS_SECRET*, .ssh и .bash_history, то есть цель не сам сервис, а все ключи вокруг него.

Что делать: закрыть API Langflow от интернета за прокси с аутентификацией и следить за релизами; поднять activestorage до 7.2.3.2, 8.0.5.1 или 8.1.3.1; если сервер торчал наружу, ротировать секреты.

Механизм обеих дыр и чек-лист разобрали на сайте.

@tproger
👍5🔥3🎉21👏1👌1🕊1😎1
Разработчик предложил раз в неделю выключать ИИ-ассистентов и писать код руками

30 августа на Hacker News появился сайт No AI Fridays: по пятницам ассистенты выключены, код пишется руками, ответы ищутся в документации. Аргументы авторов: постоянная работа через языковые модели копит «когнитивный долг», снижает вовлечённость и мешает набирать навык, а отдав решение модели, человек перестаёт видеть выбранные за него компромиссы.

Линтеры и автоматические ревьюеры в правилах разрешены: их замечания читает и усваивает человек. В списке компаний, которые уже так делают, пока одна строка — htmx.

В нашем канале «Представляешь,» разобрали подробнее, включая спор в комментариях на Hacker News.

#обсуждение
🔥27👍10😁92👏1🤩1🌚1
Домены .ru и .рф теперь требуют владельца с Госуслугами, и большинство администраторов этого ещё не сделали

С 1 сентября действует закон 569-ФЗ: администратор домена в зонах .ru, .рф и .su должен пройти идентификацию через ЕСИА, без неё домен нельзя будет ни зарегистрировать, ни продлить, ни изменить. Руцентр опубликовал готовность: 42,2% его клиентов и 25,7% у Рег.ру. Два регистратора держат 68% рынка.

Ограничения пока не включены: переходный период до попадания регистратора в специальный перечень либо до 18 января 2027 года. Но домены продлеваются раз в год, и у части владельцев дата продления попадёт уже внутрь жёсткого режима.

Типичная беда команды: домен продукта записан на уволившегося сотрудника, аккаунт регистратора в старом чате, автоплатёж работает. При следующем продлении регистратор попросит этого человека войти через Госуслуги.

Что проверить в компании и как переоформить домены разобрали на сайте.

@tproger
👎25👍10💊10😁4😢32🔥2🤔1🙏1👌1🤝1
Хостинг-панель раздавала вредоносное обновление полтора дня, сервер при этом никто не взламывал

Softaculous, разработчик панели Virtualizor для управления виртуалками, описал инцидент 28–30 августа: перехват шёл двумя волнами общей длиной около 22 часов внутри окна в 33 часа. Атакующие не трогали серверы компании: они через автономную систему AS62390 объявили в BGP более узкий маршрут /24 к адресам Softaculous, и интернет предпочёл его штатному /16 от Hetzner. Трафик клиентов пошёл к злоумышленникам: на пике подменённый маршрут видели около 72% из 368 наблюдателей RIPE RIS.

Дальше цепочка сработала сама. Let’s Encrypt проверяет владение доменом по HTTP, а проверка тоже пришла на перехваченный адрес, так что атакующие получили настоящий сертификат. С ним они отдали клиентам панели поддельное обновление Virtualizor, и серверы, проверявшие обновления в эти часы, его установили. Полного списка пострадавших у компании нет, подписи пакетов клиенты тогда не проверяли вовсе, а мошеннический сертификат отозван, пишет The Register.

Для тех, кто раздаёт обновления, урок простой: HTTPS от инфраструктуры интернета не спасает, обновления нужно подписывать своим ключом и проверять подпись на клиенте, а за анонсами своих префиксов следить, например через RPKI и мониторинг BGP.

Как устроен угон маршрута, почему сертификат оказался настоящим и что проверить админу разобрали на сайте.

#безопасность
👍122🤩2👌2🎉1🌚1🤝1🦄1
Превратите камеры наблюдения в круглосуточный определитель птиц

Джейсон Такер взял три уличные IP-камеры, уже висевшие для охраны, и подключил их микрофоны к системе распознавания птиц по голосу. Отдельное железо не понадобилось: хватило адресов аудиопотоков по RTSP.

Звук разбирает BirdNET-Go — открытый самохостящийся анализатор на Go примерно с 1700 звёзд. Ставится в Docker, работает круглосуточно даже на Raspberry Pi и считает всё локально: без облака, внешних API и абонентской платы. Новая модель Google Perch v2 различает 14 795 видов против примерно 6000 у прежней BirdNET 2.4.

На дашборде — тепловая карта «вид против часа суток» и спектрограммы последних определений. Есть оповещения по конкретным птицам, отметка новых для двора видов и отправка событий в домашнюю автоматику по MQTT. Микрофоны глохнут, когда слышат человеческую речь: правда, однажды система всё же сообщила о пуке на подъездной дорожке — мимо шёл сосед.

Я бы начал с проверки, отдаёт ли ваша камера стабильный RTSP-поток со звуком.

#diy #опенсорс
🔥7👍52👏2
Debian 11 остался без обновлений безопасности: LTS закончился 31 августа

Bullseye прожил пять лет: три года под присмотром основных команд Debian и два в LTS силами волонтёров. С сентября новых патчей нет: свежая дыра в ядре, OpenSSL или PostgreSQL из репозиториев Bullseye останется навсегда. Extended LTS существует, но это платная услуга сторонних компаний с неполным покрытием.

Где такие машины прячутся: старые VPS, Docker-образы с базой debian:bullseye или python:3.x-bullseye, которые пересобирают только тегом, и Raspberry Pi с системой 2023 года.

Прямого пути на 13 нет: сначала bullseye → bookworm (LTS до 30 июня 2028 года), потом при желании на Trixie. Для образов достаточно сменить тег базы и пересобрать.

Команды для поиска и порядок обновления собрали на сайте.

@tproger
8🔥5👏1😱1🤩1🌚1💯1🤝1
Август-сентябрь — сезон поиска работы, и в IT он сейчас особенно непростой. Не всегда понятно, в какую сторону расти, страшно менять профессию, а после нескольких неудачных собеседований начинает казаться, что дело в вас.

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

Куда двигаться:
Каких спецов сейчас не хватает
Куда расти, если не хочется в менеджмент
Как попасть в QA в 2026

Собеседования и выгорание:
Почему тянет уволиться после отпуска
Как пройти собес, если стесняешься
Как пройти собес без опыта

Работа в новой компании и карьерный трек:
Что нужно знать про онбординг
Почему сеньоров не слышат
Как построить карьерный трек
Как определять грейды
Как измеряют вашу удовлетворённость работой
👏54💯3🤔2🤩2👌2🌚2🔥1
«Mythos: 0, Aisle: 29»: создатель curl сказал, что ИИ больше ничего не находит, и через день получил 29 отчётов

24 августа Дэниел Стенберг, автор curl, написал: к релизу готовы всего три CVE, а Anthropic Mythos, Zeropath и OpenAI Codex Security «больше ничего не находят». curl проверяют десятилетиями, по оценке AISLE, он стоит более чем в 20 млрд экземпляров, так что три дыры за релиз выглядели как победа.

Потом за curl взялась AISLE, небольшая компания с собственной ИИ-системой поиска уязвимостей. 25 августа Стенберг опубликовал счёт «Mythos: 0 Aisle: 29», а к 28-му число ожидающих CVE выросло с трёх до десяти. В вышедшем сегодня curl 8.22.0 шесть из девяти CVE curl (десятая в релизе относится к обёртке wcurl) подписаны исследователем AISLE: use-after-free в связке с OpenSSL, обход пиннинга сертификата, обход флага secure у куки через символ табуляции и ещё три. Все шесть низкой серьёзности: как объясняет AISLE, в таком зрелом коде дыры остаются только в узких сочетаниях опций.

AISLE продаёт аудит кода, поэтому цифру «6 : 0» стоит читать с поправкой, и что стало с остальными 23 отчётами, компания не пишет. Но вывод для любого проекта прежний: «уязвимостей не найдено» от одного сканера означает только то, что этот сканер ничего не нашёл. Хронологию, список CVE и оговорки собрали на сайте.
👏16👍85🔥3😁1😱1🤩1🕊1😍1🤝1
Нейросети проверили на грибах: даже лучшая называет ядовитый гриб съедобным в 11% случаев

Сезон грибов, и «сфотографировать и спросить у чата» стало привычным жестом. Пётр Мигдал из Quesma проверил, чем это кончается: показал 17 моделям 1040 фото 55 видов грибов с метками, подтверждёнными экспертами и ДНК, и попросил назвать вид.

Лучше всех справилась Gemini 3.8 Flash: 65% верных ответов с первого раза. Claude Fable 5.1 узнаёт гриб в 51% случаев, GPT-5.6 Sol в 42%, локальная Qwen3.8 27B в 13%. Но важнее доля ядовитых грибов, названных съедобным видом: 11% у Gemini, 18% у Fable 5.1, 24% у GPT-5.6 Sol, 36% у Qwen3.8 27B. Ошибки те же, что у людей: смертельную паутинницу в 27% случаев называли лисичкой.

Вывод автора короткий: не есть гриб потому, что так сказала нейросеть. Как устроен тест и какие модели путают что с чем, разобрали на сайте.
😁18👍62👏2😢2🔥1
Трансформер на 75 млн параметров взял 44% на ARC-AGI-1 за 67 центов

ARC-AGI много лет был аргументом в спорах «умеют ли нейросети рассуждать»: тысяча задач на цветных сетках, у каждой своё правило, запомнить ответы нельзя. Исследователь Митхил Вакде обучил маленький трансформер с нуля и получил 44% на публичном eval-наборе. Полтора часа на одной RTX 5090, аренда карты обошлась примерно в $0,67.

Трюк в обучении во время теста: модель дообучается на самих задачах при скрытых ответах, а для двумерных сеток используются обучаемые 3D RoPE. Самое честное место поста: когда автор убрал обучение на входных токенах, результат вырос с 40% до 44%, и он пишет «я не понимаю почему». На ARC-2 та же модель даёт 7%.

Код открыт под MIT, эксперимент можно повторить на игровой видеокарте. Что именно измеряет бенчмарк после такого результата, обсуждаем на сайте.
🔥7🤔4👏2🎉2🤓21👍1👌1🤝1🆒1
Открытый ИИ-агент, который живёт на вашей машине и читает вашу почту по вашим правилам

OpenClaw ставится локально, подключается к мессенджерам и почте и выполняет задачи вроде «следи за письмами из школы и пересылай важное в Telegram». Провайдера модели выбираете сами: подписки ChatGPT и Claude, API-ключи, локальные модели. Вышла версия 2.0, крупнейшая в истории проекта: больше 16 000 pull request от 933 контрибьюторов, половина всех за всё время.

Плата за независимость от одной компании известна: установка и безопасность на вашей стороне. В нашем канале «Инструменты программиста» разобрали подробнее.
👌5🔥4🥰211👏1
Разработчик переписал 65 тысяч строк Go на Rust за $400 и говорит, что секрет в том, чтобы сначала не просить код

Юрий Красношёк, автор терминального редактора rune, переписал его с Go на Rust с помощью Claude Fable 5. Для сравнения он приводит недавний перенос Bun с Zig на Rust: 535 496 строк Zig без комментариев и $165 000 в токенах по API-тарифам по классической схеме «файл за файлом, потом чинить ошибки компилятора».

Его метод из трёх шагов: сначала попросить модель представить код как данные (граф, онтологию, иерархический конечный автомат, ограничения, формулы), потом упростить это представление, например сократить число состояний или убрать скрытые каналы связи через общую таблицу, и только затем попросить код, хоть на другом языке. Плюс совет главному агенту поменьше дёргать Grep, Glob и Edit самому и отдавать это субагентам.

Оговорка от самого автора: цифр о покрытии тестами и проценте собравшегося с первого раза кода в заметке нет, есть только счёт и метод.

Верите, что представление «код как данные» реально экономит порядок денег, или $400 объясняются размером проекта?

#обсуждение
7👍5🔥3🙉2👏1🤔1🕊1😍1💔1
GitHub разрешил Copilot ставить approve, который засчитывается в merge-требования

С 1 сентября Copilot code review не только комментирует, но и может одобрить pull request как обычный ревьюер. Если в репозитории merge закрыт правилом «нужно одно одобрение», при включённой настройке код доедет до main без единого человека.

Настройка выключена по умолчанию и включается администратором на уровне enterprise, организации или репозитория. В репозитории можно ограничить approve списком путей: документацию и тесты Copilot одобряет, к src/auth/ не прикасается. Новый коммит снимает одобрение, как и у людей. Функция в public preview для тарифов Pro, Pro+, Max, Business и Enterprise.

Я бы прямо сегодня проверил правила защиты веток: если требуется ровно одно одобрение, а бот попал в число допустимых ревьюеров, стоит поднять планку до двух или прописать обязательного человека в CODEOWNERS. Настройки и подводные камни разобрали на сайте.
9🙈9👍3👎2🎉2👏1😱1🕊1💯1