Hatena::ブログ(Diary)

あまつぶ@はてなダイアリー RSSフィード

あまつぶWikiあまつぶ過去ログMacソフトWinソフト掲示板
<カレンダー>
2003 | 09 | 10 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 03 | 04 | 05 | 06 | 07 | 09 | 11 |
2011 | 02 | 07 | 08 | 11 |
2012 | 04 | 11 |
2013 | 07 | 09 | 10 |
2014 | 11 |
2015 | 11 |

<< 2006/06 >>
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

<最近の見出し>




POPFile の Mac OS X(Panther/Tiger/Leopard/Snow Leopard/Lion/Mountain Lion/Mavericks/Yosemite)用インストーラをお探しの方は、POPFile プロジェクトのダウンロードページへ。
 | 

2006-06-25 今日のあまつぶむら 6

[]今日のあまつぶむら 6 今日のあまつぶむら 6を含むブックマーク

ついに化石コンプリート。最後のひとつはなかなか長かった。住人が化石がほしいと言い出したのでそれを探していたら最後の化石発見。化石コンプリートのことは忘れかけていたので驚いた。

きんのバラが咲いていた。花の種類も結構バリエーションが増えてきたような。

[]ぶらうざ? ぶらうざ?を含むブックマーク

7/24 発売とか。快適に動くならおもしろそうかも。

zakaizakai 2006/06/27 23:48 おめでとうございます、我が村はまだまだまだまだです(笑) 触発されて穴掘りに精を出しましたが...埴輪ばっかり(涙)

先日、王冠が売りに出ていました。「立替で買っておくか...」と思ったら数桁違いでした(笑) 高すぎじゃー。

amatubuamatubu 2006/06/28 21:07 はにわも出るときはたくさん出ますね〜。
おお、王冠! 数桁違いっすか(汗)来る日に備えて、少しずつ貯金しますかね〜。

crossingpointcrossingpoint 2006/06/28 22:27 > 埴輪ばっかり(涙)
ははっ、仲間を発見した!(笑) うちもハニワハニワハニワ……。骨は?(涙)

ブルースターブルースター 2006/07/02 17:51 どうぶつの森でとうとう化石を掘りましたね。凄いですな〜
僕はどうぶつの森をやった事がないのですが、あれはどうぶつの森の住民の1人としていろいろとやっていくゲームなんですよね?
あのゲームって昔Nintendo64でも出ましたね。

最後にですが、最近ひっそりとWesnothの翻訳を私のブログに公開する事にしました。
今現時点では「A tale of two brothers」の第一話と、イントロダクションを翻訳しました。
とりあえずこんな感じです。
http://blog.goo.ne.jp/zibunhp/
Wesnoth関係へ直接飛びます(飛びませんでしたら上記から「カテゴリ内」から「Wesnoth関係」をクリックしてください)
http://blog.goo.ne.jp/zibunhp/c/395c1dd57735d068ec187c1a6fbae0ed

それでは

amatubuamatubu 2006/07/04 21:17 >ブルースターさん
そうですね。何も目的が定まっていなくて、釣りをしていてもいいし、化石を掘っていてもいいし、という感じのゲーム(?)です。
無線 LAN とかを使って他の人とやり取りができるというのが新しいのでしょうか。

拝見しました。いい感じですね。
http://www.wesnoth.org/wiki/JapaneseTranslation
を参考に、日本語訳のとりまとめをしている Okada さんに連絡してみるといいと思います。
私もぼちぼち始めないといけないですね。

2006-06-21 起動時に POPFile を起動させる

[][]起動時に POPFile を起動させる 起動時に POPFile を起動させるを含むブックマーク

POPFile がちゃんと動作するところまでは確認ができたので、今回は TeraStation を起動したときに自動的に POPFile が起動するようにする。ここまでできれば、POPFile サーバとしての設定が完了したと言えるだろう。

まず、プログラム(POPFile 本体)とデータ(データベースや設定ファイル)を保存する場所を決め、それぞれのディレクトリを作成する。ここでは、/mnt/array1/share/usr/share/popfile/ (プログラムディレクトリ)と /mnt/array1/share/var/lib/popfile/ (データディレクトリ)とした。popfile-0.22.4.zip をプログラムディレクトリに展開し、前回動作テストしたときに使用した popfile.cfg と popfile.db(もともとは iBook からコピーしたもの)をデータディレクトリにコピー。下準備はこんなところ。

次に、Startup / Shutdown Script for RedHat and Mandrake を参考にして POPFile の起動や終了を行うスクリプトを作成する。ほとんどはそのままでメイン部分は、

popfile="./popfile.pl"
perl_path=/usr/local/bin/perl58

POPFILE_ROOT=/mnt/array1/share/usr/share/popfile;export POPFILE_ROOT
POPFILE_USER=/mnt/array1/share/var/lib/popfile;export POPFILE_USER

# Setup variables
folder_saved=`pwd`

start() {
  cd ${POPFILE_ROOT}
  echo -n "Starting popfile: "
  ${perl_path} ${popfile} >> /dev/null 2>&1 &
  echo -n "started as background process" && echo success && echo
}

stop() {
  echo -n "Stopping popfile ... "
  pid=`ps -ef | grep perl | grep popfile.pl | gawk '{print $2}'`

  if [ "${pid}" = "" ] ; then
    echo "popfile is not running"
  else
    kill $pid
  fi
  #echo -en "\033[${RES_COL}G[  OK  ]"
  echo success && echo
}

status() {
  pid=`ps -ef | grep perl | grep popfile.pl | gawk '{print $2}'`

  if [ "${pid}" = "" ] ; then
    echo "stopped"
  else
    echo "running"
  fi
}

case "$1" in
start)
  start
  ;;
stop)
  stop
  ;;
restart)
  stop
  start
  ;;
status)
  status
  ;;
*)
  echo $"Usage: $0 {start|stop|restart|status}"
  exit 1
  ;;
esac

# Back to original folder
cd $folder_saved
exit 0

このような感じになった。/etc/init.d/functions などは存在しないようなので、その部分はばっさり削除してしまった。また、プログラムディレクトリとデータディレクトリを別に指定するために、それぞれ POPFILE_ROOT、POPFILE_USER という環境変数を設定。Perl も最初からインストールされているものとは別のものを使用するために、そのパスを設定した(popfile.pl 自体を実行可能にして 1 行目の Perl のパスを編集するという方法もあるが、POPFile 自体を修正することは避けたかったのでこのようにした)。

そして、このファイルを /etc/init.d/ に popfile という名前でコピーする。また、同じフォルダにある他のスクリプトと同様に実行権限をつけておく。/etc/init.d/popfile start で起動、/etc/init.d/popfile stop で終了ができることを確認する。

TeraStation の起動時に POPFile を起動、終了時に終了できるよう、/etc/rc.d/rc0.d などに上で作成したスクリプトのシンボリックリンクを作成していく。rc0.d が終了時、rc3.d が起動時、rc6.d が再起動時(rc*.d の数字はランレベルというものを表しているようだが、どの数字がどれなのかというのはよくわからない。他の Linux での例や、中に入っているスクリプトの内容などからこのように判断)に実行されるもののようなので、

ln -s /etc/init.d/popfile /etc/rc.d/rc0.d/K25popfile

ln -s /etc/init.d/popfile /etc/rc.d/rc3.d/S96popfile

ln -s /etc/init.d/popfile /etc/rc.d/rc6.d/K25popfile

としてそれぞれのディレクトリにリンクを作成した(K は Kill、S は Start の頭文字で、その後ろの番号は実行される順番。実行される順番は、使われていない番号の中から適当なものを選択した)。

これで準備は完了。TeraStation を再起動後、telnet でログインして

ps -ef | grep popfile

を確認すれば、

root       585     1  5 07:31 ?        00:00:10 /usr/local/bin/perl58 ./popfile.pl

というプロセスを確認することができる。iBook からコントロールセンターへの接続も問題なく、もちろんメールの受信もできる。これでめでたく TeraStation を POPFile サーバとすることができた。

zakaizakai 2006/06/21 22:07 知らんうちにテラかい!!ごっつぃのぉ〜。

amatubuamatubu 2006/06/26 20:38 RAID5 なんで 750GB(実際に使えるのは 700GB くらいかな?)ですけどね〜。まだ残り 660GB とか表示されるのでほとんど使ってないわけですが……(汗)
このペースなら一生使い切らないかもしれません(笑)

2006-06-19 Kakasi をインストール

[]Kakasi をインストール Kakasi をインストールを含むブックマーク

予定通り Kakasi (と、Text::Kakasi)をインストール。

ソースコードをダウンロードして、

./configure --prefix=/mnt/array1/share/usr/local

make

sudo make install

であっさり終わり……かと思いきや、make まではなんの問題もなかったのに、make install でエラーが発生。

/bin/sh ../libtool --mode=install /usr/bin/install -c libkakasi.la /mnt/array1/share/usr/local/lib/libkakasi.la

libtool: install: `libkakasi.la' is not a valid libtool archive

Try `libtool --help --mode=install' for more information.

えーっと、libkakasi.la が有効な libtool アーカイブじゃないって?? どういうことなんだろう。詳しくは libtool --help --mode=install を実行、ということだけれど、実行してみてもこれといって手がかりなし。libtool になにか問題でもあるのかと思い(./configure の際に、libtool がダイナミックリンクをサポートしていないとかいうメッセージが出ていたので)、gnu-libtool を別途インストールしてみたりもしたが、症状は変わらず。

途方に暮れながら libtool を開いてみると、

# Check to see that this really is a libtool archive.

if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :

else

$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2

exit 1

fi

というところでこの判定が行われていることがわかった。この判定部分を実行してみると、なんと、egrep が not found だ。/bin/ には grep しかないようなので、egrep (と fgrep)という名前のシンボリックリンクを作成した。これで問題ないはず。

が、これで終わりではなかった。今度は、

/usr/bin/install -c .libs/libkakasi.so.2.1.0 /mnt/array1/share/usr/local/lib/libkakasi.so.2.1.0

/usr/bin/install: cannot stat `.libs/libkakasi.so.2.1.0': No such file or directory

というエラーが。たしかに、libkakasi.so.2.1.0 というファイルは存在しない。というか、Makefile を見る限り、そのようなファイルが作られることはなさそうだ。しかし、libkakasi.la には書かれていて、インストールされるはずのファイルらしい。あれこれ試してみたが結局原因が判らず、仕方なく

gcc -shared libdict.lo libkakasi.lo libkanjiio.lo liba2.lo libg2.lo libj2.lo libk2.lo libee2.lo libhh2.lo libjj2.lo libkk2.lo libitaiji.lo lib78_83.lo -o libkakasi.so.2.1.0

として libkakasi.so.2.1.0 を無理矢理作成し、同じようにインストールされるらしい libkakasi.so.2 と libkakasi.so はこのファイルのシンボリックリンクとして作成した。その後、再度インストールを行ってみると、エラーなく無事インストールされた。これでよいのかどうかはよくわからないが、とりあえず先に進むことに。

そして、kakasikakasi-config のシンボリックリンクを /usr/local/bin/ に、libkakasi.a と libkakasi.so、libkakasi.so.2 のシンボリックリンクを /usr/lib/ にそれぞれ作成し、libkakasi.h は /usr/include/ にコピーした。次は Text::Kakasi Perl モジュールのインストールだ。

  • Text::Kakasi のインストール

これはまったく問題なし。普通に perl58 Makefile.PL、make、sudo make install であっさり。インストール後には、

perl58 -MText::Kakasi -e 'print $Text::Kakasi::VERSION;'

で一応動作確認。これが大丈夫だということは、Kakasi のインストールも問題なしってことかな。

[][]POPFile のインストール POPFile のインストールを含むブックマーク

さて、いよいよ準備完了。あとは POPFile をインストールするだけだ。POPFile 0.22.4 のクロスプラットフォーム版をダウンロード(ここにきて、unzip が入っていないことに気がついたので、rpm から取り出して /usr/bin/ にコピーした)。

まずは動作確認ということで、適当なフォルダに展開。ユーザ権限ではポート番号 1024 未満の番号は使えないので、

perl58 popfile.pl --set html_port=18080 --set pop3_port=10110

で起動させる。エラーもなくちゃんと起動することを確認したら、いったん終了させて iBook からアクセスできるように popfile.cfg を編集(--set オプションでまとめて指定してもよかったのだけど)。html_local と pop3_local をそれぞれ「0」に編集したら、今度は

perl58 popfile.pl

で起動させる。これで iBook からの接続ができるはず。ブラウザから TeraStation の IP アドレスを指定して、ポート18080 に接続してみると、(英語表示だけれど)見慣れた画面が。設定(Configuration)タブで言語を Nihongo に変更すれば、日本語表示もまったく問題なし。

ここでもう一度終了させ、iBook から popfile.db をコピーして起動し直すと、データベースの読み込みも問題ないことが確認できた。TeraStation で動作している POPFile 経由のメール受信も大丈夫。ここに至までの道のりは長かったが、最後はなんだかあっさりだった。これならすぐにでも常時稼働させることもできそうだ。

次は TeraStation が起動したときに自動的に起動するように設定してみたい。

インストールが終わってから気がついたのだけれど、Kakasi も Text::Kakasi も rpm パッケージが用意されていた。これらを使ったらもっと早かったのかもしれない……。

[]今日のあまつぶむら5 今日のあまつぶむら5を含むブックマーク

むしとりたいかい優勝!

ハッピールーム 50000 点突破!

化石コンプリートへの道は長い。

そういえば、住人のアラン氏(うちのむらにくるのは 2 回目)が、ざかいしは釣り好きだったという話をしてくれた。

crossingpointcrossingpoint 2006/06/21 19:13 Teraオモシロス!(←違う)なんか色々出来るとは聞いていましたがこんなことできるとは。
虫取り大会駄目でしたさ。というか起きたら時間切れ。うぅ。

amatubuamatubu 2006/06/26 20:42 結構おもしろいですよ、これ。一応 Linux マシンなんでいろいろできますし。かなり前から LinkStation を買おうかと思っていたのですが、勢い余っていってしまいました(汗)。
でかい虫がなかなか捕まえられないなぁと思っているうちに時間切れだったのですが、探している間にはなんとか抜かれなかったようで。

2006-06-18 TeraStation に Perl をインストールする(続き)

[]TeraStation に Perl をインストールする(続き) TeraStation に Perl をインストールする(続き)を含むブックマーク

Perl のインストールも無事できたので次はモジュールのインストールだ、と思ったのだけれど、モジュールのインストール後の動作テストでエラーが発生してしまった(どんなエラーだったか記録し忘れた……。確か、dynamic loading がサポートされていないとかそんなエラーだったはず)。解決するためには Perl をビルドし直せと書いてあるので、昨日の libm のこともあるし、インストールし直すことに。

./Configure の質問を注意深く確認してみると、

Do you wish to use dynamic loading? [n]

というものがあり、ここで「y」と答えなければならなかったようだ。その後さらに

The following dynamic loading files are available:

ext/DynaLoader/dl_aix.xs ext/DynaLoader/dl_mac.xs

ext/DynaLoader/dl_beos.xs ext/DynaLoader/dl_mpeix.xs

ext/DynaLoader/dl_dld.xs ext/DynaLoader/dl_next.xs

ext/DynaLoader/dl_dllload.xs ext/DynaLoader/dl_none.xs

ext/DynaLoader/dl_dlopen.xs ext/DynaLoader/dl_vmesa.xs

ext/DynaLoader/dl_dyld.xs ext/DynaLoader/dl_vms.xs

ext/DynaLoader/dl_hpux.xs

Source file to use for dynamic loading

というのも出てくる。どれがなんなのかさっぱりわからないが、勘で「ext/DynaLoader/dl_dlopen.xs」を選んでみた。

が、その後の make で

: undefined reference to `dlopen'

などのエラーがあらわれ、どうもライブラリが足りないらしことがわかった。あれこれ試行錯誤の結果、libdl.a と libdl.so のシンボリックリンクを /usr/lib/ に作成しておくことが必要だということがわかり、やり直す(ついでに nm のリンクも作成した)。すると、./Configure の最初の方で libdl を見つけてくれ、config.sh や Makefile の libs に -ldl が追加されることが確認できた(もちろん、-lm もちゃんと追加された)。

結局、

./Configure -Dprefix=/mnt/array1/share/usr/local -Dcc=gcc -Dusedl -Ddlsrc=dl_dlopen.xs -d

を実行することで、すべての質問をデフォルトでクリアできるようになった。これでビルドしたあとの perl -V の内容は、

Summary of my perl5 (revision 5 version 8 subversion 8) configuration:

Platform:

osname=linux, osvers=2.4.20_mvl31-ppc_terastation, archname=ppc-linux

uname='linux terastation 2.4.20_mvl31-ppc_terastation #5 mon mar 27 21:02:35 jst 2006 ppc unknown '

config_args='-Dprefix=/mnt/array1/share/usr/local -Dcc=gcc -Dusedl -Ddlsrc=dl_dlopen.xs -d'

hint=recommended, useposix=true, d_sigaction=define

usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef

useperlio=define d_sfio=undef uselargefiles=define usesocks=undef

use64bitint=undef use64bitall=undef uselongdouble=undef

usemymalloc=n, bincompat5005=undef

Compiler:

cc='gcc', ccflags ='-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',

optimize='-O1',

cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'

ccversion='', gccversion='3.3.2 20031218 (Vine Linux 3.3.2-0vl8)', gccosandvers=''

intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321

d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8

ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8

alignbytes=8, prototype=define

Linker and Libraries:

ld='gcc', ldflags =''

libpth=/lib /usr/lib

libs=-lgdbm -ldbm -ldb -ldl -lm

perllibs=-ldl -lm

libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a

gnulibc_version='2.3.2'

Dynamic Linking:

dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'

cccdlflags='-fpic', lddlflags='-shared'


Characteristics of this binary (from libperl):

Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO

Built under linux

Compiled at Jun 18 2006 09:58:25

@INC:

/mnt/array1/share/usr/local/lib/perl5/5.8.8/ppc-linux

/mnt/array1/share/usr/local/lib/perl5/5.8.8

/mnt/array1/share/usr/local/lib/perl5/site_perl/5.8.8/ppc-linux

/mnt/array1/share/usr/local/lib/perl5/site_perl/5.8.8

/mnt/array1/share/usr/local/lib/perl5/site_perl

となった。ちゃんと libs に -ldl や -lm が追加されていることや、Dynamic Linking の dlsrc が dl_dlopen.xs になっていることなどが確認できる。これで今度こそ大丈夫なはず。

/mnt/array1/share/usr/bin/perl なんていうパスをいちいち打ち込むのは面倒なので、/usr/local/bin/perl58 というシンボリックを作成した。

[]Perl モジュールのインストール Perl モジュールのインストールを含むブックマーク

Perl モジュールは CPAN を使わず、それぞれソースコードをダウンロードして展開、ビルド、インストールを行ってみた。POPFile で使うモジュールとして、

  • DBI 1.51
  • DBD::SQLite 0.31
  • HTML::Tagset 3.10
  • HTML::Template 2.8
  • TimeDate 1.16

をインストールしてみたが、これといってなんの問題もなくインストール完了(実際には DBI をインストールしたあとに問題があることに気がついて、Perl のビルドからやり直すことになったのだが)。

次は、Kakasi のインストールかな。

ブルースターブルースター 2006/06/18 18:45 こんにちは、ブルースターです。
なんか凄い事やってますね。
大容量ハードディスク(TeraStation)にPerlを入れてPOPFileを動かすとは。
僕なんて自分のパソコンにPOPFileを入れるのが限界なのに・・・(正確にはいいむらさんに助けてもらいましたが

話は大幅に変わりますが、僕Wesnothの翻訳チームに参加しようかと思い始めました。
まだ、翻訳に参加できるのは当分先の話ですが、とりあえず参加希望をしようかと思います。
ちなみにWesnothの翻訳は英検何級以上の能力があると望ましいのでしょうか???

それでは

amatubuamatubu 2006/06/18 22:12 いろいろと制約はありますけど、なかなか面白いですよ、これ。
もちろんデータ置き場にするのが主目的だとは思うのですが、バックアップそっちのけであれこれいじってます。

翻訳チームへの参加、いいですね。歓迎です。そろそろ 1.2 に向けてちゃんとしないといけないなと思いつつ、TeraStation いじりに忙しくてあまり手がつけられていません。ま、もう少しで POPFile を動かすところまでいけそう(正確にはもう動かすこと自体はできていますが)なので、そのあと POPFile の MeCab 関係のパッチを公開したら翻訳を再開しようと思っています。
ユニットの解説やシナリオのナレーション以外は基本的に会話なので、話の流れさえわかればざっとした意味はつかみやすいのかなと思います。だから読んでみてだいたい意味がわかれば大丈夫だと思いますよ。あとはそれをいかに自然な日本語にするか、というところで、私はいつもそこに苦労しています。ま、慣れもありますね。
私なんかは、あまり辞書的な意味にこだわらず、自分の解釈でいけばいいのかな〜なんて思っていますけどね。もちろんわからない単語は辞書を引きますけど。
どのくらい英語ができれば、というのは私にもよくわからないですが、直訳でもいいからまずは訳してみて、そのあとその訳を読んで自然な日本語にするにはどうしたらいいだろうと考えていくこと自体がいい勉強になるような気もします。

ブルースターブルースター 2006/06/21 18:38 返事が遅れてすみません。
こんにちは、ブルースターです。
ついにTerastationでPoPFIleを運営成功しましたね。

さて、Wesnothの翻訳ですが、数日前から定期テスト直前なのにも関わらず少しずつ翻訳をしているところです。
やっぱり日本語としてもおかしいところもあれば、文書全体として話し言葉としてなってないことがよくあります。
とりあえず何でもいいので訳して少しでも、ちゃんとした日本語&話し言葉になるように努力します。

それでは

amatubuamatubu 2006/06/26 20:47 ええ、なんとか動かすことができました。Perl のビルドが無事うまくいったのが大きかったですね。あれでなんかいけそうという気になりましたから。

そうですね。いったん一通り訳してみて、もう一度確認しながらいい訳を見つけていくのがいいと思います。本当は、訳し終わったあとに他の人にチェックしてもらうのがいいのですが、なかなか今の体制では難しいですね。私の作った訳も、今見るとあちこち直したいところが出てきます。追加された部分を新しく翻訳しながら、今までの変な訳もあわせて直さないといけないですね。

2006-06-17 TeraStation 購入

[] TeraStation 購入  TeraStation 購入を含むブックマーク

TeraStation を買ってしまった(新しいのの 1TB モデル)。データ類のバックアップ先にしようかなと。

  • セットアップ

マニュアルには Mac ではセットアップできないなんて書いてあったのだけれど、DHCP サーバのある環境では自動的に IP アドレスが取得されるのだからブラウザで管理画面につなぐことができれば何とかなりそうな感じ。液晶画面で IP アドレスを調べブラウザでつなぎにいくと、認証を求められ、ユーザ ID「admin」と初期パスワードを入力したらあっさり管理画面につながった。あとはここで設定を変更していけばそのまま使える。付属の CD-ROM を開封する必要もなければ、Windows マシンも必要ない。なんで Windows 搭載パソコンでないとだめ、なんて書いてあるんだろう。

確かに Windows からしかできないことも一部ある。一番大きいのは、ファームウェアのアップデートかな。これは実行ファイルつきのファームウェアをダウンロードしてきて Windows から実行するしか(少なくとも今のところは)なさそう。以前使っていた YAMAHA のルータなんかでは専用ツールを使わなくても tftp でファームウェアを転送することができたし、今使っている NEC のルータは管理画面から直接更新することもできる。なんかそういう別の手だても用意しておいてほしいものだ。ま、今回のところは、購入した時点の最新バージョンのファームウェアがインストールされているようなので、普通に使う分には問題なしか。

  • Mac OS X から共有フォルダを使う

Mac OS X から共有フォルダを使う場合、afp と smb の 2 つの接続方法が選べるのだけれど、afp では日本語などのファイル名も使えるけれどファイル名が 32 文字までしか使えない(それ以上長いファイル名のファイルはコピーできないし、共有フォルダ内にあっても見えない)、smb では長いファイル名が使える代わりに日本語などのファイル名は使えない(コピーするとファイル名が変更されてしまう)という制限がある。購入する前は、32 文字より長いファイル名なんてそうそうないだろうと思っていたのだけれど、いくつかのフォルダをバックアップしようとしたら、いきなり文字数制限にひっかかってしまった。

何かいい方法はないものかと探してみたところ、Sharity というソフトを発見(何か実覚えるのあるドメインだなと思ったら、iJect を作っていたところだ)。これを使って接続すれば、文字数制限もなく、日本語ファイル名も使用できるようだ。しかし、新しいバージョン(3.1)ではインストールして設定するだけではうまくいかない。インストール先(/Library/StartupItems/Sharity3/)にある、文字コード変換テーブルのファイル(etc/unicode 以下)のうち、クライアント側(client)の「ShiftJis.cfg」ファイルをサーバ側(server)にコピーし、これを使うように設定する必要がある。シェアウェアだけれど、5 ライセンスで $59 というお手頃価格なので、もう少し動作テストしたら登録することにしよう。

上記の Sharity でだいたい問題は解決したと思ったのだけれど、実はまだコピーできないファイルがあった。それは、アクセント記号つきのアルファベットなど、ShiftJIS では表現できない文字や、半角スラッシュ「/」など互換性のために使用できなくなっている文字が使われているファイルだ。数としてはあまり多くないが、まとめてコピーしたときにこういうファイルがひとつでも存在するとそこでコピーが止まってしまうのでやはり問題だ。上に書いた変換テーブルを編集することによって回避できそう(もちろんファイル名は変更されてしまうことになるので問題がない訳でもないが……)な気もするけれど、現時点ではうまくいっていない。最終的には、TeraStation にインストールされている Samba をアップデートするしかないのかもしれない。

  • 転送速度?

転送速度は、無線 LAN 経由となるためまったく大した速度は出ない(ベンチマークをとる気にもならない)。ま、大きなファイルを大量にバックアップ、なんてことは滅多にないのでそれほど問題はないだろう。それよりも、ケーブルから解放され、無線 LAN の先にデータ置き場がある、ということの方が重要だ。

[] TeraStation に Perl をインストールする  TeraStation に Perl をインストールするを含むブックマーク

さて、普通に使うことができるのはわかったので、もうひとつの目標(?)、TeraStation で POPFile を動かす、に挑戦してみる。試している人はいないかなと探してみたのだけれど見つからなかったので、ひょっとすると初の試みなのかもしれない。道のりは長そうだが、ぼちぼちやってみよう。今回は、PerlPerl 5.8.8)のインストールまでできたので、そこまでの話。TeraStation で遊ぼう というサイトを大いに参考にさせてもらった。こういう情報はとてもありがたい。

  • TeraStation に telnet で接続

TeraStation で遊ぼうによると、TS-TGL では Web からシリアルコンソールを有効にすることができるようだけれど、無線 LAN 経由で iBook G4 からつなげなければ不便で仕方がないので、この方法はだめ。そうすると、telnet などをつっこむ必要があるが、シリアルコンソールから作業するか、ファームウェアのファイルに手を入れることになる。なんだかどちらも面倒だなぁとあちこちさまよっていたら、某所で telnet と root アクセスの機能を追加したファームウェアを見つけたので、ありがたく使わせていただくことにする(何か他にも仕込まれていやしないかという懸念もあるが、まあそのときはそのときで(ぉぃ))。

ファームウェアのアップデートは、上で書いたように Windows マシンからしかできない。ここだけはあきらめて Windows マシンを起動。アップデート自体は、付属のインストーラ(?)を実行してパスワードを入力するだけのことで、さくさくっと完了。アップデート後の起動もまったく問題なし。

さっそく telnet で TeraStation に接続してみる(-l オプションでアカウントを指定できる)。これもあっさり成功。こんなに楽でいいのだろうか。root でログインする方法がわからず戸惑ったけれど、ドキュメントにちゃんと書いてあった。root でログインしたらまずはパスワード変更(passwd)。また、常に root でいるというのもいやなので、root 権限奪取を参考に、/etc/sudoers を作成。それが済んだらログアウトして一般ユーザでログインしてテスト。これも問題なし。手抜きをしただけあってなかなかいいペースだ。

telnet で接続してみたところ、Perl が最初からインストールされていることを発見。中で何かに使われているのかしら。しかし、バージョンは 5.6.1 で、必要なモジュールもほとんど足りない状態なので、やはり別にインストールするのがよさそうな感じだ。

  • 必要なプログラムやライブラリのインストール

必要なプログラムやライブラリ類は rpm ファイルから取り出したものをインストールするのが楽なようなので、rpm2cpio のインストールを参考に rpm2cpio と cpio をインストールした。Mac OS X では rpm2cpio コマンドが用意されていないので、こことかここあたりから Perl 版を入手して使うか、RPMinator などの GUI ツールを使って必要なファイルを取り出す。また、上記ページのリンク先はリンク切れになっているので、代わりにこのあたりから rpm ファイルを入手した。rpm2cpio も cpio もライブラリもそれほど大きなファイルではないようなので、/usr/bin/ や /usr/lib/ にコピーしてしまった。あとで容量の問題が発生するようであれば、他のところに移し替える必要があるかもしれない。

さらに、make やら diff やらのツールも足りないので、各種ツールのインストールを参考に make やら何やらをインストール。これも面倒なので /usr/bin/ などにコピーしてしまった。また、sort や comm、split なども必要なので、textutils-2.0.17-0vl4.ppc.rpm をダウンロードして /bin/ や /usr/bin/ へコピーした。

Perl は rpm からのインストールがうまくいかなかった(libperl.a がないと言われる)ため、先に gcc などをインストールして、ソースからビルドすることにした。gcc などのインストールは、gcc のインストール を参考にした。ここからは、/ にインストールするのはやめ、/mnt/array1/share/ にインストールして必要なファイルはシンボリックリンクを貼っていくことに。例えば、gcc は /mnt/array1/share/usr/bin/gcc-3.3.2 にインストールされるので、/usr/bin/gcc からここにリンクを貼る。また、as や ld、ar についても同じように。ライブラリ関係は、libopcodes-2.14.90.0.7.so、libbfd-2.14.90.0.7.so、libc_nonshared.a、libm.a、libm.so(libm はここで貼らなかったせいで、あとで Makefile などを編集するはめになった)を /usr/lib/ にそれぞれのファイル名のままリンクを作成した。

(2006/6/18 追記)nm と libdl.a、libdl.so のシンボリックリンクも作成しておく必要があった(nm は必須という訳でもないが)。libdl がないと、モジュールの使用の際に Perl の dynamic loading が無効になっている、と怒られることになる。

ヘッダファイルは数がたくさんありすぎて面倒なので、まとめてコピーしてしまった。use/include の中身を、フォルダも含めて /usr/include/ へコピー。また、/usr/include/asm がないとあとで怒られる(というか怒られてから気がついた)ので、/usr/include/asm-ppc のシンボリックリンクを、/usr/include/asm として作成しておく。ここまでで準備完了だ。

  • Perl のインストール

いよいよ Perl のインストール。ソースコードを展開し、./Configure(なぜか root で実行しないと、一時ファイルが作成できないなどと文句を言われるので、sudo ./Configure とした。

(2006/6/18 追記)/tmp へのアクセス権がないのが原因だった。先に sudo chmod +w /tmp として書き込み権限を与えておくことで解決)。

質問にはほとんどデフォルトで答えていけばよいが(というかまじめに答えようと思っても、意味が解らない質問が多くて困る(汗))、コンパイラgcc を、インストール先(prefix)は /mnt/array1/share/usr/local を指定した。ここまでは、上記手順を正しく行っていれば問題ないはず(実際にはここでのエラーをもとに上記手順を書いたようなものだが……)。

(2006/6/18 追記)./Configure -Dprefix=/mnt/array1/share/usr/local -Dcc=gcc -Dusedl -Ddlsrc=dl_dlopen.xs -d ですべての質問をデフォルトでクリアできる(usedl を指定しておかないと、dynamic loading が有効にならないようで、Perl モジュールを使うときにモジュールがロードできないと怒られることになる)。

make も、なぜか root 権限でないと怒られるので(考えたら作業フォルダのアクセス権に問題があったのかも?)これも sudo make で。./Configure の際にほとんどデフォルトで答えていたのが原因なのかどうかわからないが、sv.c のコンパイルで

sv.c:2141: error: `undef' undeclared (first use in this function)

といようなエラーが発生してしまった。どうも NV_PRESERVES_UV_BITS が undef となっているのが問題なようなので、Mac OS XPerl をインストールしたときの config.h を参考に、config.h の

#undef NV_PRESERVES_UV

#define NV_PRESERVES_UV_BITS undef

という部分を、

#define NV_PRESERVES_UV

#define NV_PRESERVES_UV_BITS 32

と修正した。これで、あとは問題ないはず(作業したときには、libm のシンボリックリンクを作り忘れていたので、ここで Makefile を編集して libs = の行の最後に「-lm」を追加する必要があった)。

make ではひとつエラーが出たようだけれど、なぜか (ignored) と書かれていたので、私も無視してしまった(汗)。make install 後、/mnt/array1/share/usr/local/bin/perl -V を実行すると、

Summary of my perl5 (revision 5 version 8 subversion 8) configuration:

Platform:

osname=linux, osvers=2.4.20_mvl31-ppc_terastation, archname=ppc-linux

uname='linux terastation 2.4.20_mvl31-ppc_terastation #5 mon mar 27 21:02:35 jst 2006 ppc unknown '

config_args=''

hint=recommended, useposix=true, d_sigaction=undef

usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef

useperlio=define d_sfio=undef uselargefiles=define usesocks=undef

use64bitint=undef use64bitall=undef uselongdouble=undef

usemymalloc=n, bincompat5005=undef

Compiler:

cc='gcc', ccflags ='-fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',

optimize='-O1',

cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement'

ccversion='', gccversion='3.3.2 20031218 (Vine Linux 3.3.2-0vl8)', gccosandvers=''

intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321

d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8

ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8

alignbytes=8, prototype=define

Linker and Libraries:

ld='ld', ldflags =''

libpth=/lib /usr/lib

libs=-lgdbm -ldbm -ldb

perllibs=-lgdbm -ldbm -ldb

libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a

gnulibc_version='2.3.2'

Dynamic Linking:

dlsrc=dl_none.xs, dlext=none, d_dlsymun=undef, ccdlflags=''

cccdlflags='', lddlflags=''


Characteristics of this binary (from libperl):

Compile-time options: PERL_MALLOC_WRAP USE_LARGE_FILES USE_PERLIO

Built under linux

Compiled at Jun 17 2006 09:32:50

@INC:

/mnt/array1/share/usr/local/lib/perl5/5.8.8/ppc-linux

/mnt/array1/share/usr/local/lib/perl5/5.8.8

/mnt/array1/share/usr/local/lib/perl5/site_perl/5.8.8/ppc-linux

/mnt/array1/share/usr/local/lib/perl5/site_perl/5.8.8

/mnt/array1/share/usr/local/lib/perl5/site_perl

と表示された。む、libs や perllibs に -lm がないのはあとで問題になるかもしれないなぁ。うーむ。Config_heavy.pl を編集しないといけないのかな。

(2006/6/18 追記)結局 Perl 自体を再インストールすることになってしまったので、libs = -lgdbm -ldbm -ldb -lm -ldl ということになった。また、Dynamic Linking 欄も、dlsrc=dl_dlopen.xs などに修正された。

Perl モジュールのインストールなどはまた次回にでも。

2006-06-12 Card Reader

[]Card Reader Card Readerを含むブックマーク

最近レジストしたソフト。T|X 用に 1GB の SD メモリカードを買ったのだけれど、ファイルをコピーするのが面倒で(うちでカードリーダ代わりに使えるものは Dimage X20 しかない)どうしたものかと思っていたところ、Card Reader というソフトを発見した。これを使えば、Palm 自身がカードリーダになってくれる。使ってみるとやはり便利で、すぐさまレジスト。こういう機能は最初からついていてくれてもよさそうなものだけど。

と思ったら、T5 とか LifeDrive には DriveMode というソフトが入っているとか。むー、T|X にはなぜ入っていないのだろう……。ま、もう買ってしまったからどっちでもいいのだけど。

ほかに filepc2pda というソフトも同じような感じのものなんだろうか。Windows だけかもしれないけど。

[]ペリカン…… ペリカン……を含むブックマーク

ペリカン不在の連絡票が入っていたので、書かれている電話番号(フリーダイアル)にかけてみると、携帯からではつながらないという。仕方がないので IP 電話からかけてみると、こちらもつながらない。フリーダイアルってだめなんか……と思い、裏面を見てみると、携帯や IP 電話からは別の電話番号にかけろと書いてある。うーむ、わかりにくい。

そちらの番号にかけてみると、機械が応答してくれた。こちらの電話番号やら送り状番号やらをプッシュさせられて……とやっていると、途中で突然切られてしまった。時間制限でもあるのか?

仕方がないのでパソコンから再配達を依頼しようとしたら、こちらは登録が必要らしい。その場で登録して申し込むと……、18 時以降は当日の配達は受け付けられないとの表示。時計を見ると、18 時 5 分……。機械だから融通が利かないのもしゃあないかとあきらめ、明日の再配達を申し込んだ。

いやまて、最初に電話した時間は(携帯の発信履歴からすると)17 時 56 分。電話が途中で切られなければ間に合っていたのではないか? なんか納得いかないので、一番下に書いてあった営業所に電話してみた。名字を何度も聞き間違えられて(三浦とか井村とか……)イライラしつつ頼んでみると、もう今日の配達はできないとのこと。どうしてもできないのかと聞いてみると、確認して折り返すと言われた。そしてしばらく待つと、電話がかかってきて、ドライバーが戻ってきてしまっているのでやはりだめとのこと。うーむ、人間でもあまり融通が利かないのか。

上に書いてあるフリーダイアルや自動受付センターではなくわざわざ営業所に電話しているのだし、明日の配達ならインターネット経由ですでに申し込んでいるのだからもう少しなんとかならんもんかと思うが、こんなもんか。「18 時より前に自動受付センターに電話して申し込もうとしたのに途中で切られてしまったんですが」とか言えば結果は変わったかもしれないけれど(汗)。結局、自動受付センターやら営業所やらに携帯から電話した電話代がよけいにかかっただけで、むなしさだけが残った。

次回からは、18 時より前にインターネット経由で申し込むことにしよう。

2006-06-08 今日のあまつぶむら4

[]今日のあまつぶむら4 今日のあまつぶむら4を含むブックマーク

リンゴ収穫!

お店でクイーンのかんむりを発見。なんと 1000000 ベル。いち、じゅう、ひゃく……って、買えるかい!

[]日本語処理の高速化 日本語処理の高速化を含むブックマーク

分かち書きのプログラムを変更してもあまり速度が変わらない件について、もう少し調べてみた。手元にあった POPFile の履歴から 256 通のサンプルを使って、どこで時間がかかっているのかを Benchmark モジュールを用いて調べてみる。

まず、日本語処理を無効にした場合と有効にした場合とでは、2 倍程度の差が見られた。このことから、日本語処理部分を最適化していくことによる目標は、現在の速度の 2 倍ということになる。

日本語処理のうち、時間がかかっている(通る回数が多い部分)というと、分かち書き処理と、文字コード変換処理あたりか。それぞれの部分でどのくらいの時間がかかっているかを調べると、分かち書き(Kakasi)処理で全体の約 5%、文字コード変換処理で約 40% 強がかかっていることがわかった。これらをあわせると 45% になるから、日本語処理の大半はこれらの処理にかかっているということになる。

意外だったのは、重いと思っていた分かち書き処理よりも、文字コード変換処理の方が重たい(実に 8 倍以上)ということだ。これでは、分かち書き処理を工夫したところで全体としてはたいして効果がないというのもうなずける(全体の 5% ということは、ここを極限まで最適化したとしても、100/95 ≒ 1.05 で 5% 程度の向上しか見込めないということになる)。それよりも、文字コード変換部分を工夫した方がよっぽど効果があるのかもしれない(もちろん、分かち書きの変更は、速度面だけでなく精度面の向上も期待できるわけだけれど)。

ということで、文字コード変換処理部分の最適化を考えてみた。この処理は大きくわけて、Encode::Guess で文字コードの推測を行う部分と、from_to で実際の変換を行う部分からなる。そして、なんと、前者の推測部分の処理に文字コード変換処理全体の 7 割〜 8 割近くの時間がかかっていた。ここをなんとか速く……とあれこれ試してみたものの、これといって大きなスピードアップはできなかった。

そしてふと、渡された文字列が半角英数字や半角記号のみの場合は何もせずにもどるようにしてみたところ、意外にも大きな効果が現れた。試行錯誤の結果、convert_encoding 関数の最初に

return $string if ( $string =~ /^[\r\n\t\x20-\x7e]*$/ );

という処理を加えることによって、なんと、文字コード変換処理部分の処理時間が約 1/10 に短縮されてしまった。メールヘッダや英文のメールはほとんどすべて上記に該当するだろうからその影響が大きかったということだろうか。日本語で書かれた長いメールなんかだと、よけいな処理が増えた分逆に遅くなってしまうということも考えられるだろうけれど、サンプルに選んだ 256 通のメールで試した限りでは(単純な割には)大きな効果があった(全体の 4 割強の時間がかかっていた処理が、1 割弱にまで短縮されたのだからその効果は大きいだろう。同時に、分かち書き処理にかかっていた時間に近づいたことから、この状態からならば、分かち書き処理変更による効果も(割合では)大きくなるはずだ)。

特に副作用などはないだろうと思うけれど、もう少し調べてみて、問題なさそうであれば MeCab パッチにマージして公開したいと思う(イメージは、分かち書きのデフォルトは Kakasi で、Windows 版インストーラでは従前通り Kakasi をインストール。MeCab インストーラはオプションで。切り替えは詳細設定タブから、という感じ)。

速度面はだいたいの傾向はつかめてきたような感じなので、次は精度比較かな。差がわかるような調査方法(しかも、面倒でないもの)がないか考え中。

KazabanaKazabana 2006/06/10 00:48 すいません、他所でこういう記事を見かけたのですが、案内先はSourceForge.jpで良かったでしょうか?

まいたうん: POPFileの落とし穴 → 分割メール
http://mytown.seesaa.net/article/18622963.html

amatubuamatubu 2006/06/11 16:25 すでに案内していただいたようですね。ありがとうございます。

2006-06-05 MeCab を使うパッチの続き

[]MeCab を使うパッチの続き MeCab を使うパッチの続きを含むブックマーク

少しずつ改良(?)を加える。

まず、文字種ごとに分割する処理が、POPFile の Windows 版でインストールされるモジュールだけでは動作しない(utf-8 関係のモジュールが必要なようだ)ことがわかったので、euc-jp のまま分割するようにしてみた。すると、utf-8 経由の場合よりも 2.6 倍(Text::Kakasi に比べると 14 倍くらい)くらい速くなったので、これでいこうと思う。

また、分かち書きに何を利用するかを変更するのにソースをいじらなければいけないというのはいかにもスマートじゃないので、Bayes.pm にも手を入れて詳細設定タブから変更できるようにしてみた。これで次のバージョンにマージする最低限の準備はできたかな。

何かミスがないかどうか、もう少し動作テストしてから公開予定。

速度と精度の比較はそのあとで。

[]今日のあまつぶむら3 今日のあまつぶむら3を含むブックマーク

マンボウ!

2006-06-04 POPFile で分かち書きに MeCab を使う場合の問題の回避策

[]POPFile で分かち書きに MeCab を使う場合の問題の回避策 POPFile で分かち書きに MeCab を使う場合の問題の回避策を含むブックマーク

前回書いた、HTML タグなどが分かち書きされてしまう問題についての回避策を見つけたので、メモ。

辞書の設定ファイル(char.def)において、文字種の定義が行われている部分(CODE(UCS2) TO CATEGORY MAPPING のところ)で、

# ASCII

0x0021..0x002F SYMBOL

0x0030..0x0039 NUMERIC

0x003A..0x0040 SYMBOL

0x0041..0x005A ALPHA

0x005B..0x0060 SYMBOL

0x0061..0x007A ALPHA

0x007B..0x007E SYMBOL

という部分がある。これらのカテゴリをすべて「ALPHA」に統一してしまうことにより、分割されてしまうことを防ぐことができる(もちろん、修正後、辞書を作り直してインストールする必要がある)。これがベストの対策かどうかはわからないが、少しテストしてみた限りでは問題はなさそうだ。

辞書を作り直すのが面倒という方のために、ここに上記修正を施して作った辞書を置いておく(文字コードはデフォルトの EUC_JP )。

[]分かち書きに MeCab を使うパッチを更新 分かち書きに MeCab を使うパッチを更新を含むブックマーク

分かち書きに MeCab を使うパッチを、MeCab 0.91、POPFile 0.22.4 に対応したものに更新した。(POPFile フォーラムへのポスト

前回からの主な変更点は、

  • MeCab 0.91 に対応(というか、0.8x では動かない)
  • POPFile 0.22.4 に対応
  • MeCab がインストールされていなければ Text::Kakasi を使うように
  • MeCab も Text::Kakasi もインストールされていなければ文字種ごとに分割(ただし漢字は 2 文字ごとに分割)するように

というところ。文字種ごとに分割する部分は、浅倉さんのkakasiなしで使うためのパッチを若干修正したものを取り込んでみた。

MeCab 0.91、mecab-perl (MeCab.pm) 0.91 がインストールされている必要があるが、若干の速度向上も見られるので興味のある方はどうぞ。使用する際には、上に書いたように辞書の編集をお忘れなく。

Kakasi に比べて大きな速度向上が見込めるのではないかと思っていたのだけれど、私の環境でテストした限りでは思ったほどの変化はないようだ。単純に分かち書き部分だけを比較すると、MeCab の方が 2 倍くらい速いのだが、POPFile でのメール処理全体で見ると 1 割速いくらいに薄められてしまう。精度面の影響も含めて、もう少し検証してみる必要がありそうだ。

CPAN に公開されている Text::MeCab というモジュールの方が MeCab.pm よりも速いということで気になっているのだけれど、分かち書きした結果だけを出力してくれるという機能はないようで、得られたノードの surface を順につないでいくという処理を書いたらかえって遅くなってしまった(当たり前か……)。私が見つけられていないだけかもしれないけれど、速く動くというのは非常に気になるところ。

[]上記パッチを Windows で使う場合 上記パッチを Windows で使う場合を含むブックマーク

上記パッチを Windows で使うためには、MeCab (mecab-perl) や辞書をインストールする必要がある。インストール方法を簡単に。先に POPFile を終了させ、念のため POPFile とデータをバックアップしてから。

必要な環境は、

  • POPFile 0.22.4 (Windows 版)
  • ActivePerl 5.8.x (必ずしも必須というわけではない。インストールしない場合の方法は後述)

動作確認は、

準備するものは、

POPFile から MeCab が使用できるようにするため、Perl モジュールを POPFile/lib 以下にコピーする必要がある。具体的には、

のようにコピーする(デフォルトインストールの場合)。

さらに、上でダウンロードしたパッチをコピーする(念のため、元の MailParse.pm は MailParse.pm.ori などの名前に変更しておく)。

  • MailParse.pm → C:\Program Files\POPFile\Classifier\MailParse.pm

ActivePerl がインストールされていない場合は、ppm でダウンロードされるファイルを直接ダウンロード&展開し、上記と同様に POPFile/lib 以下のフォルダにコピーする。

POPFile を起動させる。

よくよく考えたら、MeCab がちゃんとインストールされていなくても(Text::Kakasi を使って)動作するようにしてしまったので、エラーなく動いても MeCab を使っているかどうか確認するすべがなかった……。気になる場合は、MailParse.pm の

print "Use Japanese parser : $self->{japanese_parser__}\n" if ( $self->{debug__} );

という部分を探して、if ( $self->{debug__} ) を消去して、POPFile Message Capture utility(msgcapture.exe)を使って「Use Japanese parser : mecab」という表示が出るかどうか確認を。

時間ができたら、パッチも含めたインストーラを作成するつもり。

[]今日のあまつぶむら2 今日のあまつぶむら2を含むブックマーク

化石掘りはあと 1 つから進展なし。

ハッピールームは 40000 点突破。

住人からもらったリンゴの木が育ったかもしれない。

6 月から「なつ」になったようで、新しい虫や魚が出現。ホタルはいい感じだけど、蚊はうざったい。

DS カテゴリを作ってみた。

 | 
468854