XPath式内の空白について(Oracle XML DB)

Oracle XML DBに格納したXMLの要素検索に全角および半角スペースが無視されて困ってました。正確には、全角スペースが半角に置き換わって、複数の半角スペースが連結されて一つになります。ちょっと調べたら、これはXMLの仕様で、XML Schemaに「whiteSpace value="preserve"」を追加したら、空白が保存されるようになりました。そういえば、HTMLに複数の空白を書いても1つ分しか表示されないのと同じ動作ですね。

これで取得するXMLデータには、空白が残るようになったのですが、下のようなXPath式を使った検索条件では、やっぱり空白が連結されてしまいました。とりあえず、今回は検索条件のほうを s/[ \s]+/\s/g して対応しました。と、ここまで書いて、タブ文字も考慮する必要があることに気が付いちゃったり_| ̄|○
SELECT * FROM xml_table
WHERE existsNode(xml_data,'/emp[name="空白 3つ"]') = 1

# Oracle 9iはSchema定義を変更するとテーブルを作り直さなきゃいけないのがたまにキズ。

# 10gなら再作成の必要はないらしい。

javax.cryptoによる暗号化

仕事で簡単な暗号化をする必要があって、javax.cryptoを使ったのでメモ。
J2SE 1.4から標準で組み込まれた機能で、共有鍵や公開鍵方式が使えます。DES,3DES,Blowfish,AESなどが統一的なインターフェースで使えて便利。下はDESを使って暗号→復号化するサンプル。今回は速度優先ということでBlowfishを使いました。
 import javax.crypto.*;

 public class DES{
     public static void main(String[] argv){
         try{
             KeyGenerator kg = KeyGenerator.getInstance("DES");
             SecretKey sk = kg.generateKey();
             byte[] m = "Hello Des World".getBytes();

             Cipher ch = Cipher.getInstance("DES/ECB/PKCS5Padding");
             ch.init(Cipher.ENCRYPT_MODE, sk);
             byte[] c = ch.doFinal(m);
             System.out.println(new String(c));

             ch.init(Cipher.DECRYPT_MODE, sk);
             byte[] m2 = ch.doFinal(c);
             System.out.println(new String(m2));

         }catch(Exception e){
             System.out.println(e);
         }
     }
 }
関連リンク:
javax.crypto
Java 暗号化拡張機能リファレンスガイド

IMとの交信も可能になった「ColdFusion MX 7」

IMとの交信も可能になったマクロメディアの最新「ColdFusion MX 7 日本語版」
2002年にリリースした「ColdFusion MX」は、JavaやJ2EEに対応した新アーキテクチャとして一からコードを見直して作られた。そして、Webサービスを素早く作成、利用するための手段も追加された。新機能でもっとも大きいのは、ColdFusionアプリケーションをブラウザやWebサービス以外と交信するためのゲートウェイを搭載したことだ。これにより、ショートメッセージサービス(SMS)やインスタントメッセンジャー(IM)をクライアントとして利用できるようになった。IMは、 MSNメッセンジャーやYahoo!メッセンジャーを始めとする主要なものならほぼすべてに対応する。

Webアプリケーションサーバとインスタントメッセンジャー(IM)の連携っていうのは、なかなか面白そうです。企業システムだと、離席やオフラインなどのステータスによって処理者を振り分けたりなんてことも出来そうです。

あとは、MacromediaということでFlashとの連携機能がどうなっているのかが興味あるところ。ただし、オールFlashのシステムは、ユーザの使い勝手という点でちょっと勘弁してほしいです。

CLIEが新機種投入を終了

CLIEの歴史に幕〜ソニー、新機種投入を終了
ソニーは、同社のPalm OS搭載PDA「CLIE」シリーズについて、新機種投入を終了すると発表した。現行ラインアップの「PEG-TH55」(2004年4月の記事参照)「PEG-TH55DK」(2004年8月の記事参照)「PEG-VZ90」(2004年9月の記事参照)は、7月末で生産を終了、修理に関しては、製品の最終出荷終了から6年間継続するという。なおネットワークサービスやコンテンツ販売、CLIEドメインのメールアドレスなどは、今後もサービスを提供するとしている。
ついにこの日が来てしまいました。私は、CLIEの初号機PEG-S500Cから3台くらい使いましたが、日本でPalmを一般に広めたという点ではかなりの貢献をしてくれたのではないでしょうか。ハイレゾや外部メモリーへの対応が進んだのもクリエのおかげでしたね。Palm OSは、スケジュールやアドレス帳等のPIMソフトを使うには動作も軽快で非常に使い易かったのを覚えています。今後、ソニーはPSPにPDA機能を追加していくことも考えているようなのでそちらに期待したいです。

一方で“シャープの「Zaurus SL-C3000」が、売れ筋トップをキープ”なんて話もあってリナザウは好調なようです。といっても、PDA市場自体が縮小している現状では、将来どうなるかは分かりません。実際、シャープにも前にZaurus開発終了の噂がありましたし。
携帯の機能が向上してきたからPDAがいらなくなったという人がいますが、本当にそうでしょうか?確かに私のW21SもOutlookと同期したりできますが、情報の一覧性は携帯のQVGA液晶では物足りない気がしますし、携帯からの入力はかなり面倒です。私的には、携帯はまだPDAの代替にはなっていません。やっぱり、PDAのライバルは紙の手帳なのかなぁ。

# シャープは、夏ぐらいにHDDレスで¥39,800くらいの廉価版ザウルスを出せば売れるかも

関連リンク:
ソニーがクリエを7月に生産停止,ただしPDAからの撤退は否定 (IT Pro)
ソニー、PDA撤退を決定、名機CLIEが辿った「本家なき個性派」の悲劇 (BCNランキング)
ソニー、クリエの新機種投入を終了 〜現行機種は7月末まで生産 (PCWatch)

忙しいということ

公私ともに忙しくなってきて、先週はほとんどエントリを書けませんでした。やる事がたくさんあって、相変わらず睡眠は4時間くらいです。
って、ただのいい訳でしかありませんよね。私は「忙しい、忙しい」って言うのは、好きじゃないです。「忙しい」って言う人は、たいていは時間の使い方が下手なだけだと思っているからです。時間は工夫すればどうにでもなるもので、デキる人ほど質の高い仕事をこなしながら遊びにも時間かけている。で、そういう人は、本当は(はたから見たら)忙しいはずなのに忙しいなんて言いません。

最近思うことは、単に時間をかけても良いアイデアは出てこないということ。本や映画を見たり、考え方の違う人と話したりする時間が大切なのかもしれません。今の職場のボスは、このあたりのことを良く分かっていて、こんな風に言っています。ありがたや~
・机に向かって仕事をこなすだけでなく、歩き回って人に会いなさい
・芸術に触れたり、趣味に打ち込む時間をつくりなさい

HDD搭載ザウルスにフォトストレージ機能を無償で追加

SL-C3000用「ザウルスフォトストレージ」の無償ダウンロードを開始
・カメラ付携帯電話で撮影した画像から、一眼レフデジタルカメラで撮影した800万画素クラスの画像(JPEG)まで表示することが可能です。数多くの写真を撮影して、ハードディスクにバックアップができるので、メモリーカードを多数保有する必要がありません。(RAW形式※5には「保存」のみ対応)
やるじゃないですか、#さん!!
これこそHDDを搭載したザウルスの清く正しい使い方です。800万画素クラスの画像も表示可能とのことですが、どのくらいのスピードで表示できるのか興味津々です。標準の画像ビューアでVGAサイズ以上の写真を開こうとすると、待たされる感がありましたから。

このソフトをこの時期に無料で出してくるあたりは、本当はSL-C3000の発売と同時に提供したかったけど、開発遅延などで出来なかったんじゃないのかと勘ぐってしまいます。また、「同社では今後、フォトストレージ機能を「SL-C3000」以外にも対応させる予定。」とのことなので、私の860でもCFスロットに5GBのマイクロドライブを挿して、SDカードの写真をバックアップしてExifデータの確認っていうのも出来るようになりそうです。
あっ、でもpdaXromに入れ替えちゃってたら使えないですね(^^;)

関連リンク:
シャープ、HDD搭載ザウルスにフォトストレージ機能を無償で追加 (ケータイWatch)

Pholiot気に入りました!

PholiotはFlash製画像ビューワで、写真を動きのあるスライドショーとして表示したり、アルバムのように次々にめくっていくことができます。早速、このページの右上に設置したのですが、気に入ってしまいました。パッと見「LiFE* with PhotoCinema」みたいですね。

撮った写真を公開するのにいい方法ないかなぁと思って、最初はFlickrを試してみたのですが、無料版だと転送量が10MB/月しか許されていません。私はこれを知らずに、写真2枚アップロードしただけで10MBを使い切ってしまいました(>_<) ちょっと少なすぎです。フォトストレージとして使おうとしてるのが間違ってるのかもしれませんが、携帯からQVGAサイズの写真を小まめに送るような使い方があっているのかもしれません。

で、私は写真自体はCMFPhotoAlbumに入れて、Plone上でPholiotのポートレットを表示することにしました。このPholiot、画像やアルバムの指定はXMLファイルに記述するようになっていて、設置もとても簡単です。サーバの設定は全く必要ありません。
# アクションスクリプトが書けると、いろいろできて面白そうですねぇ。

地上デジタル放送って綺麗ですねぇ

最近、WRCをテレビで見るためにCATVに加入しました。これまでの通常の地上波のみから一気に「地上デジタル、BSアナログ/デジタル/データ放送/ラジオ、各種専門チャンネル」とてんこ盛りに見られるようになってゴキゲンです。

驚いたのが地上デジタルの綺麗さ。さすがハイビジョン画質とCD並みの音質を謳っているだけのことはあります。番組内容は通常の地上波と同じなんですが、色の滲みもなくクッキリしてて画質は段違いです。同時にデータ放送も流していて、天気予報やニュースが見れるのですが、これの有用性は?です。インターネットで確認したほうが速いし、もっと番組と連動した情報を流したほうがいいと思いました。
それから、16:9のワイド画面が想定されているので、自分が使っている6年物の21型4:3テレビでは無駄な領域(レターボックス)が大きすぎて画像が小さくなってしまいます。上下だけならまだいいのですが、左右も真っ黒になっちゃうんです… もっと大きなワイドテレビが欲しい今日この頃。

そしてもうひとつ問題点が。LinuxサーバにTVチューナカードを挿して録画しているのですが、セットトップボックスで録画予約をして更にPCでも録画予約をしなければいけなくなりました。これでは、2度手間だし、外出先からの録画予約ができません。うーん、困った。
セットトップボックスにはiLinkの端子があるのですが、iLink経由で録画できるコピーワンスに対応したPC録画ソフトってあるんでしょうか…

/.Jのモデレート権がまわってきた

“2001年の正式公開前にユーザ登録した”Slashdot Japanですが、4年目にしてやっとモデレート権がまわってきたのでモデレートしてみました。5ポイントしかないのであっという間になくなっちゃいましたが。
特にお知らせメールとかは来ないんですね。権利は3日間しかないので、簡単に見逃しちゃいそう…

# 身近の同期にリナザウ・ユーザがいることが判明
# でもほとんど使ってないみたい。勿体ない…

「そうだったのか!一眼レフ」と「Emacsらくらく入門」

最近、久しぶりに小説などを読んでいます。今日なんか読書に夢中になってて、降りる駅を通り過ぎちゃったり… 主人公に感情移入しすぎちゃったり(^^;)
さて、その本とはまた別なのですが、帰りがけに本屋に寄って「そうだったのか!一眼レフ」「便利なツール Emacsらくらく入門」を買いました。

「そうだったのか!一眼レフ」はアサヒカメラの連載記事をまとめて単行本化したもの。カメラの構え方から始まって、絞りや露出等の基本用語、ボカし方や構図の決め方などが初心者にも分かりやすく書かれています。デジタル一眼ではなく、元々は銀塩カメラ用の連載なのですが、基本は一緒ということで本書の評判もいいみたいです。oazoの丸善では売り切れだったのですが、会社の近くの本屋でみつけました。

もう一冊の「便利なツール Emacsらくらく入門」はそのまま、Emacsエディターの入門書です。ザウルスには、Emacs上で動くWanderlust, howm, navi2chなどをインストールして使ってるのですが、基本的なところが分かってなかったりするので。
pdaXrom上のKO/Piは重いので、スケジュール/ToDoなどのPIMはhowmに移行しました。XEmacsを2番目の仮想画面に起動しっぱなしにして、いつでもメモを取ったりスケジュールの確認ができるようにしています。pdaXromのレジュームって、標準のQt環境よりもかなり速いんですよ。逆にサスペンドは、少しだけ時間がかかるみたいですが、やっぱり起動が速いほうがいいです。

*ist DSで日本家屋を撮ってみる

日曜日に何枚かRAWモードで撮ってみました。RAWモードだとファイルサイズが1枚当たり10MBとかになるので、256MBのSDカードだと20枚ちょっとしか撮れません。後から露出補正やホワイトバランスの調整ができるのがメリットです。でも、さすがに白飛びしてしまった明るい部分は戻ってきませんでした。RAWは露出アンダー気味で撮れっていう意味が分かった気がします。
初心者が撮るとこんな感じになるというサンプルとして見てください。狙い通りの写真を撮るのって難しい… ちょっと、はまりそうです。

    
スライドショー

# 密かに日本家屋って大好きだったりします。
# ちなみに祖父は大工だったのですが、実家は普通の2×4です。

自己ベスト更新!

2005年2月7日 AM10:45、ついに私は記録を更新しました。

いつもの電車に間に合うように慌しく家を出たのがAM7:15、駅まで歩いてたら遅刻しそうだったのでバスに飛び乗りました。そして、今日もりなざうでお気に入りの音楽を聴きながら電車に乗り換えます。XMMSは相変わらずリモコンの反応鈍いよなぁとか思いつつ。電車では、いいポジションがキープできたので、網棚に鞄を置いて、4ヶ月くらい前から読み続けている本を読みふけります。あと数ページなので今日こそは読み終わりそうです。電車を降りると、若干小走りで会社に向かいます。というのも、踏み切りに捕まってしまうとアウト(=遅刻)なのです。今日も何とか間に合うことができました。

会社ではまずメールチェックをして、作りかけの会議資料の〆切が今日だったので急いで作ります。お客さんからのフォローにちょっと焦りましたが、中身については、「ちゃんと自分の名前書いておけよ」と言われたくらいで合格の様子。一息つこうとコーヒーを買いに部屋を出ました。まずは、トイレに寄ってから行くとしますか。あっ、あれっ!?

そうです、私は気付いてしまいました。チャックが全開…
この時、時計を見るとちょうどAM10:45でした。つまり私は、朝に家を出てから3時間30分もの間、チャック全開で過ごしていたのでした。今までも何度か閉め忘れたことはありますが、すぐに気付いて、せいぜい数十分です。今回のは、歴史に残る記録となりました。もう自分で破ることはないでしょう。

uim-toolbar-gtk-systrayをちょっとコンパクトに

pdaXromにuimがインストールされている状態で"uim-toolbar-gtk-systray"を実行すると、タスクバーにIMの状態を表示することができます。PDAの画面は狭いので、もっとコンパクトに「あ R sw」→「あ」だけの表示にできないかとメーリングリストで尋ねたら、uim開発のcommitterをなさっているヤマケンさんから直々にtoolbar-common-gtk.cをいじれば良いと教えてもらいました。コンパイルには、XML::Parserが必要なのでfeedからインストールしておく必要がありました。

uim-toolbar-gtk-systray

上記ファイルを/usr/local/binにあるものと置き換えると、右のように少しコンパクトになります。起動後にローマ字入力<->かな入力を切り替えることはまずないので、本当は「R」の表示も消したいです。IMKit-uimのようにアイコンにマッピングするのがいいような気がしますが、

> "a"や"あ"といったボタンは次の0.4.6で表示/非表示をカスタマイズで きるようになります。

とのことなので、とりあえず次バージョンに期待です。
Index: helper/toolbar-common-gtk.c
===================================================================
--- helper/toolbar-common-gtk.c (revision 350)
+++ helper/toolbar-common-gtk.c (working copy)
@@ -209,10 +209,12 @@
     i++;
   }

+#if 0
   /* create button for exec switcher */
   button = switcher_button_create();
   gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
   menu_buttons = g_list_append(menu_buttons, button);
+#endif

   gtk_widget_show_all(hbox);

Zopeのデータをパック

Plone2にしてから1ヶ月、Data.fsのサイズが137MBになっていたので、ZODBのパックをしました。そしたら、なんと一気に8.7MBまで減少。いくらなんでも小さくなり過ぎな気がしますが、とりあえず普通に動いているようです。
Zopeのためにメモリー増設したい今日この頃。

近況とりなざうユーザについて

最近は、仕事のほうが少しずつ忙しくなってきて、リナザウをいじるのも帰りの電車の中だけって感じです。なので、昨日のbitWarpの障害には困りました。全然接続できなかったり、接続できてもすぐにブチブチ切れたりといった状態で、pdaXrom対策をされてしまったのかと思って焦ってしまいました。対応しているPDAで使ってる分にはライセンス的にも問題ないという認識なのですが、将来どうなるのかは分かりませんからね。
関係ないけど、authdrvにはGPL違反の疑いがあったようです。pppdいじっただけってのは、お粗末な気がしますが、他のPPCなんかの機器認証も同じ仕組みなんでしょうか。

ところで、「りなざうテクノウ」さんに紹介してもらってから、おかげ様でうちのサイトのアクセス数もうなぎ上りです。下の図がその変化をグラフ化したものですが、2月はまだ2日間しか経ってないのに、以前の1ヶ月分のアクセス数ですから「りなざうテクノウ」さんの偉大さが感じ取れます(前がショボ杉っていう噂も)。毎日、あれだけの情報を収集して提供してくれているにゃののんさんには、頭が下がります。一度会ってみたいものです。りなざうユーザの集いとかないかなぁ~(^^;)
 
あと、右のグラフを見るに、りなざうユーザは大多数が社会人なんでしょうね。お昼休みの12時、帰宅後の22時以降にアクセス数がドンと増えてますから。でも、不思議と自分の周りには、りなざうユーザがいないんですよね。1人引き込めそうな友人は見つけてありますが…

MPlayer for Zaurus 1.0.0

キターー!!
待ってました。阿川さんのWikiページがちょこちょこ更新されてたので、そろそろだと思ってました。ということで、早速ダウンロードしてpdaXrom環境で試してみました。
AtiCoreドライバをlibqteのものではなく、pdaXromのAtiCore-1.0.1を使うようにしました。外部ライブラリへの依存が全く無くなったので、pdaXromでも動くはずです
とのことで、解凍しただけで動作しました。で、肝心のパフォーマンスですが、pdaXrom標準のものとほとんど変わらない感じです。ただし、たまに固まってしまい、Cancelで終了できなくなりました。あと、「→」や「↑」を押した時のシークバーのオンスクリーン表示がそのままでは出ませんでした。たぶん、関連ファイルにパスが通ってないからだと思いますが。

エンコード時のパラメータをいじったりして、いろいろと試してみようと思います。