トップ «前の日(05-29) 最新 次の日(05-31)» 追記   RSS 1.0 FEED  

Journal InTime


2001-05-30 (Wed)

_ config.h

<URL:http://www.ruby-lang.org/~eban/diary/200105c.html#200105292>

なるほどお。 昔の自分は他人ですね。

_ sshd on Windows

sshdを実行するユーザとログインするユーザが違うと、RSA認証でログインした 瞬間に接続を切られてしまう。

$ ssh -v rummywin
(snip)
Fanfare!!!
You are successfully logged in to this server!!!
Connection to rummywin closed.

うーん、パスワード認証なら上手く行くのに何でだろう。


2005-05-30 (Mon)

_ [ximapd] いろいろ変更

メールの格納方法とかいろいろ変えてるので、HEADは危険ですよ! まあ、いつだって危険なんだけど。

--import-imapまわりはかなり仕様が変わった。

  • --imap-hostなどは--remote-hostに変更。
  • デフォルトでは未読メールのみ取得。 (--import-allで全メール取得。--import-imap-allの方がいいかな。)
  • デフォルトではフラグは取得せず。 (--import-imap-flagsでフラグも取得。)

これをfetchmail代りに使って運用しよう。 取得したメールをサーバから削除する機能も付けないと。

都合で進捗表示は削ってしまったけど、そのうち--verboseで進捗を出せるようにしたい。 progressbar.rbがラクかなあ。

_ [ximapd] importの進捗表示

結局progressbar.rbを使うことに。

同梱しても問題ないような気もするけど、

class NullObject
  def initialize(*args)
  end

  def method_missing(mid, *args)
    return self
  end
end

begin
  require "progressbar"
rescue LoadError
  ProgressBar = NullObject
end

としておいて、progressbar.rbがある時だけ進捗表示することにした。 (まだ、import_imapのみ。)


2007-05-30 (Wed)

_ [Ruby] mail bomb

rubyforgeからすごい数のメールがruby-core MLに来ていたので、一時的にnoreply@rubyforge.orgをMLから外した。 しかし、すごい数だった。

_ [Web] Twitter

こういうサービスは一応チェックしとかないとなあ、と思って使ってみた。 今一つ面白さがわからないのは一人で使ってるせいだな、きっと。

サイドバーにフラッシュを貼ってみたけど、Linuxだとなぜかちゃんと表示されないみたい(箱の中がundefinedになってる)。

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

_ @@@@ [etch上でFirefox+Flash9だとみえてますょ]

_ shugo [今見たらちゃんと(?)トーフになってました。]


2013-05-30 (Thu)

_ [Ruby] RubyKaigi2013(1日目)

RubyKaigi2013に参加して発表した。 とりあえず資料を↓に置いておきます。

発表では喋らなかったけど、どっちかというとpackrat parserの実装の方が大変だった。

しかも、遅いし入力が大きいと落ちる。理由は、

  • 末尾呼出しの最適化がデフォルトでオフになっている。
  • 末尾呼出しの最適化を有効化しても、Procの呼出しの場合は効果がない(多分Proc#callでCの関数をまたぐため最適化が効かない)。
  • Immutable::Promiseを使うと、内部的にトランポリンを使っているので、末尾呼出しの最適化ができるけど、Parser#bindなどの実装ではそもそも末尾再帰の形になっていない。しかもPromise使うと余計遅くなる。
  • 加えて、Rubyだともともと関数型言語に比べて再帰呼出し回数の上限が低い。 (Ruby 2.0では環境変数RUBY_THREAD_VM_STACK_SIZEで調整できる。)

といった感じかなあ。

Rubyだと提供するインタフェイスは関数型っぽくする場合でも、内部的な実装は命令型にしないと実用的でない気がする。 Scalaも割とそんな感じだし、もともとOOPLだから仕方ないかなあ。