2012年9月28日金曜日

最近取り組んでいることの振り返り

4-9月で句末ということもあり、最近はここ半年やってきたことを振り返る時間が少しばかり増えました。せっかくなのでここにもメモとして残しておきたいと思います。

  • Jenkins
    • MapReduceアプリケーションのビルド・デプロイ
    • 管理アプリケーションのビルド・テスト・デプロイ
    • 高機能crontab的な使い方もし始めているが、やっぱりcrontabはcrontabであるべきで、なんだかJenkinsは少しリッチ過ぎる気がしてる
    • さらにいうとJob間のパラメータの受け渡しがもっとやりやすかったり、JobからJobへのフックがもっとフレキシブルにできたらいいなぁと思っている
      • でもそこまで望むのも間違っている気もする。
  • Hiveの調査、導入。中間データ設計。
    • Mapperを書いたり、パーティションと格闘したり。
    • Hive入れてよかった。Hiveのない生活はもう考えられません。
      • いわゆるRDBのクエリのチューニングと違って、MapReduceの振る舞いやら元データの展開やらネットワークコストやらいろいろ考えることがあって楽しい。
      • あと何だかんだHiveの、なんというか幅のある設計は良いなぁと思ってる。UDF, TRANSFORM, SerDe, ... 
  • AWS環境に大分慣れた。
    • AutoScaling設定
    • boto + FabricでELB以下のEC2にデプロイ
      • プログラマブルなインフラ美味しい。
      • アプリケーションエンジニアというか、インフラをアプリケーションとして操っている感じ。
      • AWSすごい。
    • CloudFormationをつかったPreview環境運用
    • EMRの癖
      • ちょっと普通のHadoopと違うけれど、S3と仲良くすると旨み多し。
  • subversionからgitへの移行
    • プロダクトの整理という意味ではこれが一番大変だった。
    • Jenkinsでのデプロイ環境を作るのに、どうしてもgitに移行したかった。
    • でもgit移行してプロダクトの見通し良くなったので、やってよかった。大変だけど。
      • チームでお互いのコードが見えやすくなったのは、思った以上に快適何じゃないかと思う
    • サブシステム(gitでいうならリポジトリ)の大きさをどの程度にするかが難しい。増やしすぎず、大きすぎず。
      • submoduleも使い過ぎると逆によくわからなくなる
        • Jenkinsで、というよりFabricでデプロイするときに色々来にしなきゃならないのであまりsubmodule増やしたくない
  • mongoと格闘
    • 最初はmongoshell便利とかいって悦に浸る
    • データが増えるとやっぱり火山
    • レプリカのシンクロナイズ怖い
  • Nutchの調査・導入
    • EMRでうまくNutchを使う
    • 分散インデックスとの戦い
    • でももっといいソリューションがあった気もしているのでおいおい見直したい。
  • SolrとCarrotをつかった簡易テキストマイニング
    • 最初全然わからなかったけど、lucene-gosenに少しだけお世話になりました
      • 知らぬ間にNgramでテキストフィールド持ってて、試しにクラスタリングしたら全部同じクラスタになったという悲しい思い出が
    • これはあまり成果が出なかったのでちゃんとやりたい
  • R, R, R
    • さくっと何か傾向を見たり検証をするという機会には使っていたけれど、ルーチンワークに入れられなかった
      • ちゃんと日々のプロセスに組み込みたい
    • Rで解析したデータをちゃんと人に伝わる形で見せるというのは比較的悩ましい課題
    • 自分が勉強するのもそうだけど、ちゃんと周りに統計のこと伝えるの大事だと思った
  • 機械学習周り
    • 3ヶ月くらいライトな機械学習勉強会を開いた。週1。
      • もっと濃くすればよかったと反省している。
      • せっかく会社でやるなら実践の比率を上げたほうが良かった。
    • PRMLは部分的に読んでる。けどまとまった勉強時間取らないと身にならないことが目に見えている。
    • SVMの赤本は今半分くらいまで読んでる。実装しながら。
  • 少しPHPを触ったりした
    • FuelPHPで小さいアプリケーションを作ったりした
      • 作っているときは良かったが、運用はあまり気持ちよくない
      • 使いやすいルーティング機能があって、使いやすいテンプレートエンジンがあれば良いんじゃないかって最近思ってる
      • Taskは無いより便利だけど、バッチ書くならPythonか、shellで書いたほうが楽、というかoilコマンドがあんまり好きじゃないのかもしれない
        • 好みの問題かもしれない
    • debugとかレビューとかでは触れる。けどそのたびに、「ああ、自分はあまりPHPのことを知らなかったんだな」と思ったりする。
      • でもWebアプリケーションを作る上では、自分はPHPの作法に慣れている。
        • 要は慣れと経験の問題かもしれない。

色々浅いままの部分も多いので10月からも頑張ります。

2012年9月11日火曜日

虐殺器官とアルケミストを読んだ。


今日は帰ってゆっくりしているので、週末に読んだ本の話でもします。

まず、「虐殺器官」。急に混じりっけもなく強烈な名前出してごめんなさい。めったに読まないSF。理系だからSF好き、ということもなく、たまたま本屋であまりにも強烈なタイトルが目に止まったので読んでみました。

出だしからあまりにも強烈な風景の描写。そして「ぼく」の存在。この主人公である「ぼく」は国の暗殺部隊の一員として描かれています。ある感覚を麻痺させて、暗殺に対する感覚を鈍らせる。そのある種の感覚麻痺状態における自我。それがこの本のなかのぼくによって支配されています。主人公は冷静で客観的に描かれていますが、読んでいるとこっちの感覚まで麻痺してくるようです。

話の中で人間とことばの関係について触れられています。これは僕としては興味深く読んでいました。自然言語処理周りのひとが好きそうな話がでてきます。そして脳。医学。大量虐殺を引き起こす仕掛け。もういろんな領域の知識が詰まっていて、どうやったらこんな凄まじい本を書けるのだろうと思えてしまいます。本当に凄まじい本、という印象でした。

前に読んだ半藤さんの「昭和史 1926-1945」において、熱狂という観点から戦争を描いていた場面がありました。なんだかそれを彷彿とさせました。ことばの仕掛け。そんなことが頭の中をよぎって、あっという間に読み終わりました。

Amazon.co.jp: 虐殺器官 (ハヤカワ文庫JA): 伊藤 計劃: 本
http://www.amazon.co.jp/%E8%99%90%E6%AE%BA%E5%99%A8%E5%AE%98-%E3%83%8F%E3%83%A4%E3%82%AB%E3%83%AF%E6%96%87%E5%BA%ABJA-%E4%BC%8A%E8%97%A4-%E8%A8%88%E5%8A%83/dp/4150309841/ref=sr_1_1?s=books&ie=UTF8&qid=1347369355&sr=1-1

もう一冊読みました。「アルケミスト」という本です。これはこれで珍しくこういう類の本を読みました。なんだかもう、純粋という感じです。まっすぐな少年、夢にまっすぐ向かって走って、いろんな人を惹きつけて、という物語です。

でもこの話の中にたくさんのエッセンスが詰まっています。小学生が読んでも楽しいし、大人になって読んでも楽しめる。二度美味しい。そして大人になってから読むと味わい深い、きっとそんな本です。素敵な物語でした。なぜ少年はこうも人を惹きつけられていけたのだろう。1つ1つの出逢いの中でなぜこんなにも前に進めたんだろう。途中でとてもファンタスティックな展開になっていきますが、不思議と魅了されます。

こうやって平易な言葉でたくさんのものを詰められるというのは素敵なことだなぁと思うのです。

Amazon.co.jp: アルケミスト―夢を旅した少年 (角川文庫―角川文庫ソフィア): パウロ コエーリョ,Paulo Coelho,山川 紘矢,山川 亜希子: 本
http://www.amazon.co.jp/%E3%82%A2%E3%83%AB%E3%82%B1%E3%83%9F%E3%82%B9%E3%83%88%E2%80%95%E5%A4%A2%E3%82%92%E6%97%85%E3%81%97%E3%81%9F%E5%B0%91%E5%B9%B4-%E8%A7%92%E5%B7%9D%E6%96%87%E5%BA%AB%E2%80%95%E8%A7%92%E5%B7%9D%E6%96%87%E5%BA%AB%E3%82%BD%E3%83%95%E3%82%A3%E3%82%A2-%E3%83%91%E3%82%A6%E3%83%AD-%E3%82%B3%E3%82%A8%E3%83%BC%E3%83%AA%E3%83%A7/dp/404275001X

------

余談ですが、先週の月曜日に全社朝会でスピーチする機会がありました。ローテーションで回ってくるので、前回は僕の番だったのです。そこで時間に関する話をしました。教える側と、教えられる側の時間の話。今話している目の前の同僚も、たくさんの背景を抱えてここに立っている、という話。祖母の話。一日一日を大切にしましょう、という話。

文章を読む、人の話を聴く、プログラムを読む。なんだかそんな受け手側ばかりになっていると、ありがたみを忘れてしまいそうになります。

逆に、教えてばかり、書いてばかり、伝えてばかりでも、伝えることに鈍感になってしまいます。

そんな当たり前のことなんですが、意外と言われると自意識には存在していないものなのかも知れません。なので、最近は毎日そんなことを1回は思うようにしています。

中途半端な余談でした。