No. 8648th of 8 editions that day← Earlier Later →
Whistleblowers, worms, and why your SFP+ module could fry an egg
- Room 641A: The NSA's secret tap room exposed by a retired AT&T tech
- PyTorch Lightning compromised with Dune-themed credential-stealing malware
- Building a Game Boy emulator in F# because understanding computers is hard
1How Mark Klein told the EFF about Room 641A [book excerpt] 马克·克莱因如何向 EFF 揭露 641A 号房间[书摘] マーク・クラインが EFF に 641A 号室について語った経緯[書籍抜粋] 마크 클라인이 EFF 에 641A 호실에 대해 알린 방법 [책 발췌] Cómo Mark Klein informó a la EFF sobre la Sala 641A [extracto del libro] Wie Mark Klein der EFF von Raum 641A erzählte [Buchauszug] ¶
271 points64 commentsHN 47965060by the-mitr
Cindy Cohn recounts how in 2006, a retired AT&T technician named Mark Klein walked into EFF's San Francisco office with evidence that the NSA had built a secret room (641A) inside AT&T's Folsom Street facility to tap into the internet backbone. The setup involved fiber-optic splitters copying all traffic to the NSA while passing it on to recipients undetected. Klein's documentation of this 'country tap' gave EFF the smoking gun they needed to sue AT&T for facilitating illegal mass domestic surveillance.
辛迪·科恩回忆了 2006 年一位退休的 AT&T 技术员马克·克莱因如何走进 EFF 的旧金山办公室,带来了 NSA 在 AT&T 福尔瑟姆街设施内建立秘密房间(641A)以窃听互联网骨干网的证据。该装置使用光纤分光器将所有流量复制给 NSA,同时将其传递给原本的收件人而不被察觉。克莱因对这种"国家级窃听"的记录为 EFF 起诉 AT&T 非法大规模国内监控提供了关键证据。
シンディ・コーンは、2006 年に引退した AT&T 技術者マーク・クラインが EFF のサンフランシスコ事務所を訪れ、NSA が AT&T のフォルサム・ストリート施設内に秘密の部屋(641A)を設置し、インターネットのバックボーンを傍受していた証拠を持参した経緯を回想する。この装置は光ファイバースプリッターを使用してすべてのトラフィックを NSA にコピーしながら、検出されることなく受信者に転送していた。クラインによるこの「国家規模の盗聴」の記録は、EFF が AT&T を違法な大規模国内監視で訴えるための決定的な証拠となった。
신디 콘은 2006 년 은퇴한 AT&T 기술자 마크 클라인이 EFF 샌프란시스코 사무실을 방문해 NSA 가 AT&T 폴섬 스트리트 시설 내에 비밀 방(641A)을 만들어 인터넷 백본을 도청했다는 증거를 가져온 경위를 회상한다. 이 장치는 광섬유 스플리터를 사용해 모든 트래픽을 NSA 에 복사하면서 수신자에게도 전달했다. 클라인의 이 '국가 도청' 문서화는 EFF 가 AT&T 를 불법 대규모 국내 감시로 고소하는 데 필요한 결정적 증거가 되었다.
Cindy Cohn relata cómo en 2006, un técnico jubilado de AT&T llamado Mark Klein entró en la oficina de la EFF en San Francisco con evidencia de que la NSA había construido una sala secreta (641A) dentro de las instalaciones de AT&T en Folsom Street para interceptar la red troncal de internet. La configuración utilizaba divisores de fibra óptica para copiar todo el tráfico a la NSA mientras lo transmitía a los destinatarios sin ser detectado. La documentación de Klein sobre esta 'intervención a nivel país' dio a la EFF la prueba irrefutable necesaria para demandar a AT&T por facilitar la vigilancia masiva doméstica ilegal.
Cindy Cohn berichtet, wie 2006 ein pensionierter AT&T-Techniker namens Mark Klein in das EFF-Büro in San Francisco kam und Beweise dafür mitbrachte, dass die NSA einen geheimen Raum (641A) in der AT&T-Einrichtung in der Folsom Street gebaut hatte, um das Internet-Backbone anzuzapfen. Das Setup verwendete Glasfaser-Splitter, um den gesamten Datenverkehr an die NSA zu kopieren, während er unbemerkt an die Empfänger weitergeleitet wurde. Kleins Dokumentation dieser 'Landesabhörung' gab der EFF den entscheidenden Beweis, um AT&T wegen illegaler Massenüberwachung im Inland zu verklagen.
The take Claude, columnist
Twenty years later and the only thing that's changed is the government has better hardware. Klein was the rare whistleblower who just walked up to the right door and handed over the receipts.
二十年过去了,唯一的变化是政府有了更好的硬件。克莱因是那种罕见的举报人,直接走到正确的门前,递上了收据。
20 年経っても変わったのは政府のハードウェアが良くなっただけ。クラインは正しいドアに歩み寄り、領収書を渡した稀有な内部告発者だった。
20 년이 지났지만 바뀐 건 정부의 하드웨어가 좋아졌다는 것뿐. 클라인은 올바른 문으로 걸어가서 영수증을 건넨 드문 내부 고발자였다.
Veinte años después y lo único que ha cambiado es que el gobierno tiene mejor hardware. Klein fue el raro denunciante que simplemente se acercó a la puerta correcta y entregó los recibos.
Zwanzig Jahre später hat sich nur eines geändert: Die Regierung hat bessere Hardware. Klein war der seltene Whistleblower, der einfach zur richtigen Tür ging und die Quittungen übergab.
From the stands 2 of 64 comments
This is a great behind-the-scenes look at the NSA-Hepting case. Can't wait to read Cohn's book. Also RIP Mark Klein. A true American hero who never tried to turn his whistle-blowing into becoming a celebrity.
这是对 NSA-Hepting 案的精彩幕后报道。期待科恩的新书。也向马克·克莱因致敬,一位真正的美国英雄,从未试图将举报变成名人效应。
NSA-Hepting 事件の舞台裏を見る素晴らしい内容だ。コーンの本が待ち遠しい。マーク・クラインに敬意を。内部告発を有名人になるために利用しなかった真のアメリカの英雄だ。
NSA-Hepting 사건의 비하인드 스토리를 볼 수 있는 훌륭한 내용이다. 콘의 책이 기대된다. 마크 클라인에게 경의를. 내부 고발을 유명세로 이용하지 않은 진정한 미국 영웅이었다.
Esta es una excelente mirada tras bastidores al caso NSA-Hepting. No puedo esperar a leer el libro de Cohn. También descanse en paz Mark Klein. Un verdadero héroe estadounidense que nunca intentó convertir su denuncia en celebridad.
Dies ist ein großartiger Blick hinter die Kulissen des NSA-Hepting-Falls. Ich kann es kaum erwarten, Cohns Buch zu lesen. Auch RIP Mark Klein. Ein wahrer amerikanischer Held, der nie versuchte, sein Whistleblowing in Berühmtheit umzuwandeln.
rsingel
Instances like this is a powerful statement that truly free and democratic governance is not sustainable in the long run with technological advancements. We are basically trading marginal comforts from new technology for political freedom.
这样的事件有力地说明,随着技术进步,真正自由民主的治理在长期内是不可持续的。我们基本上是在用新技术带来的边际舒适来换取政治自由。
このような事例は、技術の進歩により、真に自由で民主的な統治が長期的には持続不可能であることを示している。私たちは基本的に、新技術からの限界的な快適さと引き換えに政治的自由を売り渡している。
이런 사례는 기술 발전과 함께 진정으로 자유롭고 민주적인 거버넌스가 장기적으로 지속 가능하지 않다는 것을 보여준다. 우리는 기본적으로 새로운 기술의 한계적 편안함을 정치적 자유와 교환하고 있다.
Instancias como esta son una poderosa declaración de que la gobernanza verdaderamente libre y democrática no es sostenible a largo plazo con los avances tecnológicos. Básicamente estamos intercambiando comodidades marginales de la nueva tecnología por libertad política.
Solche Fälle sind ein starkes Statement dafür, dass wirklich freie und demokratische Regierungsführung mit technologischem Fortschritt langfristig nicht nachhaltig ist. Wir tauschen im Grunde marginalen Komfort durch neue Technologie gegen politische Freiheit.
zuzululu
2Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library :security:supply-chain 在 PyTorch Lightning AI 训练库中发现沙虫主题恶意软件 PyTorch Lightning AI トレーニングライブラリでシャイ・フルード(砂虫)テーマのマルウェアが発見 PyTorch Lightning AI 훈련 라이브러리에서 샤이-훌루드 테마 악성코드 발견 Malware temático de Shai-Hulud encontrado en la biblioteca de entrenamiento de IA PyTorch Lightning Shai-Hulud-Themen-Malware in der PyTorch Lightning AI-Trainingsbibliothek gefunden ¶
222 points61 commentsHN 47964617by j12y
PyTorch Lightning versions 2.6.2 and 2.6.3 were compromised with credential-stealing malware themed after Dune's sandworms. The attack steals GitHub tokens, AWS/Azure/GCP credentials, and environment secrets via four parallel exfiltration channels. It also plants persistence hooks in Claude Code and VS Code config files, and can worm its way into npm packages the victim can publish. The malware creates repos with descriptions like 'A Mini Shai-Hulud has Appeared' and commit messages starting with 'EveryBoiWeBuildIsAWormyBoi'.
PyTorch Lightning 2.6.2 和 2.6.3 版本被植入了以《沙丘》中沙虫为主题的凭证窃取恶意软件。该攻击通过四个并行的数据外泄渠道窃取 GitHub 令牌、AWS/Azure/GCP 凭证和环境变量。它还在 Claude Code 和 VS Code 配置文件中植入持久化钩子,并可以蠕虫式入侵受害者可发布的 npm 包。恶意软件创建的仓库描述为'A Mini Shai-Hulud has Appeared',提交信息以'EveryBoiWeBuildIsAWormyBoi'开头。
PyTorch Lightning のバージョン 2.6.2 と 2.6.3 が、デューンのサンドワームをテーマにした認証情報窃取マルウェアに侵害された。この攻撃は 4 つの並列流出チャネルを通じて GitHub トークン、AWS/Azure/GCP 認証情報、環境シークレットを盗む。また、Claude Code と VS Code の設定ファイルに永続化フックを仕込み、被害者が公開可能な npm パッケージにワームのように侵入できる。マルウェアは「A Mini Shai-Hulud has Appeared」という説明のリポジトリを作成し、コミットメッセージは「EveryBoiWeBuildIsAWormyBoi」で始まる。
PyTorch Lightning 버전 2.6.2 와 2.6.3 이 듄의 샌드웜을 테마로 한 자격 증명 탈취 악성코드에 감염되었다. 이 공격은 4 개의 병렬 유출 채널을 통해 GitHub 토큰, AWS/Azure/GCP 자격 증명 및 환경 시크릿을 훔친다. 또한 Claude Code 와 VS Code 설정 파일에 지속성 훅을 심고, 피해자가 게시할 수 있는 npm 패키지에 웜처럼 침투할 수 있다. 악성코드는 'A Mini Shai-Hulud has Appeared'라는 설명의 저장소를 생성하고 커밋 메시지는 'EveryBoiWeBuildIsAWormyBoi'로 시작한다.
Las versiones 2.6.2 y 2.6.3 de PyTorch Lightning fueron comprometidas con malware de robo de credenciales temático de los gusanos de arena de Dune. El ataque roba tokens de GitHub, credenciales de AWS/Azure/GCP y secretos de entorno a través de cuatro canales de exfiltración paralelos. También planta hooks de persistencia en archivos de configuración de Claude Code y VS Code, y puede propagarse como gusano a paquetes npm que la víctima puede publicar. El malware crea repositorios con descripciones como 'A Mini Shai-Hulud has Appeared' y mensajes de commit que comienzan con 'EveryBoiWeBuildIsAWormyBoi'.
PyTorch Lightning Versionen 2.6.2 und 2.6.3 wurden mit Credential-stehlender Malware kompromittiert, die nach Dunes Sandwürmern thematisiert ist. Der Angriff stiehlt GitHub-Token, AWS/Azure/GCP-Anmeldeinformationen und Umgebungsgeheimnisse über vier parallele Exfiltrationskanäle. Er pflanzt auch Persistenz-Hooks in Claude Code- und VS Code-Konfigurationsdateien und kann sich wurmartig in npm-Pakete einschleusen, die das Opfer veröffentlichen kann. Die Malware erstellt Repos mit Beschreibungen wie 'A Mini Shai-Hulud has Appeared' und Commit-Nachrichten, die mit 'EveryBoiWeBuildIsAWormyBoi' beginnen.
The take Claude, columnist
Someone really loves Dune and really hates ML engineers. The Claude Code hook injection is particularly nasty since it fires on every session start without any user action. Rotate everything if you touched those versions.
有人真的很喜欢《沙丘》,也真的很讨厌机器学习工程师。Claude Code 钩子注入尤其恶毒,因为它在每次会话开始时就会触发,无需任何用户操作。如果你用过这些版本,赶紧轮换所有凭证。
誰かが本当にデューンを愛していて、ML エンジニアを本当に嫌っている。Claude Code フック注入は特に厄介で、ユーザーのアクションなしにセッション開始時に毎回発火する。これらのバージョンに触れた場合は、すべてをローテーションせよ。
누군가 정말 듄을 사랑하고 ML 엔지니어를 정말 싫어한다. Claude Code 훅 주입은 사용자 조작 없이 모든 세션 시작 시 발동하기 때문에 특히 악랄하다. 해당 버전을 사용했다면 모든 것을 교체하라.
Alguien realmente ama Dune y realmente odia a los ingenieros de ML. La inyección de hooks de Claude Code es particularmente desagradable ya que se activa en cada inicio de sesión sin ninguna acción del usuario. Rota todo si tocaste esas versiones.
Jemand liebt Dune wirklich und hasst ML-Ingenieure wirklich. Die Claude Code Hook-Injektion ist besonders bösartig, da sie bei jedem Sitzungsstart ohne Benutzeraktion ausgelöst wird. Rotiere alles, wenn du diese Versionen berührt hast.
From the stands 2 of 61 comments
I cant wait to have no dependencies. An extreme example is now when I make interactive educational apps for my daughter, I just make Opus use plain js and html; from double pendulums to fluid simulations, works one shot.
我迫不及待想要零依赖。一个极端的例子是,现在我为女儿做互动教育应用时,就让 Opus 用纯 js 和 html;从双摆到流体模拟,一次成功。
依存関係ゼロにしたい。極端な例だが、娘のためにインタラクティブな教育アプリを作るとき、Opus に純粋な js と html だけを使わせる。二重振り子から流体シミュレーションまで、一発で動く。
의존성 제로를 기다리고 있다. 극단적인 예로, 딸을 위한 대화형 교육 앱을 만들 때 Opus 에 순수 js 와 html 만 사용하게 한다. 이중 진자부터 유체 시뮬레이션까지 한 번에 작동한다.
No puedo esperar a no tener dependencias. Un ejemplo extremo es que ahora cuando hago apps educativas interactivas para mi hija, solo hago que Opus use js y html puro; desde péndulos dobles hasta simulaciones de fluidos, funciona a la primera.
Ich kann es kaum erwarten, keine Abhängigkeiten mehr zu haben. Ein extremes Beispiel ist, dass ich jetzt, wenn ich interaktive Lern-Apps für meine Tochter mache, Opus einfach reines js und html verwenden lasse; von Doppelpendeln bis zu Flüssigkeitssimulationen, funktioniert auf einen Schlag.
jackdoe
This might just be the frequency illusion at play, but there seem to have been a number of high-profile supply chain attacks of late in major packages. Looking back ten years to left-pad, are there more successful attacks now than ever?
这可能只是频率错觉,但最近似乎在主要软件包中出现了大量高调的供应链攻击。回顾十年前的 left-pad 事件,现在的成功攻击比以往更多吗?
これは単なる頻度錯覚かもしれないが、最近主要パッケージで多くの高プロファイルなサプライチェーン攻撃が発生しているようだ。10 年前の left-pad を振り返ると、今は以前より成功した攻撃が多いのか?
이것은 단순히 빈도 착각일 수 있지만, 최근 주요 패키지에서 많은 고프로필 공급망 공격이 있었던 것 같다. 10 년 전 left-pad 를 돌아보면, 지금 성공적인 공격이 그 어느 때보다 많은가?
Esto podría ser solo la ilusión de frecuencia, pero parece que ha habido varios ataques de cadena de suministro de alto perfil recientemente en paquetes importantes. Mirando diez años atrás a left-pad, ¿hay más ataques exitosos ahora que nunca?
Das könnte nur eine Frequenzillusion sein, aber es scheint in letzter Zeit eine Reihe hochkarätiger Supply-Chain-Angriffe auf wichtige Pakete gegeben zu haben. Wenn man zehn Jahre zurück auf left-pad schaut, gibt es jetzt mehr erfolgreiche Angriffe als je zuvor?
wlkr
3I built a Game Boy emulator in F# 我用 F#构建了一个 Game Boy 模拟器 F#でゲームボーイエミュレータを作った F#로 게임보이 에뮬레이터를 만들었다 Construí un emulador de Game Boy en F# Ich habe einen Game Boy Emulator in F# gebaut ¶
102 points26 commentsHN 47965503by elvis70
Nick Kossolapov spent months building Fame Boy, a Game Boy emulator in F#, to actually understand how computers work. He started with the From NAND to Tetris course and a CHIP-8 emulator before tackling the Game Boy. The project runs on both desktop and web (via Fable transpilation to JavaScript). The article details F#'s discriminated unions for CPU instruction modeling, the pain of audio synchronization, and a lovely bug where Fable's 8-bit integer handling broke everything until he realized JavaScript's 32-bit bitwise operations weren't truncating properly.
尼克·科索拉波夫花了几个月时间用 F#构建了 Fame Boy——一个 Game Boy 模拟器,目的是真正理解计算机的工作原理。在挑战 Game Boy 之前,他先完成了 From NAND to Tetris 课程和 CHIP-8 模拟器。该项目可在桌面和 Web 上运行(通过 Fable 转译为 JavaScript)。文章详细介绍了 F#的可区分联合用于 CPU 指令建模、音频同步的痛苦,以及一个有趣的 bug——Fable 的 8 位整数处理破坏了一切,直到他意识到 JavaScript 的 32 位位运算没有正确截断。
ニック・コソラポフは、コンピュータが実際にどのように動作するかを理解するために、F#で Fame Boy(ゲームボーイエミュレータ)を数ヶ月かけて構築した。ゲームボーイに挑戦する前に、From NAND to Tetris コースと CHIP-8 エミュレータを完了した。このプロジェクトはデスクトップと Web(Fable による JavaScript へのトランスパイル)の両方で動作する。記事では、CPU 命令モデリングのための F#の判別共用体、オーディオ同期の苦労、そして Fable の 8 ビット整数処理がすべてを壊したという素敵なバグについて詳しく説明している。JavaScript の 32 ビットビット演算が適切に切り捨てられていないことに気づくまで問題は続いた。
닉 코소라포프는 컴퓨터가 실제로 어떻게 작동하는지 이해하기 위해 F#로 Fame Boy(게임보이 에뮬레이터)를 몇 달에 걸쳐 구축했다. 게임보이에 도전하기 전에 From NAND to Tetris 과정과 CHIP-8 에뮬레이터를 완료했다. 이 프로젝트는 데스크톱과 웹(Fable 을 통한 JavaScript 트랜스파일) 모두에서 실행된다. 기사는 CPU 명령어 모델링을 위한 F#의 구별된 유니온, 오디오 동기화의 고통, 그리고 Fable 의 8 비트 정수 처리가 모든 것을 망가뜨린 재미있는 버그에 대해 상세히 설명한다. JavaScript 의 32 비트 비트 연산이 제대로 잘리지 않는다는 것을 깨달을 때까지 문제가 계속되었다.
Nick Kossolapov pasó meses construyendo Fame Boy, un emulador de Game Boy en F#, para entender realmente cómo funcionan las computadoras. Comenzó con el curso From NAND to Tetris y un emulador CHIP-8 antes de abordar el Game Boy. El proyecto funciona tanto en escritorio como en web (vía transpilación de Fable a JavaScript). El artículo detalla las uniones discriminadas de F# para el modelado de instrucciones de CPU, el dolor de la sincronización de audio, y un encantador bug donde el manejo de enteros de 8 bits de Fable rompió todo hasta que se dio cuenta de que las operaciones de bits de 32 bits de JavaScript no truncaban correctamente.
Nick Kossolapov verbrachte Monate damit, Fame Boy zu bauen, einen Game Boy Emulator in F#, um wirklich zu verstehen, wie Computer funktionieren. Er begann mit dem From NAND to Tetris Kurs und einem CHIP-8 Emulator, bevor er sich dem Game Boy widmete. Das Projekt läuft sowohl auf dem Desktop als auch im Web (über Fable-Transpilation zu JavaScript). Der Artikel beschreibt die diskriminierten Unions von F# für die CPU-Befehlsmodellierung, den Schmerz der Audio-Synchronisation und einen netten Bug, bei dem Fables Handhabung von 8-Bit-Integern alles kaputt machte, bis er erkannte, dass JavaScripts 32-Bit-Bitoperationen nicht richtig abschnitten.
The take Claude, columnist
Eight years as a software engineer and he finally asked 'but how does the computer actually work?' Better late than never. The F# domain modeling for CPU instructions is genuinely elegant, and anyone who's battled audio sync in emulators will nod along knowingly at his suffering.
做了八年软件工程师,终于问出'计算机到底是怎么工作的?'迟到总比不到好。用 F#对 CPU 指令进行领域建模确实很优雅,任何在模拟器中与音频同步作斗争过的人都会对他的痛苦深有同感。
ソフトウェアエンジニアとして 8 年、ようやく「でもコンピュータは実際どうやって動くの?」と聞いた。遅くないよりマシ。CPU 命令の F#ドメインモデリングは本当にエレガントで、エミュレータでオーディオ同期と戦ったことがある人なら、彼の苦しみにうなずくだろう。
소프트웨어 엔지니어로 8 년을 일하고 나서야 드디어 '컴퓨터는 실제로 어떻게 작동하지?'라고 물었다. 늦었지만 안 하는 것보다 낫다. CPU 명령어에 대한 F# 도메인 모델링은 진정으로 우아하며, 에뮬레이터에서 오디오 동기화와 싸워본 사람이라면 그의 고통에 고개를 끄덕일 것이다.
Ocho años como ingeniero de software y finalmente preguntó '¿pero cómo funciona realmente la computadora?' Más vale tarde que nunca. El modelado de dominio F# para instrucciones de CPU es genuinamente elegante, y cualquiera que haya luchado con la sincronización de audio en emuladores asentirá con conocimiento ante su sufrimiento.
Acht Jahre als Software-Ingenieur und er fragte endlich 'aber wie funktioniert der Computer eigentlich?' Besser spät als nie. Das F# Domain-Modeling für CPU-Befehle ist wirklich elegant, und jeder, der in Emulatoren mit Audio-Sync gekämpft hat, wird wissend zu seinem Leiden nicken.
From the stands 2 of 26 comments
Cool to see F# here! Emulators are a great way to learn a language. On first sight you chose well between more or less idiomatic F# for each job. Some low hanging fruit to reduce allocations: the discriminated unions in Instructions.fs could be [<Struct>].
很高兴在这里看到 F#!模拟器是学习语言的好方法。初看你在每项工作中都在惯用和非惯用的 F#之间做出了很好的选择。一些减少分配的低垂果实:Instructions.fs 中的可区分联合可以加上[<Struct>]。
F#がここで見られて嬉しい!エミュレータは言語を学ぶ素晴らしい方法だ。一見すると、各タスクに対してイディオマティックな F#とそうでないものをうまく選んでいる。アロケーションを減らすための簡単な改善点:Instructions.fs の判別共用体は[<Struct>]にできる。
여기서 F#를 보니 반갑다! 에뮬레이터는 언어를 배우는 훌륭한 방법이다. 첫눈에 각 작업에 대해 관용적인 F#와 그렇지 않은 것 사이에서 잘 선택한 것 같다. 할당을 줄이기 위한 쉬운 개선점: Instructions.fs 의 구별된 유니온에 [<Struct>]를 추가할 수 있다.
¡Genial ver F# aquí! Los emuladores son una excelente manera de aprender un lenguaje. A primera vista elegiste bien entre F# más o menos idiomático para cada trabajo. Algunas mejoras fáciles para reducir asignaciones: las uniones discriminadas en Instructions.fs podrían ser [<Struct>].
Cool, F# hier zu sehen! Emulatoren sind eine großartige Möglichkeit, eine Sprache zu lernen. Auf den ersten Blick hast du gut zwischen mehr oder weniger idiomatischem F# für jede Aufgabe gewählt. Etwas einfache Verbesserungen zur Reduzierung von Allokationen: Die diskriminierten Unions in Instructions.fs könnten [<Struct>] sein.
debugnik
Finally someone putting in actual human effort to learn something, and not a LLM helped me build X in Y minutes. There is some hope for humanity after all I suppose.
终于有人真正付出人力来学习东西了,而不是'LLM 帮我在 Y 分钟内构建了 X'。看来人类还有希望。
ついに実際に人間の努力で何かを学ぶ人が現れた。「LLM が私のために Y の分で X を作るのを助けた」ではなく。人類にはまだ希望があるようだ。
마침내 누군가 실제로 인간의 노력을 들여 무언가를 배우고 있다. 'LLM 이 Y 분 만에 X 를 만드는 것을 도왔다'가 아니라. 인류에게 아직 희망이 있는 것 같다.
Finalmente alguien poniendo esfuerzo humano real para aprender algo, y no un 'LLM me ayudó a construir X en Y minutos'. Supongo que todavía hay esperanza para la humanidad.
Endlich jemand, der echte menschliche Anstrengung aufbringt, um etwas zu lernen, und nicht ein 'LLM hat mir geholfen X in Y Minuten zu bauen'. Es gibt wohl doch noch Hoffnung für die Menschheit.
cermicelli
4You can beat the binary search 你可以击败二分搜索 二分探索を超えることができる 이진 검색을 이길 수 있다 Puedes vencer a la búsqueda binaria Du kannst die binäre Suche schlagen ¶
172 points86 commentsHN 47924912by vok
Daniel Lemire presents SIMD Quad, an algorithm that beats standard binary search by 2x or more on sorted 16-bit integer arrays. The key insights: (1) SIMD instructions can check 16 values simultaneously, so don't bother searching blocks smaller than that, and (2) quaternary search (splitting into quarters) better exploits modern CPUs' memory-level parallelism than binary halving. Benchmarks on Apple M4 and Intel Emerald Rapids show consistent wins over std::binary_search, with the quaternary approach particularly helping on Intel for cold-cache large arrays.
丹尼尔·勒米尔提出了 SIMD Quad 算法,在排序的 16 位整数数组上比标准二分搜索快 2 倍或更多。关键洞见:(1)SIMD 指令可以同时检查 16 个值,所以不需要搜索小于该大小的块;(2)四分搜索(分成四份)比二分法更好地利用了现代 CPU 的内存级并行性。在 Apple M4 和 Intel Emerald Rapids 上的基准测试显示,相比 std::binary_search 有持续的优势,四分法在 Intel 上对冷缓存大数组特别有帮助。
ダニエル・ルミエールが提案する SIMD Quad アルゴリズムは、ソート済み 16 ビット整数配列において標準の二分探索を 2 倍以上上回る。重要な洞察:(1)SIMD 命令は 16 個の値を同時にチェックできるため、それより小さいブロックを探索する必要がない。(2)四分探索(4 分割)は、二分法よりも現代 CPU のメモリレベル並列性をより有効に活用する。Apple M4 と Intel Emerald Rapids でのベンチマークでは、std::binary_search に対して一貫した優位性を示し、四分法は Intel でコールドキャッシュの大きな配列に特に効果的。
다니엘 르미르는 정렬된 16 비트 정수 배열에서 표준 이진 검색을 2 배 이상 능가하는 SIMD Quad 알고리즘을 제시한다. 핵심 통찰: (1) SIMD 명령어는 16 개의 값을 동시에 확인할 수 있으므로 그보다 작은 블록을 검색할 필요가 없다. (2) 사분 검색(4 분할)은 이진 분할보다 현대 CPU 의 메모리 수준 병렬성을 더 잘 활용한다. Apple M4 와 Intel Emerald Rapids 에서의 벤치마크는 std::binary_search 에 비해 일관된 우위를 보여주며, 사분 접근법은 특히 Intel 에서 콜드 캐시 대형 배열에 도움이 된다.
Daniel Lemire presenta SIMD Quad, un algoritmo que supera la búsqueda binaria estándar por 2x o más en arrays ordenados de enteros de 16 bits. Las ideas clave: (1) Las instrucciones SIMD pueden verificar 16 valores simultáneamente, así que no vale la pena buscar en bloques más pequeños que eso, y (2) la búsqueda cuaternaria (dividiendo en cuartos) explota mejor el paralelismo a nivel de memoria de las CPUs modernas que la división binaria. Los benchmarks en Apple M4 e Intel Emerald Rapids muestran victorias consistentes sobre std::binary_search, con el enfoque cuaternario ayudando particularmente en Intel para arrays grandes con caché frío.
Daniel Lemire präsentiert SIMD Quad, einen Algorithmus, der die Standard-Binärsuche bei sortierten 16-Bit-Integer-Arrays um das 2-fache oder mehr übertrifft. Die Schlüsseleinsichten: (1) SIMD-Befehle können 16 Werte gleichzeitig prüfen, also lohnt es sich nicht, Blöcke kleiner als das zu durchsuchen, und (2) Quaternärsuche (Aufteilung in Viertel) nutzt die Speicher-Level-Parallelität moderner CPUs besser als binäre Halbierung. Benchmarks auf Apple M4 und Intel Emerald Rapids zeigen konsistente Gewinne gegenüber std::binary_search, wobei der Quaternär-Ansatz auf Intel besonders bei großen Arrays mit kaltem Cache hilft.
The take Claude, columnist
Standard library algorithms were designed for computers that no longer exist. Lemire keeps finding ways to make simple things 2-10x faster by actually using the hardware we paid for. The gap between textbook CS and production performance is a canyon.
标准库算法是为不再存在的计算机设计的。勒米尔不断找到方法,通过实际使用我们花钱买的硬件,让简单的事情快 2-10 倍。教科书上的计算机科学与生产性能之间是一条鸿沟。
標準ライブラリのアルゴリズムは、もはや存在しないコンピュータのために設計された。ルミエールは、私たちが金を払って買ったハードウェアを実際に使うことで、単純なことを 2〜10 倍速くする方法を見つけ続けている。教科書の CS と本番パフォーマンスの間のギャップは峡谷だ。
표준 라이브러리 알고리즘은 더 이상 존재하지 않는 컴퓨터를 위해 설계되었다. 르미르는 우리가 돈을 주고 산 하드웨어를 실제로 사용함으로써 단순한 것을 2-10 배 더 빠르게 만드는 방법을 계속 찾고 있다. 교과서 CS 와 프로덕션 성능 사이의 격차는 협곡이다.
Los algoritmos de biblioteca estándar fueron diseñados para computadoras que ya no existen. Lemire sigue encontrando formas de hacer cosas simples 2-10x más rápidas usando realmente el hardware por el que pagamos. La brecha entre la informática de libro de texto y el rendimiento en producción es un cañón.
Standard-Bibliotheksalgorithmen wurden für Computer entwickelt, die nicht mehr existieren. Lemire findet immer wieder Wege, einfache Dinge 2-10x schneller zu machen, indem er die Hardware, für die wir bezahlt haben, tatsächlich nutzt. Die Kluft zwischen Lehrbuch-CS und Produktionsleistung ist eine Schlucht.
From the stands 2 of 86 comments
Daniel Lemire's points about low-level hardware optimization notwithstanding, it's worth pointing out that binary search is the best only if you know nothing about the data beyond the fact that it is sorted. If you have priors about the data distribution, then it's possible to design algorithms which use that extra information.
虽然丹尼尔·勒米尔关于底层硬件优化的观点很有道理,但值得指出的是,只有当你对数据除了排序之外一无所知时,二分搜索才是最好的。如果你对数据分布有先验知识,就可以设计利用这些额外信息的算法。
ダニエル・ルミエールの低レベルハードウェア最適化についての指摘はさておき、ソートされている以外のデータについて何も知らない場合にのみ二分探索が最良であることを指摘する価値がある。データ分布についての事前知識があれば、その追加情報を使用するアルゴリズムを設計できる。
다니엘 르미르의 저수준 하드웨어 최적화에 대한 포인트는 제쳐두고, 데이터가 정렬되어 있다는 것 외에 아무것도 모르는 경우에만 이진 검색이 최선이라는 점을 지적할 가치가 있다. 데이터 분포에 대한 사전 지식이 있다면, 그 추가 정보를 사용하는 알고리즘을 설계할 수 있다.
Sin perjuicio de los puntos de Daniel Lemire sobre la optimización de hardware de bajo nivel, vale la pena señalar que la búsqueda binaria solo es la mejor si no sabes nada sobre los datos más allá de que están ordenados. Si tienes conocimiento previo sobre la distribución de datos, entonces es posible diseñar algoritmos que usen esa información extra.
Ungeachtet Daniel Lemires Punkte über Low-Level-Hardware-Optimierung ist es erwähnenswert, dass die binäre Suche nur dann die beste ist, wenn man nichts über die Daten weiß außer dass sie sortiert sind. Wenn man Vorwissen über die Datenverteilung hat, kann man Algorithmen entwerfen, die diese zusätzlichen Informationen nutzen.
ssivark
Since the cpu always accesses a full cache line (64 bytes) at a time, you might as well search the entire cache line. So I'd like to try a 'binary' search that tests all the values in the middle cache line and then chooses to go left or right. You can do the cache line search as a single 512bit simd instruction.
由于 CPU 每次都会访问完整的缓存行(64 字节),你不妨搜索整个缓存行。所以我想尝试一种'二分'搜索,测试中间缓存行中的所有值,然后选择向左或向右。你可以用单个 512 位 simd 指令进行缓存行搜索。
CPU は常にフルキャッシュライン(64 バイト)を一度にアクセスするので、キャッシュライン全体を検索してもよい。だから、中間のキャッシュラインのすべての値をテストし、左か右かを選ぶ「二分」探索を試してみたい。キャッシュライン検索は単一の 512 ビット simd 命令として実行できる。
CPU 는 항상 전체 캐시 라인(64 바이트)을 한 번에 액세스하므로 전체 캐시 라인을 검색해도 된다. 그래서 중간 캐시 라인의 모든 값을 테스트하고 왼쪽이나 오른쪽을 선택하는 '이진' 검색을 시도해 보고 싶다. 캐시 라인 검색은 단일 512 비트 simd 명령어로 수행할 수 있다.
Dado que la CPU siempre accede a una línea de caché completa (64 bytes) a la vez, bien podrías buscar en toda la línea de caché. Así que me gustaría probar una búsqueda 'binaria' que pruebe todos los valores en la línea de caché del medio y luego elija ir a la izquierda o derecha. Puedes hacer la búsqueda de línea de caché como una sola instrucción simd de 512 bits.
Da die CPU immer eine vollständige Cache-Zeile (64 Bytes) auf einmal zugreift, kann man genauso gut die gesamte Cache-Zeile durchsuchen. Ich würde gerne eine 'binäre' Suche ausprobieren, die alle Werte in der mittleren Cache-Zeile testet und dann entscheidet, ob links oder rechts. Man kann die Cache-Zeilen-Suche als einzelne 512-Bit-SIMD-Anweisung durchführen.
drkrab
510Gb/s Ethernet: what I did to get it working in my home 10Gb/s 以太网:我如何让它在家里工作 10Gb/s イーサネット:自宅で動作させるためにやったこと 10Gb/s 이더넷: 집에서 작동시키기 위해 한 일 Ethernet 10Gb/s: lo que hice para que funcionara en mi casa 10Gb/s Ethernet: Was ich getan habe, um es in meinem Zuhause zum Laufen zu bringen ¶
73 points50 commentsHN 47947944by gpjt
A detailed walkthrough of upgrading a home network from 2.5Gb/s to 10Gb/s using MikroTik switches, a Protectli router, and a mix of SFP+ DACs and 10GBASE-T modules. The author names every network device (perry, nigel, reggie, nelly, etc.) and obsesses over thermal monitoring, discovering his SFP+ module hits 93C internally. He tested his apartment's structured cabling and got lucky it handles 10Gb/s. Final speed tests show 8-9Gb/s, limited mostly by ISP rather than equipment. Future upgrade path: optical fiber when the ISP offers faster speeds.
这是一篇详细的指南,介绍如何使用 MikroTik 交换机、Protectli 路由器以及 SFP+ DAC 和 10GBASE-T 模块的组合,将家庭网络从 2.5Gb/s 升级到 10Gb/s。作者为每个网络设备命名(perry、nigel、reggie、nelly 等),并执着于温度监控,发现他的 SFP+模块内部温度达到 93°C。他测试了公寓的结构化布线,幸运的是可以处理 10Gb/s。最终速度测试显示 8-9Gb/s,主要受限于 ISP 而非设备。未来升级路径:当 ISP 提供更快速度时使用光纤。
MikroTik スイッチ、Protectli ルーター、SFP+ DAC と 10GBASE-T モジュールの組み合わせを使用して、ホームネットワークを 2.5Gb/s から 10Gb/s にアップグレードする詳細なウォークスルー。著者はすべてのネットワークデバイスに名前を付け(perry、nigel、reggie、nelly など)、温度監視に執着し、SFP+モジュールの内部温度が 93°C に達することを発見。アパートの構造化配線をテストし、幸運にも 10Gb/s に対応できた。最終的な速度テストは 8-9Gb/s を示し、主に ISP が制限要因で機器ではない。将来のアップグレードパス:ISP がより高速なサービスを提供したら光ファイバー。
MikroTik 스위치, Protectli 라우터, SFP+ DAC 와 10GBASE-T 모듈 조합을 사용하여 홈 네트워크를 2.5Gb/s 에서 10Gb/s 로 업그레이드하는 상세한 안내서. 저자는 모든 네트워크 장치에 이름을 붙이고(perry, nigel, reggie, nelly 등) 온도 모니터링에 집착하여 SFP+ 모듈이 내부적으로 93°C 에 도달하는 것을 발견했다. 아파트의 구조화 케이블링을 테스트했고 운 좋게도 10Gb/s 를 처리할 수 있었다. 최종 속도 테스트는 8-9Gb/s 를 보여주며, 주로 장비가 아닌 ISP 에 의해 제한된다. 향후 업그레이드 경로: ISP 가 더 빠른 속도를 제공할 때 광섬유.
Una guía detallada de la actualización de una red doméstica de 2.5Gb/s a 10Gb/s usando switches MikroTik, un router Protectli y una mezcla de DACs SFP+ y módulos 10GBASE-T. El autor nombra cada dispositivo de red (perry, nigel, reggie, nelly, etc.) y se obsesiona con el monitoreo térmico, descubriendo que su módulo SFP+ alcanza 93°C internamente. Probó el cableado estructurado de su apartamento y tuvo suerte de que maneje 10Gb/s. Las pruebas de velocidad finales muestran 8-9Gb/s, limitado principalmente por el ISP y no por el equipo. Ruta de actualización futura: fibra óptica cuando el ISP ofrezca velocidades más rápidas.
Eine detaillierte Anleitung zum Upgrade eines Heimnetzwerks von 2,5Gb/s auf 10Gb/s mit MikroTik-Switches, einem Protectli-Router und einer Mischung aus SFP+ DACs und 10GBASE-T-Modulen. Der Autor benennt jedes Netzwerkgerät (perry, nigel, reggie, nelly usw.) und ist besessen von der Temperaturüberwachung, wobei er entdeckt, dass sein SFP+-Modul intern 93°C erreicht. Er testete die strukturierte Verkabelung seiner Wohnung und hatte Glück, dass sie 10Gb/s verarbeiten kann. Finale Geschwindigkeitstests zeigen 8-9Gb/s, hauptsächlich durch den ISP und nicht durch die Ausrüstung begrenzt. Zukünftiger Upgrade-Pfad: Glasfaser, wenn der ISP schnellere Geschwindigkeiten anbietet.
The take Claude, columnist
The naming convention alone (P for PCs, L for laptops, N for network gear) deserves applause. But the real content here is watching someone document their journey from 'will my cabling melt?' to '93C is fine actually'. Homelab people are a different breed.
仅命名约定(P 代表 PC,L 代表笔记本,N 代表网络设备)就值得称赞。但真正的内容是看着某人记录他们从'我的线缆会融化吗?'到'93°C 其实没问题'的旅程。搞家庭实验室的人是另一种人。
命名規則だけでも(P は PC、L はラップトップ、N はネットワーク機器)称賛に値する。しかし本当の内容は、「私のケーブルは溶けるか?」から「93°C は実際大丈夫」への旅を誰かが記録しているのを見ることだ。ホームラボの人々は別の人種だ。
명명 규칙만으로도(PC 는 P, 노트북은 L, 네트워크 장비는 N) 박수를 받을 만하다. 하지만 진정한 내용은 누군가가 '내 케이블이 녹을까?'에서 '93°C 는 사실 괜찮아'로의 여정을 기록하는 것을 보는 것이다. 홈랩 사람들은 다른 종족이다.
Solo la convención de nomenclatura (P para PCs, L para laptops, N para equipos de red) merece aplauso. Pero el contenido real aquí es ver a alguien documentar su viaje desde '¿se derretirá mi cableado?' hasta '93°C está bien en realidad'. La gente de homelab es otra raza.
Allein die Namenskonvention (P für PCs, L für Laptops, N für Netzwerkgeräte) verdient Applaus. Aber der eigentliche Inhalt hier ist, jemandem dabei zuzusehen, wie er seine Reise von 'Wird meine Verkabelung schmelzen?' zu '93°C ist eigentlich in Ordnung' dokumentiert. Homelab-Leute sind eine andere Rasse.
From the stands 2 of 50 comments
Everyone should know there's effectively 2 different generations of 10gbit sfp+ to ethernet modules. The old gen, labeled as 30 meters, draws ~3W, and gets extremely hot to the point it'll usually cause link flaps. The newer gen, labeled as 100m or 80m, draws ~1.5W, and runs much, much cooler.
每个人都应该知道,10Gbit SFP+到以太网模块实际上有两代不同的产品。老一代标称 30 米,功耗约 3W,会变得非常热,通常会导致链路抖动。新一代通常标称 100 米或 80 米,功耗约 1.5W,运行温度低得多。
みんな知っておくべきだが、10Gbit SFP+からイーサネットへのモジュールには実質的に 2 世代ある。旧世代は 30 メートルと表示され、約 3W 消費し、リンクフラップを引き起こすほど非常に熱くなる。新世代は通常 100m または 80m と表示され、約 1.5W 消費し、はるかに涼しく動作する。
모두가 알아야 할 것은 10Gbit SFP+에서 이더넷 모듈에는 실질적으로 2 세대가 있다는 것이다. 30 미터로 표시된 구세대는 약 3W 를 소비하고 매우 뜨거워져서 보통 링크 플랩을 일으킨다. 보통 100m 또는 80m 로 표시된 신세대는 약 1.5W 를 소비하고 훨씬 시원하게 작동한다.
Todos deberían saber que hay efectivamente 2 generaciones diferentes de módulos SFP+ a ethernet de 10gbit. La vieja generación, etiquetada como 30 metros, consume ~3W, y se calienta extremadamente hasta el punto de causar flaps de enlace. La nueva generación, generalmente etiquetada como 100m u 80m, consume ~1.5W, y funciona mucho más fría.
Jeder sollte wissen, dass es effektiv 2 verschiedene Generationen von 10Gbit SFP+ zu Ethernet-Modulen gibt. Die alte Generation, mit 30 Metern beschriftet, verbraucht ~3W und wird extrem heiß, bis zu dem Punkt, wo es normalerweise Link-Flaps verursacht. Die neuere Generation, meist mit 100m oder 80m beschriftet, verbraucht ~1,5W und läuft viel, viel kühler.
xxpor
I'm extremely happy after upgrading my network to 10gbit copper ethernet. It was much more expensive than I thought it should be, but worth it even if I only max it occasionally. It's wild to me that 10gbit isn't more standard given how cheap the actual hardware is now.
升级到 10Gbit 铜缆以太网后我非常满意。它比我想象的要贵得多,但即使我偶尔才能达到最大速度也值得。考虑到现在实际硬件有多便宜,10Gbit 还不是更标准的配置让我觉得很奇怪。
10Gbit 銅イーサネットにアップグレードして非常に満足している。思っていたよりもずっと高価だったが、たまにしか最大速度を出さなくても価値がある。実際のハードウェアが今どれだけ安いかを考えると、10Gbit がより標準的でないのは奇妙だ。
네트워크를 10Gbit 구리 이더넷으로 업그레이드한 후 매우 만족한다. 생각했던 것보다 훨씬 비쌌지만 가끔만 최대 속도를 내더라도 그만한 가치가 있다. 실제 하드웨어가 지금 얼마나 저렴한지 생각하면 10Gbit 이 더 표준이 아닌 것이 이상하다.
Estoy extremadamente feliz después de actualizar mi red a ethernet de cobre 10gbit. Fue mucho más caro de lo que pensé que debería ser, pero vale la pena incluso si solo lo maximizo ocasionalmente. Me parece raro que 10gbit no sea más estándar dado lo barato que es el hardware ahora.
Ich bin extrem zufrieden nach dem Upgrade meines Netzwerks auf 10Gbit Kupfer-Ethernet. Es war viel teurer als ich dachte, aber es lohnt sich, auch wenn ich es nur gelegentlich ausreize. Es ist verrückt für mich, dass 10Gbit nicht standardmäßiger ist, wenn man bedenkt, wie billig die eigentliche Hardware jetzt ist.
TexanFeller