Hacker News Digest

Обновлено: 28 ноября 2025 г. в 08:55

Постов: 4635 • Страница 124/464

The Linux Boot Process: From Power Button to Kernel (0xkato.xyz) 🔥 Горячее

Процесс загрузки Linux начинается с нажатия кнопки питания, после чего процессор переходит в реальный режим (real mode) и выполняет инструкцию по адресу сброса 0xFFFFFFF0. Это приводит к запуску микропрограммы на материнской плате (BIOS или UEFI), которая выполняет самотестирование (POST) и ищет загрузочное устройство. При обнаружении загрузочного сектора (маркеры 0x55 и 0xAA), BIOS копирует его в память по адресу 0x7C00, после чего управление передается загрузчику GRUB. GRUB считывает свою конфигурацию, загружает ядро Linux в память и передает управление программе настройки, которая создает предсказуемую рабочую среду: выравнивает сегментные регистры, создает стек, очищает область BSS и запрашивает информацию о доступной памяти у микропрограммы. В конце концов, вызывается первая функция C с именем main, что标志着 переход к следующей фазе загрузки.

by 0xkato • 25 октября 2025 г. в 23:04 • 420 points

ОригиналHN

#linux#bios#uefi#grub#kernel#systemd#initrd

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

  • Обсуждение показало, что статья о процессе загрузки Linux охватывает только самые базовые концепции, что вызвало критику за упрощение и упущение важных деталей, таких как взаимодействие с UEFI, инициализация видео и роль загрузчика.
  • Участники подчеркнули, что статья не соответствует уровню подготовки аудитории Hacker News, и что она не раскрывает важные темы, такие как влияние UEFI на процесс загрузки.
  • Также было отмечено, что статья не затрагивает такие важные темы, как влияние UEFI на процесс загрузки и не упоминает о таких важных компонентах, как initrd и драйверы.
  • Некоторые комментаторы выразили сожаление по поводу того, что статья не затрагивает такие темы, как влияние systemd на процесс загрузки и не упоминает о таких важных компонентах, как initrd и драйверы.
  • Также было отмечено, что статья не упоминает о таких важных компонентах, как initrd и драйверы, и не раскрывает влияние systemd на процесс загрузки.

D2: Diagram Scripting Language (d2lang.com) 🔥 Горячее

D2 — декларативный язык для создания диаграмм из текста. Пользователь описывает желаемую диаграмму простым текстом, а D2 автоматически генерирует визуальное представление. Например, создается файл input.d2 с текстовым описанием сети, после выполнения команды CLI получается готовая диаграмма с элементами вроде CELL TOWER, SATELLITE, TRANSMITTER и связями между ними.

Для работы доступны CLI с режимом отслеживания изменений и интерактивный Playground для экспериментов. Исходный код D2 и документации размещены на GitHub. Тур по основам занимает 5-10 минут, а краткое руководство "Hello World" — около 2 минут. Для каждого примера в документации есть возможность открыть код в Playground для тестирования.

by benzguo • 25 октября 2025 г. в 22:40 • 254 points

ОригиналHN

#d2#diagrams#github#cli#compiler#graph#mermaid#plantuml

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

  • Обсуждение в основном вращается вокруг инструмента D2 и его места в экосистеме диаграмм-как-кода, включая сравнение с Mermaid, PlantUML и прочими.
  • Участники обсуждают визуализацию изменений в графах, анимацию переходов между снапшотами и влияние на восприятие изменений.
  • Упоминается, что D2 — это компилятор, а не просто синтаксический сахар, и что он может быть использован как библиотека или как CLI-утилита.
  • Поднимается вопрос о цене и лицензии: TALA стоит $3000 в год, что вызывает споры о целесообразности такого подхода.
  • Участники также обсуждают, как D2 сравнивается с другими инструментами в терминах синтаксиса, возможностей и удобства использования.

How programs get run: ELF binaries (2015) (lwn.net)

Статья объясняет, как Linux выполняет ELF-бинарные файлы — основной формат программ в современных Linux-системах. Поддержка ELF реализована в файле fs/binfmt_elf.c, где основная функция load_elf_binary() занимает более 400 строк кода — вчетверо больше, чем поддержка старого формата a.out. ELF-файл содержит заголовок ELF и таблицу заголовков программы, из которой ядро извлекает три ключевых типа записей: PT_LOAD (описывающие области памяти программы), PT_INTERP (определяющий компоновщик) и PT_GNU_STACK (указывающий, должен ли стек быть исполняемым).

Процесс загрузки начинается с проверки формата файла и чтения его заголовков. Затем функция вызывает flush_old_exec(), которая очищает состояние ядра, унаследованное от предыдущей программы, убивает другие потоки процесса и очищает обработку сигналов. Это обеспечивает чистый запуск новой программы с одним потоком. Интересно, что BSS-секция (для неинициализированных данных) в ELF-файле хранится только как размер, так как ядро заполняет её нулями при загрузке.

by st_goliath • 25 октября 2025 г. в 21:03 • 121 points

ОригиналHN

#elf#linux#binary#kernel#programming

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

  • Пользователи обсуждают, что в детстве изучение формата ELF привело к интересу к Linux и программированию.
  • Обсуждается, что обработка исполняемых файлов теперь происходит в пространстве пользователя, что, как предполагается, может уменьшить риск крашей ядра из-за ошибок в формате.
  • Участники вспоминают, что когда-то процесс загрузки ELF-файлов назывался "image activation", и что эта терминология исчезла после dot-com краха и появления LLM.
  • Несколько человек спорят о том, как именно загружаются статические бинарники: часть считает, что ядро все еще обрабатывает их, другие утверждают, что это не так.

An Update on TinyKVM (fwsgonzo.medium.com)

by ingve • 25 октября 2025 г. в 20:51 • 126 points

ОригиналHN

#tinykvm#pikvm#picokvm#firecracker#qubes#guix#bwrap#chroot#virtualization#javascript

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

  • TinyKVM путают с PiKVM/PicoKVM (аппаратные KVM-переключатели) из-за схожего названия.
  • Основной вопрос: можно ли использовать TinyKVM для изоляции GUI-приложений (например, Firefox) с ограниченным доступом к сети и файлам.
  • TinyKVM сравнивают с Firecracker VM, но его фокус — на быстрой изоляции для серверного JS, а не на GUI.
  • Упомянуты альтернативы: Qubes OS, Guix для изоляции и воспроизводимости, а также традиционные инструменты вроде bwrap/chroot.

Show HN: Diagram as code tool with draggable customizations (github.com)

oxdraw — это инструмент для создания диаграмм с помощью кода, написанный на Rust с поддержкой перетаскивания элементов. Проект позволяет разработчикам создавать визуальные диаграммы, используя текстовое описание, что упрощает версионирование и интеграцию с существующими рабочими процессами. Написанный на производительном языке Rust, oxdraw обеспечивает быструю работу даже с сложными диаграммами.

Ключевая особенность инструмента — возможность интерактивного редактирования диаграмм с помощью мыши. Пользователи могут создавать элементы кодом, а затем перетаскивать их для изменения расположения без необходимости редактировать исходный код. Такой подход сочетает преимущества декларативного описания диаграмм с интуитивным визуальным редактированием, что делает инструмент полезным как для разработчиков, предпочитающих работу с кодом, так и для тех, кто предпочитает визуальный дизайн.

by RohanAdwankar • 25 октября 2025 г. в 20:38 • 222 points

ОригиналHN

#rust#mermaid.js#d2#plantuml#graphviz#diagram-as-code#visualization#github

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

  • Пользователи обсуждают различные инструменты для диаграмм: Mermaid.js, D2, PlantUML и Graphviz, а также их ограничения и возможности.
  • Обсуждается необходимость улучшения автоматического размещения для Mermaid.js и возможность встроить инструмент в качестве layout engine.
  • Участники поднимают вопросы о лицензии (отсутствие файла LICENSE), отсутствии функционала вроде всплывающих подсказок и коллапсинга нод, а также о том, что проект не предоставляет встроенного способа взаимодействия с инструментами вроде Excalidraw.
  • Разработчик отвечает, что проект находится в стадии разработки и что он открыт к вкладу со стороны сообщества.

Project Amplify: Powered footwear for running and walking (about.nike.com)

by justinmayer • 25 октября 2025 г. в 20:35 • 110 points

ОригиналHN

#nike#healthcare#wearable-technology#biomechanics

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

  • Основная дискуссия ведётся о целевой аудитории Nike Amplify: спорят, ориентированы ли они на спортсменов или людей с ограниченной подвижностью (артрит, рассеянный склероз, аутоиммунные заболевания).
  • Поднимаются технические сомнения: влияние на развитие мышц и суставы, вес устройства, расположение батареи и потенциальное снижение естественности движений.
  • Упоминаются альтернативы: велосипеды, электросамокаты, машины, а также сценарии использования вроде "последней мили" в городском транспорте.
  • Высказывается скепсис относительно новизны продукта (существование аналогов в Китае) и маркетингового позиционирования Nike.
  • Появляются культурные отсылки (советские ракетные сапоги) и шутки о будущем (полный экзоскелет, Супермен).

Agent Lightning: Train agents with RL (no code changes needed) (github.com)

Microsoft представила Agent Lightning, инструмент для разработки AI-агентов. Проект находится на GitHub в репозитории microsoft/agent-lightning, но подробное описание функционала в предоставленном тексте отсутствует. Судя по названию проекта, он позиционируется как "абсолютный тренер" для создания и обучения AI-агентов. В репозитории пока нет подробной документации или примеров использования. Microsoft продолжает расширять свое присутствие в области ИИ, добавляя инструменты для разработчиков в экосистему GitHub.

by bakigul • 25 октября 2025 г. в 20:30 • 86 points

ОригиналHN

#reinforcement-learning#ai-agents#microsoft#github#llm

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

  • Обсуждение в основном крутится вокруг того, что проект не имеет ясной цели, документации и примеров, а также использует LLM для генерации README, что вызывает скепсис.
  • Участники также критикуют отсутствие бенчмарков для задач с разреженной наградой или частичной наблюдаемостью, что является критически важным для утверждений о "обучении любого агента".
  • Сомнения вызывает и то, что проект позиционирует себя как "фреймворк для оптимизации LLM агентов", но при этом не предоставляет никаких примеров или документации, а также использует LLM для генерации README.
  • Некоторые участники также указывают на то, что проект не предоставляет никаких бенчмарков для задач с разреженной наградой или частичной наблюдаемостью, что является критически важным для утверждений о "обучении любого агента".
  • В целом, обсуждение показывает, что проект вызывает много вопросов из-за отсутствия ясной цели, документации и примеров, а также использует LLM для генерации README.

California invests in battery energy storage, leaving rolling blackouts behind (latimes.com) 🔥 Горячее 💬 Длинная дискуссия

К сожалению, предоставленный контент содержит только навигационную структуру сайта Los Angeles Times, а не саму статью о инвестициях Калифорнии в хранение энергии от аккумуляторов. В структуре сайта есть разделы, где могла бы находиться такая статья (California, Climate & Environment, Business), но её содержимое отсутствует.

Для создания точного пересказа мне нужен текст самой статьи, а не только её заголовок и навигационное меню сайта. Пожалуйста, предоставьте содержимое статьи, и я с удовольствием сделаю для вас ёмкий пересказ на русском языке в формате Markdown.

by JumpCrisscross • 25 октября 2025 г. в 19:58 • 315 points

ОригиналHN

#battery-energy-storage#tesla-megapack#california#pg-e#energy-grid#electricity#arbitrage

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

  • California hasn't issued a Flex Alert since 2022, but the underlying risk factors (heat waves, fires, drought) remain unchanged.
  • France's electricity is 90% low-carbon, yet EDF loses €18 bn a year because the state caps retail prices far below the true cost of generation.
  • California's grid-scale battery storage is overwhelmingly Tesla Megapack 2 XL (LFP chemistry) built at Tesla's Lathrop, CA plant.
  • PG&E's variable-rate plans let homes with batteries arbitrage the grid, but the same homes are barred from net-metering, so the utility pockets the arbitrage spread.
  • Moss Landing fire shows that a 300 MW/1.2 GWh Tesla battery can burn for days, release toxic metals, and still be called "clean energy" in the press.

AI, Wikipedia, and uncorrected machine translations of vulnerable languages (technologyreview.com)

Искусственный интеллект и машинный перевод создали порочный круг для уязвимых языков в Википедии. Когда Кеннет Вир взял управление гренландской версией, он обнаружил, что из 1500 статей почти все были созданы не носителями языка, а содержали грубые ошибки от ИИ-переводчиков. Одна статья даже утверждала, что в Канаде проживает всего 41 житель. "AI translators are really bad at Greenlandic", - отмечает Вир, добавляя, что предложения часто не имели смысла или имели очевидные ошибки.

Проблема не уникальна для гренландского. В африканских языковых версиях Википедии 40-60% статей являются некорректированными машинными переводами, а в инуктитуте (родственном гренландскому) более двух третей страниц содержат части, созданные автоматически. Это создает "лингвистический doom loop": ИИ обучается на ошибках в Википедии, а затем пользователи используют этот ИИ для создания новых статей с ошибками, которые снова попадают в обучение. "Garbage in, garbage out" - как говорят эксперты, проблема сводится к простому принципу: некачественные данные порождают некачественные результаты.

by kawera • 25 октября 2025 г. в 19:57 • 102 points

ОригиналHN

#artificial-intelligence#machine-translation#wikipedia#linguistics#data-quality#llm

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

  • Пользователи обсуждают, что малые языки вроде гренландского или шотландского не имеют достаточного сообщества для поддержки Википедии, и что это делает их уязвимыми для AI-переводов и других проблем.
  • Участники обсуждения подчеркивают, что вместо того, чтобы пытаться сохранить эти языки, было бы лучше признать, что языки умирают естественно и что это не обязательно плохо.
  • Некоторые участники поднимают вопрос о том, что если никто не говорит на этих языках, то возможно не стоит пытаться сохранять их в Википедии.
  • Другие участники отмечают, что вместо того, чтобы пытаться сохранить эти языки, было бы лучше сосредоточиться на сохранении знаний, которые могут быть утеряны, если эти языки исчезнут.

Show HN: Shadcn/UI theme editor – Design and share Shadcn themes (shadcnthemer.com)

ShadCN Themes — это платформа для создания и обмена красивыми темами для библиотеки shadcn/ui. Инструмент предлагает интуитивный редактор тем, позволяющий пользователям строить идеальные цветовые палитры и делиться ими с сообществом. Пользователи могут фильтровать темы по цветовой гамме, включая красный, оранжевый, желтый, зеленый, бирюзовый, синий, фиолетовый, розовый, серый, черный и белый, что обеспечивает широкий выбор для любого дизайна.

Проект с открытым исходным кодом доступен на GitHub, что позволяет разработчикам вносить свой вклад и расширять функциональность. ShadCN Themes упрощает процесс кастомизации интерфейсов, делая его доступным как для новичков, так и для опытных дизайнеров. Платформа стремится создать сообщество вокруг создания и обмена темами, повышая гибкость и персонализацию в экосистеме shadcn/ui.

by miketromba • 25 октября 2025 г. в 19:51 • 111 points

ОригиналHN

#shadcn-ui#tweakcn#html#github#open-source

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

  • Пользователи жалуются на невозможность открыть ссылки в новой вкладке из-за использования <button> вместо <a>, что ломает стандартное поведение браузера.
  • Поднята тема о том, что shadcn/ui — это просто копипаста компонентов, которые не предоставляют никакой гибкости для кастомизации, в отличии от TweakCN, который предоставляет полный контроль над внешним видом.
  • Разработчик утверждает, что у него есть доступ к созданию и редактированию тем без регистрации, но пользователи отмечают, что это не так.
  • Пользователи также жалуются на то, что невозможно дойти до футера из-за бесконечного скролла.
  • Разработчик утверждает, что его инструмент предоставляет большее удобство в использовании, но пользователи отмечают, что TweakCN предоставляет более продвинутый интерфейс для редактирования тем.