自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

January 02, 2003 [長年日記]

[Misc] あけましておめでとうございます

今年もよろしくです。

[tDiary] やっとこさ追いついた(^^;)

Linuxビボ〜ろくをCVSの最新版にしました。やっとこさ追いついた。

細かな設定とかはこれからですね。squeeze.rbはきちんと動いてるかな。

→ あ、動いた動いた。

[Linux] Mozilla-1.3a(Xft版)

おー、なんか文字がアンチエイリアスされて見れる〜。最初は違和感感じたけどしばらくしたら良い感じに見えてきたぞ。

[tDiary] アンカー自動生成プラグイン

tDiary-1.5.xに対応しました。1.4系で使っていた方はa_conf.rbというファイルだけ入れ替えるだけです。是非お試しを。

[tDiary] 長年日記

きたさんの長年日記を使うようにしてみた。どんなもんでしょう。

[tDiary] What's new プラグ院

同じくきたさんのWhat's new プラグ院を入れてみた。

[tDiary] tDiary Plugin Viewer-1.0.2

こちらもtDiary-1.5.xに対応しました。

[tDiary] tDiary-FAQ

tDiary-FAQをちょこちょこと書き換えた。

[Linux] Sylpheed + Mozilla メモ

Sylpheedでメール中のリンクからMozillaを起動するには、「設定(C)」→「全般の設定(C)」→「その他」→「Webブラウザ」に以下のように記述する。

mozilla -remote "openurl(%s, new-tab)"

new-tabで新しいタブとして開く指定にしている。new-windowで別ウインドウ化。詳しくはこちら

本日のツッコミ(全3件) [ツッコミを入れる]

なかだ [gnome2にしました。 XがSEGVして立ち上がらなくなったりとかしましたが、ようやくなんとかなりました。]

ただただし [セクションアンカーがないよ〜]

むとぽん [なかださん:おぉ、とうとうgnome2にしていただけましたか!うっしっしっ(^^;)。 たださん:今what's n..]


January 07, 2003 [長年日記]

[Java] ResourceEditor-0.7.0 is out!

なぜかビミョーに使われ続けているらしいResourceEditorだけど、コマンドラインオプションをつけて欲しいという要望と、Java Web Start化して欲しいという要望があったので対応してみた。Java Web Startの方はまだLinuxでしか確認してない。明日会社のWin2000で確認してみよう。

ついでにバグも少しつぶした。それにしてもちょこっと触るだけでバグ出るな、すごい品質だ(^^;)。

#あと英語化して英語のページも書いた。

#日本語に特化したアプリケーションなので使う人はいないだろうけど(^^;)。

[Java] Java Web Start

これ、存在は知ってたんだけど今回初めて使ってみた。単純なんだけど結構おもしろい仕組みだなぁ。

たとえば、JDK1.4.1(JREでもOKだと思う)をインストールしている人(Windows)は、ここをクリックするとそのままResourceEditorがインストールされて実行される(バージョンチェックもしてくれるみたい。さらにJDKのバージョンが古かったりするとそっちのバージョンアップもしてくれる...らしい)。

ただし、ResourceEditorのjarファイルが署名付きjarファイルなんだけど、これが公的なCAを利用した証明書を使っていないため、インストール途中に「インストールしないように」という確認ダイアログが出る。まぁ、びっくりしないでそのままインストールしちゃうしかないんだけどね(^^;)。

Linuxの場合はどうするかというと、だいたい以下の手順。Javaのインストールディレクトリを/usr/java/j2sdk1.4.1/とする(JDK1.4.1をインストールしたと想定)。

$ su
passwd:
# mkdir /usr/java/javaws   #->ここにJavaWebStartの実行ファイル等を置く
# cd /usr/java/javaws
# cp /usr/java/j2sdk1.4.1/jre/javaws-1_2-linux-i586-i.zip .
# unzip javaws-1_2-linux-i586-i.zip
# ./install.sh
(ここは適当に....)

ここで、本当ならMozillaの方に自動的にMIME Typeが追加されるらしいんだけど、オレの場合は手動で行った。

MozillaのメニューのEdit -> Preferences ... -> Helper Application -> New Type... 
で、ダイアログを開いて
Description of type: Java Web Start Application
File extension: jnlp
MIME type: application/x-java-jnlp-file
Application: /usr/java/javaws/javaws

こんな感じ。んでもってMozillaを再起動してMS Windowsと同様にここをクリックする。

1度起動した後はキャッシュされるので、次からは/usr/java/javaws/javawsを起動し、メニューの「表示」→ダウンロード済みアプリケーションを選択するとメニューに出てくるのでそれを起動すれば良い。簡単なアプリケーションランチャと見れば良いかな。

ちなみにアプリケーション作者はどうするかというと、普通に起動できるjarファイルを作ってそれをkeytoolとjarsignerを使って署名付きjarファイルにし、jnlpファイル(XML)を書いてサーバーへ置き、それをIE/Mozillaから起動してあげるようにすればOK。

ただ、もしかしたらサーバ側に以下のような設定を追加した方が良いかもしれない(apacheの.htaccessの場合)。

AddType application/x-java-jnlp-file jnlp
AddCharset UTF8 jnlp

この辺について、詳しくはこちら

でも、署名付きってのが個人だと重いなぁ。結局、公的なCAを使わない以上、信用できないツールってことになっちゃうんだよね。まぁ、だからと言って使えないわけではないのだけどねぇ。

[Misc] そういえば

tDiaryを使い初めて1年と3日になる。去年はいろいろあったなぁ。


January 08, 2003 [長年日記]

[Ruby] Ruby-GetText-Package-0.5.0 is out!

今回は、Raccの勉強を兼ねてrmsgfmtというGNU GetTextのmsgfmt互換ツールを実装してみた。Raccみたいなツール(yaccとかbison)を使ったこと無かったのでとても勉強になった...。おかげで結構手間取ったけど。でも、なんか変な使い方してるかもしれない。

一応、rmsgfmtをRubyで実装したことで、GNU GetTextに依存せずに開発を行うことができるようになった。

まぁ、実際はツールのメンテナンスするときにmsgmergeとかが無いとトテモじゃないけどメンテナンスし続けられないので、そういった意味ではGNU GetText(に添付されているツール)と併用していくことになるんだろうけどね。rmsgmergeも実装しないとかなぁ。

実は、カタログファイルであるmoファイルがバイナリなのがちょっと今風ではないので、XML形式で記述できるようにしたものも書いてみたんだけど、実際はメンテナンスするツールが揃うまでは使い物にならないだろう...。

実験的にリリースしてみるっつーのもありかな。

[Java] ResourceEditor

Java Web Startの件だけど、MS Windows2000でも動作した。MS Windows2000だと、起動2回目にデスクトップやスタートメニューに追加するかどうか聞いてくれるのでさらに便利だ。

[Ruby] Ruby in 2002

というのがあったので、ハズカしげもなくRuby-GNOME2を追記しときました(^^;)。だって本家の方でFOXとFXRubyのことが書いてあったのがちょっぴりくやしかったんだも〜ん。


January 09, 2003 [長年日記]

[Ruby] Ruby-GetText-Package:自分宛メモ

だけど、Thread.current.idとかをキーにしてごちゃごちゃやればスレッドセーフっぽいことができそうな気がしてきた。

そもそもGetTextをスレッドで使うと想定すると、以下の2パターンくらいに絞られる気がする。これをテストケースに試してみるかな。

パターン1
 
GetText.bindtextdomain("testdomain") #ドメインは共通
Thread.start {
  GetText.locale = "..."       #ここで各スレッド毎にlocale,charsetが変わる
  GetText.charset = "..."
  GetText._("hoge")
}
パターン2
 
Thread.start {
  GetText.bindtextdomain("....") #そもそもドメイン自体がスレッド毎に異なる
  GetText.locale = "..."       #ここで各スレッド毎にlocale,charsetが変わる
  GetText.charset = "..."
  GetText._("hoge")
}

まだあるかな?

[tDiary] my-ex.rb

my-ex.rbでサブタイトルにプラグインを使っているところにリンクを張ろうとすると、aタグのtitle属性部分がプラグインの評価される前の形で表示されてしまう(なんか難解な日本語)。

で、直してCVSにあげておきました(1.5系だけですが)んで気になる方はどうぞ。

本日のツッコミ(全2件) [ツッコミを入れる]

みずほ [Thread#[]とかつかわないんですが?]

むとぽん [なるほど〜。そういう手もあるんですね。それで考えてみます。 #気づかなかったらしい(^^;)。]


January 10, 2003 [長年日記]

[Misc] プロジェクト名について

MoonWolfさんとこ。

そういや、Ruby-GNOME2でも結構テキトーに呼ばれちゃってる。

一番多いのが、Ruby/GNOME2かな。それからRuby-Gnome2とか、Ruby-GTK2とかRuby/Gtkとか。

まぁ、別に間違えたからって意味が通じないわけでは無いから別に良い(Ruby-GNOME2 ML内は別でなるべく指摘するようにしてる)のだけど、一応、Ruby-GNOME2では以下のように名前を定義しているのでこの際だから覚えておいてくり。

  1. ハイフン'-'はプロジェクト名。したがってRuby-GNOME2はプロジェクト名。逆に言うとハイフンは「Ruby-GNOME2プロジェクト」を指す時しか使わない
  2. スラッシュ'/'で区切るとライブラリ名。Ruby/GNOME2, Ruby/GTK2, Ruby/Pangoなど。
  3. ライブラリ名は基本的に元ライブラリで使っている名称をそのまま使う(でも、Ruby/GTK2はRuby/GTK+2ではないんだよね。これは歴史的な経緯による例外(^^;))。大文字小文字も注意。

ちなみに、この辺の情報はここに書いてある...つもり。



January 12, 2003 [長年日記]

[Misc] このサイト

以下のようなメールが来た。

From: xxx@xxx.net
To: mutoh@highway.ne.jp
Subject: 負担掛けすぎ
Date: Sun, 12 Jan 2003 22:04:25 +0900
 
前日(2003-01-11)のCGI負荷率 TOP50 
393 pt - ponx.s5.xrea.com 

普通に読むと知らない人に出すメールにしてはものすごく失礼な書き方だと思うが、規約のMAX 100ptを4倍近くもオーバーしているオレも悪いので文句は言うまい。

まぁ、このままアカウントを削除されてしまうのも何なので少し負荷を軽くする努力をしてみよう。

というわけで、一番処理が重いと思われる本日のリンク元表示プラグインの負荷を軽くするためにGoogleやYahoo!等、主だった検索エンジンをリンク元除外リストに追加した。これで少しは軽くなるだろうから、この状態でしばらく様子を見てみよう。半分以下になるかどうかと言うとかなり疑問だが...。

あれ、今、指摘してくれてありがとうと丁重に書いた返信メールがUser Unknownで戻ってきた。やれやれ。

やっぱり、独自ドメイン&独自サーバ立てなきゃいかんのかなぁ。でも、今そんな余裕(時間的な(^^;))がないしなぁ。

[Misc] たんじょうび

そういや、今日は誕生日か。誕生日に受け取ったメールが匿名のクレームメールだけとは...。サムイ。

本日のツッコミ(全6件) [ツッコミを入れる]

Before...

zoe [おめでとうございます。 クレームメールはきっと神様がくれたオメデトメールなんだと。]

きた [おめー]

むとぽん [うー、みなさまありがとうございますm(__)m。]


January 16, 2003 [長年日記]

[Misc] 全然わからん

それにしてもわかっていないことが多すぎる。

進めば進むほどわかっていないことがわかってくる。

わかったと思っていると実はまだわかっていなかったりする。

[Misc] 全然終わらん

それにしてもやらなきゃいけないことが多すぎる。

やればやるほどやらなきゃいけないことが増えていく。

やったと思っていると実はまだやり残していたりする。

[Misc] 気にいったので使い回しです(謎)。

少し脳味噌とろけ中かも。

[Misc] メールが使えな〜い

諸悪の根源はこれだ!

といっても、しょうがないので寝るとするか。

本日のツッコミ(全2件) [ツッコミを入れる]

たけうち [煮詰まってますな。本業? 忙しいなんて逆にうらやましいかも。うちなんて…(以下略)]

むとぽん [う、す、するどい....(-o-;)。 つい先日まではヒマヒマ星人だったのですが....。]


January 19, 2003 [長年日記]

[Misc] 気がついたら40,000カウント超えてる(^^)

誰が40,000カウント目を踏んだんだろ。すごくラッキーな人のはず(?)。

[Misc] tDiaryアクセスカウンタ表示プラグイン向けテーマギャラリー

カウンターテーマ作者の方からの要請があったのでその方が作ったファイルは全て削除しました。

その方からはAuthorとCopyrightからご本人の名前と連絡先を削除すれば引き続き公開して構わないと言って頂いたのですが、それだとライセンス的にとても不透明になってしまうので削除しました。

というわけで、現在残ってるのは私の作った1件のみ。サムすぎるので誰かちょーだい!

[Misc] Ruby-GNOME-0.31 is now available.

数ヶ月前(^^;)にOpenBSDでRuby-GNOMEのパッケージ管理をやってくれているらしいJim Geovediさんから、ライセンスがわかりづらいんじゃボケ〜!というメールを頂いていたのですが、先週、とっとと対応せい!というメールを再び頂いてしまったので、各サブライブラリ単位にCOPYINGファイルを置いた上で、0.31をリリースしました。あ、ちなみに別にライセンス自体に変更は無いです。

その他の変更点としては、4ヶ月間に行われたいくつかのバグフィクスと、Ruby/Libartの機能追加です。

ちなみに、私はRuby-GNOME2に集中しているため、こちらはほとんど手を入れてません(^^;)。

メモリリークのバグが一つ報告されている(Bug #657306)のですが回避策がありそうなのと根が深そうなので追ってません(この問題はRuby-GNOME2では起きません)。

これからRuby-GNOMEをやろうかなぁなんて思ってる人は、是非、Ruby-GNOME2を使ってください。

あ、でも、もちろん、オレが直しちゃるぜ!ってパッチを送っていただけるのでしたらいつでもウェルカムです(^^;)。

そうそう、ruby-talk/ruby-listなんかにアナウンスはしません。Ruby-GNOME MLにはアナウンスしたし、RAAはアップデートしたから良いかなと。特に重大な修正もなかったですしね。

本日のツッコミ(全2件) [ツッコミを入れる]

名済 [うあ、もいちど返事しようと思ってたのですが間に合いませんでした。(T^T)]

むとぽん [今のところ、私のローカル環境には残っているので、戻しても良いようでしたらいつでも言ってくださいね。]


January 20, 2003 [長年日記]

[Misc] ライセンス

自分でツールを作ってそれを公開するとき、それに使用許諾条件(ライセンス)をつける。

でも、このライセンスというのは自分で考えるのはとてもめんどくさいので世に出回っている著名なライセンスを借りる。

そうすると、自分で考えるより遙かに堅牢で汎用的な条件をつけることができる。

しかし、そういったライセンスを使うことによる権利を享受する一方で、実は、そのツール自身がそのライセンスを積極的に守っていかなければならないという義務が発生することを忘れている人はいないだろうか。

っていうか、オレが忘れてたわ。いかんいかん(-o-;)。


January 22, 2003 [長年日記]

[tDiary] http://www.tdiary.net/?s=200

以前から、たまに本日のリンク元に残ってるこのURLって何なんだろうなぁと思ってたんだけど、これって、「tDiaryで運用されている日記(更新順)」の200件目以降なのね。

ってことは、これでアクセスしてきた人って、200件以上も日記を見たって事だろうか。だとしたら、すごくヒマ根気のある人だ(^^;)。

本日のツッコミ(全2件) [ツッコミを入れる]

zoe [むとうさんを探してたんですよ。]

ただただし [そうそう。200くらい、半日でいきますからね]


January 23, 2003 [長年日記]

[Misc] 椎名林檎風

あおきさんとこ。久しぶりに死ぬほど笑ってしまったのでオレもRubyで考えてみた。

椎名林檎風文字の先頭と末尾の空白を取り除き

文字列#ストリップ

ってか、これだとそのままだなひねりがないな。

椎名林檎風Struct#length

 構造#レングス

うーむ、イマイチおもしろみに欠けるか...。Rubyだとなんかフツーに読めちゃうからあおきさんのC言語みたいな面白みが出ないなぁ。


January 25, 2003 [長年日記]

[tDiary] tDiaryアクセスカウンタ表示プラグイン向けテーマギャラリー

再び、パワーアップして復活!

ただ、ライセンスが一部を除きGPLではなくなったので注意。

[tDiary] アンカー自動生成プラグイン

標準添付化の話。もちろん、歓迎なんだけど気が進まない理由があったような気がする。なんだっけな....。配布するファイルが複数あったりするからだっけ。

あと、自分で言うのも何だけど根本的にちょっと使いづらいんだよね。

まぁ、これはプラグインを使う上でやむを得ない制限だとは思うんだけど、たださんの作ったwiki_styleのような形で[[hoge:fuga]]とか書けた方がお手軽だもんね。

むしろ、kw.rbとa.rbをうまく連携できる方向に持っていったら良いような気がする。

ふと思ったんだけど、[[hoge:fuga]]という記述で、':'を使うのは良いな。今、アンカー自動生成プラグインでは、

<%= a "keyword", "20020101#p01", "display text" %>

という書き方なんだけど、

<%= a "keyword:20020101#p01", "display text" %>

と書けた方が便利だな。これって互換性残したまま変更できるかな。ちとやってみよう(っていつ?(^^;))

[tDiary] 続アンカー自動生成プラグイン

ふと思ったのだが、上のヤツは
<%= a "keyword:20020101#p01|display text" %>

みたいに1つにまとめた方が良いのか?これなら今までの仕様に比べて入力字数が減ってわかりやすいし、互換性を維持したまま仕様変更できるな。

本日のツッコミ(全2件) [ツッコミを入れる]

ただただし [複数ファイルに関しては、すでにtodoが独自にディレクトリを作るという前例があるので問題ないですね]

むとぽん [ちと前向きに考えてみます。]


January 26, 2003 [長年日記]

[tDiary] アンカー自動生成プラグイン再び

ZnZさんがパッチを作ってくれたのでそれに|にも対応するように改造を加えてみた。

こんな感じ。

--- a.rb.old 2003-01-02 02:59:57.000000000 +0900
+++ a.rb 2003-01-26 21:16:36.000000000 +0900
@@ -91,6 +91,16 @@
 
 def a(key, option_or_name = "", name = nil)
  url, *data = @a_anchors[key]
+ if url.nil?
+  if /:(.*)\|/ === key
+   key, option_or_name, name = $`, $1, $'
+  elsif /:/ === key
+   key, option_or_name, name = $`, $', option_or_name
+  elsif /\|/ === key
+   key, option_or_name, name = $`, "", $'
+  end
+  url, *data = @a_anchors[key]
+ end
  if url == nil
   url = key
   if name

if文3つに分けたんだけど、うまく一つにできんもんかな。

[tDiary] セキュアモードでa.rb

セキュアモードってtdiary.confで@secure = trueにした場合だよね。

a.rbってセキュアモードで動くような気がするんだけど....。なんか指定方法間違えてるのかな。

[Ruby] $SAFE = 4って

汚染されていない文字列を引数としてファイルをオープンしてその内容を読み込む(書き込みはしない)

ってのはOKっていう解釈で良いのかな。

それならセキュアモードで動いても良いような気もする。

けど、やっぱ難しいなぁ、この辺(^^;)。

本日のツッコミ(全3件) [ツッコミを入れる]

ただただし [あれ、辞書ファイルを読めないと思ってました……動きます?(^^;]

むとぽん [なんか手元の環境だと動いてるような感じです。 でも、指定方法とか確認方法が間違えてるのかもしれないです(自信なし)。]

ただただし [あぁ、なるほど。辞書ファイルの読み込みはプラグインファイルのload時になされるんですね。これなら動きます。]


January 27, 2003 [長年日記]

[Ruby] $SAFE = 4

$SAFE = 4でFile.openってやっぱりエラーなんすね(ZnZさんとこ)。tDiaryは内部で$SAFEのタイミングを変えてるのかな。あ、なるほど、最初にプラグインファイルを評価するときは$SAFE = 0なのか。

<%= a "http://hogehoge.ne.jp/" %>

というのが条件満たせないな...。うむむ。


January 28, 2003 [長年日記]

[tDiary] カテゴリ機能

きたさんとこ。これはイイ!

実はオレもいつか実装しようと思ってたのだけど先越されちゃった(^^;)。

ホントだぞー。ウソじゃないぞー。見ればわかるかもしれないが、そのつもりでtDiary使い始めた当初(2002/01)から頭に[...]でカテゴリ分けしてたりするのだ。

というわけで公開されたらさっそく使ってみマス(^^)。