おがさわらなるひこのオープンソースとかプログラミングとか印刷技術とか

おがさわらなるひこ @naru0ga が技術系で興味を持ったりなんだりしたことをたまーに書くブログです。最近はてなダイアリー放置しすぎて記事書くたびにはてな記法忘れるのではてなブログに移行しました。

クリエイティブ・コモンズ・ライセンス
特に断りがない場合は、本ブログの筆者によるコンテンツは クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。

楽天テクノロジーカンファレンス2009

今年も行ってきました。楽天テクノロジーカンファレンス2009

去年はディストロ大集合とかあったので行ったんだけど (d:id:naruoga:20081130:1228014743)、今年は完全に Web 開発者のためのイベントだなーと思って、じゃあいいやーってことで完全に忘れてて。
ついったのタイムライン見てたら、楽天ビルがどーとか、青物横丁がこーとかなんだか言ってる。ん? なんだっけ。ああ、楽天テクノロジーカンファレンスか。

というわけで、

あーそうか、明日は楽天テクノロジーカンファレンスか。技術ではなく社会(しかも non-business)にばかり興味が向いてるオイラには魅力的なセッションがあんまりなくて見送ったから忘れてた。

tweet したら、

そんなこと言わず来てよ。

という id:hyoshiok さん直々の RT が (^^;)。
そう言われたらいかないわけにいかんでしょう。つーことで行ってきた。

楽天テクノロジーカンファレンスの変遷

今年で3回目のこのイベント。

  • 2007年 まずやってみた。写真撮影禁止、Closed な印象
  • 2008年 オープン性を指向
  • 2009年 エンジニアのお祭りに!

ということらしいのですが、「エンジニア」の前に見えない字でこっそりと「Web 系」という文字があるような……。
てなわけでワタクシなんかが名乗ると「Web は趣味でやられてるんですか?」とか、場合によっては「なんでいらっしゃったんですか?」とか聞かれるという (^^;)。

それが悪いというわけじゃないけどね。
ただそれが、技術セッションも最後のパネルディスカッションもすっぽかす理由だったというだけでございます。

KeyNote by 三木谷社長

基本的には去年と言っていることがさほど変わらなかった気がするし、もっと思い入れがある人が書くでしょう。ということで省略。

まあでも、楽天のビジネスモデルのユニーク性(EC といっても自社が販売するわけじゃなくて一種のショッピングモール、店舗に場所とテクノロジーを提供する、店舗は自分でページを編集して自分の色を出すことができる*1、それをスーパーポイントでつなぐ)、サービスの多様性、そのため技術としては多様なサービスを一貫して扱え、スケーラビリティのあるアーキテクチャが重要である、といったように、話は面白かったです。ハイ。

あーもう一個、楽天経済圏のオープン化って話があり、これは Web 屋さんから見ると面白いのかなーと思ってました。

Keynote by よしおかさん

これも一言でまとめますと*2

楽天を hyoshiok 化するのが私の役目。

ということだそうです。すばらしい。ぱちぱち。

Q&A
Q
芸風を変えたいとのことだが、変えたい芸風とはなにか。そしてそれをどのように変えていくかプランはあるか。
A
基本的に楽天のエンジニアは外に出て行かない。勉強会とか。それを変えていきたい。手段としては、ひたすら声をかけて励ます。
Q
技術をオープンにすることは IP の観点からいってどうなのか。
A
技術の中でも特に基盤技術は会社ではなく社会のものである。大事な部分、ビジネスモデルについては守っていく。という考え。

Lightning Talks & Demonstration

プログラム上仕方がないのだけど、LT で喋る成果が実際に展示してあって、それを見るブースが並んでた。
けど、それを見るためには LT の前に時間を取らなきゃいけない。
そのためにはテクニカルセッションを捨てなければならない。

まあオイラは Web 系エンジニアではないのでテクニカルセッションは最初から捨ててかかってたけど、むしろその方が面白かったんじゃないかという気が正直してしまっている。

例えばね、今回の LT は

Lightning Talks & 楽天ジャングル

ってなってたんだけど、楽天ジャングルがなに、っていうのはそんなに common knowledge なのでせうか。

私、「楽天の社員は特に上司の許可など得なくても、仮想マシンをサーバ上に一個作ることができて、そこで好きなサービスを作ってみることができる。勤務時間の10%がだいたい上限。時間さえ食いすぎなければ基本的になにをやっても構わない。しかしその成果を社外に持ち出すときは審査が必要」とかって制度があることを知らなかったんですけど。

「それって Google の 20%ルールみたいなもんです? へー」
「いや、あそこまで自由じゃないですけどね、でも結構自由に色々やれますよ」
「すみません、僕が Web エンジニアじゃないせいもあるんですが、楽天さんがそういう活動してらっしゃるって知られてるんですかね?」
「いやーどうですかねー、知られてないかもしれませんねー」

とても面白い試みだと思うのにもっと堂々とこんなことやってます! って見せればいいのになーってちょっと思った。ぐぐったらこの記事 (パブ記事だけど) ぐらいかなーそれらしい記述は。
あ、ただしオイラほんのちょっと遅刻したので、最初に説明してた可能性は否定しない。
2009.10.28 追記:と思ったら、楽天ジャングルについては上のリンク先に書いてあった。関係者の皆さんごめんなさい。

ということで LT のプログラム にはジャングルの成果物は題目は載っていたけれどお名前は載ってなかったので、名前書き落とした方もいます。申し訳ないです。

あとデモブースで非常に面白いデモしてた Team Lab さん (後述)。

「うちらの売りは、デザイナーからエンジニアから販売から、全部自社で抱えることです。外注は絶対にしない。なぜかっていうと、そういうコラボレーションが面白い結果を生むから、近いところにいないとダメです」
「自分たちは基本的に受託開発だけです。なぜかというと、例えば世界一の音楽サイトを作ろうと思っても、ベンチャーだけじゃできないじゃないですか。SONY さんとかコンテンツを持ってる人に声かけてもらって始めて実現できる。今日の展示だってタダのお遊びではありますけど、もしかしてこれを TOTO さんが見てくれたら商売になるかもしれない、ダイオーズさんやユニマットさんが見てくれたらビジネスができるかもしれない、そう思ってやってます」

こういう声を聞けることは、座ってセミナー聞いてるよりも僕にとっては有意義な時間だったと思います。

別の言い方をすれば、セッションを捨てないと LT のデモが見られないというのはプログラムに難ありっつか、モノヅクリスト大集合、エンジニアのお祭りというならセミナー切ってポスターセッションと LT とデモだけでよかったんじゃないかとか思います、これはいろいろと大人の事情もあったようですし、責めるつもりはありません。
ただ、LT のデモではホントに面白い話を聞けたので、聞けなかった人はもったいなかったな、という気持ちはあります。

えー赤の他人の無責任な方言はさておき、LT のご紹介をちゃっちゃっと。

??? by Mr.X さん (ジャングル?)

ごめんなさいトップバッターさんは遅刻したためほとんど聞けませんでした。テンプレートエンジンがどーとかこーとかいう発表。

国際会議推薦システム by 趙新有さん、入江基史さん

うーむ。実にアカデミックな LT だ (褒めてない)。実現手段を淡々と延べ、成果を淡々と述べる。IPSJ の全国大会な雰囲気。
でもまあ、学会 CMS を目指すという志は良いと思うのでがんばってくださいまし。

RWSとjQueryHTML5〜シルバーウィークの自由研究編 by お名前失念(ジャングル)
  • 普段はサーバサイド
  • やってないことしてみたい
  • 要素技術
  • 作ったのは楽天のJS版お気に入りブクマ
  • 感想
    • 普段やらないことは面白い
    • JS けっこう楽しい
    • クライアントサイドも知っといた方が幅が広がる
自分を Google 化する by sslg33 さん
音声解析技術を用いた開発モデルケース〜のどを鍛えているか? by 下郡さん(ジャングル)

全然この世界に縁がない私も「楽天下郡さん」は知ってた気がするなあ。何でだろ。ylug 関係?

  • Coding ってなんか嫌じゃない?
    • 肩凝るし
    • ネイルはげるし
    • 画面に向かってキーボードかちゃかちゃかちゃかちゃ
    • もーやだ!
  • 言葉でコーディングできたらよくない?
    • できれば JK 言語とか
    • バルス!」でコード消してみたりとか(会場大ウケ)
      • ここで例を出してたんだけどメモれなかったんで悔しすぎる。
  • JK 言語はともかく作ってみた
    • Julius (OSS音声認識エンジン)
    • 言語側は「なでしこ」
    • PHP でがちゃんことくっつけた
  • デモ
    • 認識率が厳しい
    • 「行削除」を連呼する下郡さん萌え。
    • 「バ○ス!」も叫んでたけど、せっかくなら作り込んどけばよかったのに (^^;)。
  • この手のアイディアはあるけどやっぱり認識系が厳しいね。
  • でも次は JK 言語に挑戦するらしいのでちょっと期待。
iPhone で音楽アプリ by KAYAK 瀬尾 浩二郎さん
  • KAYAK 内でいろいろ変なことを手がけている
    • 謎な雰囲気の会議室
    • 植物にセンサーをつけて電位変化を記録してそれからブログを自動生成する
  • iPhone の世界ではなんちゃらいう(忘れた)ギターアプリが超売れ
    • じゃあ音楽アプリつくったらウハウハじゃね?
      • ハンディシンセ作ってみた
      • まったく売れない
      • 音がしょぼすぎるのか?
  • 次回作
    • ディレイの制御を G センサーでできたりするように
    • こうご期待!
楽天 iPhone Application Collection by 高見さん(ジャングル)
  • iPhone のアプリ表示画面は16個ずつ
    • 楽天製アプリを16個つくったら画面が埋め尽くせるんじゃ?
    • 20人の iPhone エンジニアを集めてプロジェクト開始
  • 似姿:楽天謹製の画像検索エンジン
    • これをつかった画像検索アプリ
  • 浮世:楽天謹製の画像縮小ロジック、大事と思われるところを抽出し残すようにリサイズ
    • これも iPhone の写真管理とかに便利
  • Rakuten Web Browser
  • その他癒し系アプリとか
  • 振ると楽天市場からランダムな商品をオススメしてくれるとか (実用性微妙)
  • いろいろ面白いのが出来てきたから期待しててね!
Tokyo Jogging by ryo_katsuma さん
  • 一言で言えば「ストビューの上をジョギング」
  • インタフェースは Wii の各種デバイス (スティック、ヌンチャク、Wii Fit)
    • Wii のデバイスは Bluetooth なので BT の信号を受けて Java で解析
  • サーバベース or クライアントベース?
    • サーバサイドだとクライアントのどこの画面に情報だしていいんだかわかんない
    • のでクライアントからプルすることに

ここでドラッ!

Rakuten Webservice API rubyライブラリ by 後藤さん (ジャングル)
  • ライブラリ名は rwsc = Rakuten Web Service (Client)
    • Ruby のモジュール名として rws が既に取られてたので泣く泣く
    • rws はメンテされてないみたいだから名前譲ってくれよぉ。
    • Gem / rubyforge / github などで公開
  • こだわりポイント

ここでドラッ!

Keyword Tracker by just-do-neet さん
  • Keyword Tracker とは
    • Web のキーワードトレンドなどを追うサービス
    • Google Trend みたいなもんかしら?
    • ということでブログに限定してみた
  • この手のを考えるとだいたい Lexical Analyze を使うのだけど
    • それだと context dependent な情報が拾えない
    • spam に弱い
  • ランクづけ
  • パフォーマンス
    • Hadoop を使い1日100万エントリを裁けている
    • MySQL を KVS として使うことで高速化 (専用の KVS よりは遅いが、MySQL になれた人にはお手軽)
Ride on ATND by すがまさおさん
  • 「勉強会に勉強をしにくる奴は素人」
  • じゃあ懇親会に出てみる
  • だれにどんな話をしていいんだかわかんない!
    • ATND が良い情報持ってるじゃん!
      • ATND で同じイベントに参加している人を探せる
      • その人が他に参加しているイベントもわかる
  • 作りの話
    • ATND API ではなく ATND4R という自作 API
    • Sinatra を使用したが、情報が少なくて苦労した。
Browsing Map by 楽天さんの新卒5人(ジャングル)
  • 新卒で面白いことやろう
    • でもなかなか顔を合わせての打ち合わせは難しい
    • Skype で分散開発
  • リアル店舗の顧客の挙動をECに持ち込みたい
    • リアル店舗の顧客の挙動:人の流れによって選択が生まれる
      • 行列があるととりあえず並んでみる
      • マスコミで紹介された人気店にはとりあえず行っている
      • タイムセールなどで人が動くととりあえずついて行ってみる
    • EC でも人の流れが可視化できたら面白いのでは?
  • 実装
    • クライアント側:グリモン + Fx Plugin (自作)
    • サーバサイドにも仕掛けが
楽天寄り道トラベル by (名前失念)(ジャングル)
  • 楽天インターンシップの活動
    • 学生から応募者を募り、ジャングルと同じような活動を行う
    • 企画・設計・実装・デザインまですべて一人で
  • 旅行に行くとき
    • 行き先を決める
    • どうやっていくかを決める
    • 宿泊先を決める
      • 寄り道先が簡単に探せたら面白くない?
  • Google Map + 楽天トラベルの Mashup
ゆっくりしゃべろう Slowtalk by 大森うさん (ジャングル)
  • 背景
  • 電話とはリモートのサーバーを手軽に操作できる唯一のデバイスである
    • ただ話すのではなく面白いことに使おう
  • 動作原理
    • ポケベル入力でこちらからの語を入力
    • 正規表現でパターンマッチして反応文字列を生成
      • パターンは Web インタフェースで自動で登録できる
      • 単純な文字列生成だけではなく、プログラムコードを登録して実行させることも可能
    • 生成した文字列を発話エンジン(名前忘れてしまった)に突っ込んで電話で喋らせる

これはデモで聞いたんですが、

  • パターンには実は「感情」パラメータがあり、感情によって同じパターンでも反応が変わってくる。
  • ホントは双方向を会話でやりたかったのだけど音声認識がかなり苦労するので断念
  • パターンを手動で追加するのではなく、会話の中から抽出できると面白い
    • けどそれだとひらがなで形態素解析をしなければならずツラい
unshiu x mixiアプリ by gaooh さん
  • unshiuRails を用いた CGM フレームワーク
    • gaooh さんの所属するドリコムにより OSS として提供
    • 今回は一コミッターとしてプレゼン
  • mixi アプリ
    • 最近注目 (いろんな意味で ^^;)
    • Javascript ゴリゴリ
    • けっこう辛い
    • Unshiu でラップしてあげることで、Pure Rubymixi アプリが書けちゃうよ!
抹茶 by 佐藤さん(ジャングル)
  • よく「ググれカス」とか言われますが
  • 実はぐぐる先生に聞くのは意外とスキルが必要
    • 適切な検索ワードを選ぶことができなければ答えが得られない
  • EC も一緒
    • 欲しいサービスに適合するキーワードが見つけられなければ答えは出ない
    • 答えが出ない場合はお客さんはそこで帰ってしまう
      • これはマズい!
  • ということで、「知りたい人」と「知ってる人」を match させるサービス
    • matcher だから「抹茶」
  • Twitter で実現された二種類の抹茶
    • ume_bot - 詳しそうな人を探してくれる
    • sakura_bot - 似てる発言を探してくれる

これもデモで聞きましたが、「これって形態素解析エンジンどうしてます?」「いやーそこは手を抜きたかったところなので、某 Y 社の……」「全裸 bot も使ってる某 Y 社さん?」「そうそう」だそうです。

らぼかへ・アクトトイレ by 山本遼 @ TeamLab さん

社内でときどき好きなプロジェクトが立ち上がる。その二つの例。

【らぼかへ】

  • 社内にはコーヒー好きが多い
  • 豆もわざわざ選んで(楽天で)購入
    • いまどんな豆なのか知りたい!
    • Web アプリで今の豆を表示する奴を作った
    • せっかくだから余ってた Web CAM でコーヒーサーバの様子を表示してみた
    • けっこう好評
    • しかしクレームが
      • いちいち Web 立ち上げるの面倒くさい
      • うっかり見ないで行ったらコーヒー入ってなくてがっかり
      • もっと気軽に見られないの?
  • 重力センサーとかで検知すればバッチグー
    • でもすげー高い。コーヒーメーカーもう一個買える
    • そっか WebCAM の画像使えばいいんじゃん!
      • 画像処理はさすがに重過ぎるだろ
      • 知りたいのは残量なんだから縦に線入れて2値画像なら処理できね?
      • 光が漏れちゃってダメダメ
      • 離散値でいいなら黒い布に一定間隔で穴開ければ
      • 大成功!
      • ユーザクライアントは安直に Firefox Plugin

【アクトトイレ】

  • オフィスはけっこう自分たちの快適になるようにカスタマイズしてある
  • 残された空間:トイレ(特に個室)
    • ここに何か癒しが必要なのでは??
    • トイレといえばトイレットペーパー
    • こいつを引っ張ることで癒されるとよくない?
    • トイレットペーパーと言えば回る
    • 回るといえばハムスター
    • トイレットペーパーを引っ張るとハムスターがくるくる回ると可愛くない?
  • センサーどうしよう?
    • マウスをペーパーの上に乗っける (笑)

この手作り感最高。今回の LT でオイラは文句なし一番だと思いました。

ぴたっと PC by しのはらえいじさん(ジャングル)
  • 仕事では基本プログラミングをしない
  • たまにはコード書きたい!
    • 最近テレビ見てないからテレビっぽいものを作りたい
    • テレビといえばCM
    • CMといえばぴたっとAd
      • ページに張り付けるとそのページに存在するキーワードを元に適切な広告を出してくれるサービス*3
      • 広告はキーワードに対する入札制で、高いお金を出した広告が選ばれる
      • この「入札額」をキーワードと一緒に垂れ流すと面白いんじゃない?
  • 実装
    • AS 使ってみたかったけど Adobe CS なんて買えない
    • Eclipseプラグインがある! これで勝てる!
    • 楽天のプログラミング合宿*4で一気に仕上げた
      • 合宿もプログラミングも楽しい!
ブログ界の情報整理を目指すビジュアル検索エンジンBlogopolis』の紹介 by 浜本 階生さん
  • Google の考え:すべての情報を網羅し尽す
  • 普通に考えるとこれに対抗するのは難しいので差別化
    • Domain を絞る(ブログだけ)
    • 検索ではなく探索
    • 可視化
  • 基本的な考え
    • ブログエントリをはてブのキーワードで分類
    • さらにブックマーク数で面積を
    • Pathtraq によりアクセス数を
    • これらの結果を元に「都市」を作り、いろいろなブログの位置づけを視覚化する

というメモよりサイト見た方が早いっす。かなりクールです。
http://blogopolis.jp/

楽天おかいものデバイス by 名前失念(ジャングル)
  • 今、Physical Computing といってデバイスと Internet をつなぐサービスがたくさん出てきている
  • 楽天でやるなら、やっぱり買い物かご
    • バーコードをぴっとやれば、その場でその商品の一番安いものが楽天の買い物かごに入ってたらうれしくない?
  • 技術的には JAN コードの読み取りが特許の塊なので、自前で作るのがかなり大変だった

プレゼン自体と関係ないけどプレゼン資料そのものが超格好良かった。
「フラッシュでしこしこ書いたんですか?」と聞いたら、専用のサイトがあるんだって。http://prezi.com/
有償サービスなんだけど制限つきで無償アカウントもあるのでさっそく登録してみました。

第100回カーネル読書会の作り方〜ユメのチカラ〜 by よしおかひろたかさん

see d:id:hyoshiok:20091023

パネルディスカッション

はサボってた。

ウチの会社にも確か CTO っているんですよ。
でも何が Profession なのか、どんな technical direction をしてるかまったく分からない。
だから CTO と技術者の距離が近い Web 系の会社ならともかく、オイラにとっては、CTO の話とか別に聞く価値がないものなのよねぇ〜。

もちろんパネラーの皆様は、CTO をやるぐらいだから色々面白いネタも持ってただろうし参加すればそれなりに面白かったと思うんだけど、でもオイラは LT のデモコーナーでダラダラダラダラ無駄話したり、Turry's のコーヒー買ってきて飲む方が大事だったってだけです。

懇親会

相変わらずの渾身のご馳走。
今年も三木谷さん来てたのかしら。去年は名刺交換の行列がすごかったなー。
あんまり新しい人とお話できなくて残念。やっぱ Web 系のイベントだと話のとっかかりを作るのが難しいっす。

二次会

大井町に移動し二次会。
某S氏が酔っ払って、店の注文機の電源引っこ抜いたり(OSの起動画面が見たかったんだと。たくもう) USB マウス(持ってる人いるし……)を差して操作を試みたりとやんちゃしまくりで、シラフなオイラはヒヤヒヤしてたよ。

席替えして、最後のパネルディスカッションでパネラーをされたKLab の仙石さんとちょっとだけお話しさせていただきました。冒頭から「パネルディスカッションはちょっと僕の興味じゃなかったので……」とか生意気なこと言って済みません。>仙石さん(読んでないと思いますが)
ほんとーにちょっとだけしかお話できなかったんですが、さすがに非常に鋭いものの見方をされる方だなぁと思いました。いつものように「プリンタドライバをなるべくオープンな形で世の中に出すのが今の目標」といったら「それに何の意味があるの?」と返され、自分なりの答え*5 を説明しようとしたらちょうどお開きの時間になってしまったのが少し残念でした。


まあともかく、捨ててたイベントだったけどたまたま書いた一言で拾い上げてもらって参加したら予想外に面白かった、ということで、hyoshiok さんには感謝しなければいけません。
もちろんイベントを開催した楽天株式会社・開発部有志の皆様には心より感謝します。いろいろこうしたらもっと面白くなるんじゃないか、と思うことはありますが、これだけのイベントを本業をやりつつ運営したのはさぞかしご苦労があったと思います。ありがとうございます。
それから Web 屋でもなんでもない私の与太話に付き合ってくれたみなさんに感謝して、例によって超長くなってしまったブログを締めさせていただきます。

ありがとうございました!

*1:称して「ネット越しの対面販売」とか言ってましたね。

*2:Twitter でのどなたかの発言の引用です。

*3:ご本人、楽天Google Adsense です、っておっしゃってましたが、その説明どうよ ^^;

*4:というのがあるらしい。いいですなー。

*5:めっちゃシンプルに言えば「その方が世界を面白くすると思うから」なんだけど、それじゃ説明になってないよね (^^;)。まあこのブログを読んでる人には今更説明するような話ではないので略。