Человек выровнял 17 000 слов по правому краю, подбирая слова под ширину строки
Моноширинный текст плохо выравнивается по обоим краям. Пробел неделим, половинки пробела нет, поэтому строки расползаются дырами, а переносы в таком шрифте лезут в глаза и портят копирование. По этой причине ровный правый край в текстовых файлах почти не встречается.
В конце девяностых автор под ником rs1n написал текстовое руководство по игре Super Metroid и всё-таки его выровнял. В FAQ внизу страницы у него спрашивают, какой программой он это сделал. Ответ: «Никакой. Я просто аккуратно подбирал слова, чтобы всё сходилось по правому краю. Всё сделано в обычном текстовом редакторе». Так идут 17 000 слов подряд.
Марчин Вихары, собравший эту историю, замечает: в книгах абзацы переписывают ради вёрстки постоянно, а на экране почти никогда. Хотя тот, кто хоть раз час подгонял подпись кнопки под ширину в плотном интерфейсе, занимался тем же самым.
#кек
Моноширинный текст плохо выравнивается по обоим краям. Пробел неделим, половинки пробела нет, поэтому строки расползаются дырами, а переносы в таком шрифте лезут в глаза и портят копирование. По этой причине ровный правый край в текстовых файлах почти не встречается.
В конце девяностых автор под ником rs1n написал текстовое руководство по игре Super Metroid и всё-таки его выровнял. В FAQ внизу страницы у него спрашивают, какой программой он это сделал. Ответ: «Никакой. Я просто аккуратно подбирал слова, чтобы всё сходилось по правому краю. Всё сделано в обычном текстовом редакторе». Так идут 17 000 слов подряд.
Марчин Вихары, собравший эту историю, замечает: в книгах абзацы переписывают ради вёрстки постоянно, а на экране почти никогда. Хотя тот, кто хоть раз час подгонял подпись кнопки под ширину в плотном интерфейсе, занимался тем же самым.
#кек
🔥42❤5🤩4👍3⚡2💊2😁1
Сканеры ищут открытые Langflow и Rails: первый выполняет чужой Python от root, второй отдаёт секреты через загруженную картинку
VulnCheck насчитал сотни попыток эксплуатации двух старых дыр на своих ловушках. CVE-2026-0768 в Langflow (CVSS 9,8): эндпоинт
Для Rails исправление есть, для Langflow версия с патчем в advisory не указана, и ZDI называет единственной мерой ограничение доступа. В запросах ищут
Что делать: закрыть API Langflow от интернета за прокси с аутентификацией и следить за релизами; поднять
Механизм обеих дыр и чек-лист разобрали на сайте.
@tproger
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🔥4🎉2❤1👏1👌1🕊1😎1
Разработчик предложил раз в неделю выключать ИИ-ассистентов и писать код руками
30 августа на Hacker News появился сайт No AI Fridays: по пятницам ассистенты выключены, код пишется руками, ответы ищутся в документации. Аргументы авторов: постоянная работа через языковые модели копит «когнитивный долг», снижает вовлечённость и мешает набирать навык, а отдав решение модели, человек перестаёт видеть выбранные за него компромиссы.
Линтеры и автоматические ревьюеры в правилах разрешены: их замечания читает и усваивает человек. В списке компаний, которые уже так делают, пока одна строка — htmx.
В нашем канале «Представляешь,» разобрали подробнее, включая спор в комментариях на Hacker News.
#обсуждение
30 августа на Hacker News появился сайт No AI Fridays: по пятницам ассистенты выключены, код пишется руками, ответы ищутся в документации. Аргументы авторов: постоянная работа через языковые модели копит «когнитивный долг», снижает вовлечённость и мешает набирать навык, а отдав решение модели, человек перестаёт видеть выбранные за него компромиссы.
Линтеры и автоматические ревьюеры в правилах разрешены: их замечания читает и усваивает человек. В списке компаний, которые уже так делают, пока одна строка — htmx.
В нашем канале «Представляешь,» разобрали подробнее, включая спор в комментариях на Hacker News.
#обсуждение
🔥29👍11😁11❤2👏1🤩1🌚1
Домены .ru и .рф теперь требуют владельца с Госуслугами, и большинство администраторов этого ещё не сделали
С 1 сентября действует закон 569-ФЗ: администратор домена в зонах .ru, .рф и .su должен пройти идентификацию через ЕСИА, без неё домен нельзя будет ни зарегистрировать, ни продлить, ни изменить. Руцентр опубликовал готовность: 42,2% его клиентов и 25,7% у Рег.ру. Два регистратора держат 68% рынка.
Ограничения пока не включены: переходный период до попадания регистратора в специальный перечень либо до 18 января 2027 года. Но домены продлеваются раз в год, и у части владельцев дата продления попадёт уже внутрь жёсткого режима.
Типичная беда команды: домен продукта записан на уволившегося сотрудника, аккаунт регистратора в старом чате, автоплатёж работает. При следующем продлении регистратор попросит этого человека войти через Госуслуги.
Что проверить в компании и как переоформить домены разобрали на сайте.
@tproger
С 1 сентября действует закон 569-ФЗ: администратор домена в зонах .ru, .рф и .su должен пройти идентификацию через ЕСИА, без неё домен нельзя будет ни зарегистрировать, ни продлить, ни изменить. Руцентр опубликовал готовность: 42,2% его клиентов и 25,7% у Рег.ру. Два регистратора держат 68% рынка.
Ограничения пока не включены: переходный период до попадания регистратора в специальный перечень либо до 18 января 2027 года. Но домены продлеваются раз в год, и у части владельцев дата продления попадёт уже внутрь жёсткого режима.
Типичная беда команды: домен продукта записан на уволившегося сотрудника, аккаунт регистратора в старом чате, автоплатёж работает. При следующем продлении регистратор попросит этого человека войти через Госуслуги.
Что проверить в компании и как переоформить домены разобрали на сайте.
@tproger
👎27👍10💊10😁6🔥4❤3😢3🤔1🙏1👌1🤝1
Хостинг-панель раздавала вредоносное обновление полтора дня, сервер при этом никто не взламывал
Softaculous, разработчик панели Virtualizor для управления виртуалками, описал инцидент 28–30 августа: перехват шёл двумя волнами общей длиной около 22 часов внутри окна в 33 часа. Атакующие не трогали серверы компании: они через автономную систему AS62390 объявили в BGP более узкий маршрут
Дальше цепочка сработала сама. Let’s Encrypt проверяет владение доменом по HTTP, а проверка тоже пришла на перехваченный адрес, так что атакующие получили настоящий сертификат. С ним они отдали клиентам панели поддельное обновление Virtualizor, и серверы, проверявшие обновления в эти часы, его установили. Полного списка пострадавших у компании нет, подписи пакетов клиенты тогда не проверяли вовсе, а мошеннический сертификат отозван, пишет The Register.
Для тех, кто раздаёт обновления, урок простой: HTTPS от инфраструктуры интернета не спасает, обновления нужно подписывать своим ключом и проверять подпись на клиенте, а за анонсами своих префиксов следить, например через RPKI и мониторинг BGP.
Как устроен угон маршрута, почему сертификат оказался настоящим и что проверить админу разобрали на сайте.
#безопасность
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.
Как устроен угон маршрута, почему сертификат оказался настоящим и что проверить админу разобрали на сайте.
#безопасность
👍13👌3❤2🤩2🤔1🎉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 #опенсорс
Джейсон Такер взял три уличные IP-камеры, уже висевшие для охраны, и подключил их микрофоны к системе распознавания птиц по голосу. Отдельное железо не понадобилось: хватило адресов аудиопотоков по RTSP.
Звук разбирает BirdNET-Go — открытый самохостящийся анализатор на Go примерно с 1700 звёзд. Ставится в Docker, работает круглосуточно даже на Raspberry Pi и считает всё локально: без облака, внешних API и абонентской платы. Новая модель Google Perch v2 различает 14 795 видов против примерно 6000 у прежней BirdNET 2.4.
На дашборде — тепловая карта «вид против часа суток» и спектрограммы последних определений. Есть оповещения по конкретным птицам, отметка новых для двора видов и отправка событий в домашнюю автоматику по MQTT. Микрофоны глохнут, когда слышат человеческую речь: правда, однажды система всё же сообщила о пуке на подъездной дорожке — мимо шёл сосед.
Я бы начал с проверки, отдаёт ли ваша камера стабильный RTSP-поток со звуком.
#diy #опенсорс
🔥9👍5👏3❤2
Debian 11 остался без обновлений безопасности: LTS закончился 31 августа
Bullseye прожил пять лет: три года под присмотром основных команд Debian и два в LTS силами волонтёров. С сентября новых патчей нет: свежая дыра в ядре, OpenSSL или PostgreSQL из репозиториев Bullseye останется навсегда. Extended LTS существует, но это платная услуга сторонних компаний с неполным покрытием.
Где такие машины прячутся: старые VPS, Docker-образы с базой
Прямого пути на 13 нет: сначала
Команды для поиска и порядок обновления собрали на сайте.
@tproger
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
Собеседования и выгорание:
Почему тянет уволиться после отпуска
Как пройти собес, если стесняешься
Как пройти собес без опыта
Работа в новой компании и карьерный трек:
Что нужно знать про онбординг
Почему сеньоров не слышат
Как построить карьерный трек
Как определять грейды
Как измеряют вашу удовлетворённость работой
👏8❤4💯3👍2🤔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 и оговорки собрали на сайте.
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 и оговорки собрали на сайте.
👏17👍8❤6🔥3😁2😱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% случаев называли лисичкой.
Вывод автора короткий: не есть гриб потому, что так сказала нейросеть. Как устроен тест и какие модели путают что с чем, разобрали на сайте.
Сезон грибов, и «сфотографировать и спросить у чата» стало привычным жестом. Пётр Мигдал из 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% случаев называли лисичкой.
Вывод автора короткий: не есть гриб потому, что так сказала нейросеть. Как устроен тест и какие модели путают что с чем, разобрали на сайте.
😁20👍7👏3❤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, эксперимент можно повторить на игровой видеокарте. Что именно измеряет бенчмарк после такого результата, обсуждаем на сайте.
ARC-AGI много лет был аргументом в спорах «умеют ли нейросети рассуждать»: тысяча задач на цветных сетках, у каждой своё правило, запомнить ответы нельзя. Исследователь Митхил Вакде обучил маленький трансформер с нуля и получил 44% на публичном eval-наборе. Полтора часа на одной RTX 5090, аренда карты обошлась примерно в $0,67.
Трюк в обучении во время теста: модель дообучается на самих задачах при скрытых ответах, а для двумерных сеток используются обучаемые 3D RoPE. Самое честное место поста: когда автор убрал обучение на входных токенах, результат вырос с 40% до 44%, и он пишет «я не понимаю почему». На ARC-2 та же модель даёт 7%.
Код открыт под MIT, эксперимент можно повторить на игровой видеокарте. Что именно измеряет бенчмарк после такого результата, обсуждаем на сайте.
🔥8🤔4👏2🎉2🤓2❤1👍1👌1🤝1🆒1
Открытый ИИ-агент, который живёт на вашей машине и читает вашу почту по вашим правилам
OpenClaw ставится локально, подключается к мессенджерам и почте и выполняет задачи вроде «следи за письмами из школы и пересылай важное в Telegram». Провайдера модели выбираете сами: подписки ChatGPT и Claude, API-ключи, локальные модели. Вышла версия 2.0, крупнейшая в истории проекта: больше 16 000 pull request от 933 контрибьюторов, половина всех за всё время.
Плата за независимость от одной компании известна: установка и безопасность на вашей стороне. В нашем канале «Инструменты программиста» разобрали подробнее.
OpenClaw ставится локально, подключается к мессенджерам и почте и выполняет задачи вроде «следи за письмами из школы и пересылай важное в Telegram». Провайдера модели выбираете сами: подписки ChatGPT и Claude, API-ключи, локальные модели. Вышла версия 2.0, крупнейшая в истории проекта: больше 16 000 pull request от 933 контрибьюторов, половина всех за всё время.
Плата за независимость от одной компании известна: установка и безопасность на вашей стороне. В нашем канале «Инструменты программиста» разобрали подробнее.
👌6🔥4⚡2🥰2👏2❤1
Разработчик переписал 65 тысяч строк Go на Rust за $400 и говорит, что секрет в том, чтобы сначала не просить код
Юрий Красношёк, автор терминального редактора rune, переписал его с Go на Rust с помощью Claude Fable 5. Для сравнения он приводит недавний перенос Bun с Zig на Rust: 535 496 строк Zig без комментариев и $165 000 в токенах по API-тарифам по классической схеме «файл за файлом, потом чинить ошибки компилятора».
Его метод из трёх шагов: сначала попросить модель представить код как данные (граф, онтологию, иерархический конечный автомат, ограничения, формулы), потом упростить это представление, например сократить число состояний или убрать скрытые каналы связи через общую таблицу, и только затем попросить код, хоть на другом языке. Плюс совет главному агенту поменьше дёргать
Оговорка от самого автора: цифр о покрытии тестами и проценте собравшегося с первого раза кода в заметке нет, есть только счёт и метод.
Верите, что представление «код как данные» реально экономит порядок денег, или $400 объясняются размером проекта?
#обсуждение
Юрий Красношёк, автор терминального редактора rune, переписал его с Go на Rust с помощью Claude Fable 5. Для сравнения он приводит недавний перенос Bun с Zig на Rust: 535 496 строк Zig без комментариев и $165 000 в токенах по API-тарифам по классической схеме «файл за файлом, потом чинить ошибки компилятора».
Его метод из трёх шагов: сначала попросить модель представить код как данные (граф, онтологию, иерархический конечный автомат, ограничения, формулы), потом упростить это представление, например сократить число состояний или убрать скрытые каналы связи через общую таблицу, и только затем попросить код, хоть на другом языке. Плюс совет главному агенту поменьше дёргать
Grep, Glob и Edit самому и отдавать это субагентам.Оговорка от самого автора: цифр о покрытии тестами и проценте собравшегося с первого раза кода в заметке нет, есть только счёт и метод.
Верите, что представление «код как данные» реально экономит порядок денег, или $400 объясняются размером проекта?
#обсуждение
❤9👍5🔥3👏2🙉2🤔1🕊1😍1💔1
GitHub разрешил Copilot ставить approve, который засчитывается в merge-требования
С 1 сентября Copilot code review не только комментирует, но и может одобрить pull request как обычный ревьюер. Если в репозитории merge закрыт правилом «нужно одно одобрение», при включённой настройке код доедет до main без единого человека.
Настройка выключена по умолчанию и включается администратором на уровне enterprise, организации или репозитория. В репозитории можно ограничить approve списком путей: документацию и тесты Copilot одобряет, к
Я бы прямо сегодня проверил правила защиты веток: если требуется ровно одно одобрение, а бот попал в число допустимых ревьюеров, стоит поднять планку до двух или прописать обязательного человека в CODEOWNERS. Настройки и подводные камни разобрали на сайте.
С 1 сентября Copilot code review не только комментирует, но и может одобрить pull request как обычный ревьюер. Если в репозитории merge закрыт правилом «нужно одно одобрение», при включённой настройке код доедет до main без единого человека.
Настройка выключена по умолчанию и включается администратором на уровне enterprise, организации или репозитория. В репозитории можно ограничить approve списком путей: документацию и тесты Copilot одобряет, к
src/auth/ не прикасается. Новый коммит снимает одобрение, как и у людей. Функция в public preview для тарифов Pro, Pro+, Max, Business и Enterprise.Я бы прямо сегодня проверил правила защиты веток: если требуется ровно одно одобрение, а бот попал в число допустимых ревьюеров, стоит поднять планку до двух или прописать обязательного человека в CODEOWNERS. Настройки и подводные камни разобрали на сайте.
🙈11❤9👍4👎2🎉2💯2👏1😁1😱1🕊1
NGINX теперь читает тело запроса до того, как решит, куда его отправить
Классический nginx сортирует запросы как почту по адресу на конверте: смотрит на URI, выбирает
Ещё в открытую версию перенесли Control API из NGINX Plus: перезагрузка конфига по HTTP с ошибкой в ответе вместо чтения error.log. Аутентификации у него нет, поэтому только UNIX-сокет. Обновиться стоит и без новых фич: исправлен use-after-free в буферизованном проксировании по HTTP/2, а njs 1.0.1 закрыл обход проверки
Классический nginx сортирует запросы как почту по адресу на конверте: смотрит на URI, выбирает
location, и только потом кто-то вскрывает письмо. В NGINX 1.31.5, который вышел 2 сентября, конверт можно вскрыть раньше: директива client_body_early_read читает тело до выбора location, новый JSON-модуль кладёт поля в переменные, а location $json_method {} разводит запросы на общий /graphql или /mcp по бэкендам. Всё на C, без njs и Lua.Ещё в открытую версию перенесли Control API из NGINX Plus: перезагрузка конфига по HTTP с ошибкой в ответе вместо чтения error.log. Аутентификации у него нет, поэтому только UNIX-сокет. Обновиться стоит и без новых фич: исправлен use-after-free в буферизованном проксировании по HTTP/2, а njs 1.0.1 закрыл обход проверки
js_access. Что менять в конфиге и кому обновляться первыми, разобрали на сайте.✍11❤4👍3👏3⚡2🕊1💯1🤝1🤪1
Файл на 21 байт роняет FFmpeg делением на ноль
Четыре нулевых байта на нужном смещении, и либа падает с делением на ноль. Ломается разборщик формата VPK, звука из игр для PS2, о котором почти никто не слышал. Безвестность и есть причина: OSS-Fuzz, гугловый сервис фаззинга, долбит FFmpeg годами, но такие углы достаются ему последними.
Фаззер, нашедший баг, собран с помощью модели: 10 часов 43 минуты и 495 211 запусков на одной машине. Оговорка важная: на обычном ffmpeg из командной строки файл не падает. Краш ловится только через собственный ввод-вывод фаззера, где данные при опознании формата и при чтении пакета расходятся и делению достаётся ноль каналов.
Такую же проверку предлагали в рассылку ffmpeg-devel почти два года назад, и до нужного пути она не доехала. В разборе ценна честность: автор выкладывает и находку, и собственное неудавшееся воспроизведение.
#безопасность #ffmpeg
Четыре нулевых байта на нужном смещении, и либа падает с делением на ноль. Ломается разборщик формата VPK, звука из игр для PS2, о котором почти никто не слышал. Безвестность и есть причина: OSS-Fuzz, гугловый сервис фаззинга, долбит FFmpeg годами, но такие углы достаются ему последними.
Фаззер, нашедший баг, собран с помощью модели: 10 часов 43 минуты и 495 211 запусков на одной машине. Оговорка важная: на обычном ffmpeg из командной строки файл не падает. Краш ловится только через собственный ввод-вывод фаззера, где данные при опознании формата и при чтении пакета расходятся и делению достаётся ноль каналов.
Такую же проверку предлагали в рассылку ffmpeg-devel почти два года назад, и до нужного пути она не доехала. В разборе ценна честность: автор выкладывает и находку, и собственное неудавшееся воспроизведение.
#безопасность #ffmpeg
DEV Community
21 Bytes Can Crash FFmpeg: Inside the Vibecoded Fuzzer That Found What Years of Audits Missed
Twenty-one bytes. That is the entire attack. A file smaller than a URL, with four zero bytes sitting...
❤9👍6🙏2🤝2😎2☃1❤🔥1🔥1🎉1💋1😨1
OpenAI начала выпуск GPT-6 Astra: модель придёт всем на Plus, в API $10 и $50 за миллион токенов
Сегодня модель получил ограниченный круг организаций, в ближайшие дни она появится у всех подписчиков ChatGPT Plus, Pro, Business и Enterprise, в API под именем
Главная заявка в агентных задачах: на Terminal-Bench 4.0 модель чуть впереди Claude Fable 5.1 и далеко впереди GPT-5.6 Sol, при этом задача по оценке OpenAI обходится дешевле. Не везде первая: на Humanity's Last Exam и в индексе Artificial Analysis уступает Fable 5.1 и Opus 5.
Кибербезопасность стала ограничением: модель достигла критического уровня по шкале OpenAI, во время тестов сама нашла две уязвимости нулевого дня, и релизная версия отказывается писать эксплойты, а в API задача может остановиться по решению мониторинга. Цифры, оговорки и что менять в Codex разобрали на сайте.
В нашем канале «Нейроканал» разобрали подробнее, там пишем и про другие темы, полезные для всех, кто программирует с ИИ.
Сегодня модель получил ограниченный круг организаций, в ближайшие дни она появится у всех подписчиков ChatGPT Plus, Pro, Business и Enterprise, в API под именем
gpt-6-astra и в Amazon Bedrock. Fast-режим до 2,5 раза быстрее за двойную цену.Главная заявка в агентных задачах: на Terminal-Bench 4.0 модель чуть впереди Claude Fable 5.1 и далеко впереди GPT-5.6 Sol, при этом задача по оценке OpenAI обходится дешевле. Не везде первая: на Humanity's Last Exam и в индексе Artificial Analysis уступает Fable 5.1 и Opus 5.
Кибербезопасность стала ограничением: модель достигла критического уровня по шкале OpenAI, во время тестов сама нашла две уязвимости нулевого дня, и релизная версия отказывается писать эксплойты, а в API задача может остановиться по решению мониторинга. Цифры, оговорки и что менять в Codex разобрали на сайте.
В нашем канале «Нейроканал» разобрали подробнее, там пишем и про другие темы, полезные для всех, кто программирует с ИИ.
❤20👍5⚡3🎉3🔥2😁2🥰1🤔1🌭1💔1💊1
Модель на 125 миллиардов параметров запустили на ноутбуке с 48 ГБ памяти
Веса Qwen3.8-Flash-Next занимают 105 ГБ на диске, и обычный загрузчик на MacBook с 48 ГБ уходил в подкачку и умирал до первого токена. Карлос Галарса написал slotstream: модель устроена как mixture of experts, на каждый токен нужны 10 экспертов из 512, поэтому инструмент держит в памяти фиксированный пул слотов и дочитывает нужных экспертов с SSD через
Итог: 3,8 ГБ постоянно в памяти, около 33 ГБ на процесс, 12 токенов в секунду генерации. Плата за это: промпт на 8000 токенов обрабатывается 39 секунд, на 32 000 три минуты. Только Apple Silicon и macOS 14, API совместим с Ollama и OpenAI, так что Open WebUI подключается сразу.
Почему ленивый
Веса Qwen3.8-Flash-Next занимают 105 ГБ на диске, и обычный загрузчик на MacBook с 48 ГБ уходил в подкачку и умирал до первого токена. Карлос Галарса написал slotstream: модель устроена как mixture of experts, на каждый токен нужны 10 экспертов из 512, поэтому инструмент держит в памяти фиксированный пул слотов и дочитывает нужных экспертов с SSD через
pread.Итог: 3,8 ГБ постоянно в памяти, около 33 ГБ на процесс, 12 токенов в секунду генерации. Плата за это: промпт на 8000 токенов обрабатывается 39 секунд, на 32 000 три минуты. Только Apple Silicon и macOS 14, API совместим с Ollama и OpenAI, так что Open WebUI подключается сразу.
Почему ленивый
mmap тоже не спас и что проверить перед запуском, разобрали на сайте.❤19👍9🔥3👏2🤔2💯2⚡1🤯1🎉1🕊1😍1
CERN уходит с CentOS на Debian: последней каплей стал один флаг компилятора
Организация, которая сама сопровождала Scientific Linux и десять лет жила на CentOS, объявила на MiniDebConf, что 2200 с лишним промышленных компьютеров управления ускорителями переезжают на Debian 13 до конца 2026 года. Последней каплей инженеры назвали
Дата-центры и вычисления экспериментов остаются на RHEL и AlmaLinux. А в Debian им не хватило инструментов для автоматической сборки пакетов и хранения нескольких версий одного пакета, это придётся собирать самим.
Проверить свой парк можно одной командой:
Организация, которая сама сопровождала Scientific Linux и десять лет жила на CentOS, объявила на MiniDebConf, что 2200 с лишним промышленных компьютеров управления ускорителями переезжают на Debian 13 до конца 2026 года. Последней каплей инженеры назвали
-march=x86-64-v2 по умолчанию в RHEL: система собирается под инструкции, которых нет у процессоров старше примерно 2009 года, и старое сертифицированное железо просто перестаёт грузиться. В CERN это назвали принудительным устареванием.Дата-центры и вычисления экспериментов остаются на RHEL и AlmaLinux. А в Debian им не хватило инструментов для автоматической сборки пакетов и хранения нескольких версий одного пакета, это придётся собирать самим.
Проверить свой парк можно одной командой:
/lib64/ld-linux-x86-64.so.2 --help | grep supported покажет, какие уровни x86-64 тянет машина. Что делать, если ниже v2, на сайте.💅11👍10👏2🙈2😨2🤝2❤🔥1❤1🔥1🤔1🎉1
Переключение на резервный регион не доедет до вашего сервиса на Java
Инженер разобрал свой ночной инцидент, и повторить его может любой, кто ходит наружу стандартным HTTP-клиентом Java и не трогал настройки.
В 3:40 один регион начал сыпать пятисотыми примерно на 8% запросов. Дежурные перевели запись в DNS целиком на здоровый регион. Ошибки не ушли: сорок пять минут часть серверов долбилась в мёртвый регион, притом что dig показывал новый адрес через пару секунд.
Причина в самой JVM. Она не смотрит на время жизни вашей DNS-записи: у неё свой кеш и два свойства, о которых почти никто не знает, networkaddress.cache.ttl и negative.ttl. Под SecurityManager удачный ответ кешируется навсегда, без него тридцать секунд, и это тоже константа внутри JVM, а не то, что настроил ваш DNS. Правило приехало из начала двухтысячных, когда так защищались от подмены адресов в апплетах.
Проверьте оба свойства у себя, иначе узнаете о них в момент аварии. Рабочие значения: 30 секунд на удачные ответы и 10 на отрицательные. И не через -Dsun.net.inetaddr.ttl, под SecurityManager оно не работает вовсе, на чём авторы инцидента потеряли ещё двадцать минут.
#devops #java
Инженер разобрал свой ночной инцидент, и повторить его может любой, кто ходит наружу стандартным HTTP-клиентом Java и не трогал настройки.
В 3:40 один регион начал сыпать пятисотыми примерно на 8% запросов. Дежурные перевели запись в DNS целиком на здоровый регион. Ошибки не ушли: сорок пять минут часть серверов долбилась в мёртвый регион, притом что dig показывал новый адрес через пару секунд.
Причина в самой JVM. Она не смотрит на время жизни вашей DNS-записи: у неё свой кеш и два свойства, о которых почти никто не знает, networkaddress.cache.ttl и negative.ttl. Под SecurityManager удачный ответ кешируется навсегда, без него тридцать секунд, и это тоже константа внутри JVM, а не то, что настроил ваш DNS. Правило приехало из начала двухтысячных, когда так защищались от подмены адресов в апплетах.
Проверьте оба свойства у себя, иначе узнаете о них в момент аварии. Рабочие значения: 30 секунд на удачные ответы и 10 на отрицательные. И не через -Dsun.net.inetaddr.ttl, под SecurityManager оно не работает вовсе, на чём авторы инцидента потеряли ещё двадцать минут.
#devops #java
DEV Community
We Failed Over to a Healthy Region. The JVM Never Noticed — It Had Cached the DNS Answer Forever.
The problem 3:40 AM. One region's load balancers started throwing 5xx at roughly 8% of...
👍11❤6👏4🔥2💯2🤔1💊1😎1