【Memo】Lightweight Language Television 2009
8/29、「Lightweight Language Television 2009(LLTV)」に参加してきました。
「Lightweight Language(LL)」は、Perl、Ruby、Python、PHP、JavaScript、Scheme等のスクリプト型言語全般を指す言葉で、「LLイベント」は2003年以来開催されているLLを主題とした催事です。
今年は「Television」の名称が示すように、一日の内容をTV番組になぞらえて進行していきました。
■内容
10:25 開会宣言
10:30 朝から生テレビ
LLの最新動向についてのパネルディスカッション。
・表現したいものがあり新しい言語が生まれる。
・昔は言語は会議室で生まれた。今はコミュニティで生まれる。
・「セキュリティ&プログラミングキャンプ2009」の話。HW層と言語層のクレイジーな若いハッカーが一ヶ所に集う場。昔は世界中でシリコンバレーしかなかった。指導側としても稀有な体験。
・今、そういう現場はゲーム業界しかない。
12:00 LLフィーリングカップル
LL周辺で働く男女数名が、エンジニアリングに関する男女の思考・文化の差異について語り合う。
文化的側面への言及は興味深い。
・男性プログラマはコードをハックし、女性プログラマは男性プログラマをハックする。
・コードが男臭いと言われた(女性技術者)。
・.pyだの.rbだのをディレクトリにそのまま転がしておくのは男臭いらしい。美しいWebAPIを用意するのが女性らしい。
・女性が買い物でふらふらそぞろ歩きするのを最適化しようとしないで欲しいとの要望。バグではなく仕様です。
14:30 渡る世間は雲ばかり
クラウドサービスの話題。
・Windows Azure。中の人出席。
・RESTful WebAPI経由でLLでも使える。
・有償だが、まだしばらく無償で使える。
・IIS、SQL層も提供予定。SharePointは11月(講演後交流会で聞いた話)。
・MSのデータセンターで数十万台のブレードサーバを動的切り替えして「すごくでかいとまらないサーバ」に見せる。
・しかしIISのセッションは切れる(講演後交流会で聞いた話)。
・Google Apps Engine。中の人出席なし。
・LL系3rdパーティの話。ビジネスとしては、HW系SIer抜きの商売ができる。
・GAEで動作するのはPythonとJava。LLイベントなのにJavaの話が多かった印象。
16:10 プロトタイピング 〜「もの作り」の流儀〜
ソフトウェアのプロトタイピングではなく、「ハードウェアスケッチング」(ハード製品開発時のプロトタイピング手法)、「デザインエンジニアリング」(デザイナーとエンジニアが一体となって製品開発を行う手法)について。
・「IAMAS・岐阜県立国際情報科学芸術アカデミー」での取り組み。
・2005年から開始した、情報技術を活用した新しい電子玩具を開発する「ガングプロジェクト」。
・アイデア段階からとにかくたくさん作る。
・「唯一のプロトタイプを費用をかけて」でなく「多数のプロトタイプを費用を掛けずに」。
・段階に応じてさまざまな手法を使う。
- リサーチ
過去の案を探す・確認する。
- アイデアスケッチ
1件1葉で多数のスケッチを製作。
- ダーティプロトタイプ
粘土を使って実物大で作ってみる。
- ハードウェアスケッチ
CADデータを3Dプリンタで出力し、そこそこ作りこんでみる。
- ビデオプロトタイプ
音声・光学効果を合成して実物で遊ぶ様子を映像化してみる。
・「takram」での取り組み。
・サイトで紹介している各種製品の開発時の様子。
・数百のプロトタイプ。
・ドキュメントよりプロトタイプが心に響く。
・IDEOは素晴らしいが、さまざまな理由で日本では普及しなかった。
・プロトタイピングをもう一歩進めると、ワンオフ製品となる。
・さまざまな技術革新により、リアルなプロトタイプ、ワンオフ製品をそこそこの価格で作れるようになってきている。
・金型サービス。CADデータを送ると金型作成、キャスト実行を請け負うサービス。
16:10 大改善!!劇的ビフォーアフター
既存のプログラム/システムを、LLの匠が劇的に改善。
・Rubyの匠「fortuneをナウなヤングへバカウケに」(fortuneラッパーをRubyで書く)
UNIXのfortuneコマンドを例に、内容の翻訳(翻訳サイトと通信)、内容の平易化(占いサイトと通信)、外部システム通信(Twitterと連結)などを簡単に行う。
・Vimperatorの匠「Firefoxでもlsをslとtypoしない」(FirefoxをVim風操作していてもslを矯正する)
Firefoxアドイン「Vimperator」でUNIXジョークソフト「sl」と同様の機能を実現。
・括弧の匠「文字列置換でない、真のマクロをお見せしましょう」(Cの書式をS式にしたCiSE)
Cプログラムのソースを改善。
一旦S式で表現しCに変換するマクロ変換を実施することで、Cソースを短く記述できメンテナンスも容易になる。
・パイプの匠「全部シェルスクリプトで繋げましょう」(無印良品の店舗向けシステムをDBレスで実装)
豊富なUNIXツールと、自社製コマンドラインツールを組み合わせ、実用業務システムを構築。
無印良品では最近業務システムをbashで再構築したとの報道があったが、その話。
マルチベンダーかつ従来手法の販売管理・在庫管理・製品DBシステム等は、互いに連携もできず陳腐化。
DBをRDBからプレーンテキストにし、データアクセス、ソート・マージ、WebGUI出力までの全てをbashで制御。
コマンドラインツールをパイプラインで連結して処理を実現。30連結といった多段処理も実施。
昨今のHW性能向上により、性能的に全く問題がない。
19:40 LLレッドカーペット
恒例のライトニングトークです。
・HP50Gでラマヌジャンに挑戦
高機能関数電卓で、天才・ラマヌジャンによる円周率算出公式を実装。
電卓もすごいが公式もすごい。
・Ustreamでゆっくりしていってね!!!
UstreamのIRCチャットを読み上げる「UstreamSpeaker」の紹介。
・ワンライナーのための何か(仮)
実際には、「「全裸ボットト」の開発記。フォロワーの呟きを日本語形態素解析し、全ての動詞の前に「全裸で」を挿入。GAE/Py上で動作。
・二つのPythonを用いた俺々DLNAサーバのすすめ
PC、TV、デジタルフォトフレームなどを繋ぐホームネットワークを簡単に実現。
・Konoha: LLに静的な型付けなんてあり得ない?
Java、C#などを参考にした型付けありのスクリプト言語「「Konoha」
・集え、シェルスクリプトマニアたち!
シェルスクリプトで日常的にギャグを言う人たち。
・TVML "TV program making Language"
TV番組中に挿入される、簡易な再現アニメーションを自動生成するスクリプト言語。
TV番組現場で使いやすいように日本語ベースの構文で、3Dキャラクターやテロップの操作が可能。
・『PythonでRakeもどきを作ってみた』を小さい女の子がしゃべってみた。
これ。
内容よりプレゼン手法の勝利。
・PythonとiPhoneを利用したledマトリックスの制御
iPhoneをTVリモコンにするために。
・BRAVIAを買ってアプリキャストを作ろう
ソニーの液晶TV「BRAVIA」に搭載の情報閲覧機能では、画面右1/3にウィジェットを表示可能だが、ウィジェットはJavaScriptとXMLで開発可能で一般にも公開されている。
20:40 抽選会
21:50 閉会宣言