« リアルタイムWebを圧倒的な手軽さで構築できるフレームワークMeteorは「未来のメディアコンテナ」を作る道具になるだろう | Main | ビッグデータの価格破壊? Googleが「処理量100GB/月まで無料」の解析サービスBigQueryを提供開始 »

ニコニコ超会議の「超エンジニアミーティング」 を全部取材してみた

取材のため「超エンジニアミーティング in ニコニコ超会議」(Webページ)という企画を全部、見てみました。まる2日間にわたる取材となりました。

まとまった記事はこれから執筆するのですが、頭から揮発してしまう前に簡単なコメントの形で全プログラムの記録を残しておきます。

1日目・4月28日(土)

基調講演

五十嵐健夫さん(東京大学大学院 教授)(http://www-ui.is.s.u-tokyo.ac.jp/~takeo)による50分の講演です。タイトルは「デザインのためのインタフェース」 フリーハンドの「おえかき」から3Dモデルを作れる直感的なモデリングツール(その一つがTeddy)、紙のカードでロボットへ指示を出す試み、「押す」ことしかできないロボット(掃除ロボットのような奴ですね)がモノを任意の軌道で動かすための手法、等々の鮮やかなデモの連続でした。

エンジニア100連発

小飼弾さんは、ブラウザ上で多種類のスクリプト言語を動かせる「lleval」を紹介。iPhoneの音声入力でFizzBuzzプログラムを入力して動かす、という曲芸のようなデモ。

竹迫良範さんはビデオ出演。最初のネタはWindowsの「マインスイーパー」を操って解くPerl正規表現(!)。続いて、顔文字が並んでいるようにしか見えないコードが(a) MS-DOSの8086プログラム実行形式、(b)Perlプログラム、©Rubyプログラム、(d)JavaScriptプログラムとしてそれぞれ解釈されるという新作Polyglotプログラムコードをデモ。竹迫さんが以前に開発したPolyglotからさらに進化していました! (発表ビデオを含むBlogエントリ

小泉守義さんは、「Rython、それは素人にはPythonのようにしか見えないRuby」「PHPで書かれたPython、ただし処理速度は遅い」そして「このプレゼンはPHPで書かれたXlibでお送りしました」という強烈なデモを披露。

はまちや2さんは、ECサイトの「入力フォーム」の多くが非常に使いづらいので、それを改善するためのヒントを列挙。意外にも(失礼!)普通にいいお話でした(発表資料 ←Webアプリのフォームを設計・開発するデザイナ、エンジニアはぜひご一読を!)。

日本Rubyの会

高橋征義さんは「Rubyはたのしさを大切にする言語」であることを改めて説明。リリースされたばかりの組み込み環境向けRuby処理系「mruby」をビルドし、ライフゲームが動く様子をデモ。

櫻井達生さんは、自身の転職経験から「たのしい開発」について講演。たのしくない職場から、Rubyでアジャイル開発をする会社に移って感じたこと。

笹田耕一さんは、Ruby誕生から20周年にあたる2013年2月24日リリース、と日程が決まった「Ruby2.0」について説明。今年2012年の夏(8月)には「大きな機能をフリーズ」することから、提案がある人は早めに、と呼びかけました。さらに「おまけ、ここは分からなくていいです!」と前置きして、前職(東京大学大学院)でのRuby処理系のさまざまな高速化の手法について概観。「実行時情報を使った最適化では静的型付け言語に勝てる!」「浮動小数点演算のメモリ管理のオーバヘッドを直したらやたら速くなった。2.0では入れたい」「世代別GCを入れるにはCで書いた拡張にアノテーションを入れる必要があるが、互換性を損なうのでやらない方針」「マルチスレッドをどうしてもやりたければJRubyで。CRubyの提案は軽量なプロセス間通信とMVM(マルチ仮想マシン)」(論文の例(PDF))など処理系の実装に関する深い話をもの凄い勢いで紹介。

角谷信太郎さん Rubyのコミュニティ活動について紹介。今年は「Ruby Kaigi」は開催されませんが、地域Ruby会議がいくつも開かれます。この日のトークではみなとRuby会議01(横浜で6月2日開催)、岡山Ruby会議01の代表者を紹介。

java-ja

Hyper Great Creatorやすをさん(元ひがやすをさん)+UI/UXエンジニア*こうのみどり*さんのトーク。「HGC(Hyper Great Creator)やすを」への改名について「僕は自分を喪失すると自分の名前が言えなくなる。HGCやすを、という恥ずかしい名前を堂々と言えるようになれば、自信喪失が直るんじゃないか」。

HTML5で、iPhoneネイティブアプリ並みの快適さを実現する方法について説明。ポイントの一つはGPU利用するよう指定すること。また、「iPhoneでのデコメ絵文字(GIFアニメーション)の入力画面」をHTML5のハックを駆使して実現したデモを見せました。

西尾泰和さんは、「アイデアを塩漬けしない」方法について説明(発表資料)。iPadアプリを完成させるため、クラウドソーシングのoDeskでウクライナのiOSプログラマに発注。「予想以上のメリット」が得られた。まとめ「時間・やる気・知識は貴重なリソース」。

和田卓人さんは、テスト駆動開発で使われるJUnitのasserEqualsメソッドの引数を間違えやすい、という例を題材にして「誤った使い方をすることが困難」にする設計についてトーク。

LT&ハッカソン成果発表

ぶーさんは、自主制作アニメのプロジェクト「ニコ-アニ」のため進捗管理システムを自作したものの、「皆さんログインが嫌いで」使われず、残念ながら運用停止した話を紹介。その反省から「Open ID的なログイン」「数週間に報告が1度もなければ、自動的に作業割り当てを解除できる機能」が大事ではないか、と指摘(発表資料)。

瀬宮新さんは、「SIerのITドカタが初めてWebアプリ作ってみた」と題して発表。自分のPC内のファイル群(特に自炊した書籍類)を、外出先からでもWebアプリで検索できるようにし、書籍類の重複買いを予防できるようにしました(発表資料)。

NABEMON(鍋島里人)さんは、ゲーム業界から転職して「デブサミの中の人になってみた」経験を語りました(発表資料)。

aomonoyaさんは、ブルートレイン「ニコニコ超会議号」からのニコニコ配信の経験を語りました。車掌さん了解のうえ、洗面所のコンセントから寝台まで電源ケーブルを引いた、というエピソードには引きました感動しました。養生テープ重要とのこと(発表資料)。

おおかゆかさんは、先ほどリリースされたばかりのサービスForkwell(http://forkwell.com/)を紹介。このサービスの特徴であるスキルタグが「ひと味違う」所は、友達のスキルタグを「いきなり」設定できること、また誰がスキルタグを「+1」してくれたかが一目瞭然であること。

MH35さんは、ハッカソンの成果として「Rubyでニコニコをごにょごにょ」したトーク。デモは途中で時間切れになってしまいましたが、成果物はGitHubで公開されています(発表資料bnicovideo)。

あるふぁさんは、ハッカソンの成果として、ニコニコ動画のコメントを別のやり方で表示するChrome拡張プラグインをデモ。「自重」といったキーワードを含むコメントだけを目立つように表示する、等々の機能を備えます(成果物概要)。

ヒロ助さんは、ハッカソンの成果として「ニコニコすいしょうらー」をデモ。ニコニコ動画のタグの割合を調べているとのこと。

hogelogさんは、難解プログラミング言語BF(Brainf*ck)言語(Wikipedia)の「一番速い処理系」を紹介(発表資料)。

まさらっきさんは、ITmediの「ねとらぼ」で取り上げられたBF言語の一種「プログラミング言語Nyaruko」の作者です。「あれは徹夜明けに、Rubyの魔術で10行ぐらいで書いた」ものだそうです。WebでBF言語を作れるサービス「self-f*ck」を紹介。

2日目・4月29日(日)

プログラミング生放送 勉強会

ニコニコ動画を発表媒体とする開発者コミュニティ「プログラミング生放送 勉強会」の面々によるトークでした。

戀塚昭彦さんは、ニコニコ動画の開発者として知られています。現在は開発総指揮の立場ですが、コメントサーバーの開発は自ら行っています。コメントサーバーでは、動画/アラート/生放送と使い方ごとに、同期/非同期を使い分けているとのこと。例えばタイムシフトでは非同期になります。

戀塚さんの最近の仕事が「NicoNicoMetro(仮)」。これはWindows8の上で動く、Metro UIを駆使したニコニコ動画プレイヤーです。先の4月24日〜25日に開催されたMicrosoft Windows Developer Days (WDD) のキーノートでデモンストレーションするために作られた、デモ専用のアプリです。4月4日にいきなり上司から指示を受け、2週間で開発したとのこと。Windows8タブレットを使った実機デモも披露しました(発表資料)。

鳥居みゆっきさんは、「ニコニコ開発ノススメ」と題して発表。1994年生まれの高校3年生で、先日までドワンゴで働いていた(!)そうです。ニコニコ開発とは「ニコニコ動画上の情報を使い、ニコニコ動画を駆使して開発を行うこと」。ニコニコで生放送しながら開発することで、コメントでヒントや励ましが得られたりします。「ペアプロのような感じ?」とのこと。

_Toxy_さんも高校生です。「PSPでニコニコしてみた」と題して、PSP版のニコニコ動画ビューワをC++で開発した経験について語りました(発表資料)。

野村大翼さんは、Windows8のニコニコ動画ビューワについて。戀塚さんがWindows8版を開発していたとは知らずにいたそうです。面白いのは、Windows Phone7向けビューワをC#で開発しており、そのソースコードにわずかに手を加えるだけでWindows8で動かせたそうです。

Node.js 日本ユーザグループ

増井雄一郎さんは、「作りたいものリストを作ろう」(発表資料)と題して発表。思いついたアイデアのうち、完成に至るものはごく少数で、それなら公開してメリットを得よう、という発想です。増井氏が先日公開したiOS向けmruby「MobiRuby」のAndroid版は出るのか、との質問に対しては「年内にはサンプル版が出るだろう」とのことでした。

小林秀和(KOBA789)さんは、高校生にして経験2年のNode.js使いです。「小2からコードを書いてます」とのこと。Node.jsの「使いどころ」について、「レガシーなものに使うべきではない」「Node.jsの有用性はエンジニアの手腕に依存する。ちゃんとしたものから、バグだらけのゴミも作れる」「使うなら覚悟の上で」等々、辛口のトークを繰り広げました(発表資料)。

内山暁仁さんは、巨大粒子加速器の制御にNode.jsを用いた経験を語りました。加速器の制御ソフトでは、オープンソースの「EPICS」が世界中の40以上の実験施設で使われていて、そのクライアントソフトをNode.jsで開発できるよう、接続モジュールを開発したとのこと。いまどき加速器は、Node.jsとWebSocketを使いインターネット経由で制御可能な段階まで来ているのですね。

日本Scalaユーザーズグループ

水島宏太さんは、「Scala+Finagleの魅力」と題して発表。Finagleは、Twitter社が開発したネットワークスタックで、「RPCシステムを作るためのフレームワーク」です。その概観、サンプルプログラム(github)を説明、注意点として「もともとTwitterの社内フレームワーク。ドキュメントが追いついていないこともある」「ステートフルなプロトコルでは工夫が必要」などを挙げました(発表資料)。

浅海智晴さんは、ScalaでDSL(ドメイン特化言語)コンパイラを開発した経験を通して、Scalaの位置づけ、使い道を語ります(発表資料)。

尾崎智仁(ゆるよろ)さんは、「Scalaで作る奇妙なプログラミング言語」と題して、難解プログラミング言語(Wikipedia、esolang)について語ります(発表資料)。先に話題になった「Nyaruko言語」などBrainf*ck言語は8種類のシンボルで言語が成り立っていますが、シンボル数3のGrass言語、シンボル数2のIota言語があり、これらを応用すると、「さらにマジキチ難解な」言語を作ることができます。応用としてプログラミング言語「天使ちゃんマジ天使」「ブブゼラ」「ほむほむ」を紹介。さらにその場で新しい言語を作り「おっぱい、おっぱい」を並べるだけで、「Hello World」を出力して見せました。

ハッカソン成果発表

kousuke_simaさんは、ハッカソン成果としてChrome拡張「RocketLink」を紹介。ニコニコ動画の画像一覧から、遷移させずにコメント一覧を見る、というものです。Chromeウェブストアでこの日公開されました (発表資料RocketLink)。

yuta_takeyamaさんは、ハッカソン成果としてPHPとMySQLで手軽にMapReduceをする、というデモを紹介。「LLでサクっとMapReduceしてみたかった」(発表資料)。

kandodakiさんは、「すべてのニートを消し去りたい」という壮大な「祈り」を実現するサービスとして開発した「ソーシャルパシリ」をデモ。誰でもパシリになれる、つまり任意のお仕事依頼を受けることができるアプリです。信用・安全上の懸念という課題が残ることも正直に説明。

dekosukeさんは、ハッカソンにてパズルゲーム「ピクロス」を遺伝的アルゴリズムで解いた成果を紹介。「14*14を越えると遺伝的アルゴリズムが解に到達できない」ことが分かったそうです(発表資料)。

VoQnさんは、「ニコニコでMetro」と題して発表。先に戀塚昭彦さんが紹介したWindows8版ニコニコ動画ビューワのデザイン面の苦労を語ります。例えば「XAMLの悲劇」。UI記述に利用するXMLの一種XAMLのMetro向け変換ツールがなく、「僕は天才なので、『メモ帳』を使いました」(!)。「IE9はXAMLをレンダリングできる」ことを活用したそうです。メモ帳とブラウザで開発とは、まるでWebの初期のようです(Blog発表資料)。

以上、ニコニコ超会議の中で、隣の「超軽音部」から聞こえてくるバンド演奏の中で繰り広げられた「超エンジニアミーティング」の簡単な紹介でした。

ちゃんとしたレポート記事は、この後で執筆します。掲載後には、このページにもリンクを追加しておきます。

最後に、運営スタッフの皆さん、登壇者の皆さん、お疲れ様でした。あの環境で勉強会&ハッカソンをやって成立させてしまうのは、相当の力業だったことと思います。

なお、記述の間違いなどなどがありましたら、 Twitter( @AkioHoshi )なりメール(連絡先はこちら)なりでご指摘いただければ幸いです。

追記:

2012/6/18 掲載報告と「こぼれネタ」をBlogに記しました。

ニコニコ超会議の「超エンジニアミーティング」の記事が掲載されました+こぼれネタ少々

更新履歴: 2012/04/30、9:44 投稿
投稿後、いくつかのリンク先情報を追加。
2012/04/30、21:33 はまちや2さん、ぶーさん、NABEMON(鍋島里人)さん、MH35さん、kousuke_simaさん、dekosukeさんの発表資料リンクを追加。
2012/04/30、21:56 竹迫良範さんの発表資料リンクを追加。
2012/05/01、2:39、kousuke_simaさんのidの表記を訂正
2012/05/01、10:21、浅海智晴さんの発表資料リンクを追加。
2012/05/01、23:38、「ニコ−アニ」の記述を訂正。
2012/05/02、14:11、VoQnさんの発表資料リンクを追加。
2012/05/02、15:36、戀塚昭彦さんの発表資料リンクを追加。
2012/05/02、16:17、瀬宮新さんの発表資料リンクを追加、本文を一カ所訂正。
2012/05/02、16:31、Ruby2.0の「大きな機能のフリーズ時期」を夏(8月)に訂正。
2012/05/03、19:05、あるふぁさん成果物概要、hogelogさん発表資料のリンクを追加。
2012/05/24、水島宏太さんの発表資料リンクを追加。
2012/05/25、_Toxy_さんの発表資料リンクを追加。

|

« リアルタイムWebを圧倒的な手軽さで構築できるフレームワークMeteorは「未来のメディアコンテナ」を作る道具になるだろう | Main | ビッグデータの価格破壊? Googleが「処理量100GB/月まで無料」の解析サービスBigQueryを提供開始 »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference ニコニコ超会議の「超エンジニアミーティング」 を全部取材してみた:

« リアルタイムWebを圧倒的な手軽さで構築できるフレームワークMeteorは「未来のメディアコンテナ」を作る道具になるだろう | Main | ビッグデータの価格破壊? Googleが「処理量100GB/月まで無料」の解析サービスBigQueryを提供開始 »