19042006 plagger
plaggerいじりしていて集中力が切れたら、突然、狙い撃ちbyリンダが、、、、、
プラガ~プラガ~プラプラガ~~
うーん、頭から離れん。
19042006 plagger
plaggerいじりしていて集中力が切れたら、突然、狙い撃ちbyリンダが、、、、、
プラガ~プラガ~プラプラガ~~
うーん、頭から離れん。
18042006 music
ラストのExit Music (For a Film)/Cinematic Orchestraはやっぱかっこええ。最近のニンジャはええかんじやね。
他に良かったもの。Knives Outは結構新鮮だったな。
16042006
うちのスケジュールの共有はカレンダーに直接書き込んで、朝食の際、目の前のカレンダーで確認するというアナログな方法でまぁ、うまくいっている気がしていたんだけど、最近会社のスケジュールとバッティングさせてしまうことが多い。
で、オンラインのスケジューラーを探していたんだヨ。もともと候補に挙がっていたのがphpicalendarなんだけども、自分で使う分にはいいけど、自分のサーバーだと、認証とかイントラのアクセスでホストネームが変わることとかU隊長に説明するのメンドイなぁと躊躇していたら、、、、
調子ヨサゲなサービス出た
とりあえず、共有の設定してみた。

重ねて表示できるので便利。あとは職場(outlook)の予定をうまくインポートすればいいのかな。
16042006 静岡
久々に喜八朗で。
季節限定麺が変わっていて、酸辣とGPBになっていた。
GPBはガーリック、パセリ、バジルの略らしい。というわけで、それを注文(醤油と塩の合わせ味で)
結論を先に言うとちょっとはずれだったヨ。
GPBはオイル足しただけなんだろうけど、焦がし玉ねぎと、浮いてるネギ、胡麻がぶつかりあって、なんかオイリーな上に邪魔な感がした。
水菜の代わりにフレッシュイタリアンパセリにして欲しかったり、とかネギ抜くとかメンマもいらないかも、あとバジルって結構匂いがきついから使うの難しかったりするよな。
でも、ラーメンとか麺類にパセリ使うのって結構おもろいかも。家のパセリで試してみよう。パクチーとかうまいし。
ちゅうわけで、今度は酸辣注文してみよう。
15042006
一家に1枚周期表に加えて、一家に1枚ヒトゲノムマップってのが出来てた。
ゲノムのほうは、フラッシュおもろい。周期表の方もいじって楽しいやつ用意すりゃいいのに。でもゲノムのやつは一家に一枚とか言うてるわりには説明が難し過ぎのやつが結構あるんじゃないかなぁ。
pdfでダウンロードさすだけじゃなく、APIでも用意してたたけるようにしてくれるとおもろいのにな。
14042006 perl
Perl Best Practicesがおもろいので、良書と噂のこれも読んでみてますヨ。
のp.402で、こんなもんが
my ($class, %args) = @_;
my %data;
@data{@attrs} = @args{@attrs};
わからん ?!
そういえば、オーこれは!と思ってブックマークしてたっけなとか思い出したので探し出してきた。
my %member;
@member{qw(name age)} = qw(takefumi 23);
print Dumper %member;
これやね。
Trickster 2.0 is coming ...: blog.bulknews.net
というわけで、僕が数年前につくった Pure perl の mp3 jukebox ソフトウェア Trickster の 2.0 を作ろうと思っています。
これはスンゲー面白そうだということにやっと気づいた今日この頃。 どっかで試す。
12042006 itunes
NamingSense::TokuLog! - アートワークを Perl で設定するの法
MP3::Tag を使ってこんな風にやると、とりあえずアートワークを設定できることを確認。
と、MP3にアートワークを埋め込む方法があったので、逆にMP3からアートワークを抽出するにはどうすんだろうか?
とか思ったので調べてみたところ、MP3::Infoを使えば、$x->{APIC}->{DATA}にバイナリが入っているのでそれをプリントすればいい。
#!/usr/bin/perl
use MP3::Info;
my $file = shift;
my $x = get_mp3tag($file, 2, 2);
print $x->{APIC}->{DATA};
このコードだと、バイナリがjpgかどうかわからんので、$x->{APIC}->{FORMAT}みてファイル形式チェックしないとあかん。
last.fmポッドキャスティングするときにアートワークがジャケである必要ないから、なんか曲にマッチした画像を自動で選んで突っ込めないもんかな。
MP3の波形とイメージの波形Image::Seekうまく相関させられるといいのか?
それか、もちっとバイナリで計算しやすそうなflickrのタグとかfingerprintにしたのと、last.fmのタグをfingerprintにしたもののマッチでも面白そうなんだけど。
12042006 東京
蒲田の駅そば。大盛りも無料だが、普通に注文。
節の出汁が結構出ていてうまい。でも、胡椒は別に振りかけてださなくてもいいかも。
麺がモチモチしてて、つけ麺頼んだほうがよかったかなぁ。というわけで、次の日もう一回行ってつけ麺頼んだらこっちのほうがずっとうまかった。
つけ麺おすすめ。
12042006 perl designpattern
今回はperlのモジュール使って書いたヨ、というわけではなくインスタンスのコピーってどうやってつくんの?っていう話題だ。
naoyaのはてなダイアリー - prototype.js でデザインパターン - Prototype
登録されてるインスタンスを連想配列から取り出して返却するのですが、そのときにそのまま取り出して返却するんではなく、インスタンスに実装されてる createClone() を呼び出して返却すると。createClone() の中ではインスタンスのコピーが行われます。
で、PerlサンプルのProduct.pmみてみると
sub clone { my $self = shift; my $class = ref($self); bless {%{$self}}, $class; } sub createclone { my $self = shift; return $self->clone; }
{%{$self}}がさっぱしわからん。なんでこれでインスタンス(ハッシュのリファレンス)のコピーが出来んの?
ってことを追求だ。
まず、インスタンスが異なるのかどうか、リファレンスをプリントして確認するためにmain.plをいじくる。
use strict; use Manager; use UnderlinePen; use MessageBox; my $manager = Manager->new; my $upen = UnderlinePen->new('~'); $manager->register("strong message", $upen); my $p11 = $manager->create("strong message"); my $p12 = $manager->create("strong message"); print $p11,"\n"; print $p12,"\n";
で実行。
$ perl main.pl UnderlinePen=HASH(0x8dc6604) UnderlinePen=HASH(0x8dc78dc)
おー、かわっとる。うーん、、、、、
素直に考えると
んだろうなぁと思うんだけど。
試しにProduct.pmのcloneメソッドをこんな感じで変えてみる。
sub clone { my $self = shift; my $class = ref($self); bless \%{$self}, $class; }
でさっきとおなじmain.plを実行
$ perl main.pl UnderlinePen=HASH(0x8491eb0) UnderlinePen=HASH(0x8491eb0)
同じリファレンスだ。
ということはreturnされるときにコピーされるのかなぁ。うーん結局わからん。無名ハッシュ生成のメカニズムあたりをちゃんとチェックすれば解決するのか?
こういうメモリまわりを追っかける場合ってperl -dすればいいのかなぁ。
オブジェクト指向Perlマスターコースの3章に書いてあった
refを使ってオブジェクトの型を調べつつ、新しく生成したオブジェクトをハッシュ間の単純代入をするといいらしい。
%{objref2 = ref($objref1)->new()} = %{$objref1}
だから、こんな感じでオブジェクトはコピーできるそうなんだ。
このエントリは結城浩さんの本と、それに載っているサンプルをPerlで書いた例をみながら考えたことをメモってます。あとは、はてなの伊藤さんのjavascriptでの例も参考にしてます。 間違いの指摘とか、もっといいやり方教授してくれたらとても嬉しいゾ。