CAS番号(化学物質登録番号)

2026/03/08 5:43

CAS番号(化学物質登録番号)

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

CasNumは、コンパスと定規を用いた幾何学的構成により任意精度算術を実装するPythonライブラリです。数値は平面上の点としてエンコードされ、加算・乗算・除算・論理ゲートなどの演算は、線/点、円、直線と円の交点などの5つの基本的な幾何学プリミティブから構築されます。最適化には、2倍による特殊ケース乗算や剰余計算で最高位ビット(2のべき乗)を除去する手法が含まれています。

このライブラリはGame BoyエミュレータのALUに組み込むことを想定しています。CasNumを統合するには、PyBoy の

opcodes_gen.py
を編集するだけで、他のエミュレータコードは変更されません。使用例としては、単純なRSA実装(
python3 -m examples.rsa
)や、幾何学ベースの算術のみで動作させるポケットモンスター 赤版(
python3 -m examples.basic
)があります。初回起動に約15分かかりますが、その後はPython の
lru_cache
によりほぼ 0.5–1 FPS で再起動できます。

ビュアースクリプト (

casnum/cas/viewer.py
) は幾何学的構成を可視化し自動ズームします。RSA例では手動ズームが必要になる場合があります。依存関係は、sympy(コア)、可視化用のオプション pyglet、テスト用 pytest‑lazy‑fixtures、RSA 用 pycryptodome、および任意で Euclid Postulate V です。インストールは
git clone --recursive
の後に
pip install -r requirements.txt
を実行します。使用している ROM(
2048.gb
)は zlib ライセンス、CasNum コアコードは MIT ライセンス、PyBoy は LGPL v3.0 でライセンスされており、このプロジェクトはオープンソースや教育プロジェクトに適しています。

本文

CasNum(コンパスとストレートエッジ・ナンバー)
コンパスとストレートエッジを用いた任意精度算術ライブラリ。
また、すべてのALUオペコードが幾何学的構成のみで実装された機能付き改良版Game Boyエミュレーターも同梱しています。


目次

  • コンパスとストレートエッジ構成への導入
  • 想定利用例
  • Game Boy エミュレーター内への統合
  • サンプル実行方法
  • 哲学
  • パフォーマンス
  • 依存関係
  • FAQ
  • ライセンスと第三者クレジット

1. コンパスとストレートエッジ構成への導入

本プロジェクトは、

cas/
ディレクトリにある単純なコンパス・ストレートエッジエンジンから始まりました。
この構築法では、2 点を起点にします。

  1. 原点
  2. 単位点

エンジンは5 つの基本操作(ISA)を提供します:

  • 2 点を通る直線を作成
  • 1 点を含み、別の点を中心とする円を作成
  • 平行でない 2 本の直線の交点を求める
  • 直線と円(交差すれば)の交点を求める
  • 円 2 個の交点(交差すれば)を求める

この5つの構成が、以降のすべての算術演算の核となります。

CasNum
クラスは数 (x) を点 ((x,0)) として表現します。
算術は幾何学的プリミティブで構築されます:

  • 加算 – 中点 + 倍増
  • 乗算・除算 – 三角形の相似性
  • 論理演算(AND, OR, XOR) – より複雑だが実装可能

最適化としては次のようなものがあります:

  • 2 倍を専用構成で行う
  • 剰余は、まず除数の最大の 2 のべき乗倍を引いてから計算

2. 想定利用例

利用ケース説明
簡易 RSA大整数演算を示す
Game Boy ALUCPU の ALU を CasNum に置き換え、完全に幾何学的なエミュレーターにする
その他(追加アイデア歓迎)

最初の2例は

examples/
内にあります。
注意:円を「平方」させることはできませんが、Pokémon Red は実行可能です。


3. Game Boy エミュレーター内への統合

PyBoy との統合は最小限で、

opcodes_gen.py
のみ編集しました。


4. サンプル実行方法

# リポジトリをクローン(サブモジュール付き)
git clone --recursive git@github.com:0x0mer/CasNum.git
cd CasNum

# 依存関係のインストール
pip install -r requirements.txt

# 内蔵例を実行
python3 -m examples.basic
python3 -m examples.rsa

ライブラリは構成を可視化するビューア(

casnum/cas/viewer.py
)を提供します。
自動ズーム機能がありますが、必要なら手動で制御できます。

PyBoy の実行

  1. ROM を入手(例:
    2048.gb
    は zlib ライセンス下で自由配布可)。
  2. examples/PyBoy/
    に置く。
  3. そのディレクトリから:
cd examples/PyBoy
pip install -r requirements.txt

PYTHONPATH=../.. python

Python 上では次のように使用します。

from pyboy import PyBoy
from casnum import viewer

viewer.start()          # オプション:可視化開始
pyboy = PyBoy('2048.gb')  # または任意 ROM
while pyboy.tick():
    pass
pyboy.stop()

Pokémon の最初の起動には約15分かかりますが、以降は約0.5〜1 FPS で実行できます。


5. 哲学

現代開発者は

a + b
をプリミティブとみなすことが多いですが、CasNum は2 円から中点を構築し、単純なループカウンタでも必要に応じて4 次方程式を解くべきだと主張します。


6. パフォーマンス

  • functools.lru_cache
    を使用して計算コストの高い処理をメモ化。
  • メモリ使用量は急激に増大する可能性があるため注意が必要です。
複雑度備考
時間キャッシュ状態次第で変動(定量化未実施)
空間キャッシュ結果とともに増大

7. 依存関係

  • sympy
  • pyglet
    (オプション、可視化用)
  • pytest-lazy-fixtures
    (テストのみ)
  • pycryptodome
    (RSA サンプルのみ)
  • Euclid Postulate V
    (オプション)

8. FAQ

質問回答
ゲームを動かせる?「動かす」ことはできません。数値ライブラリです。
高速ですか?手作業で Euclid を追いかけるより速くはありますが、ネイティブ整数演算には到底及びません。
なぜ作ったのか?任意精度算術を実現し、コード上で幾何学体験をしたかったからです。

9. ライセンスと第三者クレジット

  • ルートリポジトリ:MIT License
  • PyBoy(改良版):LGPL v3.0 –
    examples/PyBoy/
    内にあります
  • 2048.gb ROM:zlib ライセンス

免責事項: 本ソフトウェアは「現状のまま」保証なしで提供されます。

同じ日のほかのニュース

一覧に戻る →

2026/03/08 6:56

3T ブラインドスポット:米国の非営利団体

## Japanese Translation: **概要** 米国の非営利セクターは年間 **3兆ドル** を管理しており、これはイギリスのGDPを上回る金額ですが、そのうち実際にプログラム費用に充てられるのは **約36%(1,800億ドル)** に過ぎません。残りはオーバーヘッド、スタッフ給与、資金調達に使われています。登録済み非営利団体は **180万人以上** であり、その多くは収益が5万ドル未満の場合 IRS Form 990 の提出義務から免除されているため、セクター全体の大部分が公衆の監視から隠れています。 寄付者の信頼感は低下しています。**米国の寄付者の32%が5年以上前よりも慈善団体に不信感を抱いています**(BBB Wise Giving Alliance)、世界的にも三分の一が非営利団体への信頼を失っています(Gallup)。財務的負担は顕著で、**調査対象の非営利団体の36%が2024年末に営業赤字を報告し、10年間で最高水準となりました**。また **41%しか全職員に生活賃金を支払えません**。資金提供者は通常オーバーヘッドを約15 % に抑えるよう指示しますが、多くの非営利団体は管理費に **31 % 近くを使っており、過小報告やコーナーカットが頻発する** ― これは「非営利組織の飢餓サイクル」と呼ばれる現象です。 企業会計との大きな違いは顕著です。IRS Form 990 は年間一度提出され、公開までに **12–18か月** を要し、監査済み財務諸表や詳細なプログラム内訳が欠如しています。一方で公的企業は **10-K(年次)、10-Q(四半期)、8-K(重要事象)** を提出し、60日以内に監査済みの声明を求められます。このコンプライアンス中心の枠組みが可視性の問題を生み出し、寄付者の信頼を侵食しています。 国際的には、英国で実施された研究で **ウガンダの井戸の45%が非営利団体によって資金提供されましたが、機能していませんでした**。これにより 2億1,500万〜3億6,000万ドル相当のリソースが無駄になっています—非効率性の重大さを示しています。既存技術(カメラ・センサー・衛星画像)はリアルタイムで成果を追跡できる可能性がありますが、現在の報告規則ではそのような機能は義務付けられていません。 非営利セクターの将来は、コンプライアンス重視から真の透明性と説明責任への転換にかかっています。この変革なしには、非営利団体は営業赤字と寄付者の懐疑心を続けるでしょう。変革が実現すれば、信頼を回復し持続可能な資金調達を確保できる可能性があります。

2026/03/06 16:17

既存のブリックからLEGO NXTファームウェアをダンプする(2025)

## Japanese Translation: > 著者はPybricksプロジェクトで作業している際、オリジナルのファームウェアバージョン 1.01を動作させていた中古Lego NXTを入手し、このファームウェアの保存コピーが存在しないこと(利用可能なのは新しい 1.03のみ)に気づきました。 > > NXTのAT91SAM7S256 MCU上では、SAM‑BA PEEK/POKE を呼び出すことはできますが、それを行うとファームウェアを書き換えてしまい、古いMCUにはモダンなデバッグインターフェースが欠けているためJTAGも実用的ではありません。ロボットのプログラムは制限付きメモリ内で動作するバイトコードVMで走るので、著者は低レベル機能に焦点を当てました。 > > PyUSB を介して USB 「Read IO Map」コマンドを送信し、`0x100d3d`(フラッシュの約 3 KiB)に位置するVMの書き込み可能な関数ポインタ `pRCHandler` を読み取りました。32 KiB の書き込み可能 MemoryPool は NOP とカスタム ARM コードで埋めることができ、`pRCHandler` をこのプール内のアドレスにリダイレクトすることで任意の直接コマンドをそのコードとして実行させることができます。 > > 著者は、受信パケットから4バイトのアドレスを読み取り、そのアドレス上のワードを返す組み込みアセンブリを挿入し、元のハンドラを置き換えました。この乗っ取られたハンドラを利用して、USB経由で「direct」コマンドをバイト単位で送信し、フラッシュ領域全体(`0x00100000–0x00200000`)を読み取り、完全なファームウェアとユーザーデータを `nxtpwn-dump.bin` にダンプしました。 > > この脆弱性は、ストックファームウェアを実行している任意のNXTで機能し、未改変デバイス上でもベアメタルコードが動作できることを示しています。これにより、保存ツールや自己複製型マルウェアなどの可能性が開かれ、NXTファームウェアの整合性チェックにおける脆弱性も浮き彫りになっています。

2026/03/08 5:55

政府官僚が予測市場に関与しないようにするための取り組み。

## Japanese Translation: **概要:** 終末予測市場腐敗法は、2026年3月8日にオレゴン州のジェフ・マークリ上院議員とミネソタ州のエイミー・クラボチャ上院議員によって提案され、共同後援者としてメリーランド州のクリス・ヴァン・ホレン、カリフォルニア州のアダム・シフ、およびニューヨーク州のキルステン・ギリブランドがいます。この法案は、大統領、副大統領、議員およびその他の公務員が非公開情報に基づく予測市場契約を取引することを禁じます。すなわち、この新しい形態の投機金融におけるインサイダー取引を実質的に禁止します。この法案は、商品先物取引委員会(CFTC)の違反摘発権限を拡大し、監視団体であるパブリック・シチズン、ワシントン州の責任と倫理市民(CREW)、および政府監督プロジェクト(POGO)によって支持されています。POGOのジャニス・ルオング、パブリック・シチズンのクレイグ・ホールマン、およびCREWのデブラ・ペーリンはすべて、予測市場への政府参加に対する倫理的制約の必要性を強調しています。マークリ氏が選挙賭博、ダークマネー、議員株取引、暗号通貨スキャンダルなど公衆腐敗問題と戦ってきた歴史は、この取り組みへの背景を提供します。全文はオンラインで公開されており、法案が投票前に議会委員会で審議される予定であることを示しています。もし成立すれば、連邦公務員は予測市場取引に対して法的制限を受け、マーケットオペレーターの規制監視が強化され、投機金融商品への政府関与に対する倫理的上限が再確認されることになります。

CAS番号(化学物質登録番号) | そっか~ニュース