No. 1,0343rd of 7 editions that day← Earlier Later →
Motorola hijacks your wallet, React faces its reckoning, and polynomials save your secrets
- Motorola phones secretly redirect Amazon app to inject affiliate codes
- jsx.lol compiles React's greatest critical hits into one devastating list
- Shamir's 1979 polynomial trick still protects secrets better than most modern crypto
1Motorola phones have started hijacking the Amazon app to insert affiliate codes :android:privacy:motorola:affiliate-fraud: 摩托罗拉手机开始劫持亚马逊应用以植入返利代码 Motorola スマホが Amazon アプリを乗っ取りアフィリエイトコードを挿入し始めた 모토로라 폰이 아마존 앱을 가로채 제휴 코드를 삽입하기 시작 Los teléfonos Motorola han comenzado a secuestrar la app de Amazon para insertar códigos de afiliado Motorola-Handys haben begonnen, die Amazon-App zu kapern, um Affiliate-Codes einzufügen ¶
54 points19 commentsHN 48274794by Cider9986
Motorola's Smart Feed app on phones including the $1,900 Razr Fold is hijacking Amazon app launches from the app drawer, briefly opening Chrome to inject an affiliate code before redirecting to Amazon. The affiliate code belongs to an unrelated fashion influencer account, and the redirect goes through 'kira-abboud.com' and 'devicenative.com' (a mobile ad company with documented Motorola integration). Fix: disable Smart Feed in Settings.
摩托罗拉的 Smart Feed 应用在包括 1900 美元的 Razr Fold 在内的手机上劫持从应用抽屉启动的亚马逊应用,短暂打开 Chrome 注入返利代码后再跳转到亚马逊。返利代码属于一个不相关的时尚网红账户,跳转通过'kira-abboud.com'和'devicenative.com'(一家有摩托罗拉合作记录的移动广告公司)。修复方法:在设置中禁用 Smart Feed。
Motorola の 1,900 ドルの Razr Fold を含むスマートフォンで、Smart Feed アプリがアプリドロワーからのアマゾンアプリ起動を乗っ取り、Chrome を一瞬開いてアフィリエイトコードを注入後 Amazon へリダイレクト。アフィリエイトコードは無関係なファッションインフルエンサーのもので、リダイレクトは'kira-abboud.com'と'devicenative.com'(Motorola との統合が文書化されているモバイル広告会社)を経由。修正方法:設定で Smart Feed を無効化。
1,900 달러짜리 Razr Fold 를 포함한 모토로라 폰의 Smart Feed 앱이 앱 서랍에서 아마존 앱 실행을 가로채, 크롬을 잠깐 열어 제휴 코드를 삽입한 후 아마존으로 리다이렉트한다. 제휴 코드는 관련 없는 패션 인플루언서 계정 것이며, 리다이렉트는 'kira-abboud.com'과 'devicenative.com'(모토로라와의 통합이 문서화된 모바일 광고 회사)을 거친다. 해결책: 설정에서 Smart Feed 비활성화.
La app Smart Feed de Motorola en teléfonos incluyendo el Razr Fold de $1,900 está secuestrando el lanzamiento de la app de Amazon desde el cajón de apps, abriendo brevemente Chrome para inyectar un código de afiliado antes de redirigir a Amazon. El código de afiliado pertenece a una cuenta de influencer de moda sin relación, y la redirección pasa por 'kira-abboud.com' y 'devicenative.com' (una empresa de publicidad móvil con integración documentada con Motorola). Solución: desactivar Smart Feed en Configuración.
Motorolas Smart Feed App auf Handys einschließlich des 1.900-Dollar Razr Fold kapert Amazon-App-Starts aus der App-Schublade, öffnet kurz Chrome um einen Affiliate-Code einzufügen, bevor zu Amazon weitergeleitet wird. Der Affiliate-Code gehört einem unverbundenen Mode-Influencer-Account, und die Weiterleitung läuft über 'kira-abboud.com' und 'devicenative.com' (eine mobile Werbefirma mit dokumentierter Motorola-Integration). Lösung: Smart Feed in den Einstellungen deaktivieren.
The take Claude, columnist
Your $1,900 phone is running affiliate fraud on itself. The plot twist where the affiliate code belongs to a random fashion influencer instead of Motorola makes this feel less like corporate greed and more like someone's side hustle got installed on millions of devices.
你 1900 美元的手机在给自己跑返利诈骗。返利代码属于一个随机时尚网红而不是摩托罗拉,这让整件事看起来不像企业贪婪,更像是某人的副业被装到了数百万台设备上。
1,900 ドルの携帯が自分自身でアフィリエイト詐欺を実行している。アフィリコードが Motorola ではなくランダムなファッションインフルエンサーのものという展開は、企業の貪欲さというより誰かの副業が数百万台のデバイスにインストールされた感がある。
1,900 달러짜리 폰이 자기 자신한테 제휴 사기를 치고 있다. 제휴 코드가 모토로라가 아닌 랜덤한 패션 인플루언서 것이라는 반전은 기업의 탐욕보다는 누군가의 부업이 수백만 대의 기기에 설치된 느낌이다.
Tu teléfono de $1,900 está ejecutando fraude de afiliados contra sí mismo. El giro donde el código de afiliado pertenece a una influencer de moda aleatoria en lugar de Motorola hace que esto se sienta menos como codicia corporativa y más como el negocio secundario de alguien que se instaló en millones de dispositivos.
Dein 1.900-Dollar-Handy betreibt Affiliate-Betrug gegen sich selbst. Der Plot-Twist, dass der Affiliate-Code einer zufälligen Mode-Influencerin statt Motorola gehört, fühlt sich weniger nach Unternehmensgierde an und mehr danach, dass jemandes Nebenjob auf Millionen von Geräten installiert wurde.
From the stands 3 of 19 comments
The redirect coming from Motorola phones is using Amazon affiliate code 'sramz-kff-008-20' which is completely different from any of the codes we saw from links shared by Abboud's accounts.
摩托罗拉手机使用的亚马逊返利代码'sramz-kff-008-20'与 Abboud 账户分享链接中的任何代码都不一样。
Motorola 端末からのリダイレクトは Amazon アフィリエイトコード'sramz-kff-008-20'を使用しており、Abboud のアカウントで共有されたリンクのコードとは全く異なる。
모토로라 폰에서 오는 리다이렉트는 아마존 제휴 코드 'sramz-kff-008-20'을 사용하는데, Abboud 계정에서 공유한 링크의 코드와 완전히 다르다.
La redirección de teléfonos Motorola usa el código de afiliado de Amazon 'sramz-kff-008-20' que es completamente diferente de cualquiera de los códigos compartidos en las cuentas de Abboud.
Die Weiterleitung von Motorola-Handys nutzt den Amazon-Affiliate-Code 'sramz-kff-008-20', der völlig anders ist als alle Codes, die von Abbouds Accounts geteilt wurden.
kayson
Since 2 years when I bought Edge 30 Fusion I started to notice they automatically add 3 stupid apps or games about two times a month. There is no way to stop it.
自从两年前买了 Edge 30 Fusion,我开始注意到他们每月自动添加两次约 3 个垃圾应用或游戏。没办法阻止。
2 年前に Edge 30 Fusion を買ってから、月に 2 回ほど自動で 3 つほどの不要なアプリやゲームが追加されることに気づいた。止める方法がない。
2 년 전 Edge 30 Fusion 을 산 이후로 한 달에 두 번 정도 자동으로 쓸데없는 앱이나 게임 3 개가 추가되는 걸 알아챘다. 막을 방법이 없다.
Desde hace 2 años cuando compré el Edge 30 Fusion, empecé a notar que automáticamente añaden 3 apps o juegos estúpidos unas dos veces al mes. No hay forma de pararlo.
Seit 2 Jahren, als ich das Edge 30 Fusion kaufte, bemerke ich, dass automatisch etwa zweimal im Monat 3 dumme Apps oder Spiele hinzugefügt werden. Es gibt keine Möglichkeit, das zu stoppen.
xzxz
This is really unethical, replacing original app shortcuts breaks trust.
这真的很不道德,替换原始应用快捷方式破坏了信任。
これは本当に非倫理的で、オリジナルのアプリショートカットを置き換えることは信頼を壊す。
이건 정말 비윤리적이다, 원래 앱 바로가기를 교체하는 건 신뢰를 깨는 행위다.
Esto es realmente poco ético, reemplazar los accesos directos originales de las apps rompe la confianza.
Das ist wirklich unethisch, das Ersetzen originaler App-Verknüpfungen bricht das Vertrauen.
risfriend
2Does anybody like React? 有人喜欢 React 吗? 誰か React 好きな人いる? React 좋아하는 사람 있어요? ¿A alguien le gusta React? Mag irgendjemand React? ¶
122 points142 commentsHN 48274077by brazukadev
jsx.lol is a curated collection of critical React articles and blog posts spanning 2023-2026, featuring takes from Alex Russell, Zach Leat, Kelly Sutton, and others. Includes React's CVSS 10.0 vulnerability in Server Components (CVE-2025-55182), performance criticisms, Next.js vendor lock-in concerns, and Silicon Valley CTOs 'secretly moving away'. The site's premise: React is the proverbial hammer making everything look like a nail.
jsx.lol 是一个精选的 React 批评文章和博客帖子集合,涵盖 2023-2026 年,包含 Alex Russell、Zach Leat、Kelly Sutton 等人的观点。包括 React Server Components 的 CVSS 10.0 漏洞(CVE-2025-55182)、性能批评、Next.js 供应商锁定担忧,以及硅谷 CTO 们'秘密迁移'。网站的前提:React 是那把让所有东西看起来都像钉子的锤子。
jsx.lol は 2023-2026 年の React 批判記事とブログ投稿のキュレーションコレクションで、Alex Russell、Zach Leat、Kelly Sutton などの見解を特集。React Server Components の CVSS 10.0 脆弱性(CVE-2025-55182)、パフォーマンス批判、Next.js ベンダーロックイン懸念、シリコンバレー CTO の'密かな移行'などが含まれる。サイトの前提:React はすべてを釘に見せる諺の金槌。
jsx.lol 은 2023-2026 년의 React 비판 기사와 블로그 포스트 큐레이션 컬렉션으로, Alex Russell, Zach Leat, Kelly Sutton 등의 견해를 담고 있다. React Server Components 의 CVSS 10.0 취약점(CVE-2025-55182), 성능 비판, Next.js 벤더 종속 우려, 실리콘밸리 CTO 들의 '비밀리에 이탈' 등이 포함된다. 사이트의 전제: React 는 모든 것을 못으로 보이게 하는 속담의 망치.
jsx.lol es una colección curada de artículos críticos de React y posts de blog que abarcan 2023-2026, con opiniones de Alex Russell, Zach Leat, Kelly Sutton y otros. Incluye la vulnerabilidad CVSS 10.0 de React Server Components (CVE-2025-55182), críticas de rendimiento, preocupaciones de vendor lock-in de Next.js, y CTOs de Silicon Valley 'moviéndose secretamente'. La premisa del sitio: React es el proverbial martillo que hace que todo parezca un clavo.
jsx.lol ist eine kuratierte Sammlung kritischer React-Artikel und Blogposts von 2023-2026, mit Beiträgen von Alex Russell, Zach Leat, Kelly Sutton und anderen. Enthält Reacts CVSS 10.0 Schwachstelle in Server Components (CVE-2025-55182), Performance-Kritik, Next.js Vendor-Lock-in-Bedenken und Silicon Valley CTOs die 'heimlich wechseln'. Die Prämisse der Seite: React ist der sprichwörtliche Hammer, der alles wie einen Nagel aussehen lässt.
The take Claude, columnist
Someone finally did the work of compiling React's greatest hits into one devastating scrollable list. It reads like a support group testimonial wall for developers who've seen things. The site is called jsx.lol, which tells you everything about the editorial stance.
终于有人做了把 React 最精彩的批评编译成一个毁灭性可滚动列表的工作。读起来像是见过世面的开发者的互助小组证词墙。网站叫 jsx.lol,这说明了一切编辑立场。
ついに誰かが React の最大のヒット曲を一つの壊滅的なスクロール可能リストにまとめる仕事をした。開発者向けサポートグループの証言壁のように読める。サイト名は jsx.lol で、編集方針がすべて分かる。
누군가 드디어 React 의 가장 큰 히트곡들을 하나의 파괴적인 스크롤 가능 리스트로 편집하는 작업을 했다. 개발자 지원 그룹 증언 벽처럼 읽힌다. 사이트 이름이 jsx.lol 인데, 편집 입장에 대해 모든 것을 말해준다.
Alguien finalmente hizo el trabajo de compilar los mayores éxitos de React en una lista devastadora y scrolleable. Se lee como un muro de testimonios de grupo de apoyo para desarrolladores que han visto cosas. El sitio se llama jsx.lol, lo que te dice todo sobre la postura editorial.
Jemand hat endlich die Arbeit gemacht, Reacts größte Hits in eine vernichtende scrollbare Liste zu kompilieren. Es liest sich wie eine Testimonial-Wand einer Selbsthilfegruppe für Entwickler, die Dinge gesehen haben. Die Seite heißt jsx.lol, was alles über die redaktionelle Haltung sagt.
From the stands 3 of 142 comments
As someone who lived through all major waves of JS for the last 16 years, I do love React, in a sense: React is the worst JS framework except for all the others we've tried.
作为一个经历了过去 16 年 JS 所有主要浪潮的人,我确实喜欢 React,某种意义上:React 是最糟糕的 JS 框架,除了我们尝试过的所有其他框架。
過去 16 年間の JS の主要な波をすべて経験した者として、ある意味 React は好きだ:React は我々が試した他のすべてを除いて最悪の JS フレームワークだ。
지난 16 년간 JS 의 모든 주요 물결을 경험한 사람으로서, 어떤 의미에서 React 를 사랑한다: React 는 우리가 시도한 다른 모든 것을 제외하면 최악의 JS 프레임워크다.
Como alguien que vivió todas las olas principales de JS durante los últimos 16 años, sí amo React, en cierto sentido: React es el peor framework JS excepto por todos los demás que hemos probado.
Als jemand, der alle großen JS-Wellen der letzten 16 Jahre erlebt hat, liebe ich React in gewisser Weise: React ist das schlechteste JS-Framework außer allen anderen, die wir ausprobiert haben.
fishtoaster
React's architecture is really good and lends itself quite well to making large applications. Unfortunately, React's biggest problem is that it forces you into the JS/TS ecosystem, which is a compilation target rather than a system I wish to use.
React 的架构确实很好,非常适合构建大型应用。不幸的是,React 最大的问题是它强迫你进入 JS/TS 生态系统,那是一个编译目标而不是我想使用的系统。
React のアーキテクチャは本当に良く、大規模アプリケーション作成に非常に適している。残念ながら、React の最大の問題は JS/TS エコシステムへの強制で、それは使いたいシステムではなくコンパイルターゲットだ。
React 의 아키텍처는 정말 좋고 대규모 애플리케이션 제작에 매우 적합하다. 안타깝게도 React 의 가장 큰 문제는 JS/TS 생태계로 강제한다는 것인데, 그건 내가 사용하고 싶은 시스템이 아니라 컴파일 대상이다.
La arquitectura de React es realmente buena y se presta muy bien para hacer aplicaciones grandes. Desafortunadamente, el mayor problema de React es que te fuerza al ecosistema JS/TS, que es un objetivo de compilación más que un sistema que deseo usar.
Reacts Architektur ist wirklich gut und eignet sich sehr gut für große Anwendungen. Leider ist Reacts größtes Problem, dass es dich in das JS/TS-Ökosystem zwingt, das eher ein Kompilierungsziel als ein System ist, das ich nutzen möchte.
suis_siva
I like React. And I have seriously tried the HTMX/Hotwire camp. I wanted to make a back button use browser APIs to go back if coming from the inbox, and I had to wire the actions from the html to call the function.
我喜欢 React。我认真尝试过 HTMX/Hotwire 阵营。我想让返回按钮使用浏览器 API 返回如果来自收件箱,结果我不得不从 html 连接动作来调用函数。
私は React が好き。HTMX/Hotwire 陣営も真剣に試した。受信箱から来た場合に戻るボタンでブラウザ API を使って戻りたかったが、HTML からアクションを配線して関数を呼び出す必要があった。
나는 React 를 좋아한다. HTMX/Hotwire 진영도 진지하게 시도해봤다. 받은편지함에서 왔을 때 뒤로가기 버튼으로 브라우저 API 를 사용해 돌아가고 싶었는데, html 에서 액션을 연결해서 함수를 호출해야 했다.
Me gusta React. Y he probado seriamente el campo HTMX/Hotwire. Quería hacer que el botón atrás use APIs del navegador para volver si viene del inbox, y tuve que conectar las acciones desde el html para llamar a la función.
Ich mag React. Und ich habe das HTMX/Hotwire-Lager ernsthaft ausprobiert. Ich wollte den Zurück-Button mit Browser-APIs zurückgehen lassen, wenn man vom Posteingang kommt, und musste die Aktionen vom HTML verdrahten, um die Funktion aufzurufen.
moojacob
3How Shamir's Secret Sharing Works Shamir 秘密分享是如何工作的 Shamir の秘密分散の仕組み Shamir 의 비밀 공유가 어떻게 작동하는가 Cómo funciona el Secreto Compartido de Shamir Wie Shamirs Secret Sharing funktioniert ¶
141 points16 commentsHN 48272715by subract
Adi Shamir (the S in RSA) published a secret-splitting technique in 1979: hide a secret where a polynomial crosses the y-axis, give each party a point on the curve. Two points determine a line (2-of-n), three points determine a parabola (3-of-n). With one share missing, every possible secret is still possible. Ente uses this for their Legacy Kit feature, where cards reconstruct a secret locally that then participates in server-mediated recovery.
Adi Shamir(RSA 中的 S)在 1979 年发布了一种秘密分割技术:将秘密隐藏在多项式与 y 轴交点处,给每方一个曲线上的点。两点确定一条直线(2-of-n),三点确定一条抛物线(3-of-n)。缺少一份时,每个可能的秘密仍然可能。Ente 将此用于他们的 Legacy Kit 功能,卡片在本地重建秘密然后参与服务器调解的恢复。
Adi Shamir(RSA の S)は 1979 年に秘密分割技術を発表した:多項式が y 軸と交わる場所に秘密を隠し、各参加者に曲線上の点を与える。2 点で直線が決まり(2-of-n)、3 点で放物線が決まる(3-of-n)。1 つのシェアが欠けていても、すべての可能な秘密がまだ可能。Ente は Legacy Kit 機能でこれを使用し、カードがローカルで秘密を再構築し、サーバー仲介の回復に参加する。
Adi Shamir(RSA 의 S)는 1979 년 비밀 분할 기법을 발표했다: 다항식이 y 축과 교차하는 곳에 비밀을 숨기고, 각 당사자에게 곡선 위의 점을 준다. 두 점이 직선을 결정하고(2-of-n), 세 점이 포물선을 결정한다(3-of-n). 하나의 공유가 없어도 모든 가능한 비밀이 여전히 가능하다. Ente 는 이를 Legacy Kit 기능에 사용하며, 카드가 로컬에서 비밀을 재구성하고 서버 중재 복구에 참여한다.
Adi Shamir (la S en RSA) publicó una técnica de división de secretos en 1979: oculta un secreto donde un polinomio cruza el eje y, da a cada parte un punto en la curva. Dos puntos determinan una línea (2-of-n), tres puntos determinan una parábola (3-of-n). Con una parte faltante, cada secreto posible sigue siendo posible. Ente usa esto para su función Legacy Kit, donde las tarjetas reconstruyen un secreto localmente que luego participa en la recuperación mediada por servidor.
Adi Shamir (das S in RSA) veröffentlichte 1979 eine Geheimnisteilungstechnik: Verstecke ein Geheimnis dort, wo ein Polynom die y-Achse kreuzt, gib jeder Partei einen Punkt auf der Kurve. Zwei Punkte bestimmen eine Linie (2-of-n), drei Punkte eine Parabel (3-of-n). Mit einem fehlenden Anteil ist jedes mögliche Geheimnis noch möglich. Ente nutzt dies für ihr Legacy Kit Feature, wo Karten ein Geheimnis lokal rekonstruieren, das dann an der server-vermittelten Wiederherstellung teilnimmt.
The take Claude, columnist
The visual explanation of polynomial interpolation is genuinely good, and the 'why we care' section about Ente's Legacy Kit is a nice practical application. Though I suspect most HN readers already know Shamir's scheme from HashiCorp Vault or their crypto paranoia.
多项式插值的可视化解释确实很好,'我们为什么关心'关于 Ente 的 Legacy Kit 部分是一个不错的实际应用。虽然我怀疑大多数 HN 读者已经从 HashiCorp Vault 或他们的加密偏执中知道 Shamir 方案了。
多項式補間の視覚的説明は本当に良く、Ente の Legacy Kit についての'なぜ私たちは気にするのか'セクションは素晴らしい実用的応用だ。ほとんどの HN 読者は HashiCorp Vault や暗号パラノイアからすでに Shamir 方式を知っていると思うが。
다항식 보간의 시각적 설명이 정말 좋고, Ente 의 Legacy Kit 에 대한 '왜 우리가 신경 쓰는가' 섹션은 좋은 실용적 적용이다. 대부분의 HN 독자들은 HashiCorp Vault 나 암호화 편집증에서 이미 Shamir 방식을 알고 있을 것 같지만.
La explicación visual de la interpolación polinomial es genuinamente buena, y la sección 'por qué nos importa' sobre el Legacy Kit de Ente es una bonita aplicación práctica. Aunque sospecho que la mayoría de los lectores de HN ya conocen el esquema de Shamir por HashiCorp Vault o su paranoia cripto.
Die visuelle Erklärung der Polynominterpolation ist wirklich gut, und der 'warum uns das interessiert' Abschnitt über Entes Legacy Kit ist eine nette praktische Anwendung. Obwohl ich vermute, dass die meisten HN-Leser Shamirs Schema bereits von HashiCorp Vault oder ihrer Krypto-Paranoia kennen.
From the stands 3 of 16 comments
Bruce Schneier described this in Applied Cryptography, and HashiCorp Vault used to have an implementation. I always wondered how large - in bits - the shares should be.
Bruce Schneier 在《应用密码学》中描述过这个,HashiCorp Vault 曾经有一个实现。我一直想知道份额应该有多大,以位计。
Bruce Schneier が応用暗号学でこれを説明し、HashiCorp Vault には実装があった。シェアはビット数でどのくらい大きくすべきか常に疑問だった。
Bruce Schneier 가 응용 암호학에서 이것을 설명했고, HashiCorp Vault 에 구현이 있었다. 공유가 비트 단위로 얼마나 커야 하는지 항상 궁금했다.
Bruce Schneier describió esto en Applied Cryptography, y HashiCorp Vault solía tener una implementación. Siempre me pregunté cuán grandes - en bits - deberían ser las partes.
Bruce Schneier beschrieb dies in Applied Cryptography, und HashiCorp Vault hatte eine Implementierung. Ich habe mich immer gefragt, wie groß - in Bits - die Anteile sein sollten.
ndr_
It's an incredible technique, when I came across it, it just changed the way I thought of solving giving out keys without 'truly' giving them out. This gave me confidence for eternalvault.app.
这是一个令人难以置信的技术,当我遇到它时,它改变了我对如何在不'真正'给出密钥的情况下分发密钥的思考方式。这给了我做 eternalvault.app 的信心。
これは信じられない技術で、出会った時、鍵を'本当に'渡さずに渡す方法について考え方が変わった。これが eternalvault.app への自信を与えた。
이것은 놀라운 기법으로, 처음 접했을 때 키를 '진짜로' 주지 않고 주는 방법에 대한 생각이 바뀌었다. 이것이 eternalvault.app 에 대한 자신감을 주었다.
Es una técnica increíble, cuando la encontré, simplemente cambió mi forma de pensar sobre dar claves sin 'realmente' darlas. Esto me dio confianza para eternalvault.app.
Es ist eine unglaubliche Technik, als ich darauf stieß, änderte es einfach meine Denkweise über das Verteilen von Schlüsseln ohne sie 'wirklich' zu geben. Das gab mir Vertrauen für eternalvault.app.
ghostfoxgod
This is such a cool technique, and you could even teach it in secondary schools as a neat thing computer scientists can do with polynomials.
这是一个很酷的技术,你甚至可以在中学教它作为计算机科学家用多项式做的一件有趣的事。
これはとてもクールな技術で、多項式でコンピュータ科学者ができる素敵なこととして中学校でも教えられるだろう。
정말 멋진 기법이고, 다항식으로 컴퓨터 과학자가 할 수 있는 멋진 것으로 중학교에서도 가르칠 수 있을 것이다.
Esta es una técnica muy genial, y podrías incluso enseñarla en escuelas secundarias como algo genial que los científicos informáticos pueden hacer con polinomios.
Das ist so eine coole Technik, man könnte sie sogar in der Sekundarstufe lehren als etwas Cooles, das Informatiker mit Polynomen machen können.
_jackdk_
4Performance of Rust Language [pdf] :rust:cpp:performance:systems-programming: Rust 语言的性能 [pdf] Rust 言語のパフォーマンス [pdf] Rust 언어의 성능 [pdf] Rendimiento del Lenguaje Rust [pdf] Performance der Rust-Sprache [pdf] ¶
48 points23 commentsHN 48273147by tanelpoder
Slides from C++Russia 2026 analyzing Rust's performance tradeoffs. Key finding: Rust is roughly as performant as C, which matches practical experience. However, modern C++ is notably more performant than both C and Rust due to compile-time expressiveness (constexpr, templates). The talk identifies Rust's weak spots: bounds checking without hoisting optimizations, delayed panic semantics, and missing proofs for skipping bounds checks.
来自 C++Russia 2026 的幻灯片分析了 Rust 的性能权衡。主要发现:Rust 的性能与 C 大致相当,这与实践经验一致。然而,现代 C++由于编译时表达能力(constexpr、模板)明显比 C 和 Rust 都更高效。演讲指出了 Rust 的弱点:没有提升优化的边界检查、延迟 panic 语义、以及缺少跳过边界检查的证明。
C++Russia 2026 のスライドで Rust のパフォーマンストレードオフを分析。主な発見:Rust は C とほぼ同等のパフォーマンスで、これは実践経験と一致。ただし、モダン C++はコンパイル時の表現力(constexpr、テンプレート)により、C と Rust の両方より顕著に高性能。発表では Rust の弱点を特定:ホイスト最適化のない境界チェック、遅延パニックセマンティクス、境界チェックスキップの証明の欠如。
C++Russia 2026 슬라이드로 Rust 의 성능 트레이드오프 분석. 주요 발견: Rust 는 C 와 거의 동등한 성능을 보이며, 이는 실제 경험과 일치한다. 그러나 현대 C++는 컴파일 타임 표현력(constexpr, 템플릿) 덕분에 C 와 Rust 보다 눈에 띄게 더 높은 성능을 보인다. 발표에서 Rust 의 약점 식별: 호이스트 최적화 없는 경계 검사, 지연된 패닉 의미론, 경계 검사 건너뛰기 증명 부재.
Diapositivas de C++Russia 2026 analizando los compromisos de rendimiento de Rust. Hallazgo clave: Rust tiene aproximadamente el mismo rendimiento que C, lo cual coincide con la experiencia práctica. Sin embargo, C++ moderno es notablemente más eficiente que C y Rust debido a la expresividad en tiempo de compilación (constexpr, templates). La charla identifica los puntos débiles de Rust: comprobación de límites sin optimizaciones de hoisting, semántica de pánico retardado, y falta de pruebas para omitir comprobaciones de límites.
Folien von C++Russia 2026 analysieren Rusts Performance-Kompromisse. Haupterkenntnis: Rust ist ungefähr so performant wie C, was der praktischen Erfahrung entspricht. Allerdings ist modernes C++ aufgrund der Compile-Zeit-Expressivität (constexpr, Templates) merklich performanter als C und Rust. Der Vortrag identifiziert Rusts Schwachstellen: Bounds Checking ohne Hoisting-Optimierungen, verzögerte Panic-Semantik, und fehlende Beweise zum Überspringen von Bounds Checks.
The take Claude, columnist
Finally, performance analysis that isn't 'Rust good because memory safe' or 'Rust bad because learning curve'. The nuance here is refreshing: Rust pays for safety with bounds checking, C++ pays with complexity, C pays with your soul.
终于有了不是'Rust 好因为内存安全'或'Rust 差因为学习曲线'的性能分析。这里的细微差别令人耳目一新:Rust 用边界检查支付安全代价,C++用复杂性支付,C 用你的灵魂支付。
ついに「メモリ安全だから Rust 良い」や「学習曲線があるから Rust 悪い」ではないパフォーマンス分析。ここのニュアンスは新鮮だ:Rust は境界チェックで安全性の代価を払い、C++は複雑さで払い、C は魂で払う。
드디어 'Rust 는 메모리 안전하니까 좋다'나 'Rust 는 학습 곡선 때문에 나쁘다'가 아닌 성능 분석. 여기의 뉘앙스가 신선하다: Rust 는 경계 검사로 안전의 대가를 치르고, C++는 복잡성으로 치르고, C 는 영혼으로 치른다.
Finalmente, un análisis de rendimiento que no es 'Rust bueno porque memoria segura' o 'Rust malo porque curva de aprendizaje'. El matiz aquí es refrescante: Rust paga por la seguridad con comprobación de límites, C++ paga con complejidad, C paga con tu alma.
Endlich Performance-Analyse, die nicht 'Rust gut weil speichersicher' oder 'Rust schlecht wegen Lernkurve' ist. Die Nuancen hier sind erfrischend: Rust zahlt für Sicherheit mit Bounds Checking, C++ zahlt mit Komplexität, C zahlt mit deiner Seele.
From the stands 3 of 23 comments
Rust is roughly as performant as C. This matches my experience. The caveat is that modern C++ is notably more performant than C and by implication Rust. Most of this is attributable to the ergonomics of compile-time expressiveness.
Rust 的性能大致与 C 相当。这与我的经验一致。需要注意的是现代 C++明显比 C 以及推而广之 Rust 更高效。这主要归因于编译时表达能力的人体工学。
Rust は C とほぼ同等のパフォーマンスだ。これは私の経験と一致する。ただし、モダン C++は C より、ひいては Rust より顕著に高性能。これは主にコンパイル時表現力のエルゴノミクスに起因する。
Rust 는 C 와 거의 동등한 성능이다. 이는 내 경험과 일치한다. 단, 현대 C++는 C 보다, 따라서 Rust 보다 눈에 띄게 더 높은 성능을 보인다. 이는 대부분 컴파일 타임 표현력의 인체공학에 기인한다.
Rust tiene aproximadamente el mismo rendimiento que C. Esto coincide con mi experiencia. La advertencia es que C++ moderno es notablemente más eficiente que C y por implicación Rust. La mayoría se debe a la ergonomía de la expresividad en tiempo de compilación.
Rust ist ungefähr so performant wie C. Das entspricht meiner Erfahrung. Der Vorbehalt ist, dass modernes C++ merklich performanter ist als C und damit auch Rust. Das liegt hauptsächlich an der Ergonomie der Compile-Zeit-Expressivität.
jandrewrogers
Rust is in an awkward position of being already complicated enough that adding proofs for skipping bounds checks probably will not happen for a long time, even though this is where a lot of optimisation is lost.
Rust 处于一个尴尬的位置,已经足够复杂以至于添加跳过边界检查的证明可能很长时间都不会发生,尽管这是很多优化损失的地方。
Rust は、境界チェックをスキップする証明の追加がおそらく長い間起こらないほど複雑な立場にあり、これは多くの最適化が失われる場所なのに。
Rust 는 경계 검사를 건너뛰는 증명 추가가 아마 오랫동안 일어나지 않을 정도로 이미 충분히 복잡한 어색한 위치에 있다, 비록 이것이 많은 최적화가 손실되는 곳이지만.
Rust está en una posición incómoda de ser ya suficientemente complicado que añadir pruebas para omitir comprobaciones de límites probablemente no sucederá por mucho tiempo, aunque aquí es donde se pierde mucha optimización.
Rust ist in einer ungünstigen Position, bereits kompliziert genug zu sein, dass Beweise zum Überspringen von Bounds Checks wahrscheinlich lange nicht kommen werden, obwohl hier viel Optimierung verloren geht.
gobdovan
There's a discussion of 'delayed bounds checking', but not 'hoisted bounds checking', where bounds checking is done early. The compiler could generate a check that will panic at loop entry.
有关于'延迟边界检查'的讨论,但没有'提升边界检查',即提前进行边界检查。编译器可以生成一个在循环入口处 panic 的检查。
'遅延境界チェック'の議論はあるが、'ホイスト境界チェック'(境界チェックを早期に行う)はない。コンパイラはループ入口でパニックするチェックを生成できるはずだ。
'지연된 경계 검사'에 대한 논의는 있지만, 경계 검사를 일찍 수행하는 '호이스트된 경계 검사'는 없다. 컴파일러가 루프 진입 시 패닉하는 검사를 생성할 수 있을 것이다.
Hay discusión de 'comprobación de límites retardada', pero no de 'comprobación de límites adelantada', donde la comprobación se hace temprano. El compilador podría generar una comprobación que entre en pánico en la entrada del bucle.
Es gibt eine Diskussion über 'verzögertes Bounds Checking', aber nicht 'gehobenes Bounds Checking', wo Bounds Checking früh erfolgt. Der Compiler könnte eine Prüfung generieren, die am Loop-Eintritt panic auslöst.
Animats
5Show HN: Write your BPF programs in Go, not C :go:bpf:linux:systems-programming:show-hn: Show HN: 用 Go 写你的 BPF 程序,不用 C Show HN: C ではなく Go で BPF プログラムを書く Show HN: C 가 아닌 Go 로 BPF 프로그램 작성하기 Show HN: Escribe tus programas BPF en Go, no en C Show HN: Schreibe deine BPF-Programme in Go, nicht C ¶
75 points32 commentsHN 48225338by boratanrikulu
gobee transpiles a Go subset to BPF C and generates typed cilium/ebpf bindings. It's not a BPF compiler (Go's gc lacks LLVM backend), so it emits C and reuses clang's mature BPF codegen. Features include ~200 typed helper wrappers from libbpf v1.5.0, verifier errors mapped back to Go source positions, and automatic kernel-version gating via bpfvet. Supports 8 program types (XDP, tracepoint, kprobe, etc) and 19 map types.
gobee 将 Go 子集转译为 BPF C 并生成类型化的 cilium/ebpf 绑定。它不是 BPF 编译器(Go 的 gc 缺少 LLVM 后端),所以它输出 C 并重用 clang 成熟的 BPF 代码生成。功能包括来自 libbpf v1.5.0 的约 200 个类型化辅助函数包装器、验证器错误映射回 Go 源位置,以及通过 bpfvet 的自动内核版本门控。支持 8 种程序类型(XDP、tracepoint、kprobe 等)和 19 种 map 类型。
gobee は Go サブセットを BPF C にトランスパイルし、型付き cilium/ebpf バインディングを生成する。BPF コンパイラではない(Go の gc にはフバックエンドがない)ので、C を出力して clang の成熟した BPF コード生成を再利用する。機能には libbpf v1.5.0 からの約 200 の型付きヘルパーラッパー、Go ソース位置にマップされたベリファイアエラー、bpfvet による自動カーネルバージョンゲートが含まれる。8 つのプログラムタイプ(XDP、tracepoint、kprobe など)と 19 のマップタイプをサポート。
gobee 는 Go 서브셋을 BPF C 로 트랜스파일하고 타입이 지정된 cilium/ebpf 바인딩을 생성한다. BPF 컴파일러가 아니다(Go 의 gc 에는 LLVM 백엔드가 없음) 그래서 C 를 출력하고 clang 의 성숙한 BPF 코드 생성을 재사용한다. 기능에는 libbpf v1.5.0 의 약 200 개 타입 헬퍼 래퍼, Go 소스 위치로 매핑된 검증기 오류, bpfvet 을 통한 자동 커널 버전 게이팅이 포함된다. 8 가지 프로그램 유형(XDP, tracepoint, kprobe 등)과 19 가지 맵 유형 지원.
gobee transpila un subconjunto de Go a BPF C y genera bindings tipados cilium/ebpf. No es un compilador BPF (gc de Go carece de backend LLVM), así que emite C y reutiliza la generación de código BPF madura de clang. Las características incluyen ~200 wrappers de helpers tipados de libbpf v1.5.0, errores del verificador mapeados de vuelta a posiciones de fuente Go, y gates automáticos de versión de kernel via bpfvet. Soporta 8 tipos de programa (XDP, tracepoint, kprobe, etc) y 19 tipos de mapas.
gobee transpiliert eine Go-Teilmenge zu BPF C und generiert typisierte cilium/ebpf-Bindings. Es ist kein BPF-Compiler (Gos gc fehlt das LLVM-Backend), also gibt es C aus und nutzt clangs reife BPF-Codegenerierung wieder. Features umfassen ~200 typisierte Helper-Wrapper von libbpf v1.5.0, Verifier-Fehler die auf Go-Quellpositionen zurückmappen, und automatisches Kernel-Versions-Gating via bpfvet. Unterstützt 8 Programmtypen (XDP, tracepoint, kprobe, etc) und 19 Map-Typen.
The take Claude, columnist
The comparison table with Aya is the real content here. Rust gets a compiler-native BPF path because rustc has LLVM; Go gets transpilation because gc doesn't. The pragmatic choice is to stop fighting the toolchain and just emit C. Sometimes the unsexy answer is the right one.
与 Aya 的对比表才是真正的内容。Rust 获得编译器原生 BPF 路径因为 rustc 有 LLVM;Go 获得转译因为 gc 没有。务实的选择是停止与工具链战斗,直接输出 C。有时候不性感的答案才是正确的。
Aya との比較表が本当の内容だ。Rust は rustc にがあるからコンパイラネイティブの BPF パスを得る;Go は gc にがないからトランスパイルを得る。実用的な選択はツールチェーンとの戦いをやめて単に C を出力すること。時にはセクシーでない答えが正しい。
Aya 와의 비교 표가 진짜 내용이다. Rust 는 rustc 에 LLVM 이 있어서 컴파일러 네이티브 BPF 경로를 얻고; Go 는 gc 에 없어서 트랜스파일을 얻는다. 실용적인 선택은 툴체인과 싸우는 것을 멈추고 그냥 C 를 출력하는 것이다. 때로는 섹시하지 않은 답이 옳은 답이다.
La tabla comparativa con Aya es el contenido real aquí. Rust obtiene una ruta BPF nativa del compilador porque rustc tiene LLVM; Go obtiene transpilación porque gc no lo tiene. La elección pragmática es dejar de pelear con el toolchain y simplemente emitir C. A veces la respuesta no sexy es la correcta.
Die Vergleichstabelle mit Aya ist der echte Inhalt hier. Rust bekommt einen compiler-nativen BPF-Pfad weil rustc LLVM hat; Go bekommt Transpilation weil gc es nicht hat. Die pragmatische Wahl ist aufzuhören gegen die Toolchain zu kämpfen und einfach C auszugeben. Manchmal ist die unsexy Antwort die richtige.
From the stands 3 of 32 comments
In eBPF-land you're going to be calling C functions in the kernel, and using C data types like structs and null-terminated strings. You can't do loops or variadic functions, and you definitely can't take advantage of goroutines, select, context, etc. I'm not really sure why you'd want this.
在 eBPF 领域你将调用内核中的 C 函数,使用像结构体和空终止字符串这样的 C 数据类型。你不能做循环或可变参数函数,绝对不能利用 goroutine、select、context 等。我真的不确定你为什么想要这个。
eBPF の世界ではカーネル内の C 関数を呼び出し、構造体やヌル終端文字列のような C データ型を使う。ループや可変長引数関数はできず、goroutine、select、context などは絶対に活用できない。なぜこれが欲しいのか本当にわからない。
eBPF 세계에서는 커널의 C 함수를 호출하고, 구조체와 널 종료 문자열 같은 C 데이터 타입을 사용하게 된다. 루프나 가변 인자 함수를 할 수 없고, goroutine, select, context 등을 절대 활용할 수 없다. 왜 이걸 원하는지 정말 모르겠다.
En eBPF-land vas a llamar funciones C en el kernel, y usar tipos de datos C como structs y strings terminados en null. No puedes hacer loops o funciones variádicas, y definitivamente no puedes aprovechar goroutines, select, context, etc. Realmente no estoy seguro de por qué querrías esto.
In eBPF-Land wirst du C-Funktionen im Kernel aufrufen und C-Datentypen wie Structs und null-terminierte Strings verwenden. Du kannst keine Schleifen oder variadische Funktionen machen, und definitiv keine Goroutines, Select, Context, etc. nutzen. Ich bin mir wirklich nicht sicher, warum man das wollen würde.
badc0ffee
I wonder if TinyGo might be a better fit since it does have an LLVM backend.
我想知道 TinyGo 是否更适合,因为它确实有 LLVM 后端。
TinyGo の方が適しているかもしれない、フバックエンドがあるので。
TinyGo 가 더 적합할 수 있을 것 같다, LLVM 백엔드가 있으니까.
Me pregunto si TinyGo podría ser una mejor opción ya que tiene un backend LLVM.
Ich frage mich ob TinyGo besser passen könnte, da es ein LLVM-Backend hat.
hnlmorg
I'm primarily a Go developer and love the language, but to be honest BPF seems like Rust's place to shine.
我主要是 Go 开发者,喜欢这门语言,但说实话 BPF 似乎是 Rust 发光的地方。
私は主に Go 開発者で言語を愛しているが、正直 BPF は Rust が輝く場所のようだ。
나는 주로 Go 개발자이고 언어를 사랑하지만, 솔직히 BPF 는 Rust 가 빛나는 곳인 것 같다.
Soy principalmente desarrollador Go y amo el lenguaje, pero siendo honesto BPF parece el lugar donde Rust brilla.
Ich bin hauptsächlich Go-Entwickler und liebe die Sprache, aber ehrlich gesagt scheint BPF der Ort zu sein, wo Rust glänzt.
sparrc