Hacker News Digest

Тег: #medium

Постов: 11

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

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

Комментарии (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#tensorflow#numpy#sigmoid#machine-learning#medium

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

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

How I stopped worrying and started loving the Assembly (medium.com)

by indyjo • 23 октября 2025 г. в 15:23 • 173 points

ОригиналHN

#assembly#cryptography#llm#robotics#medium

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

  • @mrasong отметил, что несмотря на отсутствие опыта работы с ассемблером, получил много полезной информации из статьи.
  • @jmspring поделился опытом работы с ассемблером в прошлом (включая inline-оптимизации для криптоопераций), но сейчас предпочитает использовать ИИ для решения задач.
  • @indyjo привел примеры необычных современных применений ассемблера: программирование для Atari ST в 2025 году и обучение роботов игре в DOOM.

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

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

Комментарии (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

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

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

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

I built Foyer: a Rust hybrid cache that slashes S3 latency (medium.com)

Объектные хранилища вроде Amazon S3 стали основой для современных систем данных благодаря почти неограниченной ёмкости, низкой стоимости и высокой долговечности. Однако их высокая задержка и стоимость каждого запроса создают серьёзные проблемы для приложений, требующих низкой задержки, таких как потоковые системы вроде RisingWave. Задержки в сотни миллисекунд накапливаются при частых чтениях, делая систему медленной и дорогой.

Для решения этой проблемы разработан гибридный кеш Foyer на Rust, объединяющий память и локальный диск. Он снижает количество обращений к S3, ускоряя доступ к горячим данным в памяти и тёплым — на диске, что сокращает задержки и затраты. Архитектура Foyer включает шардированный кеш в памяти для высокого параллелизма и дисковый кеш с эффективным управлением данными, координируемые единым компонентом. Это позволяет достичь баланса между скоростью и ёмкостью, критически важного для реального времени.

by Sheldon_fun • 23 сентября 2025 г. в 16:25 • 158 points

ОригиналHN

#rust#amazon-s3#caching#object-storage#latency-optimization#memory-management#risingwave#medium

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

  • Обсуждение библиотеки Foyer для гибридного кеширования (память + диск) и сравнение с альтернативами (CacheLib, rclone, S3 Mountpoint, AWS Storage Gateway).
  • Вопросы о производительности S3 и целесообразности кеширования из-за задержек и стоимости запросов.
  • Технические детали реализации: инвалидация кеша, запись в S3, поведение в гибридном и in-memory режимах.
  • Проблемы с работой сайта Medium (модальные окна, блокировка прокрутки) в Firefox.
  • Критика формата комментариев и призыв к содержательным обсуждениям.

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

#medium#google#meta

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

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

From multi-head to latent attention: The evolution of attention mechanisms (vinithavn.medium.com)

Внимание в авто-регрессивных моделях позволяет фокусироваться на релевантных токенах контекста. Например, в «The animal didn’t cross the street because it was too tired» механизм связывает «it» с «animal», а не «street».

Как работает внимание

  • Query (Q) – вектор текущего токена.
  • Key (K) – векторы контекста для сравнения.
  • Value (V) – фактические данные контекста.
  • Attention scores – веса важности, полученные из Q и K.
  • KV-кэш – повторное использование уже вычисленных K и V для ускорения декодирования.

Multi-Head Attention (MHA)

Идея: h параллельных «голов» учат разные аспекты зависимостей.
Плюсы: высокая точность.
Минусы: O(h·d²) параметров и вычислений; рост KV-кэша.


Multi-Query Attention (MQA)

Идея: одна K и V на все головы.
Плюсы: в 8–16× меньше KV-памяти, быстрее.
Минусы: качество падает.


Grouped Query Attention (GQA)

Компромисс: g групп K/V (1 ≤ g ≤ h).
Плюсы: баланс между MHA и MQA.
Минусы: всё ещё линейный рост памяти при больших g.


Multi-Latent Attention (MLA)

Идея: сжимаем K и V в небольшой латентный вектор c (dim ≪ d), из которого потом «разворачиваем» нужные K, V.
Плюсы:

  • KV-память не зависит от h и d;
  • качество как у MHA;
  • применяется в DeepSeek-V2.
    Минусы: дополнительные матрицы проекции, но выгода при больших моделях перевешивает.

Сводная таблица

Механизм Параметры KV Память KV Качество Примечание
MHA h·d·d O(hd) высокое baseline
MQA d·d O(d) быстрый
GQA g·d·d O(gd) ≈ MHA компромисс
MLA d_lat·d O(d_lat) ≈ MHA state-of-art

Вывод
Эволюция от MHA к MLA – путь к снижению памяти и вычислений без потери качества. MLA через латентные представления достигает эффективности MQA и точности MHA, задавая новый стандарт для больших языковых моделей.

by mgninad • 30 августа 2025 г. в 05:45 • 166 points

ОригиналHN

#attention-mechanisms#multi-head-attention#multi-query-attention#grouped-query-attention#multi-latent-attention#machine-learning#deep-learning#transformers#natural-language-processing#medium

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

  • Название «Attention Is All You Need» выглядело лёгким и цепляющим, но авторы не предвидели гипер-масштабного влияния; целью было лишь улучшить машинный перевод без рекуррентных блоков.
  • Некоторые считают, что броское имя помогло вирусному распространению работы, а в DL-сообществе меметические названия вообще норма (YOLO, ViT и др.).
  • Участники спорят, используют ли «фронтирные» модели описанные в статье приёмы: открытые варианты вроде Grok-2 всё ещё опираются на стандартные MHA + MoE, а основной прогресс идёт за счёт методов обучения, а не архитектуры.
  • Для чтения платных статей без регистрации советуют freedium.cfd, отключение JS или закрытие баннера-крестиком.

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

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

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

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

LLMs tell bad jokes because they avoid surprises (danfabulich.medium.com)

  • Шутка — это неожиданный, но в ретроспективе очевидный поворот.
  • Универсально смешного не существует: дети не хватает контекста, профи всё предугадывают.
  • LLM обучены минимизировать сюрприз, предсказывая «среднее» мнение; смешного не выходит.
  • Больше GPU не помогут: архитектура противоречит юмору.
  • То же касается историй: если события предсказуемы — скучно; если не вытекают друг из друга — неправдоподобно.

by dfabulich • 13 августа 2025 г. в 17:53 • 94 points

ОригиналHN

#llm#machine-learning#natural-language-processing#gemini#gpt-4#rlhf#medium

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

  • Автор статьи утверждает, что LLM плохи в шутках, потому что обучены минимизировать сюрприз; участники спорят, путая ли он «сюрприз» с «невероятностью».
  • Некоторые считают, что дело не в модели, а в пост-обработке (safety, RLHF), которая гасит остроумие.
  • Другие добавляют: юмор — это ещё доставка, контекст и ошибки мышления, а не просто текст.
  • Примеры показывают, что более крупные модели (Gemini 2.5, GPT-4.5) уже умеют быть смешными, если их хорошо спросить.
  • Вывод: проблема не в «запрете на сюрприз», а в сложности самого юмора и в текущих ограничениях систем.

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

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

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

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