トップ 最新 追記
RSS feed

ただのにっき


2000-10-28(土) [長年日記]

Ruby 1.6

Ruby 1.6.1にしたら、今まで動いていたスクリプトが一部動かなくなっていてちょっと慌てる。こんなメソッド呼び出しがparse errorに。

foo.bar( p1, p2, )

まぁ、こんなよけいなコンマを付けている方が悪いのだが。でもArrayは余分なコンマがあってもいいんだよなぁ。

eGroups対策

さて、昨日から購読しているVisor-Village ML、ただでさえS/N比が低いのにeGroupsの広告が全メールの末尾に入ってひっじょーにうるさい。これ、受信するときに自動的にカットしちまおう(笑)。例によって自分で作るのは必要最小限にして、既存のツールを活用する。まず、広告部分をカットするフィルターをRubyで書く。eGroupsの広告は「---------- eGroups Sponsor ---------」みたいなセパレータの後ろに入っているので、こんな感じでいい(cut-egroupsスクリプト)。

#!/usr/bin/ruby
mail = ARGF.read
body, ad = mail.split( /^-+ eGroups Sponsor -+.*$/ )
print body

あとはprocmailやqmailの組み合わせで行く。まず、~/.procmailrcをこんな感じに。

:0
* ^TO_.*visor-valley@egroups.co.jp
| cut-egroups | qmail-inject sho-visor-village@spc15.tada

これで、Visor-Village MLのメールは、cut-egroupsを通って広告を排除されてからqmailのローカル配送コマンドqmail-injectによってsho-visor-village@spc15.tadaというアドレスに転送される。さらに~/.qmail-visor-villageというファイルを作って以下の1行を書いておけばおっけー。

./Maildir/.gadgets.visor-valley/

Maildirのgadgets/visor-villageというメールボックスに保存する設定だ。qmailは「ユーザ名-hogehoge」というアドレスをこんな風にユーザ権限で作れるから便利。これでうるさい広告とおさらばである♪


2000-10-27(金) [長年日記]

アジアカップ

眠い……。アジアカップは微妙に遅い時間にやるから困る。さすがに昨日は最初の1点が入ったところでビデオ回して寝ちゃったけど。あれからけっこう接戦だったようで。しかし、生まれ変わったかのように強いな、日本代表。柳沢と中田がいないだけでこんなに強くなるとは(まだ言うか)。決勝でトルシエが柳沢を出しませんようにっ。昨日は、その前の韓国vsサウジまで見てしまった。惜しかったなぁ、韓国。ワールドカップ共催国ってことで応援もしてるんだけど、一方でライバルなので「ざまーみろ」って心情もあって複雑。でも、決勝は韓国とやった方が歴史的意義があったよな。そういう意味でも残念だった。

Visor Platinum

トラッキングサービスによると、おれのVisor Platinumは昨日、アメリカを発った模様。国内では誰が届けてくれるんだろう、郵便局かな? わくわく。VisorついでにVisorのMLにも入ってみた。Palm関係のMLは昔っからPalm-ML(旧pilot-ML)にしか入ってなかったのだけど。最近はpalmware-MLとか、各地のUGのMLとか、ずいぶんたくさんできたようで。palmware-MLを作ろうって話が出たとき、情報が分散するから嫌だなぁと思ったんだけど(案の定その通りになったけど)、ユーザーが増えてコミュニティが分散するのは時代の趨勢か。すそ野が拡がるのは決して悪いことじゃないけど、小さな集団になって馴れ合うようになると、情報のS/N比が下がるのがちょっとなぁ。このVisor-Valleyも、有用な情報もあることはあるんだけど、トラフィックの大半がOFF会の相談だし。フィルタリングが大変だ。

この、eGroupsのMLサービスは、通し番号つけてくれなかったり広告がうるさかったりして、日本のMLに合ってないのもちょっと(だいぶ)アレな感じだ。個人的には積極的に使いたくないサービスだな、eGroups。タダならなんでもいいってもんじゃない実例かね。いや、料金とは関係ないか。MorphyOneでもPIMを作ろうってプロジェクトが発生して、そこのMLがeGroupsを使ってるみたいなんだけど、利用規約がタコらしくていろいろもめてたりするし。たしかに利用規約の日本語はめちゃくちゃ。あまりローカライズを真剣に考えてないんだろうなぁ。

Ruby 1.6.1

ふと思い立って(って、ハチドリ本のせいだけど)、常用するRubyを1.6系にすることにする。常用するってことは、RPMで入れねばならないってことだけど、Kondara 1.2のupdateには1.4.6までしか入っていない。Jiraiを探してみるとちゃんと1.6.1が入っているので、これをリビルドすればよかろう。ruby-1.6.1-1k.nosrc.rpmruby-1.6.1.tar.gzを持ってきて、さて、1.4.6の時みたいに、新しいFHS依存の部分を書き換えようと思ってSPECファイルを覗いてみたら、だいぶ様子が変わっている……なんか、ビルドするシステムに応じて動的に変わるようになったような……? やるな、とほほるさん。というわけで、単にリビルドするだけでおっけー。

が、入れようとするとmod_rubyが1.4に依存してるのでダメと言われる。じゃあ、ってんでmod_rubyもリビルドしたけど、どうもコンパイル時に1.4に依存してしまうみたいだ。しかもapache-develも入れろと言ってるし(入れた)。さて、どうしたら……(20秒ほど思案中)……いっぺんmod_rubyを削除して、Ruby 1.6.1を入れてから、mod_rubyをリビルドする?

結局こんな手順でアップデート完了。あ、SRPMは展開しなくてもよかったのか。

  1. rpm -ivh SRPMS/ruby-1.6.1-1k.nosrc.rpm
  2. rpm -bb --target=i586 SPECS/ruby.spec
  3. rpm -e mod_ruby
  4. sudo rpm -Uvh RPMS/i586/ruby-1.6.1-1k.i586.rpm
  5. rpm -ivh SRPMS/mod_ruby-0.1.8-5k.nosrc.rpm
  6. PATH=$PATH:/usr/sbin rpm -bb --target=i586 SPECS/mod_ruby.spec
  7. sudo rpm -ivh RPMS/i586/mod_ruby-0.1.8-5k.i586.rpm

mod_rubyのビルド時にPATHに/usr/sbinを加えてるのは、/usr/sbin/apxsを呼び出してるから。なんか、/usr/bin/irbが入るようになってんだな。sampleからリンクはらなくてよくなったんだ。これは楽でいい。あとは、動作確認用の1.4.6を別に野良ビルドせにゃぁ。


2000-10-26(木) [長年日記]

Rubyプログラミング入門(信一郎, 原) ハチドリ本

Ruby本第3弾(英語モノを入れると第4弾?)になる「Rubyプログラミング入門」(原信一郎・著。オーム社)をGET。立て続けにRuby本が出て、懐が……。最初の本は「バイブル」、次のは「256本(邪道本?)」と呼ばれると思うので、今度のはたぶん「ハチドリ本」と呼ばれるのではなかろうか。「入門」と銘打ってあるので、「あんまり読むところないかなー」と思ってパラパラ見てみたけど、1章の電話番号検索スクリプトは、オブジェクト指向のフシギとヨコロビをかなり上手に網羅していて、オブジェクト指向の教科書としてそのまま使いたいくらい。うーん、さすが。もちろん、こういう書き方ができるのもRubyがあるからこそだろうけど。Javaじゃ、こうはいかないもんな。今、会社の若い後輩にバイブルを貸してあるけど(エバンジェリストしてるのである)、こっちを買わせた方がいいな、これは。

あと、「Hello Worldの博覧会」にはやられました。2個ほど理解できない……eval系は苦手なんだよなぁ。というわけで、2.7あたりまで読了。この先も楽しみ。

Tags: book

トップ 最新 追記
RSS feed