Hacker News Digest

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

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

The unlikely revival of nuclear batteries (spectrum.ieee.org)

Ядерные батареи возвращаются: после десятилетий забвения разработчики вновь активно работают над компактными источниками энергии на основе радиоактивного распада.

Современные прототипы используют изотопы типа Ni-63 или Sr-90 и преобразуют β-излучение в электричество через полупроводниковые или пьезоэлектрические преобразователи. Энерговыход пока невелик — микро- до милливатт, но достаточен для датчиков IoT, медицинских имплантов и космических зондов.

Главные плюсы:

  • 20–50 лет автономной работы без подзарядки;
  • стойкость к экстремальным температурам и радиации.

Препятствия:

  • высокая цена изотопов и сложность лицензирования;
  • необходимость надежной защиты от радиации.

Стартапы и лаборатории США, Китая и Европы уже выпускают мини-серии, а к 2030-му прогнозируют коммерческие поставки мощностью до 1 Вт.

by purpleko • 25 августа 2025 г. в 13:37 • 81 points

ОригиналHN

#iot#radioisotope-thermoelectric-generators#beta-voltaic-batteries#radioactive-decay#ni-63#sr-90#medical-implants#space-probes

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

  • Современные «бетавольтаические» батареи уступают 18650 по плотности энергии, но выдают крошечный ток десятилетиями.
  • Участники беспокоятся: при массовом производстве вырастает риск сбора и концентрации радиоактивных материалов «вручную».
  • Исторический пример — советские маяки на Beta-M и RTG: работали, но грозили дозой тем, кто пытался их разобрать.
  • Практическое применение сведено к узким нишам: кардиостимуляторы, часы, датчики в глухих местах.
  • В целом обсуждение сводится к «интересно, но не революционно» и «опасно, если потерять контроль».

Show HN: Async – Claude code and Linear and GitHub PRs in one opinionated tool (github.com)

async-server — это CLI-утилита, объединяющая Claude Code, Linear и GitHub PR.
Она позволяет:

  • Планировать задачи прямо в терминале (как в Linear).
  • Писать код с помощью Claude Code: создавать ветки, коммиты, PR.
  • Ревьюить изменения и мержить без выхода из консоли.

Установка:

npm i -g async-server
async-server init

Команды:

  • async task "добавить логин" – новая задача.
  • async code – Claude генерирует код.
  • async pr – создаёт PR и связывает с задачей.

Полностью асинхронный workflow: задачи, код, ревью — всё в одном потоке.

by wjsekfghks • 25 августа 2025 г. в 13:21 • 86 points

ОригиналHN

#cli#nodejs#npm#github#linear#claudecode#git#asynchronous

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

  • Пользователи хвалят темную тему и концепцию, но сомневаются в необходимости платить GCP за каждое взаимодействие и просят локальный режим.
  • Критика: не хватает полноценного тестирования (сборка/запуск кода), а упоминание Linear в заголовке кажется лишним.
  • Автор подтверждает: сейчас большая часть выполняется в облаке, но команда работает над локальной версией и улучшенным тестированием изменений.

The McPhee method for writing deeply reported nonfiction (jsomers.net)

Метод Макфи

Когда я впервые писал для издания, самостоятельно выстроил курс из 6-7 текстов. Первые два — из головы и прочитанных книг. Третий — после полёта на лёгком самолёте. Четвёртый — день с трейдером-деривативами. Пятый — один телефонный разговор с незнакомцем. Седьмой — сопровождение бывшего инструктора по вождению. Совет опытного репортёра: «Скажи, что ты журналист, — люди поверят. Оп оправдай доверие».

На этом знании я получил задание сделать профиль Дугласа Хофштадтера для The Atlantic. Ориентиром стало краткое руководство из The John McPhee Reader: четыре стадии, чтобы никогда не смотреть на пустой лист.

  1. Сбор заметок. Все интервью, поездки, чтения — сразу и до конца. Макфи месяцами жил с героем, беседовал с родными, коллегами, экспертами. В «A Sense of Where You Are» он проверил слова Билла Брэдли рулеткой: кольцо оказалось на 1⅛ дюйма ниже нормы.
  2. Отбор. Из горы материала выбираем только нужное.
  3. Структура. Заметки раскладываются по схеме будущего текста: разделы, абзацы, логика переходов.
  4. Письмо. Первый черновик пишется «по рельсам»; дальше — обычная правка: топор, нож, скальпель.

Две-три страницы вступления к Reader заменяют журфак за 0,001 % его цены.

by jsomers • 25 августа 2025 г. в 13:17 • 170 points

ОригиналHN

#the-atlantic#journalism#writing

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

  • McPhee пишет «снизу вверх»: сначала собирает тысячи мелких карточек-заметок, потом группирует, структурирует и лишь затем формирует текст.
  • Метод напоминает «пирамиду» Минто, «grounded theory» и систему Роберта Грина: факты → темы → аргументы → готовая статья.
  • Никто из упомянутых авторов не пользуется диктофоном; доверие к слову собеседника считается священным.
  • Глубокое погружение (жить у героя месяцами) возможно лишь при оплате уровня New Yorker: до 166 000 $ за длинный текст.
  • Главный вывод: не торопитесь «закристаллизовывать» материал; позвольте структуре вырасти из хаоса заметок.

What is a color space? (makingsoftware.com)

Цветовое пространство — это «карта» всех возможных цветов, которую может воспроизвести устройство.

1. Цвет ≠ свет

Свет — физическая волна, цвет — субъективное ощущение мозга. Один и тот же спектр может выглядеть по-разному у разных людей.

2. Глаз как камера

Сетчатка содержит три типа колбочек: S, M, L. Их сигналы превращаются в три числа (XYZ), описывающие цвет.

3. XYZ и «лошадиная подкова»

Международная система CIE-XYZ строит 2D-диаграмму всех видимых цветов. Внутри неё — треугольники sRGB, P3 и Rec.2020: чем больше треугольник, тем больше охват.

4. RGB — не просто «красный, зелёный, синий»

Каждое пространство задаёт точные координаты своих «красного», «зелёного» и «синего». Перекрасить изображение между пространствами можно матрицей 3×3, но если цвета выходят за границы треугольника, приходится «сжимать» их (rendering intent).

5. Гамма-кривая

Люди чувствуют свет нелинейно. Поэтому sRGB и большинство RGB-пространств применяют гамму ≈ 2.2, чтобы экономить биты и не хранить невидимые тени.

6. Не только RGB

  • HSV/HSL — удобны для палитр, но не физически точны.
  • LAB/LCH — основаны на восприятии, позволяют менять яркость без сдвига оттенка.
  • CMYK — субтрактивная модель печати, зависит от типа бумаги и чернил.

7. Профили и ICC

Файл .icc описывает, как устройство интерпретирует числа. Без профиля «255, 0, 0» может быть ярко-красным на одном экране и тусклым на другом.

8. Практические советы

  • Работайте в широком пространстве (P3/Rec.2020), экспортируйте в sRGB для веба.
  • Проверяйте «out-of-gamut» перед печатью.
  • Не используйте HSL для научных задач.

by vinhnx • 25 августа 2025 г. в 12:33 • 202 points

ОригиналHN

#color-science#color-spaces#cie-xyz#rgb#srgb#cmyk#icc-profiles#gamut#hdr#python

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

  • Читатели высоко оценили статью как исчерпывающее введение в цветовые пространства, особенно отметив упор на восприятие и новые модели вроде Oklab.
  • Подняты практические темы: сложные профили принтеров, HDR, «супер-белые/супер-чёрные» значения, необходимость регулярной калибровки колориметров.
  • Упомянуты инструменты и ресурсы: Python-библиотека colour-science, LCMS, видео по истории цветовых пространств.
  • Обсуждались нетривиальные эффекты: необратимость преобразований, региональные вкусы к «перенасыщенным» цветам, трудности с фиолетовым на дорогих принтерах.
  • Подчеркнута важность цвета в прикладных задачах: улучшение алгоритмов детекции, компактное хранение данных, VFX и робототехника.

An illustrated guide to OAuth (ducktyped.org) 🔥 Горячее

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

Классический поток

  1. Пользователь нажимает «Подключить банк» в YNAB.
  2. YNAB открывает браузер с URL провайдера (например, банка), куда добавляет client_id, redirect_uri, scope и случайный state.
  3. Пользователь логинится у провайдера и разрешает доступ.
  4. Провайдер перенаправляет обратно в YNAB с кодом авторизации.
  5. YNAB обменивает код на токен доступа через безопасный back-end-запрос.
  6. С токеном YNAB запрашивает данные счёта.

PKCE
Для мобильных и SPA добавляют code_challenge и code_verifier, чтобы перехват кода не дал злоумышленнику токен.

Refresh-токены
Короткоживущий access token можно обновлять долгоживущим refresh token без повторного логина.

Итог
OAuth разделяет аутентификацию и авторизацию: пользователь доверяет провайдеру, провайдер — приложению, приложение получает минимально необходимые права.

by egonschiele • 25 августа 2025 г. в 12:29 • 282 points

ОригиналHN

#oauth#oidc#pkce#security#authorization#tokens#access-tokens#refresh-tokens

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

  • Участники жалуются, что OAuth/OIDC кажутся простыми, но реальная реализация требует чтения спецификаций и RFC, а поверхностных гайдов мало.
  • Несколько человек подтвердили: приходится самим собирать знания из RFC, OIDC-документов и собственных заметок.
  • Упомянуты полезные ресурсы — гайд Alex Bilbie, книга Aaron Parecki, страницы Mozilla и RFC-примеры.
  • PKCE считается не «менее безопасным», а способом защитить целостность потока; просят отдельный материал о нём.
  • Критика стандарта: OAuth 2.0 «скелет протокола», с множеством опциональных частей и историческими уязвимостями.

Areal, Are.na's new typeface (are.na)

Areal — новый шрифт для Are.na, полностью переработанный Dinamo на базе Arial. Он сохранил узнаваемость «дефолтного» шрифта, но стал технически современнее и вывереннее под задачи платформы.

Идея родилась в 2024 г. на ужине в Нью-Йорке: команды Are.na и Dinamo почувствовали родство подходов и решили «обновить, не меняя» — аналогично тому, как ранее переписали фронтенд, оставив дизайн прежним. Arial выбрали в 2014 г. как самый «невидимый» шрифт, не отвлекающий от контента; он ассоциировался с простотой и непритязательностью эпохи раннего веба.

Dinamo рассматривали Arial как «франкенштейна» — клон Helvetica, ставший системным и «невыбором», что само по себе выбор. Перерисовка позволила сохранить привычный образ Are.na, но сделать его точнее и гибче.

by g0xA52A2A • 25 августа 2025 г. в 12:11 • 147 points

ОригиналHN

#areal#arial#helvetica#typography#are.na#dinamo

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

  • Are.na и студия Dinamo представили «Areal» — перерисованный Arial, который почти неотличим от оригинала.
  • Основные изменения: унифицированные толщины штрихов, табличная моноширинная версия, оптимизация для тёмной темы, расширенный набор символов.
  • Большинство комментаторов считают проект overkill и «кринжом»: «переделали Arial ради самого процесса».
  • Некоторые защищают идею: для дизайнерского сообщества Are.na такие детали важны, а лицензии коммерческих шрифтов зачастую неподъёмны.
  • Вопросы лицензии и скачивания остаются без ответа; шрифт пока используется только внутри платформы.

Standard Thermal: Energy Storage 500x Cheaper Than Batteries (austinvernon.site) 💬 Длинная дискуссия

Кратко о Standard Thermal
Стартап Standard Thermal (2 года работы) хранит избыток солнечной энергии как тепло в дёшевых насыпях земли. Стоимость хранения < $0,10/кВт·ч (тепло), в 1000 раз дешевле батарей. Солнечные панели прямо на месте греют нагреватели внутри кучи; по трубам теплоноситель отдаёт тепло потребителю.

Целевые клиенты

  • Солнечные фермы > 300 кВт с локальным теплоспросом.
  • Удалённые потребители, сжигающие > 50 000 галлонов пропана в год.

Масштаб
Сотни МВт тепла возможны при наличии земли (калькулятор на сайте). Минимальный размер из-за экономики масштаба.

Следующий шаг
В 2026 г. выйдем из инкубатора Orca Sciences и привлечём раунд. Сейчас доводим 100-кВт модуль в Оклахоме; коммерческий прототип за несколько месяцев.


Проблема
Фотоэлектричество дешевле ископаемых, но энергия нужна круглый год. Батареи покрывают суточные колебания, а сезонные — нет. Нужно сверхдешёвое хранение на месяцы; тепловое — оптимально.


Как работает

  • Солнечные панели рядом с насыпью.
  • Электричество → нагреватели → 600 °C внутри земляной «термос».
  • Тепло идёт по трубам к заводу, городу, ТЭЦ.
  • Модули повторяются: копируем солнечные блоки, бульдозер добавляет землю.

Эффективность

  • Тепло: ~100 %.
  • Обратно в электричество: 40–45 % (для пиковых нагрузок).

Рынки

  1. Удалённые потребители — деревни, фермы, заводы без газа, вынужденные покупать дорогой пропан или мазут.

by pfdietz • 25 августа 2025 г. в 12:04 • 198 points

ОригиналHN

#energy-storage#solar-energy#thermal-energy#renewable-energy#sustainability#green-technology

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

  • Идея: хранить летнее тепло в огромной нагретой до 600 °C «грязевой батарее» и отдавать зимой; материал почти бесплатен, но тепловые потери и КПД превращения тепла в электричество вызывают сомнения.
  • Критика: проще сразу нагревать грунт солнечными коллекторами, чем терять ~80 % при переходе «свет-электричество-тепло»; тепловые насосы и существующие системы подземного хранения тепла уже работают.
  • Вопросы масштаба: для эффективности нужны десятки тысяч домов; на участке в 1000 фут² система не выдержит сезонный цикл.
  • Практика: в Канаде (Drake Landing) и Финляндии (песочная батарея) подобные проекты уже реализованы, но высокие эксплуатационные расходы и уникальные компоненты тормозят массовое внедрение.
  • Сервис: при утечке трубы в 600 °C грунте ремонт крайне сложен; требуется ежегодное «окно» после отопительного сезона.

The Size of Adobe Reader Installers Through the Years (sigwait.org)

Adobe Reader vs SumatraPDF

  • Adobe Reader 25.x (Win11, 64-bit): 687 МБ
    — встроенный «ИИ», автообновления, реклама Acrobat, два интерфейса.

  • SumatraPDF 3.5.2: 8 МБ
    — нет «ИИ», автообновлений, рекламы; ставится через scoop.

График роста размера инсталлятора Adobe Reader за годы:

by henry_flower • 25 августа 2025 г. в 12:03 • 148 points

ОригиналHN

#adobe-reader#sumatrapdf#windows#macos#linux#pdf#pdf-xchange#okular

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

  • Adobe Reader раздут до 600 МБ, медленный, навязчиво предлагает платные функции и ставит сторонний софт (McAfee).
  • Подавляющее большинство пользователей отказались от него в пользу браузеров, macOS Preview, SumatraPDF, PDF-XChange, Okular и других лёгких альтернатив.
  • Логарифмический масштаб графика скрывает реальный рост размера: Reader стал в 83 раз больше Sumatra.
  • Для Windows рекомендуют SumatraPDF и PDF-XChange, для Mac — Preview и Skim; Linux-пользователи используют zathura, evince или Okular.

Agent-C: a 4KB AI agent (github.com)

agent-c — сверхлёгкий AI-агент от bravenewxyz.
Проект открыт, код на GitHub.

by liszper • 25 августа 2025 г. в 10:43 • 104 points

ОригиналHN

#c#curl#openrouter#ollama#docker#python#rust#llm#agent#upx

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

  • 4 КБ-агент на Си вызывает OpenRouter через curl и исполняет команды, что вызывает шутки о «русской рулетке» и безопасности.
  • Критика: сжатие UPX, отсутствие проверок ошибок, жёстко заданные константы, popen вместо libcurl.
  • Лицензии обсуждают от «Copy me» до CC0, BSD, Apache, GPL и WTFPL.
  • Некоторые предлагают запускать под отдельным пользователем или в Docker, локально через Ollama/LM Studio.
  • Промпт заставляет агента говорить как Наполеон Динамит («Gosh!», «Sweet!»).
  • Сравнивают с Rust-версией «alors» и оффлайн-Python-примером на 44 строки.

Make any site multiplayer in a few lines. Serverless WebRTC matchmaking (oxism.com)

Trystero — безсерверный WebRTC-матчмейкинг.
Добавь мультиплеер в пару строк.

Прямо сейчас все на этой странице соединяются напрямую и синхронизируют курсоры и клики.
Поддерживаются BitTorrent, Nostr, MQTT, IPFS, Supabase, Firebase.

Пример:

import {joinRoom} from 'trystero'
const room = joinRoom({appId: 'trystero-lounge'}, '101')

room.onPeerJoin(addCursor)
room.onPeerLeave(removeCursor)

const [sendMove, getMove] = room.makeAction('mouseMove')
const [sendClick, getClick] = room.makeAction('click')

window.addEventListener('mousemove', e => sendMove([e.clientX, e.clientY]))
window.addEventListener('click', () => sendClick(randomFruit()))

getMove(([x, y], id) => setCursorPosition(id, x, y))
getClick((fruit, id) => dropFruitFrom(id, fruit))

Также доступны аудио/видео-потоки и файлы.

by haxiomic • 25 августа 2025 г. в 09:48 • 197 points

ОригиналHN

#webrtc#bittorrent#nostr#mqtt#ipfs#supabase#firebase#p2p#javascript#serverless

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

  • Демо-страница Trystero вызвала восторг: «круто», «весело», «отличный API», но подчёркнули, что это не «serverless» — просто чужие серверы для SDP-сигналинга.
  • Вопросы масштабируемости: p2p-видео комнаты выше 4-8 человек требуют SFU/TURN-серверов, иначе падает кодировка и сеть.
  • Safari и Firefox жалуются на лаги, зависания и DOMException при множестве PeerConnection.
  • Сравнение с PeerJS: тот использует один центральный сервер, Trystero — гибкий мульти-сигналинг.
  • Подняли юридические риски: в UK и штате Mississippi такой «социальный» сайт обязывает собирать ID пользователей.