K.Sasada's Home Page

Diary - 2013 May

研究日記

皐月

_31(Fri)

RubyKaigi 2013 で発表しました。

発表中にデモを行った Object#where_are_you_from? をサポートする irb は、次のようなコードになります。

#!/home/ko1/tmp/trunk/bin/ruby
#
#   irb.rb - interactive ruby
#   	$Release Version: 0.9.6 $
#   	$Revision: 40560 $
#   	by Keiju ISHITSUKA(keiju@ruby-lang.org)
#

require "irb"
require 'objspace'

class Object
  def where_are_you_from?
    file = ObjectSpace.allocation_sourcefile(self)
    return unless file
    line = ObjectSpace.allocation_sourceline(self)
    "from #{file}:#{line}"
  end
end 

ObjectSpace.trace_object_allocations do
  IRB.start(__FILE__)
end

ただし、これらの ObjectSpace のメソッドはあまり議論されないまま私が勝手に導入してしまったので、あとで reject されるような気がします。

まぁ、とりあえず RubyKaigi でデモがしたかったのです(久しぶりに)。私の発表では、ObjectSpace.memsize_of(obj) とか、そういう比較的簡単に作れるけど、ちょっと便利そうなデモをすることが多い気がしますね。


本当はね、GC_START イベントとか使ってヒープの内容を可視化するような gem を作ろうとしたんだけど、外側から(gc.c 弄らないで)使うのが存外にしんどかったので諦めたという...。

多分、頑張れば出来るんですよ。

_2(Thu)

本を読みながら数段の階段を降りようとしたら、すっころんで足をひねってしまいました。ギブスをはめて、一ヶ月くらい安静にしないといけないみたい。出社しない理由ができた。


観察できたこと。

  • 転んだ直後、大丈夫ですか、と声をかけてくれる人がいて、まだ日本は大丈夫だな、と思った(六本木でした)。
  • タクシーがたまってるところだったので、すぐに乗れた。
  • 3件くらい病院を回って、診察してもらった。
    • 日赤なら大丈夫だろう、ってことだったんだけど、オペが入っていてだめだったそうです。
    • 3件目の広尾病院も、「診察はできるけど、オペや入院が必要な処置はできないが、了承するか?」と言われた。今回はそこまで大事じゃなかったけど、もし必要だったらと思うと大変恐ろしい。
  • タクシーの運転手さんががんばってくれて、車いすを病院の中から持ってきてくれた。その節はありがとうございました。
  • で、初車いすだったのだけど、やはりよくできているなぁと思った。でも、何かしら改善できそう。
  • 診察は結構すんなりやってくれて、レントゲン。プロの仕事は早いなぁ。
  • とくに骨に異常もなく、ねんざだけみたい。
    • 人によってねんざでも長い人短い人がいるらしい。
    • とにかく、動かすな、とのこと。
  • 初松葉杖。難しいなこれ!
  • 広尾駅までタクシー。
  • 広尾駅に階段しかない...。しんどかった。
  • まさかの柴田さんとばったり。
  • 日比谷駅もしんどかった。
  • シルバーシートに堂々と座れたのは初めてかもしれない。
  • しかし、そこそこ混んでいると、シルバーシートも埋まっており、そこで興味深い人間模様が見れた。というか、やっぱり思いやり大事だよね...。

ええと、何はともあれ、大変助かりました。すごく心強かったです。これからもよろしくお願いします。

_mootoh(Mon Jun 03 05:08:21 +0900 2013)

 ぬおおお大事に&ご用心を..

_mootoh(Mon Jun 03 05:08:23 +0900 2013)

 ぬおおお大事に&ご用心を..

Sasada Koichi / ko1 at atdot dot net
$Date: 2003/04/28 10:27:51 $