K.Sasada's Home Page

Diary - 2004 October

研究日記

神無月

_31(Sun)

何気なく手にとった、魔術探偵スラクサス読了。面白いんだけど、展開が急っていうか、たんたんとしすぎてるというか。


ずーーーーっとひっかかっていた block inlining なんだけど、やっと、これは、というネタを思いついた。

つまり、caller が block inlined method を呼ぶわけじゃなく、callee でその処理をする、ということ。たったそんだけなんだけれど、これを思いつくまで大変だった。

method_dispatch(reciever, selector, block):
  method = method_search(reciever, selector)
  inlined_method = inlined_method_search(method, block)
  if inlined_method == false # not found
    inlined_method = recompile_inlined_method(method, block)
  end
  method_invoke(inlined_method)

が、alex の言っていたメソッドインライニングだけれど、これは、全てのメソッドつきブロック呼び出しをインライン展開するものになる。これは、効率とか悪い可能性があるし、すべてをインライン展開する必要は無い。メソッドの起動自体がちょびっと遅くなるのも問題。

というわけで、特定の callee が勝手にインライン展開したものを保持するような構造にすればいいのか。Array#each とか、Hash#each とか、Fixnum#times とか。それか、yield を特別軽量にするような、何かの仕組みを設けるとか。まぁ、その辺。

つまり、yield の API として、特別なものを用意しましょう、って話。

VALUE rb_ary_each(VALUE self){
...
PREPARE_YIELD_FRAME();
...
LIGHT_YIELD(obj);
...
CLEAR_YIELD_FRAME();
...
}

みたいな。

でも、end では、やっぱりフレームをポップしてしまうな。なら、end しないバージョンを、このためにコンパイルしておく、というのがいい気がする。

というわけで、これでいこう。これで rubidium に負けない(気がする)。

ちょっと C でのコーディングは煩雑になるけど、速度を気にしなくてはいけない場合だけだし、ちょっとくらいしょうがないよね。

ruby レベルのイテレータではこの最適化はできないような気がするけど、yield を見つけたら勝手にこんなコードを生成する、でもいいのかもしれないなあ。環境まわりが、やっぱりちょっと難しい気がするけれど。

んー、その場合は、やっぱり block inlining をしないといけないので・・・。うーん。

さて、このアイデアを alex に伝えたいのだけれど、英語にするのは・・・。

alex と本質的に違うのは、メソッドをインライン化するとかしないとかは caller の仕事、ではなくて callee の仕事にした、ということ。多分、これで正解。プロファイラとの連携とかしやすそうだしね。


と、話としてはまったく簡単なことを、何でこんなに時間をかけて悩んでるんだか。

ruby レベルの inlining は、非常に思い切った方法が必要っぽい。


「圧倒的に猫好きが多い」わけじゃ無さそうだなあ。


プログラミングが全然できない。どうしよう。


ethereal をやっとまともに使ってみる。便利だなぁ。以前インストールしたときは、ドライバを入れずに挫折したのか。


あまりの無気力感に、しょうがないので CVS の ruby をとても久しぶりにビルドしてみる。最新だと、yarv が死ぬらしいから。

bison がねー、と nmake でエラー。ガーン。


ちょうどぴったり、test/rss のエラーにひっかかっちった。ガーン。

_30(Sat)

Windows で WebDAV の領域をマウントしようと思ったら、非常に遅い。いや、遅いのはそいつに認証がかかってる場合なんだけれど、遅すぎる。認証をかけなければ、問題ないのだけど、認証を付けないで放置する勇気は私には無いし。

どうしたもんかな。SSL で basic 認証がきちんとできる WebDAV クライアント。GUI。


WebDAV で、PUT に Content-Range が効くことを確認。


put や delete は http1.1 だったけれど DAV on にしないと動かない、というのはそういうもんなんだろうか。


って、何をやってんだ俺は。

_naruse(Sat Oct 30 17:33:34 JST 2004)

 BitKinex http://www.bitkinex.com/とかいかがです?US$43ですけど、、

_Digitune(Sun Oct 31 11:20:45 JST 2004)

WindowsのWebDAV(WebFolder)回りがバグバグなのは結構有名みたいですね(特にXP)。 「認証が遅い」とのことなんですが、いつも遅いのでしょうか?それとも時々?そして遅くとも待てば処理される?というのも、こちらで試していた時によく、WebFolderオープン時の認証ダイアログが、何故かトップに表示されない(他のウィンドウの後ろに隠れて表示される)という変な挙動にあたったことがあったので…(Windows2000)。「いつまで経っても認証ダイアログが出ないなぁ」と思って何げにタスクバーを見たら「あれ?出てるじゃん」と。 上の他に、WindowsXPでまともに使うためにはWebDAV領域はキャッシュさせないように(Header set Cache-Control "no-cache"を追加)しておく必要がありました(Pragmaは付けちゃダメ)。

_ささだ(Sun Oct 31 13:09:39 JST 2004)

 Win2k なのですが、認証ダイアログ自体が、何かロックがかかったように、異様に遅く、またそれが成功しませんでした。

_Digitune(Tue Nov 02 15:09:42 JST 2004)

うーん、そういう症状には当たったことなかったです。また新たなバグか…。言い忘れましたが、当方でもSSL+BASIC認証を使っています。SSLでない場合はXPではさらにもう一つ罠があるんですよね(WebClientサービスを停止させる必要があるとかなんとか)。

こちらでも結局、mingw32+wxwidgets+neon+openssl で独自クライアントを実装しちゃったりしました(汗。Shell Extension 化は調査する時間がなくて将来の課題に ;-)。

_ささだ(Tue Nov 02 17:53:13 JST 2004)

 いーなー。公開はされているんでしょうか。

_Digitune(Wed Nov 03 11:17:30 JST 2004)

 すみません、業務時間に作ったので公開不可なんです…(セコイぞ会社)。ごく一般的なWebDAVクライアントなんですけどね。

_29(Fri)

limit とか、その辺がよくわからないのだけれど、どうにも無駄な努力をしているような気はする。とにかく、cygwin のメモリ管理がよくわからない。


Simple Paste。あぁ、現実逃避。

require 'cgi'
require 'net/http'

body = CGI.escape(ARGF.read)

Net::HTTP.version_1_2
Net::HTTP.start('www.atdot.net', 80) {|http|
  response = http.post('/~ko1/sp.cgi/commit/auto',
    'paste_body=' + body)
  puts response.body
}

続、現実逃避。

(defun my-simple-paste ()
  (interactive)
  (let ((paste-body (buffer-substring (mark) (point)))
        (cmd        (format nil "ruby ~A"
                            (merge-pathnames "spc.rb" (etc-path))))
        )
    (if (yes-or-no-p "Can I paste follows?\n~A" paste-body)
        ;; simple paste
        (with-output-to-temp-buffer ("*simple paste*" t)
          (let ((proc (make-process cmd)))
            (process-send-string proc paste-body)
            (process-send-string proc "\x00\n")
            )))))

(global-set-key '(#\C-c #\C-p) 'my-simple-paste)

こんなんを .xyzzy に書いて、

require 'cgi'
require 'net/http'

data = ''
while line = ARGF.gets
  data << line
  break if /\x00/ =~ line
end

body = CGI.escape(data)

Net::HTTP.version_1_2
Net::HTTP.start('www.atdot.net', 80) {|http|
  response = http.post('/~ko1/sp.cgi/commit/auto',
    'paste_body=' + body)
  puts response.body
}

こんなのを、xyzzy/etc/scp.rb として、ruby をインストールしておくと、C-c C-p でペースト。

さて、誰が使うんだ、こんなの。


うー、頭いてー。


いい加減、人にうざがられるほど「るびま」「るびま」と連発している。私もいい加減にしたいなーと思うんだけど、誰かやらないと続かないだろうしなあ。

_28(Thu)

ぐろーばる変数としてとった配列がでかすぎて、main を実行する前にプログラムが落ちます。どうしたらいいんでしょう(子供か俺は)。


	real ary(9)
	do i=1, 9
	  ary(i) = i * i
	enddo
	call test(ary(1), 3)
	call test(ary(4), 3)
	call test(ary(7), 3)
	end

	subroutine test(ary, n)
	real ary(n)
	print *, ary
	end

さて、これは fortran 的に valid なんだろうか。


きちんと布団をしかないで仮眠を、と横になったら見事に風邪ひいた・・・。間抜けすぎる。

土曜日は大切な用事があるのに。


寝たらせきは出なくなった。


bss って何の略だったかなぁ、と、何度覚えてもすぐに忘れてしまう。Block Started by Symbol なんて、憶えられないよこんなの。

_joe(Fri Nov 05 13:35:08 JST 2004)

 Linden本によるとBetter Save Spaceと覚えるそうです。

_27(Wed)

奇跡ってのは、あるんですかね?

奇跡ってのは、どこからがどこまでなんですかね?


るびまの編集、今月も忙しい人が多いようで、なかなかままなりません。

手伝ってもいいや、っていう人居れば、ご連絡ください。


CLOS MOP (Metaobject Protocol) 入門 どうしようかな。行きたいような、忙しいような。まぁ、午前だけだしなあ。でも、本持ってない。


イベント情報 - Mozilla Japan 第 1 回 セミナーのご案内 って面白いのかなあ。どうしようかなあ。


codepaste を簡単にしたものをちょっと作ってみたいな、と思ったけれど、暇が無い(ということになっている)ので諦める。


依存症。どうやったら抜けられるのかな。

_26(Tue)

課題図書読み中。

雨の中、悲嘆にくれて、何も考えられなくなった彼女がふらふらと道路に飛び出して、轢かれて、あとでそれを知ったお姉様が壊れて廃人になる、くらいやってくれると面白かったような気がするんだけれど、どうでしょうか。まぁ、そうすると話が終わっちゃいそうで、まずいんでしょうが。

でも、あの終わり方はないよなぁ。

しかし、避暑地に米を送る母親ってどういうのだ?


Intel VTune を買おうと思ったら、どうやら来月新しいものが出るそうで。問い合わせてみたら、

- 7.2 とは、新機能がつくのでしょうか? バグフィックスがメインでしょうか?

インテル EM64T のサポートの追加、Linux システムへのリモートデータ収集機能の強化等が追加されています。

- 今 7.1 を購入した場合、(有償/無償) アップデートは可能ですか? それとも、来月の発売まで待つべきでしょうか?

インテルソフトウェア製品をご購入いただくと、一年間のサポート・サービス (サポート & アップグレード) が付いています。

ということだったので、さっさと買おう。


prosym accept されてしまった。どうしよう。


さすがに失神はしないだろう。


日本におけるFedoraの紹介のされ方にもの申す

なんで debian 使わないのか、私にはよくわからないのだけれども。

なんて、debian しか知らないからいえるんだけれど。

_け(Tue Oct 26 20:06:35 JST 2004)

 「以上の議論をふまえた上で、あなたはそれでも*** をサーバに使いますか? 百歩譲って自分でサーバに使うとしても、他人に責任をもって *** をサーバ用途に薦められますか?」なんて書いてあるけど、*** のところ、結局、どれも五十歩百歩ではないかい?ちなみに、どのディストリビューションがいいかって、結局、ほとんどの場合、どれで育った程度のものしかないのでは?やる時は、自分でパッチ当てて再コンパイルとか平気でするし。

_IKeJI(Tue Oct 26 20:13:19 JST 2004)

 課題図書が何の本だか判った。(^^;

_25(Mon)

Squeakware。面白い。

RubyWare なんて作ると面白いんだろうか。今度ちょっと考えてみようかな。


仏像鑑賞が趣味って、また・・・。


tk 講習会、行きたいんだけれど、とても交通費が出ない。 もうバスはいやだ。


なんか Wiki が作りたい。


skype API を見てみる。とりあえず Windows 専用で、Window Message インターフェースで色々やり取り、ということらしい。

nadoka との連携を考えてみたんだけれど、ちょっと思いつかない。


ちなみに、skype API は、(現状のところ)すげぇ簡単です。なんかアイデアがある人にはおすすめかと思います。


greentea さんの理想ってどんな形なんだろう。


やはり、継続は大切だよな。一番大変。

議論が風化しないで、きっちりと結論を出すような、そういう能力。


いかに yield を速くするか、なら、やっぱり yield で新しい環境を積むのは間違いなのか?

うーん。


ちなみに、skype API、一昔前なら偽なんとか、とか、そういうのと連携してたんだろうなぁ。

_たむら(Mon Oct 25 18:27:59 JST 2004)

ん〜。先越されたって感じ>squeakware。 でもsqueak単体+α程度だからslackwareベースで良いんであって、Rubyの場合、っていうか、Ruby/TkとかRuby-GNOME2とかRuby/QT3だのwxRubyって考えるとライブラリの依存解決がめんどくさいから、debianベースでってことで、Ubuntu Linuxとか、MEPISこと、Les Clefs d'Orかなぁとか。ま妄想なんだけど。最近はqemu-winもあるので、Windowsユーザーへ本当の(ちょっと遅いけど)linux上のRubyを触るという目的も良い鴨。

_ささだ(Mon Oct 25 18:45:55 JST 2004)

 たしかに、Squeak なら色々完結してますしねぇ。

_ogino.(Mon Oct 25 21:46:55 JST 2004)

 Schemeまんせー、とかそういう話かと思った。<継続は大切

_MoonWolf(Mon Oct 25 22:16:33 JST 2004)

 HTML::Sanitizeってのを作ったのでBlueClothですぐにWiki作れますよ

_ささだ(Mon Oct 25 22:20:50 JST 2004)

 tton を持ってるので、そいつを使うのです。

_24(Sun)

帰宅。


R6終わり。一月。


すでにいろいろ忘れているんだけれど、これ以上忘れないためにメモ。

21日

  • バレンタインかー
  • 深夜バス。こうやって人を捌いてるのか
  • となりのおっちゃんが SE らしく、ちょっと話をする。最近の人は設計ができないらしい

22日

  • バスでは寝れず。騒いでる馬鹿とか、いろいろ
  • 6:30前くらいに到着。早すぎる
  • しょうがないので、とりあえず会場に行くも、空いてるわけがないので、その辺をぶらぶらする
  • 隣に川があって、ベンチがあったので、座る。寒い
  • やっぱ女性同士ってのは気味が悪いんだが・・・
  • あまりに寒くて、腹も減ったので喫茶店。でも、2時間くらいで出る
  • やっぱり、同じベンチに戻って、寝てみるも、なんか虫に刺されて辛い
  • 虫刺されの薬を買って、塗る
  • そうかー、卒業かー。でも、動物園とか熊とか、唐突過ぎる気がする
  • そろそろ飯食っていくか、ということで、たこ焼きを店の中で食う。多すぎ
  • 会場に入って、ぶらぶら。とりあえず福井さんに挨拶
  • 展示は、正直面白いものはなかったなぁ。コバルトには興味はなかったし
  • OOo のリーダー(?)の人の話を聞く
    • 通訳が通訳になってなかった
  • g新部さんの話を聞く
    • 面白いんだけど、実はあったんだろうか
    • FreeSoftware 陣営は、豚丼の村らしい
    • ZetaOS のデモを見たかったので、30分で退場
  • BeOS の後継、ZetaOS についてのデモを見る
    • リアルタイム処理に優れている
    • BFS は凄い
      • というデモだったんだが、これが、OS として Zeta でなければならないことが、どうしてもわからなかった。Window System として優秀、と言われれば納得いくんだけど
      • 質問しようかなー、と思ったんだけど、場がしらけそうなのでヤメ
  • Soba には興味があったので、いろいろ聞いてみる。ちょっと遊んでみておいたほうがいいような気がしてきた
  • オープンソースコミュニティについてうんぬん、というセッションで、Rubyの会の宣伝をしておいたほうがいいかな、と思っていったんだけど、議論が発散してしまっていて、何も実のある議論はなかった
    • 各自が自分の言いたいことを言うだけ
    • 宮原さんはもうちょっと舵を取らないと駄目だったんじゃないかと思う
    • Rubyの会の紹介とか、うまく出来なかった気がする。無念
  • というわけで、一日目が終わり
  • うささんにご連絡して、うなぎやにつれてってもらう。mput君+NaCl の一部
  • のんびり行ったら遅れる
  • しかし、大阪の地下鉄はわかりやすいなあ
  • うなぎやで鰻を食べる。うまき、というのをはじめて食べる。美味しかった
  • 喫茶店でだべる
    • nadoka 活用事例を聞いてびっくり
  • 散々脅されて、動物園前駅へ行く
  • ホテルが見つからず迷ってうろうろする
  • 無事ホテルが見つかる。路上で生活してる人たちは、特に見かけなかった
  • 2000円払って、部屋に。3畳の和室で、布団やガウンなどがあった。ちょっと壁が薄いかな
  • 冷蔵庫、テレビ付き
    • ついついルパンやってたので見てしまった
  • 特に不満もなく、就寝。バスで眠れなかったのでよく寝た
  • 次に大阪に来ても、この辺に泊まろう

23日

  • のんびりと8時にチェックアウト
  • 地下鉄代がもったいない、わけではなく、大阪を歩いてみたかったので、動物園前駅から堺筋本町駅まで歩く
    • なんかジェットコースターみたいなのがある
    • これが通天閣かー。ふつーの場所に、どかっと建ってるんだなあ
    • 日本橋、朝早いからか、ふつーの電気屋さんの町といったところか。中央通り狭いし
    • 道頓堀を通りかかったら、大量の警備員が。道頓堀って儲かるんだなあ、と思っていたら、今日は菊花賞で、Winds があるからか。納得
    • カニだー、イカだー、とか思いながら歩く
    • なんか、観覧車みたいなのもあるなぁ
    • 川汚い
    • こんな時間でも、観光客っぽい人も、やっぱりちらほら居るもんだ
    • ダラダラ歩く
    • 堺筋本町駅を見つけ、周辺を歩いてみるも、場所が見つからず、迷う
    • 30分くらい迷う
    • 結局、北と南を勘違いしていたと言う情けないオチ。駅を中心に線対称の部分を探していた
  • 9:40分ごろ、会場入り
  • 机と、多分福井さんが用意しておいてくれたらしい荷物があるだけで、誰も居ない
  • とりあえず、Rubyの会の人のふりをして、準備してみる
  • 10:00 開場
  • 福井さんがいらっしゃる
  • 小波さんがいらっしゃる
  • 活用事例なんかを後ろに貼ってみる
  • 他にもいろいろいらっしゃった気がするが、もう覚えていない
  • rrb についてのデモを見る
    • ripper を使ってるらしい
    • 限界があるんだろうけれど、どこまでやって、どこで諦めるか、だよなぁ
    • eclipse はやりたいけれど、やらないらしい
  • なでしこについてちょっと聞いてみる
    • クロージャ(というよりは手続きオブジェクト)はこうやって書くのかーなるほど
    • オブジェクト指向機能をどうやってオチをつけたのか気になっていたのでした
    • IDE が標準であるってのは、いいなぁ
  • お昼なので、昼食会っぽいもののために、地下鉄の駅に行く
  • 全員のお名前を覚えてないんで、省略
  • ハヤシライスを食べる
  • 戻って店番
  • 時間なので、発表
    • まつもとさんに skype でつないでみると、聞こえた!
    • マイクをつないでみると、その場でいるような音質で、綺麗に音がした!
    • その関係上、なんとなく前の席に座る
    • 高橋さんのプレゼン
      • 発表がパワーアップしてる
    • 私のプレゼン
      • あんまり、ネタを用意していかなかったので、あまり面白いものにならなかった。すまん
    • かずひこさんのプレゼン
      • うまくまとまってるなあ
    • 前田さんのプレゼン
      • OOo へのアレ、いいなぁ。公開しないかなぁ。どちらかというと、文書フォーマットのほう
    • 休憩
    • 高橋さんのプレゼン再び
      • この短時間にこれだけまとめるとは!!
      • 私自身、面白く聞けた
      • RGSS は、ゲーム開発のどういうシーンで Ruby を利用するんだろう、という質問がしたかったのだけれど、うまくいえなくて邪魔してしまった。ごめんなさい
    • まつもとさんへの QA コーナーになった
      • skype いーなー、
    • 無事終わり。70人くらい居たらしい。立ち見も出るほどの盛況。素晴らしい
    • 内輪でどれくらいだったのだろう
  • 終わって一息ついて、秘密の理事会
    • 秘密なので、議事録はありません
  • のんびりしてたら、撤収準備っぽい
  • となりのブースが Zeta だったので、昨日疑問に思っていたことを聞いてみた
    • リアルタイムについては、自分たちのスレッドスケジューラ(pthread) が優秀だ、ということらしい
      • ちょっと信じられない。アプリケーションの作り方にスゲー拠ると思うんだが
      • しかし、thread を ツレッド と言ってる(気がする)人が多い気がするんだけど、なぜだ
    • 論文とか、なんかねー? とか聞いたら、どっかの大学のスケジューラがいいので、それを(憶えていたら)送ってくれる、とのこと
    • 名刺を渡したら、「Tokyo University」という文字を見て、東大と勘違いされた風味
    • 大学でプレゼンしたら喜ぶ? とか聞かれてしまった
    • やはり、英語でのコミュニケーションが、全然出来ていない。なんとかしないと
  • まったり撤収
  • 一階の喫茶店でまったり
  • 宴会の出席者確認。26人の大所帯に
  • 宴会場は会場から歩いて2分くらい。近すぎ
  • マグロ
  • いろいろと話をしたような気がするけれど、あんまり憶えていない。というか飲みすぎ
  • 9時解散
  • うささんに、バスの場所まで案内してもらう
  • バス、今回は2列目。大変よい
  • 卒業式かー。ちょっと泣きすぎだろおまえら
  • 眠れた
  • 5:30 到着。速すぎ
  • 7:00 帰宅

関西オープンソース、日本Rubyの会の展示、発表に携わっていた方々、また、突然の話にも関わらず、いろいろと喋ってくださったまつもとさん、また、最後までいろいろとお世話になった中村(う)さんに感謝します。

来年も出れたらいいな、と思います。


上記、途中意味不明な部分は、課題図書を4冊持っていって、それの感想。まだまだ先は長い。

_み。(Thu Oct 28 01:14:03 JST 2004)

 舵取りできなくて正直スマンカッタ。みんな思った以上に喋るから、放っておいたんだけどな〜。許してね。

_ささだ(Sun Oct 31 20:23:27 JST 2004)

 すみません、気付きませんで。OSPNのご活躍を期待しております。

_23(Sat)

発表終わって、これから飲み会。

_22(Fri)

バス辛い。眠れない。

_21(Thu)

うーん、今 16万円で Xeon 2.8GB Dual マシンが買えるのか。安いなあ。

なんか、メモリ増設が馬鹿みたいに高いけど。


しまったー。今日、明日と PRO じゃん。しかも内山さん発表じゃん。

うわーん。聞きたかったようおう・・・。どなたか、レポート希望。

ほかも面白そうなんだよなあ。ううぅ。


SD

おー、るびまの記事がほんとに1ページ!

「るびまのこれから」

うひゃ。月刊リリースなんて目指してないですよう。そう思われるのを避けるために、注意深くその言葉を使うのを避けてきたつもりなんだけど。再来月に休むのは休刊の兆し、とか思われてしまうんだろうか。あと、高橋会長/編集長のお名前を出してほしかったなあ。

p-175 List40

モジュールの作成って、何?


学生のいう見積もりなんてあてにならないよなー。

というか、非常に難しいと思うんだけど、そんなに気楽に求められても。


YARV 構築のための期間の見積もりとしては、あと半年くらいでなんとかなると思います。


というわけで、関西オープンソースに行ってきます。YARV の宣伝も、できればいいなぁ、とは思っております。

深夜バスでっていうのは、高校のころにスキー行くために乗ったのが最後だったような気がする。うぅ、大変そうだ。

IP unreachable になる予感。


ruby で realtime gc は無理だろー。


では。

_20(Wed)

一回休み。

・・・。


えー、BCR やめちゃうのー? ライバルだったのに。

次は rubidium なのか。


http://slashdot.jp/comments.pl?sid=217522&cid=638727 のスレッドに笑った。


alias で、他の名前を付けられたメソッドは、再定義しても文句言われないらしい。知らなかった。

def foo
  "foo"
end

alias :_orig_foo :foo

def foo       #=> 警告なし
  _orig_foo * 2
end

def _orig_foo #=> 警告
  3
end

p foo  # => "foofoo"

うーん・・・。

alias っていうか、rename で、元の名前を alias として残すって感じがする。


最初の例、というか、transpose の挙動の意味がわからない。うーむ・・・。


生協で聞いてみると、HP のマシンの通販してるマシンを、生協で注文できるらしい。で、生協で受け取り、なら送料も要らないらしい。これで行こう。送料 3000 円って、ちょっと高いと思っていたので。

生協割引は、さすがになさそう。


Alexander Kellett氏の rubidium では、メソッドディスパッチ時にメソッドのインライニングを行うことで、性能を上げる、などを考えているらしい。多分、CLOS と一緒で、パラメータの型ごとに、(インライン化した)メソッドを作っておき、そいつにディスパッチする、ということなんだろう(対象のメソッドがなければ、その場で(!)作る。でも、大抵は変わらないものなので、作成のコストはあまりかからない)。

つまり、ディスパッチにコストをかけて、通常実行は型付でコンパイルされたものが走る、というわけだ。これはこれで、いいのかもしれない。特に、あまりメソッドディスパッチしないものの場合は有効だと思う。

この解析を動的にきちんとできれば、全部インライン展開できそう。でも、本質的にできるんだろうか。すべてのメソッドの返り値の判定を行わなければならないし、色々ありそう。できるところだけ、インライン化、はありだと思うんだけど、そうすると、うまくいかないとメソッドディスパッチのコストが非常に高いことから、逆に性能が出ない可能性がある。

たとえば

def m
  if ...
    "abc"
  else
    [1,2,3]
  end
end

なんていう(駄目な)プログラムがあったとき、破綻しそう。

あと、C のメソッドには、返り値(のクラス)を知る方法がないので、色々と破綻しそう。本当にできるんだろうか。


私も、できればソフトタイピングくらいはサポートしたいとは思ってるんだけど。


やはり、再定義不可な型付ruby って、作れば需要は多いと思うんだけど、どうなのかなー。あと、eval も不可。

だって、リテラルが簡単にかけて、ブロックが簡単に書けたりするってのは、楽でいいと思うんだな。

型付けはオプションかなー。型も指定できる、くらいで(指定すれば、それに伴う最適化を行うことができる、とか)。

あと、定数検索パスを制限して、こいつも再定義できないような。

再定義するときは、メソッド全部再コンパイルしてもいいような気がしてきたなー。オブジェクトスペースから全部見て、再定義とか。yarv でもそうしてしまうのがいいような気がしてきたなぁ。だって、再定義なんて滅多にしないでしょ?


inline method cache じゃなくて、inline generated insns seq cache があればいいんだろうか。インライン化したものを色々キャッシュしといて、ヒットすればそいつを使う、みたいな。なければあっさりあきらめるなり、なんなり・・・。


勘違いしていた。

reciever だけで決まるので、パラメータを見る必要はないのか。なるほど。なんとなくうまい気がしてきた。

で、何をどうやってキャッシュすればいいんだろう。難しいな。


	def iter
	  ...
	  yield
	  ...
	end

	iter{
	  # B1
	}

	inter{
	  # B2
	}

  #=>

	define iter     # define iter (it's template)
	iter_B1_inlined # make iter_B1_inlined with iter template and exec
	iter_B2_inlined # make iter_B2_inlined with iter template and exec



Dispatch process (call iter with block B):

	m = search_method(reciever, :iter)
	if inlined = m.inline_block_cache[B]
	else
	  inlined = m.inline_block_cache[B] = generate_inline_code(iter, B)
	end

	send inlined # method "inlined" is invoked


こんな感じ。

これなら、特に難しい話も必要なさそうで、redefine とかも関係ない。


ちなみに、Alex のくれた仮想コードは、見てもさっぱりわからない。

どうしよう。

誰か、あれわかりやすく解読してくれないかなぁ・・・。


で、これどうしようかな。YARV でやろうかな。結構いい線いってるような気もするんだけど。

環境の問題とか、どうなるんだろうなぁ。

うーん、環境の構築とか考えると、やっぱりそこまで手間かけてやってもしょうがないような気がしてきた。

正確に見積もれない、というのが正直なところなのだけれど。

んー、インライン化したメソッドは、そのインラインもとのメソッドのフレームをしっているのか? 知っていそうな気がする。そいつを経由して変数にアクセス、ってことになるのか。なるほど。

んー。

できそうなできなさそうな・・・。

例外とかどうなるんかなー・・・。

うーん、難しそうだ。

例外のためのガードもつけないと駄目だよなあ。うーん。やっぱり、あまり割りに合わない気がしてきた。yarv でやることじゃないような気もしてきたな。すげーアーキテクチャ変えないとだめぽ。


class Ary
  def each
    self.size.times{|i|
      yield self[i]
    end
  end
end

ary = Ary.new(1,2,3) # [1,2,3] のつもり
i = 10
ary.each{|e|
  # Block B
  p e + i
}

#=> inlined method

  def each_B_inlined
    self.size.times{|i|
      e = self[i]
      begin
        p( e + prev_env(:i) )
      rescue
        ...
      end
    end
  end

こんな感じか。ふつーに yield するより、どうなんだろうかなぁ。

例外のための何かを積むのが十分速ければ、この方式は有用そうに見える。

でも、実際に作るの色々大変だろうなあ。

逆に言うと、yarv の yield は十分速いんですかって話になるような気がする。十分速いんだろうか。

環境を積んで、継続を積んで。

んー、やっぱり重いか。


今気づいたんだけど、

[1,2,3].each{
  raise
}

#=>
t.rb:5: unhandled exception
	from t.rb:4:in `each'
	from t.rb:4

each (C method) の呼び出しはスタックトレースに出ないんですね。


やっぱり、継続の保存と復帰のコストだけ、yield は遅いなぁ。継続情報でかすぎなんだよ。チクショウ。

インライン化しようかなぁ。できるかなぁ。

来年の課題かなぁ。

GC の問題とか、結構気になるんだよな(コードのGC)。

やっぱり、やるなら特定のクラスの特定のメソッドのみ、対応とかかなぁ。でも、現在の環境アーキテクチャだと、非常にやりづらいなあ。バイトコード増えるなあ。やっぱやるなら、完璧にそっちに持っていかないとダメぽ。

うーん・・・。今更アーキテクチャ変えるのも辛いしな。

なんとかいいとこ取りできないかなあ・・・。


ちなみに、Alex のインライン化の話は、すべてのコードが Ruby であることが必要になっている。

そのため、彼は、すべてのコードを Ruby で書いている(計画中? 実行中?)。String とか。Array とか。

私は、どうするべきなのかいなぁ。

C で書くってアイデアは、やっぱり必要だから、インライン化はちょっと待っとこうかなぁ。

rb_yield を十分速くすれば、Alex に勝てるんだな。で、十分速くなるんだろうか? うーん、微妙。彼が、例外処理のための何かを、setjmp でやれば、十分勝てるんだが(後ろ向き)。

やっぱり、inline 化は色々難しい問題がありそうだ。今年は少なくともやめとこう。


この辺の話は、世界で二人くらいしか興味の無さそうな話だよな。3人? 4人? まぁ、それくらい。

_18(Mon)

x86 のメモリアーキテクチャについて聞く。

セグメントってそういうことまで出来たのねぇ。

で、これを有効に利用している OS はあるんだろうか。

_KM(Mon Oct 18 17:32:15 JST 2004)

 ο

_しゅどう(Mon Oct 18 21:02:46 JST 2004)

 そういうことがどういうことか知らないけど、LinuxカーネルのEXEC-SHIELDパッチとか。有効活用っていうより、仕方なく、トリッキーに使ってるって感じか。

_び(Mon Oct 18 22:54:10 JST 2004)

 「ο」は失敗作、やってた連中は美談にしてるけど。あれにしがみついてようでは駄目だな。もっとも、ちゃんとわかっていれば、x86のセグメントはやっぱり(i386以降でも)タコだった(8086-80286は外道)。

_17(Sun)

うわー、単純な話にパッチがキター!! ますます高橋さんのプレゼンどおりだ。


編集後記:

  • 絵があると、やっぱりスゲー
  • 締め切り後に記事を必要とするのは間違っている
  • 楽をできる工夫をしないと
  • やはりレポート系は人気ない
  • 人の配分、予定などの把握が不十分

2004年9月18日(Sat) 人狼BBSの紹介(1) を読んで、やっとルールを知る。なるほど、そういうゲームだったのか。

ログは膨大なので、読めないのだけど。


core を吐きます、が流行ってる。


未踏ユース取ってるのになんでお前はそんなに金が無いんだ、といわれたのですが。

    • 青森(飛行機・ホテル)
    • 松江(飛行機・ホテル)
    • 愛知(新幹線)
    • 京都(新幹線)
    • アメリカ(飛行機・ホテル x 2)
  • PCパーツ代(キーボード・バッテリー)

の回収をやっていないので、そりゃなくなるわ、という感じです。30万くらい入ってたんだけどなあ。

回収と言っても、どこまでが経費に認められるものやら。


税金って、ほんとにわかんないんですが、できるだけ「経費」にしてしまったほうが、かかる税金は少ないんでしょうか? それとも、自分の時給で何か経費に計上できるものを買っても変わらないんだろうか。

VTune を買おうか迷ってるんだけど。10万するんだよなぁ・・・。って、学割で 3.3万円って、自分の日記で書いていたらしい(Google で Vtune 学割、って調べたら出てきた)。

3万なら買っちゃおうかなあ。バッテリーと同じ価格。VTune のほうがよさげ。誰か使ってる人使用感教えてほしい。


次は好きなアルファベットにしようかと思ったのだけれど、さすがに数が多いのでヤメ。


税金の話、いろいろ教えていただいてありがとうございます。実は、未踏の場合、プロジェクト管理組織ってところがあって、経費の話とか、全部やってくれてるんですが、そのブラックボックスの中身を知ってみたかったという話なのです。

_たむら(Sun Oct 17 13:14:46 JST 2004)

 今月(11月)のLinuxMagazineのまつもとさんのコラムでも取り上げられてる>人狼BBS

_shiro(Sun Oct 17 15:01:21 JST 2004)

大原則は、「もらったお金全て(A) - そのお金を貰うために費したお金(B)」に対して税金がかかります。(B)がいわゆる経費ですが、ここで言っているものはあくまで課税される主体であるささだ君から見てのことであって、どういう名目でお金を貰ったかには関係ありません。

一方、請負いのプロジェクトで発注元に「経費」として請求するものは、上記の式には入ってきません。なぜならその経費はささだ君にとっての経費ではなく、発注元にとっての経費であって、そのお金の流れをささだ君が仲介しているにすぎないからです。(帳簿上は、金が出ていった時点でそれを発注元への貸付け扱い(accounts receivable)にして、発注元から入金があった時点で返済されたものとします。バランスしているので税金の観点から見たらこの操作は透明です。)

というわけで、まず自分にとっての「経費」と発注元にとっての「経費」とは分けて考えましょう。その上で、上の大原則における課税対象金額を減らせば減らすほど、税金は減ります。

何でもかんでも経費にできるならどっちにしても変わりはないのですが(自分の経費にすればBが増える、発注元の経費にすればAが減る)、どこまで経費として認められるかにはいろいろ制限がありますし、開発機材等は支払った金額全てがその年の経費になるのではなく何年かに渡って分割して経費とすることもある等、面倒な事情が入って来ます。自分の経費にする場合はそれを全部自分でやらなくちゃなりません。発注元の経費にする場合は発注元が面倒なことはやってくれます (その代わり、もちろん機材は発注元のものですから、流用はできません)。なので、大きな目安は、上のような色々な面倒が自分でかぶれる程度ならその分お金をもらって自分の経費にすればよし、そうでなければ発注元に面倒をみてもらう、ってな感じがいいんじゃないでしょうか。

あと、大原則は上の通りなんですが、誰もが自分の使った経費を全部計上するのは面倒なので、個人の場合は統計的に「これくらいだろう」と見積もられた金額を経費扱いにする(基礎控除だっけ? 米国ではstandard deduction)ことがあります。どちらにするかは(米国では)自分で選べます。なので、経費の合計がそれを越えることにならない限り、自分の経費で買う意味はあまりありません (standard deductionを選んだ方がどっちにせよ有利だから)。ここは日本では事情が違うかもしれません。

…と色々書きましたが、私も細かいところは税理士さんに丸投げしているので、あまりあてにしないように。

_argon(Sun Oct 17 18:48:25 JST 2004)

 税務署の人は、経費が少ない分にはなにもいわないけど、多すぎるとちゃんと見てくれるので、多目に書くのがこつという話も聞きます。

_新潟のS(Sun Oct 17 21:03:10 JST 2004)

 個人事業の場合だと  総収入金額 − 必要経費 = 事業所得  総収入金額は所得税法36条、必要経費は37条に定義があります。  国税庁の解釈通達も公開されているんで参考にするとどの程度までが必要経費になるか見当がつけられると思います。ささださんの場合、とても専門性の高い仕事なのでどこまでが必要経費になるのかは微妙な問題があるかも。例えば職業作詞家がヨーロッ旅行をしてそれによって創作活動にプラスになったのかどうかは判断が難しいところです。業務遂行上、必要だったことを立証できるように資料を残しておいた方がいいです。法律行為なんで国税当局を甘くみてナメテかかると危ないよ。青色申告をしてしっかり自分の正当性を主張してね〜。

_16(Sat)

HP のサーバマシンを買うことに決定。


うー、なんとか間に合うか。


Rubyist Magazine 0002号 リリースしました。

お楽しみください。

_ogino.(Sat Oct 16 12:19:56 JST 2004)

 ごめいわくおかけしました。

_ささだ(Sat Oct 16 13:50:56 JST 2004)

 こちらこそ。

_shiro(Sat Oct 16 14:26:50 JST 2004)

 continental breakfastのcontinentalはヨーロッパ大陸のこと。フルーツ、パン類とコーヒー・紅茶などからなる朝食。対するのがenglish breakfastで(englishに対するからcontinentalなのね)、そっちは卵料理やベーコン、ソーセージなんかがついてる。…ってここに書いてもいいのかしらん。

_ささだ(Sat Oct 16 14:57:54 JST 2004)

 やべぇ、調べずにいいかげんに書いてしまいました。こっそり消しとこうかな。

_15(Fri)

われながら、結構衝撃だったんですが、銀行口座の残高が 1000円を切ってしまった。最近無駄遣いしすぎたのかなぁ。やっぱモスバーガーなんかで食べちゃ駄目なのかなぁ。

どうしよう。


あったら嫌な Lisp:

  • cons cell のない Lisp
  • cons cell を free しないといけない Lisp
  • cons cell に car と cdr ができない Lisp

cons cell を(新たに)作れない Lisp ならアリかも。


未踏のいろいろをやっつける。そういえば、契約書送り返さなきゃいけないのをすっかり忘れていた。


coins のことすっかり忘れていた。

・・・。


SACSIS やめて、SHINING に的を絞ろうかなー。研究会だし、沖縄だし。博士課程としてどうか、という問題はあるが。


実は、私も風邪をひいてしまったんだけど、やっぱり明日は行かないとだめだよなぁ。

_青木(Fri Oct 15 16:16:54 JST 2004)

 consセルに行(?)番号がついている

_shiro(Fri Oct 15 16:32:07 JST 2004)

 開き括弧と閉じ括弧をそれぞれbegin, endと書くことができる

_maeda(Fri Oct 15 17:06:59 JST 2004)

 vecp (vector processoというのを冗談で考えたことがあります。#(define foo #(lambda #() ...))とか書く。

_まつもと(Fri Oct 15 19:51:18 JST 2004)

 Gosmacsのmock lispsh

_まつもと(Fri Oct 15 19:51:59 JST 2004)

 gosmacsのmock lispはmockなだけにconsなかったと聞いたことがあります

_IKeJI(Fri Oct 15 22:49:51 JST 2004)

tabで記述するLisp

define
    foo
    lambda
…
_えんどう(Sat Oct 16 13:09:23 JST 2004)

 中置記法のLisp (ってそれCurlじゃん)

_nobsun(Sat Oct 16 13:19:35 JST 2004)

 XML で書く。(http://homepages.inf.ed.ac.uk/wadler/language.pdf)

_14(Thu)

まじめに、るびまを縮小化しないと、身がもたない。

今回は rubyconf があったから、余計辛かったんだけど。

編集を手伝ってくれる人募集。暇人歓迎。誰もやりたがらない校正部分などの地味なことやってくれる人優遇。報酬はなし。

・・・誰もやらんか orz。

書くのを手伝ってくれる人はけっこう居るが、そういう地味な部分は、誰もやらない。まぁ、そうだよなぁ。俺もやりたくないもん。


プロシンどうしようかなー、行くにも金がかかるんだよなー、とか考えていたんだけれど、ユース者は PM予算で出るらしい。

行こうかなあ。でも、ペーパーかけるかなあ。

原稿締め切り 12/10 かー。死にそう。

というか、新しい、面白い発表ができそうにないんだよなー。いつも同じことの繰り返しだしなー。


誰か死にそうにならないと出来ない何かって、やっぱり間違えてるよな。 もっとほかにやり方があるはずだ。

_shiro(Thu Oct 14 20:24:14 JST 2004)

 論文は書ける時に書き、話せる時に話しておくのがよろし。特に若いうちは。全部できてから書こうとか思ってると書けないから。

_び(Thu Oct 14 23:45:26 JST 2004)

 shiroさんも書いていますが(thanks)、ためらったり、「完全になってから」とか思うとどんどん書けなくなる。出すんだぁ〜。漏れも出すから

_13(Wed)

Subject が subscribe なメールがたくさん来てるんだけど、なんで? 流行ってんの?


メールのヘッダ(〜〜です。お世話になっております)などは、いつも手書き。感謝をこめてタイピング。でも、無意味かも。


Ruby のことで、ずっと時間を割いてしまい、本業をまったくやっていない。これはとてもまずい。まずい。まずい。

どうしよう。


うわー、単純な質問に eval.c をハックという解答がー! 高橋さんのプレゼンとおりだ!


るびまはいろんな人の時間を削って作られています。

・・・費用払ったら、いくらになるんだ・・・。ガクガクブルブル。


島根の ruby講習のレポートを書くので旅費をください。誰か。


死にそうです。ちゃんと研究しろよ俺。マジで。


先日も話に出てたんだけど、

%q(...) #=> '...'
%Q(...) #=> "..."

から連想すると、

%r(...) #=> Regexp.compile(Regexp.quote('...'))
%R(...) #=> Regexp.compile('...')

であるべきなような気がするんだけど、現状はそうなっていない。

_12(Tue)

VM インスタンス、Thread インスタンスは、多分 thread local storage に持つような感じになるんじゃないかと想像。

そのため、実は ruby API は変更する必要はないんじゃないかと思ってるんだけれど、やってみないとやっぱりわからないっぽい。

_11(Mon)

頭が痛い・・・。完全な二日酔いか・・・。


  • あの人は mixi にログインしてるから大丈夫。
  • あの人は mixi にログインしてないからやばそう。

大阪のホテルを調べる。ツインの部屋で一人 4000円のが一番安いかなあ。

さて、誰か居ないかな。

最悪野宿というのもいいんだけど、ちょっと寒そうなんだよな。


うわ、2100円というのがあるのか。スゲェ。


夜行バスは、やっぱり5000円か。4000円では無理らしい。

というわけで、大阪行きの予算は15000円。たけぇ。食事代などは、きっと奢ってくれるだろう。うんうん。


頭が痛くてしょうがない。飲みすぎってわけでもないようだ。風邪か・・・。

_arton(Mon Oct 11 10:00:44 JST 2004)

 自動巡回ボットという罠

_(う)(Tue Oct 12 11:54:15 JST 2004)

食事代などは、きっと奢ってくれるだろう。

そんなわけない。

_10(Sun)

今日は締め切りの日。


ちなみに、言い出しっぺの手前、他の記事にも突っ込みを入れないといけないのであった。


昨日の日記では「台風で〜〜なので〜〜を作りました」というのをよく見かける。私は、デフォルトで家か研究室でぼーっとしているので、なんというか、申し訳ないというか。


D.C. のチャイナタウンで思った疑問。

中国も、ヨーロッパも、いすに座って飯を食うのが普通だと思うし、映画などで、昔の光景を再現している場面を見ても、椅子に座っているのだけれど、日本の時代劇などを見ても、椅子に座っているのをあまり見たことがない。

なんで?


そういえば、RubyConf2004 のプレゼンテーションを録音した mp3 、幸運なことに私の発表は録音状態が悪くて聴けたもんじゃないらしい。へへへ。マイク握ってたのは俺だけだったのだけれど、あちらの発表スタイルってのはそういうもんなんだろうか。私はスクリーンに近づいていろいろやるのでマイクを握ったんだけれど、持たなくていいように、凄い感度にしていたので、ハウリングしまくり、ということだったんだろうなぁ。


先日の好きなメソッド名を付けられる Proc オブジェクトだけど、

neg = Proc.new(:===){|i|
  i < 0
}

case var
when neg
  p :neg
end

なんてのが出来るといいのかなぁ、なんてちょっと思ったんだけれど、そもそもとっても駄目な書き方っぽい。

case var
when (-1.0/0.0 .. 0)
  p :neg
end

でいけると聴いて、へ〜、とか思う。


飲み会に行くかどうか迷う。今月使いすぎなんだよな。

_6(Thu Oct 14 13:03:29 JST 2004)

 蕎麦屋のシーンでは椅子に座ってたはず。

_9(Sat)

うぅ、死にそう。今日は家に帰りたかったんだけどなあ・・・。


RubyConfReport は、高橋さんがとてもとても大変そうなので、やはり私がやるしかないようだ。どうしよう。


英語の勉強したいから誰か skype ではなそー、と言ったら、chad が釣れた(こっちは日本語教えるで〜、という餌付き)。

彼は、非常にわかりやすい英語でしゃべってくれるので、けっこー聞こえる。でも、何を喋って良いのかちょっとよくわからない。

本当は、るびまの打ち合わせとかを全部 skype でやりたかったりする。


RubyConf2004 のmp3 を手に入れたんだが、どうやってミラーしようかな。300MBくらいあるからなぁ。どっか帯域のあまってるところない?


研究室二部屋を掃除する。


リスリス。そこらじゅうに居た。


昨日のエネミーオブアメリカの録画を家族に頼んでいたのだけれど。

・・・きっちり最後が切れていた。クライマックス突入、ってところで、しっかりと、ぴったりと。

あーうー・・・。

もうショックで何もやる気がしない。

_IKeJI(Sat Oct 09 10:20:46 JST 2004)

 ミラーしますよ。

_ogino.(Sat Oct 09 11:01:03 JST 2004)

 お手伝いはしたいんですが。<リポート

_Goldwasser(Sat Oct 09 19:08:29 JST 2004)

 EOA DVDもってるYO!

_8(Fri)

私の携帯ではいろんなページが見えないんだけど、見えるようにするための proxy でも作っておかないと、後が不便だなぁ、とか思う。


begin で囲まなくても rescue って置けるのね・・・。

def m
  raise
rescue
  p :hoge
end

m

知らなかった orz。

メソッド全体が block になるってことだろうか。node レベルでは、きちんと begin/rescue/end になってるけれど。

うーん、全然知らなかったなぁ。奥が深い。


高林哲の検索技術論 より

当時はインターネットに熱中して、ロック関連の情報をあさっており、手元に集めてきた情報だけでもかなりの量になっていた。

Lock の話でかなりの量になるのかー、と読んでしまった。


RubyConf2004 会場。


Programming:WayToHaskeller:はいはい。「はいはい」って、赤ちゃん言葉のはいはいでしたか。「あっそう。はいはい。わかったわかった」のはいはいかと思った。

しかし、いつの間にかすげえ増えてる。


langsmith を見ながら思ったのだけれど、例外処理のやり直しのための retry って実装できてねーじゃん。どーしよう。すっかり忘れていた。どうやって実装すればいいんだろう。

結局、これはフレームをまたぐジャンプになる(YARV の rescue 節の実行は、ブロックの実行と同一)ので、やっぱり、これ用に例外ハンドラテーブルを用意しなければならないのか? それとも、スタックの継続情報をごちゃごちゃ弄ってしまえば問題ないんだろうか。たとえば、retry 命令を作るとして、継続情報をごにょごにょして、そして end 命令(スタックフレーム一個巻き戻し)を行えば、begin の部分から始まるよ、って感じ。

うーん、本当にこれでいいんだろうか。


と思ったら、なんかちゃんと実装してる。凄いぞ俺。何時の間に!

・・・バグってるけど。

(block 実行中の retry と同様の機構で出来てる)


ちなみに、バグは最近突っ込んだ変更によるもので、ってことだと思う。あー、マジックナンバー・・・。


なんで mixi と日記を分けるんだろう。器用な人たちだなあ。


used by じゃなくて used in だった気がする・・・。

  [CAUTION]
  This benchmark is result of YARV current version.
  Because YARV is not complete implementation, this result should
  be changed on future version.
_Goldwasser(Sat Oct 09 19:14:26 JST 2004)

 脳梗大って暗号やってるところあるの?

_7(Thu)

というわけで、家に着きました。

■無事なささだ

五体満足です。

■無事じゃないささだ

行きと帰りの飛行機の乗り継ぎ時間が1時間しかありませんでした。とくに、行きの入国審査については、散々脅されて行ったんだけど、案の定定刻に間に合いませんでした。さくっと。特に何事もなく。容赦なく。

でも、運命は味方してくれたらしく、なんと乗り継ぎ便が2時間くらい遅れて、間に合ったのでした。よかったよかった。でも、それでびびって、帰りの便に帰れなかったらどうしよう、とずーっとびくびくしていたのでした。いや、かえれたんですけど。

■その他

ワシントンD.C. って金つかわねー。$200 のキャッシュとTCを持っていったんだけど、結局キャッシュを $160 使っただけだった。土産を重くて面倒なのでやめたのもあるんだけど。

RubyConf の様子はるびまをお楽しみに。多分。

■なにそれ

食費十万はやっぱりどうかと思います。


成田についたのが2時。家に着いたのが5時半。やっぱり遠いなあ。


PTTどうしようかなあ、と思って携帯で場所を探してみたけれど、見つからず。ページに書いて無いじゃん(メールオンリー)。


げ、まつもとさんがrubyconf report 書いてる。どーしよー。るびまには、あれをコピペすればいいかー。

・・・だめだろうなぁ・・・。


時差ぼけ死にそう。


Ruby Tuesday 行ったよー(連絡)。


で、まつもとさんの日記のエントリーには、rubyconf へのつっこみが無い。日本人のrubyconfへの関心は低いってことだろうか。それとも・・・。


発表の簡単なまとめ。

英語は通じなかったが、ネタは誉められた。はたして、プレゼンとしてこれで正しいのだろうか。

_www(Thu Oct 07 18:57:31 JST 2004)

 ゴミはゴミ箱に!

_4(Mon)

今最後の発表で、そろそろ終わりです。

数日ネットワークにつながらなくなりそうなので、よろしく。

_たかはし(Tue Oct 05 23:52:08 JST 2004)

 ささださんに業務連絡。こちらは無事につきました。1時間しかなくてもおみやげを買うくらいの余裕はありました。出国手続き(といってもチケットとパスポートを見せるだけ)はニューアークのGATEでやるので忘れないように。無事を祈ります。

_ささだ(Wed Oct 06 01:11:32 JST 2004)

 よかったー。大丈夫だったんですね。すげぇどきどきしました。だって、日記書いてないんだもん。

_ささだ(Wed Oct 06 01:11:52 JST 2004)

 from kinko's @ Washington D.C.

_たかはし(Wed Oct 06 02:27:34 JST 2004)

 職場が無事じゃありませんでした……@まだ会社

_ogino.(Wed Oct 06 05:21:35 JST 2004)

 うぎゃ。ともかくご無事でなによりですが、帰国早々お体こわさないように気をつけてくださいねー。て人の日記で何をやっているのか。

_ささだ(Thu Oct 07 15:11:00 JST 2004)

 ただいま日本

_び(Thu Oct 07 16:31:54 JST 2004)

 お〜、お帰りなさい。無事、帰国、ヨカッタね

_3(Sun)

うー、緊張する。あと数十分。


終わりますた。

練習しないとだめだねぇ、毎回思うことですが。


どうでもいいことですが、すっかり書くのを忘れていたようなので書いておきますと、RubyConf2004 というイベントのために Washington D.C. のそばのホテルに来ています。昨日が発表でした。

今日が最終日です。というわけで、しゃべっていることがさっぱりわからないのです。やっぱり、ジョークがわからないのが悔しいなあ。

_たかはし(Sun Oct 03 03:43:32 JST 2004)

 はじまりました。

_ogino.(Sun Oct 03 03:44:10 JST 2004)

 Chad Fowlerの気合いの入った紹介でスタートです。

_ogino.(Sun Oct 03 03:45:17 JST 2004)

 まずベンチ結果を見せてます。

_たかはし(Sun Oct 03 03:48:43 JST 2004)

 おお、うけてますよ!

_ogino.(Sun Oct 03 03:48:44 JST 2004)

 質問は日本語で、とかそれ系のネタで攻めてます。

_ogino.(Sun Oct 03 03:53:25 JST 2004)

 日本Rubyの会とたかはしさんの紹介がありました。

_ogino.(Sun Oct 03 03:59:38 JST 2004)

 YARVの話に突入した。

_たかはし(Sun Oct 03 04:19:41 JST 2004)

 ちょっと難しいか。スライドに書いてない脱線はちょっと苦しそうです。

_たかはし(Sun Oct 03 04:32:01 JST 2004)

 ベンチマークはちょっと反応がありました。

_たかはし(Sun Oct 03 04:32:33 JST 2004)

 デモをしています。スタックフレームダンプとかを見せてます。

_ogino.(Sun Oct 03 04:36:29 JST 2004)

 まとめに入りました。

_たかはし(Sun Oct 03 04:40:51 JST 2004)

 拍手で終わりました。おつかれさまー。

_ogino.(Sun Oct 03 04:52:11 JST 2004)

 いやはや本当におつかれさまでした。

_sughimsi(Sun Oct 03 10:14:06 JST 2004)

 おつかれさまでした〜

_shelarcy(Sun Oct 03 17:13:35 JST 2004)

 おつかれさまでした

_2(Sat)

ただいまカンファレンス中。

全然さっぱり聞き取れません。


少しVMの話をした。日本人とは、そもそもVMについて話す人が殆どいないので、非常に楽しい。言ってることのほとんどがよくわからないのだけど。


Tシャツとピッケル本を貰う。わーい。

でも、枕にするには厚い。


うお、やっぱり Matzにっき効果凄いなあ・・・。


二日目開始。

_1(Fri)

相変わらず、言葉が通じません・・・。


プレゼン用意しないと・・・。アドリブでなんとかなるかなぁ、と思ってたんだけど、むりぽ。


行きは大変でした。大変というか、無謀でした。無事帰れるか心配です。

Sasada Koichi / sasada@namikilab.tuat.ac.jp
$Date: 2003/04/28 10:27:51 $