Hacker News Digest

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

Постов: 671 • Страница 34/68

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 (и мультимодальные модели) уже умеют играть в шахматы и кодить.

The History of Windows XP (abortretry.fail)

Короткая история Windows XP

Microsoft к концу 90-х стал «фоном жизни» — любое изменение вызывало бурю, а через пару лет продукт становился обыденным. Компания мечтала избавиться от MS-DOS, пробовала XENIX, XEDOS, затем OS/2, но успех Windows 3 разрушил союз с IBM. Спасением стал Дэвид Катлер, перешедший из DEC: его команда создала Windows NT, совместимую с DOS, UNIX и OS/2. План убить DOS-наследие через Windows 2000 отменили 7 апреля 1999 г.

by achairapart • 10 августа 2025 г. в 10:22 • 123 points

ОригиналHN

#windows#windows-xp#windows-nt#ms-dos#os-2#unix#microsoft#linux

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

  • @ayaros и @Lammy вспоминают XP как «пик Microsoft»: обожают Luna/Neptune UI, музыку из тура и дизайн Watercolor.
  • Критики (@krige, @spankibalt) считают тему XP «игрушечной» и скучной, предпочитая Classic Theme или вообще Linux.
  • Ностальгия объясняется тем, что XP была первым компьютером миллениалов (@ianhawes), но технически уступала 2000 (@troupo, @lproven).
  • Безопасность XP до SP2 была ужасной (@stetrain, @herbst), зато Vista/8 «убили» прогресс (@vjvjvjvjghv).
  • Кто-то хранит запечатанную коробку XP (@cyrialize), кто-то даже шептал в OOBE-музыку (@EvanAnderson).

Open Lovable (github.com)

open-lovable — утилита от mendableai, клонирует любой сайт и превращает его в современное React-приложение за секунды.

Репозиторий публичный, доступен на GitHub.

by iamflimflam1 • 10 августа 2025 г. в 10:10 • 152 points

ОригиналHN

#reactjs#firecrawl#e2b.dev#github#web-scraping

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

  • Проект называется «open-lovable», но не является ни клоном, ни открытой версией Lovable; требует внешние API-ключи (Firecrawl, e2b.dev) и не работает локально без них.
  • Участники спорят о допустимости имени, считая его потенциальным нарушением товарного знака и маркетинговым «рост-хаком».
  • Основная критика: жёсткая завязка на Firecrawl для скрапинга и отсутствие полностью FOSS-варианта всей цепочки.
  • Предлагают альтернативы — bolt.diy, Modal, Daytona, freestyle.sh — и способы самостоятельно развернуть e2b/Firecracker.
  • Некоторые хотели бы обратную задачу: превращение React-приложений в «нормальные» сайты без JS или в нативные веб-приложения.

Writing simple tab-completions for Bash and Zsh (mill-build.org) 🔥 Горячее

Как сделать простые таб-дополнения для Bash и Zsh

Li Haoyi, 7 августа 2025

Таб-дополнения в шелле удобны, но их настройка усложняется тем, что часть пользователей использует Bash в Linux, а другая — Zsh в macOS, и у них разные API. К тому же, пользователям полезно видеть описание каждого варианта, но это доступно только в Zsh.

В этой заметке показано, как реализовать кросс-платформенные дополнения с описаниями на примере Mill 1.0.3.

Базовый механизм

При нажатии <TAB> шелл вызывает функцию, которой передаёт текущие слова и индекс слова под курсором. Функция возвращает список возможных дополнений.

_generate_foo_completions() {
  local idx=$1; shift
  local words=( "$@" )
  local cur=${words[idx]}

  local arr=(apple apricot banana cherry durian)
  for e in "${arr[@]}"; do [[ $e == "$cur"* ]] && echo "$e"; done
}

_complete_foo_bash() {
  local raw=($(_generate_foo_completions "$COMP_CWORD" "${COMP_WORDS[@]}"))
  COMPREPLY=( "${raw[@]}" )
}

_complete_foo_zsh() {
  local -a raw
  raw=($(_generate_foo_completions "$CURRENT" "${words[@]}"))
  compadd -- $raw
}

[[ -n $ZSH_VERSION ]] && { autoload -Uz compinit; compinit; compdef _complete_foo_zsh foo; } \
                     || complete -F _complete_foo_bash foo
  • _generate_foo_completions возвращает список вариантов.
  • _complete_foo_bash и _complete_foo_zsh преобразуют результат в формат нужного шелла.
  • Скрипт добавляется в ~/.bashrc, ~/.zshrc и т.д.

Mill устанавливает дополнения командой:

$ ./mill mill.tabcomplete/install

by lihaoyi • 10 августа 2025 г. в 09:50 • 253 points

ОригиналHN

#bash

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

  • Fish автоматически создаёт дополнения из man-страниц (fish_update_completions), что упрощает жизнь, если документация есть.
  • Пользователи bash и zsh жалуются на «слишком умные» дополнения, которые блокируют автодополнение имён файлов; предпочитают откат к простому поведению.
  • Инструменты вроде usage, clap_complete, claptrap и _gnu_generic позволяют быстро генерировать скрипты дополнений из --help или описаний CLI.
  • Некоторые сторонние решения (Fig, Pixi) и оболочки вроде Murex и Nushell стремятся к единому стандарту автодополнения, но разнообразие синтаксиса CLI всё ещё мешает.

POML: Prompt Orchestration Markup Language (github.com)

POML — язык разметки Prompt Orchestration Markup от Microsoft.
Проект в открытом доступе на GitHub: microsoft/poml.

  • Назначение: структурировать, версионировать и переиспользовать промпты для LLM.
  • Формат: YAML-подобный, читаемый человеком и парсером.
  • Возможности:
    – параметризованные шаблоны,
    – условные ветвления,
    – импорт фрагментов,
    – метаданные (автор, версия, модель).
  • CLI: poml build → компиляция в чистый текст, poml test → прогон с примерами.
  • CI/CD: экшены GitHub для валидации и деплоя промптов.
  • Интеграции: Python SDK, VS Code-расширение, экспорт в OpenAI, Azure, Bedrock.

by avestura • 10 августа 2025 г. в 06:26 • 85 points

ОригиналHN

#poml#yaml#xml#dsl#python#vscode#openai#azure#bedrock#github

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

  • POML — это XML-подобный DSL от Microsoft Research для «view-слоя» промптов, но выглядит как «JSX, только хуже» и заставляет писать код в строках.
  • Участники сравнивают его с YAML-промптами GitHub, BAML (TypeScript-подобные схемы), Jinja и обычным XML, споря о необходимости новой библиотеки.
  • Критика: один контрибьютор при $3T-спонсоре, нет SDK для .NET/C#, лишний tooling, «IP squatting», циклы в XML выглядят как костыль.
  • Ирония: из-за потребности в точности неформальные LLM-промпты всё структурнее, как юридические документы.