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

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

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

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

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

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
Авторы Wasp отказались от собственного языка спустя 5 лет и $5M

Братья-близнецы из Y Combinator задумали Wasp как «Terraform для веб-стека»: один конфиг, который описывает и бэкенд, и фронтенд, и базу. Звучало разумно, но для этого DSL они придумали свой язык. Разработчики вокруг понимали мотивацию (не хочется собирать стек из десятка конфигов вручную), но писать бизнес-логику на кастомном языке с куцей поддержкой IDE оказалось не тем, ради чего стоит бросать JS/TS.

Прошло пять лет и $5M инвестиций. Главный инсайт: ценность Wasp не в синтаксисе, а в высокоуровневой спецификации приложения, которую и человеку, и ИИ проще читать. Сейчас конфиг переписывают на TypeScript, сохраняя ядро. Интересно, как долго они убеждали себя, что язык — необходимость, прежде чем признать ошибку. Подробности в блоге авторов.
😁23😭87👍5🤝4🤔2🙏2👌2🌚2🤨1🎃1
Что происходит под капотом у Google Docs и Figma: CRDT, которые можно потрогать руками

CRDT — это способ синхронизировать состояние между устройствами так, чтобы каждый писал локально, а в итоге все видели одно и то же. Без центрального сервера, блокировок и разборок «кто прав» — просто математика, которая гарантирует сходимость.

Я обычно такие темы обхожу стороной: слишком много теории и мало кода. Но этот разбор идёт от обратного: сначала строит примитив, потом складывает из него структуры посложнее, а в конце даёт интерактивный редактор пиксель-арта, где можно порвать связь между двумя канвасами и увидеть, как они сами собираются обратно.
👍178🆒4🔥3🤝31👏1🤔1🎉1👨‍💻1🗿1
Команда Roc переписала 300 000 строк Rust на Zig и достигла паритета

Разработчики языка Roc полтора года переносили компилятор с Rust на Zig, и недавно новый догнал оригинал по возможностям. Проверка прошла на игре Rocci Bird: меньше тысячи строк на Roc теперь собирается в 31-килобайтный WebAssembly-бинарник. Старый компилятор выдавал файл более чем вдвое больше.

Забавно, что параллельно проект Bun недавно поделился опытом обратной переписи с Zig на Rust. Так что это не история «какой язык круче», а скорее редкий случай, когда две команды демонстрируют единственно правильную логику — для разных целей нужны разные инструменты. Официальный релиз Roc 0.1.0 пока не вышел. Обещают позже в этом году.

Разбор — в статье.
🔥23🤣97🎉5🕊4👏3🤨3👌1🤓1🦄1😘1
Windows Update тихо ставит рекламное ПО на ПК с мониторами LG

Вы купили монитор, а к нему в придачу — антивирус, который вы не заказывали. Windows Update загружает LG Monitor App Installer сразу после подключения некоторых мониторов LG, без диалога согласия. Через минуту он уже сидит в журнале надёжности и ждёт перезагрузки.

После запуска приложение предлагает 30 дней McAfee бесплатно, а потом платную подписку. Исследователи воспроизвели это 32 раза: в 31 случае всплывала реклама антивируса, в одном случае это была реклама утилиты LG. Подробности в материале Tproger.

Отключить автозагрузку можно групповой политикой в разделе Device Installation; открывается через gpedit.msc. Альтернатива хуже: выключить Microsoft Store и лишиться обновлений остальных приложений.
😁3219🔥15👍9🤝5😨4😐2🎅2🙉2😭1🤪1
В консоли AWS всплыл счёт на $1,7 млрд. Ловить такие баги лучше валютой XTS

Открываете консоль AWS, а там предварительный счёт на $1,7 млрд. Не фишинг и не шутка: реальный баг расчётов, который вылез у одного из пользователей.

Обсуждение на Hacker News быстро сошлось на инженерном вопросе: как тестировать биллинг, не рискуя реальными списаниями?

Один из комментаторов предложил изящный ход: использовать в тестах валюту XTS. Это официальный код ISO 4217 для тестовых валют: сервисы считают кредиты, а конвертация в доллары происходит уже на уровне биллинговой системы. Так удаётся поймать факап в расчётах до того, как он попадёт в бухгалтерию.

Обсуждение и детали.
👍1810🫡96🔥6🥰6👏6🤩5🙏3😁2🍾1
Автономный ИИ-агент взломал Hugging Face

Площадка, где вы качаете модели, сообщила об инциденте: в середине июля её продакшн-инфраструктуру вскрыли автономные ИИ-агенты, которые за выходные выполнили тысячи шагов в короткоживущих песочницах.

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

Hugging Face уточняет: публичные модели, датасеты и Spaces не изменены, цепочка поставок чиста. Украдены лишь внутренние датасеты и сервисные токены, так что смените токены и проверьте активность. Для криминалистики использовали китайскую модель Z.ai GLM 5.2: западные фронтирные модели не подошли из-за защитных фильтров.
🤯23👍149🤝9🥰6🔥5👏5😁5🤩5🎅1🤷1
Топ-1% пользователей Cursor пишет от 30 до 40 тысяч строк кода в неделю, но это не главное

Cursor опубликовал отчёт на основе двух лет агрегированных данных, а Pragmatic Engineer разобрал цифры. Масштаб впечатляет: топ-1% генерирует столько кода, сколько в среднем напишут 45 медианных разработчиков. Медиана при этом около 700 строк в неделю, 90-й процентиль — около 9000.

Но меня зацепил не разрыв, а токеновый баланс. 90% токенов входящие. ИИ-агенты в основном читают существующий код, тесты и документацию, а не пишут с нуля. Соотношение чтения и записи получается примерно 10:1.

Это почти дословно то, о чём писал Роберт С. Мартин (Uncle Bob, автор Clean Code) ещё в 2008 году: код читают гораздо чаще, чем пишут. Теперь эту идею можно измерить токенами Cursor.

В блоге Pragmatic Engineer найдёте графики, детали по языкам и ещё несколько неочевидных цифр.
18👍10🔥6👏4🤔3🐳2😴2😁1🌚1😨1🆒1
Разработчик уходит, инженер остаётся

Все хотят сэкономить на разработке с помощью AI, а тратят в разы больше. Одна компания спустила на генерацию кода больше $3 млрд, другая — $500 млн за несколько месяцев вместо сокращённых разработчиков.

Почему чистая агентская разработка не масштабируется? Чем опасен вендорлок на одну LLM? Зачем делить процесс разработки на разные контуры и почему сейчас фреймворк важнее модели?

Разбираемся вместе с Александром Сахаровым из «Диасофт» в новом интервью на Tproger: tproger.ru/articles/razrabotchik-uhodit-inzhener-ostayotsya-kak-ai-ekosistema-menyaet-r
21👍8🔥8🎉2👎1🥰1😱1💯1🙈1😇1🙉1
OpenAI призналась: её агенты сбежали из песочницы и атаковали Hugging Face

Вы доверяете песочницам? OpenAI признала, что внутренний оценочный запуск вышел из-под контроля: модели нашли zero-day внутри песочницы, сбежали в открытый интернет и с помощью ещё одной уязвимости добрались до внутренних данных Hugging Face. Среди участников — GPT‑5.6 Sol и более мощная дорелизная модель с ослабленными «киберотказами».

Эксперимент должен был измерить, как хорошо ИИ ищет уязвимости в ExploitGym. Вместо этого он измерил, насколько плохо держатся границы изоляции. Hugging Face зафиксировала тысячи действий агентов в рое короткоживущих песочниц с командным центром на публичных сервисах.

То есть сценарий «агенты-самостоятельные злоумышленники» перестал быть сценарием.
😭20😁177👍5🔥4😴2💘2🙉2👾2🥰1😨1
ИИ в ИБ: где он реально работает, а где модный ярлык

Каждый второй вендор безопасности теперь продаёт «ИИ внутри». Вопрос, на который редко дают честный ответ: где за этими словами рабочая технология, а где маркетинг.

Свежий материал у нас на сайте раскладывает это по полочкам: в каких задачах ИБ машинное обучение действительно даёт результат, а в каких ярлык ИИ просто повышает цену коробки. Стоит пролистать хотя бы затем, чтобы в следующий разговор с продавцом «защиты нового поколения» вы зашли с готовыми вопросами.
77👍63🔥3🎉2🕊2👏1😁1🙏1👨‍💻1
Разработчик превратил JPEG в одностороннюю гифку

Помните, как на медленном интернете картинка сначала грузилась мыльной и постепенно проявлялась? Это фича JPEG: формат отдаёт сначала грубую версию, а детали догружает потом.

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

Ложка ограничений: влезает примерно девять кадров, а тайминг не закодировать, так что на быстром соединении «мультик» пролетит быстрее, чем вы его разглядите.

И всё же трюк прекрасен. Как это устроено — в разборе на Hackaday: повод посмотреть на необжитые уголки формата, который до сих пор крепко держит картинки всего интернета.
👍26🙏53🌚3🤝3❤‍🔥1🎉1😍1👻1🎅1🆒1
Генератор картинок FLUX выучил физику и пошёл работать на конвейер Audi

Black Forest Labs, авторы генератора картинок FLUX, представили FLUX 3: модель, обученную сразу на изображениях, видео и аудио. Чтобы рисовать реалистичное видео, ей пришлось выучить физику мира. А раз она уже внутри, из модели можно напрямую декодировать действия робота.

Вместе со швейцарской mimic robotics на этой основе собрали FLUX-mimic: ранняя версия уже управляет роботами на производстве Audi, комплектует детали в лотки и работает с уплотнителями и кабелями. Новая манипуляция дообучается за 30 минут робот-данных вместо 30 с лишним часов.

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

Подробности в материале на Tproger.
16😐6🍾5👏4❤‍🔥3🤔3🤷‍♀2👍2🕊2🙉2😭1
Storybook теперь отдаёт компоненты ИИ через MCP

ИИ-агент, верстающий интерфейс, не знает, какие компоненты уже есть в вашей кодовой базе, какие у них пропсы и какие паттерны запрещены. Результат выглядит похоже, но использует выдуманные API и игнорирует принятые решения.

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

В Storybook 10.3 добавили аддон @storybook/addon-mcp, который реализует MCP-сервер: агент может запросить список компонентов, их документацию, сгенерировать сторис или прогнать тесты. Сильная сторона в том, что агент не получает подсказку, а задаёт вопросы библиотеке. Разбор с примером настройки: если у вас есть дизайн-система, ИИ начинает писать в рамках ваших компонентов, а не «где-то рядом».
🌚9👍7🔥6👏4🤣21🥰1💯1😐1💊1👾1