Windows では PDIC で、MacOSX では英辞郎ビューアでお世話になっている英辞郎。
伝統的には Un*x で辞書っつったら EPWING 形式なんじゃねーかなぁと思うんだけど、以前一度だけ FreeBSD 上で英辞郎を EPWING で利用できるように変換しようとして挫折した思い出があって、もしかしたらついに英辞郎を諦めなきゃダメかもなぁと考えていた。でも EPWING にこだわらなければ方法はあった。
の二つ。rdic は Ruby で書かれていて、おぉと思ったけど Ubuntu パッケージになっていなかったので今回は sdic の方を使うことにした。Emacs ユーザーじゃなきゃわざわざ辞書のために Emacs を立ち上げようとは思わないけどね。
インストールは他のアプリと同様 aptitude でできるんだけど、このときいきなり CD-ROM 上に英辞郎の辞書があることを前提に、sdic で利用する suffix array の構築に取りかかろうとする。辞書の取り込み用の UI はないのかな?と思ったけど、まぁ取り込もうとしているパスは分かるので、そのディレクトリを作ってご所望通りに辞書データを置いてから aptitude を叩いてインストールした。
機械が遅くて suffix array の構築にものすごく時間が掛かったけど、実際に辞書を引く動作自体は比較的軽い。これでかなり快適になった。やっぱインターネット越しにしか辞書がないなんて考えられない。もっと速く引けないと。
以前から名前だけは知っていたけれどイマイチ実体のつかめないというか、イメージをつかめないでいた Wedata について調べてみた。
結論から言うと下のリンク先を読め。以上。
さすがにあんまりなので自分の言葉で簡単にまとめ直すと、
- データベースとアイテムという単位があり、これは一般的な RDBMS で言うところのテーブルとレコード(名前がついている)のようなものに相当する
- 読むのは自由、書くには OpenID での認証が必要
- アイテムに key と value の組み合わせからなるデータを保存できる。ここは DBM 風。
- ブラウザからも API からもこれらを CRUD できる
で、このアイテムの key と value の組み合わせに自分なりのルールを作って API から叩くと、Web 上にデータベースがあるように使えるというもの。それが Wedata、のはず。
ただデータベースと書くのは語弊があって、API からは内容で検索とかはできない。あくまでデータベースの一覧やアイテムの一覧が取得できるだけ。Web 上ではデータベースの description で検索したりアイテムの名前で検索とかできるけど、これも API ではできないんじゃないかなぁ。やってみてないけど。で、検索なんかは結局ローカルというかクライアント側で実装する必要がある。
Wedata はもともと AutoPagerize という Firefox extension で利用する情報を Web 上に保存する目的で Wiki の代わりに作られている。Wiki には基本的に Wiki 記法以外に構造を表す手段がなく、この構造も文書に特化している。自分も Wiki は好きで比較的なんでも Wiki にすればいいじゃんと思ってしまうが Wiki は Wiki で不便だよなぁとも思っていた。それがこの構造の部分。Wedata はそこをうまいこと DBM 風にして解決しようとする試みなのだな、きっと。