WebService::AudioscrobblerをAlbumに対応

WebService::Audioscrobblerってのがあるんだけど、Artist,Track,Tagにしか対応してないのでAlbumにも対応させてみた。

WebService-Audioscrobbler-wAlbum.tar.gz

use WebService::Audioscrobbler;

my $ws = WebService::Audioscrobbler->new;
my $user  = $ws->user('kzfm');

my @albums  = $user->albums;

for my $album (@albums) {
  print $album->name . ":". $album->asin . "\n" if defined $album->asin;
}

さて実行

$ perl wa.pl
Bricolage:B000003S7Y
Hospital Mix 4:B0006ULVZW
Think Tank:B0000931OG
Bass Is Maternal:B00004T90L
Tally Ho!:B00000D9VK
Emperor Tomato Ketchup:B000002HK2
Sweetbox:B00000AFYM
Bodily Functions:B00005B9JQ
Hand on the Torch:B000005HB8
Supergrass:B00004S95F
Temperamental:B00001QENY
Inside Life:B0000046KU
Lifeforms (disc 2):B000003RVR
Night Food:B0000677MF
Hail to the Thief:B000092ZYX
My Point of View:B0009XE874
The Understanding:B0009RQRP6
On:B000002BCA
Amnesiac:B00005B4GU
無罪モラトリアム:B00000JD1I

perlでλ

謎のモジュールがあがってた。

my $code = sub {...};

を

my $code = λ{...};

と書ける。

lambda

HOP 8.2

Higher-Order Perl 8章

地道に理解しながら。

my $parser = make_parser_for_grammer 'expression',
  {
   expression => [['INT', '+', 'expression'],
          ['INT', '*', 'expression'],
          ['(', 'expression', ')'],
          ['INT'],
          ],
   },
  ['(', 'INT', '*', '(', 'INT', '+', 'INT', ')', ')']
  ;

$childrenの$productionの@childをprint

INT,+,expression
INT,*,expression
(,expression,)
INT

##
(,INT,+,expression,)
(,INT,*,expression,)
(,(,expression,),)
(,INT,)

##
(,INT,*,INT,+,expression,)
(,INT,*,INT,*,expression,)
(,INT,*,(,expression,),)
(,INT,*,INT,)

##
(,INT,*,(,INT,+,expression,),)
(,INT,*,(,INT,*,expression,),)
(,INT,*,(,(,expression,),),)
(,INT,*,(,INT,),)

##
(,INT,*,(,INT,+,INT,+,expression,),)
(,INT,*,(,INT,+,INT,*,expression,),)
(,INT,*,(,INT,+,(,expression,),),)
(,INT,*,(,INT,+,INT,),)

childrenでとりあえずgrammarから生成できる子を生成しといてis_interestingでフィルタリング(DFS)

ProductName Higher-order Perl: A Guide To Program Transformation
Mark Jason Dominus
Morgan Kaufmann Pub / ¥ 7,588 (2005-05-30)
通常24時間以内に発送

8章から突然難易度が上がる気がする。

ミトシー帰りは卓次郎商店でつけ麺

三連休の最終日はゆっくりしていたいところだったが、謎の強い要望によりミトシーに。

っていうか、隣の内浦漁港には釣りに何度も通ったがミトシーは初めて。釣り場の近くにペンギンがいたなんて、、、、

帰りは414を通って途中にある卓次郎商店へ。

卓次郎商店

つけ麺。

つけ麺 つけ麺

むちむちの太麺と、節節したスープが美味い。

黒龍 ひやおろし

黒龍のひやおろし。

黒龍

原酒なのでちょっときついかな。

Amazonのvinyl

最近Amazonがvinylに対応したのでlast.fm でよく聞いてるアーティストの amazon 新譜フィードをつくる pipesが良すぎ。

vinylがvinylを呼ぶって感じで散財間違いなし。

会議会議会議

かいぎかいぎかいぎで嫌になった。

かいぎ漬け

EmacsのPDB編集モード

Higher-order Perl 8章: Parser

HOPの8.2はatomとかsymbolがでてくる。これはlispで探すとわかりやすい説明がでてくるかなとググってみたら、

pdb.elっていうPDBのフォーマットを編集するEmacsのモードがヒットした。

Atom(原子)にシンボルか、確かに、、、、と妙に納得した。

ProductName Emacs 辞典 (DESKTOP REFERENCE)
佐藤 竜一
翔泳社 / ¥ 3,129 (2006-05-11)
通常24時間以内に発送

elispはEmacs辞典が簡単にまとまっていてわかりやすい。S式とかAtomとか読み返したらちょっとわかった気がした。

フォネロになった

ちょっと前にプロバイダをi-revoに変えたのと、YAPC::Asiaでfonルータもらってあったので、突然フォネロになってみたくなった三連休の最終日。

つないでチョコチョコ設定すればOKのお手軽さ。あっというまにlinusに昇格。

自分のFON_APが設定された後は、その範囲が気になるわけで、電波ビリビリ度どのくらいかなーとノートパソコン持ち出して外まで計測に行ってきた。

ふーん、思ったよりも電波って弱いのね、うちのワンコの散歩コースと一緒くらいだわ。

来週あたりよそのFON_AP攻めにいこうかな。というぐらいこの辺はFON密度が低い。

またまた大山で黒山

富士遠征。そして4日前に行ったばかりなのにまたもや大山

チケット ユキータ

今回黒山なるラーメンを注文してみた。そしてユッキーは蓮華を握り締めやる気充分だ。

黒山

黒山くろい、黒すぎですな。マー油かな。香ばしさの効いたとんこつラーメン。もしゃもしゃわしゃわしゃと食して大満足。