phase of the moon
名詞
何かがそれに依存すると言われるランダムなパラメータとして、ユーモラスに使われる。依存しているものが何であれその信頼性のなさを暗示することもあれば、信頼性が誰にも特定できていない条件に左右されているらしいことを暗示することもある。「この機能は、チャンネルをmumbleモードで開いておくこと、fooスイッチをセットしておくこと、そして月の位相に依存する」heisenbugも参照。
実話:昔々、本当に月の位相に依存するプログラムのバグがあった。MITで様々なプログラムで伝統的に使われてきた、月の真の位相の近似値を計算する小さなサブルーチンがあった。GLSはこのルーチンを、ファイルを書き出すときに長さ約80文字のタイムスタンプ行を印字するLISPプログラムに組み込んだ。ごくまれに、メッセージの最初の行が長すぎて次の行にあふれ、後でそのファイルが読み戻されるとプログラムはbarfした。最初の行の長さは、正確な日付と時刻、そしてタイムスタンプが印字されたときの位相指定の長さの両方に依存していたので、このバグは文字通り月の位相に依存していたのだ!
Jargon Fileの最初の紙版(Steele-1983)には、このバグを示すタイムスタンプ行の一つの例が含まれていたが、植字工がそれを‘訂正’してしまった。これはその後、phase-of-the-moon-bug bugと呼ばれている。
しかし、思い込みには気をつけよ。数年前、CERN(欧州原子核研究機構)の技術者たちは、LEP粒子加速器で行われた実験のいくつかの誤差に当惑していた。こうした装置が生成する膨大な量のデータは、人間が見る前にコンピュータで大量に処理されるので、多くの人が、ソフトウェアが何らかの形で月の位相に敏感になっているのではないかと言い出した。思いあまった数人の技術者が真相を突き止めた。その誤差は、周長27kmのリングの幾何形状のごくわずかな変化の結果であり、それは月の通過による地球の変形によって物理的に引き起こされていたのだ!この話は、粒子物理学へのニュートン的復讐として、また最も単純で最も古い物理法則が最も現代的な科学に関連することの一例として、物理学の伝承に入っている。