Hacker News Digest

Тег: #medium

Постов: 7

The state of SIMD in Rust in 2025 (shnatsel.medium.com)

В 2025 году SIMD в Rust продолжает развиваться, предлагая значительный прирост производительности до 64x для операций с u8 на современных процессорах. Основная проблема - фрагментация наборов инструкций: ARM использует обязательный NEON (128 бит), WebAssembly - 128-bit packed SIMD, а x86 имеет сложную иерархию от SSE2 до AVX-512 (512 бит). Для x86 разработчики выбирают между указанием target-cpu (например, x86-64-v3) и использованием function multiversioning для поддержки различных процессоров.

В Rust существует четыре подхода к SIMD: автоматическая векторизация (самый простой), продвинутые итераторы, портируемые абстракции и сырые интринсики. В то время как ARM стандартизировал NEON, а WebAssembly требует компиляции двух бинарных файлов, x86 остается самой сложной платформой из-за множества расширений и необходимости обеспечения обратной совместимости.

by ashvardanian • 05 ноября 2025 г. в 18:45 • 217 points

ОригиналHN

#arm#c##c++#medium#neon#rust#simd#wasm#x86

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

  • Обсуждение показало, что Rust пока не может предложить стабильный и удобный способ работы с SIMD, в отличие от C# и C++.
  • Основная причина — std::simd всё ещё в nightly, а стабильная альтернатива отсутствует.
  • Участники также отметили, что даже в ночной ветке API нестабилен и может измениться, что делает его использование в production-окружениях проблематичным.
  • Некоторые участники выразили обеспокоенность тем, что отсутствие стабильной SIMD-поддержки может отпугнуть потенциальных пользователей Rust, особенно в областях, где эффективное использование SIMD критично.
  • В то же время, другие участники подчеркнули, что Rust всё ещё молодой язык и что сообщество может в конце концов решить эту проблему, как это было с другими функциями в прошлом.

Backpropagation is a leaky abstraction (2016) (karpathy.medium.com) 🔥 Горячее

Карпати утверждает, что понимание обратного распространения ошибки (backprop) критически важно, несмотря на автоматизацию в фреймворках вроде TensorFlow. Он называет backprop "утечкой абстракции" — опасно верить, что просто соединяя слои, можно "магически" обучить сеть. Студенты курса CS231n жаловались на ручную реализацию backprop в numpy, но Карпати настаивает: без понимания математики невозможно диагностировать проблемы обучения.

Яркий пример — сигмоидные функции. При плохой инициализации весов сигмоиды "насыщаются" (выходы близки к 0 или 1), делая локальный градиент z*(1-z) равным нулю. Это полностью останавливает обучение. Даже при нормальных условиях градиент сигмоиды не превышает 0.25 (при z=0.5), что означает его 4-кратное ослабление при каждом проходе. Для сетей с сигмоидами нижние слои учатся значительно медленнее верхних.

by swatson741 • 02 ноября 2025 г. в 05:20 • 321 points

ОригиналHN

#backpropagation#machine-learning#medium#numpy#sigmoid#tensorflow

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

  • Обсуждение вращается вокруг статьи Карпати "Yes, you should understand backprop" и его тезиса о том, что понимание backprop важно, даже если вы никогда не будете писать его вручную.
  • Участники спора сомневаются в ценности этого подхода, указывая на то, что современные фреймворки и высокоуровневые абстракции делают знание деталей неактуальным.
  • Некоторые участники подчеркивают, что даже если вы не будете реализовывать backprop вручную, понимание принципов работы оптимизаторов и функций активации важно для отладки и проектирования моделей.
  • Обсуждение также затрагивает вопрос о том, насколько важно понимать детали, когда вы пользуетесь высокоуровневыми инструментами, и какие уровни абстракции считаются приемлемыми.
  • В конце концов, спор сводится к тому, что хотя фундаментальное понимание важно, но не стоит забывать, что большинство практических задач будут решаться с помощью высокоуровневых инструментов и фреймворков.

A years-long Turkish alphabet bug in the Kotlin compiler (sam-cooper.medium.com)

В Kotlin-компиляторе скрыта ошибка, срабатывающая при сборке проекта в турецкой локали. Из-за неё при попытке скомпилировать код в турецкой локали возникает ошибка парсинга XML от компилятора: строчка var category: CompilerMessageSeverity? = CATEGORIES[qName.toLowerCase()] в функции CompilerOutputParser некорректно обрабатывает турецкий символ I (U+0049), который при приведении к нижнему регистру становится не i (U+0069), а ı (U+0131) — точкой надстрочного i без точки. Из-за этого ключ i не находится в словаре CATEGORIES, и код ошибочно считает, что это неизвестный тег, и выдаёт сообщение об ошибке.

Ошибка скрывалась в коде с 2016 по 2021 год, пока не была обнаружена и исправлена. Теперь код корректно использует локально-независимый toLowerCase(Locale.ROOT), и проблема решена. Это яркий пример того, как тонкости локализации могут вызывать ошибки в интернационализированном ПО, особенно при обработке текста.

by Bogdanp • 12 октября 2025 г. в 17:02 • 135 points

ОригиналHN

#compiler#internationalization#kotlin#localization#medium#xml

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

  • Проблема "турецкое I" встречается везде, где не указывается локаль при работе со строками, и это приводит к багам, когда вместо "I" в турецкой локали превращается в "ı" (без точки) и наоборот.
  • Современные языки и фреймворки должны предоставлять единообразные и предсказуемые API, но вместо этого они вынуждают разработчиков указывать локаль каждый раз, что приводит к ошибкам.
  • Пользователи с турецкой локалью страдают от багов, которые не могут быть обнаружены автоматически, потому что большинство разработчиков тестируют только на английской локали.
  • Это также является примером более широкой проблемы: API-функции, которые не принимают Locale параметр, вместо этого полагаясь на дефолтной локали, что может привести к ошибкам.

Meta-analysis of 2.2M people: Loneliness increases mortality risk by 32% (lightcapai.medium.com) 🔥 Горячее

Хроническое одиночество повышает риск смертности на 32% и деменции на 31%, что сопоставимо с курением или ожирением. Исследования с участием 2,2 млн человек показывают, что оно запускает биологические механизмы — хроническое воспаление, дисфункцию иммунной системы и эпигенетические изменения, — которые физически разрушают организм.

Эффективные решения существуют: комбинация когнитивно-поведенческой терапии, осознанности и общественных программ сокращает одиночество на 48% всего за полгода. Структурные программы осознанности снижают ежедневное чувство изоляции на 22%, а социальные инициативы вроде британского социального назначения уже охватили 9,4 млн визитов к врачам. Каждый вложенный фунт приносит £3,42 экономии на здравоохранении, доказывая, что эпидемия одиночества не только изучена, но и излечима.

by WASDAai • 29 сентября 2025 г. в 13:25 • 310 points

ОригиналHN

#cognitive-behavioral-therapy#epidemiology#healthcare#medium#mental-health#meta#mindfulness#public-health#social-isolation#social-programs

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

  • Участники обсуждают корреляцию между одиночеством и повышенным риском смертности, указывая на возможную обратную причинно-следственную связь (плохое здоровье ведет к изоляции).
  • Поднимаются практические аспекты одиночества: отсутствие помощи при чрезвычайной ситуации, самоизоляция из-за болезней и негативного опыта общения.
  • Предлагаются решения: создание межпоколенческих сообществ, волонтерские программы (например, Cycling Without Age) и необходимость структурных изменений в обществе.
  • Высказывается скептицизм относительно некоторых предлагаемых решений (например, осознанность) и качества исследований, упомянутых в исходной статье.
  • Обсуждается разница между социальной изоляцией (объективное отсутствие контактов) и чувством одиночества (субъективное переживание).

Weaponizing Ads: How Google and Facebook Ads Are Used to Wage Propaganda Wars (medium.com)

Государства превратили Google и Facebook в оружие пропаганды.
В конце 2024 г. глава агентства ООН по помощи Газе обнаружил: поиск «UNRWA» в Google выдаёт на первом месте платное объявление Израиля, копирующее сайт ООН, но ведущее на правительственную страницу с обвинениями в поддержке терроризма. Комиссар Филипп Лазарини назвал это «информационным оружием» и потребовал регулирования.

Как работает схема

  • Рекламные кабинеты Google и Meta позволяют точно таргетировать аудиторию по ключевым словам, геолокации, интересам и демографии.
  • В отличие от обычных постов, реклама гарантированно показывается миллионам, если кто-то платит.
  • Платформы запрещают дезинформацию и «опасный контент», но правила обходятся: ключи пишутся с ошибками, лендинги маскируются под СМИ, а «политическим» считается только объявление, поданное внутри страны.

Кейсы

  1. Израиль – Газа 2024: десятки поисковых объявлений дискредитируют UNRWA, Human Rights Watch и Bellingcat; CTR до 18 %, бюджеты – сотни тысяч долларов.
  2. Россия – 2016 и далее: фабрика троллей покупает рекламу на Facebook, YouTube и Google, раскалывая американских избирателей по расовым и оружейным темам.
  3. Филиппины – 2022: дезинформация против журналистов Рапплер финансировалась государственным фондом; объявления показывались только жителям Манилы.
  4. США – 2020: кампания Трампа и республиканцев запускает «Stop the Steal»-рекламу до и после выборов, обходя собственные же запреты Facebook на «преждевременные итоги».

Почему пропускают

  • Деньги: политика и кризисы – высокооплачиваемые темы.
  • Масштаб: 8 млн активных рекламодателей в Google, 10 млн в Meta; модерация – автоматическая + аутсорс.
  • Юрисдикция: законы о «политической» рекламе действуют внутри стран, а кампании часто запускаются из-за рубежа.
  • Прозрачность: библиотеки объявлений не показывают таргетинг и бюджеты в реальном времени.

Последствия

  • Подрыв доверия к независимым организациям и СМИ.
  • Рост насилия и поляризации на местах.
  • Искажение исторической памяти: поиск «Холокост» уже выдаёт рекламу отрицающих.

Что делать

  1. Платформы: расширить категорию «политика» до любого государственного заказчика; показывать полный таргет и бюджет; вводить «кулдаун» перед публикацией спорных объявлений.
  2. Регуляторы: требовать предварительного уведомления о крупных кампаниях (>50 тыс. долл.), как это сделано для ТВ.
  3. Пользователи: ставить блокировщики рекламы, проверять лендинги через WHOIS, жаловаться на заведомо ложные объявления.

Итог
Пока рекламные алгоритмы остаются прибыльной «серой зоной», поиск и соцсети будут продолжать превращаться в поле боя, где побеждает тот, кто заплатит больше.

by bhouston • 09 сентября 2025 г. в 12:34 • 140 points

ОригиналHN

#google#medium#meta

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

  • Участники обсуждают, как Google и Meta становятся каналами для государственной пропаганды, включая Израиль и Венгрию, и почему это опасно.
  • Одни считают, что реклама = пропаганда, платформы не несут ответственности, а значит — блокируй всё.
  • Другие предлагают регулировать платформы, но опасаются, что следующий авторитарный лидер возьмёт рычаги в свои руки.
  • Третьи напоминают: корпорации просто идут туда, где деньги и власть, независимо от «прогрессивных» лозунгов.

Do things that don't scale, and then don't scale (derwiki.medium.com) 🔥 Горячее 💬 Длинная дискуссия

  • Старая мантра: «Делай то, что не масштабируется». Раньше это был первый шаг к будущему росту.
  • Новая реальность: с GPT и Cursor вы просто останавливаетесь на первом шаге. Проект, который раньше занимал выходные, теперь собирается за вечер. Если он решает задачу для меня и пары друзей — уже успех.

Маленький Slack

Сто человек, 15–20 активных в неделю. Все знают друг друга в лицо, делятся тем, что не выложишь в паблик. Добавить ещё 900 — и интимность исчезнет. Рост ухудшит продукт.

PostcardMailer

Первый вариант: пост в Instagram → автопочтовая открытка маме. API убили, сделал загрузку вручную. Появились спам и Tor — закрыл регистрацию. Heroku устарел — переписал на e-mail:
фото → mom@postcardmailer.us, подпись в теме. Никаких сайтов, паролей, публичного доступа.

Landline-напоминалка

Мама без смартфона, только стационарный. Скрипт на Twilio звонит трижды в день: «Время таблеток», через 10 минут — «Точно приняли?». Стоит копейки, написано за вечер. Масштабировать — значит влезать в чужие семьи и суды. Версия «только для мамы» — идеальна.

Формула

  1. Заметить свою боль.
  2. Собрать минимальное решение.
  3. Оставить его маленьким.

by derwiki • 16 августа 2025 г. в 17:33 • 464 points

ОригиналHN

#heroku#llm#medium#pet-projects#scaling#startups#twilio

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

  • Участники обсуждают, что делать «вещи, которые не масштабируются», стало проще и приятнее благодаря ИИ-ассистентам: они ускоряют прототипирование и снижают порог входа.
  • Однако многие отмечают: такие pet-проекты существовали и до LLM; настоящая ценность ИИ — в преодолении «белого листа» и экономии времени, а не в изобретении самого подхода.
  • Тезис «не обязано масштабироваться» применим не только к хобби, но и к компаниям: можно быть прибыльным «Small Giant» вместо гонки за «хоккейной клюшкой».
  • Массовый рост часто убивает атмосферу и узнаваемость сообщества, поэтому «остаться малым» — осознанный выбор.
  • Итог: ИИ дал миллионам возможность быстро готовить «home-cooked apps» для себя и узкого круга, не ставя задачи покорить рынок.

MCP overlooks hard-won lessons from distributed systems (julsimon.medium.com) 🔥 Горячее 💬 Длинная дискуссия

MCP игнорирует 40 лет опыта RPC и обрекает компании на сбои

Проблема
Model Context Protocol (MCP) позиционируется как «USB-C для ИИ», но жертвует надежностью ради простоты. Компании внедряют его в продакшен, не осознавая, что в основе лежит архитектура без базовых механизмов, которые считаются обязательными в RPC-системах с 1982 г.

4 пропущенных урока

  1. Типы данных
    UNIX RPC (1982) ввёл XDR и IDL, чтобы 32-битное целое не превратилось в мусор на другой архитектуре. MCP использует схематичный JSON: проверка типов происходит в рантайме, если вообще происходит. В результате ИИ-трейдер может ошибиться в десятичном разряде, а медицинский ассистент — перепутать дозировку.

  2. Кросс-языковая совместимость
    CORBA (1991) генерировала привязки под C++, Java, Python и т. д., гарантируя, что исключение на сервере корректно обработается клиентом. MCP оставляет реализацию на усмотрение каждого языка: Python и JavaScript по-разному кодируют Unicode и float, что ведёт к тихим ошибкам интеграции.

  3. Безопасность и версионирование
    gRPC и SOAP научились:

    • TLS/mTLS по умолчанию
    • строгая обратная совместимость через IDL
    • единое управление ошибками и таймаутами
      MCP не требует шифрования, не описывает, как менять контракт, и не стандартизирует retry-логику. Каждый инструмент решает сам, как сообщать об ошибке.
  4. Масштабирование и наблюдаемость
    Современные RPC-фреймворки включают распределённый трейсинг, rate-limiting, circuit breaker. MCP не предоставляет ни метрик, ни механизмов отказоустойчивости. При миллионах вызовов в день компании получают «чёрный ящик», который нельзя отладить и который падает при первой же нагрузке.

Итог
Простота MCP полезна для прототипов, но в продакшене превращается в долговременный техдолг. Пока MCP не добавит IDL, строгие типы, безопасность и наблюдаемость, внедрять его в критичных системах — значит повторять ошибки, которые отрасль исправляла последние 40 лет.

by yodon • 09 августа 2025 г. в 14:42 • 342 points

ОригиналHN

#corba#http#idl#json#json-schema#medium#rpc#unix#xdr

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

  • Критики считают MCP «USB-C для ИИ»: универсальным, но с расплывчатыми стандартами и слабой типизацией.
  • Сторонники отвечают: именно минимализм JSON-over-HTTP обеспечил быструю массовую adoption, в отличие от громоздких SOAP/CORBA.
  • Спор о схемах: MCP поддерживает JSON Schema, но валидация не обязательна, поэтому ошибки типов всплывают только в рантайме.
  • Поднимаются темы безопасности и трейсинга: нет встроенного аудита вызовов и расходов, что критично для enterprise.
  • Общий вывод: MCP сейчас «хорошо достаточно» для веба, но для регулируемых или высоконагруженных сред потребуется или доработка, или новая спецификация.