09012013 Haskell
今まで型宣言には具体的な型を書くものだと思っていたのだけど、型クラスを書いてもいいのね
myequal :: (Eq a) => a -> a -> Bool myequal a b = a == b
RWHの15.8(Hiding the IO monad)では型クラスを使って抽象化していた。
09012013 Haskell
今まで型宣言には具体的な型を書くものだと思っていたのだけど、型クラスを書いてもいいのね
myequal :: (Eq a) => a -> a -> Bool myequal a b = a == b
RWHの15.8(Hiding the IO monad)では型クラスを使って抽象化していた。
08012013 chemoinformatics
見逃してた。これは超欲しい。
Bioisosteres in Medicinal Chemistry (Methods and Principles in Medicinal Chemistry)opensourceでRXNかSMIRKSのあつかえるchemoinformaticsのライブラリが欲しいなぁ。
07012013 work
丸4日かけて8章(最終章)以外を読んだ。正月休みの後半の時間をこの本を読むのに費やしたのは正解だった。新年開始早々、知的な満足感が得られた。
本書を読めば、BWT、簡潔データ構造、ウェーブレット木、FM-Indexが理解できる。
LF-mappingのところ(p.28の補題3.4)を理解するのに時間がかかったが、これを理解できればFM-Indexのアルゴリズムが理解できる。ついでにWavelet Matrixも理解できた。ひとつひとつ丁寧に読み進めていけば理解できるようになっていたので良かった。
本や論文で書いてあるなら、まず読んで知っているのが必要条件(slide 24)と著者のスライドに書いてあるように、BWT、簡潔データ構造、ウェーブレット木、FM-Indexは知らないといけない知識になるんだろうなぁと。
pubmed調べたら、bioinformatics用途でしかみつからないのでchemoinformatics方面で応用できたらいいなぁと思った。
その他
06012013 Haskell
Free Monadとは
さて、この「Freeモナド」について、オレオレ定義で簡単に言葉にすると。「Functorと組み合わせて様々な挙動を実現できるモナド」です。capriccioso String Creating(Object something){ return My.Expression(something); }
つまるところ
要はFree Monadは、Pureな値が何かの型によってリストのように順々にくるまれた構造をもつデータ型を表していて、Listにおけるfoldのような畳み込みと同様に、Impureな部分をたどっていってPureな部分に到達するまでfmapを繰り返して処理を行いますみょんさんの
もう少し圏論的な説明は
じゃあこの操作を普通の関手でもできるようにしてやろうということを考えると自然とFreeモナドが構成できる。直和が定義できる圏であれば、自由モノイドを作るのと同じ要領でモナドを作ればよい。北海道苫小牧市出身のPGが書くブログ
実際どう使うか
インターフェースを定義するみたいなイメージでいいのかな、Functorが具象クラスで。
RWHの15章を読みなおすのもいいらしい(これから読む)。
05012013 work
4章
簡潔データ構造は、操作が高速でありながら作業領域量が小さいという2つの性質を兼ね備えたデータ構造であり、データ圧縮と索引の技術が組み合わさったものである
完備辞書(FID)
p.48の式がo(n)ビットに抑えられていると書いてあるのだが手で計算して確かめていない(ので後で計算する)。 (13.01.05 libcdsのチュートリアル読んだら理解した)
簡潔木の説明がさらりとしすぎてあまり触れられていない気もするが、本書においてあまり重要でないってことでいいのかな(全体を読んでみないとわからない)。
それから読んでいて索引が貧弱だなと思った。RRRとかselectとか引けない。
04012013 chemoinformatics bioinformatics
僕のフィールドには一応Bioinformatics,Chemoinformaticsも含まれているので、文字列だけでどこまでいけるのかは非常に興味がある。まぁ物理法則を無視できなくなってくると文字列処理ではどうしようもないんだけどね。
3章のBWTまで読んだけど、3-4のBWTの性質と復元のところがさらっと流されていてさっぱり分からなかったので、検索したらわかりやすい説明を見つけた。
が、全体的には丁寧に解説されていて、分かりやすいと思うし、読んでて楽しい。
個人的にはSMILESみたいな構造情報を文字列にしたものをBWTで扱えないかなぁと考えている(chemoinformaticsに応用してみたい)。構造変換ルールにもイディオムみたいなのあるしね。MMPを高速に検索できても嬉しいだろうし、なんか使い道がありそうな気がするんだけど。
04012013 Python
ひねりなし
ary = [32, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 47, 32, 32, 79, 32, 92, 95, 95, 95, 47, 10, 60, 95, 47, 95, 92, 95, 47, 95, 92, 95, 47, 95, 92, 95, 47, 95, 92, 95, 47, 95, 92, 95, 47, 95, 95, 95, 95, 95, 95, 95, 47, 32, 32, 32, 92, 10] print "".join([chr(c) for c in ary])

03012013 Haskell
Yesod本のBlogのExampleがyesod initでできるスキャフォールドとかけ離れていてわかりにくい。
Developing Web Applications With Haskell and YesodFoundation.hsとかに丁寧なコメント書いてあるだろうっていうツッコミもあるだろうけど、写経できるに越したことはないよなぁと思う。
wikiのほうを先にやるかな。
02012013 life
僕はKindle版で読んだけど、これは読んでおくべき良書だと思う。個人的にはウェブで動かすのは地方政治であるべきかな。facebookあるしね。
政治家は、政策を実現するための道具です。その道具を使いこなすためのメディアとして、インターネットは公開性が高く、コストもかからない。さらに、各委員会、審議会は公開の場で行い、テーマごとに議事録も整理して、インターネット上で閲覧できる仕組みを作るべきだと考えます。
個人的にはデモの意義は勉強になった。
フランスの市民デモに「異議申立てのため、ただ、参加するだけでいい」「デモは楽しいもの」という共通点があることを我々は知っておくべきだ。
民主主義というのは多数派が少数派の意見を効率良く無視するためのシステムだというのは周知のとおりであり、小選挙区制というのはそれが顕著に現れていると思う。
デモとは何か。それは、もはや暴力に訴えかけていかなければ統制できないほどの群衆が街中に出現することである。
そして、選挙区を超えて、密度を高めて主張する手段がデモなのかなぁと思った。少数派の意見を効率良く無視させないシステムだな。そう考えるとウォール街を占拠せよなんかは興味深い。
地方政治にこそ双方向性を持ち込む必要があるよなぁと思う。
ホームページというのはもう古いんですよね。更新は遅いし、双方向性も共有性もない。要は石器のようなものです。
まぁ、富士市のtwitterもFacebookも双方向性を完全にシャットアウトしていてどうしようもないなぁと思うんだけどリノベートできるようにある程度API的なものを整備してくれないかなぁと思っている。
そんだけやれば市民で勝手に仕組みを作るでしょ。
双方向の仕組みも模索しているようだ。頑張って欲しい。
02012013 drum'n'bass life
昨日長野から帰ってきて、今日は朝からぐーたらしている。風が強すぎて外に出る気も起きないのでDJ ShadowのMixを聴きながら、大那を飲みつつYesodいじってた。

年末に頂いた赤目の処理をして、幾つかを煮物にしてもらう。

ついでにustもしてみた。リキッドとAdele多めで
Rolling In The Deep (NuTone Remix) / Adele Long Distance / Fred V & Grafix Some Disco / LSB Long Distance / DJ Marky & Makoto Keep Me Down (Ft. Angela Johnson) / Makoto The Stand / High Contrast Hometown Glory (High Contrast Remix) / Adele The Plan That Cannot Fail / London Elektricity Through The Night (Club Mix) / Drumsound & Bassline Smith All Yours (S.P.Y Remix) / Submotion Orchestra Habitation / The Prototypes New Drums / Teddy Killerz Requiem / Uman & No Money The First Note Is Silent (feat. Tiesto & Underworld) / High Contrast