Matz announced a release of the snapshot of Ruby-1.9.0-1 at the ruby-dev mailing list yesterday.

1.9.x 1.9.0-x versions are for development and so this release is not stable. It has fixed some bugs and not fixed others.

At any rate, files are here:

Original Source

Updates

  • 6 March, 2008. Corrected the mistaken version number 1.9.x mentioned above to 1.9.0-x. Thanks Ryan!
  • 24 March, 2008. Added the original source which hughperson told me at reddit.com. Thanks!
posted by Png takiuchi on Sun 2 Mar 2008 at 15:33 with 3 comments

以前のブログで大量のSpamコメントに困っていた経験から、 コメントを付ける機能をなくしていたのですが、 OpenID認証によってコメントを付けられるようにしました。

RestfulOpenIDAuthenticationプラグインに、まだ若干バグがあるようで、 一部のIdPでは正しく認証できない事があるようです。 その際は、Twitterで@takiuchiにご連絡いただければ、 プラグインの実装の改善に役立てさせていただきます。

よろしくお願いいたします。

posted by Png genki on Sun 2 Mar 2008 at 09:49 with 5 comments

I am using Skype Chat everywhere because it is useful. But it has a limit due to its P2P mechanism that is needing at least 2 online users in order to keep messages transmitted completely.

When you are the only online user in the chat room, the messages sent by you are stored locally until someone comes in. In other words, suppose the chat room has user A and B;

  1. A said hello to B.
  2. A had logged out and became offline.
  3. "hello" had been stored into A's PC.
  4. B has become online.
  5. Nothing happen.

To solve this problem, I have been running the SkypeBot upon my Mac mini server and made it join to the chat rooms with me. By this, the chat room can always have over 2 online users so that all messages can be sent to each other.

Thus, I provide the SkypeBot identified by 'skype.s21g' which is always online except when I update Mac mini. Everyone can use this by dropping it into your open Skype chat which has no problem about privacy.

posted by Png takiuchi on Sat 1 Mar 2008 at 12:11

Skypeチャットが便利なので各所で使っているのですが、 P2Pである制約上、最低2人のユーザが同時にオンラインになっていないと メッセージが流通されないという問題があります。

Chatルームの中で自分だけがオンラインの場合、他の誰かが オンラインになるまで自分が発言したメッセージは、ローカルに 保持されて伝達が保留されてしまいます。 そのため、AさんとBさんの二人しかいないChatルームの場合、 Aさんが発言した後にオフラインになり、その後Bさんがオンライン になったとしても、Aさんの発言はAさんのPCに保留されたまま、 Bさんには届かないことになります。

この問題を解決するために、僕は1台のPCでSkype botを常時起動しておき、 自分が使っているOpenChatに参加させています。 こうすると、誰かが一人でもログインしていれば、ボットとあわせて必ず 2人以上のユーザがオンラインになっている状態を保てるので、 すべてのメッセージが滞りなく流通するようになります。

というわけで、誰でも参加できるようなOpen Chat (会話の内容が知られても特に困らないようなもの)をお使いで、 参加メンバーが少ないため、常時2人以上のオンラインメンバーを持つ事が 難しいChatルームをお持ちの方のために、 SkypeBotアカウントを提供いたします。

SkypeIDは skype.s21g です。 適当にChatに突っ込んでいただければOKです。 Mac miniのアップデートをしている時以外は常時立ち上げています。

posted by Png genki on Sat 1 Mar 2008 at 11:23

jRails プラグインは、RailsアプリケーションのデフォルトJavaScriptライブラリである prototype.js + script.aculo.us の環境から、 jQuery を使うようにするためのRailsプラグインです。

プラグインをインストールする方法は、通常のRailsプラグインと同様です。

   1  % ./script/plugin install http://ennerchi.googlecode.com/svn/trunk/plugins/jrails

インストールすると、jQuery関係のJavaScriptファイル郡が public/javascripts以下にコピーされます。

あとは、jRailsプラグインがRailsのJavaScriptヘルパーをjQuery対応に してくれるので、そのままRailsアプリケーションを開発することができます。

当然ながら、prototype.jsやScript.aculo.us固有の関数は 利用できないので、既存のRailsアプリケーションをjQuery対応にする場合は、 そのあたりに注意が必要です。

See Also

posted by Png genki on Sat 1 Mar 2008 at 10:51

どうもこの辺のエラーが出ていて困り中。

err

VC++2008 Expressで開発しているのだけれど、 ActiveScriptRubyをBuildしてる環境とバージョンが違うようだ。 もう少し様子を見ようかな。

posted by Png genki on Fri 29 Feb 2008 at 18:29

基本的にはnetstatコマンドを使えばいいのですが、 linux系とはオプションがちょっと違います。

   1  > netstat -a -o | grep 12345

上記のコマンドを実行すると、一番右端のカラムにPIDが出力されます。

posted by Png genki on Fri 29 Feb 2008 at 13:50

cmd.exeから以下のようにコマンドを実行することで、 WindowsのプロセスをIDでKillすることができます。

   1  > taskkill /PID 12345

強制終了する場合は、/Fオプションを追加します。

posted by Png genki on Fri 29 Feb 2008 at 13:47

In prototype.js, Event.observe method is very useful. But it is a bit inconvenient if you want to handle events only once such as an initialization. I have often encountered such situation, so I wrote a small utility function being as follows.

   1  Event.observeOnce = function(element, event, observer){
   2    var handler = function(){
   3      Event.stopObserving(element, event, handler);
   4      return observer.apply(null, $A(arguments));
   5    };
   6    Event.observe(element, event, handler);
   7  };

The usage is same to Event.observe.

   1  Event.observeOnce(document, 'dom:loaded', function(){
   2    /* some code goes here */
   3  });

It may be useful if you copy this into public/javascripts/application.js for Rails applications.

posted by Png takiuchi on Thu 28 Feb 2008 at 17:23

prototype.jsのEvent.observeは非常に便利なのですが、 初期化処理など、一度だけイベントの処理したい場合にはちょっと不便です。 度々そのような処理を行う機会があったので、以下のような 一度だけイベントをハンドルする関数を作ってみました。

   1  Event.observeOnce = function(element, event, observer){
   2    var handler = function(){
   3      Event.stopObserving(element, event, handler);
   4      return observer.apply(null, $A(arguments));
   5    };
   6    Event.observe(element, event, handler);
   7  };

使い方は、通常のEvent.observeと同様です。

   1  Event.observeOnce(document, 'dom:loaded', function(){
   2    /* some code goes here */
   3  });

Railsアプリケーションであれば、public/javascripts/application.js あたりに置いておくと便利かもしれません。

posted by Png genki on Thu 28 Feb 2008 at 17:04