1.Quarkdown: A modern Markdown-based typesetting system(Quarkdown: A modern Markdown-based typesetting system)
Quarkdownは、Markdownに基づいた文書作成のための柔軟で現代的なシステムです。ユーザーは、プロジェクトを印刷用の本やインタラクティブなプレゼンテーションに簡単にまとめることができます。CommonMarkとGitHub Flavored Markdownの拡張として構築されており、動的なコンテンツ作成を可能にするスクリプト機能などの高度な機能を追加しています。
Quarkdownの主な特徴には、さまざまな出力形式があり、HTMLやPDFを生成でき、スライドやページ付き文書の形式もサポートしています。また、ユーザーはMarkdown内で関数や変数を定義できるため、文書の動作をより細かく制御できます。処理が迅速で、効率的に使用できるのも魅力です。インストールも簡単で、Java 17以上が必要ですが、コマンドラインウィザードを使ってプロジェクトをすぐに設定できます。
始めるには、まずQuarkdownをダウンロードして解凍します。次に、quarkdown create [directory]
というコマンドを使ってプロジェクトを作成します。文書をコンパイルするには、quarkdown c file.qmd
を使用します。
Quarkdownは、ユーザーフレンドリーでありながら、文書の完全な制御やスクリプト機能を提供し、さまざまなエクスポート形式をサポートしています。これにより、標準的なMarkdownやLaTeXなどの他の文書形式と比べて、より多様性があります。
このプロジェクトは、ユーザーからの貢献を歓迎しており、ガイドラインのための専用セクションも用意されています。全体として、Quarkdownはシンプルさと強力な機能を兼ね備えており、さまざまな文書作成ニーズに適しています。
2.The Small World of English(The Small World of English)
要約がありません。
3.Show HN: I wrote a Java decompiler in pure C language(Show HN: I wrote a Java decompiler in pure C language)
Garlicは、C言語で書かれたJavaデコンパイラで、.classファイルや.jarファイルをJavaのソースコードに変換します。
主な機能としては、.classファイル、.jarファイル、.warファイルのデコンパイルが可能です。
インストールには、CMakeのバージョン3.26以上が必要です。他の依存関係はありません。ビルド手順は以下の通りです。まず、リポジトリをクローンします。次に、フォルダに移動し、プロジェクトをビルドします。具体的には、cmake -B build
とcmake --build build
を実行し、最後にデコンパイラを起動します。
使用方法は、.classファイルをデコンパイルする場合はgarlic /path/to/jvm.class
と入力します。.jarファイルをデコンパイルする場合は、基本的なコマンドはgarlic /path/to/file.jar
ですが、出力先を指定する場合はgarlic /path/to/file.jar -o /path/to/save
とします。また、スレッド数を設定するにはgarlic /path/to/file.jar -t 5
と入力します(デフォルトは4です)。出力は、入力ファイルと同じディレクトリに保存されます。
Garlicはjavap
と似た動作をしますが、より高速で特定の属性には対応していません。デバッグを行う場合は、src/jvm.c
のメイン関数を修正してください。
ライセンスはApache 2.0ライセンスの下で提供されています。
4.Show HN: Controlling 3D models with voice and hand gestures(Show HN: Controlling 3D models with voice and hand gestures)
3Dモデルプレイグラウンドは、手のジェスチャーや音声コマンドを使って3Dモデルを操作できるインタラクティブなウェブアプリです。このアプリは、three.jsや手の追跡に使うMediaPipe、音声認識のためのWeb Speech APIなどの技術を用いて構築されています。
主な機能としては、「ドラッグ」「回転」「スケール」「アニメーション」といった音声コマンドを使ってモデルとのインタラクションを変更できます。また、指をつまむことで3Dモデルを操作したり、新しい3Dモデル(GLTF形式)をページにドラッグ&ドロップすることも可能です。
このアプリを利用するためには、WebGLをサポートした最新のウェブブラウザが必要です。また、カメラとマイクへのアクセスも求められます。
使用されている技術には、3Dグラフィックスを描画するためのThree.js、ジェスチャーを認識するためのMediaPipe、音声コマンドを理解するためのWeb Speech API、視覚的フィードバックを提供するHTML5 Canvas、リアルタイムのインタラクションを実現するためのJavaScriptがあります。
開発のセットアップ手順は、まずGitでリポジトリをクローンし、プロジェクトディレクトリに移動します。その後、ウェブサーバー(例:Python)を使ってアプリを提供し、ブラウザでhttp://localhost:8000を開きます。
ライセンスはMITライセンスです。
クレジットとして、使用されている技術やサービスにはThree.js、MediaPipe、Rosebud AI、Quaternius(3Dモデル用)が含まれています。
連絡先として、クリエイターのアランにはソーシャルメディアやメールで連絡できます。また、開発支援のための寄付も歓迎されています。
5.Covert Web-to-App Tracking via Localhost on Android(Covert Web-to-App Tracking via Localhost on Android)
Meta(フェイスブック)やYandexによる新しいトラッキング手法が発見され、数十億のAndroidユーザーに影響を及ぼす可能性があります。この手法では、FacebookやInstagramなどの特定のAndroidアプリが、同じデバイスのモバイルブラウザからのデータを密かに受信することができます。これにより、ユーザーの同意なしに、ブラウジングデータやクッキー、ユーザー識別子を収集することが可能になります。プライバシー対策としてインコグニートモードを使用していても、影響を受けることがあります。
このトラッキングメカニズムでは、Androidアプリが特定のローカルネットワークポートでデータを受信し、モバイルブラウザに読み込まれたMetaやYandexのトラッキングスクリプトから情報を取得します。これにより、ウェブ上の活動を個々のユーザーに結びつけ、プライバシー保護を回避することができます。
この手法は通常のプライバシー保護を侵害し、ユーザーがクッキーを削除したりプライベートブラウジングモードを使用しても、ユーザーを特定することが可能です。悪意のあるアプリがこのデータを傍受するリスクもあります。
この手法が明らかになった後、Metaは6月3日以降に特定のトラッキング技術の使用を停止しましたが、Yandexは同様の手法を引き続き利用しています。Meta PixelやYandex Metricaは数百万のウェブサイトに埋め込まれており、ユーザーの同意なしに広範なトラッキングが行われています。
このトラッキングシステムは、悪意のあるアプリケーションがユーザーのブラウジング履歴を監視することを可能にし、重大なセキュリティ上の懸念を引き起こします。ChromeやFirefoxなどの主要なブラウザは、これらの脆弱性に対処するためのパッチを実装し始めていますが、ユーザー保護を強化するためにはさらなる作業が必要です。
MetaやYandexからは、これらのトラッキング手法に関する公的な文書が存在せず、多くのユーザーはこの種のトラッキングにさらされていることを認識していません。ローカルネットワーク接続を介したこの隠れたトラッキング手法は、深刻なプライバシーとセキュリティのリスクをもたらし、ブラウザ開発者の対応が求められています。また、ユーザーの認識と同意についての懸念も高まっています。
6.Mario Kart designers had to rethink everything to make it open world(Mario Kart designers had to rethink everything to make it open world)
マリオカートワールドの開発に関するインタビューでは、デザイナーたちが大きなビジョンを持っていたことが明らかになりました。このゲームは、レース参加者の数を12人から24人に倍増させたオープンワールドを目指しています。最初はオリジナルのNintendo Switch向けに計画されていましたが、技術的な課題からより強力なSwitch 2向けに開発が進められました。
プロデューサーの矢吹耕介は、この新しいコンセプトのために従来のマリオカートの要素を完全に見直す必要があったと説明しています。これまでのように別々のコースではなく、すべてのコースが広大な土地でつながっており、レース専用に設計されていて、クエスチョンマークブロックなどのマリオの特徴が満載です。
この世界を構築するのは複雑で、一つのエリアの変更が他のエリアに影響を与えるため、コースデザインには新しい出入り口を考慮する必要がありました。これにより、過去のゲームに比べて難易度が上がっています。
ゲームには「ノックアウトツアー」という新しいモードが追加され、従来のグランプリ形式も変更されました。プレイヤーは次のレースに向かうために運転する必要があります。この変更は、ゲームプレイ全体にわたってさまざまなペースを生み出すストーリー構造からインスパイアを受けています。
さらに、参加者の増加に伴い、ゲームのバランスを保つためにメカニクスの見直しが行われました。道路の幅や衝突の影響などが調整されています。それでも、ゲームは独特の魅力を保ち続けており、食べ物を消費することでキャラクターが変身するなどのクリエイティブな要素が楽しめます。
全体として、マリオカートワールドは、シリーズの楽しさや奇妙さを大切にしながら、新しく広がりのあるレース体験を提供することを目指しています。
7.Show HN: PinSend – Share text between devices using a PIN(P2P, no login)(Show HN: PinSend – Share text between devices using a PIN(P2P, no login))
要約がありません。
8.AI makes the humanities more important, but also weirder(AI makes the humanities more important, but also weirder)
要約がありません。
9.My AI skeptic friends are all nuts(My AI skeptic friends are all nuts)
トーマス・プタセックは、プログラミングにおけるAI、特に大規模言語モデル(LLM)の導入が必要でありながら誤解されていると主張しています。一部の技術リーダーがLLMを単なる流行と見なす一方で、プタセックはこれらの技術が面倒な作業を自動化することでソフトウェア開発を大幅に向上させると考えています。
彼は、現在の真剣な開発者たちが高度なLLMをコーディングエージェントとして利用していることを強調しています。これにより、開発者は複雑なコードの操作を自律的に行えるようになり、従来のように生成されたコードを単にコピー&ペーストするだけの使い方とは異なります。この結果、開発者はプロジェクトのより重要な側面に集中できるようになります。
LLMは、繰り返しの検索を大幅に減らし、プログラマーが迅速に作業を繰り返すことを可能にし、生産性を向上させます。しかし、彼は開発者がLLMによって生成されたコードを読み、理解する必要があることを認めており、最終的な責任は彼らにあるとしています。
プタセックはLLMに対する懐疑的な意見にも触れ、コードの品質や「幻覚」(誤った出力)に関する懸念は管理可能であると主張しています。彼は、LLMが時には平凡なコードを生成することがあるが、それが十分な場合もあることを指摘し、全体的な作業の質を向上させる手助けができると述べています。
また、彼は自動化による雇用の喪失のリスクについても言及していますが、これは技術の進歩の一部であると強調しています。最後に、彼はソフトウェア開発におけるAIの重要性が高まっていることを認識し、業界が軽視するのではなく真剣に取り組むべきだと呼びかけています。
全体として、プタセックはLLMが開発者にとって変革的なツールであり、彼らの仕事をより効果的にする手助けをすると同時に、その限界や影響についてバランスの取れた視点を持つことが重要だと考えています。
10.GUIs are built at least 2.5 times(GUIs are built at least 2.5 times)
パトリシア・アースは彼女のブログ記事で、ソフトウェア開発の複雑さについて論じ、リーンソフトウェア開発の原則に基づいて製造業のように扱うべきだという考えを批判しています。彼女は、ソフトウェア開発は従来の製造業とは異なり、単なる生産ではなく、継続的な反復と設計が関わっていると主張しています。
アースは、ソフトウェアを理解する際には、工場や他のシステムとの類似性を用いるのではなく、その特性に基づいて考えるべきだと強調しています。そうしないと誤解を招く可能性があります。また、彼女は「パイプとフィルター」といったさまざまなソフトウェア設計パターンについても言及し、データがシステムを通じてどのように流れるかを示していますが、これらのパターンだけではソフトウェア開発の微妙な点を十分に捉えられないと指摘しています。
グラフィカルユーザーインターフェース(GUI)デザインに関する彼女の経験も共有されており、ユーザーが自分が望んでいると思っていることと、実際に求めていることがしばしば異なることを強調しています。このため、デザインを洗練させるにはフィードバックに基づくプロセスが必要です。
アースは、ソフトウェア開発は単にコードを生産することではなく、問題の解決策を見つけることに重点を置いていると述べています。このプロセスでは、ユーザーのニーズを深く理解することが求められ、多くの反復や調整が必要になることが多いです。
さらに、アースは、無駄を排除することに焦点を当てたリーン原則を適用することが、ソフトウェア開発プロセスを誤って特徴づける可能性があると考えています。反復やフィードバックを無駄と見なすのではなく、価値ある製品を作るためには不可欠な要素であるとしています。
ソフトウェア開発のプロセスは、開発者がユーザーのフィードバックを正確に解釈し、応答する会話に例えられます。ユーザーは自分のニーズを明確に表現するのが難しいことが多いため、開発者はその理解に努める必要があります。
アースは、ソフトウェア開発を線形の製造プロセスとしてではなく、創造的で反復的なプロセスとして理解するための考え方の転換を呼びかけています。
11.Plutonium Mountain: The 17-year mission to guard remains of Soviet nuclear tests(Plutonium Mountain: The 17-year mission to guard remains of Soviet nuclear tests)
この報告書は、カザフスタンのセミパラチンスク試験場でのソビエトの核実験から残されたプルトニウムを確保するための17年間の重要な取り組みについて述べています。1949年から1989年の間に、ソビエト連邦は456回の核実験を行い、その結果として危険な物質が残されました。特に1991年にソビエト連邦が崩壊した後、これらの物質は安全保障上の脅威となりました。
2012年、アメリカ、ロシア、カザフスタンの科学者たちの協力により、1億5000万ドルのプロジェクトが完了しました。このプロジェクトでは、トンネルやボアホールにコンクリートを充填し、テロリストや無法国家がこれらの物質にアクセスするリスクを減少させました。この作業は1995年に始まり、専門家が現地でプルトニウムの残留物を特定したことがきっかけでした。政府間の不信感や秘密主義を克服し、安全に物質を管理することが求められました。
このプロジェクトは、核安全保障における国際協力の重要性と、直面した課題を浮き彫りにしています。特に、物流の困難さや情報漏洩の懸念から国際原子力機関(IAEA)を関与させないという決定がありました。報告書では、将来の核脅威削減の取り組みに向けた教訓も示されています。
2013年8月にベルファーセンターから発表されたこの報告書は、冷戦時代に残された核リスクに対処するための科学的協力の成功を強調しています。
12.Claude Code Is My Computer(Claude Code Is My Computer)
著者は、コーディング作業や一般的なコンピュータ操作をサポートするAIツール「Claude Code」を使ったポジティブな体験を共有しています。特別なモードで実行することで、許可の確認をスキップし、Macでの作業時間を毎日1時間節約できたと述べています。この方法を2ヶ月間続けても問題はなかったそうです。
Claudeの主な利点には、さまざまな作業をこなせる点があります。システムの復元、コンテンツフォーマットの変換、テストデータの生成、コードのコミット管理など、簡単なコマンドで実行できます。また、通常時間がかかる作業、例えば新しいMacへの移行やオペレーティングシステムのクリーンアップも、Claudeの助けを借りることで迅速に完了できると著者は説明しています。
Claudeはコマンドラインでの使用に特化しており、他のツールと比べてよりスムーズで効率的な操作が可能です。著者は、Claudeが従来のコマンド実行からユーザーの意図を理解する方向にシフトしていることを強調しています。これにより、開発者は文法に気を取られることなく、高度なタスクに集中できるようになります。リスクを受け入れられ、バックアップがしっかりしているなら、Claudeを試してみることを勧めています。コンピュータとのやり取りが大幅に簡素化されるからです。
13.Cloudlflare builds OAuth with Claude and publishes all the prompts(Cloudlflare builds OAuth with Claude and publishes all the prompts)
このライブラリは、Cloudflare Workers向けにOAuth 2.1プロトコルをPKCEサポート付きで実装するためのTypeScriptライブラリです。2025年3月現在、ベータ版で開発中のため、機能が変更される可能性があります。
このライブラリの主な利点は、APIエンドポイントの認証を簡素化し、既存のWorkerコードをラップすることです。トークンを自動的に管理するため、開発者は認証チェックを手動で行う必要がありません。また、ユーザー管理やUIシステムに関係なく使用でき、セキュリティのためにハッシュ化された秘密情報のみを保存します。
使用方法は以下の通りです。まず、OAuthProvider
のインスタンスを作成し、APIリクエスト、ハンドラー、OAuthエンドポイントのルートを設定します。次に、ユーザーの同意と認証のためのUIを実装します。このライブラリは、OAuthプロセスを管理するためのメソッドを提供します。最後に、アクセス・トークンを検証し、ユーザーの詳細を提供するAPIリクエスト用のハンドラーを作成します。
セキュリティ機能としては、秘密情報はハッシュとしてのみ保存され、機密データは暗号化されます。また、カスタムエラーハンドリングや通知機能もサポートしています。
トークン管理に関しては、トークンのプロパティを交換中に更新したり、リフレッシュトークンを扱ったりすることができ、失敗を防ぐためのバックアップも維持します。
このライブラリは、AIのClaudeの助けを借りて開発され、OAuthの基準に準拠するためにセキュリティ専門家によって徹底的にレビューされています。全体として、このライブラリはCloudflare WorkersにおけるOAuth 2.1の実装を強化し、開発者がユーザーの認証と認可を管理しやすくすることを目指しています。
14.Spark AI (YC W24) Is Hiring a Full Stack Engineer in San Francisco(Spark AI (YC W24) Is Hiring a Full Stack Engineer in San Francisco)
Sparkは、エネルギー開発者が太陽光発電所やバッテリー工場を建設する際に支援する高度なAIツールを開発しています。再生可能エネルギーの主な課題は、地域の規制を理解し、適切に対応することです。SparkはAIエージェントを活用して、開発者がプロジェクトに必要な情報を見つけ、理解する手助けをしています。Colliers Engineering & DesignやStandard Solarなどの大手企業も、投資判断のためにSparkを利用しており、これにより数百万の家庭に電力を供給できるエネルギーを生み出す可能性があります。
Sparkのチームは著名な投資家に支えられており、TeslaやGoogleなどの企業での経験を持つプロフェッショナルが集まっています。彼らはサンフランシスコで対面で働き、TypescriptやNodeJSなどの技術を使用しています。
チームメンバーの主な責任には、膨大なデータを収集するコアAPIやAIインフラの開発、アイデアから製品化までの機能管理、高度なAIシステムの構築、フロントエンドとバックエンドのコード作成が含まれます。また、創業者と協力して製品開発を進め、顧客と連携して製品の改善に努めます。
理想的な候補者は、3年以上の経験を持ち、影響を与えることに情熱を持っていることが求められます。柔軟性があり、独立して解決策を見つける能力が必要です。また、ビジネスやスタートアップ環境に興味があることも重要です。
もし、コーディングの完璧さをスピードよりも重視する場合や、技術的な決定に影響を与えるビジネス面に興味がない場合は、適していません。
15.The Metamorphosis of Prime Intellect (1994)(The Metamorphosis of Prime Intellect (1994))
要約がありません。
16.A High-Level View of TLA+(A High-Level View of TLA+)
要約がありません。
17.Fun with Futex(Fun with Futex)
このテキストでは、Linuxにおける最適化されたロックの実装について、特にスピンロックとfutexに焦点を当てています。
まず、基本的な概念として、ミューテックス(相互排除)は、一度に一つのスレッドだけがリソースにアクセスできるようにします。リソースが使用中の場合、他のスレッドは待機しなければなりません。スピンロックは、ロックが利用可能かどうかを繰り返し確認するシンプルなミューテックスで、待機中はCPUリソースを消費します。
C言語での基本的なスピンロックは、ロックが保持されているかどうかを示すために原子booleanを使用します。スレッドがロックを取得しようとすると、ロックを取得できるまでチェックを続けます。
スピンロックの問題点として、多くのスレッドがロックを待ってスピンしていると、高いCPU使用率が発生します。特に、クリティカルセクションが長い場合(例えば、ロック内でスリープしているとき)に顕著です。
futex(ファストユーザースペースミューテックス)は、Linuxのシステムコールで、待機動作を改善します。ロックが利用できないときにはスピンするのではなく、スレッドをスリープさせます。futexは、スリープするためのFUTEX_WAIT
と、スレッドを起こすためのFUTEX_WAKE
という二つの操作を使用します。
futexを基にしたミューテックスは、ロック状態を追跡するために32ビットの整数を使用します。状態を確認し、必要に応じてスレッドをスリープさせることで、スピンロックに比べてCPU使用率を低減します。
パフォーマンスの比較では、futexは一般的に効率的ですが、スピンロックにsched_yield
を使用してCPUを譲るように少し修正すると、特定の条件下で速くなることがあります。実験では、クリティカルセクションが短い場合、スピンロックがfutexよりも優れていることが示されました。
ミューテックスの設計に関する考慮点として、実装は不必要なシステムコールを避け、スレッドの公平性を考慮する必要があります。将来的な改善として、スピンロックとfutexを組み合わせて、さまざまなシナリオでのパフォーマンスを向上させることが考えられます。
異なるロックメカニズムを理解し比較することは、並行プログラミングにおけるパフォーマンス最適化において重要です。
18.Ask HN: Who is hiring? (June 2025)(Ask HN: Who is hiring? (June 2025))
要約がありません。
19.Implementing a Forth(Implementing a Forth)
このページでは、著者がさまざまなバージョンのForthプログラミング言語を作成した経験について述べています。これらは完成品ではなく、貴重な学習ツールであったことが強調されています。
まず、独自のForthを構築することを考えているなら、既存のForthを移植することから始めると良いでしょう。例えば、JONESFORTHを使うと、言語やその実装をより深く理解する手助けになります。
次に、ミニマルなForthを作成することを考えてみてください。Forthのコアをどれだけ小さくできるかが課題です。単に単語の数を減らすだけでなく、興味深く機能的であることが求められます。PlanckForth、SmithForth、milliForthなどの小さなForthの実装例は、非常に小さなコアから完全なForthをブートストラップする方法を示しています。
また、特定のプログラムを実行するためにForthを設計することもできます。著者は、シンプルなコマンドを実行するMeow5や、「99 Bottles of Beer」の歌を生成するSNOBOL4ベースのForthなどの例を挙げています。
Forthを実装するためのリソースも豊富にあります。既存のForthのソースコードを研究したり、Brad Rodriguezの「Moving Forth」シリーズのような記事を読むことが役立ちます。
著者は、自分自身のForthを作成する過程での実験や学びを奨励しています。楽しいコーディングを!
20.Updates to Windows for the Digital Markets Act(Updates to Windows for the Digital Markets Act)
マイクロソフトは、欧州経済地域(EEA)のデジタル市場法に従うために、Windows 10および11、さらにマイクロソフトのアプリにいくつかの変更を加えています。主なポイントは以下の通りです。
まず、デフォルトのブラウザに関する変更があります。ユーザーは、さまざまなウェブ形式やPDFファイルを含むリンクやファイルタイプのデフォルトブラウザを設定できるようになりました。また、デフォルトのブラウザは、ユーザーが選択しない限り、タスクバーに固定されます。
次に、Windowsの検索機能が改善されました。アプリがウェブ検索結果を提供できるようになり、複数のプロバイダーへのアクセスが容易になりました。ユーザーは設定でウェブ検索プロバイダーの順序を変更することもできます。
マイクロソフトストアにも更新があります。EEAのユーザーは、マイクロソフトストアをアンインストールするオプションが与えられますが、ストアからのアプリは引き続き更新されます。ストアは後で再インストールすることも可能です。
さらに、マイクロソフトのアプリに関する変更もあります。Bingアプリやスタートエクスペリエンスアプリは、デフォルトのブラウザを使用してウェブコンテンツを開くようになります。また、Microsoft Edgeは直接開かない限り、デフォルトブラウザに設定するよう促されることはありません。Edgeがアンインストールされると、他のマイクロソフトアプリは再インストールを促すこともありません。
これらの更新はまずWindows Insiderビルドで展開されており、一般向けの販売も間もなく開始される予定です。
21.How to Store Data on Paper?(How to Store Data on Paper?)
デジタルデータを紙に保存する「ペーパーデータストレージ」という概念について説明しています。デジタルコンテンツを印刷するさまざまな方法を探求しており、実行可能なプログラムや秘密のメッセージ、音声記録、科学論文などを印刷可能な形式に変換することが含まれます。
印刷するデータの種類には、実行可能なプログラム(base64でエンコード)、暗号化されたメッセージ(GPG-AES256を使用)、音声ファイル(音の風景など)、そして一枚のページに凝縮された科学論文があります。
データを印刷する前に、画像にエンコードする必要があります。このプロセスには、データを画像に変換するエンコーダーと、画像からデータを取り出すデコーダーという二つのソフトウェアツールが使われます。
エンコーディング方法には、いくつかの種類があります。文字ベースのエンコーディングは人間が読みやすい形式を提供し、フォントのサイズや種類によってデータ容量が異なります。白黒ドットエンコーディングは、QRコードなどを使用してA4ページあたり最大100KBのデータを保存でき、印刷やスキャンの解像度によって変わります。カラーのドットエンコーディングは、色を使うことでより多くの情報を保存できますが、高価なカラー印刷機が必要です。また、描画エンコーディングはデータを芸術的な形で表現することができます。
データ保存においては、紙やインクの品質が長期的な保存に影響を与えます。耐久性のある保存材料が推奨されます。冗長性やエラー訂正の方法、例えばQRコードのエラー訂正は、印刷やスキャン中のデータ損失を防ぐのに役立ちます。
手書きのデジタルデータに関しても、一部のエンコーディングは効果的で、特に良好な光学文字認識(OCR)が利用できる場合に有効です。
印刷されたデータは、郵送や鳩を使った輸送など、物理的に簡単に運ぶことができます。
全体として、デジタルデータを紙に効果的に保存する方法と、そのプロセスに関連するさまざまな方法や課題についての概要が提供されています。
22.Show HN: Kan.bn – An open-source alterative to Trello(Show HN: Kan.bn – An open-source alterative to Trello)
Kanは、Trelloの代替として利用できるオープンソースのプロジェクト管理ツールです。
主な機能には、ボードの可視性管理、チームメンバーの招待、Trelloからのボードの簡単なインポート、カードの整理と迅速な検索を可能にするラベルとフィルター、チーム内での議論を促進するコメント機能、カードに対するすべての変更を監視するアクティビティログがあります。また、近日中に再利用可能なボードテンプレートや他のツールとの統合機能も追加される予定です。
開発環境の設定は、リポジトリをクローンし、pnpm
を使って依存関係をインストールし、.env.example
から環境変数を設定し、開発サーバーを起動するという手順で行います。
必要な環境変数には、データベース接続URL、メールサービスの詳細、認証設定、ファイルストレージの設定が含まれます。
貢献は大歓迎です!プルリクエストのガイドラインに従ってください。
KanはAGPLv3ライセンスの下で提供されています。
サポートが必要な場合は、[email protected]にメールを送るか、Discordサーバーに参加してください。
23.Ukraine's autonomous killer drones defeat electronic warfare(Ukraine's autonomous killer drones defeat electronic warfare)
2025年6月1日、ウクライナはロシアの軍事基地に対して成功した攻撃を行い、41機の航空機に損傷を与え、損失は20億ドルから70億ドルに上ると推定されています。この作戦では、攻撃用ドローンをロシアに密輸し、ウクライナから遠隔操作で発射しました。ドローンの使用は、特にロシアの電子戦術に対抗するために、ウクライナの軍事戦略において重要な役割を果たしています。
ウクライナのドローン技術は急速に進化しており、KrattWorksのような企業が、GPSなしでランドマークを認識するニューラルネットワークを利用した高度なドローンを開発しています。この革新により、通信リンクが途切れてもドローンは作動することが可能です。
ウクライナのドローン戦争へのアプローチは、ロシアとは大きく異なります。ロシアはジャミングを避けるために有線ドローンを展開していますが、ウクライナは自律ナビゲーションシステムに注力しており、ドローンが常に人間の制御なしで目標を定め、攻撃することができるようになっています。この変化は、戦闘における効率と効果を高めるために重要と見なされています。
進行中の紛争は、ウクライナにおける防衛技術のエコシステムを活性化させており、地元のスタートアップが西側の競合よりも低コストで高度な軍事技術を生み出しています。今後のドローン戦争では、さらに自律的な能力が期待されており、ドローンが最小限の人間の介入で任務を遂行できるようになるでしょう。
24.Sid Meier's Pirates – In-depth (2017)(Sid Meier's Pirates – In-depth (2017))
ブログ記事では、ゲーム「Sid Meier's Pirates!」についてレビューしています。このゲームは1987年にコモドール64用にリリースされ、1990年にはアミーガに移植されました。著者はこのゲームに対する深い愛情を表現し、さまざまなバージョンの魅力やそれぞれのユニークな体験を称賛しています。特にアミーガ版は、その時代における先進的なグラフィック技術を使用しており、美しい仕上がりが際立っています。
ゲームでは、プレイヤーは異なる歴史的な時代を選び、海賊の冒険を楽しむことができます。アクション、戦略、オープンエンドの探索といった要素が組み合わさっており、プレイヤーは個人的な目標を追求したり、剣で戦ったり、宝物を探したりできます。ランダムなイベントが発生するため、毎回異なる体験が保証されています。
著者はこのゲームにまつわる個人的な思い出を懐かしみ、その影響力やクラシックとしての地位について振り返っています。「Sid Meier's Pirates!」は長年にわたり多くの賞を受けており、著者はこのゲームが史上最高のゲームの一つとして認識されるべきだと考えています。読者にはゲームを楽しむことを勧め、書かれた分析を補完するビデオレビューも共有しています。
25.Show HN: A toy version of Wireshark (student project)(Show HN: A toy version of Wireshark (student project))
Vantaは、ネットワークの動作を分析するためのシンプルで高速なコマンドラインツールです。キャプチャしたネットワークパケットから明確で構造化されたデータを提供することに重点を置いており、カスタムスクリプトに適しています。Wiresharkのような複雑なツールとは異なり、Vantaは使いやすさを重視して設計されています。
主な機能としては、HTTP、DNS、部分的にTLSのプロトコルを分析することができます。また、自動的に双方向のデータフローを再構築し、クリーンなJSON形式で要約を出力します。さらに、Vantaは追加の依存関係なしに単一のバイナリとして提供されるため、持ち運びも簡単です。
Vantaを実行するには、コマンド「go run main.go」を使用します。より詳細な使い方については、usageフォルダにドキュメントがあります。
開発情報としては、macOS 15.5(Apple Silicon)上で動作し、Visual Studio Codeをエディタとして使用しています。プログラミング言語はGoで、Go 1.23.0およびGo 1.24.3のモジュールとツールを利用しています。
プロジェクト構成は、メインプログラムファイルのmain.go、サンプル入力データのcapture.json、コア機能やデコーダー、実験的モジュールを含むinternalフォルダ、Vantaの使い方に関するドキュメントがあるusageフォルダで構成されています。
Vantaの開発者は、ハーバード大学やMITなどの大学で国際学生に影響を与える政治的圧力に応える形でこのツールを作りました。これは、同じような境遇の学生を支援するという個人的なコミットメントを反映しています。
開発者は、教授や大学のサポートに感謝の意を表しており、フィードバックやレビューはメールやGitHubを通じて歓迎しています。
26.Conformance checking at MongoDB: Testing that our code matches our TLA+ specs(Conformance checking at MongoDB: Testing that our code matches our TLA+ specs)
MongoDBでは、複雑な分散アルゴリズムを作成し、TLA+を使用してその正確性を確認しています。重要な課題は、私たちのコードがこれらの仕様にどのように一致しているかを確認することで、これを「適合性チェック」と呼びます。2020年には、2つのMongoDB製品を使ってこの方法をテストし、何がうまくいき、何がうまくいかなかったのかを探りました。
私たちは、2011年の論文からインスピレーションを受けました。この論文では、アジャイル開発と厳密な仕様を組み合わせることが提唱されており、大きな仕様の代わりに複数の小さな仕様を作成することが推奨されています。このアプローチは、複雑さを管理し、実装が進化する中での適合性の継続的なテストを容易にします。
適合性チェックの技術には、テストケース生成とトレースチェックがあります。テストケース生成は、仕様からテストを作成し、実装が同じ動作をするかどうかを確認するプロセスです。トレースチェックは、実装の状態遷移を記録し、それを仕様と照らし合わせて適合性を確認する技術です。
実験では、MongoDBサーバーのトレースチェックを試みました。TLA+仕様に対してMongoDBサーバーの実装を検証しようとしましたが、マルチスレッドプログラムの状態を正確に捉えることが難しく、実装と仕様の一致に失敗しました。また、MongoDB Mobile SDKのテストケース生成では、Maxが成功裏にテストケースを生成し、モバイルSDKの競合解決アルゴリズムが仕様に適合していることを確認し、その過程でバグを発見しました。
得られた教訓として、マルチスレッドプログラムの状態を捉えることは複雑であること、実装が仕様に適合する必要があり、そのためには慎重な調整が求められること、複数の仕様にトレースチェックを拡張することは困難であり、リソースの制約からプロジェクトを中止せざるを得なかったことが挙げられます。
今後の方向性として、私たちはトレースチェックとテストケース生成の価値を信じています。この分野での研究と開発は有望であり、コードと仕様の整合性を維持するための標準的なツールを確立したいと考えています。
適合性チェックは、信頼性の高い分散システムを開発するために不可欠です。私たちの経験は、継続的なテストの重要性と、私たちが働く複雑な環境により適した方法論への適応の必要性を浮き彫りにしています。
27.What Is "Seeing" in Astrophotography? The Science Behind Atmospheric Turbulence(What Is "Seeing" in Astrophotography? The Science Behind Atmospheric Turbulence)
天文学における「シーイング」とは、地球の大気の質を指し、望遠鏡を通して撮影された天体画像の鮮明さにどのように影響するかを示しています。シーイングが良好であれば、シャープで安定した視界が得られますが、シーイングが悪いと星が瞬き、画像がぼやけてしまいます。このぼやけは、特に木星や土星のような惑星の天体写真において、詳細を大きく損なうことがあります。
シーイングは大気の乱れによって影響を受け、光が曲がり、画像が歪むことがあります。アマチュア天文学者にとって、シーイングの平均値は通常2から4アーク秒の範囲で変動し、これが画像の解像度を制限する要因となります。
シーイングが悪いと、特に惑星の画像が不鮮明になり、詳細がわかりにくくなります。一方、深宇宙の天体は影響を受けにくいですが、それでもぼやけた印象を与えることがあります。
シーイングの状態を測定するためには、ピッカリングスケール(1から10)やアーク秒が用いられます。数値が低いほど、シーイングが良好であることを示します。
良好なシーイングは、夜遅く、特定の季節、または天候の前線が通過した後に起こりやすいです。沿岸地域では、シーイングがより安定していることが多いです。
天体写真を撮影する際には、Clear OutsideやMeteoblueなどのアプリを使って天候予報を確認し、シーイングの予測を立てることが重要です。また、撮影前に視覚的に条件を確認することも大切です。
シーイングが悪い場合には、望遠鏡を冷やし、熱源を避け、倍率を調整し、ラッキーイメージング(複数の短時間露光を重ねる技術)などの手法を使うことで、結果を改善することができます。
シーイングは鮮明さに影響を与え、一方で透明度は淡い天体がどれだけ見えるかに関わります。両方とも天体写真において重要な要素です。
大気のシーイングを理解することは、天体写真の結果を向上させるために非常に重要です。技術を適応させ、適切に準備することで、理想的でない条件下でも印象的な画像を捉えることが可能です。
28.A Complete Guide to Meta Prompting(A Complete Guide to Meta Prompting)
ダンはメタプロンプティングについて話しています。これは、プロンプトエンジニアリングの手法の一つで、大規模言語モデル(LLM)を使ってプロンプトを作成し、改善する方法です。彼はこのプロセスを助けるさまざまなメタプロンプティングの手法やツールを紹介しています。
メタプロンプティングとは、LLMがプロンプトの作成や洗練を支援する技術です。具体的な手法には、いくつかの方法があります。まず、「コンダクターLLMメソッド」では、主要なLLMが複数の専門LLMを調整して最終的な出力を生成します。「対比プロンプトから学ぶ」方法では、良い例と悪い例の両方を使って、プロンプトの効果を基に改善します。「自動プロンプトエンジニア」は、デモ入力に基づいてプロンプトを生成し、パフォーマンスを評価します。「プロンプトエージェント」は、特定の分野の知識を使ってプロンプトを繰り返し改善します。「会話型プロンプトエンジニアリング(CPE)」は、チャットインターフェースを通じてディスカッションしながらプロンプトを洗練します。「DSpy」は、スコアリングを使ってプロンプトを改善するオープンソースツールです。「Text GRAD」は、自然言語のフィードバックを利用してプロンプトを強化するDSpyの改良版です。
メタプロンプティングのためのツールもいくつかあります。「PromptHubのプロンプトジェネレーター」は、タスクの説明に基づいてプロンプトを作成します。「Anthropicのプロンプトジェネレーター」は、Anthropicモデル向けに特化しています。「OpenAIのシステムインストラクションジェネレーター」は、OpenAIモデルのためのシステム指示を生成するのを助けます。ダンは、メタプロンプティングの特定の手法についてさらに探求することに興味を持つよう促しています。
29.Show HN: Onlook – Open-source, visual-first Cursor for designers(Show HN: Onlook – Open-source, visual-first Cursor for designers)
Onlookは、ウェブサイトやプロトタイプ、デザインをAI、Next.js、TailwindCSSを使って作成するためのオープンソースのビジュアルコードエディタです。ユーザーはブラウザ内でリアルタイムに編集を行うことができ、FigmaやWebflowの代替ツールとして利用できます。
主な機能には、テキスト、画像、テンプレート、Figmaからのインポートを使ってNext.jsアプリを素早く作成できる「クイックアプリ作成」、使いやすいインターフェースでアプリを編集し、変更をリアルタイムでプレビューできる「ビジュアル編集」、リアルタイムのコードエディタやコマンドラインインターフェース(CLI)コマンド、ローカルでのコード編集を提供する「開発ツール」、共有可能なリンクを生成しカスタムドメインに接続できる「簡単なデプロイ」、チームメンバーとリアルタイムで編集やコメントができる「コラボレーション」があります。
現在、Onlook for Webは開発中で、Discordコミュニティを通じての貢献を歓迎しています。デスクトップ版はOnlook Desktopに改名されました。
Onlookは、どんなNext.jsとTailwindCSSのプロジェクトでも動作し、既存のプロジェクトをインポートしたり新しいプロジェクトを始めたりできます。ユーザーはAIチャットを利用してプロジェクトの作成や編集をサポートしてもらうことができます。
Onlookはウェブコンテナを使用してコードを実行・提供し、シームレスなプレビューと編集体験を実現しています。
ユーザーはリポジトリをフォークしたり、プルリクエストを作成したり、問題を報告することで貢献できます。詳細なドキュメントも用意されています。
さらに情報が必要な場合は、プロジェクトのGitHubやウェブサイトを訪れてください。
ライセンスはApache 2.0ライセンスの下で配布されています。
30.MonsterUI: Python library for building front end UIs quickly in FastHTML apps(MonsterUI: Python library for building front end UIs quickly in FastHTML apps)
MonsterUIは、FastHTMLアプリケーションのために開発されたPythonライブラリで、開発者が魅力的なユーザーインターフェース(UI)を迅速かつ簡単に作成できるように設計されています。ウェブUI開発の複雑さに対処し、通常は多くのCSSやフレームワーク、ボイラープレートコードが必要とされる問題を解決します。
ウェブUI開発の主な課題として、美しいウェブアプリケーションを作成することが挙げられますが、これはCSSやBootstrap、Tailwindなどのフレームワークに関する深い知識を必要とします。また、アプリケーションが成長するにつれて、さまざまなコンポーネントのスタイルを管理することが煩わしくなることもあります。
MonsterUIは、開発者がデザインの質を損なうことなく、純粋なPythonを使用して現代的なウェブアプリを構築できるようにします。あらかじめスタイルが設定されたコンポーネントや合理的なデフォルトを提供し、スタイリングプロセスを簡素化し、開発者がCSSクラス名を覚える必要をなくします。
MonsterUIの特徴には、まず、レスポンシブで視覚的に魅力的なあらかじめスタイルされたコンポーネントが用意されています。次に、DivVStackedやGridなどの使いやすい関数を使ってページレイアウトを簡素化するスマートレイアウトヘルパーがあります。また、複数のカラーテーマから選択でき、コンポーネント間で一貫したスタイリングを実現するテーマサポートもあります。さらに、標準のHTML要素を自動的にスタイリングし、読みやすさと美しさを向上させるセマンティックテキストスタイルも提供しています。最後に、ラベル付き入力フィールドなど、よく使われるパターンのショートカットも含まれています。
具体的な使用例として、開発者は簡単なPythonコードを使ってチームメンバーのカードを作成できます。この際、MonsterUIがレイアウトやスタイリングを裏で管理します。
始めるには、まずpipを使ってMonsterUIをインストールします。その後、簡単なテーマ設定とレスポンシブデザインを備えたFastHTMLアプリケーションを作成できます。
要するに、MonsterUIはFastHTMLアプリケーションにおけるUI開発プロセスを簡素化し、あらかじめスタイルされたコンポーネント、スマートなレイアウト、簡単なテーマ設定を提供することで、すべてのレベルの開発者にとってアクセスしやすくしています。
31.Teaching Program Verification in Dafny at Amazon (2023)(Teaching Program Verification in Dafny at Amazon (2023))
2023年12月15日、ジャン=バティスト・トリスタンは、アマゾンでのDafnyを用いたプログラム検証に関する教育プログラムについての洞察を共有しました。このプログラムには、初心者や検証の概念を教えたい人向けの講義スライドや演習が含まれています。
Dafnyはプログラミング言語であり、証明支援ツールでもあります。この教育資料は、学習者がDafnyでプログラミングを行い、証明支援を利用し、プログラムを検証する方法を理解するのに役立ちます。
証明は二つの目的を持っています。一つは、読者に正しさを納得させること、もう一つは、なぜそれが正しいのかを説明することです。
カリキュラムは、K. ラスタン・M. レイノの著書「プログラム証明」に触発されています。仕様と証明がプログラムにとって不可欠であることを強調し、簡単な例から始めて徐々に複雑さを増していきます。
コースは三つの部分に分かれています。第一部では、Dafnyをプログラミング言語として紹介し、検証なしで構文や基本的なプログラミング概念に焦点を当てます。第二部では、Dafnyを証明支援ツールとして説明し、仕様の書き方や証明を直感的かつ形式的に理解する方法を教えます。第三部では、プログラム検証を扱い、関数型プログラムから始めて、命令型やオブジェクト指向プログラミングに進み、検証戦略を強調します。
このコースは、検証において自動化が失敗した際の課題に対処し、学習者にとってより明確な方法論を提供することを目指しています。
この教育プログラムは、新しい学習者と経験豊富な開発者の両方がプログラミングにおける証明の理解を深める手助けをするように設計されており、実践的な応用や検証スキルの向上に重点を置いています。全体として、このプログラムはプログラム検証の概念をさまざまな学習者にとってアクセスしやすく、効果的にすることを目指しています。
32.ThorVG: Super Lightweight Vector Graphics Engine(ThorVG: Super Lightweight Vector Graphics Engine)
ThorVGは、ベクターに基づくシーンやアニメーションを作成するためのオープンソースのグラフィックスライブラリで、その強さと効率性が特徴です。使いやすいインターフェースとコンパクトなデザインを提供しています。主な機能には、線や形状、塗りつぶしオプション(単色やグラデーション)、ストローク機能、シーン管理、スケーラブルフォントによるテキストレンダリング、画像サポート(SVG、JPG、PNGなど)、ぼかしやドロップシャドウなどの効果、Lottieアニメーションのサポートがあります。
ThorVGは、Linux、MacOS、Windows、iOS、Android、さまざまなウェブ技術など、複数のプラットフォームで動作します。グラフィックスレンダリングの最適化のために、CPU/SIMD、OpenGL/ES、WebGL、WebGPUなどの複数のラスタエンジンを備えています。また、効率的なマルチプロセッシングのためにタスクスケジューラを使用しており、スムーズなシーン遷移やレンダリングタスクが可能です。
軽量なSVGインタープリタを提供し、SVG Tiny仕様に準拠していますが、アニメーションやインタラクティブな機能の一部はサポートされていません。さらに、Lottieアニメーションをサポートしており、JSONベースのベクターアニメーションフォーマットを使用することで、アニメーションの作成と配布が容易になります。
ThorVGは、さまざまなプロジェクトで使用されており、特にCanvaのiOSアプリではレンダリング速度とメモリ使用量の改善に寄与しています。また、GodotやTizenなどのプラットフォームにも統合され、ベクターグラフィックスの向上に役立っています。
ThorVGは、CanvaやSamsungなどの企業を含むコミュニティの貢献によって開発されており、継続的なサポートと開発のためにスポンサーシップに依存しています。全体として、ThorVGは強力でありながら軽量なベクターグラフィックスのソリューションとして、幅広いアプリケーションに適しています。
33.Show HN: I build one absurd web project every month(Show HN: I build one absurd web project every month)
要約がありません。
34.Largest punk archive to find new home at MTSU's Center for Popular Music(Largest punk archive to find new home at MTSU's Center for Popular Music)
世界最大のパンクアーカイブである「マキシマム・ロックンロール(MRR)アーカイブ」が、カリフォルニアからテネシー州マーフリーズボロにあるミドルテネシー州立大学(MTSU)に移転します。このコレクションには、約60,000枚のレコード、写真、ジン(自費出版の雑誌)、文書が含まれており、世界中のパンクロックの歴史を記録しています。
MTSUのポピュラー音楽センターは、すでに100万点以上の音楽アイテムを所蔵しており、この重要なコレクションを受け入れることになります。このセンターは、パンク研究の重要な拠点となることを目指しており、リスニングパーティやジンのワークショップなどのイベントを通じて一般の人々と交流することを計画しています。
MRRアーカイブは、100カ国以上からの資料を含み、パンクが持つ多様な社会的・政治的影響を反映しています。センターのディレクターであるグレッグ・レイシュ氏と図書館員のローガン・ダルトン氏は、このコレクションが研究者や訪問者にとって、あまり知られていないパンクシーンや声を探求する機会を提供することに期待を寄せています。
アーカイブの移転は6月に完了する見込みで、MTSUはさまざまなプログラムやディスカッションを通じてパンクの歴史と文化を広める準備を進めています。
35.Magic Ink: Information Software and the Graphical Interface(Magic Ink: Information Software and the Graphical Interface)
要約がありません。
36.Wendelstein 7-X sets new fusion record(Wendelstein 7-X sets new fusion record)
ドイツのヴェンデルシュタイン7-X核融合研究施設が、核融合において新たな記録を達成し、商業利用に向けた進展を示しました。2025年5月22日、研究者たちは持続的な核融合反応に重要な「トリプルプロダクト」での大きな成果を記録しました。これは、約90個の凍結水素ペレットを注入し、プラズマを430秒間維持しながら、プラズマの温度を2000万度を超え、最高で3000万度に達するというものでした。
この成功は、オークリッジ国立研究所から開発された新しいペレット注入装置を利用しました。この装置により、燃料の注入と加熱を正確に制御でき、将来の核融合発電所に必要な長時間のプラズマ維持が可能になりました。
ヴェンデルシュタイン7-Xは、他の施設で使用されるシンプルなトカマク設計よりも複雑なステラレーター設計を採用しています。トカマクは短時間のプラズマでより高い値を達成していますが、ヴェンデルシュタイン7-Xは長時間のプラズマ維持において先行しており、持続可能な核融合エネルギーにとって重要です。このマイルストーンは、核融合による将来のエネルギー生成の可能性を示しています。
37.Illicit crypto-miners pouncing on lazy DevOps configs leaving clouds vulnerable(Illicit crypto-miners pouncing on lazy DevOps configs leaving clouds vulnerable)
約25%のクラウドユーザーが、JINX-0132というサイバー犯罪グループによってコンピュータ資源を盗まれる危険にさらされています。このグループは、HashiCorp Nomad、Consul、Docker、Giteaといった人気のDevOpsツールのセキュリティの弱点を利用し、違法に暗号通貨を採掘するソフトウェアをインストールしています。
主な調査結果は以下の通りです。まず、JINX-0132は一般的な設定ミスがあるツールを狙っています。多くのユーザーはインストールを適切に保護しておらず、攻撃者がアクセスしやすくなっています。次に、これらのツールを使用しているユーザーの約5%が、直接インターネットに公開しており、その中の30%には攻撃者が悪用できる設定ミスがあります。
具体的な脆弱性については、HashiCorp Nomadはしばしば無防備にされており、攻撃者が採掘ソフトウェアを実行できる状態になっています。HashiCorp Consulはデフォルト設定のままだとリモートコード実行のリスクがあります。Docker APIの設定ミスは、攻撃者にシステムの制御を与える可能性があります。Giteaにも脆弱性がありますが、ソフトウェアを定期的に更新することでリスクを軽減できます。
これらの攻撃から身を守るためには、ユーザーは設定を適切に保護し、公開アクセスを制限し、ソフトウェアを定期的に更新することが重要です。
38.Uber's new shuttles look suspiciously familiar to anyone who's taken a bus(Uber's new shuttles look suspiciously familiar to anyone who's taken a bus)
要約がありません。
39.Japanese scientists develop artificial blood compatible with all blood types(Japanese scientists develop artificial blood compatible with all blood types)
奈良医科大学の酒井宏美教授を中心とする日本の科学者たちが、すべての血液型に対応可能な新しい人工血液を開発しました。この合成血液は、期限切れの献血から抽出したヘモグロビンを使用し、安定したウイルスフリーの人工赤血球を作るためにカプセル化されています。このため、互換性の検査が不要です。
この人工血液の主な特徴は、常温で最大2年間、冷蔵で5年間保存できることです。これは、献血の保存期限である42日を大きく超えています。2022年からは小規模な試験が始まり、健康なボランティアに人工血液の注射が行われました。軽い副作用が報告されたものの、大きな健康問題は確認されていません。この研究は、2030年までに人工血液を実用化することを目指しています。
さらに、小松照幸教授は、血圧を安定させ、出血や脳卒中などの状態を治療するための人工酸素運搬体を開発しています。動物実験では有望な結果が得られており、将来的な人間の試験に向けた期待が高まっています。
40.Three Gorges Dam May Increase the Length of a Day by 0.06 Microseconds(Three Gorges Dam May Increase the Length of a Day by 0.06 Microseconds)
NASAは最近、中国の三峡ダムが地球の回転や時間の計測に影響を与えている可能性があることを発見しました。このダムは世界最大の水力発電ダムであり、その巨大な水の動きが、1日の長さを0.06マイクロ秒延ばす可能性があるとされています。この変化は非常に小さいものですが、人間が作った構造物が地球全体の動態にどれほど影響を与えるかを示しています。また、NASAはコロラド川流域の深刻な水資源の枯渇など、他の環境問題についても研究を進めています。
41.Ask HN: How do I learn practical electronic repair?(Ask HN: How do I learn practical electronic repair?)
要約がありません。
42.The Creepy, Surprisingly Routine Business of Animal Cloning(The Creepy, Surprisingly Routine Business of Animal Cloning)
この記事では、動物クローン技術のビジネスが成長していることについて、特にタイ・ローレンスの体験に焦点を当てています。彼は、屠殺場で見た特異な死体に触発され、優れた肉牛をクローンすることを決意しました。1996年に羊のドリーが初めてクローンされた以来、クローン技術は猫や犬、家畜を含む約60種に広がっています。ViaGen Pets & Equineのような企業は、クローンを日常的な実践にし、顧客が愛するペットや農業において望ましい特性を持つ家畜を複製できるようにしています。
クローン技術は、生きている動物または亡くなった動物の遺伝物質を使用して、従来の繁殖方法を用いずに遺伝的に同一のコピーを作成する複雑な科学的プロセスです。この方法には倫理的な懸念が伴い、多くの人々がクローン技術に不安を感じており、一般の人々の中には道徳的に間違っていると考える人もいます。
批判があるにもかかわらず、クローン技術は裕福な顧客やブリーダーの間で人気を博しており、中には馬のクローンに8万5000ドルを支払う意欲のある人もいます。クローンプロセスは一部の動物に健康問題を引き起こすことがありますが、技術の進歩により成功率は向上しています。この記事では、絶滅危惧種の保護にクローン技術が役立つ可能性や、人間のクローンに関する議論についても触れていますが、これは依然として物議を醸すテーマです。
全体として、動物クローン技術は科学的革新と倫理的ジレンマの融合を示しており、自然と技術との複雑な関係を反映しています。
43.How to post when no one is reading(How to post when no one is reading)
成功したクリエイターになるための旅は、多くの場合、無名の状態から始まります。あなたの作品が何年も注目されないこともあります。多くのクリエイター、特に有名な人たちも、長い間ほとんど注目されないコンテンツを作り続けてきました。名声や称賛を求めることは持続可能ではないことが多く、真の成功には長年の練習と忍耐が必要であることを理解することが重要です。
認知されない中でも続けるためには、以下のポイントを考慮してください。
まず、自分が好きなものを作ることに集中しましょう。自分が楽しむものを作ることで、個人的な満足感を得られるだけでなく、時には公の承認も得られることがあります。マイク・ポズナーの例を見ればわかります。彼は長い苦労の末、ヒットを追い求めるのではなく、自分が本当に好きな音楽を作ることで成功を収めました。
次に、自分のために作ることを心がけましょう。観客が何を求めているかを推測するのではなく、自分に響くコンテンツを作ることが大切です。この考え方は、特に観客がいない状態で始めるときにモチベーションを維持するのに役立ちます。自分の興味に忠実でいることで、同じような考えを持つフォロワーを引き寄せることができます。
最後に、初期のコンテンツを将来の観客への投資と考えましょう。今は誰も見ていなくても、認知されるようになったときに、過去の作品に戻ってくる人がいるかもしれません。このコンテンツのコレクションが、将来のファンが探求したいものになるのです。
要するに、無名の中で発信を続けているなら、創作を続け、自分の情熱にコミットし続けてください。あなたの観客は、いずれあなたを見つけてくれるでしょう。
44.Younger generations less likely to have dementia, study suggests(Younger generations less likely to have dementia, study suggests)
2021年、世界保健機関は、全世界で5700万人が認知症を抱えていると報告しました。最近の研究によると、若い世代、特に女性は、祖父母と同じ年齢で認知症を発症する可能性が低くなっています。アメリカ、イギリス、ヨーロッパの70歳以上の62,000人以上のデータを分析した研究では、認知症の発生率は年齢とともに増加するものの、最近の世代は同じ年齢での発生率が低いことがわかりました。例えば、1890年から1913年に生まれた人々のうち、81歳から85歳の時点で認知症を患っていたのは25.1%でしたが、1939年から1943年に生まれた人々では15.5%でした。
この傾向は、女性の教育へのアクセスの向上や健康介入の改善などの要因に起因しています。これらの前向きな結果にもかかわらず、専門家は高齢化する人口により、認知症の全体的な件数は依然として増加すると警告しています。彼らは、認知症のリスク要因に対処するための公衆衛生戦略を継続する必要性を強調していますが、すでにいくつかの改善が見られている可能性もあると指摘しています。
45.The Princeton INTERCAL Compiler's source code(The Princeton INTERCAL Compiler's source code)
「フォーティーフォー・エソランゲス」という新しい本が2025年9月23日に発売されます。この本ではプログラミング言語の概念が紹介され、1972年にドン・ウッズとジム・ライアンによってプリンストンで作られたINTERCALコンパイラの元のソースコードが含まれています。
INTERCALは、最初のエソテリックプログラミング言語(エソラン)として知られており、プログラマーを意図的に混乱させ、従来のコーディング手法をパロディ化するために設計されました。この言語は独特な構文を持ち、プログラマーのコマンドに対して主観的に反応する人間のようなインタープリタが特徴です。例えば、「PLEASE」というコマンドを使いすぎたり足りなかったりすると、インタープリタがプログラム全体を無視してしまうことがあります。
この言語の影響は大きく、後のエソランであるチキンやオーク!にインスピレーションを与えました。しかし、今日多くの人が触れるのは、元のINTERCALから派生したC-INTERCALのような後のバージョンです。最近の取り組みにより、元のINTERCAL-72コンパイラが現代のシステムで動作するようになり、特に文字列操作を通じて数学的な処理を行う独特で複雑なアプローチが明らかになっています。
元のソースコードとスキャンはGitHubで入手可能であり、INTERCAL言語の新たな探求が可能になっています。
46.There should be no Computer Art (1971)(There should be no Computer Art (1971))
フリーダー・ナケの論文「コンピュータアートは存在すべきではない」では、コンピュータが芸術創作に与えた影響について論じています。コンピュータが登場した当初は、詩や音楽、簡単な絵を生成するために使われていました。しかし、1960年代中頃に行われたコンピュータアートの初めての展示は、コンピュータ生成の作品が真の芸術と見なされるべきかどうかについて、芸術界で物議を醸しました。
ナケは、コンピュータアートに対する興奮がある一方で、それが芸術の分野を大きく進展させていないと主張しています。彼は、コンピュータアートに関する多くの議論が繰り返しであり、知識が不足していると考えています。新しい手法や創作者と作品の関係が生まれたことを認めつつも、彼は芸術の商業化に批判的であり、アートディーラーや市場の圧力がアートのトレンドを形作ることが、アーティスト自身よりも重要であると示唆しています。
ナケは、コンピュータアートの台頭を意味のある進化ではなく、一時的なトレンドと見なしています。彼は、より多くの美的なオブジェクトを生み出すことに焦点を当てるのではなく、コンピュータを使って富の分配などの広範な社会問題を探求することが重要だと主張しています。コンピュータは、ギャラリーのために単にアートを創造するのではなく、日常生活の視覚的および美的現象を探るための道具として活用されるべきだと提案しています。
ナケは、技術が芸術やアーティストとその作品との関係に与える影響についての研究の必要性を強調しています。彼は、技術によるアーティストの疎外を研究したり、美的基準を厳密に定義したりする具体的なプロジェクトを提案しています。最終的に、彼は芸術におけるコンピュータの使用は、表面的な美しさよりも意味のある内容を優先すべきだと考えています。
47.Ask HN: How do I learn robotics in 2025?(Ask HN: How do I learn robotics in 2025?)
要約がありません。
48.The rise of judgement over technical skill(The rise of judgement over technical skill)
1995年、音楽家のブライアン・イーノは、コンピュータツールが創造的な作業においてスキルから判断へと焦点を移したと指摘しました。現在、AIは執筆、デザイン、コーディング、データ分析などさまざまな分野で同様の変化をもたらしています。
誰でもAIを使ってプロフェッショナルに見える作品を生み出せるようになったため、今や重要なのは技術的な能力ではなく、良い選択をする能力です。これには、何を創造するかを知ること、多くの選択肢から意味のあるものを選ぶこと、出力の質を評価すること、適切な問題に対して正しい解決策を適用することが含まれます。
将来的には、専門職の役割は単なる技術的な作業から戦略的な判断にますますシフトしていくでしょう。最も価値のあるスキルは、適切な質問をすること、問題を効果的に定義すること、AIツールを賢く導くことに関連しています。最終的に、イーノの洞察は、AI時代において重要なのは「できるかどうか」ではなく「何をすべきか、そしてその理由は何か」という問いであることを強調しています。技術的な障壁が減少する中で、判断力が私たちの最も重要な資産となるでしょう。
49.Prepare for archival(Prepare for archival)
「GoogleContainerTools」傘下のリポジトリ「kaniko」は、2025年6月3日に所有者によってアーカイブされ、読み取り専用となりました。このリポジトリは1,500以上のフォークと15,600以上のスターを持っていました。また、707件の問題と57件のプルリクエストが存在していました。アーカイブの日には、READMEを更新し、アーカイブの準備をするためのコミットがマージされ、2件の問題が閉じられました。現在、このリポジトリはメンテナンスされておらず、ページの追加機能にアクセスする際にいくつかの技術的なエラーが発生しています。
50.Show HN: Penny-1.7B Irish Penny Journal style transfer(Show HN: Penny-1.7B Irish Penny Journal style transfer)
Penny-1.7Bは、19世紀のアイルランドの「ペニー・ジャーナル」の文体を模倣するために設計された言語モデルです。このモデルは17億のパラメータを持ち、グループ相対ポリシー最適化(GRPO)という手法を用いて微調整されました。このプロセスは6,800ステップにわたり、ビクトリア時代に書かれたようなテキストを生成しつつ、優れた推論能力を維持することを目指しています。
基本モデルはSmolLM2-1.7B-Instructで、調整方法は強化学習の一種であるGRPOです。報酬モデルにはMiniLM2分類器が使用されています。このモデルは、創造的な執筆、教育コンテンツ、スタイル転送に関する研究などに利用されます。ただし、古い社会観や時代遅れの言語を反映する可能性があるため、出力内容の慎重な確認が推奨されます。
このモデルは、古い言語が読者を混乱させる可能性があるため、現代の事実に基づく質問には適していません。さまざまなアプリケーションのために、Hugging Faceプラットフォームを通じてアクセスできます。
ユーザーは、Transformersライブラリを使用してPythonでモデルを読み込み、利用することができます。
引用は、リー・ミラーによる2025年のもので、Hugging Faceで入手可能です。
ライセンスはApache 2.0です。
51.Typing 118 WPM broke my brain in the right ways(Typing 118 WPM broke my brain in the right ways)
要約がありません。
52.out of cash - DOS point and click adventure game(out of cash - DOS point and click adventure game)
これはDOSシステム向けに設計されたグラフィカルなポイントアンドクリックアドベンチャーゲームです。
ゲームを実行するための要件は次の通りです。まず、MS/DOSまたは互換性のあるシステムが必要です。また、DOS保護モードインターフェース(CWSDPMIのようなもの)が必要です。プロセッサは386DX 33MHz以上で、VGAサポートが必須です。さらに、最低でも4MBのRAMが必要です。音声を出すためにはSound Blasterが必要ですが、音がなくてもプレイできます。
開発に使用するツールには、GNU Make、DJGPP C(GCC 5.5.0を推奨、他のバージョンも動作する可能性があります)、Allegro 4.2.3.1(DOSをサポートする最新バージョン)、ゲームを実行するためのDOSBOX、統合開発環境のRHIDE 1.5があります。
ゲームをビルドするには、コマンドmake -f GAME.MAK
を使用するか、RHIDEからコンパイルします。その後、DOSBOXでGAME.EXE
を実行します。
このゲームはWarriorによって作成されました。
53.EU Commission refuses to disclose authors behind its mass surveillance proposal(EU Commission refuses to disclose authors behind its mass surveillance proposal)
要約がありません。
54.If you are useful, it doesn't mean you are valued(If you are useful, it doesn't mean you are valued)
要約がありません。
55.The Visual World of 'Samurai Jack'(The Visual World of 'Samurai Jack')
要約がありません。
56.LibriVox(LibriVox)
Librivoxは、著作権が切れた作品の無料オーディオブックを提供しています。これらのオーディオブックは、世界中のボランティアによって読み上げられています。ユーザーは、さまざまなデバイスでこれらのオーディオブックを聴いたり、CDに焼いたりすることができます。
すべてのオーディオブックは無料で利用でき、誰でもボランティアとして読み手として参加することができます。カタログには、48の異なる言語で20,000以上の作品が揃っています。また、新しいオーディオブックは定期的に追加されています。Librivoxでは、最新情報を話し合ったり、コミュニティと交流するポッドキャストも提供しています。
Librivoxは、費用をかけずに文学のオーディオブックを楽しむためのプラットフォームを提供しています。
57.Ask HN: Who wants to be hired? (June 2025)(Ask HN: Who wants to be hired? (June 2025))
要約がありません。
58.Is “The Phoenician Scheme” Wes Anderson's Most Emotional Film?(Is “The Phoenician Scheme” Wes Anderson's Most Emotional Film?)
ウェス・アンダーソンの最新作「フェニキアの計画」は、冷酷な実業家ザザ・コルダ(ベニチオ・デル・トロ)と彼の娘リーズル(ミア・スリープルトン)との複雑な父娘関係に焦点を当てています。この映画は、ザザの野心的なインフラプロジェクトが舞台となる架空の国フェニキアでの物語で、奴隷労働などの非倫理的な手法に依存しています。
アンダーソンのこれまでの作品とは異なり、この映画はよりストレートなストーリーを展開し、ザザが娘の愛情と忠誠を求める姿に集中しています。敵からの脅威や高リスクの交渉を乗り越える中で、彼のキャラクターは滑稽な悪人から家族の絆を通じて贖罪を求める人物へと変化していきます。
映画は視覚的に印象的で、アンダーソン特有の緻密なプロダクションデザインとアクションと感情の深みが融合しています。オーソン・ウェルズやジャン・ルノワールの映画に見られるキャラクターやテーマとの類似を示唆しつつ、登場人物たちの道徳的な複雑さにも目を向けています。
全体として、「フェニキアの計画」は感情的な共鳴とスタイルの独自性が評価されており、アンダーソンの作品の中でも特に心に残る映画となっています。
59.Arcol simplifies building design with browser-based modeling(Arcol simplifies building design with browser-based modeling)
このテキストは、ウェブサイトのナビゲーションコンポーネントに関するCSSスタイルとアニメーションについて説明しています。主なポイントは以下の通りです。
ナビゲーションバーには、メインナビゲーションとバナーのために指定された高さがあります。
レスポンシブデザインについては、モバイルでは小さい画面でモバイルメニューが開いているときにスクロールが無効になります。一方、デスクトップでは大きい画面にデスクトップナビゲーションとドロップダウンが表示され、モバイル要素は隠れます。
ドロップダウンメニューには、開閉時のトランジションがあり、視認性や不透明度の変化でユーザー体験を向上させています。ドロップダウンが開いているときは、その背景が表示されます。
メニューのアニメーションには、開閉のためのキーフレームアニメーションがあり、定義された時間で実行されます。
検索バーは、フォーカスが当たるとボーダーの色が変わります。
モバイルでは、特定のドロップダウンが異なる表示方法で表示され、使いやすさが確保されています。
ナビゲーションバナーの矢印は、外部リンクがあるときに回転します。
要求されたページが存在しない場合は、「ページが見つかりません」というメッセージが表示されます。
全体として、このテキストは、ウェブサイトのレスポンシブでインタラクティブなナビゲーションシステムのための詳細なスタイリング指示を提供しています。
60.HeidiSQL Available Also for Linux(HeidiSQL Available Also for Linux)
HeidiSQLがLinux向けの初のネイティブバージョン、12.10.1.133をリリースしました。ユーザーは公式ページからダウンロードできます。主な更新内容には、Windows版と同様のSSHトンネルサポート、35言語への翻訳、新しいアイコンの追加、SQLエディタでの括弧のハイライト機能、さまざまなエディタでの機能向上や自動タブ復元が含まれています。
ただし、いくつかの既知の問題もあります。MS SQLやInterbase/Firebirdのサポートがないこと、グリッドセルエディタでのクラッシュ、RedHat系システム向けの.rpmパッケージがないことなどです。
開発者たちは、複数のディストリビューションを簡単にサポートするための.tgzパッケージやFlatpakの開発について話し合っています。ユーザーからは、新しいバージョン、特にSSHトンネル機能についての好意的なフィードバックが寄せられています。また、潜在的なバグやその報告方法についての議論も行われました。全体として、コミュニティはこのLinux版のリリースに対して非常に期待を寄せています。
61.EasyTier – P2P mesh VPN written in Rust using Tokio(EasyTier – P2P mesh VPN written in Rust using Tokio)
分散型システムは、クライアントとサーバーの構造を持たず、中央のサービスに依存しません。このシステム内のすべてのノードは平等であり、それぞれが独立して動作します。
62.CVE 2025 31200(CVE 2025 31200)
2025年4月16日、AppleはCoreAudioにおける深刻な脆弱性、CVE-2025-31200に対するセキュリティパッチをリリースしました。このバグは実際に悪用されていると報告されており、メモリの破損に関する問題が含まれています。
ある研究者は、このバグに関する調査を行い、Project Zeroが公開したアクティブなゼロデイ攻撃のリストを確認することから始めました。特定の脆弱性に関する情報が限られていることに気づき、自ら分析を行うことにしました。
さまざまなツールを使用して古いコードと新しいコードを比較したところ、CodecConfig
クラスのDeserialize
メソッドに重要な変更があることを発見しました。この変更は音声データの処理方法に関連しているようでした。更新されたコードでは、潜在的なエラーをチェックするための処理が追加され、データサイズの計算方法にも変更が加えられていました。
しかし、研究者は脆弱性が音声処理中にm_RemappingArray
のサイズが別の配列と比較して不適切であることに起因していることを特定しました。この不一致により、メモリの境界を超えた書き込みが発生する可能性があり、これがシステムのクラッシュや任意のコードの実行に悪用される恐れがあります。
動的分析を通じて、研究者は音声ファイルを操作して誤った処理経路を引き起こし、クラッシュやメモリアクセス違反を引き起こすことでこの脆弱性を悪用しました。しかし、研究者はこのバグをより深刻な攻撃に利用する方法を完全に理解するためには、さらなる調査が必要であると述べています。
この発見は、音声処理における脆弱性の複雑さと、Appleの音声システム内でのバグの特定や軽減の難しさを浮き彫りにしています。研究者は、この脆弱性や関連する問題についてのさらなる洞察を共有する予定です。
63.ReasoningGym: Reasoning Environments for RL with Verifiable Rewards(ReasoningGym: Reasoning Environments for RL with Verifiable Rewards)
Reasoning Gym(RG)は、強化学習のために設計された新しいライブラリで、明確な報酬を伴う推論タスクに焦点を当てています。このライブラリには、数学、論理、ゲームなどの分野でデータを生成し検証するための100以上のツールが含まれています。RGの特長は、既存のデータセットが固定された課題を持つのに対し、難易度を調整できる無限のトレーニングデータを生成できることです。これにより、異なる難易度での継続的なテストが可能になります。私たちのテストでは、RGが強化学習における推論モデルの評価と改善の両方に効果的であることが示されています。
64.What works (and doesn't) selling formal methods(What works (and doesn't) selling formal methods)
マイク・ドッズは、ガロワでの形式手法(FM)プロジェクトの販売と実行に関する経験から得た課題や洞察について語っています。以下は主なポイントです。
まず、プロジェクトには期待されるコスト(時間、金銭、リソース)と利益(セキュリティ、信頼性)があることを理解することが重要です。クライアントは、利益がコストを上回るかどうかでプロジェクトを評価します。
形式手法のプロジェクトは、利益を得る前に大きな初期投資が必要なことが多いです。クライアントは早期にリターンが見込めるプロジェクトを好むため、形式手法のプロジェクトは目に見える結果が出るまでに時間がかかるため、これが課題となります。
多くのクライアントは、システムの高い正確性を追求することを優先していません。彼らは納期やコストを重視し、ソフトウェアにある程度のバグがあっても受け入れることが多いです。
形式手法のプロジェクトにおける成功の定義は難しい場合があります。クライアントは技術的な結果を理解するのに苦労し、期待がずれて混乱を招くことがあります。
手頃なソリューションを優先することも重要です。ソフトウェアの信頼性を向上させるための効果的な手法(コードレビューやテストなど)は、形式手法よりも安価で実施しやすいことが多いです。クライアントはこれらの手法を好むため、形式手法が競争するのは難しい状況です。
形式手法は、既存の非形式的な手法と完全に置き換えるのではなく、統合する必要があります。組み合わせたアプローチがより良い結果をもたらし、広く受け入れられる可能性があります。
最後に、各プロジェクトから得られる教訓は、将来のプロジェクトのコストと利益のバランスを改善するのに役立ちます。そのため、時間をかけてアプローチを適応させ、洗練させることが重要です。
この記事は、プロジェクトの目標をクライアントのニーズと一致させ、業界における意思決定を促す経済的現実を理解することの重要性を強調しています。
65.Root shell on a credit card terminal(Root shell on a credit card terminal)
このプロジェクトでは、スイスで一般的に使用されているWorldline Yomani XRモデルの決済端末を逆アセンブルしました。研究者はこの端末のセキュリティ機能を調査することを目的としていましたが、いくつかの驚くべき脆弱性を発見しました。
端末の構造は、複数の高品質なプリント基板(PCB)とカスタムのデュアルコアArmプロセッサで構成されています。従来のタムパースイッチの代わりに、端末は圧力感知コネクタを使用して開封を検出します。これらの接続を破壊するとタムパーアラートが発生し、端末は応答しなくなります。さらに、PCB上の保護トレースやカードスロットの内部ハウジングによって、タムパー検出が強化されています。
タムパー保護を作動させた後、研究者はフラッシュチップを取り外し、ファームウェアが暗号化されていないことを確認しました。端末は古いカーネル(バージョン3.6)を使用したLinuxシステムで、基本的なシステムツールが動作しています。
研究者はシステム内に露出したルートシェルを発見しました。外部デバッグコネクタを通じて端末のシリアルコンソールにアクセスし、セキュリティ対策を回避することなくルートユーザーとしてログインできました。この脆弱性は、攻撃者がタムパーアラートを発生させることなく悪用できるため、重大なリスクをもたらす可能性があります。
露出したルートシェルがあるにもかかわらず、研究者はカードデータの処理などの機密機能が別のセキュアプロセッサによって管理されており、こちらは暗号化され署名されていることを指摘しました。したがって、ルートアクセスは懸念されるものの、機密データが直接危険にさらされる可能性は低いと考えられます。
研究者はこの脆弱性について製造元に通知し、公開のタイムラインを提供しました。露出したルートシェルは重大な見落としですが、機密データが危険にさらされる実際のリスクは限られているようです。研究者はこのプロジェクトを楽しみ、端末のファームウェアのさらなる探求に前向きです。
66.The Atomic Airplane(The Atomic Airplane)
1980年代、航空機原子力推進(ANP)プログラムの退役軍人たちが、原子力で動く飛行機を作るための経験を共有しました。彼らの話の中心は、アイダホ州のEBR-I博物館に展示されている熱伝達炉実験(HTRE)に関するものでした。
MITのジェイク・ヘクラ博士は、これらの議論の録音をデジタル化しました。ジョン・ウェッブや歴史の保存に関わった他の人々の協力を受けて進められました。録音には、特定のビデオ部分へのリンクを含む完全な文字起こしが含まれています。
核航空機プロジェクトの重要な進展は1940年代後半に始まり、特に1946年に始まった航空機の推進のための核エネルギー(NEPA)プロジェクトがその起点です。フェアチャイルド航空会社や他の組織がさまざまな核推進の概念を探求し、炉設計やエンジンの開発につながりました。
このプロジェクトでは、1956年に核エネルギーで動くジェットエンジンの初運転など、重要なマイルストーンが達成されました。しかし、1961年にはミサイル技術や原子力潜水艦の進展が核航空機の必要性を上回り、プログラムは中止されました。
このプロジェクトは、核反応から得られる膨大なエネルギーを利用して航空機を動かし、高速かつ高高度を実現することを目指していました。しかし、軍は進化する軍事技術の前に核動力航空機を必要としないと判断しました。
全体として、核航空機の概念は革新的でしたが、プロジェクトは多くの課題に直面し、最終的には実現しませんでした。
67.Writing your own C++ standard library part 2(Writing your own C++ standard library part 2)
要約がありません。
68.Intelligent Agent Technology: Open Sesame! (1993)(Intelligent Agent Technology: Open Sesame! (1993))
要約がありません。
69.Cuss: Map of profane words to a rating of sureness(Cuss: Map of profane words to a rating of sureness)
要約がありません。
70.Meta and Yandex are de-anonymizing Android users' web browsing identifiers(Meta and Yandex are de-anonymizing Android users' web browsing identifiers)
要約がありません。
71.Reducing Cargo target directory size with -Zno-embed-metadata(Reducing Cargo target directory size with -Zno-embed-metadata)
この記事では、RustのCargoにおけるターゲットディレクトリのサイズを削減する新しい方法について説明しています。ターゲットディレクトリは、デバッグ情報やインクリメンタルコンパイルのデフォルト設定により、大きくなりがちです。
ターゲットディレクトリのサイズは、Rustユーザーにとって大きな懸念事項であり、ユーザー調査でも高い順位を占めています。現在のコンパイル方法は、ディレクトリのサイズを大きくする傾向があります。
ターゲットディレクトリのサイズは、デバッグ情報やインクリメンタルコンパイルなどの要因によって影響を受けます。異なるコンパイルモードのサイズを比較すると、これらの機能がディスク使用量を大幅に増加させることがわかります。
標準のコンパイルプロセスでは、重複したメタデータファイルが生成され、これが問題を悪化させています。ライブラリをコンパイルすると、オブジェクトコードとメタデータを含む.rlibファイルと、メタデータのみを含む.rmetaファイルの両方が生成されます。
新たに導入されたコンパイラフラグ「-Zno-embed-metadata」は、この重複を排除するためのものです。このフラグを使用すると、.rlibファイルには最小限のメタデータスタブのみが保持され、残りは.rmetaファイルに保存されます。
このフラグを効果的に機能させるためには、Cargoに調整が必要です。これにより、開発者はターゲットディレクトリのサイズを大幅に削減できるようになります。初期のテストでは、このフラグを使用することでプロジェクトのサイズを最大36%削減できることが示されています。
将来的には、この動作をCargoのデフォルトにする計画がありますが、互換性の問題についての懸念が先に解決される必要があります。この記事では、ユーザーにこのフラグを試してみて、その体験を共有することを奨励しています。
この新しい方法は、Rust開発者がプロジェクトをコンパイルする際に、ディスク使用量をより効率的に管理できるようにすることを目指しています。
72.Mesh Edge Construction(Mesh Edge Construction)
この記事では、ポリゴンメッシュのエッジを計算するための三つのアルゴリズムを紹介します。これらのアルゴリズムは、効率が向上しながらも同じ結果を生成します。
ポリゴンメッシュは、通常、点とその接続関係で表現されます。これをトポロジーと呼びます。最も単純な形は「トライアングルスープ」と呼ばれ、三角形を形成する点の組み合わせから成ります。より効率的な表現方法は、点を参照するためのインデックスを使用し、さまざまな辺を持つポリゴンを定義できる「フェイス-バーテックスメッシュ」という構造を作ります。
メッシュ内では、エッジはポリゴン間で共有されることがあります。このため、同じエッジを反対方向から表すインデックスのペアである「ハーフエッジ」という概念が生まれます。この区別はメッシュの構造を明確にするのに役立ちます。
ハーフエッジからユニークなエッジを特定する方法についても説明されています。インデックスのペアをソートすることでユニークなエッジを決定します。これらのエッジを効率的に保存・管理することは、3Dエディタでのレンダリングやモデリングなどの操作において重要です。
アルゴリズムについては、最初のものはエッジを追跡するためにマップを使用しますが、これは遅く(O(n log n)の複雑性)、次のバージョンではマップをフラットベクターに置き換えることで速度を向上させつつ、同じO(n log n)の複雑性を維持します。最後の最も効率的なアルゴリズムは、メッシュのトポロジーを活用して線形の複雑性(O(n))を実現し、不要な計算を減らすことで操作を大幅に高速化します。
この記事の結論として、導入されたマイナーバレンスアルゴリズムは新しい可能性があり、GPUでの並列処理の可能性も示唆されています。著者は、既存の類似アルゴリズムに関するフィードバックを求めており、今後、既知のメッシュデータとの性能比較を提供する予定です。
全体として、この記事は3Dグラフィックスにおける効率的なエッジ計算の重要性を強調し、開発者向けの実用的な解決策を提示しています。
73.Snowflake to buy Crunchy Data for $250M(Snowflake to buy Crunchy Data for $250M)
要約がありません。
74.TradeExpert, a trading framework that employs Mixture of Expert LLMs(TradeExpert, a trading framework that employs Mixture of Expert LLMs)
金融分野における人工知能(AI)の活用は、特に大規模言語モデル(LLM)を用いた定量的取引の改善に寄与しています。しかし、異なる種類のデータから得られる洞察を組み合わせることは依然として課題です。この論文では、TradeExpertという新しいフレームワークを紹介しています。これは、四つの専門的なLLMを用いた専門家のアプローチを組み合わせたものです。それぞれのLLMは、ニュース、マーケットデータ、ファンダメンタルデータなど、異なる金融データソースを分析します。次に、一般的な専門家LLMがこれらの洞察を統合し、予測や意思決定を行います。TradeExpertは、株価の動きを予測することと、取引のためのランキングを行うことを切り替えることができます。また、著者たちは評価のための大規模な金融データセットも提供しています。実験結果は、TradeExpertがさまざまな取引シナリオにおいて既存の手法よりも優れた性能を示していることを示しています。
75.Show HN: I made an AI that turn live lecture into structured notes,mind-maps,PDF(Show HN: I made an AI that turn live lecture into structured notes,mind-maps,PDF)
このウェブサイトは、あなたのブラウザのセキュリティを確認しています。もしこのウェブサイトの所有者であれば、問題を解決するためのリンクがあります。
76.Show HN: Page Magic: Use AI to customize any web page(Show HN: Page Magic: Use AI to customize any web page)
Page Magicは、AIを利用してウェブページの見た目を変更するChrome拡張機能です。この機能を使用するには、自分のAnthropic APIキーを用意する必要があります。
インストール手順は以下の通りです。まず、node.jsがインストールされていることを確認します。次に、Page Magicのリポジトリをクローンします。その後、必要なファイルを取得するためにnpm install
を実行します。続いて、拡張機能をビルドするためにnpm run build
を実行します。Chromeを開き、chrome://extensions/にアクセスします。開発者モードを有効にし、「未パッケージの拡張機能を読み込む」をクリックして、クローンしたリポジトリを選択します。拡張機能のリストからPage Magicを見つけ、「オプション」をクリックして設定を行います。最後に、Anthropic APIキーを入力し、モデルを選択して設定を保存します。
Page Magicの使用方法は簡単です。任意のウェブページを開き、Page Magicのアイコンをクリックします。変更したい内容を指定し、「適用」をクリックすると、変更が反映されます。複数の変更を適用したり、個別の変更を有効または無効にしたり、必要に応じてすべての変更を削除することもできます。
ライセンスはBSD-3-Clauseです。
77.LFSR CPU Running Forth(LFSR CPU Running Forth)
このプロジェクトは、FPGA向けにVHDLで設計されたCPUを特徴としています。従来のプログラムカウンタの代わりに線形フィードバックシフトレジスタ(LFSR)を使用しており、ゲート数を減らすことでスペースを節約することを目指していますが、FPGA上ではその差はわずかです。
CPUには動作するForthインタプリタが含まれており、シミュレーションを成功裏に実行し、「eForth 3.3」というメッセージを表示し、入力コマンドを受け付けます。このプロジェクトはFPGA用に合成されていますが、適切なボードが不足しているため、実際のハードウェアでのテストは行われていません。
CPUはSpartan-6 FPGA上で137.489 MHzで動作し、わずか29スライス(スライスはFPGAロジックの単位)を占有します。このため、他の設計と比べてコンパクトです。
プロジェクトを構築するには、makeツールとCコンパイラが必要です。シミュレーションにはGHDLが必要です。CPUを実行し、Forthインタプリタと対話するための手順も提供されています。
CPUは16ビットの命令を持つシンプルなアキュムレータベースの命令セットを使用しています。命令にはXOR、AND、LOAD、JUMPなどの操作が含まれており、実装を簡素化するための特定の設計選択がなされています。
今後の改善点としては、ドキュメントの充実、CPUの最適化、デュアルポートバージョンや異なるメモリアーキテクチャの構成の検討が挙げられています。また、他のForthインタプリタとの統合やI/O機能の拡張もプロジェクトにとって有益です。
このプロジェクトはLFSRを用いたCPU設計の探求であり、ハードウェアとソフトウェアの両面でさらなる発展の可能性があります。詳細はプロジェクトのGitHubリポジトリで確認できます。
78.Show HN: MBCompass – Android Compass App(Show HN: MBCompass – Android Compass App)
MBCompassは、Jetpack Composeを使用して作られた使いやすいコンパスアプリです。このアプリは軽量で、広告が表示されないのが特徴です。デバイスの磁力計と加速度計を利用して、リアルタイムでコンパス機能を提供し、Androidのライフサイクルを尊重した効率的な体験を実現しています。
主な機能としては、磁北の方向を表示し、ユーザーの位置をOpenStreetMap上に示します。また、明るいテーマと暗いテーマの両方に対応しており、磁気の強さをマイクロテスラ(µT)で表示します。使用中は画面が常にオンになり、横向きモードでも動作します。コンパスの回転はスムーズで、センサーの融合技術を用いて精度を向上させています。さらに、完全に無料で、広告やアプリ内購入はありません。
位置情報を地図上に表示するためには、位置情報の許可が必要です。
ユーザーからの貢献を歓迎しており、バグの報告や機能の提案が可能です。
MBCompassはGNU一般公衆ライセンスの下でオープンソースで提供されており、ユーザーはソフトウェアを使用、共有、改変することができます。
コンパスローズのアートワークは、CC BY-SA 4.0のライセンスの下で提供されています。
79.Ubicloud: Open-Source Alternative to AWS(Ubicloud: Open-Source Alternative to AWS)
Ubicloudは、AWSやAzureなどの従来のクラウドプロバイダーに代わるオープンソースのクラウドプラットフォームです。このプラットフォームでは、HetznerやAWS Bare Metalなどのプロバイダーから提供されるベアメタルサーバー上で、インフラストラクチャー・アズ・ア・サービス(IaaS)の機能を利用できます。
Ubicloudの主な特徴には、管理されたサービスがあり、インストールなしで利用できるため、プロバイダーの価格やロケーションなどの利点を享受できます。また、ユーザーはUbicloudの制御プレーンに接続し、リソースを管理するための設定手順に従って、自分自身のクラウドを構築することができます。さらに、Ubicloudは公共のクラウドサービスと比較してコストを削減することを目指しており、スタートアップや開発者にとって魅力的です。柔軟性もあり、一時的なワークロードやポータブルアプリの展開、既存のベアメタルマシンの利用が可能です。
技術的な概要としては、制御プレーンがリソースやサービスを管理し、RubyとPostgreSQLを使用しています。ネットワークはIPv4とIPv6の両方をサポートし、安全なIPsecトンネリングを提供します。ストレージは仮想化されたブロックストレージを提供し、将来的な機能も計画されています。アクセス制御には、ユーザーの権限を管理するために属性ベースのアクセス制御(ABAC)が使用されています。
今後の計画として、チームは管理されたKubernetesや監視サービスの追加に取り組んでおり、コミュニティフォーラムを通じてフィードバックや提案を歓迎しています。Ubicloudはシンプルさとスピードを重視しており、開発者が他のクラウドプラットフォーム、特にOpenStackに伴う複雑さなしにすぐに始められるように設計されています。創業チームは、Azure、Amazon、Herokuなどの企業での豊富な経験を持っています。
80.Show HN: Moon Phase Algorithms for C, Lua, Awk, JavaScript, etc.(Show HN: Moon Phase Algorithms for C, Lua, Awk, JavaScript, etc.)
Moonphaseシステムは、現在の月の位相を判断するためのさまざまなプログラミングスニペットを提供しています。このシステムは、C/C++、Rust、Zigなどのシステムレベルの言語と、Lua、JavaScript、Pythonなどのスクリプト言語の実装を含んでいます。
このシステムは、時間を入力として受け取り(通常はUnixエポック秒で)、月の「年齢」をラジアンで計算します。式 ( (1 - \cos(x))/2 ) を使うことで、月の表面の照明された部分の割合を求めることができます。この計算により、月の位相を特定することが可能になります。なぜなら、同じ照明の割合が月のサイクルの中で何度も現れるからです。月の年齢は約29.5を掛けることで日数に変換できます。また、照明された部分の割合と角度から月の位相を示すインデックスを導き出すことができ、これにより位相の名前や絵文字を特定するのに役立ちます。
スニペットには、照明された部分の割合やパーセンテージを計算するためのテストケースも含まれています。これらは「コピー&ペーストルール」に従っており、関数は自己完結型で、周囲のコード環境に影響を与えないようになっています。このアルゴリズムは、1980年代にジョン・ウォーカーによって作成されたmoontoolというプログラムに基づいています。
81.Can I stop drone delivery companies flying over my property?(Can I stop drone delivery companies flying over my property?)
ドローンによる配達が一般的になってきたことで、住宅所有者は自分の土地の上を飛ぶドローンに対して不安を感じるようになっています。マナやウィングといった企業はダブリンなどの地域でさまざまな商品を配達していますが、ドローンの部品が落下して人がけがをするなどの事故が発生し、懸念が高まっています。
ドローンの飛行に関する法的状況は不明確です。アイルランドやヨーロッパにはいくつかの規制がありますが、住宅所有者が自分の土地の上をドローンが飛ぶのを止める権利については多くの疑問が残っています。歴史的には、土地の所有権はその上空にも及ぶとされていましたが、現代の航空に伴い法的解釈が変わってきています。
提案されている解決策の一つは、住宅所有者の権利がどの高さまで空間に及ぶかを明確に定義する法律を設けることです。これにより、通常のドローンの飛行高度である60メートルから70メートルまでの範囲を設定し、住宅所有者がドローンの飛行を許可するか、またはこの限界を超えて飛ぶように要求できるようになる可能性があります。しかし、ドローンがこの限界を超えた場合を証明するのは難しいかもしれません。
全体として、低空の空間の所有権を明確にすることは、住宅所有者とドローン配達企業の双方にとって実現可能な解決策を見つけるために重要です。
82.A Hidden Weakness(A Hidden Weakness)
2025年5月29日、Android APIに関するバグハントが行われ、プログラミングにおけるシンボルの可用性について重要な知見が得られました。
Androidでは異なるAPIレベルが使用されており、特定の機能、例えばASystemFontIterator_open
は特定のバージョン(API 29)からのみ利用可能です。古いバージョンでこの機能を使用しようとすると、リンカーエラーが発生します。
こうしたケースに対処するために、開発者はアプリを新しいAPIに制限するか、dlopen
やdlsym
を使った動的ルックアップの方法を採用できます。FirefoxのAndroid版であるFenixはこの方法を利用しています。
Androidでは、__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__
を使用することができ、開発者は関数を「弱い」としてマークできます。これにより、関数が実行時に利用できない場合でもコンパイルエラーは発生せず、セグメンテーションフォルトのような不安定な動作が起こる可能性があります。
Clangは、-Werror=unguarded-availability
フラグを使用することで、弱いシンボルに関する潜在的な問題を検出できます。このフラグは、開発者にシンボルが実行時に利用可能かどうかを確認させるものです。
Firefoxのビルドシステムでは、特定のシンボルが「隠し」としてマークされており、新しいシステムでアプリケーションを実行した際に弱いシンボルが未定義となる問題が発生しました。この問題は、デフォルトの可視性を隠しに設定するコンパイルフラグに起因していました。
この問題の解決策は、Androidシステムヘッダーを含める際に一時的に可視性をデフォルトに変更することで、シンボルを正しく認識できるようにすることです。
このバグ修正の取り組みは、即時の問題(バグ1966309)を解決しただけでなく、Android開発におけるシンボル管理についての貴重な理解を提供しました。
83.I made a chair(I made a chair)
8フィートの2インチ×12インチの板を使って、シンプルな椅子を作りました。基本的な切り方をいくつか行い、使用したのは丸ノコとマルチツールだけでしたが、これらの道具はこの作業には最適ではありませんでした。端をエンドカットシーラーで密封した後、仕上げました。この椅子はしっかりと機能しており、実際には他の椅子よりも気に入っています。
84.In POSIX, you can theoretically use inode zero(In POSIX, you can theoretically use inode zero)
要約がありません。
85.New adaptive optics shows details of our star's atmosphere(New adaptive optics shows details of our star's atmosphere)
アメリカ国立科学財団の国立太陽観測所とニュージャージー工科大学の科学者たちは、新しい適応光学システムを使って太陽のコロナの最も鮮明な画像を作成しました。この技術は「コロナ適応光学」と呼ばれ、地球の大気によるぼやけを取り除くことで、太陽の外部大気を詳細に観察することを可能にします。
彼らの発見の重要なポイントは以下の通りです。まず、新しいシステムはカリフォルニア州のグード太陽望遠鏡に設置され、これまでにない高解像度の画像や動画を生成しました。これにより、太陽のコロナの複雑な構造や現象が明らかになりました。
次に、これらの観測は、熱いコロナや太陽の噴出、宇宙天気に関する貴重な洞察を提供します。宇宙天気は地球上の技術に影響を与える可能性があります。
また、適応光学技術は、鏡の形状を1秒間に2,200回調整し、大気の歪みを補正します。このため、以前の技術に比べて画像の明瞭さが大幅に向上しました。
さらに、チームはコロナ雨や太陽のプロミネンスなどの動的な現象を捉え、これまで見たことのない詳細を示しました。これにより、コロナがどのように加熱されるのか、また太陽活動が宇宙天気にどのように影響を与えるのかを理解する手助けとなるでしょう。
この進展は、世界中の太陽観測を向上させることが期待されており、より大きな望遠鏡で同様の技術を利用するための一歩でもあります。これにより、太陽物理学におけるさらなる発見が期待されます。
このブレークスルーは、太陽の複雑な挙動やその太陽系への影響を研究し理解する能力において重要な進展を示しています。
86.Hip: C++ Heterogeneous-Compute Interface for Portability(Hip: C++ Heterogeneous-Compute Interface for Portability)
HIPリポジトリは、開発者がAMDとNVIDIAのGPUで動作するアプリケーションを単一のコードベースで構築できるC++ランタイムAPIとカーネル言語を提供します。
HIPの主な特徴として、CUDAで直接コーディングする場合と比べてパフォーマンスへの影響が最小限であることが挙げられます。また、テンプレートやクラス、ラムダ式などの現代的なC++機能をサポートしています。開発者は異なるプラットフォームで好みのツールを使用でき、HIPIFYツールを使えば既存のCUDAコードを簡単にHIPに変換できます。ただし、CUDAからHIPに移行する際にはパフォーマンス調整が必要になる場合があります。
ドキュメントは体系的に整理されており、検索機能も備えています。オープンソースで、HIP/docs
フォルダーにあります。
リポジトリは複数のブランチを持っています。開発中の新機能用の「Develop」ブランチは安定していない可能性があります。「Main」ブランチは最新のリリースに対応した安定版です。「Release」ブランチは各ROCmリリース専用です。
インストール手順が提供されており、hipMalloc
やhipMemcpy
、hipLaunchKernelGGL
などのHIP関数の使用方法を示すサンプルコードもあります。
HIPコードはNVIDIAとAMDの両方のプラットフォーム用にコンパイル可能です。NVIDIAの場合、HIPランタイムAPIはCUDA APIに変換され、AMDの場合はHIP-Clangコンパイラが使用されます。
ROCm-examplesリポジトリには、ユーザーがHIPを学ぶためのサンプルプロジェクトや説明が用意されています。
ディレクトリの概要としては、include
にはHIPランタイムAPI用のヘッダーファイルが含まれ、bin
にはHIPポーティングや設定用のツールがあり、docs
にはドキュメントファイルが格納されています。
ユーザーはGitHubでバグを報告でき、関連する設定出力を提供することでサポートを受けることができます。
87.Nitrogen Triiodide (2016)(Nitrogen Triiodide (2016))
要約がありません。
88.TPDE: A Fast Adaptable Compiler Back-End Framework(TPDE: A Fast Adaptable Compiler Back-End Framework)
この論文では、TPDEという新しいコンパイラバックエンドフレームワークが紹介されています。TPDEは、特にジャストインタイム(JIT)コンパイルのためにコード生成を高速化することを目的としています。迅速なコンパイルは、アプリケーションの起動時間を短縮するために非常に重要です。従来のコンパイラフレームワークであるLLVMは、追加の中間表現(IR)変換ステップがあるため、コンパイルに時間がかかることが多いです。また、異なるアーキテクチャ向けにカスタムコードジェネレーターを作成するのも時間がかかり、複雑です。
TPDEは、既存のコードをSSA形式に適応させ、特定のアダプターを使用してIRデータにアクセスすることで、このプロセスを簡素化します。必要な分析とコンパイルを一度のステップで行い、命令の選択、レジスタの割り当て、命令のエンコードを含みます。これにより、さまざまなアーキテクチャとの互換性を保ちながら、より迅速なコード生成が実現されます。
著者たちは、x86-64およびAArch64アーキテクチャを対象としたLLVMの新しいバックエンドを構築しました。性能テストの結果、TPDEは最適化なし(-O0)の状態でLLVM-IRを8倍から24倍速くコンパイルできることが示され、実行時のパフォーマンスも類似しています。このフレームワークは、WebAssemblyやデータベースクエリなどのJITシナリオでも有益であり、追加のIR変換ステップを排除することでコンパイル時間をさらに短縮します。
89.Estimating Logarithms(Estimating Logarithms)
2025年5月21日に公開されたこの記事は、約5分で読める短い内容です。また、Hacker News(HN)でも話題になりました。
90.War and Wilderness: British Soldiers in Revolutionary America(War and Wilderness: British Soldiers in Revolutionary America)
「戦争と荒野:革命期アメリカのイギリス兵」という記事では、アメリカ独立戦争(1775-1783)におけるイギリス兵の直面した課題について述べています。トーマス・ヒューズのような多くの兵士は、戦闘や病気、捕虜生活など厳しい状況を耐えた後、帰国しても疎外感や体調不良を感じていました。
約8万人のイギリス兵とヘッセン兵がこの戦争に参加しましたが、アメリカの厳しい地形や気候、野生動物に対して十分な準備ができていませんでした。兵士たちはしばしば環境そのものを敵と見なし、湿地や病気によって大きな苦しみを味わいました。危険な湿地や蚊の大群、ワニとの遭遇など、極端な条件が重なり、病気による死亡率が高くなりました。
記事では、イギリス軍がアメリカの荒野で苦しむ一方で、アメリカの反乱者たちは自分たちの土地を優れたものと見なし、勝利を自然環境の利点に帰していたことが強調されています。イギリス兵たちは、自らの経験を振り返り、敗北の原因を容赦ないアメリカの風景に求めることが多かったです。
この記事は、自然環境がイギリス兵の革命戦争における経験や結果にどれほど重要な役割を果たしたかを強調しています。
91.Show HN: Patio – Rent tools, learn DIY, reduce waste(Show HN: Patio – Rent tools, learn DIY, reduce waste)
要約がありません。
92.Radio for DuckDB – DuckDB Now Talks to WebSockets and Redis Pub/Sub(Radio for DuckDB – DuckDB Now Talks to WebSockets and Redis Pub/Sub)
DuckDBのためにQuery.Farmが開発したRadio拡張機能は、DuckDBがWebSocketやRedisのパブリッシュ/サブスクライブといったリアルタイムイベントシステムと通信できるようにします。この機能により、DuckDBはメッセージの送受信が可能になり、受信したメッセージをSQLクエリ用に保存し、送信するメッセージを追跡します。
RadioはDuckDBの機能を強化する柔軟なプラグインです。双方向通信が可能で、メッセージの同時受信と送信を行うことができます。また、ユーザーは異なるイベントソースに対して複数の独立したサブスクリプションを作成でき、各サブスクリプションには受信メッセージ用のキューと送信メッセージ用のキューがあります。
拡張機能のインストールは、INSTALL radio FROM community;
というコマンドを使用します。次に、LOAD radio;
で拡張機能を読み込みます。
主な機能には、サブスクリプションの作成や削除、アクティブなサブスクリプションの表示が含まれます。具体的には、新しいサブスクリプションを作成するにはradio_subscribe(url)
、サブスクリプションを削除するにはradio_unsubscribe(url)
、アクティブなサブスクリプションを確認するにはradio_subscriptions()
を使用します。
メッセージの処理に関しては、メッセージを待つためにradio_listen(wait_for_messages, duration)
を使い、保留中のメッセージをフラッシュするにはradio_flush(duration)
、受信したメッセージを取得するにはradio_received_messages()
、新しいメッセージを送信するにはradio_transmit_message(url, channel, message, max_attempts, expire_interval)
を使用します。
例えば、WebSocketサーバーに接続してメッセージを処理する手順は次の通りです。まず、CALL radio_subscribe('ws://127.0.0.1:20400');
でサブスクリプションを行い、次にCALL radio_listen(true, interval '10 seconds');
でメッセージを待ちます。そして、SELECT * FROM radio_received_messages();
で受信したメッセージを取得します。
この拡張機能は将来的にGoogle PubSubやAzure ServiceBusなど、他のイベントシステムにも対応する予定です。これらの機能に関する問い合わせは、Query.Farmに連絡することができます。
93.Codex CLI is going native(Codex CLI is going native)
OpenAIのCodex CLIは、パフォーマンスやセキュリティ、クロスプラットフォームの安定性を向上させるために、Rustで書かれた新しいバージョンに移行しています。この新しいバージョンは、インストールを簡素化し、依存関係を減らし、TypeScriptやPythonなど他のプログラミング言語を使用できる新しいプロトコルを通じて拡張性を高めることを目指しています。
主な改善点には、依存関係がゼロのインストールが含まれます。これにより、Node.jsが必要なくなり、一部のユーザーにとっての障壁が取り除かれます。また、Rustの機能を活用したネイティブなセキュリティ機能が強化され、パフォーマンスも最適化されました。メモリ使用量が減少し、ランタイムのガベージコレクションが不要になります。さらに、新しいプロトコルにより、開発者はさまざまな言語でCodex CLIの機能を拡張できるようになります。
チームは、Rustバージョンを主要な選択肢にするために、フィードバックや貢献を歓迎しています。また、プロジェクトの拡張にもオープンで、Rust開発に興味のある新しいチームメンバーを探しています。TypeScriptやPythonの統合に関する最新情報も近日中に共有される予定です。
94.Stepping Back(Stepping Back)
著者は、作業から一歩引いて明確さと視点を得ることの重要性について考えています。コーディングの実験中、彼らはプロジェクトに過度に没頭し、AI(クロード)がどれだけ自立して機能できるかという元々の目標を見失ってしまいました。技術的なエラーによる強制的な休憩が、彼らに集中力を取り戻させ、意味のない作業に執着していたことに気づかせました。
この経験は特別なものではなく、著者は外部の状況による休憩や自発的な休憩が、問題へのアプローチを再評価するのに役立つことが多いと感じています。特に複雑な状況では、粘り強さと正しい道を進んでいるか再考する必要とのバランスを取ることが難しいと強調しています。
この問題に対処するために、著者は自然な時間の枠(時間、日、週など)に合わせた反省のルーチンを作ることを提案しています。休憩中に、自分の行動や目標について重要な質問を自問することで、一つの作業に過度に執着するのを避ける手助けになります。著者は、集中した思考から反省的な思考に切り替えるのは難しいと認めていますが、そうすることで貴重な洞察が得られると述べています。
全体として、著者は定期的な反省を仕事や生活の進展と方向性を確保する方法として推奨しており、この実践に少しの時間を割くことが有益であると示唆しています。
95.LLMs Are Cheap(LLMs Are Cheap)
この記事では、生成AI、特に大規模言語モデル(LLM)の運用コストが多くの人が考えるほど高くないことを主張しています。一般的にはLLMは非常に高価だという誤解がありますが、実際にはこれらのモデルの使用コストは近年大幅に減少しています。
LLMとウェブ検索サービスのコストを比較しています。例えば、ウェブ検索APIは1,000クエリあたり5ドルから35ドルかかるのに対し、LLMのコストは1,000トークンあたり0.20ドルまで下がることもあり、非常に安価です。著者は、多くのLLMがより手頃な価格になっており、技術の進歩に伴って価格が下がっていることを強調しています。
LLMのコスト計算に関する異議も取り上げており、さまざまな前提を考慮しても、LLMと検索サービスのコスト差は依然として大きいと示唆しています。
全体として、AI企業の財政状況は一部の人が考えるよりも良好であり、LLMは今後も安価に運用できることを強調しています。実際のコスト問題は、LLM自体ではなく、LLMが連携するサードパーティのサービスから生じる可能性があります。
96.Cinematography of “Andor”(Cinematography of “Andor”)
クリストフ・ニュイエンスは、「アンドール」の撮影監督として、映画業界での自身の経験を語ります。彼はフィルムからデジタル技術への移行について強調し、技術的なスキルと芸術的なスキルの両方は教えられるものであり、創造性を育むことの重要性を述べています。ニュイエンスは、フィルムからデジタルへの移行を直接体験し、技術の進歩が夜のシーンを撮影しやすくし、創造的なビジョンを実現する手助けをしていることに感謝しています。
彼は、テレビ番組に対する視聴者の期待が高まっており、多くの作品が映画と同等のクオリティを求められるようになっていると指摘します。「アンドール」での仕事に対する興奮を語り、特に「ローグ・ワン」と視覚的に繋がりを持たせる機会について述べています。LEDライトなどの先進技術を使用することで、シーンに対するコントロールが向上しました。
制作中のコラボレーションは非常に重要で、特に視覚効果チームとの連携が視覚的な一貫性を保つために欠かせませんでした。彼はグリーンスクリーンでの撮影の課題や、実際の効果を取り入れる必要性について説明します。ニュイエンスは、「アンドール」の異なるストーリーアークごとに独自の視覚スタイルを作り出すことを目指し、さまざまな照明技術を用いて異なる雰囲気を表現しました。
撮影中の俳優の都合や天候の変化に適応するなど、思い出に残る挑戦的な瞬間についても振り返ります。彼は、自分の技術を磨き続けることに満足感を感じており、国際的な制作に伴う文化的な経験も楽しんでいます。
全体として、ニュイエンスは撮影監督としての情熱を表現し、創造的に自分自身を挑戦し続けたいという思いを持っています。
97.Bohemians at the Gate?(Bohemians at the Gate?)
この記事では、人工知能(AI)と著作権法の交差点について、アーティストの川野宏氏の例を通じて考察しています。川野氏は、ピート・モンドリアンのスタイルに触発された作品を制作しており、彼の作品は著作権や創造性に関する重要な疑問を提起しています。特に、もしモンドリアンが生きていた場合、彼の作品を作るために許可が必要だったのかという点が焦点となっています。
川野氏の作品は、モンドリアンのスタイルを使用しながらも著作権を侵害していないと見なされています。著作権は特定の表現を保護するものであり、アイデアそのものは保護されません。このことは、アートにおけるフェアユース(公正使用)の定義についての疑問を呼び起こします。
アメリカの著作権制度では、フェアユースは目的、作品の性質、使用量、市場への影響を基に評価されます。川野氏の作品は、モンドリアンのオリジナル作品の市場に悪影響を与えないため、フェアユースに該当する可能性が高いです。
欧州連合(EU)では、川野氏はテキストやデータマイニングに関する免除を利用できるため、モンドリアンに対して支払いをせずに作品を制作することが可能です。
著作権の定義が厳しすぎると、創造性が抑制され、将来のアーティストが新しいアイデアを探求する能力が制限されるのではないかという懸念もあります。
AIと著作権に関する議論はしばしば二極化され、アーティストとテクノロジー企業の対立として描かれます。しかし、この記事は、創作者の利益と革新の必要性をバランスよく考慮する、より微妙なアプローチを提唱しています。
イギリスは、AIに関する規制を慎重に検討し、創造性を促進しつつ創作者の権利を保護する必要があります。AIのトレーニングデータにおける著作権のオプトアウト制度を提案することで、権利を侵害することなく革新を促進できるとしています。
全体として、この記事はAI時代における著作権に対するバランスの取れたアプローチを支持し、創造性と技術の発展を促進しながらアーティストの権利を尊重する重要性を強調しています。
98.Oxfordshire clock still keeping village on time after 500 years(Oxfordshire clock still keeping village on time after 500 years)
イースト・ヘンドレッドのセント・オーガスティン教会にある時計は、ヘンリー8世の時代から500年間、時を刻んできました。この時計は、イギリスでまだ元の場所にある最も古い時計の一つです。通常の時計の文字盤の代わりに、教会の鐘を使って15分ごとに時を知らせます。また、この時計はカリヨンに接続されており、1日に4回「天使の歌」という曲を演奏します。
2015年には、ハンマーが機械の中に落ちてしまい、時計が止まってしまいました。そのため、村人たちは時計の存在を懐かしむことになりました。改修後、新しい巻き上げシステムが追加され、手動で巻く必要がなくなりました。記念日を祝うために、塔が一般公開され、時計の動く様子を見ることができました。この時計はサイモン・ギルクリストの情熱によって修復されました。現在は、元の機械とともに、正確さを保つために現代のデジタル時計も使用されています。古い時計ですが、比較的正確に時を刻んでおり、その歴史的背景を反映しています。
99.Photos taken inside musical instruments(Photos taken inside musical instruments)
プローブレンズとフォーカススタッキングという技術を使うことで、特に楽器の内部を撮影する際に写真がより良くなることが説明されています。これらのツールは、通常は難しい詳細で高品質な画像を捉えるのに役立ちます。プローブレンズは狭い場所でも撮影できる特別なレンズで、フォーカススタッキングは異なる焦点距離で撮影した複数の画像を重ね合わせて、全体にピントが合った写真を作る技術です。これにより、楽器の内部構造や細部を鮮明に表現することが可能になります。
100.Structured Errors in Go (2022)(Structured Errors in Go (2022))
Goプログラミングにおけるエラーマネジメントの新しいアプローチについて説明しています。特に中規模のHTTP APIに焦点を当てています。
Goでは、従来の例外処理の代わりにエラー値を返すシンプルなエラーハンドリング方法を採用しています。これにより、開発者は単なるエラーメッセージ以上の情報を提供するカスタムエラータイプを作成できます。
大規模なシステムの問題を診断するためには、構造化されたログが重要です。従来のエラーロギングは構造が欠けていることが多く、ログを効果的にフィルタリングしたり分析したりするのが難しいです。
著者は、エラーにメタデータを付加することでエラーマネジメントを向上させる方法を提案しています。これには、アカウントIDなどの追加情報を含むカスタムエラータイプを作成し、それを構造化された形式で簡単にログに記録できるようにすることが含まれます。
エラーハンドリングを開発者にとって簡単で直感的にすることの重要性も強調されています。プロセスが煩雑であれば、開発者はベストプラクティスを採用しにくくなります。
Goの「context」ライブラリを利用して、呼び出しツリー全体でメタデータを保存し、渡すことができます。これにより、エラーが関連するコンテキスト情報を呼び出しスタックに持ち上げることができ、エラーマネジメントが向上します。
テキストでは、コンテキストメタデータでエラーをラップし、エラーをログに記録する際にそのメタデータを取得するためのシンプルな実装が示されています。
ログに個人を特定できる情報(PII)を含めないように注意が必要です。著者は、匿名の識別子や関連するタイムスタンプを含めることを提案しています。
著者が開発したライブラリも紹介されており、これらのエラーマネジメント技術を取り入れることで、Goアプリケーションでのエラー管理が容易になります。
全体として、構造化されたログとエラーハンドリングのギャップを埋め、開発体験とエラー診断を改善することがテーマです。