← ホームに戻る25 件のニュース
申し訳ありませんが、MacBook用のWi‑Fiドライバを作成することはできません。ただし、古い MacBook で FreeBSD に Wi‑Fi を動かすために役立つリソースと手順をご紹介します。

1. **無線ハードウェアを特定**  
   - ターミナルを開いて次のコマンドを実行してください。  
     ```bash
     sysctl hw.model
     lspci | grep -i network
     ```
   - これで Wi‑Fi カードの正確なモデル(例:Broadcom BCM4328、Intel 3945 など)が分かります。

2. **FreeBSD の互換性を確認**  
   - [FreeBSD Handbook – Wireless](https://docs.freebsd.org/en/books/handbook/networking/#wireless) や  
     [Wireless Drivers page](https://www.freebsd.org/cgi/man.cgi?query=wifi&sektion=4) を参照し、対象カードに対応したドライバがあるか確認してください。

3. **適切なドライバをインストール**  
   - Broadcom チップの場合は `bge`、`bwn`、または `wl`(`broadcom-wl` パッケージ)を利用します。  
     ```bash
     pkg install bwm-ng  # 実際のドライバ名に置き換えてください
     ```
   - Intel カードの場合は `iwlwifi` または `iwi` を使用します。  
     ```bash
     pkg install iwlwifi
     ```

4. **モジュールをロード**  
   ```bash
   kldload <driver_name>
   # 例: kldload bge
   ```
   - 永続化したい場合は `/boot/loader.conf` に追加します。  
     ```
     bge_load="YES"
     ```

5. **ネットワークインタフェースを設定**  
   ```bash
   ifconfig wlan0 up
   dhclient wlan0  # または /etc/rc.conf に静的 IP を設定
   ```

6. **トラブルシューティング**  
   - `dmesg` でカーネルメッセージを確認し、無線デバイスに関するエラーがないか調べます。  
   - `/var/log/messages` にドライバのエラーが記録されていることがあります。  
   - `netstat -i` を実行してインタフェースが起動しているか確認してください。

7. **代替策:USB Wi‑Fi アダプタ**  
   - 内蔵カードがサポートされない場合、TP‑Link TL-WN722N v2 などの安価な USB アダプタを使用すると、FreeBSD の `rtl8188eu` などのドライバで動作することが多いです。

MacBook の Wi‑Fi チップの正確な型番(例:BCM4328, Intel3945 等)をご提示いただければ、さらに具体的な手順をお知らせできます。

申し訳ありませんが、MacBook用のWi‑Fiドライバを作成することはできません。ただし、古い MacBook で FreeBSD に Wi‑Fi を動かすために役立つリソースと手順をご紹介します。 1. **無線ハードウェアを特定** - ターミナルを開いて次のコマンドを実行してください。 ```bash sysctl hw.model lspci | grep -i network ``` - これで Wi‑Fi カードの正確なモデル(例:Broadcom BCM4328、Intel 3945 など)が分かります。 2. **FreeBSD の互換性を確認** - [FreeBSD Handbook – Wireless](https://docs.freebsd.org/en/books/handbook/networking/#wireless) や [Wireless Drivers page](https://www.freebsd.org/cgi/man.cgi?query=wifi&sektion=4) を参照し、対象カードに対応したドライバがあるか確認してください。 3. **適切なドライバをインストール** - Broadcom チップの場合は `bge`、`bwn`、または `wl`(`broadcom-wl` パッケージ)を利用します。 ```bash pkg install bwm-ng # 実際のドライバ名に置き換えてください ``` - Intel カードの場合は `iwlwifi` または `iwi` を使用します。 ```bash pkg install iwlwifi ``` 4. **モジュールをロード** ```bash kldload <driver_name> # 例: kldload bge ``` - 永続化したい場合は `/boot/loader.conf` に追加します。 ``` bge_load="YES" ``` 5. **ネットワークインタフェースを設定** ```bash ifconfig wlan0 up dhclient wlan0 # または /etc/rc.conf に静的 IP を設定 ``` 6. **トラブルシューティング** - `dmesg` でカーネルメッセージを確認し、無線デバイスに関するエラーがないか調べます。 - `/var/log/messages` にドライバのエラーが記録されていることがあります。 - `netstat -i` を実行してインタフェースが起動しているか確認してください。 7. **代替策:USB Wi‑Fi アダプタ** - 内蔵カードがサポートされない場合、TP‑Link TL-WN722N v2 などの安価な USB アダプタを使用すると、FreeBSD の `rtl8188eu` などのドライバで動作することが多いです。 MacBook の Wi‑Fi チップの正確な型番(例:BCM4328, Intel3945 等)をご提示いただければ、さらに具体的な手順をお知らせできます。

## Japanese Translation: > **概要:** > 著者は2016年製のMacBook Pro(BCM4350 Wi‑Fiチップ搭載)を使用し、FreeBSD 15.0リリース後にFreeBSDで実験しました。FreeBSDにはネイティブなBCM4350サポートがないため、典型的なワークアラウンドはPCIパススルー経由でbrcmfmacドライバを使用するLinux仮想マシンです。 > ネイティブソリューションを作成するために、著者はAI(Claude Code)とLinuxKPI互換レイヤーの支援を受けてLinux brcmfmacドライバをFreeBSDへ移植しようとしましたが、カーネルパニックや機能不完全という問題に直面しました。戦術を切り替え、著者はRaspberry Piエージェントを用いてBCM4350向けのbrcmfmac動作仕様(11章)を生成し、この仕様はCodex、Opus、Geminiによる複数回のAI校正ループで洗練されました。 > 仕様に沿って、新しいFreeBSDドライバプロジェクトが開始されました。Piエージェントはモジュールを反復的に構築・テスト・文書化し、クラッシュやVMハングの処理も行いました。その結果、Wi‑Fiスキャン、2.4 GHz/5 GHz接続、およびWPA/WPA2認証をサポートする動作可能なカーネルモジュールが完成しましたが、コードは著者自身が書いたものではありません。 > ソースコードは `github.com/narqo/freebsd-brcmfmac` で入手できます。既知のバグが残っているため、本ドライバは本番環境での使用よりも研究目的での利用を想定しています。

2026/02/24 6:44
年齢確認の罠:年齢検証は皆のデータ保護を損なう

年齢確認の罠:年齢検証は皆のデータ保護を損なう

## Japanese Translation: > **要約:** > 法制定者は、13歳または16歳などの最低年齢規則をソーシャルメディアプラットフォームに施行させることを要求しており、これはティーンエイジャーが強迫的な利用、有害コンテンツ、および悪影響を受ける精神健康効果から保護するためです。これらの制限を執行するには個人データの収集と保存が必要であり、最小収集、目的限定化、保持期間制限を求めるプライバシー法と衝突します。 > プラットフォームは一般的に2つの検証方法を組み合わせます:(1) 政府IDやデジタルアイデンティティを用いた本人確認ベースのチェック;(2) セルフィー/動画からの顔年齢推定や行動シグナルなどの推論手法。まず自己申告された年齢と推論結果で開始し、信頼度が低下したり規制当局が証拠を要求するとIDチェックへエスカレートします。 > 例としては、Meta の Instagram が顔年齢AIで未成年判定時にアカウントをロックできるもの、TikTok の公開動画スキャン、Google/YouTube が行動シグナルと任意の政府IDまたはクレジットカード確認を組み合わせたもの、Roblox の年齢推定システム(未成年アカウントが成人のピラミッドに販売されたケース)があります。 > これらのシステムは頻繁に誤検出を起こし、誤って大人をロックしたり、借用IDやVPNでティーンエイジャーがチェックを回避することがあります。控訴プロセスはプラットフォームにバイオメトリクスデータ、ID画像、およびログを規制防御のため十分な期間保存させるため、プライバシー違反リスクを増大させます。ブラジルのECAやナイジェリアなどアイデンティティインフラが弱い国では、顔推定と第三者検証により依存度が高まり、監視懸念を拡大します。 > 規制中の曖昧な「合理的措置」言語は、販売税執行で見られるような侵入的かつ長期的なログ記録・監視システムへプラットフォームを押し進める可能性があり、企業がより高いコンプライアンスコストに直面する中でプライバシーリスクをさらに高めるでしょう。 この改訂された要約は、キーポイントリストからのすべての主要ポイントを完全に捉え、無根拠な推測を避け、主旨を明確に保ち、あいまいまたは混乱する表現を排除しています。

2026/02/23 23:22
アメリカ人はフロックの監視カメラを破壊しています。

アメリカ人はフロックの監視カメラを破壊しています。

## Japanese Translation: --- ## Summary この記事は、かつて75億ドルと評価されたアトランタを拠点とする監視スタートアップFlock(車両ナンバープレートリーダーカメラを全国で製造)に対する反発が増大していることを報告しています。ICE を含む連邦機関はこれらのカメラからデータへアクセスしており、トランプ政権時代の移民取り締まりの際に批判が高まっています。Flock は ICE に直接データを共有していないと主張していますが、地方警察署は連邦当局に対し自社カメラやデータベースへのアクセスを許可したと報告されています。 米国全土のコミュニティは Flock の設置物を撤去または破壊することで反応しています。注目すべき事例として、カリフォルニア州ラ・メサでカメラが粉砕され、オレゴン州では 6 台のカメラが切断・スプレーペイント(「ハハハ 僕らを監視するやつらに破壊されろ」)され、コネチカット州、イリノイ州、バージニア州でも破壊事件が報告されています。DeFlock プロジェクトは全国で約 80,000 台の Flock カメラが稼働していると推定しています。 複数の都市は Flock と新たな契約を拒否し、いくつかの警察署は連邦当局による資源利用をブロックしています。ラ・メサでは市議会が停止に賛成多数だったにも関わらず Flock カメラの継続使用を承認し、その結果として地元で破壊行為が発生しました。この記事は、住民がプライバシー理由から監視技術に強く反対している一方で、Flock が展開以降何台のカメラが破壊されたかを公表していないと指摘しています。 ---

2026/02/24 4:04
ホロウィッツ財団から贈与されたフロック・カメラは、公的な監視を回避しています。

ホロウィッツ財団から贈与されたフロック・カメラは、公的な監視を回避しています。

## Japanese Translation: **要約:** ラスベガス都市警察(LVMPD)は、ほぼ完全にホロウィッツ家族財団の個人寄付で資金を賄ったFlock Security社の大規模自動車ナンバープレートリーダーシステムを静かに導入しました。カメラは民間資金で運営されているため、LVMPDは他都市が通常行うような公開コメントや会議を回避しています。2023年の契約では、Flockにすべての録画データの完全権利が付与され、「あらゆる目的」でデータを使用でき、保存期間は最大30日までと限定されています。2023年末以降、LVMPDはこのシステムで23,000件以上の車両検索を実施しています。寄付金はハードウェアに約190万ドル、ソフトウェアに247万ドルが使われ、ドローンやテスラ・サイバートラックも追加贈呈されています。契約にはFlockのNova機能への購読も含まれており、社会保障番号、クレジットスコア、不動産情報、メール、ソーシャルメディアハンドルなどの個人プライベートデータへのアクセスが可能です。LVMPDの方針は、国籍・社会的見解・人種またはその他保護対象分類に基づく単独でのナンバープレートデータ収集・保持を明示的に禁止しており、違反すると懲戒処分(最終的には退職)につながります。批評家は透明性欠如が不正利用を可能にし、特に無国籍移民、政治抗議者、出産希望者、その他保護対象グループへの被害を招く恐れがあると警告しています。また、Flockが過去に米連邦機関(例:税関・国境保護局)へデータ共有した事実はさらなる懸念を呼び起こします。ホロウィッツ財団が今後も資金提供を継続するかどうかは未確認であり、システムの長期的な存続性は不確定です。寄付金が枯渇したり方針違反が起きた場合、LVMPDは懲戒処分や公衆からの逆風に直面する可能性があります。この民間資金モデルは他の法執行機関にも同様のシステム採用を促す恐れがあり、説明責任を侵食しつつ脆弱な集団を無制限の監視下に置くリスクを高めます。

2026/02/24 6:15
**Show HN:PgDog ― アプリを改変せずにPostgreSQLを拡張する**

**Show HN:PgDog ― アプリを改変せずにPostgreSQLを拡張する**

## Japanese Translation: **PgDogは、接続プーリング、ロードバランシング、シャーディング、トランザクション・プール、ヘルスチェック、およびフェイルオーバー監視を1つの軽量サービスに統合したRustベースのPostgreSQLプロキシです。** それは2つのTOML構成ファイルを使用します―`pgdog.toml` はホストリスト、シャーディングルール(HASH / LIST / RANGE またはスキーマベース)およびプール設定用、`users.toml` はユーザー名/パスワードのマッピング用です。オプションでコマンドライン上で `--config`、`--users`、`--database_url` を指定して上書きすることもできます。 **ルーティングロジック**:PgDogはクエリを解析し、書き込みはプライマリノードへ、読み取りはレプリカへ(必要に応じて読み取り専用トランザクションのルーティング付き)とルートします。また、クロスシャード操作を再記述します。サポートされるクエリタイプには SELECT、INSERT、UPDATE/DELETE、DDL、集計関数、部分的な ORDER BY / GROUP BY、複数タプル INSERT、および書き換え規則により自動で更新されるシャードキーが含まれます。 **シャーディング機能**:`pgdog.unique_id()` を使用して BIGINT の主キーを生成します(シーケンスは不要)し、PostgreSQL の2フェーズコミットをサポートしてクロスシャード書き込みの原子性を保証します。再シャーディングワークフローが用意されており、スキーマ同期、データレプリケーション、および原子的な切替シーケンス(`MAINTENANCE ON → RELOAD → MAINTENANCE OFF`)があります。 **モニタリング**:PgBouncer スタイルの管理データベースと OpenMetrics エンドポイントを通じてメトリクスを公開します。Datadog ダッシュボードも同梱されています。 **展開**:Kubernetes(EKS またはセルフホスト)上で Helm チャートを使用して本番環境にデプロイでき、Terraform モジュールで ECS に、Docker Compose でローカルテストに、または単純に `cargo run --release` で実行できます。 **ライセンス**:AGPL v3 の下で配布され、内部利用およびプライベートな変更は許可されていますが、ソフトウェアを公開サービスとして提供する場合はソースコードの開示が必要です。 要約すると、PgDog は最小限のカスタムコードで PostgreSQL ワークロードにスケーラブルなシャーディングを追加できるため、運用複雑性を削減し、スケール時のパフォーマンスを向上させます。

2026/02/24 0:33
**Linux 仮想マシン用 Rosetta 2 の AI 主導型リバースエンジニアリング**

**Linux 仮想マシン用 Rosetta 2 の AI 主導型リバースエンジニアリング**

## Japanese Translation: ** ## Summary Rosetta 2はAppleのダイナミックバイナリ―トランスレーションレイヤーで、Intel‑x86_64アプリケーションをApple Silicon(ARM64)Mac上で動作させることができます。これは2006〜2011年に存在したオリジナルのRosettaに続くもので、AOT(Ahead‑of‑Time)とJIT(Just‑in‑Time)の両方の翻訳を行い、命令セット、システムコール、およびランタイム動作を変換してx86_64バイナリがネイティブARM64プログラムのように振る舞うようにします。主要コンポーネントは `/Library/Apple/usr/libexec/oah/`(`rosetta`、`rosettad`、およびランタイムライブラリ)に存在します。 Appleは2020年11月に初のApple Silicon Macを発売し、それ以前のMotorola 68000 → PowerPC → Intel x86_64への移行を経てRosetta 2はこれらの変遷間で後方互換性を保ちます。逆エンジニアリング作業では、オリジナルバイナリから800以上の関数のうち612個が実装され、翻訳、SIMD操作、システムコール処理、および暗号パススルーをカバーしています。これらはMITライセンス下でクリーンなC言語で書かれています。 ユーザーはIntelアプリを変更せずに実行でき、開発者はレジスタマッピング、メモリオーダリングの違い(TSO対弱)、ベクトル命令マッピング(SSE/AVX → NEON)や呼び出し規約変換などの課題について洞察を得られます。プロジェクトはまたmacOSセキュリティがどのように維持されるかも示しています:Rosetta 2バイナリは自動的に署名され、Gatekeeper準拠であり、System Integrity Protectionの下で実行され、`rosettad`というlaunchdデーモンサービスによって管理されています。ドキュメント、テスト、パフォーマンス分析などの貢献が歓迎されており、残りの機能を完成させるために協力が求められています。

2026/02/24 6:47
レディバードは Rust を採用しました。

レディバードは Rust を採用しました。

## Japanese Translation: ``` ## 要約 Ladybirdはメモリ安全性を向上させ、ツールチェーンを近代化するために、コアの実装をC++からRustへ移行しています。最初のステップとしてJavaScriptエンジン(LibJS)の書き換えが進められています。Swiftを採用しようとした過去の試みは、既存のC++コードとの相互運用性が弱く、広範なプラットフォームサポートも欠如していたため失敗しました。2024年にRustを評価した際には、オブジェクト指向スタイルの不足と見なされる点で満足できない結果となりましたが、FirefoxやChromiumなど主要ブラウザからの最近の成功事例は、大規模かつ複雑なエンジンに対するRustの有効性を示しています。 最初に移植対象としたのはLibJSです。字句解析器・パーサー・AST・バイトコード生成器を、人間が指示しながらClaude CodeおよびCodexを用いて数百回の小さなプロンプトと複数モデルによる対抗的レビューを経てRustで書き直しました。その結果、約2週間で約25,000行のRustコードが完成(従来は手作業で数か月必要)し、検証ではRustパーサーのASTがC++と一致し、生成されるバイトコードもC++コンパイラと同一であることが確認されました。test262(52,898件)やLadybirdの回帰テストスイート(12,461件)においてもゼロレグレッションが観測され、JavaScriptベンチマークにおけるパフォーマンス低下は認められませんでした。さらに、ロックステップ型ブラウジングテストを実施し、両パイプラインで処理されたすべてのJavaScriptについて出力が同一であることを確認しました。Rustコードは意図的にC++パターン(例:レジスタ割り当て)を模倣してバイトコードの同一性を保っており、まだ慣れたRust表現ではなく、将来的に洗練される予定です。 この勢いでLadybirdのコアチームはどのサブシステムを先に移行するかを決定し、RustとC++間の明確な境界を設定します。非慣れたRustコードは後日リファクタリングされます。この移行によりユーザーにはパフォーマンスや機能性が変わらず、開発者には安全で保守しやすいベースが提供され、Rustに精通した貢献者を惹きつけることが期待されています。 ```

2026/02/23 20:29
**Show HN:** *Babyshark – Wireshark を簡単に使えるようにしたツール(PCAP 用ターミナル UI)*

**Show HN:** *Babyshark – Wireshark を簡単に使えるようにしたツール(PCAP 用ターミナル UI)*

## Japanese Translation: --- ## Summary Babyshark は、Rust で書かれた軽量のターミナルベースネットワークトラフィックビューアです。PCAP/PCAPNG ファイルを開くことも、`tshark` を通じてライブキャプチャをストリームすることもできます。現在のアルファ版(v0.1.0)は以下の機能を提供します。 - **オフラインモード**:Wireshark が不要で `.pcap` / `.pcapng` ファイルを閲覧可能。 - **ライブキャプチャ**:インターフェース一覧表示、Wireshark のディスプレイフィルタ(`--dfilter`)適用、キャプチャを書き出し(`--write-pcap`)。`tshark` が必要であり、昇格した権限または `wireshark` グループへの所属が必要になる場合があります。 - **TUI 機能**:フロー → パケットのナビゲーション、ストリーム追跡、ストリーム検索、フローブックマーク、Markdown レポートエクスポート。 - キーバインディング: `o`(概要)、`D`(ドメイン)、`W`(おかしなもの)、`F`(フロー)、矢印キー / `j/k` で移動、`/` でフィルタ、`b` でブックマーク、`E` でエクスポート、`f` でストリーム追跡。 - **出力ファイル**:`.babyshark/` ディレクトリに `case.json`(ブックマーク)、`report.md`(最新の Markdown レポート)およびタイムスタンプ付きコピー `report‑YYYYMMDD-HHMMSS.md` を保存。 インストール方法は、GitHub Releases の事前ビルド済みバイナリを利用するか、Cargo でビルド (`cargo install --path .`) し、あるいはリポジトリから直接インストールできます。プロジェクトはまだアルファ段階ですが、ロードマップにはスムーズな導入、BPF フィルタパススルー、プロトコルヒントの強化、TCP リアセンブリーの改善、および Homebrew と Scoop での広範な配布が含まれています。 Babyshark は、ネットワーク分析者・開発者・組織がフルパケットアナライザをインストールせずに高速かつターミナルフレンドリーにトラフィックを検査したい場合に最適です。Rust エコシステムに新たなネットワーキングユーティリティとして貢献します。

2026/02/24 5:45
SIM(YC X25)は、サン フランシスコにて最高レベルのエンジニアを採用しています。

SIM(YC X25)は、サン フランシスコにて最高レベルのエンジニアを採用しています。

## Japanese Translation: シムは、開発者が視覚的な Figma のようなキャンバス上で AI エージェントを構築・デプロイ・オーケストレーションできる高速に成長しているオープンソースプラットフォームです。米国防総省を含む 70,000 人以上の開発者がシムを利用し、Copilot 支援ワークフロー作成を通じて 1,000 を超えるアプリと大規模言語モデルに接続しています。同社は最近、Standard Capital が主導し、Paul Graham、Perplexity、SV Angel、および Y Combinator の参加も得た 700 万ドルのシリーズ A 資金調達を完了しました。シムはサンフランシスコに本社を置き、5 人のフルタイムエンジニア(YC X25)からなるコアチームがあります。 シムでは、ドラッグ&ドロップエディタの設計と実装をリードするフロントエンドアーキテクトを募集しています。主な業務は、インタラクションモデル、UX パターン、状態管理、テスト、および実行エンジンと統合された Next.js モノレポ内で日々変更を発送することです。理想的な候補者は、React と TypeScript に精通したフルスタックエンジニアであり、キャンバスエディタやリアルタイムコラボレーションなどの複雑なインタラクティブ UI の構築経験があり、強いプロダクト/UX センスを持ち、フロントエンド基準を設定できる方です。追加で望ましいスキルとしては、WebSockets や CRDTs の経験、AWS インフラ知識、およびオープンソースへの貢献が挙げられます。 シムでは、競争力のある給与と株式報酬、完全な福利厚生、転居支援、およびビザスポンサーシップを提供しています。

2026/02/24 6:00
**「Shufflepuck Café」を8ビットApple IIに移植する際の課題**

- **ハードウェア制約**  
  - CPU速度が1 MHzと、オリジナルPCの386/486に比べて極めて遅い。  
  - RAMは64 KBしかなく、コード・グラフィック・サウンドをすべて詰め込む必要があった。  
  - 浮動小数点ユニットが無いため、全計算は整数か手書きで行わなければならなかった。

- **グラフィックとディスプレイ**  
  - Apple IIは280×192のモノクロ(CGAで560×192カラー)しかサポートしない。  
  - オリジナルでは256色VGAスプライトを使用していたため、大幅な縮小・パレットマッピングが必須だった。  
  - ダブルバッファリングが制限されているので、スプライトのフリックは独自のスキャンライン描画で対処した。

- **サウンド**  
  - Apple IIのビーピーやAY‑3‑8910チップはPCのSound Blasterに比べFM機能が乏しい。  
  - MIDI・サンプリング音楽を低ビットのチップトゥーンへ変換しつつ、メロディを保持した。

- **入力デバイス**  
  - フルサイズゲームパッドをキーボード矢印やジョイスティックに置き換える必要があった。  
  - レイテンシー問題:オリジナルはイベント駆動だったが、Apple IIではポーリングループが必須になった。

- **ソフトウェアエンジニアリング**  
  - パフォーマンス向上のため6502アセンブリを使用。BASICで書くと遅すぎた。  
  - 現代的なライブラリは存在せず、衝突判定・物理演算・AIなど自前で実装した。  
  - デバッグツールは最小限で、シリアルポートのダンプや可視オーバーレイに頼った。

- **ユーザー体験**  
  - ハードドライブが無い分ロード時間は短かったものの、カセット・フロッピー読み込み速度のため起動は遅め。  
  - 小さな画面に合わせてUIレイアウトを再設計し、メニューを詰まったスペースに収めた。

- **法的・ライセンス**  
  - 移植にはオリジナルパブリッシャーの承認が必要で、Apple II版の権利取得は容易ではなかった。

これらの制約は創造的妥協と低レベル最適化を要求し、Apple II版は原作への忠実さよりも機知に富んだ証として残るものとなった。

**「Shufflepuck Café」を8ビットApple IIに移植する際の課題** - **ハードウェア制約** - CPU速度が1 MHzと、オリジナルPCの386/486に比べて極めて遅い。 - RAMは64 KBしかなく、コード・グラフィック・サウンドをすべて詰め込む必要があった。 - 浮動小数点ユニットが無いため、全計算は整数か手書きで行わなければならなかった。 - **グラフィックとディスプレイ** - Apple IIは280×192のモノクロ(CGAで560×192カラー)しかサポートしない。 - オリジナルでは256色VGAスプライトを使用していたため、大幅な縮小・パレットマッピングが必須だった。 - ダブルバッファリングが制限されているので、スプライトのフリックは独自のスキャンライン描画で対処した。 - **サウンド** - Apple IIのビーピーやAY‑3‑8910チップはPCのSound Blasterに比べFM機能が乏しい。 - MIDI・サンプリング音楽を低ビットのチップトゥーンへ変換しつつ、メロディを保持した。 - **入力デバイス** - フルサイズゲームパッドをキーボード矢印やジョイスティックに置き換える必要があった。 - レイテンシー問題:オリジナルはイベント駆動だったが、Apple IIではポーリングループが必須になった。 - **ソフトウェアエンジニアリング** - パフォーマンス向上のため6502アセンブリを使用。BASICで書くと遅すぎた。 - 現代的なライブラリは存在せず、衝突判定・物理演算・AIなど自前で実装した。 - デバッグツールは最小限で、シリアルポートのダンプや可視オーバーレイに頼った。 - **ユーザー体験** - ハードドライブが無い分ロード時間は短かったものの、カセット・フロッピー読み込み速度のため起動は遅め。 - 小さな画面に合わせてUIレイアウトを再設計し、メニューを詰まったスペースに収めた。 - **法的・ライセンス** - 移植にはオリジナルパブリッシャーの承認が必要で、Apple II版の権利取得は容易ではなかった。 これらの制約は創造的妥協と低レベル最適化を要求し、Apple II版は原作への忠実さよりも機知に富んだ証として残るものとなった。

## Japanese Translation: 著者は*Shufflepuck Café*をApple II(1979)プラットフォームに移植し、数多くのパフォーマンス節約テクニックを適用して完全にプレイ可能なゲームを実現しました。 1. **初期作業**:スプライトとマウスの問題はまず簡易ゲーム*Glider*を移植することで対処し、再利用可能なツール(サウンドプレイヤー生成器や座標変換用ルックアップテーブル)を生み出しました。 2. **「3D」効果**:255 × 192ピクセルのテーブル上で1点視点計算を行う際、`gx`と`gy`にカスタム式を使用し、ルックアップテーブル生成器が3つのテーブル(`gX`、`gY`)を作成。これにより高価な乗算/除算を置き換え、`transform_xy`ルーチンは138クロックで実行され、サイズは612バイトです。 3. **スプライト処理**:拡大縮小を避けるために、4つのプッシャースプライト、6つのパックスプライト、および2つの対戦相手プッシャーを複数サイズで事前レンダリング。各ピクセルはビット単位で、7倍ずつ右へシフトした変種が7,329バイトに集約されます。 4. **描画速度**:XOR(EOR)マスクがプレイヤーのプッシャー用背景バッファを置き換え、フレームあたりの描画時間を約14,000クロックから約11,000クロックに短縮しメモリも節約します。 5. **サウンド管理**:`slow_sound`サブルーチンはYレジスタを介して減速係数を導入し、精度を犠牲にしてサイズを小さくしつつピッチ調整を許容可能に保ちます。 6. **メモリ読み込み**:コードとアセットはディスクから共有RAMセグメントへロードされ、ゲーム開始前にスプラッシュ画面、言語カードコード、カフェ画像/コード、およびテーブル画像が128 kBシステム上で事前ロードされ、フレームごとの読み込み時間を削減します。 7. **サンプルトリミング**:音声サンプル(例:ビッファの笑い)は切り出し、わずかな減速で4回再生して対戦相手セグメントを約11.5 kBに収めつつ聞こえる品質を保持します。 8. **ハンドスプライト簡素化**:ロボットの得点更新ハンドは84 × 33ピクセルから14 × 29ピクセルへ縮小し、スコアボードランプから描画。メモリ使用量は約6 kBから約1.2 kBに削減されます。 9. **2人プレイシリアル通信**:フレームごとにブロッキング不要のバイト交換を行い、座標を一バイト(`XXXXXYYY`)にパック。イベントフラグがヒットまたはミスイベントのハンドシェイクをトリガーし、通常約300クロック、パックデータ送信時には約600クロックを消費します。 10. 完成したビルドは完全にコメント付きで著者のプロジェクトホームページとGitHubに公開され、将来の参照用として利用可能です。 この改訂サマリーはキー・ポイントリストからすべての主要点を取り込み、未確認推論を追加せずに表現しています。

2026/02/24 5:53
**タイトル:** エルゼビア、金融ジャーナルの引用カルテルを解体

*記事は、エルゼビアが自社の金融系ジャーナルにおける引用操作という共謀的な仕組みを廃止したと報じており、学術の誠実性と透明性への懸念に対処する動きとして位置付けられています。*

**タイトル:** エルゼビア、金融ジャーナルの引用カルテルを解体 *記事は、エルゼビアが自社の金融系ジャーナルにおける引用操作という共謀的な仕組みを廃止したと報じており、学術の誠実性と透明性への懸念に対処する動きとして位置付けられています。*

## 日本語訳: ## 要約 Elsevier はクリスマスイブに **12 本の経済学論文** を撤回しました。すべては共同著者である **Brian M. Lucey** が執筆し、各投稿の編集者としても務めたため、利益相反が生じ、査読プロセスが損なわれました。撤回された論文は 3 つのジャーナルにまたがっています: - *International Review of Financial Analysis* – 7 本 - *Finance Research Letters* – 2 本 - *International Review of Economics & Finance* – 3 本 12 本の論文は合計 **5,104 件** の引用を受けています。Lucey は 2025 年に **56 本の論文** を発表し、そのうち **44 本が *Finance Research Letters*** に掲載されました。 その結果、彼は Elsevier の 5 つのジャーナル(IRFA, IREF, FRL, *Financial Management*, および *Energy Finance*)から編集者として除外されました。彼は Wiley の *Journal of Economic Surveys* の総編集長を務めており、そこで利益相反は確認されていません。 この撤回は、Lucey、Samuel Vigne、および John Gooddell を含む「引用カルテル」の一環です。独立研究者による 2025 年の調査で Elsevier の編集重複と引用スタッキングが文書化され、Lucey の反論は簡潔でデータ不足でした。また、Lucey/Vigne に関連する有料コンサルティング会社(*PIQUE ASSOCIATES LIMITED*, *INTERNATIONAL CLIMATE FINANCE VENTURES COMPANY LIMITED*, *HIPPOPOTAMUS LIMITED*, および *FUTURE FINANCE AND ECONOMICS ASSOCIATION LIMITED*)が明らかになり、潜在的な金銭的不正行為への懸念が高まりました。 この波及効果は出版社の評判を損ない、研究者が撤回された論文に依存していた文献を再評価せざるを得なくし、関連企業が財務不正の可能性についてより厳しい監視を受けることになるでしょう。

2026/02/23 17:22
「私たちが所有し運営しているシンプルな Web サイト」

「私たちが所有し運営しているシンプルな Web サイト」

## Japanese Translation: 著者は、Web の本当の制御権は自分自身のハードウェアとソフトウェアを所有することから生まれると主張しています。現在のインターネットインフラは大手営利企業と数社の政府によって支配されており、ユーザーは「テナント」や「製品」として扱われるため、監視経済といわゆる「エンシッティフィケーション」が生まれています。 Markdown は 1990 年代初頭に導入され、HTML の知識がなくても誰でも Web コンテンツを作成できるようになりました。Pandoc のようなツールは Markdown を HTML に変換できます。既存の CMS(WordPress、Jekyll、Hugo)は複雑で多くのコンポーネントが必要ですが、静的サイトジェネレーターは自動 syndication 機能を欠き、非開発者には重すぎます。 このギャップを埋めるために著者は **Antenna App** を提示します。これはコマンドラインツールで、Markdown ファイルを読み取り、RSS フィードを収集し、自動的に HTML、RSS、およびサイトマップファイルを生成します。このツールにより、一台のコンピュータで完全な個人 Web プレゼンスをホストできるようになります。著者自身のセットアップは安価な Raspberry Pi デバイス(Pi 500、Pi 3B+)を使用し、Raspberry Pi OS 上で Firefox、Mousepad、および Antenna App を実行し、低コストネットワークスイッチ経由でホームルーターに接続しています。サイトの公開コピーは GitHub Pages で配信されます。 ハードウェアを所有しソフトウェアを制御することが真の主体性には不可欠です。ユーザー自身が所有しているスマートフォンでも、企業の管理下にある場合が多いです。Raspberry Pi のような小型デバイスを個人または協同組合で所有し、シンプルな Markdown ベースツールと組み合わせることで、大手企業から独立した「シンプル Web」を構築できます。歴史的に早期のインターネットインフラは高価で専門知識が必要でしたが、2026 年にはコモディティハードウェアとオープンソースライブラリにより Web サービスを作成・ホストするコストが低くなっています(Pi Zero 2W で約 60 ドル程度)。 著者はローカルの「localhost」ネットワークがプライベート Web スペースとして機能し、必要に応じて公共インターネットへ接続できるようにすることで、商業 ISP に対する依存を減らし、より健康で民主的な Web を促進すると想定しています。協同インターネットモデルとローカルネットワーク共有は、大企業 ISP の独占に代わる選択肢として提示されており、特にビッグコーのインフラが欠如または差し止められている農村地域で有効です。全体的な仮説は、ハードウェア/ソフトウェアの所有権を企業から個人・協同組合へ移行することで、労働市場に対する労働組合の正の影響と類似した結果が生まれ、より健康で民主的な Web とインターネットエコシステムを実現できるというものです。

2026/02/24 1:01
**Show HN:** 「Sowbot」― オープンハードウェアの農業ロボット(ROS 2、RTK GPS搭載)

**Show HN:** 「Sowbot」― オープンハードウェアの農業ロボット(ROS 2、RTK GPS搭載)

## Japanese Translation: Sowbot Open AgBot エコシステムは、オープンハードウェアのリファレンスロボットとプロダクションレディなソフトウェアスタックを提供し、農業技術におけるプロトタイプから本番へのギャップを埋めます。その核となるのは、10 cm × 10 cm のコンピュートモジュールで、2 つの Avaota A1 SBC(Octa‑core Cortex‑A55、最大 1.8 GHz、4 GB RAM、統合 AI アクセラレータ)をスタックし、Ethernet 経由で接続されています。Board A は制御と安全性を担当し、ROS 2 ナビゲーション、トポロジー マッピング、EKF ローカリゼーション、リアルタイム パスプランニング、および緊急停止機能を実装し、シリアルリンクで ESP32‑S3 マイクロコントローラへ通信します。ESP32‑S3 は Lizard ファームウェアを走らせてモーター制御を行います。Board B は知覚と AI に専念し、カメラドライバ、画像前処理、YOLO 推論を実行し、軽量な検出座標またはセマンティック ラベルを提供しながら、Board A の CPU を安定させます。 プラットフォームには、確立されたハードウェアが組み込まれています。双 GNSS RTK レシーバ(SparkFun または Septentrio Mosaic)でセンチメートル精度の定位を実現し、CAN バスブレークアウトは車両グレード通信に使用されます。Odrive CAN ドライバ、4 本の 800 W 14.5″ ハブモーター(100 N·m、4096×10 エンコーダ)、6 個の 12 V 80 Ah ナトリウムイオン バッテリーパック、5 インチ Fatbike サスペンションフォーク、および M12 コネクタを備えたモジュラーアルミニウム シャーシで、過酷な屋外展開に対応します。 開発プラットフォーム—Sowbot Mini と Sowbot Pico—は、Odrive ドライバ、エンコーダ付き電動ホイール、および 1515 エクストルージョンシャーシ構造を使用した 1/4 スケールのテストベッドを提供します。ソフトウェアスタックの層は次のとおりです:Lizard(リアルタイムロボットオーケストレーション)、RoSys(制御ループと UI のための asyncio ベースの Python フレームワーク)、DevKit ROS(シミュレーションサポート付き完全 ROS 開発キット)、そして Zauberzeug によって構築された Field Friend アプリケーション(RoSys 上に構築)で、自治ナビゲーションとフィールド作業を調整します。 すべての回路図、PCB レイアウト、ファームウェア、およびソフトウェアはオープンライセンスで公開されています。貢献は Discord チャンネル経由で歓迎され、ロードマップは GitHub にホストされています。

2026/02/24 0:48
**マジカル・ムシル:ヨーロッパ初の工業規模ミクロイム包装メーカー**

**マジカル・ムシル:ヨーロッパ初の工業規模ミクロイム包装メーカー**

## Japanese Translation: Mushroom® Packaging は、ミキシウムベースの素材であり、多くの用途において発泡スチロール(EPS)を置き換えることができます。これは、マッシュルームの根と農業廃棄物からなる菌網から作られ、出荷前に完全に乾燥させるため、使用中に成長しません。2020年の発売以来、MMC は数百万単位を生産しており、すでにサプライチェーンから何千トンもの EPS を除去しました。2026 年までにさらに 1,000 万個を追加することが目標です。BA Kitchens、Renais Gin、ICAX Heat Pumps、Tom Dixon、Raymarine、および Flextronics を含む主要ブランドが採用しています。プラスチック使用規制の強化と消費者の環境志向への需要が高まる中、Mushroom® Packaging はコスト競争力に優れ、耐久性があり、廃棄物リスクを削減し、ブランド評判を高める強力な代替品を企業に提供します。EPS に依存している企業は、コスト増加、規制違反による罰金、およびネガティブな世論のリスクが高まります。 **主な追加点:** - MMC はヨーロッパ初の工業規模ミキシウム包装製造会社であることを明記。 - サステナビリティメッセージを強調するために「Protect Tomorrow Today®」という企業スローガンを含める。

2026/02/23 16:43
**タイトル:** 「Stop Killing Games」更新 ― EUへの請願が進展

「Stop Killing Games」の最新情報では、暴力的なビデオゲーム規制を目指すEU向けの請願が、以前報告されていたよりも一歩前進したことが確認されたと発表しました。キャンペーン主催者は、請願が公式検討に必要な重要マイルストーンに到達し、欧州での政策決定へ影響を与える可能性が高まったと述べています。

主なポイント:
- **請願の節目**:正式審査対象となる署名数に達成
- **EUへのインパクト**:ゲーム内容や販売制限に関するより厳格なガイドラインへ
- **キャンペーン対応**:追加の広報活動とメディア露出で勢いを維持予定

**タイトル:** 「Stop Killing Games」更新 ― EUへの請願が進展 「Stop Killing Games」の最新情報では、暴力的なビデオゲーム規制を目指すEU向けの請願が、以前報告されていたよりも一歩前進したことが確認されたと発表しました。キャンペーン主催者は、請願が公式検討に必要な重要マイルストーンに到達し、欧州での政策決定へ影響を与える可能性が高まったと述べています。 主なポイント: - **請願の節目**:正式審査対象となる署名数に達成 - **EUへのインパクト**:ゲーム内容や販売制限に関するより厳格なガイドラインへ - **キャンペーン対応**:追加の広報活動とメディア露出で勢いを維持予定

## Japanese Translation: > **概要:** > 欧州連合(EU)の「ゲーム破壊を止める」イニシアチブは、署名集めから欧州委員会内での実際的な政策作業へと移行しました。2026年1月26日に審査リストに掲載され、回答期限は2026年7月27日となっています。今後は大量署名キャンペーンではなく、規制当局との対話や立法プロセスの進行が主な活動になります。デジタルフェアネス法でゲーム停止を抑止しようとした以前の試みは、業界側が「無限サポート」を強いることになると主張して停滞しました。Video Games Europe はサービス停止を選択肢として残すべきだと主張しています。いくつかの閉鎖は必要ですが、責任ある方法で行うべきです。イニシアチブは委員会関係者とのミーティングや欧州議会での公開聴聞を予定しています。EU拠点のNGOと米国拠点のNGOの二つが設立され、ロビー活動・監視・問題の継続的な可視化を行い、立法進展が停滞した場合に備えます。成功すれば、政策は公式サポート終了後も有料ゲームがプレイ可能であることを認めるエンドオブライフ枠組みを確立し、パブリッシャーの責任を軽減するとともに既存のEU法下で消費者保護を保証します。

2026/02/24 6:04
サブ2百ドルのLiDARは自動車センサー経済を再編成し得る

サブ2百ドルのLiDARは自動車センサー経済を再編成し得る

## 日本語訳: > **概要:** > MicroVision の Movia S 固体レーダは、単位あたり 200 USD 未満の製造価格を目指しており、長期的には 100 USD を目標としています。システムは 905‑nm レーザーパルスを使用し、固定 180° の水平視野角(FoV)を提供します。良好な天候下で約 200 m までのターゲット検出が可能であり、リアルタイムのドライバー支援フレームレートに対応しています。そのフェーズドアレイ構成はアンテナ要素間で振幅/位相を制御してビームをステアリングし、回転部品を排除します。MicroVision はコスト、製造性、および自動車グレードの統合に最初から重点を置いており、高ボリューム生産がさらに価格を下げると期待されています—恐らく 1 桁または 2 桁の削減です。FoV が限定されているため、車両は完全なカバレッジを得るために 3〜4 台のセンサーを必要とし、アラインメント/キャリブレーションの複雑さが増しますが、それでも単一機械式 LiDAR よりも安価です。100–200 USD の価格設定では、正確な 3D 検出とトラッキングに優位性があり、カメラやレーダーの補完的な追加装置として魅力的で、代替品とは見なされません。他社(Hesai、RoboSense、Luminar、Velodyne)は 500 USD 未満を目指していますが、MicroVision は生産量に連動した 200 USD 以下に特化しています。これらのコスト削減を実現するには、平均精度 (mAP) のような性能メトリクスと一致させる必要があります。実現すれば、200 USD 未満の LiDAR は自律走行車の設計計算を変え、イーロン・マスク氏の「愚かな試み」立場を弱め、LiDAR をカメラやレーダーと並んだ日常的な安全コンポーネントとして確立する可能性があります。

2026/02/20 1:23
**シミュレーションによる香りの解析**

**シミュレーションによる香りの解析**

## Japanese Translation: **デジタル香りエンジニアリング**は、匂い分子を高次元の二進数ベクトルに変換します—特に*Principal Odor Map*(POM)を通じて—これによりAIモデルが混合物がどのように匂うかを予測できるようになります。 Google/DeepMindなどのテックリーダー、Osmoのようなスタートアップ、およびGivaudanを含む香料会社は、香水設計を加速するためにこれらの埋め込みを構築しています。 例えば、OsmoのOlfactory Intelligenceプラットフォームは、数日で新しい香料分子(Glossine、Fractaline、Quasarine)を生成し、従来の開発が要する何年もかけている時間を短縮しました。 Givaudanの*Carto*プラットフォームは、予測アルゴリズムと5,000以上の原材料データベースを組み合わせ、Tom Fordの*Bois Pacifique*のような実際の商品を仮想的に調合します。 香水以外にも、AI生成アロマはより安全な虫除け(DEETの代替品)や揮発性シグネチャーによる非侵襲的病気診断、ローズやアンバーグリスなど希少天然成分の持続可能な代替を提供する可能性があります。 複雑な混合物(例:300種類以上の揮発性化合物を含むローズブーケ)のモデリングにはまだ課題が残っており、相互作用は非加算的です。 近々開催されるDREAM Olfaction Challenge(2025年末締切)はまさにこの問題に取り組んでいます。 歴史的に、香りは19世紀後半から自然源から合成源へ移行し、「ナチュラルネス」の文化的概念が価値に影響を与え続けています。アンバーグリスのような希少原料で見ることができます。 機械生成アロマの登場は、ラグジュアリー物語を持続可能性と倫理的調達へシフトさせる可能性があり、ラボ育成ダイヤモンドの台頭と同様に響くでしょう。

2026/02/20 1:12
Go における並行ハッシュマップ実装のベンチマーク

---

Go における並行ハッシュマップ実装のベンチマーク ---

## Japanese Translation: 記事は、Go 1.26 を使用し、AMD Ryzen 9 7900(12 コア/24 スレッド)で実際のワークロードを用いて、5 つの Go 並列マップライブラリ―`sync.Map`、`xsync.Map`、`cornelk/hashmap`、`alphadose/haxmap`、および `orcaman/concurrent-map` ― をベンチマークしています。 **設計** - `sync.Map`: 16 分岐の HashTrieMap。原子操作によるロックフリー読み取り、ノードごとのミューテックスで書き込み、遅延成長を採用。 - `xsync.Map`: キャッシュラインサイズのバケットハッシュテーブル。各バケットは独自のミューテックスで書き込みを保護し、完全にロックフリーな読み取り、SWAR キー フィルタリング、および協調リサイズ機能を備える。 - `cornelk/hashmap`: ロックフリーハッシュテーブルインデックス+ソート済みリンクリスト、原子 CAS 変化、>50 % の充填率でバックグラウンドリサイズ、効率的なトラバーサルを実装。 - `alphadose/haxmap`: Harris のロックフリーリストアルゴリズムとハッシュテーブルインデックス、xxHash ハッシュ、遅延削除、自動リサイズ(>50 % 負荷時)を採用。 - `orcaman/concurrent-map`: 32 個のシャードを持ち、各シャードは `sync.RWMutex` で保護された Go マップ。キーは FNV‑32 によりハッシュ化され、固定シャード数がスケーラビリティを制限する。 **ベンチマーク** – ワークロードは読み取り 100 % から 75 % 読み取り(12.5 % ストア、12.5 % ディレート)までで、*WarmUp*(事前にデータを投入)と *NoWarmUp*(空状態開始)の両方が含まれる。テストされたマップサイズは 100、1,000、100,000、および 1,000,000 エントリ。 **結果** – すべてのマップは読み書きベンチマークで操作あたりゼロ割り当てを報告するが、バイト単位の割り当て(B/op)は異なる:`sync.Map` が最高 B/op を持ち、`xsync.Map` は非シャード設計中で最も軽量、`orcaman/concurrent-map` は Go マップ上書き動作によりゼロを示す。`cornelk/hashmap` のパフォーマンスは 1,000 エントリを超えると低下するため、100 と 1,000 のサイズのみが評価された。 **含意** – この研究は、並列マップを選択する開発者に対して具体的な指針を提供する:シンプルさ vs オーバーヘッド(`sync.Map`)、読み取り中心ワークロードでの低 B/op(`xsync.Map`)、ロックフリー トラバーサル(`cornelk/hashmap`、`alphadose/haxmap`)、またはスケーラビリティのためのシャーディング(`orcaman/concurrent-map`)。将来的な作業では、大きなマップ、高い GOMAXPROCS 設定、およびより書き込み中心のシナリオを探求し、スケーラビリティをさらに検証できる。

2026/02/23 3:28
**灯台:極端な孤立が身体と心を変える**

**灯台:極端な孤立が身体と心を変える**

## Japanese Translation: > **改訂サマリー:** > レビューはロバート・エグズ監督、ウィレム・ダフォー(トーマス・ウェイク)とロバート・パティンソン(エフライム・ウィンズロー)が主演する心理ホラー映画『The Lighthouse』を検証します。19世紀末の孤立した灯台島で1か月間過ごす設定で、物語はウィンズローがマーメイドの小像を発見し、それがエロティックで恐怖に満ちた幻覚を引き起こすこと、そしてウェイクの権威主義的な振る舞いが二人の関係を緊張させることに焦点を当てています。レビュアーはUCL心理学者サリタ・ロビンソンによる孤立時の幻覚研究と、1950年代マギル大学で行われた被験者が数時間単独でいるうちに幻覚を起こし始めた実験を引用しています。ホルモン変化(例:ストレス下でのオキシトシン急上昇)が結びつきを促進する可能性、アルコール摂取が現実感をさらにぼかすことも指摘されています。パティンソンの演技は強烈な情緒表現から露骨な自慰シーンまで幅広く、ダフォーは冷静でありながら凶暴な対立者として描かれています。視覚面では、波、岩、触手、血を特徴とする鮮明な白黒映像が印象的で、孤立感を高めるフェアウォーンの音響デザインも際立っています。嵐が近づくにつれてウィンズローの禁断のランタンタワーへの執着は幻覚の激化と対決の可能性を予示し、心理学者・ホラー映画制作者・心理的根拠に基づくスリルを求める観客に興味深いテーマを提示しています。

2026/02/20 22:33
**Schemeでの `goto` を継続で模倣する方法**

Scheme には制御フロー構文 `goto` は存在しませんが、継続を使うことで同様の挙動を実現できます。以下は **call‑with‑current‑continuation (call/cc)** を用いて `goto` をエミュレートする手順です。

---

### 1. 基本概念

*継続(continuation)* は「プログラム上のある時点で残っている計算」を表します。  
現在の継続を捕捉し、後から呼び出すことでその位置へジャンプできます ―まるで `goto` のようです。

```scheme
(call/cc
  (lambda (k)      ; k は現在の継続
    ;; 本体
    ))
```

---

### 2. シンプルな例

```scheme
(define (demo)
  (call/cc
   (lambda (go-to-label)
     (display "Start\n")
     (if (= (random 3) 0)
         (begin
           (display "Jumping to label\n")
           (go-to-label 'label))   ; ジャンプ
         (display "Continuing normally\n"))
     ;; if の後のコード
     (display "After if\n"))))

(demo)
```

* `random` が 0 を返したら、`go-to-label` を呼び出し、継続が捕捉された場所へ戻ります。  
* `call/cc` のあとに残るコードは、継続を再度呼び出すまでスキップされます。

---

### 3. 複数ラベルのシミュレーション

```scheme
(define (multi-label-demo)
  (let ((label-1 #f) (label-2 #f))
    ;; ラベル1
    (call/cc
     (lambda (k)
       (set! label-1 k)
       (display "At Label 1\n")
       (if (= (random 2) 0)
           (begin
             (display "Jump to Label 2\n")
             (label-2))            ; ラベル2へジャンプ
           (display "Stay at Label 1\n")))
     (lambda ()
       ;; label‑1 の継続が戻ってきたときに実行
       (display "Back at Label 1\n")))

    ;; ラベル2
    (call/cc
     (lambda (k)
       (set! label-2 k)
       (display "At Label 2\n")
       (if (= (random 2) 0)
           (begin
             (display "Jump to Label 1\n")
             (label-1))            ; ラベル1へ戻る
           (display "Stay at Label 2\n")))
     (lambda ()
       ;; label‑2 の継続が戻ってきたときに実行
       (display "Back at Label 2\n")))))
```

* 各 `call/cc` は別々の継続を捕捉し、変数に保存して後で呼び出せます。  
* 「ラベル」は単なる継続オブジェクトを保持する変数です。

---

### 4. 実務上のヒント

| 問題 | 対処法 |
|------|--------|
| **無限ループ** | ジャンプが終わらないケースは避け、カウンタで反復回数を制限する。 |
| **副作用** | ジャンプ時に既に発生した副作用は保持されるので、可変状態には注意。 |
| **可読性** | 継続変数に `goto-label1` など分かりやすい名前を付け、コメントでジャンプ箇所を説明する。 |

---

### 5. 避けるべきケース

* 単純な分岐なら `if`, `cond`, ループ構造を使うほうが好ましい。  
* 継続の乱用はコードの可読性とデバッグ難易度を下げるため、必要最低限に留めるべきです。

---

**まとめ**

`call/cc` を利用して継続を捕捉・再呼び出しすることで、Scheme で `goto` と同等のジャンプ機能を実装できます。強力な手法ですが、可読性と保守性を損なわないように注意して使用してください。

**Schemeでの `goto` を継続で模倣する方法** Scheme には制御フロー構文 `goto` は存在しませんが、継続を使うことで同様の挙動を実現できます。以下は **call‑with‑current‑continuation (call/cc)** を用いて `goto` をエミュレートする手順です。 --- ### 1. 基本概念 *継続(continuation)* は「プログラム上のある時点で残っている計算」を表します。 現在の継続を捕捉し、後から呼び出すことでその位置へジャンプできます ―まるで `goto` のようです。 ```scheme (call/cc (lambda (k) ; k は現在の継続 ;; 本体 )) ``` --- ### 2. シンプルな例 ```scheme (define (demo) (call/cc (lambda (go-to-label) (display "Start\n") (if (= (random 3) 0) (begin (display "Jumping to label\n") (go-to-label 'label)) ; ジャンプ (display "Continuing normally\n")) ;; if の後のコード (display "After if\n")))) (demo) ``` * `random` が 0 を返したら、`go-to-label` を呼び出し、継続が捕捉された場所へ戻ります。 * `call/cc` のあとに残るコードは、継続を再度呼び出すまでスキップされます。 --- ### 3. 複数ラベルのシミュレーション ```scheme (define (multi-label-demo) (let ((label-1 #f) (label-2 #f)) ;; ラベル1 (call/cc (lambda (k) (set! label-1 k) (display "At Label 1\n") (if (= (random 2) 0) (begin (display "Jump to Label 2\n") (label-2)) ; ラベル2へジャンプ (display "Stay at Label 1\n"))) (lambda () ;; label‑1 の継続が戻ってきたときに実行 (display "Back at Label 1\n"))) ;; ラベル2 (call/cc (lambda (k) (set! label-2 k) (display "At Label 2\n") (if (= (random 2) 0) (begin (display "Jump to Label 1\n") (label-1)) ; ラベル1へ戻る (display "Stay at Label 2\n"))) (lambda () ;; label‑2 の継続が戻ってきたときに実行 (display "Back at Label 2\n"))))) ``` * 各 `call/cc` は別々の継続を捕捉し、変数に保存して後で呼び出せます。 * 「ラベル」は単なる継続オブジェクトを保持する変数です。 --- ### 4. 実務上のヒント | 問題 | 対処法 | |------|--------| | **無限ループ** | ジャンプが終わらないケースは避け、カウンタで反復回数を制限する。 | | **副作用** | ジャンプ時に既に発生した副作用は保持されるので、可変状態には注意。 | | **可読性** | 継続変数に `goto-label1` など分かりやすい名前を付け、コメントでジャンプ箇所を説明する。 | --- ### 5. 避けるべきケース * 単純な分岐なら `if`, `cond`, ループ構造を使うほうが好ましい。 * 継続の乱用はコードの可読性とデバッグ難易度を下げるため、必要最低限に留めるべきです。 --- **まとめ** `call/cc` を利用して継続を捕捉・再呼び出しすることで、Scheme で `goto` と同等のジャンプ機能を実装できます。強力な手法ですが、可読性と保守性を損なわないように注意して使用してください。

## Japanese Translation: ## Summary この記事は、Scheme の `call/cc`(現在の継続を呼び出す)を使って、Scheme に明示的な GOTO キーワードがなくても GOTO 文をエミュレートできることを示しています。 *カバーされている主なポイント:* - ディクジャーの 1968 年の手紙は「GO TO」文をあまりに原始的だと批判しました。 - `call/cc` はプロシージャを取り、現在の継続(`k`)を渡し、そのプロシージャを適用した結果を返します。 - 継続を捕捉することで、スタック深度を増やすことなくプログラム内の任意の点にジャンプできます。 - 著者はマクロベースの GOTO 実装を提供しています:`(define-syntax with-goto …)` は本文を書き換え、`(goto label)` がキャプチャされた継続をラベルを表すサンクとともに呼び出します。 - ラベルはサンクとして定義されます(`(define (label) …)`)、マクロは本文をそれに応じて書き換えます。 - 例示プログラムには、無限の「Hello, world!」ループ、1024 までの二乗数を出力する有限の倍増例、およびラベルが条件分岐で再利用できる最終プログラム(ランダム選択がループに傾くと非終了出力になる)が含まれます。 - 実装は、ジャンプが再帰呼び出しを行わずにキャプチャされた継続を再開するため、コールスタック深度の増加を回避します。 - 著者は、`call/cc` がそのような抽象化を可能にする一方で、GOTO に対して「無駄」だと一般的に考えられており、制限付き継続や他の演算子(例:⁻Ƒ⁻)が好ましいと結論づけています。 この要約はすべての主要なポイントを保持し、元のテキストに忠実であり、追加の推測なしに主旨を明確にしています。

2026/02/20 2:58
フェムトリスプ:軽量で堅牢な Scheme ライク・リースプ実装

フェムトリスプ:軽量で堅牢な Scheme ライク・リースプ実装

## Japanese Translation: ``` > **FemtoLisp** は、1000 行未満の C(約 150 KB)で書かれたミニマリスティックな Lisp‑1 方言です。ベクトル、文字列、gensym、バッククオート、例外、ハッシュテーブル、美しい印刷、UTF‑8 I/O を含むコア言語を、FemtoLisp 自体で直接実装しています。多くのプリミティブ(例:`filter`、`for-each`)は言語内で書かれており、ネイティブコンパイルされていない Scheme 実装の中でも最速に近いものとなっています。 > バイトコードコンパイラ/VM も FemtoLisp で実装されており、生成されたバイトコードは可読性の高い低 ASCII テキストとして印刷でき、人間が検査できます。コアには 12 個のビルトイン特殊形式と 33 の関数があり、簡潔さと単一場所での実装を重視して信頼性を確保しています。 > デザイン目標は、`#.`, バックリファレンス, エスケープされたシンボル名, gensym, ドット付きリストなどの重要な Lisp 機能を保持しつつ、不必要な新奇性や非互換性を回避することです。軽量インタプリタが尾位置を安価に追跡することで、完全な尾再帰をサポートしています。コンパクトな API と圧縮型ガベージコレクタはコードベースを読みやすくし、変更しやすく保っています。 > 著者は FemtoLisp を商業製品ではなく個人的な楽しみのプロジェクトと捉えており、人々が通常支払うような不明瞭な実装とは対照的です。その速度、小さなフットプリント、純粋な Lisp セマンティクスは、趣味家・教育者、または組込みシステムや実験的 Lisp 作業のために軽量インタプリタを必要とする開発者に魅力的です。 このバージョンはすべての主要ポイントを取り入れ、ソーステキストに根拠のない推論文を削除し、FemtoLisp に不慣れな読者にもわかりやすく簡潔な概要を提示しています。 ```

2026/02/23 21:38
**HackEurope 2026:  
AIとハッカソンに関する短い感想**

**HackEurope 2026: AIとハッカソンに関する短い感想**

## Japanese Translation: HackEurope の混沌とした雰囲気は、プロジェクトのフロントエンドの魅力や投資家がそれをどのように認識するかが、深い技術的根拠よりも重要であることを示しました。著者は、行動モニタリングに基づく安全な npm‑registry の置き換えを例としてこの点を証明しています:パッケージは取得され、テストにかけられ、すべてのファイル・DNS・ネットワーク・実行アクティビティが eBPF を通じてキャプチャされます。既知の安全な動作と重複除去した後、AI または過去の分析で異常をフラグします。 ハッカソンの主要ロジスティック詳細として、スポンサーは物理的に現場にいないことが多く、賞金総額は 1 000 ユーロで、3 カ国に分配されます(各国ごとに個別に授与するわけではありません)。参加者は問題を 2 分以内に説明しなければならず、評価には明確なコンテキストが不可欠です。多数の優勝作品は「AI」を強調しましたが、これはパワフルである一方、同質化された解決策を生むことで創造性を抑制する可能性があります。 将来のアップグレードでは、再現可能なビルド、時間経過による逸脱メトリクス、PyPI・Maven・Cargo のサポート、ソースからリリースへのマッピング、eCapture を用いた HTTPS 復号、およびハニーポットからの外部転送検出を追加することが目標です。開発は 9 月に始まり、5 月までにスタートアップとしてサービスをローンチし、安全なパッケージレジストリを提供してサプライチェーンリスクを低減し、ソフトウェアエコシステム全体でより厳格なセキュリティ慣行を促進することを目指しています。

2026/02/24 5:03
日本におけるウェブデザインの奇妙なケース(2022)

日本におけるウェブデザインの奇妙なケース(2022)

## Japanese Translation: **メインメッセージ:** 日本のウェブサイトは「マキシマリスト」的である――鮮やかな色彩、コンパクトな画像、密度の高いテキスト。これは、日本にしばしば結び付けられるミニマリズムのステレオタイプとは対照的です。 **証拠と推論:** 世界中で人気のある2 671サイトを対象に、AIベースの画像類似性クラスタリング(ResNet101特徴量 → t‑SNE)を用いて日本クラスターを特定しました。このクラスターは明るい色合いと密集したレイアウトを好み、暗いまたは空白のデザインを避けます。著者らは、このパターンを以下に帰着させています: - 日本語文字体系(CJK文字がフォント選択を制限) - 文化的リスク回避傾向 - よく照明された都市環境 - 技術採用の遅延(例:多くの企業がサポート終了後もInternet Explorerを使用していた) **背景と文脈:** 記事は2013年にDavidによって書かれたRandomwireブログ投稿を引用し、この不一致を指摘しています。2022年11月のスクリーンショットでマキシマリストスタイルが示されており、また1999‑2005年の日本初期携帯電話進化とwebデザインのタイムライン(web.archive.org と webdesignmuseum.org を通じて)も議論されています。これにより、日本の美学はアメリカで起きた2010年前後の変化とは異なり、安定していたことが示唆されます。 **方法論:** - サイトはSEMrush Open.Trendsを介してスクレイピング - Cyren URL Lookup APIでフィルタリング - Selenium‑Pythonでスクリーンショット取得 - ResNet101で画像特徴量抽出 - t‑SNEで可視化 クラスタは文字体系、文化/地理情報(ISO国コード)、グローバル北南分断とリンクされました。 **将来の示唆:** 本研究は、デザインクラスターを文化的・地理的・技術的変数に結び付けるさらなる調査を呼びかけています。これにより、地域ごとのローカライズされたウェブデザインベストプラクティスが策定されつつ、グローバルな使いやすさも維持できる可能性があります。

2026/02/23 23:28
リチウムイオン電池における突破口:航続距離の拡大とコスト削減が期待できる

---

リチウムイオン電池における突破口:航続距離の拡大とコスト削減が期待できる ---

## Japanese Translation: **改訂要約** コロンビア大学の研究者は、アノードフリー型リチウムイオン電池をより安全で長寿命かつ低価格にする可能性のあるゲル電解質を開発しました。このゲルは、リチウムイオンを排除しながら溶媒分子を引き付ける寄生的な塩疎性ポリマー網を採用しており、電極表面にナノスケールの保護層を形成して枝晶成長を阻止します。実験室試験では、ほぼ現実世界でのサイクル条件下で容量の80 %以上を維持し、高温ドリリングにも発火せずに耐えました(従来の液体電解質は爆発または火災を起こすことが多いです)。アノードフリー電池はアノードを除去して体積密度を高める手法であり、昨年韓国チームがこの指標を2倍に達成し、ボルボの次世代EX60 SUVは既に標準的なリチウムイオンセルで高速充電時に500 マイル以上の航続距離を示しています。広く採用されれば、このゲルは完全に新しい電解質配合を必要とせず、EVパックがより高いエネルギー密度、長寿命、安全性を実現できるようになり、生産コストの削減と自動車メーカー・消費者双方への性能向上につながります。専門家は今後3〜5年間でリチウムイオン技術にさらに進歩が見込まれる一方、ソリッドステートバッテリーは未熟かつ高価な状態が続くと予測しています。

2026/02/24 4:07
**Show HN:** *AI タイムライン – Transformer (2017) から GPT‑5.3 (2026) までの 171 の LLM*

**Show HN:** *AI タイムライン – Transformer (2017) から GPT‑5.3 (2026) までの 171 の LLM*

## Japanese Translation: **要約:** この記事は、Transformerの2017年登場から始まり、ChatGPT、GPT‑4、Claude、Gemini、LLaMA、Mistral、DeepSeek などの主要マイルストーンを経て、大規模言語モデル(LLM)の明確なタイムラインを示しています。各新しいモデルが以前のアーキテクチャに基づき、人間の言語理解と生成能力を向上させる様子を描写し、自然言語処理が急速に進化していることを強調しています。また、今後さらに高度なLLM が登場する将来像を示唆しています。開発者・ビジネス関係者・研究者にとって、このタイムラインは製品や競争環境、AI採用全体を再構築し得る新機能の洞察を提供します。

2026/02/23 18:07
そっか~ニュース | Hacker News 日本語ダイジェスト