meadow3.0でssh接続

meadowを3.0にあげてパッケージを全部インストールしたらftpアクセスが出来なくなった。

MeadowFAQ - Meadow3.00で動かないものがあります

ange-ftp は Meadow3.00/Emacs22 からは tramp というパッケージに統合され、外部メソッドとして ftp の他に ssh, scp, rcp, su, smb 等が使えるようになりました。デフォルトメソッドは ssh になりました。

ange-ftpがなくなったらしいのと、デフォルトがsshになったせいらしい。ターミナルはPoderosa使ってssh2アクセスしているが、meadowは歴史的な経緯により(単に面倒だったともいう)ftpアクセスだった。というわけで、これを気にsshに移行しようと思い立ったわけだ。

sshクライアントはPuttyのzipを落としてきて、解答したらProgram filesにでも放り込んで、pathをきっておく。

で、あとはホームディレクトリのdot.emacsを.emacsにリネームするだけ。

モナドで躓く

ふつうのHaskellプログラミングも、とうとう11章へ。中盤も佳境をむかえております。

ProductName ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
青木 峰郎
ソフトバンククリエイティブ / ?円 ( 2006-06-01 )


モナドが~~

わかりません、さっぱり。他の言語での例があったので少し読んでみた。

檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

振り返れば我々は; 関数から副作用を取り除き(汚れ作業はCountupMainに押しつけ)、代わりに戻り値に副作用の意図を詰め込み、それによって失われた関数結合の自由さを関数の拡張により取り戻しました。

javascriptもperlのコードもなんとなくわかったような気にはなったんだけど、ふつうのHaskellプログラミングに戻ると混乱してしまうヨ。

週末にでも幾つかコードを書いてみてよく考えることにしよう。

http://del.icio.us/kzfm/haskell

mol2psイイ!

ケムインフォマティクスに虚空投げで知ったmol2psを試した。綺麗!

mol2pstest

当分これに落ち着く予感。思えば色々試したもんだ。

長い道のりだった。

さて、mol2psはpascalで書かれてますよ。初pascalというわけで、バイナリを使わず、若気のいたりで? コンパイルしてみることにした。

まずfpcは普通にyumでいれる。

yum install fpc

fpcがインストールされたら早速コンパイル。

fpc mol2ps.pas -S2 -Xs -OG -Or -O2u -Op1

出来たmol2psを/usr/local/binにコピー(OKこんだけ)

ただ、これだとperlで使いにくいので、p2cでcコードに変換してからh2xs使ってPerlのモジュールに出来たらいいなぁってことで、やってみた。

p2cはpascalをcのコードに変換してくれるらしい。p2c-1.22-14.src.rpmとってきてリビルド

rpmbuild --rebuild p2c-1.22-14.src.rpm

するとp2cコマンドが出来るので

p2c mol2ps.pas

できたCのソースをいじってh2xsでperlのモジュールにすればいいはずなんだが、うまくCのコードに変換されなかった。どうもS2オプションがよくないらしい。

  -M<x>  set language mode to <x>
      -Mfpc      free pascal dialect (default)
      -Mobjfpc   switch some Delphi 2 extensions on
      -Mdelphi   tries to be Delphi compatible
  -S<x>  syntax options:
      -S2        same as -Mobjfpc

うーん4000行くらいか、、、、頑張ってperlに移植したい気もするなぁ。GSAPIなんかと組み合わせれば個人的に使い勝手のいいモジュールが出来そうな気がするんだが。

Virtual Scratch

koyachiの日記 - Table,Caching,Memoize,Closure,Profilerのクロージャの話をフムフムと読んでたら、

いやなブログ: JavaScript とクロージャ

このプログラムでは各セルの色の濃さをクロージャを使って保持しています。makeHandler という関数の depth という変数がそれです。クロージャを使うと、個々のイベントハンドラごとに独立した状態を簡単に持たせされるのがポイントです。

お、そういえば一昨日、ミスドでお出かけレジャーシート当たったよな

スクラッチで

というわけで、こんなん作ってみました。

こすると絵がでます。javascriptはいやなブログのcanvas.jsをちょっと改変して、マウスが乗るとopacity下げるようにした。あとMozOpacity使ってるのでMozillaでないと動かないと思う。

ランダムで10回に一回くらい当たりの画像が出るようにしたりすれば、擦りがいが出るかも。

リッジ回帰

Practical Regression and Anova in Rの9章がprincipal component regression (PCR)とかPartial Least Squares(PLS)に割かれている。

その中でRidge Regressionってのがいまいちわからないので、リッジ回帰で探してみると、サポートベクターマシン入門が。

昔、購入してめくったけど、ちゃんと読んでないやってことで、これまた読むことにした。

ProductName サポートベクターマシン入門
ネロ クリスティアニーニ
共立出版 / 4200円 ( 2005-03 )


色々統計関連の書籍を読みながら、わからないとこはまずRjpWikiで探すと理解が深まっていいと思うようになった。少しは進歩したのかな?

Lightboxを使ってみた

Lightbox JSを触ってみた。やっぱいい感じ。でも右下にcloseのアイコンとか出るはずなのに出なかったりするのは、cssの設定が悪いのかな。

yuki hana

lightbox用に小さい画像と、大きい画像(クリックしたときに表示される画像)の二つを用意しないといけないが、この作業を、いちち手でやるのは面倒だということで、windowsでperlスクリプトを ドラッグドロップ化したのでお手軽になった。でもユッキー様をあやしながら書いたのでスクリプトはやっつけ。名前考えるのが面倒というありがちな理由で、とりあえずプロセス番号がファイル名で且つCドライブに吐き出すようにしておいた。

use strict;
use Image::Magick;

### image size
my $width = 480;
my $height = 360;
my $width_small = 160;
my $height_small = 120;

my $imgfile = shift or die "couldn't read ImageFile\n"; 
$imgfile =~ /\\(\w+).(jpg|JPG)$/;
my $filename = $1;

### output
#my $output = "C:/" . $filename .".jpg";
#my $output_small = "C:/" . $filename ."_small.jpg";
my $output = "C:/".$$.".jpg";
my $output_small = "C:/".$$."_small.jpg";

my $image = Image::Magick->new;
$image->Read($imgfile);
$image->Resize(width=>$width, height=>$height, blur=>0.8);
$image->Set(quality=>60);
$image->Write($output);

$image->Resize(width=>$width_small, height=>$height_small);
$image->Write($output_small);

undef $image;
exit;

ちなみに、Image::Magickモジュールのインストールは楽だった。imagemagickをインストールする際に「perlでモジュールとして使う」にチェックを入れるだけ。

実際は、もうちょっとちゃんと書いて、サーバーにftpしつつ、アップロードした画像をlightboxで扱うためのhtmlを吐き出すコードまで書いておけば申し分ないな。

いつも使っている画像アップロード用CGIをいじるという選択肢もあったんだけど、ドロップレット風味で実用っぽいものをひとつくらい作ってみたかったので今回はWindowsプログラミング。

他には実際にやってみて思ったのは、縮小画像を載せるんじゃなくて画像を切り取りつつ、小さくしたものをアイコン的に表示させておくほうがいいなと思った。単なる拡大縮小じゃつまらん。とか考えると、gimp使ったほうがいいのか?

いやいや、これを敢えてCGI+javascriptでやるべきでしょう

みたいな禅問答のはじまりだ。手段が目的化しつつあることにはうすうす気付いているけどネ。

TってPerl派なのかな

Natureからの求人メールでおもろいもん見つけた。

募集職種と応募資格

分子設計、ケモインフォマティクス、バイオインフォマティクスに関する高度な専門知識・技術を有し、創薬研究に活用できる能力を有する方。プログラミング(Perl、JAVAなど)の経験があり

JAVAってのはありがちなんだけど、Perlまで入れてるのは現場の意向かな?

HaskellでBioinformatics

本日普通のHaskellプログラミングの7章まで読み終えた。そろそろ、具体的な例題解いてみたいなぁと思ったが、3部13章のWIkiをつくってみようの章まではあと5つもある。今のとこ、ここまで読んで、実用Perlプログラミングみたいに他の言語との違いみたいなページを割いてくれるとよかったりと思った。それ以外は、unixのコマンドをtailとかheadとかをhaskellで書こうみたいな感じにすすむので理解はしやすいヨ。

ProductName ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
青木 峰郎
ソフトバンククリエイティブ / ?円 ( 2006-06-01 )


実際に、どんな感じの問題に適用すんのがいいのかなぁとか、考えたときに、ゲノムみたいな大きい配列操作すんのに適してるも。もしかしてbioinformaticsでなんかあるかなと探したらあった。

論文あったのでアブスト眺めたけど、DPってhaskell向きなのかな?まだ、いまいちわかってなさげ。

Rによる統計的プログラミング でRと比較しているのだから統計的な(というより数学的な)記述にむいているのは感覚的にわかるんだけどなぁ。

ということはchemoinformaticsでの利用例あるだろ、とか思うんだが見当たらない。

WWW::Search::DrugBank

ココ一週間の間に、Win32::PowerPointとかClass::Pluggableとか気になるモジュールが出てるのに、忙しくて触る暇がない。

WWW::Search::DrugBankもその中のひとつ。DrugBank へのアクセスを提供するモジュールらしい。メソッドっていうかRESULT FIELDSが一杯あるのはバイオインフォ系ありがちな。

僕このカラムの多さがいやなので、最近はすっかりClass::DBI::OracleとかClass::DBI::mysqlにはしるヨなぁ、、、、って、ダウンロードして、データベースに突っ込んでClass::DBIから触ればいいってことに気付いた。

Drug Quiltはフラッシュの動的な変化が楽しい

Drug Quiltが面白い。Ajaxでも同じような表現はできるかな?静的なのはRでも出来るような、、、、

pharmaceutical data landscape - data visualization

a dynamic data visualization of the brand name & generic drugs the US Food & Drugs Administration has approved to. published weekly as a series of data files, this data represents an accurate description of the american pharmaceutical landscape.

FDAのデータだからちょっとデータが少ないけど、PatentQuiltとかにするとかなり凄いかも。あとaから順番に並んでるみたいだけど、ポジショニングの軸入れたり、化合物の類似性の軸入れたりするとかなりヤバげ。