nDiki : sid
スポンサード リンク
Related term
2007年8月8日 (水)
■ メールボックスを Gmail に集約

Gmail は2004年12月に招待してもらって登録していたのだが、アカウントは Google の各種サービス用として使っていたものの、メールボックスはほぼ全く使用していなかった。 なんだかんだいって抵抗感があった訳で。
しかし、
- ホスティングサービスで利用しているメインのメールボックスが1アカウント10MBで、数日 fetch できないと溢れてしまう。PHS を解約した今、帰省の時などは fetch できない状況になりヤバイ。
- パケ・ホーダイにしたのを機にモバイル Gmail で外出先でも仕事関連のメールをチェックできるようにしたい。
ということからメールボックス Gmail に集約してしまうことにした。
@ 移行作業
やった事は以下。
@ アカウントのパスワードを変更
pwgen で自動生成したパスワードを使っていたのだが、今後入力する機会が増えるので覚えられるものに変更。
@ メーラ (Mew) のバージョンアップ
普段使っている MUA である Mew のバージョンを 4 から 5 にバージョンアップ (Debian sid の Debian パッケージが上がった時に、ホールドしたままだった)。
もれなく k-/ が Namazu から Hyper Estraier になっていた。
@ Gmail に普段使っているメールアドレスを登録
「Gmail から直接」および「Gmail の SMTP サーバ経由」で普段使っているメールアドレスを使って送信できるようにアカウントを登録。
Web の設定画面で追加するとメールで確認コードが送られてくるので、それを使って有効化する。
@ Gmail から POP3 でメールをローカルに取れるように設定
Gmail 側で POP を有効にした後、fetchmail で fetch できるようにする。
defaults
no mimedecode
pass8bits
poll pop.gmail.com
protocol pop3
user xxx@gmail.com
password xxx
ssl
fetchall
SSL を使用して fetch できるようしておく。
設定を始めるまでは「POP3 で Gmail アカウント使うのどうよ」と思っていたけれど、SSL 経由なのでちょっと安心した。
POP 後 Gmail 側ではアーカイブに移動するようしておく。
@ Mew から Gmail の SMTP サーバ経由でメールを送れるようにする
今まで SMTP over SSH でホスティングサービス経由等で送っていたものを、Gmail に TARTTLS を使って送れるように設定する。
mew-config-alist の中で
("default"
("user" . "naney")
("mail-domain" . "naney.org")
("smtp-server" . "smtp.gmail.com")
("smtp-user" . "xxx@gmail.com")
("smtp-ssl" . t))
送信メールアドレスは user と mail-domain で設定。Gmail のアカウント名は smtp-user で設定。 smtp-ssl も t にしておく。
その他メールアドレス毎に経路を変えて送ったりしていたのだが全部同様の設定にして Gmail 経由にする。
@ Mew から自分宛のコピーを Dcc から Fcc に変更
今まで Dcc で自分宛にコピーを送って管理していたのだが、Gmail では自分が SMTP 経由で送信したメールは POP できないらしい。 げっ。
ということで Fcc を
(setq mew-fcc "+sent")
から
(setq mew-fcc "+sent,+inbox")
に変更して、sent/ 以外に inbox/ にも複製を作るようにして対処。
@ 各メールボックスから Gmail へ転送設定
普段使っている各メールアドレスのメールボックスから、全て Gmail へ転送するように設定。 たまっていた分は今まで通りの方法で fetch してクリアしておく。
@ Google ツールバーの設定を変更
Gmail カスタムボタンを表示するように変更。 ツールバーから Gmail にアクセスできるようにしておく。
@ Google Desktop (Linux 版)の設定を変更
Gmail アカウントを登録。 Google デスクトップで Gmail 上のメールを検索できるようにしておく。
@ iモードから、モバイル Gmailへアクセスしてみる
試しに使ってみる。
モバイル Gmail から送られるメールの From: は Gmail でデフォルト設定したもので固定らしい。 ちょっと融通が効かない。
ま、プライベートのメールはiモードメールで送ってしまっても良いので、Gmail のデフォルトのメールアドレスを仕事用のに設定しておくことで対応しよう。
これで大体設定完了。
@ 移行したことによるメリット
メリットは以下。
- メールボックスの溢れの心配がなくなる。
- Gmail spam 機能が使える。- ローカルで bsfilter 使っているけれども、それよりも強力 (多分)。
- Web ブラウザからメール送受信ができる。- 自分の端末以外でパスワードを入力するのが怖いのと、自分の端末があるなら Mew から送受信してしまうからサブで。
- iモードからメールをチェックできる。
Gmail で言うところのスレッドについては、ちょっと慣れが必要そうだな。
@ 移行したことによるデメリット
- メールがローカルまで落ちてくるのが遅くなる。- 各メールボックスからの転送分のタイムラグがある。さらに Gmail では受信してもすぐ POP できるわけではないようだ。なので、Web ブラウザ上で受信を確認していてもそれに対してローカルの Mew で引用返信がすぐできなくなってしまった。
- リモートサーバ上にメールを置いておくことに対する不安感がある。
- iモードからメールをチェックできる。見なくてもいい時に読んでしまう可能性が。
なにはともあれ、一気に移行してしまった。 細かい所で違和感がまだあるけれども、いずれ慣れるだろう。 きっとその時は便利に感じるに違いない。
ようやくこれで本当の Gmail ユーザだ。
- Linux で使えるデスクトップ検索ツール Beagle でローカルファイ... (2006-08-08)
- ケータイ用にプライベート Wiki を設置 (2008-01-07)
- Linux 母艦ノート PC を使わずに仕事ができるかチャレンジ (2007-08-20)
- 一部のドメインのみ Gmail 経由ではなく SMTP over SSH ... (2008-09-04)
- Google Desktop Linux 版をインストール (2007-07-02)
2007年9月11日 (火)
■ Linux 上で Flex 2 SDK を使った Flash コンテンツ開発を開始

Flash コンテンツ開発については以前から興味があったんだけれど、手元 (Debian GNU/Linux BOX) で開発環境が構築できないので、ほとんど手をつけていなかった。 Ming を試してみたこともあったのだが、全然使いやすくなかったし。
しかしながらここ最近では Flex 2 SDK によって、Linux 上でも Flash コンテンツを開発できるようになった。 ということで技術調査をかねて開発環境構築と、コード書きを始めてみた。
まずはエディタとコンパイラと単体テストフレームワークがあれば開発できる。 Debian GNU/Linux sid 上で用意した環境は以下。
- JDK - sun-java6-jdk (6-02-1 Debian パッケージ)
- Ant - ant (1.7.0-3、Debian パッケージ)
- Emacs 21 (Debian パッケージ)
- Flex 2 SDK (2.0.1、Adobe よりダウンロード)
- Flex Language Pack (日本語、Adobe よりダウンロード)
- Flex Ant tasks (022607、Adobe Labs よりダウンロード)
- FlexUnit (code.google.com よりダウンロード)
- Flash Player 9 スタンドアロン版
エディタは素直に Emacs で。単体テストフレームワークは、FlexUnit (.85) をチョイス。
今回はビルドツールを何にするか迷ったけれど Apache Ant にすることにした。最初は Makefile を使ってサンプルをビルドしていたりしたけれど、今後 Autotools 使うのもどうかなと思って。
ドキュメントについては Adobe から結構な量で提供されているのでこれを見ればたいがい足りそう。
ということでぽちぽちプロジェクト作成。とりあえず SWF ファイルと同じところにあるテキストファイルを読み込んで表示するだけの MXML ファイルを作成して、build.xml を構築。
ほとんどの時間は build.xml 書きと、Subversion リポジトリセットアップに費された。
後は別途ちょっとサンプルで試してみた FlexUnit をプロジェクトに組み込めば発進できそうだ。
- Linux で使えるデスクトップ検索ツール Beagle でローカルファイ... (2006-08-08)
- ActivePerl で Ming (2005-02-23)
- Debian GNU/Linux で Dropbox (2008-09-16)
- JAlbum で Webフォトアルバム (2004-11-14)
- Windows でも Linux でも動くタスク管理ツール Task Coach (2006-01-12)
2007年11月7日 (水)
■ 今日のさえずり - Naney を表す四字熟語は「初恋泥棒」

- 08:26 左ワンハンドで携帯電話を取れるように、いつもと逆に腰の左にポーター、右にキーチェーンにした。すごい違和感。[mb]
- 12:58 「左デスクトップ PC」 + 「右 ThinkPad」 でデスクトップ PC 用マウスが邪魔なので、久しぶりに Synergy をインストール。 *Tw*
- 18:42 Naneyを表す四字熟語は「初恋泥棒」。いいじゃん。
- 18:45 本名を表す四字熟語は「完食宣言」。ごちそうさま。
- 22:35 sid アップデートかけたせいか Failed to connect to wpa_supplicant - wpa_ctrl_open: Connection refused というエラー。
- 22:36 自宅のアクセスポイントに WPA でつながらなくなった。しょうがないので、現在 FON 接続中。
- 22:46 wpasupplicant を 0.6.0-4 から 0.6.0-3 にダウングレードしてみたが関係なかった。
- MADWIFI で WPA を使うように変更 (2007-01-20)
- 今日のさえずり - 付録ミニ万年筆のラピタ見てきた (2007-12-08)
- Synergy (2002-11-14)
- switchDoubleTap で Synergy 利用時のストレス減少 (2007-11-07)
- Wi-Fi ファインダで Wi-Fi ホットスポットを探せ (2007-01-23)
2007年11月21日 (水)
■ 今日のさえずり - RTM 上でプライベートと仕事についてタグで分けることにした

- 12:39 RTM 上でプライベートと仕事について GTD の各リストをそれぞれ分けていたが、一緒にしたかわりにタグで分けることにした。 *Tw*
- 15:52 DBDesigner 4 での PostgreSQL 用のデータタイプの追加方法がようやくわかった。てっきりオプション関係の方で設定するのだと思っていた。 *Tw*
- 19:06 NTEmacs をポータブル HDD に展開して起動してみた。mount.exe が無いと出るけれど、まず使えそう。 *Tw*
- 19:07 PStart から NTEmacs 起動するように設定した。 *Tw*
- 19:32 最近、ヨドバシカメラ前の信号ちゃんと守る人増えたな。L:秋葉原[mb]
- 19:38 eneloop kairo、腹を温めるには力不足だが、ケータイ打つ前の手のかじかみとりにはいいな。[mb]
- 19:40 昨冬はパケ・ホーダイじゃなかったから気がつかなかったけど。[mb]
- 23:28 P3:PeraPeraPrv] を Debian/GNU Linux sid で動かしてみた。P3 から初ポスト。
- 23:35 Linux では Tweetbar 使っていたけれど、これからしばらく P3 にしてみよう。
- 23:44 スラッシュの位置間違えた。Debian GNU/Linux だ。
- 今日のさえずり - 上げ潮特大号 (2008-09-18)
- 今日のさえずり - JugemKey ID がいつもので取れない (2008-04-25)
- サブプロジェクトが使える GTD ツール ThinkingRock 2.0.1 (2008-06-23)
- Twitter を使い始めて1年 (2008-04-06)
- 今日のさえずり - 納豆にオリーブオイル+胡椒 (2008-08-02)
2007年12月8日 (土)
■ 今日のさえずり - 付録ミニ万年筆のラピタ見てきた

- 10:37 東京電力から電話があった。10~15分でブレーカ交換しにくる。[mb]
- 10:46 東京電力きてる。[mb]
- 10:48 電気止まった。[mb]
- 10:53 新しいブレーカで電気復帰。[mb]
- 10:58 ブレーカ交換終了して東京電力の人帰った。背の高い人だったけれど脚立は使ってた。[mb]
- 21:45 P3 2.14 にして起動。今までの P3.properties がエラーになったので、設定しなおした。
- 21:49 夕方本屋に行って付録ミニ万年筆のラピタ見てきた。表紙の万年筆の写真にぐっとくるものがなかったので、買うのやめた。
- 22:12 nearmiss 興奮してるな。
- 22:22 1カ月ぐらい前に sid で WPA つながらなくなったので、しばらく自宅でも FON 接続していたのだが、今日試してみたらまた WPA つながるようになってた。
- 今日のさえずり - Naney を表す四字熟語は「初恋泥棒」 (2007-11-07)
- 今日のさえずり - 背後に立たれていても気がつかないという恐れ (2008-09-09)
- 今日のさえずり - 金メダルのネックストラップには、ケータイ用のヒモが付い... (2008-08-24)
- 今日のさえずり - 除虫菊を栽培していただきます (2008-08-05)
- MADWIFI で WPA を使うように変更 (2007-01-20)
2007年12月19日 (水)
■ 今日のさえずり - Perl v5.10.0 を sid 上で make

- 09:14 腹のもやもや感があるものの、ほぼ回復。[mb]
- 12:42 同僚に朝昼晩ロキソニンを飲んでいる人がいた。 *Tw*
- 18:01 久しぶりにダーっとコードを書いてた(でも間に合わない)。今日の残りの時間は RTM 上のアクション実行にあてるか。 *Tw*
- 18:27 そういえば明日ボーナスが支給されるらしい。 *Tw*
- 19:56 クリエイトSDに寄ったけど、欲しい商品無かった。なんか最近品揃えがおかしくなってきていると思う。L:大井町[mb]
- 20:05 エキナセア茶買った。この冬の残りは、これで乗り切りたい。[mb]
- 22:21 P3 2.19 にアップデート。前の P3.properties に1行 noenterpost= を追加して起動。
- 22:58 Perl v5.10.0 を sid 上で sh Configure -de -Dprefix=/usr/local/perl-5.10.0; make した。make test しかけて風呂入る。
- 23:27 風呂からあがった。
- 23:28 Perl v5.10.0 の make test の結果: Failed 1 test out of 1382, 99.93% okay.
- 23:31 lib/Archive/Extract/t/01_Archive-Extract.t line 350 で失敗か。ま、とりあえず make install しておく。
- Twitter ベイジアンフィルタプロキシ (2007-12-29)
- 今日のさえずり - RTM 上でプライベートと仕事についてタグで分けることにした (2007-11-21)
- 今日のさえずり - 100g 減る前にアタック買いだめ (2008-05-28)
- 今日のさえずり - 「ドン吉くんの鳥グッズ展」終了間近 (2008-08-08)
- 今日のさえずり - 昭和通りでホームレスがトロフィーかかげてる! (2008-08-31)
2007年12月23日 (日)
■ aufs を使って Web サイトのドラフト作成する

この nDiki はローカル PC 上で Emacs で記事ファイルを書き、出来上がったら Unison で Web サーバと同期させる形でアップロード・公開している。
この方法で一つ問題なのは「書きかけの記事ファイル」の扱いが面倒なこと。 書きかけの記事ファイルがある状態で Web サーバと同期するとそれが公開されてしまうのでまずい。しかし完成している記事ファイルがあるならばそちらは同期して順次公開したい。 同期する時には書きかけの記事ファイルを退避させればいいのだが、思いっきり面倒。
ということで手元で公開用 (Web サーバ と同期用)のディレクトリツリーと、ドラフト用(ローカルの Web サーバでのレビュー用)のディレクトリツリーを分けられるようにすることにした。 この2つのディレクトリツリーの差分となる草稿・更新ファイルは aufs を使うことで簡単に管理することができる。
@ aufs
aufs は stackable unification filesystem の一つ。 同様なものとしては UnionFS がある。 UnionFS よりも aufs の方が評判が良いようなので今回は aufs を使うことにした。
aufs では複数のディレクトリ(ブランチと呼ぶ)をオーバーレイさせて、1つのディレクトリとして扱うことができる。 公開用ディレクトリツリーに、ドラフト用ディレクトリツリーをオーバーレイさせることで、元のディレクトリには変更を加えることなく透過的に変更できる仮想的なディレクトリツリーを作ることができる。
@ aufs のインストール
Debian GNU/Linux sid へはkernel 再構築とあわせて module-assistant でインストールした。
@ マウント
以下のように3つのディレクトリを作ってマウントする。
- /home/naney/www.naney.org
- 公開用ディレクトリツリー。本番モノ。公開サーバと同期する。
- /home/naney/draft.naney.org
- 草稿や修正されたファイルが書き込まれるディレクトリツリー。
- /home/naney/next.naney.org
- 公開用ディレクトリツリーに、草稿や修正されたファイルが仮想的にオーバーレイされたディレクトリツリー。プレビュー用。
mount -v -t aufs -o br:/home/naney/draft.naney.org=rw:/home/naney/www.naney.org=ro none /home/naney/next.naney.org
公開ディレクトリツリーは read only に、草稿用のディレクトリツリーは read - write になるように指定する。
これで /home/naney/www.naney.org 以下はいじらないまま、/home/naney/next.naney.org 上で草稿を書いたりファイルを編集したりすることができる。 /home/naney/next.naney.org 以下で追加したファイルや、変更したファイルは aufs が /home/naney/draft.naney.org 上に保存してくれる。
完成したものを /home/naney/draft.naney.org から /home/naney/www.naney.org に順次反映させ(移動し)、公開サーバへ同期することで公開していくことができる。
手元ではいろいろ書き散らせておけるのは、これは便利。
マウントオプションは他にいろいろあるようなので、こまかい設定は見直すかも。
@ その他
ファイルシステムレベルの処理なので、アプリケーション側では何も手を加えなくてもよいのが良い。
今回は公開用とドラフト用としたが、公開用と未公開用をローカルでミックスして表示するようにしたり、複数ユーザのコンテンツディレクトリを仮想的に1つにまとめたりと、いろいろ面白い使い方ができそうだ。
- aufs で inotify を使ってブランチ上の直接の変更をすぐに反映させる (2008-01-05)
- はいぱー日記システムで日記を開始 (2001-05-11)
- はてなブックマーク上の最新ブックマークを nDiki に (2005-05-16)
- skkinput がよく落ちるので uim-skk に乗り換え (2005-09-22)
- flickrfs で Flickr をマウントして写真をコピーする (2008-02-21)
■ Debian Linux kernel 2.6.23 をビルドする。

ThinkPad X31 に入れている Debian GNU/Linux sid の Linux kernel を随分アップデートしていなかった(2.6.17 を使用中)。 今日 aufs を入れついでに、一緒に最新(2.6.23)をビルドすることにした。 Debian kernel パッケージ構築は去年の8月以来。
今回は linux-patch-aufs を入れておいて、aufs 用のパッチを当てる。
#apt-get build-dep linux-image-2.6.23-1-686 #apt-get install linux-source-2.6.23 linux-patch-aufs #exit $mkdir -p /usr/local/src/linux $cd /usr/local/src/linux $tar jxvf /usr/src/linux-source-2.6.23.tar.bz2 $cd linux-source-2.6.23 $make menuconfig $make-kpkg clean $fakeroot make-kpkg --added-patches put_filp,lhash,splice,ksize,sysfs_get_dentry --revision=sebastian.1.0 kernel_image $cd .. $su #dpkg -i linux-image-2.6.23_sebastian.1.0_i386.deb
パッチが一部 2.6.22 用で 2.6.23 には当たらなかったが、よしとしておく。 ここで再起動。次に MADWIFI と aufs をインストール。
module-assistant prepare module-assistant auto-install madwifi module-assistant auto-install aufs
いつも入れている shfs も同様に入れようと思ったがこちらはコンパイルエラー。 頻繁に使うわけではないので、とりあえずほっておくことにする。
コンパイルが面倒なのでそろそろ Debian 公式のを使おうかと思ったが、試してみたところ
- ThinkPad X31 ではサスペンドしない。
- ThinkPad X31 では cpufreqd が動かない。
- aufs が 2.6.22 用しかまだない。
ということ NG。 やはり自前でビルドしなければならないことを再確認。
- Debian GNU/Linux sid 環境を新 HDD へ (2006-07-29)
- Debian kernel パッケージ構築 (2004-05-09)
- ThinkPad X31 と Linux kernel 2.6 (2006-02-22)
- Debian Linux kernel 2.6.15 ビルド (2006-02-23)
- 納品前日なのに /var が壊れた! HDDからのブートで Debian ... (2005-09-27)
2007年12月24日 (月)
■ 今日のさえずり - スーツに着た回数を記録する仕組みが欲しい

- 10:27 明日の浜松出張確定。
- 11:05 @lynmock P3 2.19 on Debian GNU/Linux sid です。Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
- 11:13 P3 2.21 にアップデートして起動。
- 14:36 クリスマスケーキ行列の中。[mb]
- 15:16 ニッコールクラブきた。[mb]
- 15:30 アトレ大井町2008年1月28日から改装。3月中旬リニューアルオープン予定。[mb]
- 16:36 クリーニングに出す目安用に、スーツに着た回数を記録する仕組みが欲しい。あるいは不潔インジケータ。[mb]
- Twitter ベイジアンフィルタプロキシ (2007-12-29)
- 今日のさえずり - 港区出身者とはニコニコ学園ネタで盛りあがる (2008-06-24)
- 今日のさえずり - RTM 上でプライベートと仕事についてタグで分けることにした (2007-11-21)
- skkinput がよく落ちるので uim-skk に乗り換え (2005-09-22)
- PAR (2004-07-19)
2007年12月29日 (土)
■ Twitter ベイジアンフィルタプロキシ

Twitter で following が増えてくるにつれて、タイムラインに目を通すのが大変になってきた(という程きちんと見ている訳ではないが)。 さっとタイムラインをなめて面白そうな情報をピックアップしたい時は、「おはよう」とか「風呂入った」とか「トイレ」とかは除外して読みたい(そういう書き込み自体は嫌いじゃないのだが、人生はあまりにも短い)。
Twit や P3:PeraPeraPrv では NG ワード指定ができて、それらを含むステータスは表示しないようにできるのだが、Twitter の書き込みは揺らぎが激しすぎて指定しきれないという弱点がる。
ということでベイジアンフィルタでフィルタリングしてみることにした。
自前で Twitter クライアントを作る気はないので、proxy の形でさっと実装してみた。
#!/usr/bin/perl
use strict;
use warnings;
use HTTP::Proxy;
use HTTP::Proxy::BodyFilter::complete;
my $proxy = HTTP::Proxy->new(port => 8088);
$proxy->push_filter(response => HTTP::Proxy::BodyFilter::complete->new,
mime => 'application/xml');
$proxy->push_filter(response => Bsfilter->new,
mime => 'application/xml');
$proxy->start;
{
package Bsfilter;
use File::Temp qw/tempfile/;
use XML::XPath;
use base qw(HTTP::Proxy::BodyFilter);
sub filter {
my ($self, $dataref, $message, $protocol, $buffer) = @_;
return unless defined($$dataref) && $$dataref ne '';
eval {
my $xml = XML::XPath->new(xml => $$dataref);
my @nodes = $xml->findnodes('/statuses/status/text/text()');
return unless @nodes;
for my $node (@nodes) {
my $text = $node->getNodeValue;
if (is_NG($text)) {
$node->setNodeValue("[NG] $text");
}
}
$$dataref = qq(<?xml version="1.0" encoding="UTF-8"?>\n);
$$dataref .= $xml->get_context->toString;
utf8::encode($$dataref);
};
if ($@) {
warn $@;
}
}
sub will_modify { 1 }
sub is_NG {
my ($text) = @_;
my ($fh, $filename) = tempfile();
utf8::encode($text);
print $fh $text;
close($fh);
my $result
= system(
"bsfilter --homedir ~/.twitter-bsfilter --ignore-header --auto-update $filename"
);
unlink($filename);
return !$result;
}
}
@ HTTP proxy の作成
Perl で HTTP proxy を作ろうとして真っ先に思い浮かんだのは POE だけれど、ちょっとヘビーなので今回は HTTP::Proxy をチョイス。 もともとフィルタリング HTTP proxy を作ることを念頭に置いた Perl モジュールなので今回の目的にぴったり。
1つはまった点といえば、filter の呼び出しがレスポンス全てを取得してからではなく一部分ずつの呼び出しになるところ。その仕様に気がつくのにちょっと時間がかかってしまった。 例えば XML 形式のレスポンスをフィルタしようとしても、普通に HTTP::Proxy を使うと XML の一部ずつがフィルタに渡されるため、XML のパースがうまくいかない。
これについては HTTP::Proxy::BodyFilter::complete を使うことで、まとめてフィルタに渡せるようになった。
@ レスポンスの処理
Twitter のタイムライン取得については P3:PeraPeraPrv が XML 形式で取得しているので、そのタイプのレスポンスをフィルタするようにした。
XML::XPath でステータス部分を抜き出して NG 判定し、NG であれば先頭に [NG] を追加する。 これで Twitter クライアント側で [NG] を NG ワード指定すれば、表示されないようにすることができる。
@ bsfilter による NG 判定
NG 判定は普段メールの spam フィルタとして使っている bsfilter を使った。 単純に system 関数で呼び出して結果を取得するだけ。
今回は対象がメールではないので --ignore-header を指定。また自動的に学習するように --auto-update を指定。 それと普段メールのフィルタリングに使っているのとは bsfilter のデータベースを別にしたいので、--homedir も指定しておく。
@ NG と非 NG の学習。
NG ワードを twitter-NG.txt に、非 NG ワードを twitter-clean.txt に書いて以下のコマンドを実行。
bsfilter --add-clean --ignore-header --homedir ~/.twitter-bsfilter twitter-clean.txt bsfilter --add-spam --ignore-header --homedir ~/.twitter-bsfilter twitter-NG.txt bsfilter --update --homedir ~/.twitter-bsfilter
自分の環境 (Debian GNU/Linux sid)では、UTF-8 で書いておいて問題なかった。
@ フィルタリングしてみる
あとは先の proxy を起動し、P3:PeraPeraPrv でプロキシとして localhost:8088 を指定すれば OK。
タイムラインを取得するたびに bsfilter が動いて NG なステータスには [NG] が挿入される。
@ フィルタリングの精度
これについては、まだまだチューンの必要ありかな。
- 事前の学習データが少ない。
- --auto-update していることもあり、最初に NG 判定が多いとそちら側に強化されすぎる。
- 毎回 bsfilter を呼んでいるため、同じステータスが何度も学習される。
まだ使える精度まで上がってないけれど、教師データを増やせばそれなりにいけるかもしれない。
proxy の枠組ができたので、(@~は抜いてから bsfilter に渡すとか、前後の文脈も含めるとか)いろいろ試して遊べそうではある。 別に bsfilter にこだわらず、正規表現による判定などをしてもよいし。
この辺り P3 は Java で書かれているので、プラグインを書いて拡張できるよう将来になると面白いなと思ってみたり。
- reStructuredText いいんじゃない? (2005-11-22)
- 定型書式で内容を記述していくのに便利な形式は? (2005-11-21)
- POE で HTTP プロキシサーバ (2005-10-15)
- 今日のさえずり - サーバ止めた。この静寂がたまらない。 (2008-11-16)
- PAR (2004-07-19)
2008年1月5日 (土)
■ aufs で inotify を使ってブランチ上の直接の変更をすぐに反映させる

最近 aufs を使って Web サイトのドラフトを作成する(記事)ようにしているが、使っていて1つ不具合が出てきた。 今の設定だと、ブランチ側(今回の使い方だと公開ディレクトリツリー)のファイルを直接変更しても、aufs のキャッシュによりマウントしたディレクトリ側ではその変更されたファイルではなく、変更される前のファイルが見えてしまう。 これはちょっと不便。
マニュアルを見るとマウント時のオプションで udba=inotify を指定して inotify を使うようにすれば良いとのこと。
早速指定してみたがマウント時にエラー。 どうやら udba=inotify を使えるようにモジュールをコンパイルしていなかったようだ。
@ aufs モジュールを作り直し (Debian GNU/Linux sid)
aufs のマニュアルを見ると CONFIG_INOTIFY と CONFIG_AUFS_UDBA_INOTIFY を有効にする必要があるとある。前者は Linux kernel ビルド時に指定済み。
後者を有効にして aufs を作り直す必要がある。
module-assistant だと設定の仕方がわからないので、aufs.tar.gz2 展開して直接 make-kpkg module_image でビルドするようにした。
aufs.tar.gz2 を展開後、debian/conf.mk を編集して
- export CONFIG_AUFS_HINOTIFY = y 行を追加
- EXTRA_CFLAGS 指定のところで、-DCONFIG_AUFS_HINOTIFY を追加
とし、後は普通に make-kpkg を使う。 マニュアルとは設定名/マクロ名が違うので、ちょっとはまったがこれで udba=inotify を使えるようになった。
@ マウントする
前回のマウント方法をちょっと修正して以下のようにする。
mount -v -t aufs -o br:/home/naney/draft.naney.org=rw:/home/naney/www.naney.org=ro,udba=inotify none /home/naney/next.naney.org
これで /home/naney/www.naney.org 以下を修正すると、すぐさま /home/naney/next.naney.org の方でも反映されるようになった。
メデタシメデタシ。
- Debian Linux kernel 2.6.23 をビルドする。 (2007-12-23)
- aufs を使って Web サイトのドラフト作成する (2007-12-23)
- DBD::Oracle 1.16 を Debian GNU/Linux s... (2005-05-19)
- 古い Crypto++ は古い GCC で (2006-02-07)
- sid の CinePaint がプラグイン読み込みでエラー (2006-04-15)
スポンサード リンク
Related web page
In<strong>sid</strong>e AdSenseの更新情報をメールでも受信できます!ご登録はこちらから。また、AdSenseのユーザー同士の交流スペース、AdSenseヘルプフォーラムもご利用ください。 2008年10月17日 Posted by In<strong>sid</strong>e AdSense チーム 現在 Google AdSense では、たくさんの AdSense プロダクトを提供しています。 プロダクトにより、1ページにつき設置できる数が違うため、覚えにくいと思われる方もいらっしゃるかとhttp://adsense-ja.blogspot.com/2008/10/adsense-123.html
命名規則http://piro.sakura.ne.jp/latest/blosxom/topics/2008-10-08_naming.htm
GNUプロジェクトの創始者であり、「ソフトウェアの自由」を強く主張しているRMSことRichard M. Stallman氏が、英Guardian紙の取材に対して「クラウドコンピューティングは誇大広告であり、罠(trap)だ」との発言を行い、話題になっている。 Stallman氏によると、「クラウドコンピューティングはプロプライエタリな(自由でない)ソフトウェアやシステムがいままで繰り返してきたのとhttp://slashdot.jp/it/article.pl?sid=08/10/02/037222
いつだったか、僕の撮った写真を友人に見せようとして「素人が撮った写真やん(笑)(だから見たくない)」と言われたことがあった。 あれ以来、「綺麗な構図」とか「面白い形」とかそういう物を意識して写真を撮ることが減ったし、そういう写真を人に見せることもなくなった。自分の「これを綺麗だと思った」とか「これを面白いと思った」というセンスを「くだらないhttp://piro.sakura.ne.jp/latest/blosxom/topics/2008-06-04_shirouto.htm
suebo 曰く、 Googleにて無料で公開されている画像管理ツールPicasaのLinux版、Picasa for linux 2.7がbetaがひっそりとGoogleのLabsで公開されている(ダウンロード)。以前はGoogleのサイトからMore>LabsでPicasa for Linuxがあったが、なぜかいまはなくなっていて到達できない。 インストール後、一番に気がついたのが日本語のディレクトリが表示されること。Picasa for linux 2.2では日本語が全て□でhttp://slashdot.jp/linux/article.pl?sid=08/01/09/0543242
Anonymous Coward曰く、 やや旧聞に属するが@ITの記事によると、オープンソースのデータベースサーバとしてずっとMySQLの後塵を拝しつづけてきたPostgreSQLが、最近になって急速に勢力を伸ばしていると言う。2006年のIOUG調査ではPostgreSQLを使っている割合はわずかに9%だったが、2007年10月に発表された最新の調査結果では(依然74%はMySQLユーザであるものの)PostgreSQLの利用は20%にまで拡大しhttp://slashdot.jp/developers/article.pl?sid=07/11/12/0750237&from=rss
タブをバカスカ開く人のために、いろんなアドオンが開発されている。とりあえず僕が存在を認識している物を、分類して列挙してみた。 素のFirefoxでは、タブが多くなると画面外に隠れるタブが出てきてしまい、タブを探したりタブを切り替えたりといった操作が非常に面倒になる。大量のタブをいかにして管理するか、という観点から考えられるアプローチはこんな感じだろうhttp://piro.sakura.ne.jp/latest/blosxom/mozilla/extension/2007-10-30_toomanytabs.htm
先日、MySQL Conferenceという催しに行ってきました。そこでMySQLの開発者のBrian Aker氏およびMichael Widenius氏と話をする機会があったのですが、やっぱしトップランナー達と議論するのは刺激になるなぁと思ったmikioです(その時の資料)。さて、一連の連載も今回が感動の最終回で、TCの性能上の蘊蓄をお届けいたします。 なぜdynamic hashingを使わないか Brianさん達とTCの実装についてもhttp://alpha.mixi.co.jp/blog/?p=98
去る6月末に正式リリースされた、GNU GNU General Public Licenseバージョン3 (GPLv3)の日本語全訳を公開する。読みやすさ、理解のしやすさを旨に訳出した。訳に関する意見や誤訳の指摘は、本記事へのコメントとして寄せて頂けるとありがたい。http://opentechpress.jp/opensource/article.pl?sid=07/09/02/130237&from=rss
予定を立てた途端にやりたくなくなる症候群に堪えて連載を続けるmikioです(こんな私でもエアーマンくらいは倒せます)。前回はDBMの基本について説明しましたが、それを忠実に実装しても実際には使いものにはならないことにも触れました。今回は、実用的なDBMに進化すべく、Tokyo Cabinet(およびその前身のQDBM)で考えた工夫についてお話します。 ハッシュ関数についてもう少http://alpha.mixi.co.jp/blog/?p=86
■よく検索されるキーワード
提案書(65) perl(54) 書き方(49) torrent(49) linux(40) debian(35) アジェンダ(33) 使い方(31) windows(31) x31(30) svn(26) ssh(25) tc-1(25) サンプル(23) usb(22) java(22) ganttproject(21) mp980(20) 画像(20) tortoisesvn(20) インストール(19) 手帳(19) cvs(19) 壁紙(19) a6(18) thinkpad(17) subversion(16) 石垣祐馬(16) ほぼ日手帳(16) 作り方(16) 修理(16) 動画(15) 日本語(15) 充電式カイロ(15) ノート(14) ダイソー(14) 方眼(14) ヨドバシ(14) リフィル(13) 秋葉原(12) ダウンロード(12) apache(12) アジェンダとは(12) iwgp(12) 設定(12) c#(11) mp3(11) ヨドバシカメラ(11) テンプレート(11) 無線lan(11) ubuntu(11) nikon(11) dropbox(11) システム手帳(11) porter(11) クラリチン(10) 筆まめ(10) centos(10) ヤマダ電機(10) window(10) ポメラ(9) フリー(9) リポジトリ(9) イメージテック(9) wiki(9) flex(9) xampp(9) フォーマット(9) terastation(8) flash(8) gmail(8) ドラマ(8) proxy(8) rcs(8) 無料(8) 温度計(8) トランサミン(8) constant(8) truecrypt(8) google(8)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.10527s / load averages: 0.17, 0.29, 0.31
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク