Hacker News Digest

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

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

How I, a beginner developer, read the tutorial you, a developer, wrote for me (anniemueller.com) 🔥 Горячее 💬 Длинная дискуссия

Нетехнический пользователь сталкивается с типичной проблемой: туториал для начинающих написан разработчиком, который не учитывает реальный уровень новичка. Автор иронично описывает, как инструкция изобилует жаргонизмами вроде «Shoobababoo» и «Snarfus», предполагает знание скрытых системных папок и содержит запутанные команды терминала без пояснений. Ключевой момент — осознание, что даже после семи часов поисков и 193 запросов в интернете шаг «Boop!» кажется достижением, хотя суть решения остаётся непонятной. Практический вывод: обучающие материалы должны проверяться на реальной аудитории, иначе они превращаются в пародию, несмотря на благие намерения автора.

by wonger_ • 22 сентября 2025 г. в 01:27 • 776 points

ОригиналHN

#documentation#tutorials#user-experience#technical-writing

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

  • Рекомендуется тестировать документацию на новичках или людях с минимальным опытом, наблюдая за их трудностями без помощи, чтобы выявить пробелы и неявные предположения.
  • Многие руководства написаны разработчиками для других разработчиков в той же экосистеме и предполагают базовый уровень знаний, что может быть неочевидно для настоящих новичков.
  • Проблема усугубляется "проклятием знания" — авторам сложно представить, что неизвестно читателю, что приводит к пропуску важных шагов, контекста и объяснения базовых концепций.
  • Эффективная документация должна четко определять целевую аудиторию, предварительные требования, предоставлять конкретные примеры кода и работать в строго определенном окружении, чтобы избежать "гниения" инструкций.
  • Решения включают в себя итеративную обратную связь от новых пользователей, удаление ненужного жаргона, использование интерактивных элементов и явное указание альтернатив для разных сред и инструментов.

We Politely Insist: Your LLM Must Learn the Persian Art of Taarof (arxiv.org)

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

Модели без такого обучения часто воспринимают таароф буквально, что ведёт к неловким или оскорбительным ситуациям. Например, на предложение «останьтесь на обед» правильный ответ — вежливый отказ, а не прямое согласие. Интеграция таарофа улучшит взаимодействие ИИ в мультикультурных контекстах, подчеркнув важность культурной специфики в NLP.

by chosenbeard • 22 сентября 2025 г. в 00:31 • 134 points

ОригиналHN

#machine-learning#natural-language-processing#cultural-context#llm#linguistics#social-norms#communication-protocols#arxiv

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

  • Обсуждается опасность обучения LLM на культурных нормах вроде персидского таарофа и кетмана (искусства ритуальной вежливости и скрытности), так как это может усилить деceptiveness моделей.
  • Участники проводят параллели с другими культурами: ирландской, норвежской, японской (имаваси), западной вежливостью и теорией вежливости в лингвистике, отмечая универсальность косвенности в коммуникации.
  • Высказываются опасения, что LLM, будучи обученными в основном на западных данных, плохо справляются с восточными культурными тонкостями, и их вежливость часто выглядит неестественно или "слишком по-продажному".
  • Отмечается, что низкий человеческий бенчмарк (81.8%) для таарофа демонстрирует сложность даже для носителей, а также что модели могут стереотипизировать поведение, оправдывая его гендером, а не культурным контекстом.
  • Поднимается вопрос о том, что такие ритуалы служат социальным фильтром и способом демонстрации эмоционального интеллекта, а их сложность — часть культурной идентичности, которую ИИ может не уловить без достаточных данных и тонкой настройки.

Be careful with Go struct embedding (mattjhall.co.uk)

Встраивание структур в Go позволяет обращаться к полям вложенных структур напрямую, но может приводить к неожиданным конфликтам имён. Например, если две вложенные структуры содержат поле с одинаковым именем, компилятор не выдаст ошибку, а выберет поле из наименее вложенной структуры — в примере opts.URL вернёт "abc.com", хотя ожидалась неоднозначность.

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

by mattjhall • 21 сентября 2025 г. в 23:16 • 105 points

ОригиналHN

#go#struct#programming#design#composition

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

  • Критика структуры Go за разрешение конфликтов имён полей при вложении структур, что может приводить к неочевидным ошибкам.
  • Предложения считать такие случаи ошибкой компиляции или, как минимум, выдавать предупреждения через линтеры.
  • Отмечается, что поведение соответствует спецификации (выбирается поле с наименьшей глубиной вложения), но это противоречит интуиции некоторых разработчиков.
  • Приводятся аргументы за и против использования вложения структур: полезно для композиции методов, но опасно для данных.
  • Обсуждается историческое происхождение фичи из Plan 9 C и её потенциальная полезность в ограниченных сценариях.

Why is Venus hell and Earth an Eden? (quantamagazine.org) 💬 Длинная дискуссия

Венера и Земля, схожие по размеру и массе, демонстрируют радикально разные условия: на Венере — адские 460°C и давление в 92 раза выше земного, а на Земле — умеренный климат, пригодный для жизни. Главная причина — парниковый эффект: Венера, ближе к Солнцу, потеряла воду из-за интенсивного ультрафиолетового излучения, что привело к накоплению CO₂ и необратимому перегреву. Земля же сохранила океаны, которые поглощают углекислый газ и регулируют температуру.

Ключевым фактором стало наличие тектоники плит на Земле, которая перерабатывает углерод, и магнитного поля, защищающего атмосферу от солнечного ветра. На Венере же вулканическая активность, возможно, вызвала катастрофический выброс CO₂, усилив парниковый эффект. Это подчёркивает хрупкость земного климата и риски unchecked выбросов парниковых газов.

by pseudolus • 21 сентября 2025 г. в 22:56 • 173 points

ОригиналHN

#geology#climate#astronomy#planetary-science#astrobiology#greenhouse-effect#carbon-dioxide#solar-system#space-exploration#terrraforming

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

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

Zig got a new ELF linker and it's fast (github.com)

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

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

by Retro_Dev • 21 сентября 2025 г. в 22:40 • 93 points

ОригиналHN

#zig#elf#compilers#linkers#c#c++#cross-compilation#object-files#build-systems#github

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

  • Участники высоко оценивают Zig как компилятор для C/C++ и инструмент кросс-компиляции за его простоту и самодостаточность.
  • Отмечается мощная вертикально интегрированная система сборки Zig, включающая линкер и бэкенды генерации кода, что открывает возможности для оптимизаций.
  • Обсуждаются ограничения использования линкера Zig (elf2) и самого компилятора вне экосистемы Zig, а также отсутствие неструктурированного goto.
  • Некоторые пользователи выражают смешанные чувства: язык делает многое правильно, но отдельные изменения и особенности вызывают сомнения.
  • Упоминается книга "Linkers and Loaders" и общее оживление в области разработки линкеров (ренессанс).

How can I influence others without manipulating them? (andiroberts.com) 💬 Длинная дискуссия

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

Часто мы бессознательно полагаемся на один привычный стиль, что создаёт «слепое пятно»: мы misinterpretуем чужое поведение как сопротивление, хотя люди просто ждут иного подхода. Например, данные не убедят того, кого мотивируют эмоции. Расширение диапазона влияния требует самокритики и гибкости — умения «подойти к их двери», а не ждать у своей. Практический вывод: начните с анализа собственного предпочтения, затем учитесь распознавать сигнаторы других и адаптировать стиль, сохраняя искренность.

by kiyanwang • 21 сентября 2025 г. в 22:20 • 184 points

ОригиналHN

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

  • Убеждение в добросовестном диалоге требует взаимного уважения, готовности изменить свою позицию и искреннего стремления понять сильные аргументы другой стороны.
  • Влияние и манипуляция часто воспринимаются как схожие процессы, но ключевое различие заключается в намерении: манипуляция предполагает недобросовестность, скрытые мотивы или действия против интересов собеседника.
  • Эффективная коммуникация строится на активном слушании, поиске взаимовыгодных решений (win-win), честности и установлении человеческой связи, а не на попытках убедить любой ценой.
  • Многие участники дискуссии считают, что любое влияние — это форма манипуляции, и важность имеет лишь моральный компас инициатора и прозрачность его намерений.
  • Успешное влияние часто достигается не прямым убеждением, а помощью в преодолении препятствий, подтверждением чужих идей и снижением когнитивного сопротивления.

My new Git utility `what-changed-twice` needs a new name (blog.plover.com)

Разработана утилита для Git, которая показывает изменения между двумя коммитами, исключая изменения, общие для обоих. Она помогает анализировать, какие именно правки были внесены в двух разных версиях, убирая пересекающиеся модификации. Это полезно при сравнении веток или при отслеживании вклада разных разработчиков.

Автор ищет новое название для инструмента, так как текущее what-changed-twice кажется ему слишком длинным и неудобным. Он открыт для предложений, которые лучше отражают суть утилиты — сравнение изменений с исключением общих частей.

by jamesbowman • 21 сентября 2025 г. в 21:59 • 76 points

ОригиналHN

#git#version-control#command-line-tools#software-development#code-analysis

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

  • Обсуждаются варианты названия для утилиты, анализирующей файлы, измененные более одного раза в коммитах (например, what-changed-twice, git-delta, git squash-report).
  • Предлагаются альтернативные инструменты с похожей функциональностью, такие как git absorb, который автоматически вносит изменения в предыдущие коммиты.
  • Упоминается алгоритм "gather" как потенциальная аналогия для процесса группировки изменений.
  • Отмечается практическая польза утилиты для изоляции часто изменяемых файлов и упрощения ребейза.
  • Подчеркивается, что подобные утилиты можно реализовать как отдельные исполняемые файлы в PATH с префиксом git- для интеграции с Git.

Lightweight, highly accurate line and paragraph detection (arxiv.org)

Новая модель на основе графовых сверточных сетей (GCN) решает задачу одновременного обнаружения строк и абзацев в документах. Вместо традиционных методов, которые обрабатывают эти элементы отдельно, подход объединяет их в единую структуру, где узлы графа представляют текстовые блоки, а связи отражают пространственные и семантические отношения. Это позволяет точнее определять логическую структуру документа, учитывая контекст и взаимодействие между строками и абзацами.

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

by colonCapitalDee • 21 сентября 2025 г. в 21:18 • 132 points

ОригиналHN

#graph-convolutional-networks#computer-vision#document-analysis#pdf-processing#ocr#nlp#deep-learning#arxiv

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

  • Обсуждаются сложности автоматического извлечения структурированного текста (абзацы, колонки, таблицы) из PDF, особенно с рукописными документами и изображениями.
  • Упоминается, что подобная технология (анализ кластеров для группировки слов) уже давно используется в iOS для функции масштабирования PDF по тапу.
  • Участники делятся проблемами и неудачным опытом с существующими инструментами для преобразования PDF в текст.
  • Поднимается вопрос о необходимости улучшения читаемого режима в браузерах и более надежных решений для классификации страниц с таблицами.
  • Предлагаются альтернативные решения с использованием ИИ (Gemini для OCR) и отмечается ироничность того, что сама научная работа об улучшении PDF доступна в формате PDF.

Apple Silicon GPU Support in Mojo (forum.modular.com)

Mojo теперь поддерживает программирование GPU на Apple Silicon, что делает разработку GPU-ускоренных алгоритмов и AI-моделей доступнее для владельцев современных Mac. Для работы требуется macOS 15, Xcode 16 и чипы M1–M4. Пока функциональность ограничена: не работают сложные примеры вроде матричного умножения, AI-модели, PyTorch-интеграция и некоторые аппаратные возможности. Планируется доработка поддержки atomic operations, bfloat16 и других функций.

Технически код компилируется в AIR bitcode через LLVM IR, затем в .metallib через Metal-cpp API, скрыто от разработчика. Существующий код для NVIDIA/AMD GPU должен работать, но для максимальной производительности потребуются оптимизации под архитектуру Apple. Документация и открытый вклад ожидаются позже, когда базовая инфраструктура будет стабилизирована.

by mpweiher • 21 сентября 2025 г. в 20:35 • 113 points

ОригиналHN

#mojo#apple-silicon#gpu-programming#metal#llvm#pytorch#python#deep-learning#apple

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

  • Обсуждение касается языка Mojo и его потенциала в области глубокого обучения и GPU-программирования, с акцентом на его совместимость с экосистемой Python и производительность.
  • Участники спорят о нишевости написания кастомных CUDA/Triton ядер, отмечая, что это сложно и этим занимаются немногие, но Mojo может сделать этот процесс более доступным.
  • Высказываются как скептические мнения о будущем Mojo (называя его "проектом тщеславия"), так и оптимистичные, видящие в нём важный прорыв и альтернативу существующим инструментам.
  • Поднимаются вопросы о бизнес-модели Mojo (лицензирование) и её потенциальном влиянии на открытость экосистемы, что может отпугнуть часть разработчиков.
  • Отмечается, что синтаксис Mojo, основанный на Python, является его сильной стороной для привлечения аудитории data scientists, но сама языковая модель и runtime отличаются.

A board member's perspective of the RubyGems controversy (apiguy.substack.com)

by Qwuke • 21 сентября 2025 г. в 19:20 • 97 points

ОригиналHN

#ruby#rubygems#rubycentral#security#governance#open-source

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

  • Ruby Central предприняла резкие действия по ограничению доступа к инфраструктуре RubyGems из-за требований спонсора, угрожавшего отозвать финансирование из-за проблем с безопасностью цепочки поставок.
  • Сообщество раскритиковало Ruby Central за катастрофически плохую коммуникацию, отсутствие предупреждения и прозрачности в процессе принятия решений, что привело к потере доверия.
  • Действия были технически оправданы необходимостью безопасности, но метод исполнения (внезапный "переворот" без консультаций) признан неудачным и враждебным по отношению к добровольным maintainer'ам.
  • Под вопросом остаётся независимость некоммерческой организации, которая оказалась под давлением крупных доноров, и её способность управлять критической инфраструкцией сообщества.
  • Сообщество призывает к извинениям, восстановлению доверия через честный диалог и выработке более прозрачных процессов управления, чтобы избежать раскола в будущем.