今日から General Session やパビリオンも開催され、本当の意味での本番なのかもしれません。
昨日の Technical Keynote は 10:00 からでしたが、今日の General Session は 30 分くりあがって 9:30 から。でも、SF のような長い行列はありません。SF の行列がおかしいといえば、おかしいのです。
早起きの特典として、Duke のパスネットをもらうことができました。東京近辺に住んでいない人には役に立たないかもしれませんが、もらえるものはなんでももらう。
もう 1 つ、Java Stdio Enterprise 8 の CD-ROM も配付していました。これは Sun の Opteron マシンがあたるという特典付きだったのですが、残念ながらはずれ。
General Session の壇上には、そのプレゼントする Opteron マシンが。General Session 中に「これほしい人?」と聞かれたときに、なぜかみな全然手をあげないんです。何ででしょ? 私はちゃんと手を挙げましたけど。こんなときに謙虚でいても、まったく意味がないと思うんですが。
まぁ、それはそれとして、今日聴講したセッションは
まず、壇上に立ったのが、Sun KK の社長さんの Dan Miller。その後に、昨日と同じように MC の末次さんが登壇しました。末次さんは昨日とは違います。さて、何でしょう? 答えはネクタイ。
それにしても General Session に登壇する人のスーツ率が高いですね。これも SF とは大違い。もっと、リラックスしてやりましょうよ。
末次さんは昨日と昨日のセッションのおさらいということで、人気セッションを発表されました。
やはり、丸山先生強し。1, 2, 3 をすべて丸山先生レクチャシリーズで独占です。
その後、Scott McNealy のビデオスピーチ。 これもまた固い内容なんだよなぁ。いつもの Scott McNealy よりまじめだと末次さんも仰ってましたけど、本当に固い。
やはり日本だとこうなってしまうのでしょうか?
この後、10 周年のアニバーサリーイベントがおこなわれました。SF の時と同じようにケーキが運ばれてきて、その後ろに Dukelele を持った Duke も。ゴスペルの歌手が Happy Birthday の歌を歌って盛りあげます。
そして、その後、旧 JavaSoft の人や、JCP のエキスパートグループに所属するたちがそろって登壇。この写真がないのは櫻庭も登壇してしまったからなのです。当然、Dukelele 持ってです。本当はカメラ持って、壇上から写真撮りたかったのですが ^^;;
私のとなりには Joshua Bloch が。結構緊張。それにしても、もっと日本人でエキスパートグループに所属する人がいっぱいいると思うのですが、なぜかあまり登壇しません。それに現 JavaSoft 系の人は資格がないそうなのです。何ででしょ?
ちなみに ZDNet の記事 にそのときの写真が載っています。
その後はまた普通の General Session に戻って、まずは寺澤さんより Developer Grid に関して。最新の開発環境を使えるグリッドが構築されて、誰でも使えるようになるのだそうです。
その後、Alan Brenner が登壇しました。彼のスピーチの中で Richo の Java が動作するプリンタや Blu-Ray のデモがありました。実をいうと Blu-Ray のデモをされた大塚さんは General Session がはじまる 30 分前に決まったそうで、かなり急な話だったようです ^^;;
その後、DoCoMo の夏野さん登場。夏野さんはスピーチ慣れしているので、うまいですね。
そして、Google の Joshua Bloch と Neal Gafter コンビの登場です。
いきなり、Puzzlers に出ている、不思議な絵を出してきました。ちょっと変わったスピーチ。でも、彼ららしくていいです。
Google では、かなり Java を使われているようです。C++/Java/Python がよく使われている言語なのだそうですが、主力の検索はやはり C++。Java は AdWords や GMail などで使用されているそうです。
最後に再び末次さんが登場。今日の夜におこなわれる Night for Java Technology の宣伝。今回の趣向のヒントは「JavaOne」です。どいうことかは、このドキュメントの下の方で。
JavaME のセッションはそれほど新しい話題はなく、昨日の Technical Keynote をもう少し詳しく説明しただけ。ちょっと残念。今はちょうど離す話題がないためではある思うが。* (Start) Project がもう少し進んでいれば、話題は出てくると思います。
Desktop Java Technology は SF のセッションとほとんど同じでした。
NEC の岸上さんのセッション。時間ぎりぎりにいったら、すでに立ち見状態。部屋に入ることもできません。
このままあきらめようと思ったのですが、ふと見ると講師の演台のすぐ横のところに窓があるではないですか。このセッション会場はパビリオンの横に作られた特設会場なので、そんなふうになっていたのかもしれません。
これ幸いとそこでみることにしました。ふと後ろを見ると、一列にずらっと立ち見が。窓が狭いので、ここからのぞき見れる角度が狭いのでだいたい 1 列になってしまうんのです。
近くを通った人はぎょっとしたでしょうね ^^;;
講師の岸上さんには気づかれないだろうと思っていたのですが、後で聞いてみるとちゃんと分かっていたそうです。「携帯のカメラで写真でも撮ってやろうかと思った」と。
余談はこれぐらいにして、本題です。
NEC の社内でおこなわれている静的コードチェックに関しての話題です。
たとえばの例で出されたのが次のようなもの。
これらのパターンについて 1 つ 1 つ解説を加えました。
そして、これらのコードをすべてテストでつぶす、もしくはコードレビューでチェックすることは時間をとるばかりで有効ではないとし、そういう場合にコードチェックツールを使用することが有効であると説明されました。
チェックには以下の 3 種類を用いているらしいです。
静的なコードチェックには FindBugs、メトリクス測定には Eclipse の Metrics、似て非なるコードの検出には CPD などのツールが紹介されました。
しかし、岸上さんが重要視するのはこれらのチェックの運用のしかたです。プロジェクトごとにばらばらにおこなっても意味がなく、系統だった運用が必要であること。またプログラマーのプライドを傷つけずにチェックの結果を伝えるなどの配慮も考えなくてはいけないと述べられています。
これらの仕組みは NEC のような大きな会社であるからできることもあると思うのですが、いろいろと考えさせられることの多いセッションでした。
実際に JAXB を開発されている川口さんのセッション。
JAXB 2.0 では
JAXB 1.0 では Java のクラスから XML Schema を生成することはできなかったのだが、2.0 でようやくその機能が実装されています。この時にアノテーションを使用することで、属性か要素かの指定などをすることができます。
また、実行時に解釈をすることによって、今までのような多量のコードを生成することなく使用することができるようになっています。同様に実行時解釈をすることで、XML のカスタマイズがより簡単におこなえるようになったようです。
また、アノテーションを使うにしてもデフォルト値を多用することにより、より簡単に設定することができるようになるらしいです。
StAX との統合もされており、StAX で必要な部分までドキュメントをとばし読みし、必要なところが来たらアンマーシャルするなどができるようになっています。
使いか方のこつとして JAXBContext オブジェクトは生成するのにコストがかかるので、一度作ったら使い回すようにするのがいいと仰られていました。
というわけで、日本の JavaOne で一番おもしろいと感じている Night for Java Technology です。
はじまる前から、会場前は長蛇の列。ピコピコハンマーも欠かせません ^^;;
会場に入ってみると、なんとリングがあるではありませんか。
ようするに K-1 をもじった J-1 が今年のモチーフだったのです。
このリングは本当に K-1 で使われているものなのだそうです。ただし、試合で使われているものではなくて、練習用のものだそうです。もちろん、ゴングも本物です。ついでにいうと、リングドクターもちゃんといたのですが、誰も気づかなかったような気がします。ちなみにリングドクターは去年は出場していた園田さんでした。
司会の方 (あぁ、名前忘れた) もリングアナの格好です。
そして、いきなりエキビションマッチがおこなわれました。井上誠午 vs 百武直弘。青い方が井上選手、赤が百武選手です。まじです。すごい迫力。
私はリングサイドで写真を撮っていたのですが、格闘技の報道カメラマンの気持ちが少しだけ分かったような気がします ^^;;
ちなみにレフリーをなされている方 (あぁ、こちらも名前を忘れた。我が貧しい記憶能力を嘆き悲しむ) はプロの格闘家なのだそうです。
エキシビションも終わり、これからが本番です。
10 人の格闘家による、対戦です。ちなみに覆面レスラーが 2 人いらっしゃいますが、これは予選の時に参加できなかった方で、写真を撮れなかったからなのだそうです。
さて、第一試合はフライ級対決。
Duke の友達 西島栄太郎 | vs | ケータイアプリ職人 福野泰介 |
Mobile LG3D | jig ブラウザ 2 |
舞台にはちゃんと花道 (?) が用意してあり、そこからリングガールとともに登場です。
西島さんはフライ級という感じではないですが、両者とも携帯電話上のアプリケーションということでフライ級になっているようです。
まずは青コーナ、西島さんから。
西島さんは携帯電話で動作する Project Looking Glass です。まず、PC 上で動作する普通の LG3D を紹介し、Dancing Duke & James Gosling をデモしました。
そして、携帯でのデモです。携帯電話ではポインティングがおこないにくいという欠点をなるべくカバーできるような操作になっているようです。また、CDViewer を使用した着うたのデモもおこなわれました。
対する福野さん。ちなみに青コーナははじめての出場者、赤コーナが以前出場経験がある方ということになっています。福野さんは Hard Rock Cafe でおこなわれたときに出場しています。
福野さんのデモはおなじみの jig ブラウザ。2 になり、ブラウザに VM を搭載し、jiglet が動くようになっています。福野さんは常にクール。こういう場ではそれがちょっとマイナスに働いてしまったように思います。
勝者 西島栄太郎
次はバンタム級対戦
Mr. Ysunaka 安中信彦 | vs | Real Social Hacker 久保裕也 |
SwingUnit | Shared Questionnaire System |
この試合は実用ソフト対戦になりました。
SwingUnit は GUI のテスト自動化ツールです。通常、java.awt.Robot などを使うと、座標が必要などかなり使いにくく、テストもしにくいと思います。
SwingUnit では簡単な XML スクリプトを書くことで座標などを意識することもなく、テストを行うことができます。Pure Java なので、複数のプラットフォームで動作することも可能です。デモでは Windows と Mac を使用してテストを行っていました。
自動でテストしている様子を見るのはとても変な感じです ^^;; でも、このソフトほしいと思う方はいっぱいいるのではないでしょうか。
一方の SQS はアンケートの作成から集計までを一通りおこなってくれるシステムです。アンケートは XML で記述されており、そこから XSLT を使用して Web のフォームや、XSL-FO を使用して紙のマークシートなどを出力してくれます。
Web のフォームの集計などもおこなってくれるようですが、デモではマークシートで出力されたものをスキャンして集計するということをおこなっていました。
実際にプリンタやスキャナを使うのは手数が多くなるので、失敗の原因になりやすいのですが、スマートに最後の集計結果までを表示することができました。
かなり接戦だと思ったのですが、判定は..
勝者 安中信彦
第三試合と第四試合の 4 人は Night for Java Technology では常連の皆さんです。まずは、Jr. ライト級対戦
山浦俊司 | vs | 天王山西本 西本圭佑 |
VisualClip for Java | Ibrik Presentaiton Toolkit |
すべての試合に対戦相手同士が向き合っているスライドがあったのですが、前の 2 試合はそれを撮影するのを忘れてしまいました。残念。この試合からはちゃんと撮っておきました。
さて、VisualClip です。VisualClip のリンク先は C++ or C# で作られていると思うのですが、これを Java に移植して決戦に挑んでいます。
タブレット PC を考慮した新しいインタフェースを提案しています。たとえば、ペンで時計回りに丸を 2 回転させるとその部分の拡大ができる、反時計回りに 2 回転させると画面のコピー & ペーストができる、3 開花移転すると全面に落書きモードになるなどです。
画面のコピーは動画でも OK で、そのときに表示されていた画像を静止画としてクリップできるようです。
対する西本さんの Ibrik は LG3D 上でプレゼンテーションソフトを作るためのツールキットです。発表されたプレゼンツールもこの Ibrik を使用して作られています。
LG3D はまだウィジェットが全然足りないのですが、Ibrik ではフレームやボタン、スライダーなどのウィジェットを提供し、これをプレゼンの中で使うことができます。また、動画/音楽の再生も可能で、ボタンと連動させて再生することなどができるようです。
すごいのは 2D のプレゼン資料の中に 3D のモデルも表示することが可能だということ。さらに 3D のモデルでアニメーションをすることもできるようです。
両者とも Night for Java Technology という場をよく理解しており、効果的なプレゼンをおこなったと思うのですが、判定は..
勝者 西本圭佑
次はライト級。両者とも 3D の対決です。
タイガー、タイガー、Java はタイガー! な 3DJ 福田善文 | vs | アントニオ・カメンティス 佐藤類 |
deepsonar iridic | C21 Dramatic Online Robo Action |
福田さん、写真ではむちゃくちゃ怖い顔していますが、本当はやさしい方です。
福田さんは以前から開発されていた 3DJ ソフト deepsonar を LG3D に移植した deepsonar iridic。
本当のターンテーブルを操作するような感覚で、ターンテーブル上にレコードを乗せ、音楽とともにそれが回転する。また、スクラッチをおこなうことも可能。
2 台のターンテーブルを動作させ、DJ プレーをおこなうことも。ただ、ポインティングデバイスであるマウスは 1 つなのが、操作に支障をきたしているような気がしました。
C21 は多人数参加型アクション MMORPG。数千人の単位で同時プレイをおこなうことも可能だという。今まで、佐藤さんは Night for Java Technology にすべて 3D CG のゲームで出場されており、その技術力は誰しも認めるところ。
今回の C21 もかなりすごいです。これがすべて Java で書かれているとは...
さて、判定は..
勝者 福田善文
ラストマッチは小道具対決です。
ダイナマイト☆デューク 井上詠治 | vs | 戦慄の夏休み工作請負人 草薙昭彦 |
LgDuke | Duke Lottery - powered by RTSJ |
お二人とも Duke をモチーフにした小物を使用しアプリケーションです。
LgDuke はぬいぐるみの Duke と Project Looking Glass 上に表示されている Duke を連動させるというアプリケーション。光センサなどがぬいぐるみに内蔵されており、光を照らすと LG3D 上の Duke がまぶしがるなどといったアクションが組み込まれています。
いろいろと、細かい芸がいっぱい。たとえば、プレゼントをぬいぐるみの Duke にあげると、LG3D 上の Duke の持つ箱の中からいろいろな Duke が飛び出してくるとか。楽しいんだけど実用性は全くありません ^^;;
一方の Duke Lottery ですが、試合が始まる前からリング横に、なにやら怪しげなものが置いてあるので何かと思っていたら、これで使うものだったようです。
ようするに 4 人の Duke が持つボウガンで、回転する的を射止めるというもの。
的は 8 等分してあり、見事命中すれば JAVA と並ぶというのですが...
後から聞いたのですが、このセットを組み立てるのは今日の朝までかかっており、プログラムはそれから組んだとか組まないとか。いずれにせよ、練習ではあたったことがなかったというのです。
で、本番。順番に矢を発射していきます。回転が止まると... 見事 JAVA となりました。この結果に一番驚いたのは当の本人だったようです。
一応技術的なことを書くと、このプログラムは JSR-1 で策定されている Real Time Specification for Java を Sun が実装した Mckianac を使用して書かれています。ということで、Java でもリアルタイム制御が可能なのですが、それでも的を射ることができたのはすごいです。
さて、判定は..
勝者 草薙昭彦
最後に Mark Hapner などのゲストからコメントをいただき、その後、審査委員長の丸山先生から講評。全体的にビジュアル系が多くあり、もっと実用的なアプリケーションが出場してもいいのではということを仰られていました。
ということで、今年の Night for Java Technoloy はおしまい。来年はどういう趣向になるのでしょうか。いまから、楽しみです。
Night for Java Technology の後、企画をしたみなさんと、出場されたみなさんで打ち上げにいきました。
ところが、写真はありません。なぜか? Night for Java Technology で 2GB のメディアをすべて使いつくしてしまったからです。まさか、自分でもこんなに撮るとは思いませんでした ^^;;
Ibric のプレゼンをした西本さんは商品が Dukelele。これで LG3D コミュニティの Dukelele 保持率がまた高くなりました。今のところ川原さん、風間さん、神谷さん、藤槻さん、西本さん、そして櫻庭です。まだ、地球上には高々数十台しかないというのに、この集中はすごいですね。
打ち上げの会場で Dukelele 弾いていたら、となりのテーブルの人に話しかけられてしまいました。Java とは全然関係のない人でも Dukelele は大人気です。となりのテーブルの人たちは私たちが音楽業界の人だと勘違いしていたようですが ^^;;
さて、明日が JavaOne 最終日。最後の最後に LG3D の BOF が待っています。どんな BOF になるのか楽しみです。
(Nov. 2005)