2026年7月26日 IBMのZero-Defect ProcessはKLOCあたり0.1 Bugを達成した。それでも業界は見捨てた。 IBMのCleanroom engineeringは業界平均より100倍優れたdefect rateを達成し、その後忘れ去られた。消えた理由は、それが機能したかどうかとは無関係だった。 cleanroom-correctnesszero-defectssoftware-historyprocess
2026年7月25日 本当に1万行を零欠陥で検証した人がいるのか?IBMはやったし、その方法論は結果より奇妙だ。 Cleanroom software engineeringは、デバッグではなくmathematical verificationによって零欠陥のインクリメントを約束した。我々はIBMの実プロジェクトデータを見て、その主張が成り立ったかを確認する。 cleanroom-correctnesszero-defectsverificationcase-study
2026年7月24日 あなたのモジュールには3層ある。書いたのは1層だけだろう。 Box Structureは、モジュールが何をするか、何を記憶するか、どう動作するかを、3つの独立した検証可能な層として定義することを強制する。Cleanroomがどうやってデバッグを排除するか、ここで解説する。 cleanroom-correctnessbox-structurearchitecturespecification
2026年7月23日 IBM は開発者に自身のコード実行を禁止し、0.1 defects/KLOC のソフトウェアを出荷した IBM の Cleanroom エンジニアリング・プロセスは、バグを発見するのではなく未然に防ぐことで、業界平均より 100 倍優れた defect 率を達成した。それがどう機能したか、なぜほとんど誰も使わないのか、そして今日あなたが取り入れられるものとは。 cleanroom-correctnessibmzero-defectssoftware-quality
2026年7月22日 CI があなたなしで tangle できない限り、あなたのリテラート・プログラムは壊れている Literate programming は単一事実情報源を約束するが、手動の weave と tangle のステップが CI/CD パイプラインを破壊する。Markdown ファイルを正規のものに保つため、抽出とドキュメント生成を自動化する方法を紹介する。 literate-programmingci-cdweave-tangleautomation
2026年7月21日 コードを先にLLMに説明したら、バグ率が85%減少した 30日間、LLMにコードを依頼する前に設計の説明を書き続けた。その結果は、私のrubber-duckingに対する考え方を変えた。 literate-programmingllmcode-qualityrubber-ducking
2026年7月20日 テスト、コード、散文を1つのMarkdownファイルにまとめて、ドキュメントへのコードコピーをやめた Literate programmingは、Markdownファイルをsingle source of truthにすることで、ドキュメント、テスト、実装を同期させ続ける。Python30行で実装する方法を紹介する。 literate-programmingdocumentationtestingsingle-source-of-truth
2026年7月19日 あなたのClaudeスレッドはすでにドキュメントです。ただ、12時間で消えてしまうだけ。 LLMの対話には意図、却下された代替案、そして動作するコードが含まれています。これこそがドキュメントであるべきものです。以下に、短寿命なチャットをナラティブを失うことなく、永続的で検索可能なドキュメントに変換する方法を説明します。 literate-programmingllmdocumentationai-engineering
2026年7月18日 テキストエディタは無効なコードを書かせる。ツリーエディタはそうしない。 すべてのコンパイラはコードをツリーとして見ているが、エディタは生のテキストを編集させる。構造化編集が実際にどう見えるか、なぜ普及しなかったか、そしてツールを変えずにその利点を取り入れる方法を解説する。 literate-programmingstructured-editingastprogramming-tools
2026年7月17日 Donald Knuthはプログラムを文学のように読めるものにしたかった。コンパイラは別の考えを持っていた。 Literate programmingは、コードは人間のために先に書かれ、機械のために次に書かれるべきだと約束した。40年後、ほとんど誰もそのように書いていない。なぜソフトウェア文書化における最もエレガントなアイデアが、私たちの働き方を変えられなかったのか。 literate-programmingknuthsoftware-historydocumentation