Представляешь,
8.89K subscribers
1.49K photos
284 videos
2 files
7.8K links
Новости технологий: важные, смешные, родные

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

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

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

Регистрация в перечне РКН: https://tprg.ru/5GyZ
Download Telegram
Microsoft переписала TypeScript на Go

21 апреля вышла TypeScript 7.0 Beta. Весь компилятор переписан с TypeScript на Go. Работает примерно в 10 раз быстрее старого tsc.

Новый бинарник называется tsgo, живёт рядом со старым компилятором и не конфликтует с ним. Логика проверки типов структурно идентична TypeScript 6.0 — то есть переход должен быть прозрачным.

Скорость берётся из нативного кода Go плюс параллелизм: парсинг, чекер и эмиттер работают в несколько потоков одновременно. Флаг --checkers задаёт число type-check воркеров (по умолчанию 4), --builders — параллельная сборка монорепозитория. Bloomberg, Figma, Google, Slack и ещё десяток компаний уже попробовали в бою.

Поставить: @typescript/native-preview@beta. Запустить: tsgo вместо tsc. Несколько старых флагов (target: es5, moduleResolution: node) пока сломаны — так сказать, приятный бонус бета-версии.

@your_tech (теперь ещё в VK и Max)
💊9👏4🗿21
pgBackRest закрывается спустя 13 лет разработки

Главный open-source бэкап PostgreSQL просто исчез. Дэвид Стил добавил в README «NOTICE OF OBSOLESCENCE» и заархивировал репозиторий. Всё. 13 лет работы: параллельные бэкапы, WAL-архивация, S3/Azure/GCS испарились за один коммит.

Причина прозаичная: Crunchy Data, корпоративный спонсор, была продана. Новую позицию Стил не нашёл, спонсорства не собрал. Написал: «Лучше жёсткий стоп, чем тянуть проект кое-как». Не поспоришь.

Приятный бонус: v2.58.0 продолжает работать, его не отзывают. Security-патчей, правда, больше нет. А PG19 осенью pgBackRest не поддержит — WAL-форматы сломаются.

Смотрите на wal-g или Barman. Форки приветствуются.

@your_tech (теперь ещё в VK и Max)
😢3😨2
OpenAI наконец разрешили дружить с другими

С 27 апреля Microsoft и OpenAI официально не эксклюзивные партнёры. Шесть лет особых отношений — и вот, свободная касса. Те же модели по тому же API скоро появятся через AWS Bedrock. CEO Amazon уже подтвердил.

Лицензия Microsoft никуда не делась — просто стала неэксклюзивной и теперь действует до 2032 года. Раньше было «до достижения AGI». А так как AGI всё никак не получается, конкретная дата куда практичнее.

Azure всё ещё «первый» — но если Microsoft не успеет поддержать новые возможности, продукт выйдет сразу на Bedrock или Google Cloud. Приятный стимул не тормозить.

@your_tech (теперь ещё в VK и Max)
👍5
Cursor снёс продакшн и бэкапы за 9 секунд... И потом написал исповедь

Стартап PocketOS попросил агента Cursor (на Claude Opus 4.6) разобраться с расхождением учётных данных в staging. Агент разобрался — через 9 секунд он снёс боевую базу данных и все volume-бэкапы Railway. Одним curl-вызовом. Молча, без подтверждения.

Почему смог? Нашёл в постороннем файле API-токен, который создавали для добавления кастомных доменов. Но scope у него был корневой: разрешено всё. А Railway хранил бэкапы внутри того же volume, что и боевая БД. Удалить одно — значит удалить и другое. Удобная архитектура, ничего не скажешь.

Дальше — 30+ часов восстановления, трёхмесячный архивный бэкап и личное участие CEO Railway. А Opus, будучи человеком чести, потом сам написал в чате, какие именно правила нарушил.

@your_tech (теперь ещё в VK и Max)
🤣20❤‍🔥11
Copy Fail: ядро Linux заботливо открывает root через криптосокет

В Linux с 2017 года живёт модуль algif_aead — он позволяет работать с криптоAPI ядра прямо из страниц page-cache, без лишних копий. Оптимизация разумная. Последствия — предсказуемые в ретроспективе.

CVE-2026-31431 «Copy Fail»: открываете AF_ALG-сокет (никаких прав не нужно), дёргаете splice(), получаете 4-байтовую запись в page-cache, тихо подменяете несколько байт в /usr/bin/su — и вот у вас root shell. Рабочий PoC уже опубликован.

Затронуты Ubuntu 24.04, RHEL 10.1, SUSE 16, Amazon Linux 2023. Mainline-патч влили 1 апреля, но до пакетов дистрибутивов он так и не добрался. Пока — отключайте algif_aead через modprobe.d, в контейнерах блокируйте AF_ALG через seccomp.

@your_tech (теперь ещё в VK и Max)
🔥3😱3
Edge держит все ваши пароли в RAM — на всякий случай

Microsoft Edge при запуске загружает в память все сохранённые пароли сразу — и держит их там открытым текстом всю сессию. Не когда вы заходите на сайт, не при автозаполнении. Просто запустили браузер — и всё, пароли уже в памяти. Хотите достать? Дамп процесса + утилита strings. Без прав администратора.

Chrome, для сравнения, расшифровывает пароль только в момент автозаполнения и сразу выгружает. Норвежский исследователь проверил несколько Chromium-браузеров — Edge оказался единственным с таким поведением.

Microsoft объяснили: это не баг, это дизайн. Баланс между производительностью и безопасностью. Удобная функция, ничего не скажешь.

Особенно живописно выглядит на терминальных серверах: администратор снимает дамп памяти — и получает пароли всех вошедших пользователей разом.

@your_tech (теперь ещё в VK и Max)
🤣30🤔2
ИИ тормозит не потому что нет видеокарт, а потому что ест мусор

Пока индустрия переживала за дефицит чипов, главная проблема оказалась в другом. Исследователи из Мичигана и Bessemer написали в Fortune: следующее поколение AI упирается не в вычисления, а в данные.

«Больше данных — умнее модель» работало, пока можно было пылесосить интернет. Для физического AI — роботов, автономного транспорта — это уже не вариант: физику не скачаешь.

Данные бывают формально валидными, но бесполезными — junk data. Именно поэтому OpenAI Sora тихо отправили в архив: world model просто не понимала физику.

Авторы предлагают переключить гонку: с объёма — на инструменты чистки данных. Похоже, следующий дефицит будет не в чипах, а в нормальных наборах данных.

@your_tech (теперь ещё в VK и Max)
😁5👍3
Cloudflare переписала Next.js за неделю и $1 100

Один инженер, ИИ-агент и немного токенов — и вот у вас замена одному из самых сложных веб-фреймворков. Cloudflare взяла Next.js, выбросила проприетарный Turbopack, заменила его на Vite и получила vinext — инструмент, который деплоится в Cloudflare Workers одной командой. На всё ушла одна рабочая неделя.

А теперь главная часть: Vercel оценивается в $9 млрд, и ключевое конкурентное преимущество там всегда строилось на том, что формат сборки Next.js — проприетарный и недокументированный. То есть официально открытый фреймворк, но деплоить его удобно только на Vercel. Умная схема. Была.

vinext покрывает 94% API Next.js, обещает сборку до 4 раз быстрее и бандлы на 57% меньше. Официально — экспериментальная. Но вопрос уже не в этом: ИИ только что показал, что «несколько лет инженерного труда» стоят примерно тысячу долларов.

@your_tech (теперь ещё в VK и Max)
🤯163💊31
В ядре Linux нашли способ получить root — без гонки, без привилегий, просто так

Исследователь из Zellic обнаружил уязвимость Fragnasia (CVE-2026-46300) в подсистеме XFRM — той, что отвечает за IPsec. Логическая ошибка в обработке ESP-пакетов поверх TCP позволяет записывать произвольные байты в page cache файлов «только для чтения». Например, в /usr/bin/su. После чего — привет, root.

Никакого состояния гонки, никаких предварительных прав. Просто был обычный локальный пользователь, и вот уже нет. PoC-эксплойт автор выложил сразу с отчётом — работает.

Fragnasia входит в новый класс Dirty Frag, о котором стало известно неделей ранее, но это отдельный баг с отдельным патчем. Затронуты все ядра до 13 мая 2026 года.

Временная мера — выгрузить esp4, esp6 и rxrpc. Ломает IPsec и AFS.

@your_tech (теперь ещё в VK и Max)
😱3
Java 27: Structured Concurrency наконец взрослеет — всего за семь preview

Structured Concurrency появилась в JDK 19 инкубатором и несколько лет методично проходила preview за preview, выясняя, как должна выглядеть многопоточность с человеческим лицом. JEP 533 в JDK 27 — седьмой заход, и впервые API избавляется от собственных preview-типов.

Главное: FailedException уступает место ExecutionException — тому самому, что бросает Future.get(). Семь итераций, чтобы выровнять API с тем, что в Java уже было. В нагрузку — третий тип-параметр Joiner<T, R, R_X> и новый оверлоад open() для тех, кому Joiner явно передавать лень.

Форма API, говорят, сходится к финализации. Будем посмотреть.

@your_tech (теперь ещё в VK и Max)
В Terraform наконец разрешили не хардкодить пути к модулям

Terraform 1.15 вышел 13 мая, и в нём теперь можно передавать переменные прямо в source модуля. Раньше пути прописывались жёстко — или через обходные скрипты, которые никто не любил. Новый атрибут const = true решает это без костылей.

Ещё появился атрибут deprecated для переменных и выводов: используешь устаревший параметр — получаешь предупреждение. Плавный вывод из обращения без поломки чужого кода. Удобно, ничего не скажешь.

Функция convert() явно приводит типы — теперь не нужно угадывать, что Terraform решит делать с пустой коллекцией в условном выражении. И нативные бинарники под Windows ARM64 — наконец-то.

Все детали на Tproger.

@your_tech (теперь ещё в VK и Max)
1