本日 www.naney.org に、Namazu によるサイト内検索を追加。 以前公開していたサーバでは検索を提供していたのだが、今ホスティングサービスに移ってからは設置していなかった。
実は13日に一度、ports でいれようとしたのだが(サーバは FreeBSD)、一般ユーザー権限で自分のホームにいれる方法がよくわからず。
結局、依存しているライブラリ等から順番にインストールすることにした。 インストール自体はインストール先の変更以外に特に問題なし。 一応メモ。 まずは nkf。
$mkdir NKF $sh nkf192.shar $make $mkdir $HOME/local $mkdir $HOME/local/bin $cp nkf $HOME/local/bin $cd NKF $perl Makefile.PL PREFIX=$HOME/local INSTALLSITELIB=$HOME/local/lib/site_perl INSTALLMAN3DIR=$HOME/local/man/man3 $make $make install
次に kakasi。
$tar zxvf kakasi-2.3.2.tar.gz $cd kakasi-2.3.2 $./configure --prefix=$HOME/local $make $make install
次は Text::Kakasi。
$tar zxvf Text-Kakasi-1.04.tar.gz $cd Text-Kakasi-1.04 $perl Makefile.PL PREFIX=$HOME/local INSTALLSITELIB=$HOME/local/lib/site_perl INSTALLMAN3DIR=$HOME/local/man/man3 LIBS=-L$HOME/local/lib INC=-I$HOME/local/include $make $make install
そして Namazu。 最初に パッケージに同梱されている File::MMagic をインストールする。
$tar zxvf namazu-2.0.5.tar.gz $cd namazu-2.0.5 $cd File-MMagic $perl Makefile.PL PREFIX=$HOME/local INSTALLSITELIB=$HOME/local/lib/site_perl INSTALLMAN3DIR=$HOME/local/man/man3 $make $make install $cd .. $./configure --prefix=$HOME/local --with-pmdir=$HOME/local/lib/site_perl $make $make install
これで、$HOME/local 以下に Namazu がインストールできた。
後は cron で定期的にインデックスを更新するように設定。 namazu.cgi を設置し .namazurc を書き、テンプレートを編集してできあがり。
一番時間がかかったのは、設定とかの FTP 転送待ちだったりして。
現在進行中のプロジェクトの一つがそろそろ大詰め。 ドキュメント書きに突入。 前回までは過去の方法を踏襲して MS Word ベースだったのだが、自分がマネージャーになった今期からは全面的に TeX ベースへ移行させる。
を用意。 Makefile は時間がなかったので GNUmakefile と Makefile を作って Linux 用と Windows 用の両方作ったのだが、後々面倒なので一本化したい。
spam メールは procmail で bogofilter (with nkf + KAKASI) しているのだが、以前からちょっと挙動が変である。 すり抜けてきた spam メールをあらためて、bogofilter で判定してみると spam メール判定になることがしばしば。
ということで、Mew を 4.2 にアップデートしたついでに spam フィルタを bsfilter にかえてみることにした。
sid のパッケージはちょっと古いので、tarball を持ってきて /usr/local の下に展開。
.procmailrc に以下を追加:
#------------------------ # bsfilter #------------------------ :0 HB: * ? /usr/local/bsfilter-1.0.7/bsfilter/bsfilter $HOME/Mail/newspam/.
それから Mew の方は /usr/local/bsfilter-1.0.7/mua/mew4/ の下の emacs.el と mew.el をロードするようにしておく。
今回は収集済みの spam メールをまとめて登録することなく、新着のもののみポチポチ登録しているのだがそれでも十分振り分けてくれる。
使い始めの感蝕としては、 bogofilter より bsfilter の方が積極的に spam メール判定になっている感じだ。bigram による傾向なのかな?
Git の contrib/diff-highlight を使って行単位ではなく文字列単位で異なる部分をハイライトしてくれるという記事を教えてもらった。
自分の設定では .gitconfig の color のところは
[color] branch = auto diff = auto grep = auto interactive = auto showbranch = auto status = auto
となっていて pager 指定は .bashrc で
if command -v lv > /dev/null; then export GIT_PAGER='lv -Ou8 -c' fi
と今している。diff-highlight*1 を PATH の通っているところにおいて、
GIT_PAGER='diff-highlight | less -R' git diff HEAD~..HEAD
とかすると文字列単位で差分が反転色で表示される。
lv だと \x1b[7m で反転させるとそれまでの色属性が落とされてしまうのか、行のそれ以降が黒白/白黒になってしまう。 lv v.4.21*2 のソースコードを軽くみたけどちょっとしっかり読まないと対応できなさそうなので、今日は諦め。
diff-highlight は Perl スクリプトなので、こちらでハイライト開始とハイライト終了時のエスケープシーケンスをいじって lv で見栄え良くなるようにするのが簡単でいいかもなあ。
*1Debian GNU/Linux だと /usr/share/doc/git/contrib/diff-highlight/diff-highlight にある
*2(Debian GNU/Linux だと v.4.51.a が入っているので、見たのはちょっと古いバージョンだった模様)
Git の contrib/diff-highlight を使って行単位ではなく文字列単位で異なる部分をハイライトしてくれるというやつ、日本語のいろいろな文字エンコーディングで使えるように lv と組合せようとしたら駄目だったんだけれど、「nkf + less」だといいと教えてもらったので設定してみた。
.bashrc での GIT_PAGER 設定を以下のように変更。
if command -v diff-highlight > /dev/null && command -v nkf > /dev/null; then export GIT_PAGER='diff-highlight | nkf -w | less -R' elif command -v lv > /dev/null; then export GIT_PAGER='lv -Ou8 -c' fi
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。
#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。
ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。
※内容は個人的見解であり所属組織とは関係ありません。