2007/02/28

いまさらfvwm2 on RHEL4

RHEL4を使っていて、Gnomeに相当飽きてきたので、よせば良いのにfvwm 2.4系を導入してみた。
まぁmwmを試したけれど直系のopenmotifベースなので、lesstifにある仮想デスクトップが使えず、Meta+ShiftキーとFunctionキーを駆使してみたのの、仮想デスクトップがない事に挫折した。

lesstifを入れるのは止めて、fvwm-2.4.20のsourceに含まれているspecファイルを元にRPMを手元で作ってから導入したものの、昔使っていた設定ファイルは1.24rだったのでそのまま使えず、作り直すのが大変だった。

「だった」というか今でも作成中だけれど、system.fvwm2rcから不要な個所を削って、自分が使うFvwmPagerやらSCIMやらはNoBoarder,NoHandle、ウィンドウはDeskTop内部のWindowだけでMeta+TabでCirculateしたりする。
Meta+Control+Right-KeyでDesktopを移動できるのは、やはり便利だ。

苦労した割に動き自体はだいたいGnomeのデフォルトと似たような挙動だけれど、画面を最大限使えるところや、細かいところを自分好みにできるところは、時間の浪費という点と、コンピュータを使ってやろうという意欲を刺激する点で、いったいどうなんだろう。

日本語の入力は最近は資料も多いし、自分の使っている範囲なら、

XMODIFIERS=@im=SCIM
GTK_IM_MODULE=scim
ぐらいの設定を~/.xinitrcに入れれば足りてしまう。

近頃は xset やら、xsetroot やら使う事があまりなかったので懐しいかったけれど、たまにはこういうのも良いかな。xclockは適当に置いてから、xwininfoでgeometryを測って.fvwm2rcのInitFunctionに書いたりしている。普通にlinux入れて、gnome使ってという感じだと、こういうX11やcontribに含まれているようなレイヤーのプログラムって使わないんだろうな。
いまデスクトップを飾っているxclockやxeyesをジョーク以外で実用として使う機会はどんどん減るだろう。

NetNewsからゲームのアーカイブをダウンロードしてきて、uudecodeでtarballを作って、コンパイルして、ってそんな事が懐しいな。

でもコンピュータのパワーを自分のものとして活用できているか、何か効率よく処理できるようになったか、これを利用して創造的に生活しているか、そう考えると、コンピュータで遊んでいた頃からそんなに遠くには来ていないのだと思う。
30歳を越えてしばらく経つし、短い人生の中で道具をどう使っていくのかはちゃんと考えないといけないよなぁ。

やっぱりExcelやWordのような形のデータになった時点で何かが死んでいくような気がする。 Googleは埋もれた情報を探し出す事に長けているけれど…、それは問題を解決しているわけではないのだろう。

2007/02/25

sylpheedとbogofilterによるフィルタリング

元々メールはsylpheedを使っていたけれど、年始の休暇に使い始めたbogofilterはなかなかいい感じ。
使っている組み合せ:

  • sylpheed 2.2.10
  • bogofilter 1.1.3
  • prepare.rb 1.7 (kakasiの出力をUTF-8に再変換する修正を加えた)
  • nkf 2.0
  • kakasi 2.3.4
bogofilterは単語を空白で切り出してから頻度をチェックするからkaksiで日本語に空白を追加する例が良く知られている。

いろいろ試したけれど、bogofilterのunicodeサポートを止めてコンパイルしたりしても、

  • nkf -eでEUC_JPに変換
  • さらにkakasiで処理し
  • bogofilterに渡す
という流れだとうまく行かないところがあった。 RHEL4だからLANG=ja_JP.UTF-8だったりしたし、これが原因だろう。

いまの処理はだいたい次のような流れになっている。

  1. nkfでISO-2022-JPやASCIIなメールをEUC_JPに変換
  2. kakasiで分かち書きされた状態に変換
  3. 全体をUTF-8に再変換
  4. bogofilterでチェック、学習
ちなみにbogofilterはUTF-8のサポートを有効にしている。

で、これを行なうシェルスクリプトを作ってsylpheedに追加した。

#!/bin/ksh

PATH=${HOME}/bin:/usr/local/bin:$PATH
export PATH

cat $1 | prepare.rb | bogofilter
prepare.rbは~/binに、bogofilterなどはxstowを使っていて、/usr/local/bin にシンボリックリンクがある。 他にもallow用、deny用にスクリプトが必要なので最後を"bogofilter -n"に書き換えたりしたスクリプトをsylpheedに登録している。

prepare.rb (Kazuto Tominagaさん作)は、いろいろ欲しい機能があったので最後にnkf -wでUTF-8に変換するだけの改造を入れて使わせて頂いています。 どれくらいこの効果があるのか計る事は難しいけれど、base64でエンコードされたスパムメールは確かに来ている。
いま確認したところだと、全体がbase64されていてcatしても内容がわからない日本語メールを、そのままbogofilterに渡してもspamだと判定しちゃうので、すぐに効果があるとか、ないとかはいえないかな。 だけど、spamと判定されない条件もあるように思えて、これをbogofilterの前段で展開してくれる機能は大切だと思う。 bogofilterでbase64を展開して、単語を切り出そうとしても、kakasi使わないと役には立たないだろうし。
スパムメールを十分に学習したいまでは、受信したメールをまずbogofilterで処理するようにすることができて楽になった。

万が一間違ってspamボックスにメールを送り込んだ時のために、定期的にspamボックスをチェックして既読マークをつけているけれど…。 いままでのところは一件だけ間違って家のブロードバンドルーターが定期的に送ってくる通過したポート別のアクセス先、アクセス元のIPアドレスのリストだけがspamボックスに入っていた。

便利だけれど、使い始めからいきなりbogofilterに処理を先にさせてはいけない。 まずはルールベースでメールを振り分けるようにして順番に。
いまのところDBも爆発的な大きさになっていないし、何も考えずに使った最初はbase64のコードをそのまま読み込んでいるようにも見えて、収集つかなくなっちゃったけれど、いまは快適です。


$ du -ks ~/.bogofilter/wordlist.db
6052    /home/yasu/.bogofilter/wordlist.db

2007/02/23

クラスター爆弾の禁止について
- Reference: http://www.asahi.com/international/update/0223/014.html

朝日新聞その他のWebサイトで取り上げられているクラスター爆弾禁止の条約交渉を行なう国際会議で日本を含めた3カ国が宣言に参加しないという。

まぁ平和主義をことさら強調しようとする団体やら、いろいろな主義、思想に裏打ちされた理由を持って日本の姿勢を避難する向きもあるかとは思いますが、どんな理由にしろ日本がこういう取り組みに消極的な姿勢をアピールしたことは悲しいとしか言いようがない。

官僚が国益という名の元に縛りつけられているのか、そういう姿勢の人が会議に加わってしまったのか、一人で判断することではないでしょうから、霞が関全体の無関心さと米国の意向を強く意識した事がこういう結果を招いてしまったのかもしれないと妄想してしまう。

こういった取り組みに対して何でも良しとしてしまうのはレベルが低い事ではあるけれど、納得のいく理由が報道からは読み取れないのでは、米国の意向を(勝手に)考えて行動したというのは説得力があるだろう。

国際会議に参加する国の思惑もいろいろ、日本側の理由もいろいろあるだろうけれど、今回の判断は憲法の精神から乖離している気がする。 憲法はベースライン、このゲームのルール。

作り変えるという動きがあるけれど、憲法を読み直そうとはあまり言っていないようだ。 識者の判断や議論が重要という筋書になっている気がするけれど、国民を巻き込まない方向性は間違っている。

体型の変化に伴なって憲法という服を作り変えるのなら賛成するけれど、いまの自分のセンスと違うという理由で和服を洋服に作り変えてしまうような事は慎重に進めなければいけないし、その自覚がなければいけない。

軍事力以外にも平和や国際貢献で信頼を得る道はあるはずなのに、経済的なインセンティブによってこれからの国の方向性が決まるようにみえるのは悲しい。 最近の情勢からは長期的には国際的な経済における日本の重要性が低下することで、政治的な影響力も失う可能性がそれなりにあるのだから、それを恐れて既得権益の確保に走るよりは、精神的な崇高さを残して欲しいと思う。

2007/02/22

ゆびとま退会
- Reference: http://echoo.yubitoma.or.jp/weblog/publicity/eid/434318/

いろいろ言われていて、広報部も風評とはいうけれど、具体的な説明がなかったのが残念だった。 まぁ言われている内容からすればうかつにコメントできないと思いますが、それって…。

それに体制を変えてコンプライアンス委員長を県警本部長経験者から招いたとメールには書かれていたけれど、この委員長なる人物に対して個人的に信用できない雰囲気を感じてしまったので退会する事にした。

惰性で入ったままだったという事もあるし、いまはSNSがいろいろあってゆびとまじゃないといけない理由はないのかな。

2007/02/18

ubuntuでpostgresql+php

PHPとPostgreSQLの組み合せでubuntuで遊ぼうとしたところうまく動かなかった。 ありふれた組み合せだから自分のコードが原因だと思ってphpgroupwareをapt-getで導入してみたけれど、うまく動かなかった。

次に導入したpostgresql-7.4はPGPORT=5433になるし、再導入すると5434になるし、手で設定は戻せるけれど、apache2, php の設定はいじったし、phpgroupwareのコードもport指定できるように手を加えたりしたので、リセットしたくなった。

ubuntuはdebianベースだから、apt-getをフロントとしてdpkgでパッケージ管理ができる。

$ sudo apt-get --purge remove php4
で削除しつつ、
$ dpkg -l | grep php4
で消されていないパッケージを確認しながら関連するパッケージを全て削除した。

結局はpg_hba.confの中で指定していたTCP接続の際の認証方法"md5"に必要なパスワードが、pg_userテーブルにない事がわかった。 これは

ALTER USER user1 WITH ENCRYPTED PASSWORD 'hogepass'
のように登録しておけばいい。
それにapache2を動かすデフォルトのID 'www-data' のようにハイフンを含むIDは、createuserコマンドで登録できるものの、ALTER USERではパスワードを設定する事ができなかった。

2007/02/17

システム管理と自動化

GNUのcfengineといえば私が大学に入った頃から存在するシステム管理での自動化を推進するツールですが、まともに使われている現場についての情報を聞いた事がありません。
それなりにあるはずですが、システムの自動化というキーワードは本にもなりにくいのか、UNIXでかつ、エンタープライズ環境という切り口では、システム管理の本そのものをあまり見た事がありません。

もちろん製品やソフトウェアのマニュアルというものはありますが、所詮道具なので、それを料理するためのレシピ集というのはあまり見ません。 オライリーからもいくつか本は出ていますが、Unix Power Tools以外はそれほど使えないレシピ集に見えます。
特定の料理が口に合う人には良いと思うんですが、マニアックな人が多いためか、行列のできる料理はあまりないようです。 ハードウェアを見るのか、ソフトウェアだけをみるのか、なんでもかんでも管理者という一人の肩に落ちてくるのか、料理の味などどうでも良くなる状況もありそうです。

さてcfengineなどの自動化はシステム管理に関わる人間には必要な品質改善の方法です。
## いまいちポピュラーではないようですが…。 最近は死活監視などを行なうモニターツールが雑誌で解説されていましたが、製品を含めてこういったツール類はいろいろ使われているはずです。
##「死活」という言葉はその本で始めて知りました

この他にもrsync+sshを使ったファイル配布は、いたるところで行なわれているはずですが、こういった仕事をさせるためにad-hocな方法で設定を変更してはいないでしょうか。 sftpしか使わないのにsftp-serverをcommand=に指定していなければ、セキュリティ上問題があるかもしれません。
問題があるかどうかを判定する、基準すらないかもしれません。 上司やお客様から微妙な場合の判断基準を置く場所が与えられていないかもしれません。

ここでいうシステム管理者はサラリーマンを意図しているので、この仕事に就く道はいくつかあります。

  1. 新入社員として配属された子羊
  2. SIerとしてシステム開発に携わった後、ソフトウェアと供に納品された開発者
  3. 開発に疲れて下流に流れついた元開発者
  4. 効率化を行なう製品開発や研究の一環として運用にもときどき携わる研究者
まぁ皮肉が相当入っているのは自分自身は(1)に該当するからなので気にしないように。

とにかく、システム管理者が突拍子もないスキルを持っていない限り、仕事として始めたシステム管理という仕事について概要を知る方法も教えてくれる人もいないために、自分の仕事がシステム管理なんだと理解しても、それは無理のない事といわざるをえないように思えます。
独学で得た知識が十分に体系化されていなければ、自分のできる範囲だけで仕事を行なってしまい、よりよい方法を模索するなど夢にも思わないかもしれません。 またシステム管理者が将来を危惧し、モチベーションを落とす事があっても仕方がないでしょう。

そういった自分が知っている世界の反面教師として、ほかのシステム管理という仕事について情報を得る機会があっても良いのだろうと思います。
今日は"Principles of Network and System Administration"がAmazonから届いたので、しばらく読んでみようと思います。 有名なシステム管理の教科書ですが、冒頭のcfengineの作者が書いたものです。

2007/02/11

短かい睡眠時間の影響
- Reference: http://journal.mycom.co.jp/news/2007/02/07/382.html

MYCOMジャーナルの記事で勉強時間の短さよりも睡眠時間の短さの方が学力により強く影響する事が指摘されている。

これ自体は昔から感覚的に理解されてきた事のように思うけれど、関連する記事のリストは、PCやインターネットの利用やそれを狙ったテクノロジーがどう影響するのかについてという観点からまとめられているようだ。

自分でも30を過ぎたあたりからは、プレッシャーに弱くなった気がしていたけれど、気になる事があって眠らずに寝不足が続いた事で精神的に弱くなった事が大きな理由だったと思う。
年末の休暇から無理矢理早く眠り、無理矢理好きな本を読むようにしてからは調子が良くなってきた。 散歩もほぼ毎日しているし。

歳を取って物事の優先順位が変ってきたなぁとはしみじみ思う。

2007/02/06

インドの公害

NHKが2月5日の夜からBS1で、インドの反映と多国籍企業による経済活動についてのドキュメンタリーを放送している。
昨日はBBCで今日はデンマークのテレビ局が作成した番組で、インドの綿花農家とデンマーク企業の綿製品との関係が中心だった。 当然デンマークの企業の名前しか出ていなかったけれど、扱っている商品は普通に日本でもおしゃれな雑貨屋さんで見られるようなタオルやカーペットなどだったから、日本の会社でも同じような会社があっても不思議じゃないよねぇ、と思う。

原料になる綿花をインドの農家がデンマークの企業が現地生産して販売する農薬やその他の農薬をブレンドして使っている事などが放送されていた。農薬を使えば使うほど良いと考える様や健康な体を維持する事が難しい環境をみて、インドは経済的なインセンティブに翻弄されているようだ。
なにしろ農地の5%を占める綿花農家が農薬消費量の50%を担っていうし、インドの綿花を扱う企業全体にネガティブなイメージを持ってしまう。

日本人の基本的なメンタリティは臆病や怖がりといった気がするが、インドはどちらかというと非常におおらかにみえた。 それは番組から病気に侵されていくインドの人々の怒りや憤りが伝わってこなかった事が大きな理由だろう。
尊敬を受ける文化を持っていながら経済的な格差や学歴の差が大きい事は、インド人の生き方の差だと思っていた部分もあったけれど、工場で働く人達をみていると日本もそうだったように(今もそうか)、選択肢がなく貧困から抜け出せない状況にいる人達の様子が伝わってくる。