23122007 sake
ちょいと富士宮に出かける用があったので、ついでによこぜきで年末年始の日本酒を物色。
- 國香の特別純米の中取り
- 義侠の純米
- 十四代の純米吟醸(山田錦)
十四代はカードにスタンプが丁度溜まったので予期せぬ購入。一升瓶三本買ったので、冷蔵庫が圧迫されるとU隊長には不評。
マイ冷蔵庫が必要だなあとつぶやいたが、これは高いと却下されそうな予感。一升4,5本入る丁度いい冷蔵庫が欲しい。
23122007 sake
23122007 sake
23122007 music
クリスマスRMX
10年以上経ってんのに色褪せない。
竹村延和のアルバムもそろそろ。
22122007 Gauche
なんとなく掴みかけてきた。
continuation は「continuation が呼ばれると、continuation が作られた call/cc の外に、引数を call/cc の返り値としてジャンプする」というのが正しい振る舞いです。
gosh> (+ 5 (call/cc (lambda (cont) (* 10 10))))
105
gosh> (+ 5 (call/cc (lambda (cont) (cont 10))))
15
gosh> (+ 5 (call/cc (lambda (cont) (cont (+ 1 2 3)))))
11
次にやる処理を包み込んでひっくり返すというイメージよりは、単純にセーブポイントと考えたほうがよいのかな。call/ccの返り値としてジャンプ
gosh> (define cont #f)
cont
gosh> (+ 5 (call/cc (lambda (c) (begin (set! cont c) 10))))
15
gosh> (cont 30)
35
gosh> (cont (+ 1 2 3))
11
さてcall/ccを通って何かが出て行くというイメージだと、二枚がけとかできそうな感じなのでやってみる。
gosh> (+ 10 (call/cc (lambda (d) (begin (set! cont2 d)
(+ 5 (call/cc (lambda (c) (begin (set! cont c) 10))))))))
25
セーブポイントはcont2とcontの二箇所。cont2をよべば(+ 10 cont2の返り値),contを呼べば(+ 10 (+ 5 contの返り値)が評価されるはず。
gosh> (cont 3)
18
gosh> (cont2 3)
13
おーきた。call/ccからジャンプしてきた。なんつーかperlのデバッガで作業してるみたいな感覚だ。
使ったことないってのが謎なんだけど、Rはvanillaでスクリプトとして流すかRSOAPとかでしか使ってなかったので、あんま対話環境にこだわらなかったので。
Meadow で R-modeを参考にしてインストールしたけど、Rの起動画面が文字化け。
;;ESS
(load "C:/ess-5.3.6/lisp/ess-site")
(require 'ess-site)
(setq auto-mode-alist
(cons (cons "\\.r$" 'R-mode) auto-mode-alist))
(setq inferior-R-program-name "C:/Program Files/R/R-2.6.1/bin/Rterm.exe")
(setq ess-ask-for-ess-directory nil)
(setq ess-pre-run-hook
'((lambda () (setq S-directory default-directory)
(setq default-process-coding-system
'(shift_jis-unix . shift_jis-unix))
)))
と設定したら文字化け解消。
まだ、ESSの快適さは実感してないけど、これからかな。
Mastering Algorithms With PerlこういうのはRに任す。確率分布とか充実してる。
15章も統計なのでRで。
16章は微分とかsmoothingとかSICPな感じなので流し読みして終了。
ってことで、MAWPも終了。ソート、マトリックス、グラフ、文字列マッチング、暗号あたりが面白かった。
アンゴウよりアンコウ+日本酒のほうが好きなんだけど。
Mastering Algorithms With Perlというより、数式を避けてただけだった。ちゃんと読んでみると暗号も面白いかも。 法とか合同をほうとかいいながら読んでた。MAWPの説明だけだと分かりにくかったのでRSA暗号を参考にした。
MAWPにあったSSLeayっていうモジュールがなかったのでCrypt::RSAで遊んだ。
use Crypt::RSA;
use Data::Dumper;
my $rsa = new Crypt::RSA;
my ($public, $private) =
$rsa->keygen (
Identity => 'Kzfm Ohkw <xxxx@gmail.com>',
Size => 1024,
Password => 'drumnbass',
Verbosity => 1,
) or die $rsa->errstr();
print Dumper($public);
公開鍵
$VAR1 = bless( {
'e' => 65537,
'n' => '12390802849571403672579795755491999585878694
2679376999148135793744998012786068647404317033
4506694188629007869741465370712440443624446804
8813574622838502197241514075336790104367156693
3189856420057871502127203513391621825674392638
5941923712730877023358276499112454722795081438
05979844138326376749179360228658183',
'Version' => '1.91',
'Identity' => 'Kzfm Ohkw <xxxx@gmail.com>'
}, 'Crypt::RSA::Key::Public' );
おー65537乗してnでmodるのか。
17122007 life
昨日、富士のオートバックス(スーパーオートバックスっていうの)にいってスタッドレスに履き替えようとして、
「タイヤの付け替えしたいんですけど」
「はぁ~、付け替えってなんですか?」
って受付に言われた上、料金が倍、さらに3時間待ちって言われたので、やめて帰ってきた。そのときはスーパーだけに工賃高いのかなーって思ったけど、単に間違えてただけだろう。
あと、付け替えってオートバックス用語じゃろが~ってちょっとむっとしたけど、富士は雪なんて降んないからスタッドレス履かないからわかんないんじゃないの?って富士の人に言われてちょっと納得。
というわけで、タイヤを詰んだまま会社。帰りにいつも使ってたオートバックスで付け替えした。
作業を待っている間、数学ガールを読んでた。4章のフィボナッチ数列と母関数の話はおもろいね。ちょっとのめりこみそう。