冬の大三角

この週末はお仕事仲間で3年ほど続けている星を観る会の観望会+忘年会に愛知県豊田市の山奥の方に行ってきた。金曜日まで天気が悪かったので、観望会が抜けてただのお泊まり飲み会になってしまうかもという心配があったが、日没あたりからだんだんと晴れてきて薄明が終わることにはほぼ快晴という絶好の星見日和となった。これまでの観望会でなかなかなかったよい天気だった。
WinterTriangle_091212_1s.jpg
EOS 5D MarkII / EF 24mm F1.4L II / バルブ F2.8 / シャッター速度 90 sec / ISO800 / Kenko Softon A / ST6で2枚加算平均コンポジット

VBAより便利で手軽?

Rubyist Magazine #27に「VBAより便利で手軽Excel操作スクリプト言語『Ruby』へのお誘い(前編)」という記事が掲載されていたので、読んでみたのだがちょっと寒い内容だ。VBAでもきっちりサンプルソースを書いた上でrubyとの比較をしていただきたい。むろん僕自身はVBA自身はバッドノウハウ(すでに死語の気もするが)の巣窟であり、出来る限る捨て去りたい物であるのはと思っていることを否定しないし、VBAになんの思い入れもない。VBAの話題自身がいまさらだろうが。

新規にVBAプログラムを書く鉄則はPerlの「use strictとuse warningsを必ず書け」というのと同様に「Option Explicitを必ず書け」で、静的型付け言語なので注意して書きましょうと言うのが前提。これをやってエラーが出るソースは放置するか捨てましょう。放置しておいたほうがよいものに関わってはいけません。(笑)
で、話を戻す。「VBA での文字列操作の不満やイライラを Ruby で解消する」と言う項で書かれているような定型なテンプレートにCellに入力した値を動的に入れて文書やソースを自動で生成したいと言う場合は、ソースにテンプレートを埋め込むと確かにぐちゃぐちゃになってしまうので、やらないというかやってはいけない。ただしヒアドキュメントの埋め込みのようなことはVBAでは出来ないので、下図のA5セルのように適当にテンプレートを書式を保ってCellに入れるか、外部のテキストファイルにしておく。(この記事で実際のテンプレート、置換データの入力、出力データの出力法は本質的ではないので、適当に決めうちで適当なセルに入れたりDebug.Printに出力したが、ちゃんと考えること。) 僕の趣味では外にテキストファイルを作る場合が多く、出力もテキストファイルにしてしまうことが多い。こんな感じのワークシートがあるとする。
excel.jpg
VBAが現代的なスクリプト言語に対して弱いところはテキストの取り扱い。特に正規表現周りだが、これは過去の私の日記記事「なんでもかんでもExcel症候群」で触れたように、VBScriptのRegExpオブジェクトを使えば解決するし、おそらく一般的なオフィスにおけるどのWindowsマシンでもExcel VBAとWSHがインストールされていることは期待して良いので、ライブラリ依存問題が問題になるようなことは少ない。「なんでもかんでもExcel症候群」ではテキストファイルを読み込んで走査するようなものを想定して書いてみたが、正規表現による置換を行う関数を分けて共用化して良さそうなので、今回分けてみたのが、下記のソースである。VBAないしはVBユーザーは積極的にWindowsの機能を使っていくべきである。このような便利なライブラリはデファクトの物があっても良さそうなのだが無いようだ。
String型に入れられる文字列のサイズはExcelのバージョン依存であるが、Excel2003以降だと実際試した限りでは数百MBはOKそうである。(おそらく最大2GB?) 従って適切な方法で文字列に入れて、じゃんじゃん置換するのが手っ取り早いと思われる。下手にワークシートに入れると行数や列数の制限で痛い目に遭うので、最終的な出力以外はすべてプログラムで閉じておいた方が良いと思う。

数式表示のテスト

前のエントリをいつ書いたのかすっかり忘れてしまうほど間が開いてしまったが、11月はばたばたと忙しかったので、すっかり放置してました。なかなか時間がとれないというか本を読みふけると何もできないということがわかったので、不定期更新となります。
さてずいぶん前にGoogle Chartに数式を表示するAPIが実装されました。LaTeX形式の数式をAPIに投げるとイメージがかえってくるというなかなか優れものなのですが、404 Blog Not Found:#google - chart APIで数式表示おそらくはそれさえも平凡な日々 - ブログ上に数式を参考にJavascriptで数式を表示できるようにした。副作用でjquery.jsと共存できなさそうLiteBoxが使えなくなってしまったが・・・ jquery.jsで実装されているlightbox-jquery.jsに全面的に切り替えてみた。

MTOSのためのメンテ

MovableType5のためのアップデートをこの連休で行った。(一部はみ出てしまって、結局のびてしまったが。) ざっくりとしたまとめとしては、

  • Perlを5.8.8から5.10.1へ
  • バックエンドDBをLiteSQL3からMySQL5.1に変更
    というところが大きなところ。Perlのバージョン変更自身は大きな問題ではなかったのだが、意外にImageMagickのインストールと言うべきか、PerlMagickのインストールに時間を要してしまった。(なんだかんだこれは1ヶ月くらいいろいろやってる。) 結局のところ、ImageMagick 6.5系とPerlMagickの組み合わせでは現状うまくインストールできないところがわかった。GDを入れて様子を見ていたのだが、JPEGのリサイズ時にかなり画質が悪化するので実用に耐えない感じ。これだと厳しいので、ちょっと古いが5.4系を維持することとした。(穴とかなきゃいいけど。) しばらく様子見せざる得ない状況である。(もうLinuxとかWindowsとかしかうまくいかないのかもしれないな。)
    バックエンドDBのMySQLへの移行自身はそんなに手間がかかるところではなかった。MySQLのインストールもおおむね問題なさそうである。MTOSの全体的な使い回し自身はしばらく変わりそうにもないし、変えたところでパフォーマンスとかの差はなさそう。まあ次期MTOS5はSQLite3やPostgreSQLのサポートが切られているので、泣く泣く変更と言うところか。
    いったん最低限な環境は整ったので、ぼちぼち記事を書いていこう。

Cosmos 2009

昨年のこの時期はちょうど長期出張+転勤と重なり、写真撮影を全くできなかったので、コスモスと言えば、ほぼ2年ぶりの撮影となる。(昨年ポートレイト撮影のバックにかろうじて写っている物はあるのだが・・・)
cosmos2009_1.jpg
EOS 5D MarkII / EF 100mm F2.8 Macro / 絞り優先AE F2.8 -1.0EV (シャッター速度 1/200 sec) / ISO100 / WB: 太陽光

今年のコスモスは9月の連休最終日に行った昭和記念公園のコスモス園から。ここは以前埼玉に住んでいた頃によく通った公園であるが、9月の連休にはお仕事が忙しかったり、天候不順でなかなか行く機会がなかった。濃いめの色の花で背の高い品種の花がこの時期咲いていたように記憶していて、毎度見逃していたのだが、どうも違うらしい・・・
cosmos2009_2.jpg
EOS 5D MarkII / Planar T* 1.4/50 ZE / 絞り優先AE 絞り F1.4 +/-0.0EV (シャッター速度 1/1000 sec) / ISO100 / WB: 太陽光
このレンズの最短撮影距離近傍で撮影した1枚。EF 50mm F1.2Lとはまた趣の違う絵画っぽい?ぼけ方をするようだ。これはこれでおもしろい描写であるとは思うので、時を見て使っていきたい。(なかなか相棒の85mmの出番がないんだけど。)
9月の連休はちょうど曼珠沙華の見頃(よりは少し過ぎていたかも)だったので、コスモスだけではなく、曼珠沙華も撮影してみた。いつもながら赤をどうするか悩ましいが、こんな感じでどうなんだろうか?
Lycoris2009_1.jpg
EOS 5D MarkII / EF 85mm F1.2LII / 絞り優先AE 絞り F1.2 -0.3EV (シャッター速度 1/1000 sec) / ISO100 / WB: 太陽光
Lycoris2009_2.jpg
EOS 5D MarkII / EF 85mm F1.2LII / 絞り優先AE 絞り F1.2 -1.0EV (シャッター速度 1/2000 sec) / ISO100 / WB: 太陽光
Lycoris2009_3.jpg
EOS 5D MarkII / EF 100mm F2.8 Macro / マニュアル露出 絞り F2.8 シャッター速度 1/125 sec / ISO100 / WB: 太陽光
まだEOS 5D MarkIIの露出傾向が自分でよくわかっていないので、基本的にこの手の色合いは何となくマイナス補正傾向だろうと思ったら、必要な補正値が経験での値よりだいぶん大きめ。うーむ・・・
写真を始めたときに購入した最初の1本であるEF 100mm F2.8 Macroであるが、この撮影で使用は最後となった。このあとに示すEF 100mm F2.8L Macro ISに買い換えることにしたからである。このレンズとのつきあいはこのレンズの発売時期にさかのぼるので、2000年3月あたりからと記憶しているが、最初この1本だけでずっと写真を撮り続けたので、基本的には僕にとっては100mmマクロが標準的な画角かなと思うことが多い。手持ちで、手ぶれなく、MFでピントを追い込んでも大丈夫なレンズは、これしかないくらいに使ったなという印象である。素直にお疲れさんという気持ちと、100mmマクロに対して持っていた不満がある程度解消した新100mmマクロISに期待。
10月頭にEF 100mm F2.8 Macroにお別れして、新たにやってきたEF 100mm F2.8L IS。レンズを切り替えて早速撮影開始。撮影地はくりはま花の国のコスモス園。ここは電車で乗り換えずに30分くらいで行けるので、気軽な撮影地なのだが・・・ 行ったときはまだ5分咲きくらい。今週あたりは良いのかもなあと思いつつも、先週の台風の被害はどうだったのだろう・・・ さすがに花畑の絵にはできなかったので、今回もクローズアップで撮影。マクロレンズの調子を伺うには良いかも。
cosmos2009_3.jpg
EOS 5D MarkII / EF 100mm F2.8L Macro IS / 絞り優先AE 絞り F2.8 +/-0.0EV (シャッター速度 1/1250 sec) / ISO100 / WB: 太陽光
cosmos2009_4.jpg
EOS 5D MarkII / EF 100mm F2.8L Macro IS / 絞り優先AE 絞り F2.8 +/-0.0EV (シャッター速度 1/1250 sec) / ISO100 / WB: 太陽光
まだ大きく延ばしたりしているわけではないので、まだおおざっぱな感想を。背景のぼけは良くなったかなあと。あと解像度も全体的に良くなっているように思う。(これらの写真じゃようわからんけども。) 手ぶれ補正に関してはだいぶん体感できるて、0.5倍程度の撮影であれば、感覚的に1/20でも手ぶれしなさそうな感じではある。ISを効かせたときの描写の傾向も見てやる必要はある物の、常時ONで良いのかなと思う。シフト補正をするようになったせいか、接写時の手ぶれ補正に平行移動をするようになったので、ちょっと慣れが必要かと思っている。じっくり使いこなしていきたい。あとピント駆動範囲が最短撮影距離~50cmに制限できるようになった。マクロレンズはレンズ駆動量が大きいので通常撮影時のために50cm~無限遠という制限はできたが、マクロ撮影時にはいったんピントを外すと無限遠までピント駆動して、AFよりもMFで行ってしまえと言うところがあった。50cmまでしか動かなくなったので、だいぶんAFが使いやすくなった感はある。
cosmos2009_5.jpg
EOS 5D MarkII / EF 24mm F1.4LII / 絞り優先AE 絞り F2.0 +/-0.0EV (シャッター速度 1/8000 sec) / ISO100 / WB: 太陽光
花畑な絵も撮れるように24mmも持って行ったのだが・・・ 背景の色を見てもわかるようにあいにくの咲具合だったので、これもよってみることに。コスモスのように背の高い花の場合は、風の影響で結構花が揺れるために、動きが落ち着くまで結構の忍耐を要する。(このレンズも被写界深度浅いので。)
cosmos2009_6.jpg
EOS 5D MarkII / EF 50mm F2.5 Compact Macro + Life Size Convertor / 絞り優先AE 絞り F3.2 +/-0.0EV (シャッター速度 1/320 sec) / ISO100 / WB: 太陽光
今回は50mmマクロも持ち出してみた。花を画面いっぱいに取り込んでみたのだが、ちょっとアンダー目に露出して花びらの色に少々こだわってみた。ライフサイズコンバータをつけるとかなり寄ることになって、撮影難度が一気に上昇する。50mmの元の描写は近接時でも解像度が確保されていて使いやすいレンズなのだが、さすがにここまで寄るとこれまた味のある絵になる物だ。ただMFはできないし、AFが迷ったときのピント駆動量は大きい。やはり使い勝手を考えるとこのレンズの近代化は必要かなと感じる。