年の瀬だなぁ.
IRCNet が不調のようで.このやばい時期に.どうしたものか.
さすがに今日は静か.さっさと帰っちゃおうかなあ.
「Windows ダンプの極意」という本をちょっと読んでいる.面白い本だなぁ,と思うけれど,内容が整理されていないように思えた.例えば,x86 の話なのか,Windows のカーネルの話なのか,ユーザレベルの話なのか,ドライバの話なのか,とか,その辺が曖昧だなぁ,と.
しかし,実践的だな.agree をとにかく押すってのが凄い.
いやしかし凄い本だ.なんか圧倒される感が.
珍しく豪勢に,ミニ雪見だいふく9個入り,というのを買ってきたんだが,袋分けされてなかった orz
一人暮らしにこれはつらい.
一流の若手研究者の人たちと忘年会.大変楽しかった(研究的な意味も含めて).
教育,実装,研究と,いろいろな立場とか考え方があって面白い.
なんかえらい風が強い.
こっちは雪が降ってた。
PPL の「申し込み」締め切りが過ぎてた.がーん.
投稿締め切りが 1/5 というのは覚えてたんだが.ううむ.
手頃なスピーカー + アンプが職場にほしいんだけれど,どの辺を買うといいんだろうな.ピンキリでさっぱりわからん.
これは全然知らなかったんだけど,SD に無理矢理 wireless 機能を持たせている? おもしろいなー.
マクドナルドでダブルクオーターパウンダーを食べてみたんだけれど,ただ単に肉が多いだけという印象しかなかった.この値段だったらワッパー食ってた方がいいな.
ちょっと,trunk が刺さるのが絞り込めないので,しょうがないから総当たりしてみる.
dirs = [] Dir.glob('../trunk/test/*'){|file| if FileTest.directory? file dirs << file end } 3.times{|i| dirs.permutation(i+1){|files| STDERR.puts files.inspect $0 = files.inspect system("make test-all TESTS='#{files.join(' ')}'") } }
Array#permutation 便利!
多分,一晩走らせれば刺さるだろう.
["../trunk/test/monitor", "../trunk/test/net"]
で刺さった.よし.
["../trunk/test/monitor", "../trunk/test/webrick"]
でも刺さるな.
うーん,webrick だけでも刺さってるっぽい.
もうちょっと細かい粒度でやってみたいもんなんだが.メソッド単位での組み合わせとか.
しかし,なぜ鯛焼きなんだろう.
最近というか,もっと前からかな,ペンを首から提げてるカードキーとか,首から提げるためのストラップにさしている.
私の職場(秋葉原ダイビル)では,RFIDなカードキーでドアをあけることになってるので,カードキーを首からさげることがルールになっている(カードキーを忘れることを防ぐためとか).なので,ちょうどいい感じにペンがさせる.最近は赤と黒のボールペンを2本さしている.でも,紙がないのがちょっと不便.ネックストラップとかにつけて重くない,かさばらない紙はあるだろうか.
名刺代わりにちょっと入れとくといいかも.もしくは,竹内先生方式の名刺にしてみるか.
TODO 管理がうまくいかないので,とりあえず xyzzy に簡単な TODO モードを付けてみよう,と思うようになった(手段が目的に).少しだけ考えて,よさそうだな,と思う設計はできた.しかし,xyzzy のモードの作成方法が未だにわからないんだよね.冬休みに試してみるか.
おかしいなぁ,全然余裕があるはずなんだが.
やっと不思議に思っていたことについて,謎が解けた.なんというか,大変理不尽でアレな話だったのだなぁ.やるせないというか.しんどい.
授業の準備.用意していたシナリオが,どうにもつまらなさそうなので,同じつまらないのなら基礎でもやるか,ということで,Ruby のオブジェクト管理の話を.RHG 読んだら一瞬でわかる話.
なりさんに GC のスライドもらっておけばよかった.
b-mobile 3G はすばらしいなあ.かなりつながる.
とりあえず,2個終わった.終わらせたというか,終わっちゃったというか.
年々クオリティが下がっている.やばい.
一応発表したスライド等はこちらにまとめています. http://www.narihiro.info/ pdfしか上げていないので修正しにくいものですが...
ううむ....
無事に1個終わった.あと3個.
こう見るとあんまりしんどくないよな.はて.
眠いよ.
http://anond.hatelabo.jp/20081217044451
「教員は、博士課程に学生が進学すればお金が入る。博士課程の学生がどうなろうと、一切責任を負わないで済む。」
そういう場所もあるのか.うちはなさそう.
座長って研究業績に書いておくと便利なこともあるだろうか.別に業績じゃないけど,メモしとかないと忘れるよな.もう,すっかり忘れてるし.
雨かー.どうやって帰ろう.
next49先生が紹介されている本をチェック,発注.
http://www.cshe.nagoya-u.ac.jp/tips/index.html
おおお,これは.とても勉強になる.というか,凄いな.
講義ノートってまともに作ってないんだよな....ごめん.
ガックシ orz
やりたいと思っていた研究が,すでに某OSDIで発表されてた罠.まぁ,そこでベストペーパー取るくらいなんだから,目の付け所はよかったと思って自分をなぐさめるか....いや,そんなんじゃ駄目だよなあ.と思ってたら,そもそも色々駄目だったらしい.
http://b.hatena.ne.jp/entry/http://i.loveruby.net/ja/hack/gc.html
Marin_MTB RubyにもGCがあるのか。Javaの時みたいに「メモリ管理はJavaがやるからメモリ解放は考慮しなくても良い」なんて考える人が増えなきゃ良いけどなぁ。 2008/12/15
いや,考えていいと思いますが.そのための GC なんだから.
atsushifx Ruby, gc, 内部処理 Rubyにおけるgcの実装。基本はリファレンスカウントでいいのかな 2008/12/14
いいえ,mark & sweep です.というか,読んでないのか?
7:10 の飛行機なので,6:10 にホテルを出ればよいか.
しかし,財布の中にはもう小銭しかない.たどり着けるだろうか.というか,朝飯食いたい.しかし,カードで払うような朝食はちょっと豪華すぎるな.
@NII.
@あきはばら.
なんか,目が回る. やばい.
そういえば,田村さんにご挨拶したかったんだけれど,誰かわからなかった.
九州Ruby会議.
九州産業大学,きれいだなー.すごい.
だめな発表をしてしまった.反省点は多い.デモは鬼門だなぁ.
今日も車で送ってもらいました.大変助かりました.ありがとうございます.
焼きそば. ほうれん草しか入れなかった.
九州に着ていく服が....
福岡空港に 18:30 着,夕飯が 19:30 とのことで,時間があいてしまうなぁ.どうしよ.
17:00 発だと思っていたら,16:30発で,16:10 羽田着となった.手前の自動チェックインマシンでは「お取扱期限を過ぎています」というのが出て,とてもとても焦った.
焦って走ってしまったが,なんとか間に合った.搭乗口では,すでにほぼ搭乗済みという状態だったらしい.危なかった.
昨日は水炊きな前夜祭みたいなものだった.おいしかったです.
永井さんにホテルまで車で連れてってもらう.大変助かりました.ありがとうございました.
asakusa.rb だった.大変立派なビルにおじゃましました.すごいところだった.
研究成果の公開を,ちょこちょこ進めるようにしている.
ファイルもできるだけ公開するようにしてみた.
しかしなんというか,英語の話がさっぱりなさ過ぎるですねえ....
next49先生のブログを見て.
http://okwave.jp/qa2087500.html?ans_count_asc=1
気持ちは理解します。しかし、今は、勉強させるようにしむけるのも教官の仕事です。そうしなければ学生の確保ができない時代が到来するからです。
ううむ....大学によるのかなぁ?
http://okwave.jp/qa1768008.html
教授は、権力で、学生を卒業させないこともできるんですね。
こういうのを権力というのか.責任という言葉を利用するのが適当だと思うのだけれど.
http://okwave.jp/qa3195253.html
ただ,研究室内のメンバーもアポが必要なんてのは何だか変な気もします.
教授の都合は考えないんだろうか....
http://okwave.jp/qa692743.html
修論の考え方が大変参考になった.しかし,ひどい先生もいるものだなぁ.
大学教員としての指導方法について,参考になる書籍はないかなぁ.
むぅ,九州に着ていく服がない.
今日は授業は一人.雑談モード.
http://www.alpha-denshi.co.jp/seihin/toriatukai/AtmarkTechno/Armadillo500FX/Armadillo-500FX_gaiyou.html が届いたんだが,さて,どう遊んだものか.
binutils の opcode を見ても,x86 の命令を定義しているものが見あたらない気がする.i386-dis.c という,disasm っぽいものならあるんだけど.どうやってんだろ.
朝早いよ!
昔から,指導しないといけない人には「スクリプト言語を一つは覚えておけ」と言っているんだけれど,多分実感しないといけないんだと思う.というわけで,クイックハック大会みたいなことをやれば,「ああ,スクリプト言語便利だな」と思うこともあると思うんだが,さて題材は何がいいだろうか.
DSLを設計・実装せよというのが良いのでは。
研究室の雑用をかたづけるスクリプトをひとつ書いてもらう、とか。毎年だんだん環境がリッチになってゆく (会議室予約システム、掃除当番割り当てシステム、宴会出欠システム、バックアップ管理システム、面接予約時間リマインダーシステム、…)
もっと小さいものを考えてました.5分程度で競争できそうなやつ.でも,そういうガッツリさせる話もいいなぁ.
研究室の同期で、「スクリプト言語覚えると便利だよ」といくらいっても「俺スクリプト言語苦手だから」と言ってなんでも手作業で頑張ろうとする人がいてどうしたもんかと思っていたところです。彼の場合はいかに便利かいろいろみせつけてもダメでしたねぇ、、
東京農工大の研究室で(途中まで)同期だった、しも○○○です。実は、いつもチェックしてます。「スクリプト言語を一つは覚えておけ」って在学中に言ってくれれば・・・
おお,お久しぶりです.内倉には口を酸っぱくして言ってたんだけど.というか,言ってなかったっけ?
この間、@kmizuや@soutaroとやって楽しかったのは「一時間でブラックジャック対戦ゲームを作ろう!」というやつですね。プロトコル決めといて、ロジックもルールも単純な物を短い時間でわーっと同時にやらせれば、自然と記述力が高くて短く書ける言語に目が向くと思いました。
個人的にはパラメータ変えてベンチマーク→gnuplotでプロットみたいな作業で一番ありがたみを感じる気がします
エロ画像を一括ダウンロードするスクリプトとか
5分でDSLを作ればよいのですよ。言語じゃなくて配列を処理して変形するとかそのような感じでも。
yooseeさん:楽しいかもしれないけど,大学ではちょっと出来ないなぁ.
よしきさん:課題をちゃんと作ればよい例題になりそうですね.
ついうっかり,サラダを買おうとして,一緒にお弁当を買ってしまった.
Cuckoo Hashingというものを知る.おもしろいなあ.
学生さんがガチでオーバーレイネットワークを用いた分散システムというか,そういうのに取り組んでいるので,ちょっとまじめに勉強しようと思うのだけれど,断片的な情報しかヒットしないので,現在の技術水準というか,何がどうなっているのかよくわからない.今までも,とんがったところの話とかいろいろ聴いてきたから(首藤さんには,何度もいろいろ聞いた気がする),なんとなくはわかるんだけど,全体像としてとらえられていない.具体的には,各技術が全体に対してどういう位置づけなのか,いまいちわからない.あと,技術の名前と実際のアプリケーションの名前とか,規格やライブラリの名前とか,混乱.
どっかにまとまった資料はないものか.
自動並列化は十分人間が並列プログラムを書きやすければ必要ないんだよなー.
next49先生効果 gkbr.
今更ながら,threaded code の性能評価をやり直してる.いろいろとおもしろい.
で,それはいいんだけれど,一部でさっぱりわからん結果が出ている.
subr | direct | call | switch | |
10 | 36.45813203 | 36.12786818 | 37.17375493 | 36.81458783 |
20 | 36.45773697 | 36.13480997 | 37.17635703 | 36.86630607 |
40 | 36.45789099 | 36.14006996 | 37.17682099 | 36.860322 |
60 | 36.09313703 | 35.7846899 | 36.80415106 | 36.59965301 |
80 | 36.45862103 | 36.135185 | 37.17609692 | 36.9613018 |
100 | 36.45698094 | 36.15689492 | 37.17653894 | 36.95372796 |
200 | 36.45311618 | 36.14479899 | 37.17616701 | 36.95865393 |
400 | 36.43550587 | 36.18747211 | 37.17852783 | 37.01044297 |
600 | 32.87979007 | 32.74004602 | 33.47192001 | 33.40546203 |
800 | 36.90069103 | 36.57479095 | 37.44655704 | 37.34135318 |
1000 | 37.18330884 | 36.87339091 | 37.72606611 | 37.67485094 |
2000 | 37.65228486 | 37.43150616 | 38.29470301 | 38.260396 |
これは,左端が VM の命令数を表しており,てきとーにその命令を subroutine threading, direct threading, call threading, switch threading で実行した結果(Intel(R) Xeon(R) CPU E5335 @ 2.00GHz,gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21),-O3).実行時間(秒).
で,threading 手法の差がほとんど無いのは,各命令が volatile 変数使って 100 回ループしているから.つまり,粒度が大きな命令では,いくら threading 手法を変更したって差はないよな,ということを確認するためにやってみた.で,そのとおり,ほとんど差がない.なんとなく call threading がやはり遅いが,でも 3 % 程度.粒度が小さい評価は,また今度示す.これはこれでおもしろい結果が出ている.
で,ふしぎなのは,命令数が 600 のとき,有意にどの threading 手法を使っても実行時間が短い.なぜか 600 の部分だけ.3回,違うパターンで命令を実行させてみたんだけど(sequentialに命令数だけ,逆順に sequential に,ランダムに),それぞれ似たような結果になった.なんで 600 命令の時だけ?
subr | direct | call | switch | |
10 | 0.625209093 | 0.222279072 | 0.453166962 | 0.272603989 |
20 | 0.622439861 | 0.224920988 | 0.54347086 | 0.275149107 |
40 | 0.635741949 | 0.226155043 | 0.655899048 | 0.377712011 |
60 | 0.635829926 | 0.224326849 | 0.747438908 | 0.52976799 |
80 | 0.648950815 | 0.226818085 | 0.881452799 | 0.507116079 |
100 | 0.651360035 | 0.237955093 | 0.914353132 | 0.591889143 |
200 | 0.648565054 | 0.237870932 | 1.10024786 | 0.821782112 |
400 | 0.654598951 | 0.25250411 | 1.230106831 | 1.001978159 |
600 | 0.773349047 | 0.25127697 | 1.17417407 | 0.970890045 |
800 | 1.38558197 | 0.485108137 | 1.72854495 | 1.278697014 |
1000 | 1.466078997 | 0.94461298 | 1.745711088 | 1.550237894 |
2000 | 1.597054958 | 1.221397161 | 2.043941021 | 1.56132412 |
これは,0 回ループ,つまりとても粒度が小さい場合(seq).妥当に direct が速い.subr が遅いのが意外.つまり,関数呼び出しのオーバヘッドに負けてるんだね.たら,これは fastcall にすれば変わる可能性がある.というか,それやらないといかんよな.
追記:x86_64 だから,fastcall は不要だった.
しかし,cl(VS付属のMS製C Compiler)で3000個のcase文をもつswitchが死ぬほど重い.
100 | 36.4559690952301 | 36.1380088329315 | 37.1741099357605 | 36.9537038803101 |
200 | 36.4491798877716 | 36.1651260852814 | 37.1849348545074 | 36.9558129310608 |
300 | 35.5262680053711 | 35.2424070835114 | 36.2455999851227 | 36.02978515625 |
400 | 36.432667016983 | 36.1898629665375 | 37.1815958023071 | 36.9951071739197 |
500 | 36.4653789997101 | 36.310448884964 | 37.1852622032166 | 37.0921499729156 |
600 | 32.8815360069275 | 32.7427990436554 | 33.4785468578339 | 33.4117870330811 |
700 | 32.1127769947052 | 31.8420729637146 | 32.613135099411 | 32.5288128852844 |
800 | 36.8899750709534 | 36.5674648284912 | 37.4460871219635 | 37.3273448944092 |
900 | 33.3375010490417 | 33.0524101257324 | 33.8161840438843 | 33.760675907135 |
1000 | 37.1549069881439 | 36.8774950504303 | 37.6785838603973 | 37.6510908603668 |
続き.どうやら,500〜800 あたりが怪しい.いや,900も怪しいか.
500 | 36.2707438468933 |
510 | 32.3646540641785 |
520 | 33.0464360713959 |
530 | 33.7121479511261 |
540 | 34.3260898590088 |
550 | 34.9935128688812 |
560 | 35.5881478786469 |
570 | 36.2837071418762 |
580 | 31.6210141181946 |
590 | 32.1918909549713 |
600 | 32.7157220840454 |
610 | 33.2914230823517 |
620 | 33.8107740879059 |
630 | 34.3976359367371 |
640 | 34.9201810359955 |
650 | 35.4593760967255 |
660 | 36.0147831439972 |
670 | 30.4637839794159 |
680 | 30.9268069267273 |
690 | 31.4017820358276 |
700 | 31.8678860664368 |
710 | 32.3081798553467 |
720 | 32.7905390262604 |
730 | 33.2461049556732 |
740 | 33.7344648838043 |
750 | 34.2084119319916 |
760 | 34.6705410480499 |
770 | 35.1536250114441 |
780 | 35.6273069381714 |
790 | 36.1061980724335 |
800 | 36.5688700675964 |
面倒なので,direct threaded code だけにしてみた.
ただのバグだったことが判明 orz orz orz
http://d.hatena.ne.jp/steel-plate/20080219/1203437496
違い,って,違いあるのかな? 読んでもわからなかった.
http://d.hatena.ne.jp/next49/20080214/p1
大変楽しかったのだけれど,ここで大笑いしてしまった.
場合によっては、ここいらへんでスキーに行くのも良い。先生に絶望感を与えられる上に、君は楽しいという一挙両得のアイデアだ。
http://d.hatena.ne.jp/next49/20070708/p1 より,ささだけんをチェック.
この辺は,専攻の資料を調べないとわからないな.大半は情報理工のウェブサイトを見れば書いてあるのではないか.
とりあえず,このリストをまともなものにしていくところからか.
朝飯を多く食べるようにしたいが,なかなか作る気力が.いい手は無いだろうか.
http://www.itmedia.co.jp/news/articles/0812/08/news091.html
すごいセンスだ.いいなぁ.
やっと自転車を買った.すごい疲れる.電動付自転車すばらしい.
寒い....暖房がほしい.
最近 VOA Special English の mp3 の拡張子が Mp3 になってたりでスクリプトがちょっと変な感じだった.修正.
最近の週末は,飯の回数が減ってる(量が減っているかは微妙).でも,痩せない.食費は減って助かるんだけどなー.
麺類ばっかりだな.
なんか,ふらふらするんだけど(空腹という意味ではない),野菜とかがとても不足している気がする.
飯の代わりに最近チューハイを飲んでる気がするので,カロリーは減ってないか.
http://d.hatena.ne.jp/wasisan/20081208
よく,指摘している危険がわからなかったなー.cyanをよく知らないというのもあるんだけど,すげー,おもしれー,というところで止まっている.
F8 を使って一週間過ぎた.意外と取っ手は使っている.というか,取っ手を引っ張らないとふたが開かない仕様はどうかと思った.
パフォーマンスは,やはりよい.Ruby のビルドも(ある程度)軽快だ.メモリ 4GB も積んでるから,メモリ不足もおこらない.なので,とりあえず Vista 標準の shell にしている.
重さは,やっぱり重い.T5 を久々に持ったら,あまりの軽さにびっくり.
大きさは,やっぱりでかい.飯を食いながら,というのがやりづらくなった.
キーボードは,だいぶ慣れた気がする.手を大きく広げなくてはならなくなって,ちょっとつらい.あと,打鍵音がうるさい.内職には向かないと思う.
T5 をインターフェースにできるといいんだけどなぁ.ううむ.
プロシンの参加申し込みが延期になったそうです.興味のある方はぜひ.
使ってほしくない機能,しかし,やはり無いとまずい機能をどのように提供するのか,という問題.たとえば機能をメソッド単位とする.
「マンガでわかる〜」シリーズ,コンプリートしてしまった.
ラダー制御もばっちりですね(まだ出てないかな?)<マンガでわかる、の話
なかなかうまくいかんもんだなぁ....
来年度の人手が....どうなることやら.
たださん効果すげー.
オブラート重要.
今週の金曜日は早く終わった.
http://rubyconf2008.confreaks.com/ おお,すごい.ページの構成とか.これは,経済的にはどうなんだろうな.宣伝代?
どうにも勘違いして死にたくなってるんだけれど,自分の領分を弁えて努力するしかないんだよな.
http://www.shudo.net/diary/2008dec.html#20081201
なんとなんと! すごい人気研究室になりそうだなー.
文献リストをまじめに管理しようと思うのだけれど,どうすれば自動化が簡単になるか.
年代順とか,査読付き論文誌とか,国際会議とか,そういうのを簡単に管理する方法.
いろいろ考えたけれど,BibTexとかまで手を広げるとどーせ途中で挫折しそうなので,今まで作っていた文献リストを Ruby のデータ構造に展開するプログラムを作って,それで管理するようにした.
Skype のアイコンがタスクバーから無くなってしまった.なんでだろう.
ところで,Ruby 1.9 というのが出るらしいので,常用するようにしてみた.
Enumerator 楽でいいなぁ.Hash の新記法というものも,もう少しまともに使うようにすればよかった.
そういえば,日記で書いていませんでしたが,PTT#350 が 12/18 (木) に行われます.今回は,忘年会を兼ねるため,懇親会の人数の事前調査を行います.基本的に,飛び入りはできません.希望する方は以下のページの要領でメールください.
論文検索サイトからBibTeXのエントリーをcopy&pasteしたりできませんかーってRubyで解決してますが
bibtex をきれいに整形したりなんなりすると,なんか面倒そうで....もう,自分フォーマットでまとめたほうがいいや,と.
整形するのは投稿先の論文のスタイルファイルのおシゴトです!だめ?
ああ,すみません.自分の発表文献リストを考えてました.
12月.今月は(略).
たまっているメールの処理.
しまった,福岡行きの飛行機,まだ取ってない.やすいチケットはもう無いか... orz
一泊するかどうするか悩む.
http://codezine.jp/article/detail/3354
笹田耕一氏(YAML開発者)、株式会社プリファードインストラクチャー
俺は _why じゃない.
http://itpro.nikkeibp.co.jp/article/NEWS/20081201/320436/
東京大学大学院助教としてRubyを研究しており
今は助教じゃなくて講師.
コミュニティのカラーいろいろ.
受賞するとわいわい祝福されるのが YLUG,_why, _why いじめられるのが Ruby.
単によしおかさんの人望との差,という気もする.
雨が降ってきてしまった orz
とりあえず、個別にラップで包みます?