良くいるというか、今まで3人くらい見たのですが、
parseInt("07") // => 7? 期待通り

parseInt("08") // => 0? なんで?
parseInt("09") // => 0? なんで?
文字列を数値に変換する際にparseIntを使ったりすると、よく日付や時間等0埋めされた文字列で08,09が期待した8,9に変換されず0になってしまって困る、というのがよくあるようです。
頭に0がついている数字は8進数表現と解釈されてしまうので、当然7の次は桁があがって10になってしまうため、8,9という数字自体がないからなのですが。

で、どうすればいいのかというと、いくつか方法はありますが、一番簡単なのが 1で割る 方法です。
var s = "09";
var i = s / 1;
alert(i); // 9 が表示されるはず
alert(typeof i);? //Number と表示されるはず。
これはよく使われる手です。何故そうなるかはJavaScriptの仕様なのでどこかで確認してください。

これとは別にevalを使うという手もありますが、eval の場合は対象文字列が数値表現でなかった場合に例外を投げてしまいます。
var i = eval("08");? //これはOK
var i = eval("hoge"); //エラー発生
割る1の方法なら
var i = "hoge" / 1;? // => NaN
となるので対処の仕様があります。
それに08,09は対応できても結局010はちゃんと8になってしまうので使えません、、、。

あとは正規表現使って頭の0を消してからparseIntする方法。。
これも面倒です。

ちなみにこれとは逆に数値を文字列に変換する際によく使われるのがから文字と連結する方法です。
var s = "" + 9;? // s = "9"
alert(typeof s);? //Stringと表示されるはず

カレンダーがらみのJavaScriptライブラリなどのソースを見てみるとよく書いてありますね。。。
なので決してバグではありませんので、ご注意ください。