Hacker News Digest

Обновлено: 19 августа 2025 г. в 14:27

Постов: 665 • Страница 33/67

Zig's Lovely Syntax (matklad.github.io) 💬 Длинная дискуссия

Zig выглядит почти как Rust, но делает синтаксис ещё приятнее за счёт более простой семантики и ряда изящных решений.

Числа
Литералы 92 всегда имеют тип comptime_int; при присваивании они неявно приводятся к нужному типу. Суффиксов нет.

Строки
Многострочные «сырые» строки пишутся через \\ в начале каждой строки; \ не экранируется, отступы не портятся, а лексер работает построчно.

Структуры
.{ .x = 1, .y = 2 } — запись поля через .x = совпадает с присваиванием, что позволяет грепом находить именно записи, а не чтения.

Типы
Все типы префиксные: u32, [3]u32, ?[3]u32, *const ?[3]u32. Разыменование постфиксное: ptr.*.

Идентификаторы
Синтаксис @"имя с пробелом" позволяет обходить ключевые слова и экспортировать любые имена.

Функции
fn add(x: i32, y: i32) i32 — без стрелки ->, так как лямбд нет, а возвращаемый тип всегда обязателен. pub fn main() void {}.

Переменные
const и var; часто используемое const короче, чем в Rust, но всё же длиннее Kotlin-овского val.

by Bogdanp • 10 августа 2025 г. в 15:33 • 157 points

ОригиналHN

#zig#rust#kotlin#csharp#go#dlang

Комментарии (156)

  • Обсуждение разделилось: кому-то синтаксис Zig кажется «прекрасным» минимализмом, другим — «шумным» и «капризным».
  • Спор о порядке «имя: тип» vs «тип имя»: одни хотят видеть тип первым, другие — имя.
  • Критика деталей: @-префиксы, .{}, отсутствие лямбд, перенос строк, orelse без пробела.
  • Плюсы: raw-строки Zig решают проблему отступов; обработка ошибок через try нравится многим.
  • Сравнения: Kotlin, C#, Go, Rust, D — каждый считает «своё» лучше.
  • Итог: «красота» синтаксиса субъективна и во многом привычна; после практики Zig начинает нравиться.

GPT-OSS vs. Qwen3 and a detailed look how things evolved since GPT-2 (magazine.sebastianraschka.com) 🔥 Горячее

  • gpt-oss-20b/120b — первые с 2019 г. открытые веса от OpenAI; запускаются на одной GPU благодаря MXFP4 (4-битные веса + 8-битные активации).
  • Архитектура классическая: RoPE, RMSNorm, SwiGLU, без MoE. Отличия от GPT-2: больше слоёв и голов, но уже контекст (8k → 32k).
  • Глубина vs ширина: gpt-oss-120b — 120 слоёв, d_model 6144; Qwen3-235B-A22B — 80 слоёв, d_model 9216. Увеличение глубины дешевле при прочих равных.
  • Attention sink — первые 4 токена не вытесняются из KV-кэша, что стабилизирует длинные контексты.
  • Сравнение (MMLU, GSM8K, HumanEval): gpt-oss-120b ≈ Qwen3-30B-A3B, уступает Qwen3-235B-A22B и GPT-4o, но обгоняет Llama-3-70B.
  • GPT-5 (анонс) будет гибридным (dense + MoE), 1–2 трлн параметров, обучен на gpt-oss как teacher.

by ModelForge • 10 августа 2025 г. в 15:06 • 450 points

ОригиналHN

#gpt-oss#qwen3#gpt-2#rope#swiglu#mofe#mxfp4#machine-learning#deep-learning#natural-language-processing

Комментарии (95)

  • GPT-OSS не предлагает революционной архитектуры, а аккуратно комбинирует известные оптимизации (RoPE, SwiGLU, GQA, MoE) и MXFP4-квант.
  • На практике Qwen3 (особенно coder-варианты 30–32 B) чаще хвалят: быстрее, точнее следует инструкциям, лучше справляется с кодом.
  • GPT-OSS-120 B показывает высокие мат-оценки, но «проваливается» в логических бенчмарках и агентных задачах, а 20 B-версия может зацикливаться.
  • Большинство считает, что ключевое различие — не архитектура, а данные и пайплайн обучения.
  • Локальные 4–5-битные кванты Qwen3 укладываются в 12–20 GB VRAM и уже «заменяют» онлайн-модели для многих разработчиков.

Show HN: Engineering.fyi – Search across tech engineering blogs in one place (engineering.fyi) 🔥 Горячее

  • Airbnb: бесшовное обновление Istio на десятках кластеров K8s, тысячи подов.
  • Cloudflare + OpenAI: новые открытые модели GPT теперь в Workers AI.
  • OpenAI: оценка худших рисков «открытых» LLM.
  • Shopify: MCP UI — интерактивные компоненты для AI-агентов в e-commerce.
  • Cloudflare: Perplexity обходит robots.txt скрытыми краулерами.
  • Meta: интерфейс «человек-компьютер» на основе электромиографии запястья.
  • Google: обновлённая программа разработчиков с гибкой подпиской.

by indiehackerman • 10 августа 2025 г. в 13:44 • 417 points

ОригиналHN

#istio#kubernetes#openai#llm#shopify#cloudflare#machine-learning#google#rss

Комментарии (107)

  • Пользователи одобрили идею «поисковика» по инженерным блогам, но попросили расширить список за пределы 15-16 крупных компаний и включить мелкие, но ценные ресурсы.
  • Просят добавить RSS-фид, фильтры по темам/источникам и возможность исключать AI/LLM-контент.
  • Отмечены проблемы со скоростью, Cloudflare-captcha и отсутствием тегов C#/ASP.NET.
  • Некоторые делятся альтернативами: daily.dev, minifeed.net, GitHub-список kilimchoi, Kagi Lenses.
  • Обсуждается, стоит ли ограничиться 10–20 тщательно отобранными блогами или открыть индекс для сотен источников.

Try and (ygdp.yale.edu) 🔥 Горячее 💬 Длинная дискуссия

Try and — сокращённый перевод

Конструкция try and + bare verb («попробуй и сделай») синонимична try to, но считается «неправильной». Примеры: I’ll try and eat the salad.

Кто говорит

  • Распространено в британском и американском английском, а также в Канаде.
  • Употребляется с XIV века; спорно, что раньше: try and или try to.

Синтаксические особенности

  • Не настоящая координация:
    – допустим вынос wh-слов (Who did you try and talk to?);
    – нельзя менять порядок глаголов (kill mosquitos and try);
    – нельзя ставить both (both try and kill).
  • Bare Form Condition: оба глагола только в базовой форме:
    I will try and finish, но tried and finished неверно.
  • В некоторых диалектах (Северо-Восточная Канада, ЮАР) допускается согласование: They tries and does that.

by treetalker • 10 августа 2025 г. в 13:32 • 611 points

ОригиналHN

Комментарии (306)

  • Пользователи обсуждают конструкцию «try and» vs «try to» в английском языке: одни считают её разговорной или «неграмотной», другие — нормальным вариантом (особенно в британском и южном американском диалектах).
  • Некоторые находят в «try and» оттенок уверенности («я попробую и точно сделаю»), тогда как «try to» звучит более формально и нейтрально.
  • Упоминаются параллели в других языках: японском, норвежском, датском, где звучание «to/and» сливается и влияет на написание.
  • Лингвисты подчеркивают, что «try and» не подчиняется обычным правилам координации (нельзя поменять местами части или поставить «both»).
  • Общий вывод: язык живой, и «правильность» определяется контекстом и восприятием носителей, а не строгими правилами.

Inside OS/2 (1987) (gitpi.us)

OS/2: ядро и сервисы
OS/2 — многозадачная ОС для 286/386, API-ориентированная, расширяемая. Архитектура: ядро, Windows Presentation Manager, LAN Manager. Достаточно ядра для многозадачности; WPM и LAN не обязательны.

SDK
Поставляется с оптимизирующим С-компилятором, макро-ассемблером, линковщиком, отладчиком CodeView, редактором. Документация по вызовам и драйверам.

Планировщик
Превентивный, вытесняющий: по таймеру ядро перехватывает CPU и переключает задачи. Приоритеты + кванты времени; при переключении сохраняются регистры и режимы.

Динамические библиотеки
API реализован в DLL; адреса 32-битные, параметры через стек. Экономия диска и RAM: код загружается и разделяется между процессами. Ошибки в DLL исправляются без пересборки приложений. Повторный запуск той же программы переиспользует код, выделяя только данные/стек/кучу.

Режимы процессора

  • Protected: многозадачность, изоляция процессов.
  • Real: совместимость с MS-DOS, прямой доступ ко всей памяти.

by rbanffy • 10 августа 2025 г. в 13:15 • 113 points

ОригиналHN

#os-2#operating-systems#multitasking#ibm#microsoft#c-programming#assembly-language#dll#scheduling

Комментарии (48)

  • OS/2 2.1 умело загружаться и многозадачно работать даже с одной 1,44 МБ дискеты без GUI, чем восхищались участники.
  • Обсуждали преимущества вытесняющей многозадачности OS/2 над кооперативной Windows 3.x и особенности Pascal-calling convention, экономившей 3 байта и такты на вызов.
  • Вспомнили, что ранний OS/2 создавался совместно IBM и Microsoft, но к 1990 г. Microsoft переключилась на Windows NT, а IBM осталась с OS/2.
  • Отметили долгие годы работы OS/2 в терминалах MetroCard нью-йоркского метро и вспомнили SOM как более продвинутую альтернативу COM.

MCP: An (Accidentally) Universal Plugin System (worksonmymachine.ai)

MCP: случайно-универсальная система плагинов

USB-C оказался не только для зарядки и файлов, а ещё для всего, что влезет в разъём. Друг подключил тостер к монитору — и теперь тост выводится по HDMI.

То же самое с MCP (Model Context Protocol). В документации написано: «стандартизированный способ подключать ИИ-модели к данным и инструментам». Уберём слово «ИИ» — получаем универсальный разъём, куда можно подцепить что угодно.

Как автомобильная «прикуриватель-розетка» 1952 года сегодня питает телефоны и мини-печки, MCP может связывать календарь с доставкой еды, базы данных с кофеварками, Git-репозитории с умными лампочками. Протокол не осуждает ваши решения.

Параллель: когда в NFT вместо ссылки на картинку вставили саму картинку в base64, технология стала делать то, что не планировалась.

Итог: MCP — это USB-C для приложений. Пока все думают, что он «для ИИ», он уже работает как универсальный адаптер между любыми сервисами.

by azhenley • 10 августа 2025 г. в 12:53 • 144 points

ОригиналHN

#json-rpc#llm#rpc#api#web2#nft#base64#rest#openapi

Комментарии (71)

  • MCP воспринимается как «Web 2.0-2»: повторное открытие мэшапов и RPC-вызовов, но в формате JSON-RPC для LLM.
  • Главная ценность — простые, узкие API, которые даже «средний» LLM может вызвать без ошибок.
  • Критика: серверы жрут контекст, не хватает инженерии под реальные потоки LLM, безопасность и спам по trust-модели 1995-го.
  • Сторонники считают, что MCP — это удобный «универсальный разъём» между сервисами, независимо от наличия ИИ.
  • Скептики: это временный костыль, пока LLM не научатся работать с обычными REST/OpenAPI; скоро компании закроют «дыру».

Show HN: Play Pokémon to unlock your Wayland session (github.com)

wlgblock — экран-блокировка в стиле Game Boy для Wayland.
Проект AdoPi: простой скрипт на Bash, который запускает «игру»-заставку и требует пароль для разблокировки.

  • Зависимости: swaylock, grim, slurp, wl-clipboard, imagemagick, fzf, bash.
  • Установка: клонировать репозиторий, выполнить make install.
  • Использование: wlgblock или горячая клавиша в Sway/i3.

Скрипт делает снимок экрана, накладывает пиксель-фильтр «Game Boy», запускает swaylock с этим изображением и ожидает ввода пароля.

by anajimi • 10 августа 2025 г. в 12:15 • 102 points

ОригиналHN

#bash#wayland#sway#i3#nvidia#amd#kde#github

Комментарии (41)

  • Пользователи радуются, что проект-игра на Wayland показывает, что экосистема уже способна на «тяжёлую» кастомизацию и работает лучше, чем споры последних пяти лет.
  • Многие удивлены, что «игра-скринсейвер» появилась раньше обычного нормального screensaver'а для Wayland.
  • Скептик признал: блокировка экрана в Wayland действительно работает лучше и логичнее, чем в X.
  • Разработчик anajimi уже обещает попробовать сделать полноценный screensaver на ext-session-lock.
  • В KDE 82 % сессий уже Wayland; Sway и labwc активно используются, но NVIDIA всё ещё вызывает проблемы — «переходи на AMD».

Adult sites are stashing exploit code inside svg files (arstechnica.com)

  • Суть атаки: порносайты внедряют вредоносный код в файлы .svg, которые при клике заставляют браузер ставить лайк заданным постам в Facebook без ведома пользователя.
  • Техника: SVG-файлы содержат скрытый JavaScript, зашифрованный через «JSFuck». После раскодировки загружается цепочка скриптов, завершающаяся трояном Trojan.JS.Likejack, который кликает «Like».
  • Условие: пользователь должен быть авторизован в Facebook в этом же браузере.
  • Масштаб: десятки сайтов на WordPress используют схему; Facebook блокирует связанные аккаунты.
  • История: злоупотребления SVG-файлами фиксировались раньше — эксплойты Roundcube в 2023 г. и фишинг Microsoft в июне 2025 г.

by The-Old-Hacker • 10 августа 2025 г. в 11:45 • 81 points

ОригиналHN

#javascript#svg#csrf#wordpress#facebook

Комментарии (71)

  • Вредоносные SVG-файлы на порносайтах заставляют браузер ставить «лайк» на Facebook без ведома пользователя.
  • Это работает через обычный CSRF: SVG, загруженный в iframe или открытый в новой вкладке, выполняет JavaScript, который вызывает Facebook-API.
  • Если SVG вставлен как картинка (<img src=file.svg>), скрипты не запускаются; уязвимость появляется только при «полном» показе SVG.
  • Некоторые считают, что проблема не в SVG, а в отсутствии защиты от CSRF со стороны Facebook.
  • Пользователи советуют блокировать JS по умолчанию (NoScript/uBlock), использовать режим инкогнито или отдельные контейнеры для Facebook.

Booting 5000 Erlangs on Ampere One 192-core (underjord.io)

Ampere One 192-ядерный сервер, 1 ТБ ОЗУ, цель — запустить максимум виртуальных IoT-устройств на Nerves.

Прошлый раз добрались до 500 экземпляров; теперь с KVM и новым загрузчиком little_loader от Frank Hunleth удалось 5000 одновременных виртуальных ARM64-машин.
little_loader — минимальный ARM64-бутлоадер, читающий переменные u-boot, загружающий ядро Linux и сохраняющий механизмы A/B-обновлений Nerves.

Что изменилось

  • KVM/HVF ускоряет старт до 1-2 с и экономит ≈ 500 МБ ОЗУ на гость.
  • EL1 вместо EL2: EL2 нужен для вложенной виртуализации, нам не требуется.
  • Баг компиляции: release-сборка зависает, debug-версия работает (GCC 15, вероятно, чинит).

Команда запуска (упрощённый пример):

qemu-system-aarch64 \
  -machine virt,accel=kvm \
  -cpu host -smp 1 -m 150M \
  -kernel little_loader.elf \
  -netdev user,id=eth0 \
  -device virtio-net-device,netdev=eth0 \
  -drive if=none,file=disk.img,format=raw,id=vdisk \
  -device virtio-blk-device,drive=vdisk \
  -nographic

Итог: 5000 «эрлангов» на 192 ядрах, 1 ТБ ОЗУ, стартуют за секунды, потребляют по 150 МБ RAM.

by ingve • 10 августа 2025 г. в 11:41 • 207 points

ОригиналHN

#erlang#arm64#kvm#qemu#nerves#iot#cloud#gcc

Комментарии (38)

  • Речь идёт о запуске 5000 узлов BEAM (Erlang-машин), а не процессов — каждая BEAM может держать миллионы лёгких процессов.
  • Сервер с 192 Ampere-ядрами позиционируется как «облачный» или «edge» для телекомов; Hetzner предлагает 80-ядерный Ampere за ~200 $/мес.
  • Пользователи сомневаются в полезности без тестов под нагрузкой и обсуждают, как масштабировать память и шину при таком числе ядер.
  • Всплыли исторические примеры (Azul для Java) и шутки про «ручное ткачество» Erlang-потоков и «фермерский» байт-код.

LLMs aren't world models (yosefk.com) 🔥 Горячее 💬 Длинная дискуссия

LLMs не строят модель мира. Это не значит, что они бесполезны, а лишь то, что они не понимают, как устроена реальность, даже виртуальная.

Шахматы. Два года назад я сыграл с LLM: первые ходы она делала уверенно, но уже на 10-м ходе попыталась походить конём, которого не было на доске, и быстро проиграла. Повторил эксперимент сейчас — к 9-му ходу модель теряет позицию. Проанализировав триллион партий, LLM так и не выучила главное: чтобы ходить, нужно знать, где стоят фигуры. Это не требуется для предсказания текста партии.

Графика. Спросил, как работает «Normal blending» в Krita. Ответ: «цвет верхнего слоя просто отображается, возможно, с учётом прозрачности, без формул и вычислений».
Модель не понимает:

  • Цвета в компьютере — это числа.
  • Любое «влияние» прозрачности — это математическая операция.
  • Если видно нижний слой, значит, итоговый цвет зависит от обоих слоёв.

Можно заставить LLM процитировать формулу альфа-смешивания, но это лишь показывает, что она умеет подобрать слова, а не понимает смысл.

Люди тоже могут путаться, но при достаточной мотивации разберутся. У LLM мотивация была: 200 млрд долларов на оборудование.

by ingve • 10 августа 2025 г. в 11:40 • 325 points

ОригиналHN

#large-language-models#machine-learning#artificial-intelligence#neural-networks#transformers#natural-language-processing#llm

Комментарии (184)

  • @antirez и другие приводят контрпримеры: даже крошечные трансформеры выучивают внутренние 8×8 «карты» позиций шахмат, а SOTA-модели действительно играют корректные ходы.
  • @ordu, @skeledrew и @otabdeveloper4 спорят о «правильности» подхода: одни считают LLM «по-человечески» предиктивными, другие подчеркивают разницу в архитектуре и обучении.
  • @ameliaquining выделяет единственное конкретное предсказание поста — «LLM никогда не справятся с большими кодовыми базами автономно» — и даёт ему 80 % на разобьются за два года.
  • @libraryofbabel, @joe_the_user и @yosefk обсуждают интерпретабельность: наличие внутренних представлений не означает полноценной «модели мира», а измерения Elo и «автономность» нуждаются в точных определениях.
  • @DennisP, @GaggiX, @og_kalu приводят ссылки на Genie-3, свежие arXiv-работы и видео, показывающие, что LLM (и мультимодальные модели) уже умеют играть в шахматы и кодить.