Haskellでbrewのcurlを使おうとしたが

Haskellでscpを使いたいなぁと思い、色々と調べてみたがヨサゲなのが見つからなかった。

そこで、あーそういえばcurl使えんじゃんと思い出して、職場のlinuxではcabal install curlでokだった。この勢いでMBAにも入れようとしてハマった。

osxに最初から入っているcurlはscpに対応していない

$ /usr/bin/curl -V
curl 7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp 
Features: AsynchDNS GSS-Negotiate IPv6 Largefile NTLM NTLM_WB SSL libz

というわけでbrewで入れた(libssh2が必要)。ちなみにこんなのが出るのでln -sした。

$ /usr/local/bin/curl -V
curl 7.28.1 (x86_64-apple-darwin12.2.1) libcurl/7.28.1 OpenSSL/0.9.8r zlib/1.2.5 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp 
Features: IPv6 Largefile NTLM NTLM_WB SSL libz

curlのほうはコレでOK。

続いてcabal installでcurlを入れるわけだが、brewのlibとかincludeを指定できないみたいなので、ソースを読んでみる。

curlc.cのincludeが

#include <curl/curl.h>

と決め打ちなので、ちょいと書きなおしてやる

#include "/usr/local/Cellar/curl/7.28.1/include/curl/curl.h"

これでコンパイル通るかなーと

通らない。

/usr/local/Cellar/curl/7.28.1/include/curl/curlrules.h:143:0:
     error: size of array ‘__curl_rule_01__’ is negative

/usr/local/Cellar/curl/7.28.1/include/curl/curlrules.h:153:0:
     error: size of array ‘__curl_rule_02__’ is negative
cabal: Error: some packages failed to install:
curl-1.3.8 failed during the building phase. The exception was:
ExitFailure 1

negativeってなんだよ?とググってみたらヒットした。要するに64bitのlibcurlを32bitのghcで使おうとしてエラーになっているらしい。

が、32bitじゃないと現状Yesodがうまく動かないのでこれ以上はどうしようもない感じ。

5月にHaskell Platform 2013.2.0.0が出たら再チャレンジするかな。またはlibssh2とかsshでなんとかするか。

空洞化のウソはウソなのかホントウなのか

空洞化のウソ / mark-wada blogで触れられていて気になったので読んでみた。

筆者は新興アジア推しの現地化推し。

著者は空洞化を3つに分解する

  • 雇用の現象
  • 国内技術水準の停滞
  • 海外で稼いだ金が国内に還流しない

雇用の減少

筆者は現地化すれば企画立案部門とか新規開発部門のような付加価値の高い分野に雇用拡大(国内)できると論じているが、これは案にブルーカラーは仕事がなくなると言っているようなもんですね。逆に国内の教育も付加価値の高い人材をつくることに焦点をあわせないといけないが、実際はそうなっていないから、ホワイトカラーの人材も国内外問わずに取ってこないといけないでしょう。

まぁこうなるわな。

国内技術の水準の停滞

こっちのほうが重要だと思うんだけど、現場と離れたところに企画立案部門をつくると官僚化しておかしくなることが多いと思うが、開発力だって落ちていくでしょう。

第一三共とランバクシーの話が出てたけど、創薬知らなすぎなヒトの考えるストーリーだよな。コレに関してはお話にならない、イノベーションが求められている部分がそもそもずれているので。

お金の還流の問題

「日本入っている」戦略で現地化をうまくやってという話は正しいのだろうなと思う。結局人口分布に基づいた戦略は必要になるしなぁ。

お金の流れ的には空洞化していないってのが正しくて、雇用と技術に関してはどうなのかな?っていう印象。

というより、空洞化しているかどうか議論するということが些細な事なのかなと。

あわせて読みたい感じの対談

A/Bテストを超え、学習しながらウェブを最適化させる手法 (Bandit Algorithms for Website Optimization)

ふと気になったので読んでみたら、当たりをひいた。

強化学習をウェブサイトの最適化に利用する方法に関しての本で、A/Bテストの何が問題かを説明してそれを克服するためのアルゴリズムを3つ紹介している

  • Epsilon-greedy
  • SoftMax
  • UCB1

コードはPythonで書かれているので読みやすい。

ProductName Bandit Algorithms for Website Optimization
John Myles White
Oreilly & Associates Inc / 2000円 ( 2012-12-31 )


実際のビジネスでは、A/Bテストで等確率でAB振り分けるために劣っている方のテストの分だけ収益が減ってしまうし、かといってテストをしないと、よりよいサイトを見出す機会がなくなってしまう。つまりexploreを最大化するか、exploitを最大化するかというようなジレンマを抱えることになる。

求められているのは、劣っているサイトデザインに対するテスト(損失)を最小にしつつベストなサイトデザインに収斂していく手法である。そういう問題をMultiarmed Bandit Probremと呼ぶらしく、上の3つはそういった問題を解くためのよく知られたアルゴリズムだそうだ。

最初の2つはランダム性を使う(Softmaxは焼きなまし法だ)のに対し、UCBはつかわない。UCB1は明らかに期待を持てないオプション以外のものを選択しつつ、期待値を更新していくという方法で、駄目なオプションをドンドン脱落させていくイメージに近い。

UCBはちょっと前までコンピューター囲碁にも使われていたらしい。コメントで触れられているpdfがわかりやすい。

局面を上手にスコア化して期待値の高い手を選択していくという手法は結構面白いかもしれない。例えば創薬のプロジェクトを将棋とか囲碁のようなものと捉えて、これから合成しようとしている化合物群が、求めるプロファイルにどんだけ近づいているかとかそんな期待値をスコア化して、exploreとexploitをバランスよく取り入れるとかはやれるんじゃないかなぁ。

ビッグデータの衝撃というよりデータ分析の仕事が重要になるよっていう話

ビッグデータとは

  • Volume(データ量)
  • Velocity(データの生成頻度)
  • Variety(多様性、構造化できないという意味も含む)

のいずれか、またはそれらの組み合わせ。

構造化できない大量のデータがリアルタイムにどんどん生成されていくような状況だと、RDBに収めにくいし、処理するのにも新しい技術や手法が求められるということ。

ProductName ビッグデータの衝撃――巨大なデータが戦略を決める
城田 真琴
東洋経済新報社 / 1890円 ( 2012-06-29 )


本書では上に書いてあるビッグデータは狭いと考えていて、データ処理技術、ヒトを含めた組織まで含めてビッグデータとして捉えているが、そっちの話は分析力を駆使する企業のがずっと詳しいし、分析という観点から書いてある。

分析が先なのか、データが先なのかという話に関していえば、優秀なデータサイエンティストを有していればデータを与えれば意味のある分析結果がドンドン精製されてくるが、分析するヒトがいなければデータ生成はムダなコストにしかならないので、分析(者)ファーストだろうなと。

「Data is the new oil」とは良い例えだと思う。結局精製技術次第だし。あとは原油にあたるようなデータの入り口付近にいる業者も有利なんだろうな。

CROSS 2013でデータサイエンティストのセッションがあったみたいですね。

2011年 新聞テレビは消滅したのか

検証的に読みたかったので。

タイトルは煽りだったが、マスメディアのdisっぷりは激しかった。方向性としてはまぁ間違ってないよなぁと。2009年にこれを書けたのはすごいなとは思う。

ProductName 2011年新聞・テレビ消滅 (文春新書)
佐々木 俊尚
文藝春秋 / 788円 ( 2009-07 )


本書ではサイトの有料化は逆効果だけど日経の有料化はまぁOKなんじゃないのと論じていたが概ねそんな感じ。朝日の有料版なんてだれが申し込むんだろ?

新聞のビジネスモデルは構造的に厳しいんだろうなぁ、これからも。

  • メディアはゼロサムゲーム

Sphinxのテーマにtwitter bootstrapを使う

pipできるようになってた。

sudo pip install sphinx_bootstrap_theme

で使えるようになる。

1359877269

あまりCSSをいじる気がなければこれでいいかなと思うが、弄りたい場合にはこっちのやり方のほうがいいかな。

あとで何かで使ってみようっと。

chembl_15をサポートしてバージョンもあげた(pychembldb)

先週バージョンが上がってスキーマもかなり変更されたchembl_15に対応させました。

ChEMBLはバージョンアップでおもに結合サイトまわりが強化されているみたいです。binding_siteとかpredicted_binding_domainみたいなデータが入っているのはドッキングシミュレーションを強く意識した作りになっているんでしょう。とはいえ、いい感じのOSSなドッキングシミュレーションソフトウェアがないから、遊びにくいかも。

スキーマに関して言えば、多対多はすっきりとした感じに変更されてたのでmapper書きやすくなっててよかったが、ちょいとハマったところをメモっておく

  • target_dictionaryとpredicted_binding_domainsがone-to-manyになってなくてactivityに紐付いてる
  • information_source doesn't exist in products table
  • USAN_STEMがautoでマップできないのでとりあえずコメントしてある

あとはテストケース書くのがめんどくさかったので自動生成するようにした。今回はクラスもある程度自動生成した(utils)。

doctest書かないといけないなぁと思った。

@DOMMUNE

対談集

DOMMUNEは滅びゆく紙メディアに対するレクイエムと民放テレビへのオマージュらしい。

確かにそうかも。

キャッシュ・フローを改善するテクとか

1.3の「財務諸表で事業再生案を考える」という節がわかりやすかった。

  • 売掛や在庫を持たない
  • 店舗の購入の有無(利息がかかる)

会計の大枠を捉える

財務諸表を難しく感じるのは「作り方」を勉強しようとするからであり、「読み方」とは違う。

という観点で書かれた本。

ProductName 財務諸表を読む技術 わかる技術 (朝日新書)
小宮 一慶
朝日新聞出版 / 777円 ( 2010-09-10 )


  • 安全性チェックの基本は流動比率(流動資本/流動負債)
  • 使えるお金は貸借対照表の左側の資産の部をみる
  • 売上原価はつくったもののうち売れた分だけ
  • キャッシュ・フロー、売掛金、買掛金、棚卸資産の関係
  • 在庫回転率
  • 「売上高」は「企業と社会の接点」