トップ 最新 追記
RSS feed

ただのにっき


2000-10-29(日) [長年日記]

巨人が勝ったそうで。いや、どうでもいいんだけどね、プロ野球面白くないし。今日のスポーツのトピックスは、「世界二輪GP 250ccクラスで、中野がゴール100m手前でチャンピオンを逃す」と「サッカー日本代表、アジアカップで優勝(予定)」でしょう。それにしても、今日の決勝を最後まで見たら、明日の出社はないような気がする……。

mph-get

Ruby 1.6化の余波がまだ続いている。こんどはmph-get。libmphget.rbがrequireできないと言って動かない。調べてみるとこのファイル、/usr/lib/ruby/1.4/にあった。標準ライブラリでもないモノを、こんなところに入れてはいけません。ということで、/usr/lib/ruby/site_rubyに移動して事なきを得る。んで、mph-get upgradeをかけたら、Apacheが1.3.14に上がっていた。が、mphのヤツ、ついでにRubyを1.6.1→1.4.6にバージョンダウンしようとしてrpmの実行でコケる。あうあう。なんで、古いパッケージで上書きするのがデフォルトなんだろう。今入ってるのが新しかったら無視するのが普通の動作って気がするが。

まぁいい。最近の(?)mph-getには、holdってコマンドがあるのだ。holdされたパッケージは、アップグレードの対象から外してくれる。これにRuby本体と、それに依存するmod_ruby、ruby-ebを加えておこう。

$ sudo mph-get hold ruby mod_ruby ruby-eb
$ mph-get hold
reading database...
H kondara-backgrounds: 1.2-1k
H mod_ruby: 0.1.8-5k
H ruby: 1.6.1-1k
H ruby-eb: 1.4-0vl1

これでよし。kondara-backgroundsがhold対象とは知らなかった。

それにしても、同じように拡張ライブラリが1.4依存のディレクトリに入ってるんじゃないかと思って調べてみたら、Ruby-EbやRuby/Gtkも1.4/i586-linuxに入っているのだった。うーん、ソース直してリビルドするしかないのか、これは。

USB

 Rio300の電池蓋がそろそろ寿命。落として蝶番が割れちゃったのをだましだまし使ってきたんだけど、使ってるうちに勝手に開くようになってしまった。rioコマンドでLinuxから順調にデータを送れるようになってるので、乗り換える気がしないんだけど。もちろん、Kernelが2.4になればUSBが普通に使えて、rio500が使えるようになるはずで、そしたら500を買ってもいいんだが(600は見た目はいいけど電池交換がやたら面倒だから却下)。  Yahoo!オークションで300をGETすっかなー、などと考えつつ情報収集をしていたら、Kondaraのページでこんなドキュメントを発見。そうか。KondaraでKernel 2.2のままUSBを使うってのもアリ? じゃあちょっとやってみましょう。

# /sbin/lspci | grep -i usb
00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01)

Intelですな。それでは

# /sbin/insmod usbcore
Using /lib/modules/2.2.16-5k/usb/usbcore.o
# /sbin/insmod usb-uhci
Using /lib/modules/2.2.16-5k/usb/usb-uhci.o
/lib/modules/2.2.16-5k/usb/usb-uhci.o: init_module: デバイスもしくはリソースがビジー状態です

あれ? ちょっとリブートしてみる? ……ダメだ。やっぱりな。実はこのマザーボード(Iwill BD100)、Windows 98でもUSBが使えなかったといういわく付きなのだった(笑)。たぶん、BIOSをアップデートすればいいんだろう。ちょっと考えておこう。その前に、会社のKondaraマシンで実験すべぇ。

しかし、Rioもそうだけど、おれってけっこう新しいモノに飛びつくくせに、そのあとはすごく保守的と言うか、古いモノを大事にしちゃうって言うか。Rioは最初の300を発売日に買ったのに、世間はいまや600だ。デジカメなんて、最初はあのCASIO QV-10をやはり出てすぐに買ったのに、今使ってるのは85万画素のSANYO DSC-X110。最新型はその4倍の画素数だっつーのに。Palmも、3年近く前にpilot5000を買って以来、故障でしかたなくPalmPilotに乗り換えただけで、やっと最近新型を買う気になったし。バイクもそうだよなぁ。カブは流行る前から乗ってるのに、もう12年も同じマシンだ。変なヤツだ、我ながら。


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を別に野良ビルドせにゃぁ。


トップ 最新 追記
RSS feed