固形物取らないダイエット7日目.7kg 減った.あと一週間くらい続ければ,もうちょっといくかなぁ.
昨日はキャラメルヨーグルトとやらを食べた.美味しかった.今はいろんなもんがあるんだねぇ.
固形物を食べないダイエット 5 日目.
PowerPoint の画像はこうやって EPS 化すればいいのか.知らなかった.
うちの M2 の発表が終わった.総じて,悪くない印象.
修士論文審査会が終わって,だいぶ一段落.週末はお休みします.
しかし,「さぁ,週末だ美味しいものでも食べるぞ」とか思えないと,驚くほど人生に味わいがないというか.
まだ,お腹が変なので(毎食なんとかゼリー,ポカリをがぶ飲みだけだからか?),食べたい気はしないのだけど,味気ない.
また「嫁はまだか」イベント発生.
なんと,去年の9月以来のコミットだったらしい.
RubyKaigi 会議だった.
久々に Rails勉強会に出席.学生さんのメモリプロファイラの話を聞いてもらった.
やはり,フロントエンドへの注文が多いな.これからその辺はいじるんだろうけど.
なんか,とても楽しいハックの話を聞いた.凄かった.相手にとっては大変申し訳ないことをしてしまった気がする.
しかし,14 (木) は酷い日だった.
さすがに腹が減った.
なんか,防災訓練をやっている.凄い規模だ.
憧れの奥村先生にご挨拶ができて大変光栄でございました.
というのも,高校のころ,Cアルゴリズム辞典を読んで感動してこの業界に入ったような感じなので.
なんか,最近飲み会で寝てしまう.比較的,睡眠欲には勝てない質だったのだけれど.
MYTHREAD という語を見て, myth read って何か悩んだ.
外部イテレータを高速化するための仕組み(というか,Fiber を使わない用にするための仕組み)を作ってみた.
module OuterIterator def rewind @oe_prev_state = @oe_reset_value remove_instance_variable :prev_state end def next raise StopIteration unless has_next? next_value end def initialize_outeriterator reset_value = 0, data = nil @oe_prev_state = reset_value @oe_reset_value = reset_value @oe_data = data end end module IntegerTimesOuterIterator include OuterIterator def next_value r = @oe_prev_state @oe_prev_state += 1 r end def has_next? @oe_prev_state < @oe_data end end module ArrayOuterIterator include OuterIterator def next_value r = @oe_prev_state @oe_prev_state += 1 @oe_data[r] end def has_next? @oe_prev_state < @oe_data.size end end max = 1_000_000 ary = Array.new(max) iter = max.times oeiter = max.times oeiter.extend IntegerTimesOuterIterator oeiter.initialize_outeriterator 0, max aryiter = ary.each aryoeiter = ary.each aryoeiter.extend ArrayOuterIterator aryoeiter.initialize_outeriterator 0, ary require 'benchmark' Benchmark.bm{|x| x.report("times \t"){ max.times{} } x.report("times next\t"){ loop{ iter.next } } x.report("times oe\t"){ loop{ oeiter.next } } x.report("ary \t"){ ary.each{} } x.report("ary next\t"){ loop{ aryiter.next } } x.report("ary oe \t"){ loop{ aryoeiter.next } } }
こんなのを作ってみた.
ruby 1.9.2dev (2009-09-11 trunk 24849) [i386-mswin32_90] user system total real times 0.125000 0.000000 0.125000 ( 0.131000) times next 3.026000 0.000000 3.026000 ( 3.067000) times oe 0.827000 0.000000 0.827000 ( 0.790000) ary 0.125000 0.000000 0.125000 ( 0.137000) ary next 2.964000 0.000000 2.964000 ( 2.811000) ary oe 0.827000 0.000000 0.827000 ( 0.874000)
3倍くらい速くなる.
しかし,今学生さんにやってもらっている Fiber の高速化で 3 倍くらい速くなるらしいので,この程度の高速化は意味がない気がする.
と,久々に Ruby っぽい内容.
ruby 1.9.2dev (2010-01-08 trunk 26249) [x86_64-linux] user system total real times 0.100000 0.000000 0.100000 ( 0.097459) times next 2.740000 0.000000 2.740000 ( 2.741926) times oe 0.550000 0.000000 0.550000 ( 0.544832) ary 0.100000 0.000000 0.100000 ( 0.098708) ary next 2.770000 0.000000 2.770000 ( 2.767319) ary oe 0.650000 0.010000 0.660000 ( 0.650934)
まぁ,環境によりけりだねぇ.gem として作って置くのはいいかもしれんなぁ.
Actor model とプロセス代数の話がよくわかんなかったんだけど,比較があった.Wikipedia 恐るべし.
Actor model が自然物理から来てるって理屈がよくわかんなかったんだけど,どういう話なんだろう.
Actor modelに関するHewitt氏の主張は少し独特のように思います。Wikipediaでは http://www.guardian.co.uk/technology/2007/dec/09/wikipedia.internet という事態に至りました。
こういうのが書けるセンスは凄いなぁ.
PLDIr.勉強になるなぁ.
YARV に実装してみたい.
おもしろいけど、目的はsize optimizationみたいですね > Bytecode compression via... インストラクション融合の自動発見にも使えるかもしれないけれど、学習セットにoverfittingしちゃうようだと困るし、実行速度だけをmetricsにするとVMのISA=CPUのISAにしてネイティブコード生成するのが一番良かったりしそうで、バランスが難しいかも。
JITまで考えるといいと思うのですが,考えないとネイティブコードレベルに落とすと命令発行時間だけが大きくなりそうです.
2000 年の記事だけど,面白いな.私も,もっと大学を利用して色々出来るといいと思うんだけど.
noblesse oblige なぁ.全然そういう意識は無かったのだけれど,恵まれていないかというと,全然そんなことは無いだろうなぁ.
ボカロって一般用語なの? 何か最初わからなかった.
最近困った git の話.
■シチュエーション1 local -> remote
local (ClientA)で作業してきた git リポジトリがあるとする.他の人(ClientB)と共同作業をしたくなった.ClientB から ClientA は入れない(ssh で.以下同じ).そこで,A,B がともにアクセスできる ServerA を用意した.
そこで,取るべき選択は?
■シチュエーション2 remote -> remote
ClientA からアクセスできる ServerA 上に git リポジトリを作っていた.しかし,ServerA から ServerB にリポジトリを移さなければいけなくなった.ServerB から ServerA には入れない.逆も同じ.ClientA は,どちらにも入れる.
そこで,取るべき選択は?
結局どうしたかというと,ClientA のリポジトリを scp でサーバへコピーしたという.もうちょっとなんとかならないのかな.なんで git clone remote remote って出来ないんだろう.
コピー先サーバで git init して云々,が正しいんだろうか.こんなケースは滅多に無いのかなぁ.
今年はもうちょっとうまい文章が書けるようになりたい.
git format-patch でパッチを作ってメールで送るというのはどうでしょう?
過剰なカロリー制限はダイエットのためにはかえってよろしく無いと思いますので、ほどほどに。