ITpro Challenge! 2008

 行ってきました、俺じゃ無くって鈴木(だれ?)に行かせればよかった。
 かなーり貴重な話しばかりなので、暇なときに後にアップされるであろうUstreamでもチェックしてみて下さい。

http://itpro.nikkeibp.co.jp/ev/itc2008/index.html

 個人的には、宮川さんの話がやっぱベストだった。何度も彼の話ってのは聞いてるんだけど、今回の話しで彼がどう突き抜けてるのかがはっきり理解できた。そして、彼の話を聞く限り、自分自身が国内のみで動いてるってのはこれ以上ないくらいもったいない事はないと言うことを再認識させられた。っていうか、ライブドアブログ作ったのは宮川さんだと思ってたよ、、、。しかし、ベンに履歴書の替わりにCPAN見ろ、って話しはすごいなぁ。でもって、実際にCPANのソース読んで入社を認めちゃうってのもスゲー話しだけど。すごく、私のダメなところで、正直ソースには魅力を感じない方のクリエイティブサイドの人間なので、MTのソースが美しいって言うのは正直驚いたんだけどねー、でも、宮川さんを通してそれを聞くとさすがに理解できた。でも、重かったよあのときのMT、、、。

 Winnyな金子さんの話も凄まじかった。ああ、こういうエンジニアもいるんだって。でも、結構多いんだよね、職業プログラマーじゃなくって業務上とか、研究上プログラムを組まなきゃいけないんだよって人。カオスとどう付き合うのかがちょっと理解できました。サーバ・ネットワークエンジニア的には、やっぱもうちょっとコンピュータ本来の仕事を頑張らせたいな、とか。もー、金子さんってそれを完全に使い切ってる気がするよ。っていうか、何らかの形で支援したい。

 Nexediの奥地さん、きたね、天才ですよたぶん。この人の話は、全世界のエンジニアに聞かせたいよ。やっぱ、プログラマーってクリエイターだよ。オープンソース傾倒が激しくなりそうな、結末でした。

 最後に、って発表したのは最初なんだけどDeNAの川崎さん。え? 役員なの?? なんかmixiみたいだな、あっちは辞めちゃったけど。なんか、新しいな。いやいや、新しいんじゃ無くって、ある意味伝統的なプログラマースタイルなのかも。なんとなく、ウチでバイトしてた大学生プログラマーを思い出した。勘当しちゃったけど、、、まだ、呼び寄せられんなー、大黒字になったら探し出して呼び戻そう。というわけで、こういった開発スタイルも有りなんだな-って。やっぱ、修羅場くぐってる人の話しって理由無しに説得力あるわ。「作家と編集者のような関係」、肝に銘じます。

 というわけで、いつものメモ書き。

-----

○「モバゲータウンをこうして作った 」
 川崎修平(かわさき しゅうへい)
 ディ・エヌ・エー 取締役

・1975年生まれ、同い年か
・ファミコン世代だよね
・なんか、若いなぁ、同い年とは思えない
・オークション統計ページ(aucfan.com)
・DeNA社員経由でバイトに
・チューニングの仕事、分析も
・2004年にモバイルサービスを立ち上げよう的な乗りで、入社

・モバオク(ケータイ専用オークション)
・開発期間2ヶ月
・1人でつくれるかな? ひどい、けどありがちな役員だー
・デイリー1000万PV前提って、、、
・自分の夢に描いたオークションサイトを
・PCオークションのBIDDERSとは敢えて切り離し
・パケット定額制に合わせたサービス設計
・なるべく安上がりに
・全部自分でやった
・システム基本構成
・ケータイブラウザの癖の調査
・絵文字
・フレームワーク
・SHMを使った高速リスティングの実装
・検索エンジンの作成
・って、おいおい、すごいなー

・困ったこと
・客がこねぇ
・が、はやり始めたらサーバ増設が追いつかねぇ
・携帯特有のトラフィックでネットワーク周りの限界が、CDN導入
・メール送信能力限界、qmail→postfix→MobaMail
・画像サーバが不安定、即時の実装変更

・驚いたこと
・ケータイユーザーはものすごくページを見る
・PCとコミュニケーション方法が全然違う、即レスが普通、短い文面でのやりとり
・ユーザと運営者の距離が近い、反応早い!
・障害や不具合に寛大、そうなのか

・自宅開発、できあがったら会社のサーバへ
・全体が出来たら、使い倒して気にくわないところを修正
・内容が固まってから、コード整理
・サービス隠語は、使われ方をみながら適宜修正

・マージンを残しておく
・意図的に弱い部分をつくっておく
・シンプル設計
・構成要素は少なめに

・ポケロト(ケータイ専用懸賞サービス)
・開発期間1週間弱

・ポケットアフィリエイト(モバイルアフィリエイトネットワーク)
・開発期間2週間
・昼飯に行く途中での会話から始まった
・ポケットアフィリエイトがモバゲーを成立させるキーに

・モバゲータウン(モバイル専用ゲーム&SNS)
・開発期間3ヶ月、2006年2月サービスイン
・ハンゲームがきっかけ

・モバゲー基本方針
・自分でも使えるコミュニティーサービス
・適当に理由をつけてゲーム開発
・アバターが活きるように
・mixi、GREE、ハンゲームの研究
・モバオクベースに改良
・高速なアバター描画ライブラリ

・困ったこと
・SNSの勘所がわからなかった、だからよかったのかもね
・サービス成長期は毎週のようにDB分割
・サーバ不足、ラックまで不足
・多人数開発前提じゃない作りなので、現状結構大変

・サービス作りの心がけ
・自分が創りたいモノを創る
・自分とユーザーが使いたいサービスを一致させるように訓練
・サービスへの高揚感
・自分がすごいと思える問題設定
・定期的に発生する修羅場

・技術について
・新技術は広く浅く動向だけは追い、必要に応じて習得。
・何か思いついたら、すぐに設計が頭に浮かんで実装できるように
・枯れた技術で作れる部分は、枯れた技術で
・モジュール・ライブラリの自作化(これは難しい点だ)

・ひとり開発で楽な点
・イメージ通りのものが作れる
・大部分の時間を本質的なことに割ける
・コミュニケーション不要
・自己責任でとりあえず実装してしまえる

・ツライ点
・ひとりよがりー
・寂しい、飽きる
・失敗したときの精神的ダメージが、、、
・人依存

・こんな緩急王で作れるのが理想
・作家と編集者のような関係
・自分は集客力のあるサービスを作ることに専念して、苦手なところは専門家に任せられる

・んー、大きく考えるとダメだと思うけど、こういう開発スタイルも有りなんだなと思う

Q.セキュリティについて
A.携帯で閉じているので、一般的なことに加えて、キャリアのGWで閉じる、XSSとかはフレームワーク側で対処。現時点では特に問題になっていない

Q.iPhone対応は?
A.ここから先はケータイで見て下さいになっちゃうなぁ、携帯GW以外経由の認証がレベルが一段落ちるよね

Q.1人だと寂しくなる、対策は?
A.今は人が多いので、寂しくないです

Q.今は?
A.1人でつくるのは新規のみなので

Q.運用は?
A.大変、以前の場合HDDが飛んだらもちろん自分でやったり、今はDCの人がやってくれたり

Q.モバゲー、モバオクが成功したポイントは?
A.モバオクはインセンティブ的クチコミベース、紹介する価値を認識してもらう。モバゲーはよくわかんない

Q.川崎さん以外の技術者は何してるの?
A.自分が自由に創ったモノをメンテナンスしたり、、、いやいや、自分たちでつくってますよ。タイアップ案件とか、別案件とか。


○「オープンソースで育つエンジニアリング・スキル」
 奥地秀則(おくじ よしのり)
 Nexedi 代表取締役社長

・表的な
・数学系
・生物系
・バイオ系、バイオインフォマティックス
・このあたりからコンピューターへ
・うはー、未踏ソフトウェア、GRUB 2の前身とかですか
・Nexedi、組み込み、ERP5
・Nexedi CTO
・株式会社Nexedi 代表取締役社長

・裏的な
・高3でPCに触れる
・京大
・GNU、GNU Hurd、GNU Mach
・GNU GRUB開発者
・GRUB2
・Failmallocをネタ開発

・貴重な人材になる方法
・あなたの存在が重要であること→あなたの替わりを見つけるのが間ではないということ

・方法その1
・専門家路線
・一芸に秀でる
・アインシュタイン的な
・天才であることが必須
・好きなことがやれる。でも、中途半端だと補される、理解されないことが多い
・あんまりすごいと、周りが付いて来れない、、、、、、

・方法その2
・複合路線
・複数の分野に卓越する
・フランシス・クリック
・諦めがよいことが必須
・安定しやすいが、立ち位置が微妙

・方法その3
・オールラウンダー路線
・数多くの領域に精通する
・レオナルド・ダ・ヴィンチ
・移り気であることが必須
・視野が広いが、雑用係になりやすい

・方法その4
・汚れ仕事路線
・誰もやりたくないことをやる
・世界の多くの人々
・我慢強い、あるいは、少しおかしいことが必須
・案外儲かるけど、やりたいことはまず出来ない

・私の哲学
・人生とは、世界をより良い場所にするためにある
・本業に割かれる時間は膨大である
・意に反することばかりやるのは人生の無駄遣い

・挑戦することの必要性

・× できないから、やらない
・○ やらないから、できない
・無理だと思った時点で、無理になる
・でも本当に無理なことは絶対無理
・楽観的な現実主義

・とは言っても、未知の世界は普通怖い
・保険(切り札)があれば、気分が楽になる
・保守的な冒険

・エンジニアへの適正
・エンジニアに必要な要素
・優れたシステムを提供したいという熱意
・実用性のあるシステムを構築する技術力
・コンピュータの仕組みに関する知識 ← プログラミング能力なくして、理解することはできない

・プログラマになるには
・実際にプログラムを書いてみる
・車輪の再発明は意外と有りかも
・他の人のプログラムを読んでみる
・他のプログラマと情報交換を行う

・プログラマのコミュニケーション
・オープンソースでないと、、、
・中身が気になった人がいたときに、教えられない
・コードの話が出来ないのはイタい

・オープンソースがスキルに与える効果
・直接コードで対話が出来る
・外部のエンジニアと一緒に活動できる
・機会が平等に与えられる
・オープンソース重要

・替わりを見つけるのが難しい存在になる方法を考えましょう
・新しい事に手を出しても怖くない状況をつくりましょう
・オープンソースでスキルを磨きましょう

○「Why open matters」(仮)
 宮川達彦(みやがわ たつひこ)
 Six Apart ソフトウェアエンジニア

・サンフランシスコ在住、なんだね
・そっか、Japanじゃないもんね
・2006.11に本社へ

・昔話、今考えてること、これから

・Open Source
・Open Community
・Open Platform

・ヨコハマ生まれ、1977
・父親がプログラマー
・でも、あんま無関係

・東大理科一類入学
・Netscape 3
・メタルバンド、、、やってた、うそー
・そこ経由で
・オライリージャパンでアルバイト
・Perl Conference Japan
・Perlへの興味
・Programming Perl

・情報科学科、最低点で進学ーーー
・同期にいろんな人たちがいるねぇ
・C、C++、Scheme、Prolog、ML
・直接役に立ってるかは疑問なんだけど

・オン・ザ・エッジ アルバイト
・サークルの知り合い周りで
・プログラマ募集
・弾さんの1ヶ月ほど前に入社

・大学院入試に落ちる、99%受かるのにぃ
・1単位落として(わざと)、留年
・迷いがー、っていうか保険、エッジでいいのか? って
・オン・ザ・エッジ デスマ案件
・デスマを乗り越え
・社内共通モジュール開発 エースプログラマ的な
・時給2000円、月300時間

・Bulknews
・CPAN Author
・Mac IE、、、堀江氏がつかってた
・Linux CONFERENCE 2000 FALL

・2001/1 テクニカルディレクターとして入社
・大学も卒業
・CPANモジュール、パッチを送る、Mailing List、IRC

・2002 Sledge開発、モバイルファクトリーで使われてるとか
・Sledgeのオープンソース化

・オープンソース化
・受注案件のプレゼンス確保
・OJT教育コストの低減
・開発チームのモチベーション

・CodeReposというmicro blogサービス
・新しい
・ネタだけど
・What are you coding?
・自分の創ったモノを見て、評価してもらいたい欲求
・書いたものそのものは見てもらえない、確かに
・オープンソースなら書いたもの自体が見てもらえる

・2003年 CPAN #1 Authorになる、現在3位
・Software = People、Credit counts
・ソフトウェアってのは属人的なんですよ

・Open Community / Communication

・2002年冬、第0次ブログブーム
・MOVABLE TYPE
・Impressive clean code & pluggable architecture
・Casual use of XML and RESTy APIs (no SOAP, WS-*)
・Made some MT plugins &,,,

・2003.04
・Shibuya.pm
・2003 Winter livedoor Blog
・実は、これには関わっていない

・2004 Blog Hacks
・livedoor / Nifty、同業他社での共著
・情報を隠すのではなく、出していこう
・Open Communication Beyond Just Code

・2004 October Dinner with Ben
・CPAN as a resumme
・moduleに目を通したから、入ってくれ
・だってー
・2005 Jan, Joined Six Apart KK
・Vice President
・Software Engineer
・世界へ

・YAPC::ASIA 2006-
・みんなで受賞

・Community = People、Get involved

・Open Plathome
・Type Pad
・6ap内ではとても重要
・Switching Code
・OPEN IDとか対応

・Community driven Open Standards
・Mobile Link Discovery
・Open Media Profile
・David Recordon
・日本人もどんどん参加せい

・Google、facebook
・どんどん参加せい

・Web API 1.0
・Web API 2.0, Give us your app
・ちょっとしたアイデアでヒーローになれるかね

・現在おかれている状況・環境にとらわれない
・コードはあなた地震を変える
・Open Source: Good for your presonal record too.
・コードをコミットしませう
・オープンな議論コミュニケーションが
・日本の技術者コミュニティはハイレベル
・情報発信を!言語の壁
・CODING iS NOT ACRIME
・NOT CODING IS A CRIME


○「シミュレーション的発想によるプログラミング 」
 金子勇(かねこ いさむ)
 Dreamboat 技術顧問

・Winny作者
・プログラミングは本来趣味
・ちょっとしたフリーソフト公開
・そこから仕事に発展
・茨城大学大学院でPh.D
・先行は情報システム科学
・オブジェクト指向によるシミュレーション
・NigtyやINTERNET上でフリーソフト公開
・NekoFlight(フライトシミュレータ)

・日本原子力研究所
・地球シミュレータでの可視化に関する研究
・フリーソフトも公開、主にゲーム向け物理演算関連

・3DCGソフト会社
・フリーソフトの商用化
・IPA未踏ソフトに参加
・物理演算エンジン担当

・東大大学院で特任助手
・戦略ソフトウェア創造人材育成プログラム

・Winny開発

・現在、Dreamboat技術顧問
・コンテンツ配信サービスSkeedcastに関わる

・プログラマ? いやいや、プログラムが書けるだけ
・シミュレーション屋、もしくは趣味フリーソフト屋
・コンピュータシミュレーション?

・シミュレーションとは?
・シミュレーション物理学、第3の物理学
・理論物理学、実験物理学
・シミュレーション物理、複雑系などの検証
・基礎理論だけではモデルが簡単すぎる
・条件が複雑すぎて実験では検証できない対象
・初期状態に大きく依存する系(カオス系)
・連続系・離散系に分かれる
・コンピュータ内部にも出る構築→結果を検討→パラメータ変更して2へ→モデル変更で1へ

・発想の根源
・自然科学的発想
・シミュレーション物理的
・簡単なモデルから複雑な事象生成を好む
・複雑系
・つくるプログラムは意外にシンプル
・アプリケーションとしては、物理運動シミュレーション(リアルタイムCG向け、P2P(人の集まりから生成される社会的複雑系))

・プログラミング方針
・初期設計はあまり重視しない、ベースとなる理屈は最も重要
・基本モデルは簡単な方が良い、そこから生み出される結果は複雑な方が良い
・予想外の結果を重視、バグはバグじゃない
・試行錯誤を重視、細かいパラメータチューニングに落とし込む、テストプログラムを捨てることを厭わない

・AB法
・AnimeBody作成中に編み出したゲーム向けの物理シミュレーション手法
・色々応用例をつくって公開
・現在も開発継続している

・P2P型ファイル共有ソフトWinny1
・発想の原点はProxyを内蔵したピュアP2P

・Winnyとシミュレーション
・巨大な複雑系になるので挙動はわからない
・わかるところまではシミュレーションで検討
・動作してみるといきなり破綻
・試行錯誤的にパラメータチューニング
・系の挙動を観測

・結局のところ
・シミュレーションの面白さ
・予想外の結果が、その割には作るのが簡単
・通常のソフトウェア設計
・ウォーターフォール型

・シミュレーション的プログラミング
・思いついたアイデアを実装
・テストラン
・小変更
・大変更

・プログラミングは複雑系を具現するもの
・一見よくわからん挙動をしても切り捨てない
・理屈がよくわからなくても、先にプログラムだけ作れることがある

・はじめに必要になるのは何らかのアイデア
・ヒントになるのは物理学他、主に複雑系
・離れた概念を組み合わせると、面白いアイデアが生まれる事が多い
・少しでも先に進むことが重要
・無駄なことをしない

・プログラミングを長いことを趣味にしてきただけの直感系プログラマ
・なんだかよくわからんけど、面白いプログラムを作りたい
・本来は何か思いついたらこまめに公開すべき
・プログラムは表現手法
・検閲しないようにお願いします