Windows 3.1x 以降向けのコンウェイのライフゲームの実装

2026/08/30 20:41

Windows 3.1x 以降向けのコンウェイのライフゲームの実装

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

要約

Japanese Translation:

このテキストでは、個人が余暇に開発した無料で入手可能な Windows プログラムのコレクションを紹介しています。これらはすべて GNU 一般公共ライセンスの下で配布されています。最も重要な提供物は「GDI Rescuer」であり、これはデバッグユーティリティとして機能し、特定の状況下で停止してしまったグラフィコンテキストを回復することを目的としています。具体的には、他のプログラムによって残された孤立した GDI オブジェクトの削除を Debug Windows 3.1x で可能にします。ただし、ユーザーは古いアーキテクチャの制約により、Windows 95 およびそれ以降のバージョンとの互換性がないことに注意する必要があります。また、重要なプロジェクトの一つとして、Windows 3.1x 以降向けのライフゲームの実装があります。この実装には使用法とソースコードの構成詳細を示すテキストファイルが付属しており、ソースコードは 16 ビットの C と 32 ビットのアセンブリを組み合わせ、winmem32.dll を介して処理しています。さらに、異なる色の組織化を持つ DIBs(デバイス独立ビットマップ)を取り扱い、小さなパレットを管理し、背景ウィンドウの更新処理も実装されています。著者の本格的な開発者としての信頼性を確立した初期の商用タイトルである「Code Breaker」(マスターマインド/ Bulls & Cows ゲーム)は、最初に販売された作品です。これらのツールは、1997 年に Windows のプログラミング活動を終了するまでの 6 年間にわたって作成されました。提供されているソースコードは、この 16 ビット C と 32 ビットアセンブリの独自の組み合わせであり、winmem32.dll および toolhelp.dll などの特定の依存関係がないと正常に動作しません。著者は連絡先情報を通じてユーザーからのフィードバックを歓迎していますが、サポートの範囲は WinMain メッセージや WM_PAINT メッセージに関連する基本的な問題に限って明示されており、このレガシーソフトウェアスイートに対する期待値が適切に管理されるようになっています。

本文

Brian Raiter より Windows アプリケーション開発作品集

約 6 年にわたりWindows アプリケーション開発を職業とする傍ら、余暇時間に作成したプログラムの一部を公開いたします。雇用契約により多くのプログラムは頒布不可でしたが、有益と感じていただけるものを以下の通り紹介いたします。

Life(ライフゲーム)

  • 対象: Windows 3.1x 以降向けの実装
  • 特徴:
    • 機能制限が多く、有用性は低いもののソースコードに興味深い実装が含まれています
    • ヘルプファイルは用意されていませんが、使用方法や構造を説明するテキストファイルを付属。
  • 技術的なハイライト:
    • winmem32.dll
      を介して16 ビット C ランゲージ32 ビットアセンブリ言語を統合
    • 異なるカラー組織を持つ DIB(ビットマップ画像データ)間の相互変換
    • 限られたパレットの非自明な管理
    • バックグラウンド処理およびウィンドウ更新の実装

※詳細: より優れた実装やライフゲームに関する情報は別ページをご覧ください。

GDI Rescuer

  • 対象: Windows 3.1x のデバッグ環境用ユーティリティ(Windows 95 以降では不適用)
  • 機能:
    • toolhelp.dll
      未公式に公開されている機能を活用して、他のプログラムによって残された GDI オブジェクトを検出。
    • 発見したオブジェクトをリスト形式で表示
    • ユーザーによる確認および削除操作が可能。
  • 利用方法:
    • 個別のヘルプファイルはありませんが、コマンドラインで使用されるヘルプスイッチに対応しています。

Code Breaker

  • 概要: ボウルズ・アンド・コーズ(通称:マスターマインド)のゲーム実装。
  • 歴史的意義:
    • 著者が初めて本格的に開発したWindows 用アプリケーション
    • 販売対象とした最初のプログラムでもあります。
  • バージョン情報:
    • その後、改良および「デペッツォルド化」が行われています。
    • ソースコード自体には特に興味深い点は含まれていません(完全なコメント欠如)。
  • 推奨理由: ゲームそのものが非常に面白いからです。
  • 付属資料: ヘルプファイルが付属しています。

ライセンスと注意事項

  • ライセンス: 全てのプログラムはGNU GPLに基づく自由ソフトウェアです。
  • 配布条件:
    • 完全なソースコードを各プログラムに同梱。
    • ご自由にごシェアいただき、お楽しみください。
  • 連絡先: ご質問や感想についてはお気軽にご連絡ください。

※免責事項: 1997 年以降 Windows プログラミングを行っておらず、

WinMain()
および
WM_PAINT
を超える範囲の技術的問いかけにはお答えすることができませんのでご了承ください。

Brian Raiter

同じ日のほかのニュース

一覧に戻る →

2026/08/30 2:49

おどろおどろしい虫たち

## Japanese Translation: Linux カーネルの公式サイトは、AI モデルの学習に使用する自動スクレーパーから多大な負荷をかけています。これらのボットはプロキシ SDK を利用し、数百万件の住宅 IP やモバイル IP を悪用しています。これらのボットは日間のトラフィックのおよそ 33% を消費し、利用可能な CPU コアを約半数(5 つの地理的に分散されたノードを通じて 90 のコアのうち 14〜16 コア)に占有しており、主にレポジトリをクローンするのではなく git コミットを HTML としてレンダリングすることによってこれを行っています。この手法はプロジェクトの著者が「スクレーパーがデータを使用する最も愚かな方法」と呼んでいます。Anubis がアクセス前に SHA256 パズルを要求しているにもかかわらず、ボットが低い難易度を解いた後に難易度がレベル 4 から 5 に引き上げられましたが、これはモバイルユーザーにとってデバイスを温めるという点で依然として不満を生み出しており、人間の行動を模倣する高度な戦術を完全に阻止していません。推定される正当な人間によるトラフィックはわずか約 2% です。スクレーパーは Linux カーネルの履歴が LLM の学習データの豊富な源泉であるためこれを標的としています。また、浅いクローンを使用している脆弱な CI システムは、さらなる即時的過負荷リスクをもたらします。緩和策としては特定の機能を無効化し、匿名ユーザーのアクションをゲートリングするなどの措置が講じられていますが、すべてのデータは引き続きダウンロード可能です。簡単な解決策はありません:新しい AI モデル企業は引き続き無料の学習データを求めており、アプリ開発者は家庭用デバイスを攻撃ベクトルに変え続けており、その結果、サイトはスクレーパーによる負荷から「背景放射線」のような状態に常時置かれています。

2026/08/31 5:00

宇宙のコア:1980年のスペースシャトル搭載のSpacelabコンピュータから復元されたコアメモリモジュール

## Japanese Translation: Spacelab は、スペースシャトルの貨物コンパートメントに搭載された再利用可能な欧州製実験室であり、標準的な IBM AP-101 システムではなく、フランス製 Mitra 125 MS ミニコンピュータを 3 台採用していた。これら 3 台のうち 1 台は実験室を、もう 1 台は実験を担当し、残りの 1 台が予備として機能した。各コンピュータのメモリシステムは 1980 年頃製作され、シリコンではなくフェライトリングを使用した磁性コアメモリを採用しており、「2½D」アーキテクチャにより抑制線を廃止するため、各ビットに独立した X ドライバ回路を設け、位相反転技術を用いることで垂直ドライバの数を半減させていた(U 字形の配線ループを使用)。メモリスタックは 7 ボードで構成され、ドライバボード、4 つのコアプレーンボード、第 2 のドライバボード、およびインターフェースボードからなっていた。各コアプレーンは 1024 本の垂直 Y ワイヤーと 288 本の水平 X ワイヤーで支えられ、16K の 18 ビット語(32 KB)を保持し、総計で 294,912 個のリチウムフェライトコアを有していた。ノイズキャンセレーションにはねじれペアセンスワイヤと「蝶結び」状のクロス構成が用いられ、ダイオードマトリクスはプリント基板間にコードウッド構造を採用しており、各ダイオードチップには 8 コアラインに対応する 16 個のダイオードが含まれていた。1991 年、IBM AP-101S のアップグレードにより、AP-101SL モディフィケーションを通じて磁性コアを半導体メモリに置き換えられながら、フェライトコアメモリが廃棄される直前まで Spacelab システムとの互換性を維持した。 ## Text to translate: Spacelab was a reusable European laboratory carried in the Space Shuttle's cargo bay that employed three French-built Mitra 125 MS minicomputers—rather than standard IBM AP-101 systems—with one managing the laboratory, one managing experiments, and one as a backup. Each computer's memory system, built around 1980, used magnetic core memory with ferrite rings (not silicon) in a "2½D" architecture that eliminated inhibit lines by using separate X driver circuitry for each bit; phase reversal techniques halved the number of vertical drivers via U-shaped wiring loops. The memory stack comprised seven boards: a driver board, four core plane boards, a second driver board, and an interface board. Each core plane held 16K of 18-bit words (32 KB) supported by 1024 vertical Y wires and 288 horizontal X wires, totaling 294,912 lithium ferrite cores. Noise cancellation was achieved through twisted pair sense wires and a "bow tie" crossing configuration, while diode matrices used cordwood construction between printed circuit boards (each diode chip containing 16 diodes for 8 core lines). In 1991, IBM AP-101S upgrades replaced the original magnetic cores with semiconductor memory via the AP-101SL modification, maintaining compatibility with the Spacelab system before ferrite core memory became obsolete.

2026/08/31 1:01

Haiku R1/beta6 がリリースされました

## Japanese Translation: 2026 年 8 月 26 日(水曜日)に、R1/beta6 のリリースをもって Haiku は創業 25 周年を迎えます。これは記念日から約 1 ヶ月後、そして前回から約 2 年後の発表です。この大きなアップデートは開発の一時停止を経て実現され、ユーザーに待ち望まれていた機能向上を提供します。ファンは提供されたダウンロードポータルを通じてすぐにアップグレードを行うか、詳細なリリースノートを確認するか、またはお問い合わせにはプレスコンタクトまでご連絡ください。この発売は Haiku の遺産を称えつつ、オープンソース OS が専用コミュニティと共に進化し続ける中、個々のユーザーならびにテクノロジー企業双方がアクセス可能な導入と継続的なフィードバックへと導く重要な瞬間を象徴します。

Windows 3.1x 以降向けのコンウェイのライフゲームの実装 | そっか~ニュース