ミームの死骸を待ちながら

We are built as gene machines and cultured as meme machines, but we have the power to turn against our creators. We, alone on earth, can rebel against the tyranny of the selfish replicators. - Richard Dawkins "Selfish Gene"

We are built as gene machines and cultured as meme machines, but we have the power to turn against our creators.
We, alone on earth, can rebel against the tyranny of the selfish replicators.
- Richard Dawkins "Selfish Gene"

プログラムミスで貴重な時間というリソースを無駄にした


寒くて手が動かない…
スパコンで計算かけるとき、キューを指定することができる。計算の実行には長々とコマンドを書かねばならないので、適当にRubyスクリプトを書いて、引数で「2」をとれば、空いてるキューに計算が投げられる設定にした(つもりだった)。それで40個くらい計算を予約して安心していたのが昨日。月曜には終わっているだろうと思った。
ところが今日確認したらほとんど進んでいない。

原因は、「引数の2が判定できていなかった」こと。それで混んでいるキューにぼこぼこ予約入れていたようだった。

間違ってたやつ

ARGV[2] == 2

正しくは

ARGV[2] == "2"
#もしくは
ARGV[2].to_i == 2

とすべきだった。こうしたらちゃんと走った。
要するに、標準入力はStringだ。以前、STDINで対話的に(y/n)分岐するスクリプト書いた時思い知ったはずなのに。
動かないエラーはわかるからいいけど、タチが悪いのは間違ってても動いて、後からミスに気付くパターンだな。