h2xs

去年最も多く世話になった本はこれ。いつも持ち歩いていた気がする。で、oopをなんとなくは理解できるようにはなった。そして、お気に入りのモジュール読み解いてくのも楽しい作業になったネ。

ProductName 続・初めてのPerl - Perlオブジェクト、リファレンス、モジュール
Randal L.Schwartz
オライリー・ジャパン / ?円 ( 2003-12 )


特に、

h2xs -AXn

で始めて、ある程度書いたら、subversionで管理する癖がついたのは、効率上素晴らしくよろしくなった。家からでも職場からでも同じようにco,ci出来るし。

と同時に足りないものもわかってきた。

それはテスト

テスト書くの苦手だニャぁ。で、無駄にはまることも多い(だめなのわかってるんだが)

今年はテスト周りをもうちょっとちゃんとするのと、できれば、なんかをCPANに登録してみたいなぁ(ささやかな野望ということで)

京でせりざる

建物が若干古めかしい「京」に出撃。この日は前日までの小春日和と違って、いつもの冬の気温に逆戻り。道中、冷たい蕎麦にするか温かいの頼むかみんなかなり悩んでたゾ。

でも、僕は悩まない。

最初からせりざる頼むって決めてるからネ

京

というわけで、店に着いたら、さっさとせりざると天麩羅盛頼んだけど、すぐにチャレンジ気味だったかもと不安になった。だってメチャクチャ寒いんだもん。建物の造りが掘っ立て小屋風で(それはそれで味があるんだけど)、隙間風がやたら冷たい(痛い)外とか隙間からバッチリ見えるから、外の冷気が、、、、

寒気で換気?

サミーサミーといいながら、暖房の近くの席に座ったんだけど、全然暖かくない。しょうがないからポケットに手突っ込んで蕎麦出るの待ってた。

天麩羅盛り せりざる せりそば

で、待つこと10分くらい。やっと出てきたせりざるはうまいねぇ。U隊長はあったかいせりそば頼んだのでちょっと頂いたが、温かい蕎麦はどうしてもヤワさが気になるので、せりざるにしといてよかった。喉越しがたまらん。あと天麩羅旨い。せりのシャキシャキ感とエグミが、蕎麦に合う。満足。

静岡の蕎麦好きなら必携の(?)そばをもう一枚の情報によると、山芋と卵がつなぎらしい、あの喉越しは単なる二八ではないと思っていたが、、、でも、あんま山芋臭くなかったな。御殿場IC近くの金太郎で食べたときには

うわ、山芋だ

とか思ったんだが。御殿場といい富士宮といい、富士山のまわりはつなぎに山芋を使うのか。となると平七もつなぎに山芋使ってんのかな?今度(来週?)行ってみよう。

ProductName そばをもう一枚
山口 雅子
静岡新聞社 / 1260円 ( 1997-07 )


「そばをもう一枚」は7年前に出たので、若干情報が古めだ。そろそろ、「そばをもう一枚モア」とかの改訂版が欲しいぞ。 あとせりざる食べたいんだったら、富士宮の浅間大社近くの喜八いけばいいんじゃないかな。いつも結構混んでるけど。

京

麺屋中川で味玉ラーメン

久々に、中川にいってきましたぞ。

店

カラ豚が気になってはいたんだけど、あのラーメン辛くして旨いのかな?と不安になり、いつものように味玉ラーメン

味玉ラーメン

うーん、魚の節が感じられて旨い。麺はモチモチ気味のやや太めだ。個人的には細めんの芯が微妙に感じられるくらいの麺が好きなんだけど、このスープにはこの麺が一番あうかな。

醤油ラーメン食べたなぁって思うゾ。うまかった。

麺屋中川

作の作

今日はなんか朝からなんも食べる気がしなくて、コーヒー飲んで過ごしてたが、さすがに夜はラーメンでも食べようと宗右衛門町の作の作に行ってみることにした。

ちょっとわかりづらい場所にあるが、なんとか発見。

席は5席とやたら狭い。醤油ラーメンをオーダー。BGMは東京事変だったりエミネムだったりしたが、適当にラジオをかけてるだけでした。まぁでも内装にマッチしているからいいのかも。

でてきたラーメンは油の浮いてる豚骨スープ。麺ストレート細くはない。京都のラーメンと比べて、醤油くさくないので、あっさりしているように感じるが、これって油のせいか。飲んだ帰りの〆には丁度いい感じ。

でも、感動するほどとはいかなかったかも。値上がりしてて700円になってたし。

ヒストグラムと密度の推定

色々とデータの分布を知りたいときに、ヒストグラムは区間を切ると形が変わったり、ヒストグラムの始点、終点を変えてもやっぱ形が変わるので、調子が悪い。

というわけで、KernSmoothを入れて密度推定することが多いのだが、ある種のQSARでもベイズ推定するために、密度推定する必要があったりと、ヒストグラムいじくるよりは密度推定したほうがよい場面が多くなった気がするのできちんと勉強しようと思い立った。

ヒストグラムと密度の推定 - RjpWiki

ヒストグラムと密度の推定

蕎麦屋酒

ウンティックが若干アレなところもあるが、読み物としてはこれくらい主観をいれたほうが面白い。

蕎麦栽培のススメとか、もうチョイ年いったらやってみたいと常々思ってるぞ。あと、蕎麦屋酒ガイドとか気になる店ばかりだ。

特に、八重洲の三日月が気になっている。

ラーメンは食べ歩きオンリーのヒトの方が多いが(僕も)、蕎麦食べ歩くヒトは、自分でも打つヒトが多いよね。なんで、蕎麦は打ち方とか切りとかの味わう以外の要素で研究心をくすぐられる。栽培とか挽くのも含めて奥が深い症候群が

蕎麦屋酒
古川 修

おすすめ平均
一度行ってみたい!

Amazonで詳しく見る
by G-Tools

PerlMol

PerlMolがバージョン0.35にあがったようなので入れてみた。PerlMolってのは、バイオインフォでいうところのbioperlみたいなもんです。perlでケモインフォといったらPerlMolでしょ!みたいにそだって欲しい(などと期待しております)

インストールはいつものとおりCPANモジュールで。

# perl -MCPAN -e 'install Chemistry::File::SMILES' # perl -MCPAN -e 'install Chemistry::File::SMARTS'

ExamplePolar Surface Area計算なんて、C->DayPerl->PerlMolという感じで着実にオープン化してますな。

化合物のデータベースが欲しければLigand.Infoなんてどうですかね?

blastclust

蛋白配列や核酸配列の冗長性を除きたいときには、blastclustを使うとよいらしい。

blastclust -i infile -o outfile -p F -L .9 -b T -S 95

上の例だと、infileの配列を、配列の90%以上の領域で95%以上の同一性を持つものをクラスタリングして出力します。

でも、実際に検索したり、配列いじくったりする側からすると、最初に配列リストありきみたいな状況は稀で、大概次のような処理フローになると思うから、コレだけだとイマイチ使えん。

  1. NR,NT,SNP,ESTなんかにblast検索
  2. ヒットしたIDから配列リストをゲット
  3. マルチプルアライメント or クラスタリング

blastallでfastalistを吐くか、id-listを吐けば blastall | fastacmd が出来るから、

blastall -p blastn -d nt -i XXX.seq -e 1e-20 | blastclust -o outfile -p F -L .9 -b T -S 95

こんな感じでワンライナーになって使いやすいかな。いまのとこ、同じことやる自前のスクリプトのほうが取り回しがらくだ。

ん?

1をタブ区切りで出力させて、fastacmdで2を実行するコマンド作っておけばワンライナーへの道は開けるか?

AfterEffectsでExpressionを使う

AfterEffectsにもjavascriptベースのExpressionというスクリプトが用意されています。最近javascriptを覚えてきたので、AfterEffectsでスクリプトを使い始めてます。いままではチマチマやってたのでほんと便利。なんで使わなかったんだろ?ぐらいの勢い。

実際使ってみると、Expressionってあんま複雑なことやらなくてどっちかっていうと、ブックマークレットみたいな感じ。ブックマークレットというのとはちょっと違って、ブックマークレットだと数学的な関数使わないけど、Expressionだと数学的な関数をちょこっとちりばめるみたいな使い方だ。というわけなので、両方やるとjavascriptの色々な面が楽しめていい。スクリプトかけなくてもドラッグ&ドロップである程度の制御ができるのも便利。ブックマークレットもDOMブラウザをちょこっといじれば、ドラッグするだけで、ある程度のjavascript吐き出せばちょっとしたことやれるツールは作れるんじゃないかと思ったり。そういうツールも探せばあるのかも。

あと、前にもネタにしたけど、FreeFrameをスクリプトで動かすときには、やたらと不安定なのと、プロジェクトに設定したものを保存できないので、単体で映像まで毎回作り上げておかないといけないのでFreeFrameはちょっと使いづらい。

というわけで、いきおいスクリプトなAviSynthもさわり始めてます。とりあえず入れてサンプル動かしただけだけど、なかなか面白い。基本的にプログラムで制御するのが好きなのかも。でも、動画はジェネレーターで作るやつってあんま好きじゃないのが謎。個人的に気持ちいいのは脳が揺さぶられるような理不尽なほどの情報量をサブリミナルチックにビシバシぶったたくようなの。それか、意識が落っこちるくらいドープな、彩度を極力落としたよくわからないぐらいの映像。

$req->paramと$req->params

Catalyst初心者二人組(片方はPerlすら初心者)が謎のエラーに遭遇して、無事に生還したぞの巻だ。

最近mysqlを使ったウェブアプリケーションを構築していて、僕はその面倒を見ているわけだ。普通のCRUDな感じのアプリなんで、いつも通りに書けばたいして難しい話ではないが、(僕が)どうしてもフレームワークを使ってみたかったので、O/Rマッピング最高だろ!な!わかるだろ、SQLなんて書かなくていいんだぞ!なんつって、手動かしてもらってる。

で、はまった箇所はGETでパラメータを渡してmysqlにinsertするとこで、Catalyst::Model::CDBI::DB->create するとこんなエラーを吐いて終了したぞ(何故?)。

Caught exception in Test->add "Can't use string ("5") as a subroutine ref while "strict refs"

最初原因がわからなくて小一時間悩んだが、

  • $req->paramはパラメータ
  • $c->req->param('kzfm')
  • $req->paramsはパラメータのリファレンス
  • $c->req->params->{kzfm}

ので、$c->req->param->('kzfm')と書いてた部分がエラーの原因だった。

Q.じゃぁ5って何よ? A.パラメータにわたった変数の数です

Catalystはなかなか新鮮だ。