Hacker News Digest

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

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

Bad Apple but it's played inside Super Mario Bros (tasvideos.org)

В Super Mario Bros. для NES реализовано произвольное исполнение кода (ACE) через манипуляции с игровым состоянием. Используется старт на уровне 'N' для инициализации объекта C9, который перезаписывает память и позволяет выполнять пользовательский код. В демонстрации воспроизводится видеоклип Bad Apple!! с синхронизированным звуком через контроллер, преобразуя музыку в нажатия кнопок. Для графики применяется эффективное кодирование кадров в тайлы NES с оптимизацией через пакеты данных. Эмулятор BizHawk 2.9.1 обеспечивает точность, включая работу с "открытой шиной", что подтверждено запуском на реальной консоли. Достигнуты полное прохождение, максимальный счёт и время 4:52.65.

by carlesfe • 29 сентября 2025 г. в 09:34 • 185 points

ОригиналHN

#nes#emulation#tas#rom#audio#vector-quantization#bizhawk#apple

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

  • Аудио на NES стримится через контроллер с помощью миллионов быстрых нажатий кнопок (5.8 млн), что является формой векторного квантования.
  • Воспроизведение требует модифицированного ROM или ручной настройки памяти для загрузки кода, но возможно на реальном железе.
  • Частота аудиострима достигает ~25 кГц, периодически снижаясь до ~9 кГц при обработке видео.
  • Полный файл TAS (~16 МБ) значительно превышает объем RAM NES (4 КБ), поэтому данные стримятся в реальном времени.
  • Результат впечатляет качеством звука, сохраняя аутентичный 8-битный стиль, особенно в басах.

Consistent hashing (eli.thegreenplace.net)

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

При изменении количества узлов перемещаются только данные, попадающие в зону между старыми и новыми узлами — примерно M/N элементов вместо всех M. Это обеспечивает стабильность системы: например, при выходе узла из строя его нагрузка равномерно распределяется между соседями, а не вызывает каскадный сбой. Алгоритм широко применяется в кеширующих прокси, распределённых базах данных и CDN для минимизации дисбаланса при масштабировании.

by zoidb • 29 сентября 2025 г. в 08:16 • 77 points

ОригиналHN

#consistent-hashing#distributed-systems#caching#cdn#rendezvous-hashing#clojure

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

  • Предложено использовать rendezvous hashing как более простую и универсальную альтернативу consistent hashing, не требующую виртуальных узлов и поддерживающую взвешенное распределение.
  • Упомянуты различные реализации и применения хеширования: CRUSH в Ceph, Lamping-Veach алгоритм, кеш-ориентированная версия для SSD, простая реализация на Clojure.
  • Обсуждаются стратегии минимизации перераспределения данных при изменении числа узлов: увеличение числа партиций, метод "power of 2 choices", кластеризация в rendezvous hashing.
  • Отмечена опечатка в заголовке исходного поста ("Constitent" вместо "Consistent") и дан совет по её исправлению.
  • Затронута историческая справка об основателе Akamai Дэниеле Люине и его трагической судьбе.

Google appears to have deleted its political ad archive for the EU (thebriefing.ie)

Google удалила архив политической рекламы в ЕС, уничтожив данные за семь лет — с 2018 года. Исчезла информация о расходах, таргетинге и сообщениях партий и кандидатов на YouTube, в поиске и дисплейной рекламе во время выборов в 27 странах. Ранее Google анонсировала запрет на политическую рекламу, но о стирании архива не предупреждала.

Теперь доступны только данные по США, Великобритании, Индии и нескольким другим странам, но не по ЕС. Поиск по ключевым словам или партиям (например, Sinn Féin, тратившая до €10 тыс. в день) возвращает ноль результатов. Архив создавался после скандалов вокруг Brexit и выборов Трампа для прозрачности и исторической фиксации кампаний. Его удаление подрывает подотчётность, память и демократические процессы.

by doener • 29 сентября 2025 г. в 07:57 • 205 points

ОригиналHN

#google#political-advertising#eu-regulations#bigquery#data-archiving#data-transparency

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

  • Пользователи критикуют ожидание, что корпорации (вроде Google) бесплатно и вечно архивируют данные, и подчеркивают личную ответственность за сохранение важной информации.
  • Высказывается предположение, что удаление архива политической рекламы связано с новыми регуляциями ЕС и желанием Google избежать рисков и издержек.
  • Отмечается, что Google заработал на этой рекламе, и его решение удалить архив, когда он стал невыгоден, воспринимается как циничное.
  • Обсуждается роль крупных tech-компаний как де-факто хранителей цифрового пространства и возможная необходимость государственного регулирования их архивной политики.
  • Приводятся технические детали: данные ещё доступны в BigQuery в течение 7 дней, и участники призывают сообщество к их срочному сохранению.

Queueing to publish in AI and CS (damaru2.github.io)

Система публикаций в ИИ и CS с низким фиксированным процентом принятия работает как очередь: авторы бесконечно пересылают отклонённые работы. Модель показывает, что снижение acceptance rate с 35% до 20% почти не отсеивает больше плохих статей — их доля среди заброшенных растёт лишь с ~60% до ~77%. Зато резко увеличивается нагрузка на рецензентов (на 46%) и число забракованных средних работ — с ~4% до ~24%.

Ключевой вывод: ужесточение критериев незначительно улучшает качество публикаций, но непропорционально увеличивает объём рецензирования и случайно отсеивает много достойных работ. Система становится неэффективной: авторы и рецензенты тратят время впустую, а итоговый объём принятых статей остаётся прежним.

by damaru2 • 29 сентября 2025 г. в 07:50 • 83 points

ОригиналHN

#llm#cs#research#publication#peer-review

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

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

What is “good taste” in software engineering? (seangoedecke.com) 🔥 Горячее 💬 Длинная дискуссия

Хороший вкус в разработке — это не техническое умение, а способность выбирать набор инженерных ценностей, подходящих конкретному проекту. В отличие от навыков, которые можно развить учёбой и практикой, вкус формируется через личный опыт и предпочтения. Например, одни разработчики ценят читаемость кода с map и filter, другие — производительность for-циклов, и это различие отражает их приоритеты, а не уровень компетенции.

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

by olayiwoladekoya • 29 сентября 2025 г. в 06:41 • 302 points

ОригиналHN

#software-engineering#software-development#best-practices#code-readability#performance#scalability

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

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

Zero ASIC releases Wildebeest, the highest performance FPGA synthesis tool (zeroasic.com)

Компания Zero ASIC выпустила Wildebeest — инструмент синтеза для FPGA с рекордной производительностью, который впервые в opensource-сообществе сокращает разрыв в качестве результатов (QoR) с проприетарными аналогами. Ключевые инновации включают адаптацию алгоритмов синтеза под размер схемы, использование передовых команд abc9 для минимизации глубины логики и опору на обширный бенчмарк-набор из 150+ тестов. Разработку возглавил Тьерри Бессон, привнёсший 30-летний опыт создания коммерческих решений.

Wildebeest демонстрирует превосходство над ведущими коммерческими и opensource-инструментами: например, для picorv32 он использует на 20% меньше LUT, чем лучший проприетарный конкурент, при сравнимой глубине логики. Проект развивается при поддержке сообщества через открытый бенчмарк LogikBench, а в планах — дальнейшее улучшение QoR для полного преодоления технологического отрыва коммерческих инструментов.

by stefanpie • 29 сентября 2025 г. в 03:45 • 173 points

ОригиналHN

#fpga#synthesis#opensource#yosys#benchmarks#logic-synthesis#asic#picorv32#logikbench

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

  • Открытые инструменты синтеза ценятся за отсутствие громоздких сред разработки, в отличие от проприетарных решений.
  • Новый плагин для Yosys представлен как отдельный инструмент, но вызывает вопросы из-за ограниченной поддержки архитектур и отсутствия интеграции с основным проектом.
  • Результаты бенчмарков подвергнуты критике за некорректное сравнение разных архитектур FPGA (LUT6 vs LUT4) и отсутствие данных о реальных устройствах.
  • Открытые инструменты всё ещё отстают от проприетарных из-за отсутствия документации по битстримам и маршрутизации для популярных FPGA.
  • Снижение логической глубины не всегда ведёт к повышению частоты, так как ключевым фактором задержки часто является маршрутизация, а не логика.

I built ChatGPT with Minecraft redstone [video] (youtube.com) 🔥 Горячее

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

Платформа регулируется условиями использования, политикой конфиденциальности и мерами безопасности, включая объяснение работы YouTube. Пользователи могут тестировать новые функции, а также доступны предложения вроде NFL Sunday Ticket. Все права защищены до 2025 года.

by ghuntley • 29 сентября 2025 г. в 03:22 • 409 points

ОригиналHN

#minecraft#redstone#llm#mchprs#turing-complete#youtube

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

  • В Minecraft создана работающая модель языкового моделирования (LLM) с 5 млн параметров, генерирующая текст со скоростью 1 токен в 2 часа.
  • Проект реализован на редстоуне без использования командных блоков, но с применением внешних инструментов для программного размещения блоков.
  • Сообщество обсуждает техническую реализацию, включая специализированный серверный софт (MCHPRS) и оптимизацию редстоун-схем.
  • Многие пользователи изначально восприняли заголовок как кликбейт, но были впечатлены реальным воплощением идеи.
  • Обсуждение также затрагивает теоретические аспекты, такие как тьюринг-полнота Minecraft и сравнение с другими проектами (например, CPU в игре).

F-Droid and Google’s developer registration decree (f-droid.org) 🔥 Горячее 💬 Длинная дискуссия

F-Droid уже 15 лет предоставляет безопасный каталог свободных приложений для Android, проверяя исходный код на отсутствие скрытых функций вроде трекеров и рекламы. Каждое приложение собирается из открытого кода и подписывается, гарантируя прозрачность и защиту от вмешательства. В отличие от коммерческих магазинов, где распространены шпионские программы, F-Droid обеспечивает конфиденциальность — например, погодные приложения не передают данные брокерам.

Новая политика Google требует от разработчиков централизованной регистрации с оплатой, верификацией личности и привязкой идентификаторов приложений. Это угрожает существованию F-Droid, который не может ни принудить авторов к регистрации, ни присвоить их идентификаторы. Реализация правил лишит пользователей тысяч проверенных приложений и подорвет доверие к открытому ПО.

by gumby271 • 29 сентября 2025 г. в 02:10 • 1290 points

ОригиналHN

#f-droid#android#gplv3#sideloading#grapheneos#pureos#pwa#google

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

  • Участники выражают серьёзную озабоченность новыми правилами Google, которые угрожают существованию независимых магазинов приложений, таких как F-Droid, и возможности сторонней установки (sideloading).
  • Многие видят в этом шаге конец открытости Android, усиление контроля корпораций над пользователями и потенциальную угрозу цифровым свободам, включая развитие открытого ПО.
  • Обсуждаются возможные последствия: уход разработчиков с платформы, необходимость перехода на альтернативные ОС (например, GrapheneOS, PureOS), а также потенциальные конфликты с лицензиями вроде GPLv3.
  • Высказывается мнение, что проблема требует законодательного решения на уровне государств (особенно ЕС) для защиты права пользователей запускать любое ПО на своих устройствах.
  • Некоторые видят выход в развитии прогрессивных веб-приложений (PWA) и мобильных версий Linux как альтернативы закрытым экосистемам.

Primer on FedEx's Distribution Network (2024) (ontheseams.substack.com)

by hyperific • 29 сентября 2025 г. в 01:18 • 125 points

ОригиналHN

#fedex#ups#logistics#supply-chain#distribution-networks

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

  • Пользователи сообщают о частых проблемах с доставкой FedEx Ground: задержки посылок на несколько дней, ложные отметки о доставке и низкое качество службы, особенно в SF.
  • Отмечается структурная проблема: курьеры FedEx Ground являются независимыми подрядчиками, а не сотрудниками, что, по мнению комментаторов, негативно сказывается на качестве сервиса.
  • Высказывается недовольство работой службы поддержки клиентов, которая часто дает неверную информацию и избегает ответственности за сбои в доставке.
  • Некоторые пользователи предпочитают доставку в пункты выдачи, чтобы избежать проблем с "последней милей", или выбирают конкурентов (например, UPS) из-за негативного опыта.
  • Обсуждается уязвимость бизнес-модели FedEx Express из-за большого флота и фиксированных рейсов, а также потенциал автономных грузоперевозок на трассах.

Cleaning house in Nx monorepo, how i removed unused deps safely (johnjames.blog)

Автор успешно удалил около 120 неиспользуемых зависимостей в Nx-монополии, сократив время установки на минуту и уменьшив количество уязвимостей. Для этого он использовал инструмент Knip вместо устаревшего depcheck, так как он лучше работает с современными монополями и анализирует импорты и конфиги. Knip выдал список потенциально ненужных пакетов, но около 40% из них оказались ложными срабатываниями — например, зависимости использовались в скриптах, конфигах Jest или CSS.

Процесс включал удаление кандидатов, последующую проверку сборки, тестов и запуска приложений, а затем восстановление пакетов, которые оказались нужны, с добавлением их в ignore-лист Knip. Автор настроил конфиг под монополию, игнорируя специфичные для проектов ложные срабатывания. Изменения были мержены одной партией в тихое время с предварительным деплоем в preview-ветку для проверки. В будущем планируется интегрировать Knip в CI для предотвращения накопления мусора.

by birdculture • 29 сентября 2025 г. в 01:12 • 78 points

ОригиналHN

#nx#monorepo#knip#dependency-management#javascript#npm

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

  • Обсуждаются причины накопления неиспользуемых зависимостей: невнимательность разработчиков, множественные рефакторинги, устаревшие библиотеки в монорепозиториях и автоматическое добавление пакетов без контроля.
  • Участники отмечают, что инструменты вроде Knip помогают выявлять мертвые зависимости и файлы, но не оценивают качество кода, и окончательное решение остается за человеком.
  • Экосистема и практики разработки (например, pip freeze или npm install без проверки) поощряют накопление лишних пакетов.
  • В больших и старых проектах, особенно с микросервисами и смешанными стеками, "хлам" накапливается быстро из-за миграций и отсутствия регулярной очистки.
  • Некоторые видят в постоянной борьбе с кликбейтом и переименованиях заголовков раздражающий и непродуктивный аспект обсуждений.