Представляешь,
8.78K subscribers
1.57K photos
285 videos
2 files
7.96K links
Новости технологий: важные, смешные, родные

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

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

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

Регистрация в перечне РКН: https://tprg.ru/5GyZ
Download Telegram
стартап нашёл в curl шесть дыр через день после того, как Mythos и Codex Security сказали «больше ничего нет»

curl стоит почти везде, от контейнеров до холодильников, и это один из самых проверенных кодов в мире. 24 августа его создатель Дэниел Стенберг написал, что к релизу готовы всего три CVE, а ИИ-сканеры Anthropic Mythos и OpenAI Codex Security больше ничего не находят. На следующий день он же опубликовал счёт: «Mythos: 0 Aisle: 29».

AISLE, компания, которая делает свою ИИ-систему для поиска уязвимостей, прислала 29 отчётов. Шесть из них команда curl признала настоящими уязвимостями и закрыла в вышедшем сегодня curl 8.22.0 (это шесть из девяти CVE релиза, десятая относится к обёртке wcurl): use-after-free с провайдерами OpenSSL, обход пиннинга сертификата, обход атрибута secure у куки через табуляцию и ещё три. Все шесть проект оценил как низкие по серьёзности.

AISLE продаёт аудит кода, так что отчёт заинтересованный, и сколько из 29 отчётов отклонили, компания не говорит. Но базовая линия была публичной: «ноль» у двух фронтирных лабораторий Стенберг написал до её проверки. Как за четыре дня три CVE превратились в десять и что это значит для отчётов «уязвимостей не найдено», разобрали на сайте.
🤔3
Copilot теперь может одобрять pull request, и это засчитывается как ревью человека

GitHub 1 сентября добавил Copilot code review настоящий approve. Если администратор включит настройку, одобрение бота закрывает правило «нужно одно ревью», и код можно мержить без людей. По умолчанию всё выключено, включается на уровне enterprise, организации или репозитория, доступно в public preview для Pro, Pro+, Max, Business и Enterprise.

Есть предохранители: список путей, в которых Copilot имеет право одобрять, и автоматический отзыв approve при новом коммите. Чего GitHub не сказал: по каким критериям бот принимает решение и как часто ошибается.

Если у вас branch protection на одно одобрение, проверьте, кто в него теперь попадает. Что именно включать и как ограничить, разобрали на сайте.
💊6🤔1
GitHub CLI научился прикладывать скриншоты и видео к issue прямо из терминала

В gh 2.99.0 появился флаг --attach: gh issue comment --attach ./screenshot.png загрузит картинку в комментарий без браузера. Работает в gh issue и gh pr для create, edit и comment, флаг можно повторять. Форматы: PNG, JPEG, GIF, WebP, SVG, MP4, MOV, WebM. Лимит 10 МБ на картинку; видео 10 МБ на Free и 100 МБ на платных планах.

Полезная мелочь: локальная ссылка ![alt](./login.png) в тексте переписывается на загруженный файл, так что багрепорт можно писать в редакторе с относительными путями. Нужен OAuth-токен от gh auth login или classic PAT и право записи в репозиторий. GitHub Enterprise Server пока не поддерживается.

Куда это встроить в CI и что ещё не сказано в changelog, на сайте.
👍3
три сайта нагенерировали 215 128 страниц «лучший софт для X», и Perplexity на них ссылается

Исследовательская компания Trellner задала Perplexity 380 вопросов вида «какое ПО лучшее для X» и сохранила все 7 534 ссылки, которыми модели подкрепили ответы. 60% ссылок ведут на сайты ниже 100 000-го места по популярности, а каждая четвёртая — на домены, которых нет даже в первом миллионе. Википедию модели процитировали три раза.

Третий по цитируемости источник после G2 и Reddit — блог guideflow.com, продавца интерактивных демо, который ни в одной из категорий сам не работает: 194 ссылки, больше, чем у Gartner. А сайты wifitalents.com, worldmetrics.org и gitnux.org живут на одном шаблоне и одних NS-серверах и вместе держат 215 128 страниц /best/что-то-software/. Главная страница двух из них так и называется: «Facts & Grounding Page», и Trellner читает это как обращение к алгоритму, а не к человеку.

Trellner честно оговаривает: измерен только Perplexity, совпадение ссылок у двух его моделей указывает на общий поисковый стек, а влияют ли эти источники на итоговый совет, не проверяли. Датасет и скрипты выложены под CC BY 4.0. Как устроен замер, куда ещё вели «официальные сайты» вендоров и как фильтровать такое в своём поиске поверх LLM, разобрали на сайте.
😴5😁1
Google грозит удалить AnkiDroid из Play 11 сентября из-за кнопки пожертвований

с 28 августа Google отклоняет обновления AnkiDroid, бесплатного открытого приложения-карточек с 10 млн установок, за ссылку на пожертвования мимо биллинга Play. Если ссылку не убрать, приложение удалят по всему миру, кроме Индии и России. Внутри ничего не продаётся, деньги идут через Open Collective, а статуса некоммерческой организации Google оказалось мало.

Мейнтейнеры убирают ссылки под протестом. Что это значит для любого приложения с кнопкой «поддержать проект», в нашем канале «Мобильная разработка» разобрали подробнее.
💊4🤔3😢1
google выпустила Gemini 3.8 Flash: по её замерам решает задачи по коду почти как Claude Opus 5, а тариф за токен в 6,7 раза ниже

Google сегодня выпустила Gemini 3.8 Flash, третью модель линейки Flash за шесть недель, и вторую, закрытую, Gemini 3.8 Flash Cyber для поиска и исправления уязвимостей.

Обычная 3.8 Flash уже в Gemini API, AI Studio и Android Studio по цене 3.7 Flash: $0,75 за миллион входных токенов и $3,75 за миллион выходных. Главная цифра из таблицы Google: 73,7% на DeepSWE v1.1, бенчмарке долгих задач по программной инженерии, против 74,0% у Claude Opus 5 за $5 и $25. На Terminal-Bench 2.1 у неё 89,4%, на HLE-Verified 54,9%. Слабое место Google тоже показывает: на Terminal-Bench 4.0 всего 19,1% против 51,8% у Opus 5. Оговорка: модель «работает усерднее», тратит больше токенов, а вводная цена действует до 31 декабря, потом $1,50 и $7,50.

Flash Cyber в общем API сейчас нет: её выдают по заявке через программу Fairwind. На CyberGym она набирает 86,2% против 83,8% у Mythos 5, на CWE-Bench 47,2% при 47,8% у Claude Fable 5. Все цифры опубликованы Google; DeepSWE ведёт Datacurve AI, CWE-Bench проводит Collinear, независимых замеров пока нет. Таблицу бенчмарков, цены и что делать с 3.7 Flash разобрали на сайте.
👍4
в Safari годами ломался top-level await, потому что загрузчик модулей писали по черновику 2016 года

WebKit сегодня рассказал, откуда брались ошибки «Cannot access ... before initialization» в модулях с await на верхнем уровне. Загрузчик модулей Safari был написан по предложению WHATWG Loader, последний раз обновлённому в январе 2016 года, когда async/await в JavaScript ещё не существовало. Top-level await из ES2022 реализовали поверх этой основы, и точечные правки не помогали.

В январе 2026 года команда удалила старый загрузчик и переписала его на C++ по алгоритмам стандарта ECMAScript. Тесты присылала в том числе команда Bun: их рантайм работает на том же JavaScriptCore и унаследовал те же баги. Исправление уже доступно в Safari Technology Preview 251 и бете Safari 27, в стабильную версию попадёт с выходом Safari 27, дата которого не названа.

Для фронтендеров это значит, что один из последних поводов избегать top-level await в продакшене скоро исчезнет, но обходные пути для старых Safari пока придётся держать. Пример падающего кода и детали переписывания разобрали на сайте.
🤣4🤔3
anthropic открыла бесплатную проверку файлов на метку Claude: работает в браузере, файл никуда не уходит

На claude.com появилась страница Check Content: перетаскиваете картинку, видео или аудио, и сервис говорит, есть ли внутри подписанная метка о том, что файл создал или обработал Claude. Форматов много, от JPG и SVG до MP4 и FLAC, лимит 100 МБ. Проверка идёт локально, на сервер файл не загружается.

Метка сделана по открытому стандарту C2PA, тому же, что используют камеры и фоторедакторы. Ставить её умеют пока только Fable 5.1 и Mythos 5.1, старым моделям поддержку ещё добавляют. Причина в законе: Anthropic подписала кодекс к статье 50(2) AI Act ЕС, и обязалась помечать вывод моделей Claude, запущенных в ЕС с 2 августа.

Главная оговорка от самой Anthropic: отсутствие метки ничего не доказывает. Она может пропасть при пересохранении, сжатии в мессенджере или скриншоте. Текст сервис не проверяет вообще, для водяных знаков в тексте есть отдельный Detection API в закрытом превью. Что проверка умеет и чего не умеет, разобрали на сайте.
👍3
17 нейросетей проверили на фото грибов: лучшая ошибается опасно в 11% случаев, локальная Qwen в 36%

Пётр Мигдал из Quesma показал моделям 1040 фотографий 55 видов грибов из датасета FungiTastic, где метки подтверждены экспертами и ДНК, и попросил назвать вид. Лучше всех Gemini 3.8 Flash: 65% верных первых ответов и 85% в пятёрке. Claude Fable 5.1 узнаёт гриб в 51% случаев, GPT-5.6 Sol в 42%, Qwen3.8 27B в 13%.

Опаснее другая цифра: как часто ядовитый гриб называют съедобным видом. У лучших Gemini это 11%, у Fable 5.1 18%, у GPT-5.6 Sol 24%, у Claude Opus 5 29%, у Qwen3.8 27B 36%. Ошибки повторяют человеческие: смертельную паутинницу модели в 27% случаев называли лисичкой, бледную поганку узнавали только в 48%.

Вывод автора: не есть гриб потому, что так сказала нейросеть. Код и все ответы моделей выложены, тест можно повторить на своей модели.
6💊4
home Assistant 2026.9 нарисовал карту Matter-сети и научился объяснять, какая автоматизация включила свет

Вышел сентябрьский релиз Home Assistant. На панели Matter появилась кнопка Show map: карта показывает, кто ходит по Thread, кто по Wi-Fi, где пограничные маршрутизаторы, а толщина линий отражает сигнал. Раньше такой граф был только у Zigbee, Z-Wave и Bluetooth.

В журнале Activity клик по строке теперь открывает всю цепочку: что запустило событие, через какие автоматизации прошло и что изменилось, с метками времени до миллисекунды. Панель Security получила активные тревоги с уровнями Alert и Warning. Подписчики Cloud при попытке входа видят реальный IP вместо 127.0.0.1, поэтому бан по IP наконец работает для удалённых подключений.

Modbus начали переводить с ручного YAML на интеграции: Fronius, Sofar и Flexit настраиваются из интерфейса и делят одно соединение с инвертором. Ещё 13 новых интеграций, удалён VLC. Что менять после обновления и кому оно ничего не даёт, разобрали на сайте.
👍3
Cloudflare Workers наконец научились принимать входящий TCP

Восемь лет Worker мог открыть соединение наружу, но слушать умел только HTTP. Появился обработчик connect(socket): сырое соединение приезжает через Spectrum, входной прокси Cloudflare для не-HTTP, и Worker читает его сам или отдаёт в Durable Object, долгоживущий объект с состоянием.

Полный дуплекс живёт дальше, в контейнерах: сервер gRPC на Go и питоновский socketserver из примеров работают без единой правки. Самим Workers достался вариант поскромнее, только запрос-ответ и серверный поток.

Причина в том, что fetch() не даёт доступа к потокам HTTP/2, на которых держится gRPC. Внутри всё переводится в gRPC-web, тот самый, что придумали ради браузеров. Пока это закрытая бета, а InfoQ разбирает, у какого из трёх кусков какой потолок.
👍2
в Go 1.27 появился профиль, который находит утечки горутин прямо на работающем сервере

команда Go рассказала, как устроен новый тип профиля goroutineleak. Он ищет горутины, которые навсегда зависли на канале, Mutex, WaitGroup или Cond, и делает это через тот же анализ достижимости, что и сборщик мусора: если примитив, на котором ждёт горутина, недоступен ни из одной живой горутины, разбудить её уже некому.

Раньше обычный goroutine-профиль показывал только количество заблокированных, не отличая всплеск нагрузки от утечки. В примере из блога новый профиль нашёл 116 горутин, зависших на одной строке с отправкой в небуферизованный канал. Снимается по адресу /debug/pprof/goroutineleak, если подключён net/http/pprof; команда советует снимать периодически, например раз в четыре часа, из-за квадратичного худшего случая. Что он не ловит и как включить, разобрали на сайте.
22👍1
VS Code 1.136 научился доводить pull request до готовности к слиянию без вас

Microsoft выпустила обновление с функцией Agent Merge в превью: агент читает замечания ревью, чинит упавшие проверки и конфликты, перезапускает workflow и повторяет, пока PR не станет пригодным к слиянию. Включается настройкой chat.agentMerge.enabled, запускается из окна Agents.

второе изменение экспериментальное: агенты Copilot и Claude могут работать с workspace из нескольких корневых папок. Хуки агента при этом по-прежнему привязаны к одной папке. Сколько итераций делает Agent Merge и сколько это стоит в токенах, Microsoft не говорит. Остальные изменения релиза и что стоит включать сейчас, на сайте.
💊5🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
рой агентов Fable 5.1 по одному промпту собрал в браузере проходимую копию площади в Сан-Франциско

организация PhiloLabs выложила fable51-worlds: 3D-реконструкцию Юнион-сквер на чистом Three.js, без игрового движка. По заявлению авторов, всё построили агенты Claude Fable 5.1: 453 здания из OpenStreetMap, 129 магазинов с реальными арендаторами, 220 пешеходов, 109 машин, канатные трамваи, два интерьера. Запуск: cd union-square-sf, npm install, npm run dev; код и ассеты под MIT.

проверяли тоже агенты: Playwright снимает 34 ракурса (для 28 есть фотографии с тех же точек), девять рецензентов ставят оценки без подгонки. Итог от 5,5 до 8 из 10, у 34 витрин арендатор не найден. Автор пишет на HN: один прогон, около двух часов, 8 млн токенов и около 3 по API. Что внутри конвейера, разобрали на сайте.
💊5
Chrome 154 вышел в бету: постквантовое шифрование стало доступно из JavaScript

Google перевела Chrome 154 в бету для всех платформ. В Web Crypto добавили ML-KEM 768 и 1024, ML-DSA 44, 65 и 87, ChaCha20-Poly1305 и гибрид X-Wing, то есть сквозное шифрование в веб-приложениях теперь можно строить на постквантовых алгоритмах без сторонних библиотек.

ещё: WebSocket принимает объект настроек и умеет подключаться к устройствам в локальной сети через targetAddressSpace (нужны HTTPS и разрешение пользователя), у scroll-marker-group появились режимы links и tabs для каруселей без JavaScript, а Background Fetch начал применять CORS, так что часть фоновых загрузок с чужих доменов сломается. Полный список и что проверить у себя, на сайте.
🔥3👍2
PyTorch 2.14 вышел с 2995 коммитами: сборки под Python 3.15 есть, torch.compile под него нет

PyTorch Foundation выпустила версию 2.14. Главное для GPU: NVGEMM подключает к Inductor ядра CUTLASS, а в распределённом обучении появился backend nccl2 и перестройка process group без перезапуска задания при выпадении узла.

wheels под Python 3.15 и free-threaded 3.15t собраны для Linux, Windows и macOS, но лежат не на PyPI, а на download․pytorch․org, и torch.compile под 3.15 в этом релизе завершается ошибкой. Из ломающего: удалены torch.cholesky, torch.qr и acc_policy="balanced", у скалярного clamp изменился градиент на границе. Чек-лист обновления на сайте.
👍4
Copilot в приложении и CLI перестал читать файлы из чёрного списка, но в агентном режиме VS Code пока читает

GitHub объявила, что политики content exclusion теперь в общем доступе для Copilot app и Copilot CLI. Администратор репозитория или организации указывает файлы, которые агент не должен использовать как контекст, показывать в ответах и проверять в code review. Доступно на планах Business и Enterprise.

в документации перечислены дыры: режимы Edit и Agent в VS Code исключения не поддерживают, симлинки и репозитории на удалённых файловых системах не покрываются, а языковой сервер может отдать типы и определения из исключённого файла. Что настроить сегодня, на сайте.
👍3🫡2
CERN переводит 2200 промышленных компьютеров с CentOS на Debian: последней каплей стал флаг компилятора

организация, которая десять лет сопровождала Scientific Linux и ещё десять сидела на CentOS, объявила на MiniDebConf, что компьютеры управления ускорителями переезжают на Debian 13 до конца 2026 года. Последней каплей инженеры назвали флаг -march=x86-64-v2 по умолчанию в RHEL: процессоры без нужных инструкций перестают загружать систему, а промышленное железо у ускорителей меняют редко.

дата-центры и вычисления экспериментов остаются на RHEL и AlmaLinux. В Debian CERN не хватило инструментов для автоматической сборки пакетов и хранения нескольких версий одного пакета. Как проверить свой парк на уровень v2, на сайте.
🤔4🎉1
nginx научился выбирать location по содержимому JSON, а njs закрыл дыру в проверке доступа

в NGINX 1.31.5 появились четыре вещи, и первые три раньше требовали njs или Lua: location по любой переменной, чтение тела запроса до выбора location (client_body_early_read), встроенный разбор JSON в переменные и Control API из NGINX Plus. То есть запросы на общий /graphql или /mcp можно разводить по бэкендам по полю method прямо в конфиге. Control API без аутентификации, проект просит вешать его только на UNIX-сокет.

главная причина обновиться: use-after-free при буферизованном проксировании по HTTP/2, клиенту могла уйти освобождённая память. А njs 1.0.1 в тот же день закрыл три CVE, в том числе обход js_access: ошибка внутри проверки пропускала запрос как проверенный. Что ещё исправили и кому обновляться первыми, разобрали на сайте.
4
Google Play задерживал уведомления о покупках на два и четыре часа: пользователь заплатил, а сервер узнал потом

разработчик показал две транзакции, где eventTimeMillis в Real-time Developer Notifications появился через 3 ч 55 мин и 2 ч 11 мин после оплаты. Сам платёж проходил штатно, доставка уже созданного события занимала секунды: задержка сидела внутри цепочки Google до доставки серверу, а точный этап автор доказать не может, потому что не сохранял publishTime.

официальный инцидент Play Billing 1 сентября длился с 08:54 до 11:43 UTC, но по отчёту задержки продолжались и после. Вывод для серверной выдачи подписок: не ждать RTDN, а проверять purchase token через Developer API сразу после покупки. Разбор и чек-лист на сайте.
🤔2👍1
Polars 2.0 вышла в RC: все ленивые запросы пошли через потоковый движок, а тихие касты стали ошибками

команда Polars выпустила первый release candidate версии 2.0, финал обещан в ближайшие недели. Новых функций почти нет, релиз про смену дефолтов: LazyFrame.collect() теперь выполняет потоковый движок, который обрабатывает промежуточные данные кусками и экономит память. По ожиданиям авторов, в совокупности он «легко в 5 раз быстрее» старого. Цена: порядок строк после join, group_by и unpivot больше не гарантирован, нужен maintain_order или явный sort.

вторая половина релиза про строгость. is_in с Int64 и Float64 больше не округляет молча (в примере из поста id 9007199254740993 превращался в 9007199254740992 и давал ложное совпадение), горизонтальный concat разной высоты бросает ShapeError вместо заполнения null, каст строки в дату заменён на .str.to_date(). Большинство удалённых методов отвечают AttributeRemovedError с подсказкой, чем заменить. Ставится через pip install polars==2.0rc1. Что проверить в своих пайплайнах до финала, разобрали на сайте.
👍2