憂鬱な午後のひととき


2月28日_
・今朝出かけしなに見たいくつかの株価が乱高下(らんこうげ:読み方初めて知った:-). 株価操作か, システムへの攻撃かと思ったら世界同時株安だったとは.
・納品30分前に見つかるバグ. パスに日本語入ってると動作しない. VC6だと大丈夫なのにVC2005だと駄目. 「なんでやねん」と叫んでデバッガで追っかけてみて一応解決. VC2005ではfstreamなどを使うときは, setlocale(LC_CTYPE, ""); を最初に一度実行しとかなあかん. あとで調べると割とFAQっぽいようだが, ほんまに焦った.
2月27日_
月末に向けて追い込みの中, 開発メインマシンのマウスがないことにさっき気がついた. 2日前別のマシンにつけたままになってたのだが, 「気づかないでWindowsを使い続けていた」てのは末期症状な気がする. ええ, もちろん普通(?)にIEでブラウジングもしてましたよ.
2月25日_
最近二つの配列のアドレスの差が2の倍数のときのペナルティに足元をすくわれることがよくある気がする. なんか簡単に判る方法無いかな.
2月24日_
Tera StationのSMBの些細なバグっぽい現象.
touch 123456789.txtとしてそれの8.3形式の名前(たとえば123456~1.txt)を確認する. 作ったファイルを消してtouch 123456~1.txtとするとこの名前のファイルではなく消した123456789.txtという名前のファイルが作られる. Xpの共有上でやるとちゃんと123456~1.txtという名前のファイルができる. 最新版ではどうだろう.
2月18日_
そういや昔車がしゃべって金庫を開けるドラマあったよねと話していて, 検索したら見つけたページ(ナイトライダーへの道). 凄すぎる.
2月16日_
VC2005ではdoubleとfloatを明確に区別するようになった模様. 次のコードが最初VC2005でのみ遅くて驚いた.
float sum(const float *a, int n)
{
    float sum = 0;
    for (int i = 0; i < n; i++) {
        sum += a[i];
    }
    return sum;
}
なんと毎回fstp/fldを使って強制キャストを発生させていて, すさまじい速度劣化を起こしている.
    fadd    DWORD PTR _sum$[esp+12]
    fstp    DWORD PTR tv553[esp+8]
    fld     DWORD PTR tv553[esp+8]
    fadd    DWORD PTR [eax-20]
    fstp    DWORD PTR tv550[esp+8]
    fld     DWORD PTR tv550[esp+8]
    fadd    DWORD PTR [eax-16]
    fstp    DWORD PTR tv547[esp+8]
    fld     DWORD PTR tv547[esp+8]
    fadd    DWORD PTR [eax-12]
    fstp    DWORD PTR _sum$[esp+12]
/fp:fastというオプションをつけると今までのVCやgccのように区別しなくなる.
    fadd    DWORD PTR [eax-8]
    add    eax, 16
    sub    ecx, 1
    fadd    DWORD PTR [eax-20]
    fadd    DWORD PTR [eax-16]
    fadd    DWORD PTR [eax-12]
あるいはlocal変数をdoubleにしてもよい.
float sum(const float *a, int n)
{
    double sum = 0;
    for (int i = 0; i < n; i++) {
        sum += a[i];
    }
    return (float)sum;
}
float型とdouble型も更新しなきゃ.
2月10日_
先日のNHKスペシャルであった最近の研究による「大化改新 隠された真相」. 昔習った「蘇我氏は悪者」というイメージは作られたものかもしれないとのこと. 「入鹿神社」で検索して見つけた宗我都比古神社も面白い. 直接は関係ないけど, 下火になった天皇の跡継ぎ問題で出てくる「伝統」はどうなんだろう.
2月8日_
急遽, 産総研におじゃまする. いろいろ締め切りがせまってるのにええんかいな. 秋葉原は9カ月ぶりでここは初めて. きれいで立派やね.
2月6日_
・打ち合わせには人柄というか, 人望というか, そういうもんが大事だと改めて認識させられた日であった. 感服.
・『下流社会』(三浦展)
一見, 議論武装したかのように見えて実はトンデモ本. 著者によるおっそろしく類型的な分類もどうかと思う. もっともらしい数値が山のように(中にはページを埋めるためだけに)現れるが実はよく見ると母集団が二桁だったり一桁!だったり. 嘘ではないだけに(捏造より)たちが悪い.
そもそもテーマである「下流」の「下」の定義は収入ではなく「本人がどう思っているか」という意識なのだ(びっくり).
いや, 違った, 本文で使われる統計での定義はそうなのだが, 「はじめに」に書かれた筆者の定義はそれとは異なる(ちなみに私は9~10/12個yesで「かなり下流的」). それ(統計での定義)と収入にどういう相関があるのかは本の半ばになるまで現れない. ついでに言うと筆者の定義との関係は一度も現れない(定義に条件が含まれてるが). 最も重要な部分がそうだとこの本のすべての議論がおかしなものになりそうなのだが…. 見落としたか. あるいはミスリーディングか(下の例を見ると後者かな).
たとえば次の記述(p.116)
男性の「上」では33.3%が1000万以上, 25%が500~1000万, 合計58.3%が500万以上である.
これは実は「上」という意識を持った人(12人:母集団)のうち3人が500万~1000万, 4人が1000万~の貯蓄額だった, というだけだ. そして表をよく読んで計算すると 『貯蓄額が500万以上の人のうち「上」の意識を持った人は23%(7/30), 「下」の意識を持った人は26%(8/30)』ということが分かる. いやいや, 「下」の方が多いやん. さて, 貯蓄額が多い市場に向けて製品を開発するとき, 筆者の言うように「上」に対してものを売るべきか, そうでないのか.
最後の段落は結論をだそうという意図はないです. そういう計算もできるという話(「筆者の主張はおかしい」という結論は出したい:-))
2月4日_
Xbyakバグ修正
バグを指摘してくださったshinichiro.hさん(thanks)が変わった言語Befungeの コンパイラを作られた. いや, 全然分かんないんですが(笑).
2月3日_
FFTの一部最適化. 最初はイントリンジック関数 + コンパイラオプションで手抜きしようとしたけど, うまくいかず(VC8はSSE3非対応), 結局, 手でSSE3化した方が簡単に早くできて速くなった.
2月2日_
『向井千秋~夢を宇宙に追いかけた人』
3週間前に録画したドラマ. 派手さは無いが結構面白かった. 菅野美穂がバイタリティあふれるヒロインの役にぴったり. 夫も大昔読んだ『女房が宇宙を飛んだ』(向井万起男)のイラストとそっくり. しかし, よう心臓外科医から宇宙飛行士に転向したもんや.
2月1日_
窓使いの憂鬱開発終了か. 変態的キーカスタマイズ機能にどっぷりはまってどこにも行けない体質だから衝撃大.

御意見は光成滋生<herumi@nifty.com>までお願いします