28022007 life
デジカメは一人一台+デジタルビデオはあるんだけど、ちょっとした日常のひとコマを切り取るのにちょうどいい動画デジカメはないかなぁと物色してたら
欲しくなった。HD1,HD2だったらハイビジョンデジタルビデオ買うからこのぐらいのスペックと値段は結構いいかも。
週末電気屋で実機調査な予感。
28022007 life
デジカメは一人一台+デジタルビデオはあるんだけど、ちょっとした日常のひとコマを切り取るのにちょうどいい動画デジカメはないかなぁと物色してたら
欲しくなった。HD1,HD2だったらハイビジョンデジタルビデオ買うからこのぐらいのスペックと値段は結構いいかも。
週末電気屋で実機調査な予感。
ジャズトロ好きならきっと気に入ると思うよ(ボソッと)。ベースが際だってる感じで、ビニョ―ン感っていうか、スイングっぽいうねりが気持ちいい。
ジャズトロよりは渋め。そしてボーカルが多め。
正直ムンベーっぽさはない。Bed Of Rosesくらいなもんか。
聴き飽きしなさそうな感じ、というかたいして聴いてもいないのにそう感じさせるのは多分クォリティーが高いんでしょう。
ちなみにこのアルバムでの僕の一番はThe Awakeningだ。ポエトリーっぽいボーカルにゆったりうねるリズムがたまらん。
28022007 catalyst
いつもタグクラウド作るのにHTML::TagCloudとかHTML::TagCloud::Extendedを使っていたのだが、WWW::CloudCreatorというモジュールを教えてもらったのでいじってみた。
おおまかな違いはHTML::TagCloudはhtml(とcss)をそのまま吐くのに対し、WWW::CloudCreatorはタグ名とカウントとスタイル要素を戻してくる。
だから、TTと組み合わせるにはWWW::CloudCreatorのほうが良い感じ。
ただし、配列で戻してくるのでTTが
[% FOREACH tag = tagcloud %] <span style="[% tag.2 %]"> <a href="[% Catalyst.uri_for('/bookmarks/') %]/[% tag.0 %]"> [% tag.0 %]([% tag.1 %]) </a> </span> [% END %]
となってちょっとわかりにくい気が。
あと、WWW::CloudCreatorはサイズだけじゃなくて色も変化させることができるんだが、こっちはちょっとバグってた。
81行目あたりをhexdecでレンジを揃えて82行目でdechex二度がけ。
my $ihex = hexdec($coldarray[$i]) + ($colorstep[$i] * $fraction); my $decihex = dechex(dechex( $ihex ));
dechex関数も直す。負の方向にグラデーションがかかる場合にa-fがdechexに渡ったら無視するように。
sub dechex { if($_[0] =~ /\d+/){ return sprintf '%x', $_[0]; } else { return $_[0]; } }
これでうまくいってるような気がするけど。

色のグラデーションはタグの頻度ではなくて、タグ間の関連性とかの違う軸ででかけるようにしたいなぁ。
26022007 長野
今シーズンはまるで滑ってないわけだが、苗場、赤倉温泉に続いていつのも山田牧場に行ってきた(ヤマボクトリップ)
到着して一言、
ウワー、雪がねー。
正直、一昨年の年末のヤマボクよりも雪が少ない。
前日降ったにも関わらず、上級コースは笹が見えまくりで滑れそうなかんじではニャイ(でも滑ったけど)。しかもところどころガードレール見えてるし(擦ったけど)。後で宿の人に聞いたら、今シーズンは上級コースがまともに滑れる日が一日もなかったそうだ。
初日は吹雪いてたが、スコップ担いで、ビデオ持ってキッカー作って飛びまくり。例年より雪が少ないのでキッカーポイント探すのに苦労した。カメラは持って行ってなかったので写真は撮ってないが、吹雪いていると微妙に視界が悪く、樹氷が綺麗で、一人乗りリフトなんか乗ると幻想的で綺麗だ。一度は薦めたい。
二日目は前日とは違い快晴。しかも少しだけ積もったので、スピード出すと雪が舞うのできもちいい。右側のリフト降りたとこで撮影したらこんな感じ。
ちょっと厳しいそうな林間とか怪しそうな新雪を隠れキャラに気をつけながら滑りまくり。数少ない今シーズンのトリップの中で一番。
昼は、二日ともコンパス。前日はチーズとベーコンの焼きカレーを食べたので、二日目はベーコンと杏のピザ(蕎麦粉)とカフェオレ。
ベーコンに杏はどうかなと思ったけど、鴨肉にフルーツソースかけた感じでかなりいい。やっぱ、キッチンコンパスうめー。
ヤマボクサイコー!
でも、今シーズン滑り納めな気がする。
TTにクロージャを渡せるということを知らなかったので、ドキュメントを読んだ。
Catalystだとコントローラーでクロージャ作ってTTに渡せばプラグイン化するまでもないちょっとした処理はOKっぽい。
Virtual Methodsはpythonみたいだ。メソッドとして使いたいものはこっちで書いたほうがいい気がするが、プラグイン化するのが前提っぽいのでお手軽感がちょっと減る。
というわけで、上記のどちらかを使えば、PERLブロックはあまり使わなくてもいいような気がしてきた。この前のPERLブロックは後で書き直す。
pdfみたいに、あるファイルが存在するかどうかをTTで調べてファイルが存在する場合にアイコンなんかを表示させたい、
つまりTTで-fを評価したかったのだが、いいやり方が思い浮かばなかった(みつからなかった)のでPERLブロックで評価してしまった。
[% PERL %] my $pdf = "/static/PDFs/". [% some %] . ".pdf"; if(-f "root$pdf"){ print '<img src="http://www.kzfmix.com/static/images/png/PDF_icon.gif" /></a>'; } [% END %]
むむむな感じなんだけど。
タグのテーブルなんかでタグをカウントしてtagname(count)とか出力したいときにDBICだとどうやんのかな?と。
http://5net.com/blog/2006/11/dbic_count_order_by.html
$c->stash->{t_it} = $c->model('DBIC::TableName')->search( $query_ref, { select => [ 'user_id', { count => 'user_id' } ], as => [qw/ user_id posts_count /], group_by => ['user_id'], order_by => 'count(user_id) DESC', }, );
とasを指定しておけば、TTのほうで
t.get_column('posts_count')
でカウントが表示できる。
タグの名前とカウント数を表示させたい場合にはこのままTTでいいと思うが、タグクラウドにしたい場合は、コントローラーでHTML::TagCloud::ExtendedとかHTML::TagCloud を使ったほうがいいのかもと。
あとYAPCのチケットとった。DBICネタが密かに楽しみだったり。
21022007 kwiki
Kwiki2.0ってなってた。早速svn coしたRevision 162はKwiki::Configあたりでエラーが出てて動かないっぽいので、downloadsのを動かして遊んでみた。
kwiki -start
でスタンドアロンサーバーで動くぜ!みたいに書いてあるんだけど、オプションがなくて悩んだ。どうもダウンロード版は
とやって、サーバー用のモジュールを組み込まないと
kwiki -start
できないような。svn coしたやつはpluginもゴソゴソって落としてくるので問題ないのかな?Kwiki::Configのエラーでaddもinstallも出来なかったのでわからん。
生まれ変わったkwikiはかなり速くなって快適度が増してる。後でソース読んでみよう。
20022007 baby
19022007 Python turbogears
TurboGearsのテンプレートエンジンのKidって使いやすい感じだなぁ思ったので、週末何でかなーってジムの自転車漕ぎながら考えてた。
TurboGears: Kid Template System — nagosui.org
多くのテンプレートシステムでは、タグをミスマッチな状態にしておくことが可能になっています。KidにおいてはあなたのテンプレートはvalidなXMLになります。つまりあなたは、ミスマッチなタグが存在しないことを保証されているのです。
CatalystのTTなんかはブロックでくみ上げるイメージになるのでブロック内でif-elseとかごちゃごちゃやりだすと手が付けられなくなってくるけど、KidはXMLだからDOMTreeみたいな思考パターンになって処理のイメージがしやすいのかナァってのが今の結論。つまり、TTは面構造(PROCESSとか)なのに対し、Kidは木構造(defとか)だと。
Kidも使い込んでいくと、嫌なとことか目についてくるだろうからまた変わるかもしれんけど。