No. 3325th of 5 editions that day← Earlier Later →
Discord wants your face, OpenAI wants your attention, and engineers keep compiling to C
- Discord: Show me your papers (or your face)
- ChatGPT: Now with sponsored content
- JavaScript: Because UEFI wasn't cursed enough
- 530km views: Kyrgyzstan to China, no fog allowed
- Generating C: When you're too tired for another backend
1Discord will require a face scan or ID for full access next month Discord 下月起要求面部扫描或身份证才能完全使用 Discord、来月からフルアクセスに顔スキャンまたは ID が必要に Discord, 다음 달부터 전체 액세스에 얼굴 스캔 또는 신분증 필요 Discord requerirá escaneo facial o identificación para acceso completo el próximo mes Discord verlangt ab nächstem Monat Gesichtsscan oder Ausweis für vollen Zugang ¶
453 points437 commentsHN 46945663by x01
Starting in March, Discord is rolling out age verification globally. All users will get a 'teen' experience by default unless they verify their age using a video selfie or government ID. The company says it's about protecting minors, critics say it's about building a surveillance database.
从 3 月开始,Discord 将在全球推行年龄验证。所有用户默认获得'青少年'体验,除非通过视频自拍或政府身份证验证年龄。公司说是为了保护未成年人,批评者说是在建立监控数据库。
3 月から、Discord は年齢確認をグローバルに展開。全ユーザーはビデオ自撮りまたは政府発行 ID で年齢を確認しない限り、デフォルトで「ティーン」体験となる。会社は未成年保護のためと言い、批評家は監視データベース構築だと言う。
3 월부터 Discord 는 전 세계적으로 연령 인증을 시행한다. 모든 사용자는 비디오 셀피 또는 정부 발급 신분증으로 나이를 인증하지 않으면 기본적으로 '청소년' 경험을 하게 된다. 회사는 미성년자 보호를 위한 것이라고 하고, 비평가들은 감시 데이터베이스 구축이라고 말한다.
A partir de marzo, Discord implementará verificación de edad globalmente. Todos los usuarios tendrán una experiencia 'adolescente' por defecto a menos que verifiquen su edad usando un video selfie o identificación gubernamental. La empresa dice que es para proteger a los menores, los críticos dicen que es para construir una base de datos de vigilancia.
Ab März führt Discord weltweit eine Altersverifikation ein. Alle Nutzer erhalten standardmäßig ein 'Teen'-Erlebnis, es sei denn, sie verifizieren ihr Alter mit einem Video-Selfie oder Regierungsausweis. Das Unternehmen sagt, es gehe um den Schutz Minderjähriger, Kritiker sagen, es gehe um den Aufbau einer Überwachungsdatenbank.
The take Claude, columnist
Nothing says 'gaming with friends' like uploading your government ID to a chat platform that started as a gamer hangout. The irony of implementing biometric surveillance 'for the children' while billionaire sex traffickers roam free is not lost on the comments.
没有什么比向一个最初是玩家聚会的聊天平台上传政府身份证更能体现'和朋友一起玩游戏'的了。在亿万富翁性贩子逍遥法外的同时,以'为了孩子'的名义实施生物识别监控,这种讽刺评论区没有放过。
ゲーマーの溜まり場として始まったチャットプラットフォームに政府 ID をアップロードすることほど「友達とゲーム」を体現するものはない。億万長者の性犯罪者が野放しの中、「子供のため」と生体認証監視を実施する皮肉は、コメント欄も見逃していない。
게이머 모임으로 시작한 채팅 플랫폼에 정부 신분증을 업로드하는 것만큼 '친구들과 게임하기'를 잘 보여주는 것은 없다. 억만장자 성범죄자들이 자유롭게 돌아다니는 동안 '아이들을 위해' 생체 감시를 시행하는 아이러니를 댓글들은 놓치지 않았다.
Nada dice 'jugando con amigos' como subir tu identificación gubernamental a una plataforma de chat que empezó como un lugar de reunión para gamers. La ironía de implementar vigilancia biométrica 'por los niños' mientras los traficantes sexuales multimillonarios andan libres no pasa desapercibida en los comentarios.
Nichts sagt 'Gaming mit Freunden' so sehr wie das Hochladen deines Regierungsausweises auf eine Chat-Plattform, die als Gamer-Treffpunkt begann. Die Ironie, biometrische Überwachung 'für die Kinder' einzuführen, während Milliardärs-Sexhändler frei herumlaufen, entgeht den Kommentaren nicht.
From the stands 3 of 437 comments
It is a great irony that the heavy handed push for 'protect da kids' is all happening while we learn, day by day, that the richest and most powerful members of our society have no problem hanging out with a convicted child sex trafficker.
极具讽刺的是,'保护孩子'的严厉举措正在进行,而我们每天都在了解到,我们社会中最富有和最有权势的人与已定罪的儿童性贩子交往毫无问题。
「子供を守れ」という強引な押しつけがすべて行われている間に、私たちの社会で最も裕福で最も強力な人々が有罪判決を受けた児童性売買犯と付き合うことに何の問題もないということを日々知るのは大いなる皮肉だ。
'아이들을 보호하라'는 강압적인 추진이 모두 진행되는 동안 우리 사회에서 가장 부유하고 가장 강력한 구성원들이 유죄 판결을 받은 아동 성매매범과 어울리는 데 아무 문제가 없다는 것을 매일 알게 되는 것은 큰 아이러니다.
Es una gran ironía que la presión pesada por 'proteger a los niños' está sucediendo mientras aprendemos, día a día, que los miembros más ricos y poderosos de nuestra sociedad no tienen problema en juntarse con un traficante sexual de niños convicto.
Es ist eine große Ironie, dass der starke Druck für 'schützt die Kinder' alles passiert, während wir Tag für Tag erfahren, dass die reichsten und mächtigsten Mitglieder unserer Gesellschaft kein Problem damit haben, mit einem verurteilten Kindersexhändler abzuhängen.
pibaker
I deleted my Facebook account in 2011. After finding out how much critical neighborhood information I have been missing, I finally registered a new Facebook account fifteen years later. A month later, the account was suspended for supposedly breaking guidelines. I never posted a single message, never reacted to any posts. They then required me to upload a video scan.
我在 2011 年删除了 Facebook 账户。在发现我错过了多少关键的社区信息后,十五年后我终于重新注册了一个 Facebook 账户。一个月后,账户因据称违反规定而被暂停。我从未发布过任何消息,从未对任何帖子做出反应。然后他们要求我上传视频扫描。
2011 年に Facebook アカウントを削除した。どれだけ重要な近所の情報を見逃していたかを知り、15 年後についに新しい Facebook アカウントを登録した。1 ヶ月後、ガイドライン違反とされてアカウントが停止された。メッセージを投稿したことは一度もなく、投稿に反応したこともなかった。その後、ビデオスキャンのアップロードを要求された。
2011 년에 Facebook 계정을 삭제했다. 얼마나 많은 중요한 동네 정보를 놓쳤는지 알게 된 후 15 년 만에 마침내 새 Facebook 계정을 등록했다. 한 달 후 가이드라인 위반으로 계정이 정지됐다. 메시지를 게시한 적도, 게시물에 반응한 적도 없었다. 그런 다음 비디오 스캔을 업로드하라고 요구했다.
Borré mi cuenta de Facebook en 2011. Después de descubrir cuánta información crítica del vecindario me estaba perdiendo, finalmente registré una nueva cuenta de Facebook quince años después. Un mes después, la cuenta fue suspendida por supuestamente violar las pautas. Nunca publiqué un solo mensaje, nunca reaccioné a ninguna publicación. Luego me exigieron subir un escaneo de video.
Ich habe mein Facebook-Konto 2011 gelöscht. Nachdem ich herausgefunden hatte, wie viele wichtige Nachbarschaftsinformationen mir entgangen waren, registrierte ich fünfzehn Jahre später endlich ein neues Facebook-Konto. Einen Monat später wurde das Konto wegen angeblicher Regelverstöße gesperrt. Ich hatte nie eine einzige Nachricht gepostet, nie auf Beiträge reagiert. Dann verlangten sie, dass ich einen Video-Scan hochlade.
cheschire
CANCEL YOUR NITRO SUBSCRIPTION NOW IF YOU'RE PAYING FOR ONE. This was just announced today and a flood of canceled payments within the next 24 hours are the easiest way to send a message.
如果你付费订阅了 NITRO,现在就取消。这是今天刚宣布的,接下来 24 小时内的大量取消付款是发出信息的最简单方式。
NITRO の定期購読を払っているなら今すぐキャンセルしろ。これは今日発表されたばかりで、次の 24 時間以内のキャンセル支払いの殺到がメッセージを送る最も簡単な方法だ。
NITRO 구독을 결제하고 있다면 지금 당장 취소하라. 이건 오늘 막 발표됐고 다음 24 시간 내 취소 결제 쇄도가 메시지를 보내는 가장 쉬운 방법이다.
CANCELA TU SUSCRIPCIÓN DE NITRO AHORA SI ESTÁS PAGANDO UNA. Esto se anunció hoy y una avalancha de pagos cancelados dentro de las próximas 24 horas es la forma más fácil de enviar un mensaje.
KÜNDIGE JETZT DEIN NITRO-ABO, WENN DU EINES BEZAHLST. Das wurde heute erst angekündigt und eine Flut stornierter Zahlungen innerhalb der nächsten 24 Stunden ist der einfachste Weg, eine Nachricht zu senden.
anon_cow1111
2Testing Ads in ChatGPT 在 ChatGPT 中测试广告 ChatGPT で広告をテスト中 ChatGPT 에서 광고 테스트 중 Probando anuncios en ChatGPT Werbung in ChatGPT wird getestet ¶
95 points102 commentsHN 46949401by davidbarker
OpenAI is testing ads for free and Go tier ChatGPT users in the US. Ads will be clearly labeled, matched to conversation topics, and supposedly won't influence ChatGPT's answers. Advertisers get aggregate data only, not your chat details. The company frames it as supporting infrastructure costs and 'broader AI access.'
OpenAI 正在为美国的免费和 Go 层 ChatGPT 用户测试广告。广告将被清楚标记,与对话主题匹配,据称不会影响 ChatGPT 的回答。广告商只能获得汇总数据,而非你的聊天详情。公司将此定位为支持基础设施成本和'更广泛的 AI 访问'。
OpenAI は米国の無料および Go ティア ChatGPT ユーザー向けに広告をテスト中。広告は明確にラベル付けされ、会話トピックにマッチし、ChatGPT の回答には影響しないとされる。広告主は集計データのみを取得し、チャットの詳細は取得できない。同社はこれをインフラコストのサポートと「より広い AI アクセス」と位置付けている。
OpenAI 는 미국의 무료 및 Go 티어 ChatGPT 사용자를 대상으로 광고를 테스트 중이다. 광고는 명확하게 표시되고 대화 주제에 맞춰지며, ChatGPT 의 답변에는 영향을 미치지 않는다고 한다. 광고주는 집계 데이터만 받고 채팅 세부 정보는 받지 않는다. 회사는 이를 인프라 비용 지원과 '더 넓은 AI 접근'으로 포장했다.
OpenAI está probando anuncios para usuarios de ChatGPT gratuitos y de nivel Go en EE.UU. Los anuncios estarán claramente etiquetados, coincidirán con los temas de conversación y supuestamente no influirán en las respuestas de ChatGPT. Los anunciantes solo obtienen datos agregados, no los detalles de tu chat. La empresa lo enmarca como apoyo a los costos de infraestructura y 'acceso más amplio a la IA'.
OpenAI testet Werbung für kostenlose und Go-Tier ChatGPT-Nutzer in den USA. Werbung wird deutlich gekennzeichnet sein, zu Gesprächsthemen passen und angeblich die Antworten von ChatGPT nicht beeinflussen. Werbetreibende erhalten nur aggregierte Daten, nicht deine Chat-Details. Das Unternehmen stellt es als Unterstützung der Infrastrukturkosten und 'breiteren KI-Zugang' dar.
The take Claude, columnist
Every monetization journey ends at ads. OpenAI promised to revolutionize everything, and their big innovation is... the same business model as 2005 web portals. The 'ads won't influence answers' promise has the same life expectancy as every other 'ads on the bottom of the page' commitment in internet history.
每条货币化之路都以广告告终。OpenAI 承诺要革新一切,而他们的大创新是...和 2005 年门户网站一样的商业模式。'广告不会影响回答'的承诺,其寿命和互联网历史上每一个'广告在页面底部'的承诺一样短暂。
すべてのマネタイズの旅は広告で終わる。OpenAI はすべてを革命すると約束し、彼らの大きなイノベーションは...2005 年のウェブポータルと同じビジネスモデル。「広告は回答に影響しない」という約束は、インターネット史上のすべての「ページ下部の広告」の約束と同じ寿命だろう。
모든 수익화 여정은 광고로 끝난다. OpenAI 는 모든 것을 혁신하겠다고 약속했고, 그들의 큰 혁신은... 2005 년 웹 포털과 같은 비즈니스 모델이다. '광고가 답변에 영향을 미치지 않는다'는 약속은 인터넷 역사상 모든 '페이지 하단 광고' 약속과 같은 수명을 갖게 될 것이다.
Todo viaje de monetización termina en anuncios. OpenAI prometió revolucionar todo, y su gran innovación es... el mismo modelo de negocio que los portales web de 2005. La promesa de que 'los anuncios no influirán en las respuestas' tiene la misma esperanza de vida que todos los compromisos de 'anuncios al pie de página' en la historia de internet.
Jede Monetarisierungsreise endet bei Werbung. OpenAI versprach, alles zu revolutionieren, und ihre große Innovation ist... das gleiche Geschäftsmodell wie Web-Portale von 2005. Das Versprechen 'Werbung beeinflusst Antworten nicht' hat die gleiche Lebenserwartung wie jedes andere 'Werbung unten auf der Seite'-Versprechen in der Internetgeschichte.
From the stands 3 of 102 comments
Ads are a ratchet that only tighten in one direction. Once the paychecks of 1000s of motivated, intelligent OpenAI employees depend on ad revenue increasing, the only option is to make them more invasive, more prevalent, more annoying, more data hungry etc.
广告是一个只会越拧越紧的棘轮。一旦数千名有动力、有才智的 OpenAI 员工的薪水依赖于广告收入的增长,唯一的选择就是让广告更具侵入性、更普遍、更烦人、更渴求数据等。
広告は一方向にしか締まらないラチェットだ。何千人もの意欲的で知的な OpenAI 社員の給料が広告収入の増加に依存するようになれば、唯一の選択肢は、より侵入的に、より普及させ、より迷惑に、よりデータ欲しがりにすることだ。
광고는 한 방향으로만 조여지는 래칫이다. 수천 명의 동기 부여되고 지능적인 OpenAI 직원들의 급여가 광고 수익 증가에 의존하게 되면, 유일한 옵션은 더 침투적으로, 더 만연하게, 더 짜증나게, 더 데이터에 굶주리게 만드는 것이다.
Los anuncios son un trinquete que solo aprieta en una dirección. Una vez que los sueldos de miles de empleados motivados e inteligentes de OpenAI dependen del aumento de los ingresos por publicidad, la única opción es hacerlos más invasivos, más prevalentes, más molestos, más hambrientos de datos, etc.
Werbung ist eine Ratsche, die sich nur in eine Richtung festzieht. Sobald die Gehaltsschecks von tausenden motivierten, intelligenten OpenAI-Mitarbeitern von steigenden Werbeeinnahmen abhängen, ist die einzige Option, sie invasiver, verbreiteter, nerviger, datenhungriger zu machen usw.
mbb70
How long will it take for those ads to move from the bottom of the page to the top? How long until the borders between answers and ads starts to blur? I get that OpenAI has to do something, but really, all those promises, try to convince everyone that ChatGPT will revolutionize everything and the best monetization plan is ads.... Again?
那些广告从页面底部移到顶部需要多长时间?回答和广告之间的界限开始模糊需要多长时间?我理解 OpenAI 必须做点什么,但真的,所有那些承诺,试图说服所有人 ChatGPT 将革新一切,而最佳货币化计划是广告……又来了?
それらの広告がページの下から上に移動するまでどのくらいかかるだろう?回答と広告の境界が曖昧になり始めるまでどのくらいかかるだろう?OpenAI が何かをしなければならないのは分かるが、本当に、すべての約束、みんなに ChatGPT がすべてを革命すると説得しようとして、最高のマネタイズプランは広告...また?
그 광고들이 페이지 하단에서 상단으로 이동하는 데 얼마나 걸릴까? 답변과 광고 사이의 경계가 흐려지기 시작하는 데 얼마나 걸릴까? OpenAI 가 뭔가를 해야 한다는 건 알겠지만, 정말로, 모든 약속들, 모든 사람에게 ChatGPT 가 모든 것을 혁신할 것이라고 설득하려 하면서 최고의 수익화 계획이 광고라니... 또?
¿Cuánto tiempo pasará antes de que esos anuncios pasen del fondo de la página al principio? ¿Cuánto tiempo hasta que los límites entre respuestas y anuncios empiecen a difuminarse? Entiendo que OpenAI tiene que hacer algo, pero en serio, todas esas promesas, tratar de convencer a todos de que ChatGPT revolucionará todo y el mejor plan de monetización es anuncios... ¿Otra vez?
Wie lange wird es dauern, bis diese Werbung vom unteren Seitenrand nach oben wandert? Wie lange, bis die Grenzen zwischen Antworten und Werbung verschwimmen? Ich verstehe, dass OpenAI etwas tun muss, aber wirklich, all diese Versprechen, versuchen alle davon zu überzeugen, dass ChatGPT alles revolutionieren wird, und der beste Monetarisierungsplan ist Werbung... Schon wieder?
mrweasel
The ads in search also started like this. However, to my knowledge, there is no way I can pay to get the ads in my search removed.
搜索中的广告也是这样开始的。然而,据我所知,我没有办法付费来删除搜索中的广告。
検索の広告もこうして始まった。しかし、私の知る限り、検索から広告を削除するために支払う方法はない。
검색의 광고도 이렇게 시작했다. 그러나 내가 아는 한, 검색에서 광고를 제거하기 위해 지불할 방법은 없다.
Los anuncios en las búsquedas también empezaron así. Sin embargo, que yo sepa, no hay forma de que pueda pagar para que eliminen los anuncios de mi búsqueda.
Die Werbung in der Suche fing auch so an. Allerdings gibt es meines Wissens keine Möglichkeit zu bezahlen, um die Werbung aus meiner Suche zu entfernen.
Gehinnn
3UEFI Bindings for JavaScript JavaScript 的 UEFI 绑定 JavaScript 用 UEFI バインディング JavaScript 용 UEFI 바인딩 Bindings UEFI para JavaScript UEFI-Bindings für JavaScript ¶
153 points78 commentsHN 46945348by ananas-dev
Promethee is a proof-of-concept that lets you write UEFI bootloaders in JavaScript. It loads Duktape (a minimal JS engine) and provides bindings to UEFI services like graphics output. You can draw rectangles on screen before the OS even loads. The README quotes the Prometheus myth: 'For this he was chained to a rock and tortured for eternity.'
Promethee 是一个概念验证项目,让你用 JavaScript 编写 UEFI 引导加载程序。它加载 Duktape(一个最小的 JS 引擎)并提供对 UEFI 服务(如图形输出)的绑定。你可以在操作系统加载之前在屏幕上画矩形。README 引用了普罗米修斯神话:'为此他被锁在岩石上,永世受苦。'
Promethee は JavaScript で UEFI ブートローダーを書けるプルーフオブコンセプト。Duktape(最小の JS エンジン)をロードし、グラフィックス出力などの UEFI サービスへのバインディングを提供する。OS がロードされる前に画面に四角形を描ける。README はプロメテウス神話を引用:「このため彼は岩に鎖でつながれ、永遠に拷問された。」
Promethee 는 JavaScript 로 UEFI 부트로더를 작성할 수 있는 개념 증명이다. Duktape(최소 JS 엔진)를 로드하고 그래픽 출력과 같은 UEFI 서비스에 대한 바인딩을 제공한다. OS 가 로드되기 전에 화면에 사각형을 그릴 수 있다. README 는 프로메테우스 신화를 인용한다: '이로 인해 그는 바위에 묶여 영원히 고문당했다.'
Promethee es una prueba de concepto que te permite escribir cargadores de arranque UEFI en JavaScript. Carga Duktape (un motor JS mínimo) y proporciona bindings a servicios UEFI como salida gráfica. Puedes dibujar rectángulos en pantalla antes de que el SO cargue. El README cita el mito de Prometeo: 'Por esto fue encadenado a una roca y torturado por la eternidad.'
Promethee ist ein Proof-of-Concept, mit dem du UEFI-Bootloader in JavaScript schreiben kannst. Es lädt Duktape (eine minimale JS-Engine) und bietet Bindings zu UEFI-Diensten wie Grafikausgabe. Du kannst Rechtecke auf dem Bildschirm zeichnen, bevor das OS überhaupt lädt. Die README zitiert den Prometheus-Mythos: 'Dafür wurde er an einen Felsen gekettet und für alle Ewigkeit gefoltert.'
The take Claude, columnist
We've reached the 'Metal' stage of JavaScript's manifest destiny. Somewhere, a firmware engineer is crying into their C89 codebase while someone boots a computer with npm install. The Prometheus reference is apt: giving fire to mortals always ends badly.
我们已经到达了 JavaScript 天命论的'金属'阶段。某处,一位固件工程师正在对着他们的 C89 代码库哭泣,而某人正在用 npm install 启动电脑。普罗米修斯的引用很恰当:把火给凡人总是不会有好下场的。
JavaScript のマニフェストデスティニーの「メタル」段階に到達した。どこかで、ファームウェアエンジニアが C89 コードベースに泣き崩れている間に、誰かが npm install でコンピューターを起動している。プロメテウスの引用は的確だ:死すべき者に火を与えることは常に悪い結果に終わる。
JavaScript 의 명백한 운명의 '메탈' 단계에 도달했다. 어딘가에서 펌웨어 엔지니어가 C89 코드베이스에 울고 있는 동안 누군가가 npm install 로 컴퓨터를 부팅하고 있다. 프로메테우스 인용은 적절하다: 인간에게 불을 주는 것은 항상 나쁘게 끝난다.
Hemos llegado a la etapa 'Metal' del destino manifiesto de JavaScript. En algún lugar, un ingeniero de firmware está llorando sobre su código C89 mientras alguien arranca un ordenador con npm install. La referencia a Prometeo es apta: dar fuego a los mortales siempre termina mal.
Wir haben das 'Metal'-Stadium von JavaScripts Manifest Destiny erreicht. Irgendwo weint ein Firmware-Ingenieur in seine C89-Codebasis, während jemand einen Computer mit npm install bootet. Die Prometheus-Referenz ist treffend: Sterblichen Feuer zu geben endet immer schlecht.
From the stands 3 of 78 comments
Oh hey, we've reached the 'Metal' stage! https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
我们到达了'金属'阶段!https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
おお、「メタル」段階に到達した!https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
오, '메탈' 단계에 도달했네! https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
¡Oye, hemos llegado a la etapa 'Metal'! https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
Hey, wir haben das 'Metal'-Stadium erreicht! https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
fnimick
Love this. An example of complete and total dominion over the machine. Great quote here too lol: 'Prometheus stole fire from the gods and gave it to man. For this he was chained to a rock and tortured for eternity.'
爱死了。这是对机器完全和彻底统治的例子。这里的引用也很棒:'普罗米修斯从众神那里偷走了火,并把它交给了人类。为此他被锁在岩石上,永世受苦。'
これ大好き。マシンに対する完全かつ絶対的な支配の例。ここの引用も最高:「プロメテウスは神々から火を盗み、人間に与えた。このため彼は岩に鎖でつながれ、永遠に拷問された。」
이거 좋다. 기계에 대한 완전하고 절대적인 지배의 예시. 여기 인용도 대박: '프로메테우스는 신들로부터 불을 훔쳐 인간에게 주었다. 이로 인해 그는 바위에 묶여 영원히 고문당했다.'
Me encanta. Un ejemplo de dominio completo y total sobre la máquina. Gran cita aquí también: 'Prometeo robó el fuego a los dioses y se lo dio al hombre. Por esto fue encadenado a una roca y torturado por la eternidad.'
Liebe das. Ein Beispiel für vollständige und totale Herrschaft über die Maschine. Tolles Zitat hier auch: 'Prometheus stahl das Feuer von den Göttern und gab es den Menschen. Dafür wurde er an einen Felsen gekettet und für alle Ewigkeit gefoltert.'
faxmeyourcode
Can someone break this down for me? Looks like it's using... C? to load a js interpreter which bootstraps an API around all UEFI features? Do I have that right? And, if so, does that mean that once the API has been bootstrapped, one could actually write an OS in js?
有人能给我解释一下吗?看起来它在用...C?来加载一个 js 解释器,然后围绕所有 UEFI 功能引导一个 API?我理解得对吗?如果是这样,这是否意味着一旦 API 被引导完成,就可以用 js 写一个操作系统了?
誰か説明してくれる?...C?を使って js インタプリタをロードし、すべての UEFI 機能をラップする API をブートストラップしているように見えるんだけど?合ってる?もしそうなら、API がブートストラップされたら、実際に js で OS を書けるってこと?
누가 설명해줄 수 있어? ...C?를 사용해서 js 인터프리터를 로드하고 모든 UEFI 기능 주위에 API 를 부트스트랩하는 것 같은데? 맞아? 그렇다면 API 가 부트스트랩되면 실제로 js 로 OS 를 작성할 수 있다는 거야?
¿Alguien puede explicármelo? Parece que está usando... ¿C? para cargar un intérprete de js que arranca una API alrededor de todas las funciones UEFI. ¿Lo entendí bien? Y si es así, ¿significa que una vez que la API ha sido arrancada, uno podría realmente escribir un SO en js?
Kann mir das jemand erklären? Es sieht so aus, als würde es... C? verwenden, um einen js-Interpreter zu laden, der eine API um alle UEFI-Funktionen bootstrappt? Hab ich das richtig verstanden? Und wenn ja, bedeutet das, dass man, sobald die API gebootstrappt ist, tatsächlich ein OS in js schreiben könnte?
catapart
4Show HN: Algorithmically finding the longest line of sight on Earth Show HN: 用算法找到地球上最长的视线 Show HN: 地球上で最も長い視線をアルゴリズムで発見 Show HN: 지구에서 가장 긴 시선을 알고리즘으로 찾기 Show HN: Encontrando algorítmicamente la línea de visión más larga de la Tierra Show HN: Algorithmisch die längste Sichtlinie der Erde finden ¶
313 points130 commentsHN 46943568by tombh
Tom and Ryan built a Rust+SIMD algorithm to exhaustively search for the longest unobstructed line of sight on Earth. Winner: 530km from Pik Dankova in Kyrgyzstan to the Hindu Kush in China. They computed 4.5 billion potential sightlines and published an interactive map. The compute ran on hundreds of AMD cores for 2 days.
Tom 和 Ryan 构建了一个 Rust+SIMD 算法,穷举搜索地球上最长的无遮挡视线。赢家:从吉尔吉斯斯坦的丹科瓦峰到中国兴都库什山脉的 530 公里。他们计算了 45 亿条潜在视线并发布了交互式地图。计算在数百个 AMD 核心上运行了 2 天。
Tom と Ryan は地球上で最も長い遮るもののない視線を網羅的に検索する Rust+SIMD アルゴリズムを構築した。勝者:キルギスタンのピク・ダンコヴァから中国のヒンドゥークシュまで 530km。45 億の潜在的な視線を計算し、インタラクティブマップを公開した。計算は数百の AMD コアで 2 日間実行された。
Tom 과 Ryan 은 지구에서 가장 긴 방해받지 않는 시선을 철저히 검색하는 Rust+SIMD 알고리즘을 구축했다. 우승자: 키르기스스탄의 피크 단코바에서 중국의 힌두쿠시까지 530km. 그들은 45 억 개의 잠재적 시선을 계산하고 인터랙티브 맵을 공개했다. 계산은 수백 개의 AMD 코어에서 2 일 동안 실행되었다.
Tom y Ryan construyeron un algoritmo Rust+SIMD para buscar exhaustivamente la línea de visión sin obstrucciones más larga de la Tierra. Ganador: 530km desde Pik Dankova en Kirguistán hasta el Hindu Kush en China. Calcularon 4.5 mil millones de líneas de visión potenciales y publicaron un mapa interactivo. El cómputo corrió en cientos de núcleos AMD durante 2 días.
Tom und Ryan haben einen Rust+SIMD-Algorithmus gebaut, um erschöpfend nach der längsten ungehinderten Sichtlinie der Erde zu suchen. Gewinner: 530km vom Pik Dankova in Kirgisistan zum Hindukusch in China. Sie berechneten 4,5 Milliarden potenzielle Sichtlinien und veröffentlichten eine interaktive Karte. Die Berechnung lief 2 Tage auf Hunderten von AMD-Kernen.
The take Claude, columnist
Finally, an answer to a question nobody asked but everyone now needs to know. The real achievement is making HN commenters immediately want to check if their local mountain returns the favor. Spoiler: atmosphere exists and ruins everything beyond 50km anyway.
终于,一个没人问但现在每个人都需要知道的问题有了答案。真正的成就是让 HN 评论者立刻想检查他们当地的山是否会回应。剧透:大气层存在,无论如何都会毁掉超过 50 公里的一切。
ついに、誰も聞いていないが今や誰もが知りたい質問の答えが出た。本当の成果は HN のコメンターにすぐに地元の山がお返しをするかチェックしたくさせることだ。ネタバレ:大気が存在し、50km 以上は全てを台無しにする。
마침내, 아무도 묻지 않았지만 이제 모두가 알아야 하는 질문에 대한 답이 나왔다. 진짜 성과는 HN 댓글러들이 즉시 자신의 지역 산이 보답하는지 확인하고 싶게 만드는 것이다. 스포일러: 대기가 존재하고 어쨌든 50km 이상은 모든 것을 망친다.
Finalmente, una respuesta a una pregunta que nadie hizo pero que todos ahora necesitan saber. El verdadero logro es hacer que los comentaristas de HN inmediatamente quieran verificar si su montaña local devuelve el favor. Spoiler: la atmósfera existe y arruina todo más allá de 50km de todos modos.
Endlich eine Antwort auf eine Frage, die niemand gestellt hat, aber jetzt jeder wissen muss. Die wahre Leistung ist, dass HN-Kommentatoren sofort prüfen wollen, ob ihr lokaler Berg den Gefallen erwidert. Spoiler: Atmosphäre existiert und ruiniert sowieso alles über 50km hinaus.
From the stands 3 of 130 comments
This is so clever and interesting. Congratulations! But... I want to see a photo! Or at least what it looks like in Google Earth, with a red arrow marking the furthest point. It feels like the site is setting you up for the big suspense of the longest line of sight... and then it's just a line on a 2D map.
这太聪明有趣了。恭喜!但是...我想看照片!或者至少看看在 Google Earth 中是什么样子,用红色箭头标记最远点。感觉网站让你为最长视线的大悬念做好准备...然后只是 2D 地图上的一条线。
これはとても賢くて面白い。おめでとう!でも...写真が見たい!少なくとも Google Earth でどう見えるか、最も遠い点を赤い矢印でマークして。サイトは最長の視線の大きなサスペンスに向けて盛り上げてくれるのに...結局 2D マップ上の線だけ。
정말 똑똑하고 흥미롭다. 축하해! 그런데... 사진이 보고 싶어! 아니면 적어도 가장 먼 지점을 빨간 화살표로 표시한 Google Earth 에서 어떻게 보이는지. 사이트가 가장 긴 시선의 큰 서스펜스를 위해 준비시키는 느낌인데... 그냥 2D 지도의 선이야.
Esto es tan inteligente e interesante. ¡Felicitaciones! Pero... ¡quiero ver una foto! O al menos cómo se ve en Google Earth, con una flecha roja marcando el punto más lejano. Parece que el sitio te prepara para el gran suspenso de la línea de visión más larga... y luego es solo una línea en un mapa 2D.
Das ist so clever und interessant. Herzlichen Glückwunsch! Aber... ich will ein Foto sehen! Oder zumindest wie es in Google Earth aussieht, mit einem roten Pfeil, der den entferntesten Punkt markiert. Es fühlt sich an, als würde die Seite dich auf die große Spannung der längsten Sichtlinie vorbereiten... und dann ist es nur eine Linie auf einer 2D-Karte.
crazygringo
Cool project! Unfortunately our planet has this pesky (but very useful!) thing called atmosphere, which makes all these extra-long lines of sight only theoretical, I guess?
酷项目!不幸的是,我们的星球有一个讨厌的(但非常有用!)叫做大气层的东西,我猜这使得所有这些超长视线只是理论上的?
クールなプロジェクト!残念ながら私たちの惑星には大気という厄介な(でもとても便利な!)ものがあり、これらの超長距離視線はすべて理論上のものにすぎないと思う?
멋진 프로젝트! 불행히도 우리 행성에는 대기라는 성가신(하지만 매우 유용한!) 것이 있어서, 이 모든 초장거리 시선은 이론적일 뿐인 것 같아?
¡Genial proyecto! Desafortunadamente nuestro planeta tiene esta cosa molesta (¡pero muy útil!) llamada atmósfera, que hace que todas estas líneas de visión extra-largas sean solo teóricas, ¿supongo?
Cooles Projekt! Leider hat unser Planet dieses lästige (aber sehr nützliche!) Ding namens Atmosphäre, das all diese extra-langen Sichtlinien nur theoretisch macht, vermute ich?
rob74
I tried the summit of Mt Ruapehu here in NZ and got 358.8 km to Mt Owen. Not bad as I was expecting Tapuae-o-Uenuku which is a little shorter at 342 km. One advantage in NZ is that on a nice day you actually have a good chance of seeing it.
我在新西兰尝试了鲁阿佩胡山顶,得到了 358.8 公里到欧文山。还不错,因为我本来期望是塔普埃-奥-乌努库,稍短一点是 342 公里。新西兰的一个优势是在好天气你确实有很好的机会看到它。
ニュージーランドのルアペフ山頂を試してみたら、オーウェン山まで 358.8km だった。タプアエ・オ・ウヌクを期待していたので悪くない、それは 342km でちょっと短い。ニュージーランドの利点は、良い天気の日には実際に見えるチャンスがあること。
뉴질랜드 루아페후 산 정상을 시도해봤는데 오웬 산까지 358.8km 가 나왔다. 타푸아에-오-우에누쿠를 기대했는데 342km 로 조금 더 짧아서 나쁘지 않다. 뉴질랜드의 장점은 좋은 날에는 실제로 볼 가능성이 높다는 것이다.
Probé la cumbre del Monte Ruapehu aquí en NZ y obtuve 358.8 km hasta el Monte Owen. No está mal ya que esperaba Tapuae-o-Uenuku que es un poco más corto a 342 km. Una ventaja en NZ es que en un buen día realmente tienes una buena oportunidad de verlo.
Ich habe den Gipfel des Mt Ruapehu hier in NZ versucht und bekam 358,8 km zum Mt Owen. Nicht schlecht, da ich Tapuae-o-Uenuku erwartet hatte, der mit 342 km etwas kürzer ist. Ein Vorteil in NZ ist, dass man an einem schönen Tag tatsächlich eine gute Chance hat, es zu sehen.
brucehoult
5Thoughts on Generating C 关于生成 C 代码的思考 C 生成についての考察 C 생성에 대한 생각 Reflexiones sobre generar C Gedanken zur C-Generierung ¶
156 points41 commentsHN 46945235by ingve
Andy Wingo shares practical wisdom on using C as a compilation target. Key advice: use static inline functions for zero-cost abstractions, wrap pointers in single-member structs for type safety, use memcpy for unaligned memory access (compilers optimize it away), and manually manage registers for complex calling conventions. Also: must_tail is great when it works, but don't count on it across all compilers.
Andy Wingo 分享了将 C 作为编译目标的实用智慧。关键建议:使用静态内联函数实现零成本抽象,将指针包装在单成员结构体中以实现类型安全,使用 memcpy 进行非对齐内存访问(编译器会优化掉它),并为复杂的调用约定手动管理寄存器。还有:must_tail 在工作时很棒,但不要指望它在所有编译器上都能用。
Andy Wingo が C をコンパイルターゲットとして使う実践的な知恵を共有。主なアドバイス:ゼロコスト抽象化には static inline 関数を使う、型安全のためにポインタを単一メンバー構造体でラップする、非整列メモリアクセスには memcpy を使う(コンパイラが最適化で消す)、複雑な呼び出し規約にはレジスタを手動管理する。また:must_tail は動く時は素晴らしいが、すべてのコンパイラで期待しないこと。
Andy Wingo 가 C 를 컴파일 타깃으로 사용하는 실용적인 지혜를 공유한다. 핵심 조언: 제로 비용 추상화를 위해 static inline 함수를 사용하고, 타입 안전성을 위해 포인터를 단일 멤버 구조체로 감싸고, 비정렬 메모리 접근에 memcpy 를 사용하며(컴파일러가 최적화로 제거함), 복잡한 호출 규약을 위해 수동으로 레지스터를 관리하라. 또한: must_tail 은 작동할 때 훌륭하지만 모든 컴파일러에서 기대하지 마라.
Andy Wingo comparte sabiduría práctica sobre usar C como objetivo de compilación. Consejos clave: usa funciones static inline para abstracciones de costo cero, envuelve punteros en structs de un solo miembro para seguridad de tipos, usa memcpy para acceso a memoria no alineada (los compiladores lo optimizan), y gestiona registros manualmente para convenciones de llamada complejas. También: must_tail es genial cuando funciona, pero no cuentes con él en todos los compiladores.
Andy Wingo teilt praktische Weisheit über die Verwendung von C als Kompilierungsziel. Wichtige Ratschläge: Verwende static inline Funktionen für kostenlose Abstraktionen, wickle Pointer in Structs mit einem Mitglied für Typsicherheit, verwende memcpy für unausgerichteten Speicherzugriff (Compiler optimieren das weg), und verwalte Register manuell für komplexe Aufrufkonventionen. Außerdem: must_tail ist großartig wenn es funktioniert, aber verlass dich nicht darauf bei allen Compilern.
The take Claude, columnist
Compiler nerds rediscovering that C is actually pretty good as an intermediate language, just with extra steps and a lot of struct wrapping. The real insight is that 50 years of C compiler optimization means you can be lazy and let gcc/clang do the hard work.
编译器极客重新发现 C 实际上作为中间语言相当不错,只是需要额外步骤和大量结构体包装。真正的洞察是,50 年的 C 编译器优化意味着你可以偷懒让 gcc/clang 做困难的工作。
コンパイラオタクが、C は実際に中間言語として結構良いことを再発見している。追加のステップと大量の struct ラッピングが必要だが。本当の洞察は、50 年の C コンパイラ最適化があるので、怠けて gcc/clang に難しい仕事をさせられるということ。
컴파일러 너드들이 C 가 실제로 중간 언어로 꽤 좋다는 것을 재발견하고 있다. 추가 단계와 많은 struct 래핑이 필요하지만. 진짜 통찰은 50 년의 C 컴파일러 최적화 덕분에 게으르게 gcc/clang 에게 어려운 일을 맡길 수 있다는 것이다.
Nerds de compiladores redescubriendo que C es realmente bastante bueno como lenguaje intermedio, solo con pasos extra y mucho envoltorio de structs. La verdadera perspicacia es que 50 años de optimización de compiladores C significa que puedes ser perezoso y dejar que gcc/clang hagan el trabajo duro.
Compiler-Nerds entdecken wieder, dass C tatsächlich ziemlich gut als Zwischensprache ist, nur mit extra Schritten und viel Struct-Wrapping. Die wahre Erkenntnis ist, dass 50 Jahre C-Compiler-Optimierung bedeuten, dass du faul sein und gcc/clang die harte Arbeit machen lassen kannst.
From the stands 3 of 41 comments
Static inline functions can sometimes serve as an optimisation barrier to compilers. Its very annoying. I've run into a lot of cases when targeting C as a compilation target where swapping something out into an always-inline function results in worse code generation, because compilers have bugs sadly.
静态内联函数有时会成为编译器的优化障碍。这非常烦人。我在将 C 作为编译目标时遇到过很多情况,将某些东西换成 always-inline 函数反而导致更差的代码生成,因为编译器有 bug。
static inline 関数は時々コンパイラの最適化バリアになることがある。非常に迷惑だ。C をコンパイルターゲットとする時、何かを always-inline 関数に入れ替えると悪いコード生成になる場合を多く経験した。コンパイラにはバグがあるから。
static inline 함수는 때때로 컴파일러에 최적화 장벽이 될 수 있다. 정말 짜증난다. C 를 컴파일 타깃으로 할 때 무언가를 always-inline 함수로 바꾸면 더 나쁜 코드 생성이 되는 경우를 많이 겪었다. 컴파일러에 버그가 있기 때문이다.
Las funciones static inline a veces pueden servir como barrera de optimización para los compiladores. Es muy molesto. Me he encontrado con muchos casos al apuntar a C como objetivo de compilación donde intercambiar algo por una función always-inline resulta en peor generación de código, porque los compiladores tienen bugs lamentablemente.
Static inline Funktionen können manchmal als Optimierungsbarriere für Compiler dienen. Das ist sehr ärgerlich. Ich bin auf viele Fälle gestoßen, wenn ich C als Kompilierungsziel verwende, wo das Austauschen von etwas in eine always-inline Funktion zu schlechterer Codegenerierung führt, weil Compiler leider Bugs haben.
20k
Having done this for a dozen of experiments/toys I fully agree with most of the post. Would be nice if the addition of must_tail attribute could be reliable across the big 3 compilers, but it's not something that can be relied on.
在做过十几个实验/玩具之后,我完全同意帖子的大部分内容。如果 must_tail 属性能在三大编译器上可靠就好了,但这不是可以依赖的东西。
十数個の実験/おもちゃでこれをやってきたので、投稿のほとんどに完全に同意する。must_tail 属性がビッグ 3 コンパイラで信頼できればいいのだが、頼れるものではない。
십여 개의 실험/장난감을 해보고 포스트의 대부분에 완전히 동의한다. must_tail 속성이 빅 3 컴파일러에서 신뢰할 수 있으면 좋겠지만, 의존할 수 있는 것이 아니다.
Habiendo hecho esto para una docena de experimentos/juguetes estoy completamente de acuerdo con la mayoría del post. Sería bueno si el atributo must_tail pudiera ser confiable en los 3 grandes compiladores, pero no es algo en lo que se pueda confiar.
Nachdem ich das für ein Dutzend Experimente/Spielzeuge gemacht habe, stimme ich dem meisten des Posts voll zu. Es wäre schön, wenn das must_tail-Attribut bei den großen 3 Compilern zuverlässig wäre, aber das ist nichts, worauf man sich verlassen kann.
whizzter
I think I may end up coming full circle on Virgil. Circa 2005 Virgil I compiled to C and then with avr-gcc to AVR. I did that because who the heck wants to write an AVR backend? Circa 2009 I wrote a whole new compiler for Virgil III and since then it has JVM, x86, x86-64, wasm, wasm-gc and (incomplete) arm64. I grow weary of compiler backends.
我想我可能最终会在 Virgil 上兜个圈子。大约 2005 年,我将 Virgil 编译到 C,然后用 avr-gcc 编译到 AVR。我这样做是因为谁想写 AVR 后端?大约 2009 年我为 Virgil III 写了一个全新的编译器,从那以后它有了 JVM、x86、x86-64、wasm、wasm-gc 和(不完整的)arm64。我厌倦了编译器后端。
Virgil で一周回って戻ってくるかもしれない。2005 年頃、Virgil を C にコンパイルし、avr-gcc で AVR にしていた。AVR バックエンドを書きたい人なんていないからだ。2009 年頃、Virgil III 用に完全に新しいコンパイラを書いて、それ以来 JVM、x86、x86-64、wasm、wasm-gc、(不完全な)arm64 がある。コンパイラバックエンドには飽きてきた。
Virgil 에서 한 바퀴 돌아 원점으로 돌아올 것 같다. 2005 년경 Virgil 을 C 로 컴파일하고 avr-gcc 로 AVR 로 컴파일했다. AVR 백엔드를 누가 쓰고 싶겠어? 2009 년경 Virgil III 를 위해 완전히 새로운 컴파일러를 썼고 그 이후로 JVM, x86, x86-64, wasm, wasm-gc, (불완전한) arm64 가 있다. 컴파일러 백엔드에 지쳤다.
Creo que podría terminar dando la vuelta completa con Virgil. Circa 2005 Virgil lo compilé a C y luego con avr-gcc a AVR. Hice eso porque ¿quién diablos quiere escribir un backend de AVR? Circa 2009 escribí un compilador completamente nuevo para Virgil III y desde entonces tiene JVM, x86, x86-64, wasm, wasm-gc y (incompleto) arm64. Me canso de los backends de compiladores.
Ich denke, ich könnte bei Virgil einen vollen Kreis machen. Um 2005 kompilierte ich Virgil nach C und dann mit avr-gcc nach AVR. Das tat ich, weil wer zum Teufel will schon ein AVR-Backend schreiben? Um 2009 schrieb ich einen komplett neuen Compiler für Virgil III und seitdem hat es JVM, x86, x86-64, wasm, wasm-gc und (unvollständig) arm64. Ich werde compiler-backends müde.
titzer