2004年08月30日
上司が情けなくなった瞬間
前の会社にもこんな上司がいましたっけ。会社を辞めるまでの最後の2年半をその上司の下で過ごしましたが、もう最悪でした。いい加減な仕事ばかりで部下からも顧客からも信頼を失い、それでも一向に態度を改めようとしない。上司のせいで顧客から嫌われ、針のむしろの日々でした。
決して上司が嫌で会社を辞めたわけではありませんし、退職して大学院に行くことは就職して間もない頃から決めていました。ただ、もしあの上司の下ではなく別の人の下で働いていたら、あるいは違った道もあったのではないかと考えてしまいます。少なくとも会社への愛着がまったくなくなるようなことにはならなかったでしょうし。今更言っても詮無いことですが。
2003年12月10日
久々の出張
9月に出張して以来、3ヶ月ぶりに出張することになりました。新宿発7時のスーパーあずさ1号に乗って、長野の塩尻市へ。おかげで5時なんて非常識な時間に起きる羽目になってしまい、かなり眠いです。2時まで夜更かししていた俺が馬鹿なんですが。
あ、そういえば今日はボーナス支給日だった。会社からは標準以上の評価を貰っているんで文句も言えないのだけれど、欲を言えばもうちょっと欲しいです。社会保険料で引かれる額が大きいし。
2003年10月09日
引っ越し
ここ1年半ほど同じプロジェクトで作業してたんだけど、この度新しいプロジェクトに参加することになった。今のプロジェクトから完全に足を洗うということではなくて、しばらくは二足のわらじを履くことになりそうだ。
そんなわけで、居室内で席の移動を行ってみた。今座っている席は2001年の1月から使っているから、かれこれ2年半以上になるのか。今の場所に特に不満があるわけでもないけれど、気分が変わっていいかもしれない。
何の因果か、引っ越し先の隣の席の人は2年前までの隣人だ。話しやすくていいけど、なんだかなぁ。
2003年10月07日
STL→MFC
大失敗をやらかしてしまった。ここ1週間ほどWindows98/Me/2000/XPで動くActiveXコントロールを作っていて、先週でコーディングが終わって今日から検査フェーズに入る予定だった。検査担当に渡す前にちょっと触ってみたところ、開発PCのWindowsXPでは動くものの、Windows2000やMeでは動作しない。試してはいないけど、たぶん98も駄目っぽい。
どうもregsvr32で登録するのに失敗しているようなので原因を調べてみると、STLを色々と使っていたためにMSVCP60.DLLを必要としていたらしい。そりゃ素のままのOSに入っているわきゃないって。さて、困った。配布サイズは小さくしないといけないから、MSVCP60.DLLを同梱するなんてのは論外。理想的なのは必要なSTLのソースを組み込んで最小限のライブラリを作ってやることなんだけど、とても今からじゃ時間が足りない。仕方ないので、泣く泣くSTLで書いた部分をMFCで書き直すことにした。std::stringはCString、std::map<std::string, std::string>はCMapStringToStringてな具合に。コンテナはそれでいいとして、関数オブジェクトやメンバ関数アダプタとかはどうすりゃいいんだ。
修正を加えてどうにかWindows2000で動くようになった。これで一安心と思いきやWindowsMeではやっぱり動かない。何だ? MSVCP60.DLLの他に不足しているDLLがあるのか。Dependency Walkerで調べると、"GlobalMemoryStatusEx"が見つからないと怒られた。あー、これってWindows2000以降でしか使えないAPIじゃん、迂闊! こういうのは"GetProcAddress"で関数ポインタとして取得して、そのOSで使えるかどうか確かめないといけないのに。同じようなAPIで"GetDiskFreeSpaceEx"はちゃんとそうやって処理してるのに、何やってるんだよ俺は。
2003年09月30日
stringstream
stringstreamの扱いではまってしまった。
std::stringstream stream;
stream << "foo";
std::cout << stream.str() << std::endl;
stream << "bar";
std::cout << stream.str() << std::endl;
といった感じでstringstreamをsprintfの代わりに使い回そうって考えた。上のコードだと当然ながら2回目の出力時に"foobar"と出てしまうので、出力前にstringstreamをクリアする必要が出てくる。ところが、リファレンスを見てもそれっぽいメンバが見あたらない。clear()は意味が違うし、seekp(0)でポインタ移動させてもデータが消える訳じゃない(当たり前)。
stringstreamでぐぐって調べたみたところ、Experts Exchangeで俺と同じ質問している人を発見。どうやら、str(std::string(""))でいいらしい。うまくいくんだけど、ちょっぴり不満。std::stringみたいにerase()とかあってもいいのに。
2003年09月24日
会議
打ち合わせのため、午後から新宿の客先の元へ出向く。取引先C社から客先へ提案があるんで、それを客先と一緒に聞いて善し悪しを判断してくれってのが用件。
某社からプレゼン → 客先、提案を一蹴 → 終了
というわけで、あっさりと1時間もかからずに終わってしまった。わざわざ雨の中、1時間もかけて出向いたのに……。おまけにあまりにも早く終わってしまったため、会社に戻ることになってしまった。直帰するつもりだったのに、とほほ。