出張で信州・松本市へ。
出雲空港から伊丹空港へ。 さらに乗り継ぎで信州まつもと空港へ。
意外なことに出雲・伊丹間と伊丹・松本間は同じ機材(Q400)だった。 CAも同じ人。初めての経験。
まつもと空港はこじんまりとした空港。 行き先が、福岡、大阪(伊丹)、札幌しかない。 タクシーの運転手の人がいうには他にはエプソンの人が ビジネスジェットで利用するんだそうだ。
タクシーで空港からホテルまで移動。 その後、荷物をホテルに預けて、市内観光。
遠くの山はきれいだし、ちょうど天気もよいし、 熱からず寒からず、非常に快適である。 しかも、どこもかしこも「私の名前」だらけである(しかも、かなりの割合でひらがな)。
車一台一台にまで名前が付いている。
松本城を訪問。意外に平地でびっくりする。 松江城も、今は亡き米子城も山城ですこし高台に立っているので、 これが当たり前のような気がしていたが、戦国時代の城ではないだろうから、 高い位置にある必要はないのかも。
美しい城であった。
おみやげ(要望通りのキーホルダーなど)を購入。 昼食は蕎麦。出雲蕎麦よりも色が白くて上品な感じ。
というわけで、長野県ソフトウェア生産性研究会主催の講演会。
70名定員という話を聞いていたが、 ふたを開けたら出席は95名だったそうだ。 かなりいっぱい。 長野市の方から来た人も大勢いたようだ。
で、2時間。
途中、5分休憩を入れたのと、最後5分残して質疑応答に当てたのと以外はしゃべりっぱなし。 大学の集中講義(5コマ×2日)を除くと、最長の講演だったのではないだろうか。 使用したスライドは実に106枚。
その後、懇親会。
大変待遇が良くてありがたかった。 なぜか、繰り返し繰り返し「先生」と呼ばれるのだけは閉口したけど。 私、教員じゃないし、医師でも、弁護士でも、作家でも、政治家でもないんで 「センセー」は勘弁していただきたい*1。
大変楽しかった。
そして、今度買い替えるプリンタはエプソンのにしようと思った。 問題はA970かA920かどちらにするかだが。
*1 その点、「住井さん」は教員なので難しい
で、泊まったホテルはネットは自由に使えたのだが、 メールが外に出ていかない。どうやらOutbound Port 25 Blockingを実施中のようだ。
以前から「なんとかしないと」と思っていつつも、 面倒でずるずると引き伸ばしていたのだが、どうにも手をつけざるをえない。 メール出さずにすむわけじゃないからね。
会社のメールサーバはサブミッションポートをオープンしているのは確認済。 以前、途中まで試した時にアカウントもパスワードも用意しておいた。
愛用のnullmailerはstarttlsに対応していないので、 MTAを置き換える必要がある。シンプルなものが好きなので、 msmtpとかnbsmtpとかを使おうかとも思ったが、 これらはメッセージキューを持たないので、 ネットに接続していない時にはメールが出せない。
しょうがないので定番のexim4を使うことに。 以前は設定がよくわからなかった(ように思った)のだが、 なんとなく設定してたらうまくメールが送れるようになった。
めでたし、めでたし。
PHPでは、round(0.49999999999)が1になる、という話。
一瞬、浮動小数点数の誤差の話かと思ったが、 考えてみれば0.5は二進数で割り切れる。
その真の理由はどうやら
要約すると、「紙とペンで計算すると5.045になるはずの値(実際にはコンピュータ上では約5.04499999999999992894573)を小数点以下第二位までで四捨五入してるのになぜか5.04になった!バグだ!」って騒いでいるプログラマがバグ報告をしてきて、これに対処するために四捨五入の境界値付近(0.00000000001くらいの差)だったら全部0から遠い方に切り上げるようなコード修正をした、ということかと思います。
ということらしい。
えーと、通常なら絶対にあり得ない設計なんだが、 PHPユーザはこういう設計センスの言語を信頼できるのか*1。
なんだかとても悲しい気持ちになった。
それはそれとして、PHPやPythonのround関数はオプショナルな第2引数をとって何桁目まで切り捨てるのかどうかが指定できるのだそうだ。 これは面白いから、Rubyにも取り込もう。
p 5345.6432.round(2) # => 5345.64 p 53456432.round(-4) # => 53450000
となるはず。
追記
どうやら上記は正確ではなくて、補足エントリによるとconfigureが検出する状況によって、変な挙動だったりそうじゃなかったりするようだ。
って、要するにIA86の80bit浮動小数点数の問題かっ。まともな挙動をすることもある点では欠点をあげつらうのは「フェアじゃない」のかもしれないけど、 正直、自分の使ってるPHPが変な動作をするかもしれないというのは イヤすぎる。なんでこんなことに。
*1 オマエが言うか、という批判は甘んじて受けよう
懇親会で「私、こんなフレームワーク作ってます」という話が出たもの。
「そりゃ、皆さんに知ってもらわないと損ですよ」と焚き付けたら、 さっそくsourceforge.jpでアップデートされていた。素早い。
オープンソースやフリーソフトウェアへの理解はもうずいぶん進んだのだろうと 思っていたのだが、「業界」の外では、まだまだまるで理解されていないのだ ということがよくわかる文章。
この場合の「業界」は「IT業界」ではなくて(記者はIT分野の記者だ)、 「FLOSS業界」のこと。