2014年10月22日水曜日

Web Music Platform 魔改造

YAMAHAさんのWeb Music Platform
bower使ってmodule化されつつあり、自分のモジュールを追加した魔改造もしやすくなってきてます。とりあえず自分の方でもtsstmalibなんかをPolymer化、bowerで突っ込めるようにして、2つばかりVisualizerとして追加、さらにHerokuにdeployできるようにした魔改造版を作ってみました。


実際にdeployしたデモはこちら

そう言えばHeroku、ここ2ヶ月くらいで変な最適化が入ったのか、謎な挙動をしますよね。例えばpostinstallのスクリプト中にgit cloneしたリポジトリから特定のrevisionをcheckoutしようとすると、そこはrepositoryじゃないよ、的な事を言われてcheckoutできない。Google Codeからだとbranch作ってbranch直指定でcloneする以外に解決方法見つからなかった。GitHubの場合はtagを切ってないモジュールをbowerでinstallしようとしても、同じように怒られる。さらにbowerが途中でエラーするとbuild directoryから最終的なdeploy先にbower_componentsの中身がコピーされない? こっち系はあまり詳しくないので、詳しい人がいたら対処法というか裏で何が起きてるのか教えてもらえると嬉しいです。というか、今日ささださんとお昼食べるから聞いてみれば良いのか。

それはそうとscript tag injectionとかXHR、そのままだと並列読み込みとか扱いが面倒なので、Promise化してPromise.allで一気に待つようにしてみたら結構お手軽に高速化できた。もうPromiseなしでは生きていけない。

2014年10月3日金曜日

9月の読書

ニコファーレ関連でペースが落ちた9月。最後にちょっと追い上げたけど読めたのは14冊でした。半分忙しかった事を考えると、こんなもんか。冊数は少なかったけど実りは多かった。

小説

今回の読書ブームの中でも最高の1冊になった「世界の終わりとハードボイルド・ワンダーランド」から。読み始めてすぐに感じた印象は「安部公房」版「灰羽連盟」。でも、正しくは灰羽連盟が「安倍吉俊」版「世界の終り」。ついでに言えば麻枝准も影響を受けたと言っているのでAngel Beatsが「麻枝准」版「世界の終り」らしい。村上春樹の本は短編も含めて3冊目。今までは感じなかったけど、この本からは安部公房の香りを随所から感じた。主人公の理屈っぽい思考・意識の在り方、登場人物の醸す不思議な存在感、そして不条理な世界と理系的ストーリー展開。自分が高校時代から惚れ込んだ安倍文学の世界そのものだった。加えて村上春樹特有の音楽のエッセンス。前回の読書ブームは安部公房のカンガルー・ノートで一段落しちゃった感じなんだけど、今回のブーム中にこの本に巡り会えたのは幸福。また本を読む楽しみが出来た。

もう1冊はラノベで有名すぎないあたりから適当に選んだ本。引っ込み思案で変な趣味をもつ娘は嫌いじゃない。最後の展開は独特のノリを活かしつつも魔法少女モノの王道をオマージュって感じで。新人作家の初々しさが作品の雰囲気にマッチしてるし、好きな物を書いてるって愛が感じられた。ロープライス¥1って表示されてる(投稿日10/2現在)と申し訳ない気分になるけど。

安部公房関連

そして安部公房に戻る、と。もう振り返る作家なんだなぁ……。という事で、1つ目は「安部公房とわたし」。安部公房の愛人だった女優の山口果林さんが大学入試での安部公房との出会いから別れの日までを記した本。実際の日記をかき集める形で編集したのか、日々の細々とした出来事についての短いメモ書きを集めたような構成になっている。安部氏のプライベートについて知る機会はなかったのでなかなか貴重。作品の取材や演劇の話も出てくるので、安部氏とともに歩んできた人なのだな、と妙に感心したりもする。ただ、浮気中の最初の妻とのやり取りなんかは生々しくて重い。

もう1冊はチョムスキー。インタビュー中心なので、これで何かを理解できると思わないほうが良いかも。チョムスキーと生成文法について知ったのは安部公房「死に急ぐ鯨たち」を読んだ時だったと思うけど、あちらもインタビュー中心でこの本と雰囲気が似てた気がする。いつかチョムスキーについて知ろうと思って20年経ってようやく読んだ本がこれでした。文法の構造(最近の翻訳だと統辞構造論?)も読まないとですね。

短編

ロシアの音楽家はみんな大好きプーシキン。って事でチャイコフスキーのオペラで有名なスペードの女王。スイスに出張に行った際、たまたまホテルがオペラ座の近くで、本当にたまたま出張中にこの演目をやってたんですよ。これも高校の頃からの因縁の1つ。ついでに言えば、あとはオネーギンと未完7番が見れればチャイコフスキーは満足。で、原作が青空文庫経由でKindle化されてたので。オペラのストーリーはかなり原作に忠実ですね。大団円は流石にオペラ向けに大幅に書き換えられてるようですが。原作は昔ばなしみたいに各登場人物の後日談を淡々と語るような地味な終わり方でびっくりする。これが当時のロシアの作風なのかな。

最近のぷちお気に入り夢野久作さんで瓶詰地獄。妖精ではない。最後の瓶は……怖い。この心に刺さってくる感じは夢野作品の特徴ですね。

技術書ほか

GLES 2.0入門書。GLはいわゆる黄金本で勉強しただけだったので、もう少し現場視点で書かれた本を復讐がてら読んでおこうかな、と。ついでだからmobileフォーカスなら尚良し。応用編は今現在読んでいるところ。この辺りを読みつつ自分のAndroid用のJavaライブラリにAPIを足してジェネラティブ・アートのサンプルコード(for Processing)を動かしてみる、とかチマチマやってます。本の内容的にはAndroidとiOSそれぞれ固有の下準備についての解説が少し。その後はAttributeとUniformを使ったシェーダーの基礎とテクスチャの説明、あと行列を使った座標変換についても軽く触れてる。情報少なめではあるけど最近のモバイル端末(Nexus5/7/10、iPod Touch 4th/iPad 3rd)でのglGetIntegervが返す値の比較なども。対象言語はC(++)。AndroidはNDK前提。Javaでも基本は一緒なのでimport android.opengl.GLES20で書きたい人も読み替えながらなんとかなるかな?Bufferの扱いが特殊なのを除けば簡単になってる部分のほうが多かった。エラーメッセージの文字列の扱いとか。BufferもJavaに詳しい人にとっては常套手段なのかな?しばらくエラー・メッセージに悩んだのでメモ書きしておくと、

@Override public FloatBuffer createFloatBuffer(int length) {
return ByteBuffer.allocateDirect(length * 4).order( ByteOrder.nativeOrder()).asFloatBuffer();
}
@Override public FloatBuffer createFloatBufferFrom(float[] values) {

FloatBuffer buffer = createFloatBuffer(values.length);
buffer.put(values).position(0);
return buffer;
}
こんな感じで確保、格納してやればOK。

あとは技術書じゃないけどワインの本。チームにソムリエ試験受けてる人がいて、詳しい人がいるなら好都合!と興味を持って読んでみたんだけど、やっぱり難しい。チームでお祝いとかも多くて、ワイン飲む機会も増えてきてるんで、詳しくなればもっと楽しいかなって。褒めてるのか貶してるのか素人にはわからないような暗号めいた形容詞が面白いです。まぁ、気長に覚えます。