Digitalians' Alchemy Diary Archive



あるけみすとの居る風景:2005 年 11 月

2005/11/28(月)

 坊はおおむね回復した模様。ミルクを飲ませようとすると最初抵抗する(そのうちあきらめて飲む)あたり、ちょっとまだいつもと様子が違う感じもするのだが、これは単に離乳食の味を覚えてミルクに飽きて来ただけかも知れない。まあ、結局病院にも行かなかったし、この程度で済んだのは軽かった方だろう。

 ねこめしにっき 11/28 分、10 年単位スパンで潰しの効くデータフォーマット形式を賢く選びたい。X68k の PIC フォーマットとはなんと懐かしい。テキスト形式が一番つぶしが効く、というのはだいたい同感だけど、バイナリ形式でも仕様が公開されていれば、最悪の場合は自分でプログラムを書いて(あるいは誰かに書いてもらって)読むことができるからなんとかなる。要は仕様が非公開(あるいはきちんと定義されていない)だと将来が危うい、という話だと思う。

 メーラーのフォーマットについては、メールボックスがいわゆる mbox 形式なら RFC でフォーマットが定義されているから「なんとかなる」部類だと思う。ただ、1個のファイルだとそれが壊れたらオシマイ、という怖さはある。(でも1メール=1ファイルにしていても、ディレクトリ情報が壊れたらオシマイなわけだから、危険度はあまり変わらないような気もする。)バイナリ形式のデータベースで、しかもそのデータベースのフォーマットが非公開なのは確かに厄介だな。

 最近 CGI + MySQL とか SQLite とかいうのを仕事で使っているけど、やっぱり定期的にデータをテキストにエキスポートして保存しておかないと不安が残る。ああ、そういえばファイルメーカーのデータベースも使っているな…

2005/11/27(日)

 下の子(以下、坊)が熱を出して、昨晩から大騒ぎだった。夜中に何度も起こされて妻はふらふら(僕は平然と寝ていたらしい)。熱を測ってみると38.8度。平熱は36度台で低めなので、これはかなり出ている方だ。ほっぺたは赤いのだが昼間はわりと機嫌は良く、ミルクの飲みはやや鈍いものの離乳食はいつもと同じぐらい食べる。突発性発疹の可能性もあるのだが、鼻水や咳などの症状が少しあるので、風邪じゃないかと思う。夕方になって熱はだいたい引いた。夜になると機嫌が悪くなり、さきほどまで(2時頃)抱っこして収まるのを待ち、少しミルクをあげて寝かせたところ。夜に坊の機嫌が悪いのはここしばらくずっと続いているので、風邪とは関係ないかも知れない。とにかくヒメが丈夫で全然熱を出したりしないので、たまにこういうことがあると親が慌ててしまう。

 最近自宅と職場の両方でプログラム書きを進めることが増えて来たので、CVS を本格的に使おうと思っている。勉強のため、「CVS を使うためのメモ」を書いてみた。

2005/11/26(土)

 妻が「本やタウン」に Internet Explorer でアクセスすると最後のところでおかしくなる、と言うので、Safari を使ってみたら、と薦めたらうまくいったらしい。で、ブックマークを IE から Safari に移したい、ということになって、Safari Enhancer でやってみたのだが、どうしても途中で途切れてしまう。おかしいな、と思ってブックマークファイルを調べてみた。

<DT><A HREF="..." ADD_DATE="..." ...>......</A>
<DD>ADD_DATE="..." ...>N/G/...... <DT><A HREF="..." ...
(以下略)

 <DD> タグの後ろがなんだかおかしいじゃん。何の情報を保持しているのかわからないけど、とりあえずこの <DD> 要素をとっぱらえば読めるんじゃないか、それなら grep の出番だ、と思ったが、改行コードが Mac 形式という罠。mi でも入ってればよかったのだがあいにく妻の iBook には入れていなかったので、ターミナルを開いて、以下のコマンドラインで対処。

perl -e 'open(INP, "Favorites.save.html"); $/ = "\r"; while (<INP>) { chomp; s/<DD>[^<]*(\t*<)/\1/; print "$_\r"; }' >Favorites.html

ところで、前に本やタウンにアクセスしたときは Safari だとだめで IE だと OK だった。今回はまったく逆。どういうこっちゃ?

2005/11/19(土)

 職場の後輩と奥さんが来宅。奥さんは来年3月に出産予定で、うちの妻からいろいろ情報を収集していた。子供たちはたくさん遊んでもらって満足した様子。

 Phishing 被害者の実例。PayPal を騙ったフィッシングに引っかかった方の話。うちにも先日 PayPal を騙ったフィッシングメールが来た。「あなたの PayPal アカウントが不正使用された形跡があります、確認のため○日以内に PayPal にログインしてください」という内容で、PayPal へのリンクが別サイトに張ってある、というもの。テキストメールで見るとリンク先が明らかに怪しかった(IPアドレス直書きだったし)のですぐに気がついて、フィッシングメールの実例として妻に解説する教材に使わせてもらった。しかし、リンク先を見るだけではわからないケースもあるし、今後も引っかからない自信は全然ないな…

2005/11/16(水)

 先日書いた 10.2 の emacs が日本語入力を受け付けない件、回避法がわかった。stty raw; emacs; stty -raw として emacs を立ち上げればよいらしい。Google で探したらたくさん見つかった。.cshrcalias emacs "stty raw; \emacs; stty -raw" と入れておく方法がよく推奨されているが、ファイル名を引数にすると妙なことになるので、stty raw; /usr/bin/emacs "$@"; stty -raw というシェルスクリプトを emacs という名前で ~/Applications に入れておき、.cshrcsetenv PATH $HOME/Applications:$PATH と入れてこのシェルスクリプトが最初に見つけられるようにした。これでもまだ、^Z でサスペンドしたあと fg で復帰させるとおかしくなるという不具合が残っているのだが、まあそのぐらいなら我慢しよう。

2005/11/14(月)

 一日遅れだが、きのう一家4人でおかざき世界子ども美術博物館の「未来をつなぐ世界のオモチャ展・JOINT」を見に行った。スイスのネフ、スウェーデンのブリオなど、世界的に有名なおもちゃの中で特に「つなぐ」タイプのものを集めて展示してある。体験コーナーもあった。アメリカの「ゾムツール」というのが分子模型みたいで目を引いたが、よく見てみるとそんなにずば抜けて良いわけでもなかった。日本でポピュラーなHGS分子模型より色はきれいだし角度の自由度は高いけど、継ぎ目が折れやすそうだし、結合が変形しにくいのでひずみのある形は作りづらい。体験コーナーで子どもたちに圧倒的に人気があったのはラキューだった。確かにパチパチはめる感覚は楽しいし、表現の幅も広くて面白い。うちの子にはまだパーツが小さすぎて無理だけど。ブリオは、愛知万博の北欧館からの寄贈品を展示してあって、木製の列車シリーズが一部屋使って広げてあって面白かった。ただ、こういうのはパーツをたくさん持っていることが重要なのだが、こんな単価の高いものを大量に揃えることはよほどお金がないとできない。しばらく遊んでから、妻と「庶民はプラレールで十分だよな」と納得して体験コーナーを後にした。

2005/11/13(日)

 Intelチップ搭載の PowerBook が1月に出るとかいう噂(Computer U Relax さん, アップルリンケージさん経由)。Classic 環境からまだ当分離れられないので次のマシンは PowerPC 搭載機でないと困るのだが、1月まで粘ってると危ないかも知れんな。実は、Mac 購入計画を立てている最中に新製品が発表されて、慌てて予定していた旧機種を買おうとしたらどこにも在庫がなく、結局新製品が入荷するまで待たされた、という経験を今まで何度もしているのだ。年内に手配するか…

2005/11/12(土)

 今日は職場の計画停電なのだが、ぎりぎりまで計算機(PowerMac G5)を回しておきたかったので、停電が始まる直前に自宅から sudo halt でシャットダウン。しかし、6台あるマシンのうち、Mac OS 10.3 のマシンは正常に止まるのだが、Mac OS 10.3 Server のマシンはシャットダウンした直後に勝手に再起動してしまう。実は先日この症状を発見して、当然ハードウェアのトラブルだろうと思って、念のため同じ仕様のマシンと内蔵ハードディスクを入れ替えてテストしてみたら、Mac OS 10.3 Server を乗せた方の(もとは正常だった)マシンがまた同じトラブルを起こし、Mac OS 10.3 に換えたトラブルマシンが正常に動くようになってしまった。にわかには信じがたいのだが、OS と関係がある模様。しかもこいつったら、強制電源切断でシャットダウンしたら、そのあと電源ボタンを押しても起動せず、一度電源ケーブルを本体から引っこ抜いてしばらく放置してやらないといけない。このトラブルも、OS を入れ替えると Mac OS 10.3 Server を乗せた方のマシンで再現する。OS を乗せているハードディスクと何か関係ある? いずれにしても不可解なトラブルだ。

 この間書いた SQLiteDBD::SQLite、結局使ってみることになった。コマンドラインから走らせると動くのに CGI スクリプトに乗せると動かない、というトラブルで3日悩んだが、結局「SQLite はデータベースファイルを置いているディレクトリに書き込みパーミッションを要求する」ことがわかって解決。データベースファイルのパーミッションは抜かりなく変更していたのだが、親ディレクトリまでは気が回らんかった。あと、MySQL の便利な拡張機能をつい使ってしまって SQLite に叱られる、という失敗もしょっちゅうやってしまう。しかしながら、データベースサーバを設定しなくてよいのは管理者としては楽。数十MBぐらいのデータベースでも実用的な速度で走るようだから、プライベートなデータ管理なら十分だな。

2005/11/01(火)

 プログラムで自動生成させた数十個の分子構造を画像化する、という作業が必要になった。分子の画像化は専用ソフトがあって、TCL スクリプトで自動処理ができる。ただ、画像を SGI フォーマットでしか保存できない上、周りに背景のスペースが残ってしまうので、GraphicConverter の smart trim 機能で余分なスペースを切り取った上で PNG で保存し直そうと思った。画像の作成を TCL、トリミングとフォーマット変換は AppleScript で書いて、Perl スクリプトからそれぞれ呼び出せばいいだろう、と思ったのだが、AppleScript でつまづいてしまった。ファイルを開くのに open の引数を何にしたらいいかわからないとか(結局ただの文字列でよかったみたいだが、file とか alias とか file specification とかいろいろな「型」があるからドキュメントを読めば読むほど訳がわからなくなる)、tell ... end tell の間に activate を入れないとウィンドウを取得できないとか(できることもあるから厄介)、極めつけは Script Editor からだと動くのに osascript 経由だとエラーを起こすとか。2時間近くあれこれ粘った末、結局 GraphicConverter をあきらめて、ImageMagick をインストールすることにした。単純に system("convert $file.rgb -trim $file.png && rm $file.rgb") でおしまい。旧 Mac OS の文化と UNIX の文化は未だにあんまり相性がよろしくないようで。