メタモのタイムテーブルがでた

距離的にも、精神的にもルナーが遠い(ような気がする)

メタモのタイムテーブル

すその水ギョーザ

今年のB1にも出品されたすその水ギョーザを食べる機会があった。

先週末、阿波踊りのお祭りがあって、娘のユッキーが踊るらしいので録画隊として駆り出されたが暇すぎ。やることもないので、ビール飲んで巷で噂のすその水ギョーザつまんだ。

すその水ギョーザ

餃子なのにスイトンみたいで、しかも緑はモロヘイヤグリーン。謎の地元アイテムということで。

ちなみにモロヘイヤはよく食べるヨ。最近納豆とあえて食べるのがブーム

perlでPageRank

動かないのでこっちに書いておく。

どう書く?のお題でPageRankの計算を解いてたんだけどうまく動かない。

use Math::MatrixReal;

my $data = {
           1 => [2, 3, 4, 5, 7],
           2 => [1],
           3 => [1, 2],           4 => [2, 3, 5],
           5 => [1, 3, 4, 6],
           6 => [1, 5],
           7 => [5],
           };

sub pagerank {
 my $data = shift;
 my $rows = scalar(keys %$data);
 my $mat = Math::MatrixReal->new($rows,$rows);;

 while(my ($i, $link) = each %{$data}){
   for my $j (@{$link}){
     $mat->assign($j,$i,1/scalar(@{$link}));
   }
 }
 #print $mat;
 $det = $mat->det();
 print "det: ",$det,"\n";
}

pagerank($data);

実行結果

$ perl pr.pl 
det: -0

detが-0ってことは、複素数の計算ができてないとかそういうことかなぁ。全然わからんので書きかけで放り投げた。

個人用ツールバーフォルダにキーボードショートカットを使いたい

個人用ツールバーフォルダにfavidonだけ表示させて簡易ボタンとして使うのは便利だ。

だが、キーボードショートカットとかキーボードで操作できると便利だと思うんだがやり方がわからない。

Alt-bでたどるってのもぁ、、、

SICP 2章終了

今週は朝も夜も週末も集中して読めたため、2章を読み終えた。最後の2.5はなんかいい加減に読んだので後々読み返すことになりそうな気もするが。

ProductName 計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン,ジュリー サスマン,ハロルド エイブルソン
ピアソンエデュケーション / ¥ 4,830 (2000-02)
通常24時間以内に発送

p.109のメッセージパッシングとOOPって関連するよな。と思って調べてみたけどいまいちうまい表現が見つからなかった。

あとperlでOOPやるときのblessとmy $self = shift;みたいに第一引数が自分自身なのとperlのオブジェクトがblessされたハッシュリファレンスなこととか、もうすこしでちゃんと理解できそうな感じなんだけど、Perl におけるオブジェクト指向を読んでちょっと前進。

おもしろいですな、SICP

car ''testの謎

SICPの問題2.55で

gosh> (car ''test)
quote
gosh> (cdr ''test)
(test)

と印字する理由がいまいち分からなかったがそれっぽく書いてみたら、こんな感じか、、、

gosh> (cdr (quote 'test))
quote
gosh> (cdr (quote 'test))
(test)

と思ったら、前のページの注釈に書いてあった。

perlの標準モジュールを調べるには

どう書く?はじめました。kzfmだけど、いきなり標準モジュールでないautoboxでhello worldをといたのは不適切だったか(単に使ってみたかった)。

というわけで、標準モジュールの調べ方。

man perlmodlib

perlでaccumulate

最近朝起きてSICPを読んでる。で、SICPの2章も中盤を越えて、accumulateを使って行列の演算を定義した。

ふむーこれはpythonでやってみたいなと思ってたら、ちょうどタイミングよくpythonでやってる人がいた。

ので、perlで。

sub accumulate{
 my ($op, $init, $list) = @_;
 @$list == () ? return $init :
   return $op->(shift(@$list),accumulate($op,$init,$list));
}

my $test_func = sub {return $_[0]+$_[1];};
my $test_list = [1,2,3,4,5];

print accumulate($test_func, 0, $test_list);

で、SICPみたいに、たたみこむだけじゃなくてリストを戻したい。

my $cons = sub {return [@{$_[1]},$_[0]];};
XXX accumulate($cons, [], [1,2,3,4,5]);

List::Utilでも同じことできるみたいですが。自分で書いてみたかったということで。

perlで一気読みモード

すぐわすれるので、探した

my $data = do { local $/; <$file> };

あとでPBP読み返す。

ProductName Perl Best Practices
Damian Conway
Oreilly & Associates Inc / 2922円 ( 2005-08 )


日本語版も欲しいかも。

NYNY(内容ないよう)っていうタグ

普通のSBSだといいにしろ悪いにしろ(これはひどいとか)、情報的に何かを与えるものをブックマークするわけだから、情報量が少ないものにタグがふられブックマークされることはまれだろう。

で、僕は読んだ文献をタグつけて管理するSBSを使っているので、斜め読みどころか縦読みするような論文もたまにある。そういう情報的に価値のあまりない論文には情報のないっていう情報としてorzとかつけてたが、今日NYNYというコジャレタグを思いついた。

それにしても、合成のレターとか考察とかアレだから、反応の公共データベースでも作ってそこに登録するほうがよっぽど役に立つのにとか思う。

とか、考えるに、ソーシャルブックマークには数字でいうところのゼロにあたる行為(というか概念)がないのかな。RSSリーダーとかで読まれてる割にブックマークされてないとかっていう指標ってどうかな。