2000-05-05(金) [長年日記]
■ RuBBS 0.3.0
ダラズのlさんから、RuBBSのパッチがいくつか送られてきていたので、これを取り込んで正式リリースを作らにゃならなかったんだけど、連休前は忙しくてそれどころじゃなかった。連休初日はひさびさにのんびりしたけど、翌日から取り組む。
本文中の引用の色を変えるパッチと、cookie対応のパッチを当ててから、スタイルの違う部分を手直ししたり、下位互換性を維持するための修正を入れていちおうOK。オープンソースっていいよねぇ。問題は投稿者の名前とメールアドレスを保持するためのcookieに日本語が生で流れるようになっていること。他のサイトのcookieを見てみると、日本語はたいていURLエンコードされている。動けばいいというバータリー的な作りでもいいけど、何かおきたら面倒なので、手軽に使えるbase64エンコードしてみる。
もう一つ、RuBBSはサーバーの負荷を下げるためにカレントログは静的なHTMLに吐き出すようにしてるんだけど、このせいでせっかく保持しているcookieの値が投稿フォームに反映できない点だ。ReplyはCGIを経由するから使えるんだけど、新規投稿では使えない。でも、新規投稿用のフォームがログと同じページにある必要はないよね……なんて考えてたら、lさんが先にそのためのパッチをくれた(笑)。うーん、こりゃ楽でいいわ(ってをい)。
さっそくそのパッチも当てさせてもらい、ささいな問題をいくつか修正して、ひさびさに0.3.0としてリリース。これでずいぶん使いやすくなったはず。ついでに新たに掲示板を作るためのmakebbsコマンドも少し手直ししておいたので、UNIX系OSで運営するのは楽になったと思うんだけど……文化的にこういう作りでいいのかどうか、いまだによくわからじ。
リリース後になって、RuBBSがNetscapeを落とす原因がわかった。Replyを押すとときおりNetscapeがBus Errorで死ぬのだ。長いこと原因がわからなかったんだけど、どうやらフォーム中のTEXTAREAタグにWRAP="SOFT"という属性が指定してあるとき、TEXTAREAの幅よりも長い文字列が設定されていると起きるらしい。ずいぶん前に、esBooksで買い物をする時に、契約書を表示できなかったのもこれが原因だったわけだ。つーことは、Linux版Netscapeを使う限り、この属性を指定してはならぬってことだ。Windowsを使っていた頃ならいざ知らず、自分がLinuxを使っているのにこの状況を放置するわけにはいかんなぁ。ほとんどw3mを使っているとは言え。次のリリースでWRAP属性は排除しようか。
2000-04-25(火) [長年日記]
■ RubyEB
で(?)、RAAを眺めていたら、RubyEBなんてのがあって腰を抜かす。い、いつのまに……。もちろん、以前マイペディアのところで出てきた、電子ブックを扱うライブラリ「EB」を、Rubyからいじるための拡張モジュールである。ruby-listでも活躍されているにゃすさんの作。ふふふ。なんだ、これがあれば無敵じゃん(謎)。ありがたく使わせていただくっす。
今日のところは拡張モジュールのビルドまでやろう。ruby-eb10.tar.gz
を持ってきて、適当なディレクトリに展開。Rubyの拡張モジュールにはたいていextconf.rb
というスクリプトが付いていて、これを実行するとMakefile
を作ってくれる。で、できたMakefile
でおもむろにmake
。……eb/eb.h
がないと言われる。むむ。これは本体であるEBのヘッダであろう。うちには実行ファイルのRPMだけを入れてるしな。開発セットも入れねばならん。
コンダラのスナップショットを見たらアップデートされていたので、eb-2.3.7-1k2.i586.rpm
とeb-devel-2.3.7-1k2.i586.rpm
をゲット、インストールする。今日は最初から-Uvh
で入れたぞ(笑)。そして、もっぺんmake
する。eb.so
ができたら、make install
してもいいけど、ファイルは1つだし、Rubyも1.4.4からsite_ruby
の場所が変わったみたいだし、ってことで、手動で/usr/lib/ruby/site_ruby/1.4/i586-linux/
に移動する。
さて、付属のtest.rb
をちょっといじって動作確認をしてみよう。13行目にb.bind("/cdrom")
ってのがあるので、/cdrom
の部分を適当なEBが入っているディレクトリに変えてみる。うちは和英辞典EDICTが入っている/usr/local/share/eb/edict
を指定。test.rb
を実行すると、「じしょ」という言葉と「ちしき」という言葉の英訳がずらずらと表示される。やったぁ。
そういえば、mypaedia-fpw、1.0.1になってますな。あまりうちの環境には関係なさそうな感じだけど……とりあえずゲットしておこう(笑)。
2000-04-24(月) [長年日記]
■ Ruby 1.4.4
いや、Kondaraのsnapshotに1.4.4のパッケージがあるのはわかってたんだけど、別に1.4.3でも不自由はなかったのでさぼってました、すみません(って誰に謝っとる)。でもRuBBSが1.4.4で動かんとゆー投稿があったので、チェックせねばならなくなってしまったのじゃ。で、ruby-1.4.4-2.i586.rpm
をKondaraから持ってきて、rpm -ivh ruby-1.4.4-2.i586.rpm
ってやったらどえらいたくさんエラーが出ちゃって、「あらー、そういえば1.4.4からRUBYLIBが変わったからなぁ」なんて思いつつ、夕べは寝てしまった。
で、今朝、出勤の電車の中で「アップグレードなのに-i
なんて付けてどーすんねん……」ってことに気づいたのであった。ちゃんちゃん(バカ)。そんなわけで、rpm -Uvh ruby-1.4.4-2.i586.rpm
でおっけーって思ったら、いつのまにか入れられたmod_ruby
が依存してたので、mod_ruby-0.1.4-4k1.i586.rpm
も持ってきて突っ込んだらうまくいった。ついでにRuBBSもちゃんと動いた。めでたしめでたし。
■ mph
そういえば、mph
も使ってみたいなーって思うんだけど、使い方がイマイチよくわからなくて。適当に設定して、mph-get update
のあと、mph-get install ruby
ってやってみたら、どうみても余計なものまで一緒に入れるぜって言われるので(basesystem
がRubyに依存してるとは思えぬ)、ちょっと怖くて使えないのであった。実験システムが欲しいなぁ。会社にあるけど、昼間は遊んでらんないし。しくり。