posted by Png genki on Tue 4 Mar 2008 at 13:18

コンソールから使えるバイナリエディタ 「bvi」 の紹介です。

bviは、名前の通りViのような使い勝手のバイナリエディタです。

bvi

ちょっとバイナリデータを修正しなければいけなくなったとき(?)に重宝します。

posted by Png genki on Tue 4 Mar 2008 at 13:11

In this weblog system, "nickname" and "email" required to IdP. This is from a behaviour of the original RestfulOpenIDAuthentication plugin. (I think that it is expecting the myopenid.com as default IdP and it has them as mandatory parameters.)

If you are using other IdP, it might have neither "nicknames" nor "email". In that case, you need to fill the lacking parameters and to retry.

Obviously, that was a big barrier for users. So I have changed this system so that can make IdPs free from required parameters and make a chance to add the lacking informations immediately.

I consider that every IdCs require such the mechanism due to the architecture of OpenID.

posted by Png takiuchi on Tue 4 Mar 2008 at 08:41

Announcement of event in Tokyo.

Smalltalk Study Meeting

Let's learn about the basics of Smalltalk and talk.

  • When: 4th March (TODAY) 19:00-22:00 (7 p.m. - 10 p.m.)
  • Where: Drecom (Map
  • Requirement:
    • Notebook PC with Smalltalk environment.
    • or passion.

We're supposing that the number of attendee is as much as 10 according to a capacity of the room. If you would like to join us, please nudge @takiuchi or @technohippy at Twitter, or leave a comment to this entry.

Thank you.

posted by Png takiuchi on Tue 4 Mar 2008 at 07:17

このBlogシステムでは、myopenid.comにあわせて、 IdPに対して "nickname" と "email" を必須パラメータとしていましたが、 IdPによってデフォルトで持っているパラメータが違うため、 場合によってはこれらのパラメータを別途入力してから、 再度トライしてもらう必要がありました。

これは非常に敷居が高いため、要求したデータが得られなかった場合、 足りない情報をその場で追加できるようにしました。 OpenIDの仕組み上、このような仕組みを用意することは 必要になってきそうですね。

posted by Png genki on Tue 4 Mar 2008 at 06:49 with 3 comments

イベントのお知らせです。

Smalltalk勉強会

Smalltalkの基礎を学び、大いに語りあいます。

  • 日時: 3月4日 19:00-22:00
  • 場所: ドリコム(地図
  • 準備: Smalltalkの処理系 (Maiha氏のお勧め) をインストールしたノートPC or 熱い想い

参加人数は10人程度を想定しています。 参加希望者はTwitterで@takiuchiか@technohippyに声をかけてください。 この記事にコメントをいただいてもOKです。

それでは、よろしくお願いします。

See also

更新履歴

  • 2008/3/4 See also を追加
posted by Png genki on Mon 3 Mar 2008 at 19:01 with 4 comments

Background処理に関する最近の動向調査に関するメモ。

starling 面白そうだな。試してみよう。

posted by Png genki on Mon 3 Mar 2008 at 16:55

今回は、大げさな機能ではないですが、 知っているとちょっと便利なHelper関数を紹介します。

cycle

まずはcycle。これはCSSのクラスにeven, oddを指定する場合のような、 周期的に繰り返す文字列を簡単に埋め込むことが出来ます。

   1  @items = [1,2,3,4]
   2    <table>
   3    <% @items.each do |item| %>
   4      <tr class="<%= cycle("even", "odd") -%>">
   5        <td>item</td>
   6      </tr>
   7    <% end %>
   8    </table>

pluralize

英語のみですが、数詞の語尾変化を適切に行ってくれます。

   1  pluralize(1, 'person')          # => 1 person
   2  pluralize(2, 'person')          # => 2 people
   3  pluralize(3, 'person', 'users') # => 3 users
   4  pluralize(0, 'person')          # => 0 people

posted by Png genki on Mon 3 Mar 2008 at 15:29

身の回りに溢れているほとんど全てのプログラムは、 静止状態の表現としてソースコードを持ち、 計算機上で実行され、そして終了します。 少なくとも、終了しようと思えばできるように作られています。

しかしながら、近年では、Webサーバやネットワークプログラムのように、 継続的に動作することが当たり前で、停止状態に移行する事自体が 例外とされるようなプログラムが珍しくなくなってきています。

RubyやPerl, Pythonなどの動的言語と呼ばれる言語が普及し、 プログラム言語の価値は、実行速度から開発速度で測られる 比率が高くなりました。 そんな中、去年ぐらいから、静的言語でも動的言語でもない、 新しいプログラミング言語のパラダイムの可能性について考えています。

はてしない物語。終了状態の無いプログラム。

停止することなく、動き続けることが想定されるService型プログラムを 記述することに特化した言語があってもいいのではないか。 そんな事を思うようになったのは、 Rubyistにはお馴染みの irbdruby を頻繁に使っていたからかもしれません。

NEPL ≒ irb + druby + Erlang + Sandbox

今のところ、open な druby サーバに対して irbで接続しに行くというのが、 一番それらしいものが得られる方法だと思います。 しかしながら、openなdrubyサーバを用意するのは非常にリスキーです。 ErlangのActorモデルや、エラー処理に関する哲学が参考になりそうです。

NEPL処理系が実現すると、 ソフトウェア開発のスタイルが大きく変わるのではないかと思います。

  • ソースコードを書いて、リポジトリにコミットするのではなく、 NEPL処理系に接続し、irb的なshellからActorを登録する。
  • 仕様をActorの評価関数(計算機リソースの割り当て比率を決める)として定義する。
  • バグを見つけてソースコードを修正するのではなく、 バグを定義してActorに対する罰金(ペナルティ)を課し、終息させる。

何かとりあえず動くものを形にしてみるべきですね。 $SAFE = 4なrubyとdrubyをベースにするか、 JavaScriptを使ってやるか、そのあたりを考えています。

See Also

posted by Png genki on Sun 2 Mar 2008 at 17:07 with 8 comments

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