2008年1月30日水曜日

MySQLの新しいストレージエンジン(MariaとFalcon)

MySQL、新ストレージエンジンMaria投入 - InnoDBは?を読んでFalconはどうなったんだろうと思って、ちょっと調べてみた。
MariaがMyISAM++だったなら、FalconがInnoDBの位置に来る(そのままの置き換えは目指してないけど)じゃなかろうか?
Mariaのもつ機能としてトランザクションや行レベルロックはあるけど、foreign keyは無いようだし(falconにはある)。
ブログの記事には、To be a MyISAM replacementとはあるけど、InnoDBについてなんも書いてない。



2008年1月27日日曜日

Lucene java 2.3.0 released

気付いたらlucene java 2.3.0が出てた。MLの流量が多くて後で読もうと思ってたら…。dev-javaでRC3のあとアナウンスの準備してたから、もうすぐだとは思ってたけど。いつのまにかhadoopトップに上がってた

大きいインデックスでマージ時間が悩ましいとか、indexingのスピードを上げたい人は、試しに使ってみると良いと思う。
あと、IndexReader.reopenとかは便利。

2.4で期待してるもの。
Lucene-1120 Use bulk-byte-copy when merging term vectors
書いてあるとおり、フォーマットが変わるのでしばらく実験で使ってみよう。私の所でも、TermVectorsのファイルはサイズが大きいので効果がありそう。
Lucene-1121 Use nio.transferTo when copying large blocks of bytes
nioを使うので微妙に盛り上がってる。書いてあるとおりCFSを作るのは速くなりそう(CFSは複数のファイルをまとめただけで、まず元ネタを作ってからCFSにまとめるので)。
ただ、CFSを使うと一時的にディスク使用量が2倍(CFSと元ネタ)になるし、IO負荷も高いので今は避けてる(そのせいで、大量のインデックスをマージするときに、ファイル開きすぎではまったりする)



2008年1月26日土曜日

devel-coLinux-20080120に更新

開発版スナップショット(devel-coLinux-20080120)に更新しました。vmlinux-modules.tar.gzを展開するのを忘れて警告が出てた。


kernel: ipv6: disagrees about version of symbol struct_module
modprobe: FATAL: Error inserting ipv6 (/lib/modules/2.6.22-co-0.8.0/kernel/net/ipv6/ipv6.ko): Invalid module format

coLinuxでIPv6は使わないから別に気にしなくてもいいけど、警告がうざったいので更新しておいた。ついでにipv6.koもロードしないようにした。



coLinux(ubuntu 7.10)にemacsを入れた

coLinux(ubuntu)にemacsをいれた。
とりあえず既存のパッケージをいれてみた。


(emacs-version)
"GNU Emacs 22.1.1 (i486-pc-linux-gnu)
 of 2007-11-07 on terranova, modified by Ubuntu"

ちゃんとputtyでxterm-256colorにしておいたので、たくさん色が出せる。

meadowから乗り換えたいので、howmはいれた。ちゃんとgrepが使える。cmigemoとmigemo.elもいれた。

ついでにdisplay-time-string-formsを見直してみた。
今までは、検索して見つけたやつ(dayname-j-alistで英語表記の曜日と日本語表記の曜日の対応をつけてるやつ)をコピペして使っていた。
ただ、なにも指定しなければ曜日が漢字で出ているので、自前の連想リストが無駄な感じがして気になっていた。
ちょっとtime.elをみたら簡単だった。

(setq display-time-string-forms '((format-time-string "%Y/%m/%d(%a) %H:%M" now) load))



2008年1月14日月曜日

pythonと文字幅(Unicodeの正規化)

pythonスレをみてて気になったので調べた結果。

入力フォームで全角のみを許可したいという話なので、全角(Full-width)かどうかの判定をunicodedataでやれば楽ができそうと思った(853)。
ただ、入力がUnicodeの場合は分解されている可能性があるので、正規合成しなくても大丈夫か気になった。

Python 2.5.1 (r251:54863, Nov 19 2007, 17:32:14)
[GCC 4.2.2 (Gentoo 4.2.2 p1.0)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import unicodedata
>>> for uc in unicodedata.normalize('NFD', u'ぱいそん'):
...  uc, unicodedata.east_asian_width(uc)
...
(u'\u306f', 'W')
(u'\u309a', 'W')
(u'\u3044', 'W')
(u'\u305d', 'W')
(u'\u3093', 'W')
>>>

ということで、特に問題ないのかな?
まあ、合成した方がわかりやすい気がするけど。


unicodedataとicuは出来ることがかぶってる~って書こうと思ったら、UAX #11: East Asian Widthを見つけた。PyICUは開発中で、現状ではuchar/UCharacterに該当するものが無いから、この件に関してはunicodedataを使うしかないけど。


正規化は便利だし、なんかおもしろい。
入力文字種を制限するんじゃなくて、入力を正規化して、確認画面で正しいかどうかをユーザに判断してもらうのもありなんじゃないかな。
まあその場合、NFC+Full-Widthに統一かな。NFKCだとHalf→Fullまで出来るけど、複数文字を1文字にしたのがばらされてしまう。それが問題にならなければ楽。

>>> print unicodedata.normalize(u'NFKC', u'㍊㌶㍻㎡パイソンぱいそん')
ミリバールヘクタール平成m2パイソンぱいそん



2008年1月13日日曜日

D01NXのファームを更新した

emobileのスレを見てファームの更新を知る。当然すぐに更新した。
デバイス自体は言われているほど不安定ではないと思っていたので、どんな風に安定性が向上したのかわからないけど、
アンテナのマークが示す電波の強さが強くなった気がする。



adesのモデムドライバ

出先で充電したいのもあって、とりあえずモデムドライバを入れようと思ったら、エラーが出て入らない。
検索しても参考になる情報がないので、infを読んでみると、どうも参照しているinfが存在していないようだ。
ということで、mdmcpq.infを別のPCからコピーしたら問題なく入った。

たぶんOS入れるときに、nLIteでカスタマイズしたから入らなかったんじゃないかな。



Advanced/W-ZERO3[es]かった

1/5にW-VALUE SELECTで買いました。まだ電話とメール以外ほとんどいじってない。
データ定額つけるか悩んでる。家なら無線LANがあるし、仕事場でもPCとつなげばいい(ad-hocモードかUSB)。最近は公衆無線LANも増えた。それ以外だと電車に乗ってるときと、ちょっとした待ち時間に使うぐらい。本を読んでることが多いし携帯電話もある。ここだけで1050円分も通信するか疑問。
とりあえず今月はデータ定額をつけて好きに使って、いくらになるか様子を見てみるかな。
もし2100円超えるなら、リアルインターネットプラスも考えよう。どうせx4なんてほとんど意味無いし。
携帯電話を使ってやっていることのうち、PHSで出来ることをPHSで済ませて、携帯のパケット定額の下限で済ませられると良いんだけど。携帯のパケットは高いから、すぐ上限になってしまうので。

前使ってたWX310Kは2005年の12/23に買ってた。最初はほとんどデータ通信専用で、電話として使うようになったからAX420Sを買い増した。そのうちe-mobileに手を出したからAX420Sは一年も使ってないはず(2006/9から2007/6ぐらい)。欲しい人がいたらあげます。

パケット数を見るついでに、10コイン貯まってたから、とりあえず9コイン分(4200円)キャッシュバック申し込んだ。コインは結構無駄にしてるはず。WX310K買ったときにはすでにキャッシュバックできるだけのコインがあったんだよなー。申し込み損ねたけど。



2008年1月3日木曜日

掃除をしているときに発掘されたもの

押し入れの掃除をしていたら、Python Toolkit(in 1997!)とBeOS 3.1/4.5のCDROMが出てきた。懐かしいな。
Python Toolkit CDROM & BeOS CDROM

JavaWorld 1999年2月号のCDROMも出てきた。JDK1.1.7AとかAcrobat Reader 3.0a、Netscape Communicator 4.5/4.06が収録されてる。Horbとかも懐かしいな。何で保存してあったのか思い出せないけど、INFORMIX-SEのLinux版かな?