Home

日記
さて連休も今日で終わりか (02:20)Edit

ただし俺の連休はまだ続きそうだ。っつーのは、下の子供が水疱瘡にかかったため。現在ぶつぶつ怪人状態。一週間くらいは通園禁止だろうから、今週は半分くらいオクサンと手分けして休まないとならないんだろうなー。俺自身もずっと喉と鼻と頭に来る風邪を引いていて(どうやら花粉症ではないらしい)結構きつい。

ちなみにこの連休中は久しぶりにほとんどPCに触らなかった。閲覧系はそれなりにしているけれども、生産的なことはほとんど何もしていない。で、久しぶりに昨日あたりからぼつぼつ復帰準備をしているんだけど、いまいち気分が乗らないなー。引っ越しの準備もそろそろはじめないとまずいんだけどなー。

Published At2005-05-08 00:00Updated At2005-05-08 00:00

日記
HTML_QuickFormのRangeルールで (02:57)Edit

マルチバイト文字を含むテキストの文字数チェックをclientとserverで統一感がある形で実行したい場合は、HTML/QuickForm/Rule/Range.phpを

- $length = strlen($value);
+ $length = mb_strlen($value);

に書き換えちゃうのが一番いいのかなー。でもそれだとpear upgradeしたときに面倒なことになりかねないから、上記のような書き換えを行ったHTML_QuickForm_Rule_RangeJPクラスを別途用意しておいて、あらかじめ、

$rangejp =& new HTML_QuickForm_Rule_RangeJP();
$rr =& HTML_QuickForm_RuleRegistry::singleton();
$rr->registerRule('range', NULL, $rangejp);
$rr->registerRule('minlength', NULL, $rangejp);
$rr->registerRule('maxlength', NULL, $rangejp);

とかrange関係のルールを上書きして使った方がいいのかなー。ひとまず後者にしてみたけど、いまいち美しくない気もする。あと、これだと最終的にバイト数でチェックをしたい場合に、もう一段階ruleをかまさないとならなくなるのがじゃまくさい。

この辺の扱いをきれいにまとめる方法ってないかなー。結局、javascriptで文字列のバイト数チェックを行う関数を書いてそれを使うようにするか、あるいはマルチバイトでサイズチェックを行いたい場合は基本的にclientチェックは使うな、ってことになっちゃうのかな。

Published At2005-05-08 00:00Updated At2005-05-08 00:00

日記
キーワードとタグ (11:16)Edit

はてなブックマークとTaggingはてなブックマークとTagging」あたりのネタ。ちゃんと一般論としてまとめる気力がないんで、現在のMM/Memoの実装例を紹介してみる。

MM/Memoでは、

  • ユーザーが自由に入力するタグ(ジャンル)
    • タグ入力候補として、該当のドキュメントから自動抽出した特徴語を表示し、ワンクリックでタグとして追加可能な入力補助機能
  • 上記で自動抽出した特徴語を、隠しタグとして登録。通常表示時は見えないが検索キーとしては利用できる。
    • 検索から「自動ジャンルも検索」を有効にして検索すると、ユーザーが入力したタグと、自動登録した隠しタグをフラットに検索する

というようにしてある。

現状のインターフェースが使いやすいかどうかはともかくとして、ひとまず上記のような構造にすれば、ちゃんとタグを入力したい人はdel.ico.usみたいな使い勝手、タグを入力しない場合でもはてなブックマークみたいな使い勝手での、ブックマーク(メモ)の串刺し検索が実現できる。

あと、MM/Memoではブックマークのタイトル、タグ、コメントなどで使われているテキスト自体から特徴語を抽出し、特徴語が類似しているブックマークをEstraierの類似文書検索機能を利用して抽出している。だから、似たような話題に関するブックマークは、URLやタグが違っていても、related検索(各ブックマークの虫眼鏡マークをクリック)である程度抽出することができる。

MM/Memoは実験的に機能を追加していっているんで、インターフェースはあまり洗練されていないし、作ってみたらダメだった機能もいろいろあるけれども、上記のような機能群はかなり有用な機能だと思う。洗練されたインターフェースで実用レベルで実装してくれるところ希望。

Published At2005-05-09 00:00Updated At2005-05-09 00:00

日記
メモを該当ページ上で書くbookmarklet (21:18)Edit

JavaScriptの動的ロード」話をみて最初に思いついたネタなんだけど、どうせ誰か作るだろうと思って放置していたら誰も作る気配がないんで、試しに作ってみた。

bookmarklet: その場でMemo!

何をするものかというと、MM/Memoにメモを登録するフォームを、現在開いているページ上の可動レイヤーとして生成し、ドキュメントを見ながら入力して投稿できるというもの。呼び出しているのは、このスクリプトね。

あまり真面目に作ってないけど、フォームの見た目を格好良くして、レイヤーの移動周りの処理ももうちょっとインターフェース的にわかりやすくしたら、仕組み的にはかなり使えると思う。一応WindowsのIE、Firefox、Opera8では動作した。

「隠す」をクリックするとフォームが消えるけど、もう一回同じbookmarkletを実行すれば、消えた前の状態でフォームが復元する。フォームを移動しても邪魔になる場合なんかに、一時的にフォームを消して、その下に隠れている文章を読んだりするのに使う。

呼び出しているjavascriptをダウンロードして、フォーム生成部分を適当に書き換えて使ったら、他のいろんなサービスにも使えるでしょう。blogツールに直接投稿できるようにしたりしてもいいかもしれない。wemaと連動させてもいいかもね。ユーザーサイドjavascriptなんかと組み合わせれば、どこでもwemaみたいなこともできそうだ。

JavaScriptコードが消えちゃった

サーバートラブルの影響で、上記JavaScriptコードが消えちゃった。もう一回書く気になれないんで概要だけ書いておくと、bookmarkletから外部JavaScriptコードをインポートして、そこで適当な可動レイヤーを作った上に投稿フォームを生成する、というコード。bookmarkletの文字数制限を回避するために、外部JavaScriptコードを呼び出す方法は、malaさんのところとかで詳しく説明されている。可動レイヤーとかフォームの生成は、JavaScript+HTMLの基本なんでまあ適当に作ってください。

Published At2005-05-09 00:00Updated At2005-05-09 00:00

日記
刺さってた? (01:22)Edit

httpdのプロセスがおちているわけでもないし、実際ぽつりぽつりとアクセスは受け付けていたみたいなんだけど、なぜかほとんどhttpdが応答しない状態になっていた模様。apachectl gracefulでは復帰しなかったけど、stop→startで復帰した。これはいったいなんだったんだろう? CPUもネットワークも特にいつもよりも高負荷になっていたわけではないみたいだし、ログにも特に変わった痕跡はなさげなんだけどなー。

Published At2005-05-10 00:00Updated At2005-05-10 00:00

日記
なぜ多言語対応しないのか (11:31)Edit

多国語で書けるブログはどこ?ブログ124サービス【文字コード】全チェック」あたりのネタへの反応。

非プログラマの人がわかりやすいようなたとえにすると、「文章を書くときには、多言語でそのまま(逐次)翻訳できるような文章を書け。しかも最低でも英語版も用意しておけ」と言われるような感じかなー。

と思った。

Published At2005-05-10 00:00Updated At2005-05-10 00:00

日記
バンパーを落として逃げた車 (12:51)Edit

昨日の夜うちの近所の交差点で事故があった。ブレーキ音と衝突音がして見に行ったところ、バンが1台反対車線側に停まっていて、その車体の下に何かが挟まっている。「人? バイク?」と思いながら近づいていったら、車の前のバンパー(ナンバー付き)だった。集まっている人の話を漏れ聞いたところによると、ぶつかったもう1台の方の車は逃げだし、その落とし物がそのバンパーだそうな。盗難車とかじゃない限りは簡単に捕まっちゃうね。それとも盗難車だったりするのかな?

Published At2005-05-11 00:00Updated At2005-05-11 00:00

日記
一応治癒証明は出た (12:51)Edit

下の子供の水疱瘡、一応今日病院で治癒証明をもらってきた。でもまだ顔がぶつぶつだよ。もうかさぶたになっているから、うつることはないのかもしれないけど、保育園の他の子供の親とかいやな感じだろうなー。といっても、もともとこの水疱瘡は保育園でもらってきた(3週間くらい前に流行った。水疱瘡の潜伏期間は2週間くらいらしいんで、ちょうど日数があうね)ものだけどな。

Published At2005-05-11 00:00Updated At2005-05-11 00:00

日記
xpdfで日本語 (19:08)Edit

FC3でaptでインストールしたxpdfで日本語が通らない。xpdf-japanese相当のものは入っているし、/etc/xpdfrcにもちゃんと

include /usr/share/xpdf/japanese/add-to-xpdfrc

はあるのに。しょうがないから~/.xpdfrcに/usr/share/xpdf/japanese/add-to-xpdfrcの内容をコピーして動かしているけど、釈然としない。/etc/xpdfrcが見えていないのかな?

Published At2005-05-11 00:00Updated At2005-05-11 00:00

日記
おや? (13:52)Edit

今日のmm_footerの内容がなぜか文字化けしているな。SHIFT_JISで表示されているらしい。元のRSSもtDiaryもEUC-JPなのに、なんでSHIFT_JISなんかになったんだ? rss-recentって文字コード自動識別変換とかしているんだっけ?

キャッシュ消したら治った

内容は変わっていないのに、自動識別結果が変わった?

Published At2005-05-12 00:00Updated At2005-05-12 00:00