2008/10/04

今日の PBL

昨年に引き続き、今年も九工大の PBL に協力することになりました。今年のお題は Sun SPOT です。

11/3 にキックオフミーティングがあるということで、小倉へ。

小倉は大学院の時に、ME 学会の発表で来たことがあるのですが、ぜんぜん思い出せません。しかも、その時の学会の会場は九工大の戸畑キャンパスだったはず。

今回の会場は戸畑キャンパスではなくて、九工大ネットワークデザイン研究センターのある AIM ビルです。

前回のキックオフの時も浅海さんと私が喋ったのですが、今回も喋ります。それときしださん。私たちの出番は午後なのですが、ミーティング自体は朝 10 時から。午前中は学生さんたちが自己紹介兼どういうものをつくるかのプランを話すということなので、それにも参加しました。

10 時に小倉に着くために、7:30 の飛行機に乗っていきましたよ。

Sun SPOT というと、SPOT にはじめからある加速度センサや LED、照度センサ、もしくはデバイスをつなげるという話題が多いと思います。なので、そういうのはわざと避けて、Isolation API について喋ることにしました。

SPOT で採用されている Isolation API は JSR 121 のサブセットなのですが、独自の機能もあります。独自なのはハイバネーションとマイグレーション。ハイバネーションはスレッドの一時停止と再開、マイグレーションはスレッドを他の SPOT に移送することです。

せっかくなので、この 2 つの機能を使ったデモも作ろうと思ったのですが、かなり手こずってしまいました。結局、デモは完成せず。しかも Isolation で作成したアプリは暴走して SPOT が反応しない orz

そんなこんなで資料を作り始めたのは昨日の基礎セミナの後。飛行機に乗らなければいけない時間になっても完成せず。

今回は絵をすべてタブレットを使って、Flash のブラシで描いていたのです。完成しなかったので、タブレットを持っていこうと思ったらスーツケースに入らず。

私のタブレットは intuos の A4 サイズなのですが、タブレット領域のまわりの枠がかなりあります。そのために A3 ぐらいの大きさになってしまうのです。かといって、大きいスーツケースは持っていきたくないので、泣く泣くあきらめました。

こうだと分かっていれば、会社にある FAVO を持ってきておけばよかったんですが...

タブレットがないので、資料の後半の絵はノート PC のパッドで描いたのですが、これは大変でしたよ。

 

さて、プレゼンです。今回は大失敗でした。聞いていたみなさん、ほんとにスイマセン。

何が失敗かというとターゲットです。私はみな Java が書けて、しかも少しは SPOT にも触ったことがあるという想定で資料を作ったのです。しかし、実際には Java をまるで触ったこともないという人がかなりいたのでした。

前提が崩されてしまったので、もう全然ダメ。説明していても、これを説明しても分からないだろうなぁというところばかり。そのせいで、説明をはしょってしまい、結果的に 1 時間の枠にもかかわらず 40 分で終わってしまいました。

ちゃんとターゲットは事前に聞いておかないとダメですね。

まぁ、それでも Isolation というものがあるんだよ、というメッセージが届けば十分と考えることにしましょう。もし、Isolation API を使って分からないことがあれば、メールしてくださいね > PBL に参加している学生さんたち

ラベル: ,

2008/07/16

今日のプレゼンテーション

今日は Java Hot Topics Seminar。鈴木さんの JBI/OpenESB と、さぼてんくんHudson です。

OpenESB はあまり興味がないので (すいません、鈴木さん)、目当ては Hudson。さぼてんくんはヴァーチャルでは java-ja 関連でつながりがあるのですが、リアルに会うのははじめて。

でも、2 人ともプレゼンに慣れていないせいか、構成がイマイチだと思ったわけです。

どうすればいいかをちょっと考えてみました。

いちおういっておきますが、彼らを責めているわけではなくて、あくまでもプレゼンの技術論として書きます。

プレゼンって技術なんです。だから、技術を極めれば上手なプレゼンが誰でも絶対できるはずです。

プレゼンの技術には、プレゼンをするときの姿勢や動作などから、プレゼンの構成、資料の作りかたなど多岐に渡りますが、今日は特に構成について書きます。

何か新しいことを知るときには、抽象的なところからだんだんと具体的(具象的)なことを説明することが理解を早めると思いませんか。マクロ的な視点からミクロな視点といってもいいかもしれません。

ここでいう抽象的とか具体的といっているのは次のような項目にあたります。

抽象
  • 一言でいうとそれが何なのか
  • 背景、経緯
  • ユーザに対するメリット
  • 既存に対する差別化要因
  • 同様なものに対する位置づけ
    et al.
中間
  • 全体の構成
  • 動作原理
  • アーキテクチャ
    et al.
具象
  • 使い方
  • 書き方
  • コード例
  • 応用例

もちろん、これだけではないのですが、だいたいどういうことなのかは分かっていただけるはずです。

プレゼンテーションではこの抽象から具象のバランスが非常に重要だということです。

特に抽象的な話題は重要です。ここが理解できるかどうかで理解度がずいぶん違うはず。

とはいっても、単に抽象と中間と具象で時間を 3 分割すればいいというわけではありません。ターゲットによって配分を変える必要があります。

たとえば...

  • 技術の導入を決めるだけで、実際にコードを書くわけではない人に対しては、抽象的な話題を多くし、残りは中間的な話題、具象はほとんどいらない。
  • 実際にコードを書く開発者であっても、そのものをほとんど知らない人であれば、中間的な話題を多くし、抽象と具象は少なめ。
  • だいたいどういうものかは分かっている人であれば、具象をほとんどにする。

ターゲットがマネージャー層なのか、開発者層なのかは、セミナーなりイベントなりの趣旨でだいたい分かります。難しいのはそのものを知っている人が多いのか、少ないのかということです。

これはその場にいかないと分からないことが多々。

しかたないので、資料は抽象を少し、中間の話題と具象の話題を半々にしておいて、実際に説明する時間を調整するようにします。

プレゼンの構成

実をいうと、活字媒体とプレゼンテーションではこのバランスは大きく変ります。ぶっちゃけ、活字媒体では具象的な話題が多いはずです。

抽象から具象まで十分に説明すると、実際には具象的な話題が一番多くなります。

活字媒体ではある程度分量があるので、より多く具象を説明できるのです。

その一方、プレゼンテーションでは時間が限られているので、なかなか具象の細かいところまで説明する時間がないはずです。しかも、プレゼンテーションでは、たとえばサンプルコードを提示されたとしても、読みにくかったりして、なかなか細かいところまで理解するのは難しいのです。

ところが、ところが、話す側からすると具象が一番準備がしやすいのです。普段、使っているときはあまり抽象的なことを考えないですからね。そして、ここに一種のミスマッチが発生してしまうわけです。

ターゲットに適合しない抽象から具象のバランスだと、結局分かってもらえません。

具象ばかりで中間や具象がないと、なんとなく分かったけど、結局なんだか分からないという結果になります。

逆に具象ばかりだと、全然分からないとなりがち。

今回のセミナでは 2 人とも抽象と具象しかなくて、中間的なところがほとんどありませんでした。抽象からいきなり具象に入ってしまうと、途中からついて来られなくなってしまいがち。

一般的に、抽象なればなるほど、図の重要性は上がります。抽象的な話題であれば、なるべく図を多くしたほうが、理解を早めます。また抽象的な時には、メタファを使うことも有効ですね。

難しいのはデモの位置づけです。デモというと、具象のような感じがしますが、そんなことはありません。抽象的なデモも可能だし、具象的なデモも可能です。

ターゲットに対して有効なデモが何なのかを考えるのはとても重要です。

少なくとも、デモで何を提示したいのかをはっきりさせなくてはダメです。

 

たとえば、今回のセミナで考えてみましょう。このセミナのターゲットは開発者。でも、ESB や JBI、そして Hudson に関して知っている人はほとんどいません。

だとすると具象は少なめにし、抽象的な話題をやや多めにするのがいいと思います。

たとえば、OpenESB で考えてみます。いちおう、いっておきますけど鈴木さんを非難しているのではなくて、私だったらこうするという例です。

重要なのは ESB という概念を理解できるかどうかだと思います。

そのために、今までの背景として、今までの直接メソッドコール、インタフェースを会したメソッドコール、JMS などのメッセージングと依存度が減少していく流れを説明します。

とはいうものの、メッセージングにはいろいろと欠点があるはずです。だからこそ、ESB が出てきたわけですから。

ここで、メッセージングの欠点がどのように ESB で克服されているのかの説明は欠かせません。これは ESB にすることでどのようなメリットがあるかを十分に説明できませんから。

問題の共有をスピーカと参加者で、できるかどうかということはとても重要です。「そうなんだよね、ここが問題なんだよね」と共感してくれれば、後はスピーカの思うつぼというか、とてもやりやすくなるはずです。

でも、その問題だけ提示して、それに対する解決がなされていなければ、「結局、その問題はどうなったの?」と聞いている人を惑わしてしまうだけです。

ここは十分に時間をとって丁寧に説明するべきです。

そして、ESB を実現するものとして JBI/OpenESB を紹介します。ここからが中間的な話題ですね。

重要なのは OpenESB でどのように ESB を構築しているのかということだと思うんです。そして、他の ESB、たとえば SCA との差別化要因などを説明します。

ここまでちゃんと説明できれば、あまり具象的な話題はいらないと思います。

デモをするとしたら、すでにサービスがいくつか存在していて、それを ESB で結びつけるデモを櫻庭だったらやると思います。サービスから作ると、どうしてもサービスの粒度が低くなってしまい、ESB の概念からすると外れたものになってしまうような気がします。また、サービスを作る手順がどうしても煩雑になってしまい、見せたいところが十分に示せなくなってしまうと思うのです。

プレゼンテーションの構成以外にもいろいろと考えなくてはいけないことはありますが、長くなったので、その他はまた別の機会に。

ラベル: ,

2008/06/27

今日の JavaEdge JavaOne 報告会

大渕 雅子さん, JavaEdge JavaOne 報告会, 名古屋

JavaEdge の JavaOne 報告会の会場はナディアパークのオラクル中部支社。

名古屋にくるのは、すごい久しぶり。たぶん、7, 8 年ぶり。栄に来たのは、もっと前で 15 年ぶりぐらいかな。

櫻庭は人の顔や名前を覚えるのは超苦手なのですが、地図や風景を覚えるのは得意。栄の風景もちゃんと覚えてました。とはいうものの、新しいビルがいっぱい建っていて、昔とは全然違います。でも、なんとなく分かるんですよね。

会場は普段は講習とかで使われている部屋のようで、PC が並んでいます。プロジェクターが暗くて、よく見えないのですが、PC にも写されるので、そちらをみていただくということでなんとなく解決。

スピーカーは大渕さんと櫻庭。まず、櫻庭がフォトレポート。そして、大渕さんの Technical General Session を中心とした話。最後に、再び櫻庭が Java SE と JavaFX の話という流れです。

フォトレポートは 30 分のはずだったのですが、1 時間近くも喋ってしまいました。こういうことを話させると、ほんとに止まらないんです ^ ^;;;;

フォトレポートということで、Moscone Center やその周りがどうなっているかを地図とあわせて、お見せすることにしました。

最近、Google Maps は Flash 用の SDK が公開されたので、それを使いたかったのですが.... ドキュメントには Flex から使う方法が書いてあって、それはうまくできるのです。でも、Flash 単体で使う方法がよく分からない。今まで、そんなに ActionScript をバリバリに使った開発、特に他の AS のライブラリを使った開発というのをしたことがないので、よく分からなかったのです。AS 3 もよく分からないし...

ちゃんと勉強しようかなぁ、Action Script 3。

しかし、Adobe というか Macromedia も、よくこんなに仕様を変えてきますね。Flash 3 のころからすると、スクリプトの書き方が全然違いますから。もう愕然としてしまいますよ。Java でこんなことやったら、絶対にゆるされないだろうなぁ。

とりあえず、本家の Google Maps のマイマップ作ってみたので、公開しておきます。Moscone Center の中の位置はかなりいい加減ですが ^ ^;;

まだ中途半端なので、もうちょっと充実させる予定。ちなみに、フォークとナイフマークがレストラン、カップがお菓子屋もしくはカフェ、Duke マークは JavaOne 関連、青のマークがランドマークです。

大渕さんは Sun SPOT や、Java が動作するペンである Pulse を持参。Pulse 楽しいですよ。

大渕 雅子さん, JavaEdge JavaOne 報告会, 名古屋 大渕 雅子さん, JavaEdge JavaOne 報告会, 名古屋
この T Shirt は CommunityOne でもらったもの
Duke をはじめいっぱいキャラが隠れているのですが、分かりますか?
大渕 雅子さん, JavaEdge JavaOne 報告会, 名古屋
Pulse デモ中
JavaEdge JavaOne 報告会, 名古屋

通常のセッションの後、懇親会。

Duke グッズ争奪戦ということなので、問題を 7 問ほど考えてきました。といっても、3 問は William Pauh の Defective Code と Java Puzzlers からのパクリ。

残り 4 問が X を探せ。櫻庭が JavaOne で撮った写真に偶然写っていた有名人を探すというもの。せっかくなので、ここでもご紹介しましょう。

まずは、Swing Hacks の本や最近では JavaFX をやっている Joshua Marinacci。これは簡単ですね。

これが Joshua。

Joshua Marinacci, TS-5657 JavaFX™ Technology: Bring the Web with You--Multiple Interfaces to Games, Chat, and More, JavaOne 2008

そして、この中のどこかに Joshua がいます。

JavaOne 2008 San Francisco

次は J2SE 5.0 のスペックリードであり、OpenJDK のガバナーでもある Mark Reinhold。

Mark Reinhold, JavaOne 2006

この写真は初日の General Session に並んでいる人たちなのですが、彼はこんなところに並ばなくてもいいような気が...

Long Line to General Session, JavaOne 2008

次が今日のスピーカでもある大渕さん。

Maya, San Francisco

これも初日。General Session からでてきた人たちにまじって大渕さんがいます。

Mob, JavaOne 2008

最後は丸山先生。

丸山先生, 日本Javaユーザグループ設立記念講演会, 秋葉原ダイビル

丸山先生はよくこの場所にいるのですが、このときもたまたま発見してしまいました。

JavaOne 2008

どうですか? みつかりましたか?

写真をクリックすると Flickr のページに飛ぶので、拡大写真を見ることができます。

このシリーズは楽しいので、来年もできるようにいっぱい写真を撮ろうっと。特にモブの写真。

ラベル: , , , ,

2008/05/31

今日の JavaOne 報告会

丸山 不二夫 JJUG 会長, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス

というわけで、JavaOne 報告会です。

土曜日で、しかも雨だというのに大勢の方に参加していただきました。本当にありがとうございます。

ジェネラルな話を増月さん、Java EE は野上さん、マネージメントやデバッグを谷本さん、ハンズオンラボとパビリオンを大渕さんという顔ぶれです。

櫻庭はいつものごとく Java SE と JavaFX。でも、実際に一番話したかったのは Neil Young ^ ^;;;;

だって、Neil Young のことが記事になったいるものを見ると、ギタリストとかロック歌手とか、かなりいいかげんに書かれているんだもん。Neil Young すごいんだよ、ということを伝えたかったわけです。

とはいえ、半分ネタですが。

すでに、発表資料は JJUG のサイトにアップしてありますけど、この Neil Young の部分は入っていません。参加した人だけでの特典ということで。

さて、本題の Java SE と JavaFX です。

Java SE は SE 7 に入りそうなところを中心にピックアップ。モジュラリティが話のメインです。JavaFX は新しい技術とかが発表されたわけでもないので、なかなか話すことがないんです。なので、ジェネラルセッションでデモを紹介するというものですね。

しかし、前半の Neil Young で時間をとりすぎてしまって、後半はかなりスピードアップしてしまいました。まだ修行が足りないようです。

セッションの最後はライトニングトーク。昨年の JavaOne 報告会では、初参加者に絞っていましたが、今年は複数年参加している人にも幅を広げました。

その代わり、いろいろな立場で参加されている方に喋っていただくということにしました。

普通の参加者はもとより、パビリオンに展示されている方、自費で参加されている方、プレスの方などなど。全然予定していなかったのですが、きしださんにも喋っていただいたり。

バラエティがあって、とてもよかったと思います。登壇していただいたみなさま、ありがとうございました。

丸山 不二夫 JJUG 会長, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
丸山会長
増月 孝信さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
増月さん
Mr. John Gage のビデオメッセージ, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
John Gage のビデオメッセージ
野上 忍さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
野上さん
谷本 心さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
谷本さん
大渕 雅子さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
大渕さん
吉岡 龍右さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
吉岡さん
藤川 幸一さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
藤川さん
山口 隼也さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
山口さん
片岡 修一さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
片岡さん
石丸 愛子さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
石丸さん
きしだ なおき さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
きしださん
横田 健彦さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
横田さん
佐竹 雅央さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
佐竹さん
杉山 貴章さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
杉山さん
川尻 剛さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
川尻さん
五味 明子さん, JJUG + SDC JavaOne 報告会, Sun Microsystems 神宮前オフィス
五味さん

ラベル: , , ,

2008/03/22

今日の PBL

最終発表は九工大飯塚キャンパスの 500 人教室で行なわれました。その名の通り、500 人はいれる会場です。

ここは 3D プロジェクタが使えるのだそうです。偏光グラスをかけてスクリーンを見ると... おぉ、ちゃんと LG3D が 3D に見える。

というわけで、今日が最後の発表です。

 

一番手は 5miniutes の「3D 麻雀」。

残念ながら、デモできるところまでインプリがすすまず。麻雀のモデル部分はできているらしいのですが、ビューの部分がまだ全然らしいです。

それにしても麻雀は難しいですね。既存の麻雀ゲームには 3D のものもいっぱいあるので、それとの差別化できないといけないし。

 

次がてりとり製作委員会の「てりとり」。

Blocks というパズルゲームがあるのですが、それを 3D 化したのがてりとり。

Blocks はテトリスのブロックのようなピースをボードにしきつめていき、ピースの面積で勝ち負けを決めるというゲームです。てりとりは 3D のキューブの中に立体的なピースを詰めていきます。

このチームはちゃんとデモまでしてくれました。なかなかおもしろそうですが、当初から懸念に感じていたオペレーションについては解決方法を示してくれませんでした。たとえば、ピースをどこにおけばいいのかがわかりにくいところとか、ピースの移動などです。

3D のゲームだとしてもポインティングデバイスは 2D なので、そのギャップを埋めるのは簡単にいかないようです。

 

最後がはたらきアリの 「ALinkos」。

ALinkos は LG3D 用の Twitter クライアント。表形式で表すモード、新着だけをポップアップで表示するモード、花をモチーフにした 3D の表示モードの 3 種類のモードをもちます。

やっぱり一番の売りは花のモード。ひまわりのように中心に円があり、そのまわりを花びらで囲んでいるような形状です。その花びらにメッセージが表示されます。新しいメッセージがあると、花びらが円を中心にして回転し、古いメッセージが消されてしまいます。

入力は中心の円の部分に書きます。

古いメッセージを見たいときは花びらを螺旋状に配置して、見られるようになっています。

でも、この花のモードはもうちょっとひねりが足りないなぁ。花びらにメッセージを表示させる意義が分からないんですよね。Cosmo Sceduler ぐらいぶっ飛ばないと。

 

とはいうものの、3 チームとも短い期間でよくココまで実装できたなぁと思います。

ところが、学生さん達も当初予定していたものができていなかったためか、プレゼンがネガティブなんです。あれもできなかった、これもできなかった、とできなかった、できなかったのオンパレード。

でも、ここまでできたんだからそれを胸はって発表した方がいいと思うよ。ネガティブなプレゼンは聞いている方も切なくなってきます。もっとポジティブにやらないと。

発表の後、ゼミ室にもどって、プレゼン会場ではいえなかったことに関する講評や、ちょっとした設計レビュー、コードレビューをおこないました。

Sun からは記念の楯が送られたりして、始終なごやか。こういう経験が今後の人生にプラスに働けばいいなぁ。

 

ちなみに、来年度は LG3D ではなくて、SunSPOT を題材にしてシステムを作るのだそうです。私は来年度も協力する予定なので、すでに購入してある SunSPOT を 1 セット貸していただきました。

来年度の PBL がはじまるまで、いろいろ遊んでみようっと。

ラベル: , ,

2008/03/14

今日の丸レク

2 週連続で講演。今日の丸レクは RIA 特集ということで、JavaFX のことを喋ってきました。

とはいえ、Microsoft と Adobe の前で普通に JavaFX のことを喋るのは、やる前から負け戦になると分かっているので、ちょっと違う方向性で話をしました。

プログラムにおける構造と手続きについて議論を行い、JavaFX の言語仕様、特に宣言的文法をどうして採用したかを考えるというものです。

GUI の構築を考えた場合、構造的な情報がとても多いのです。

たとえば、フレームを考えてみまると、フレームのサイズ、タイトル、背景色、前景色、描画する内容など構造的な情報が山ほど出てきます。宣言的文法を使うことによって、このような情報を効率的に表せるはずです。

構造と手続きの話は、鈴木ゆうすけさんがよく話すような内容になってしまったのは内緒 ^ ^;;

JavaFX の話をするのだから、もちろんプレゼンは JavaFX で作成したプレゼンツールを作りました。今まで使っていたプレゼンツールはインタープリタ版の JavaFX を使っていたのですが、今回は全面的にコンパイラ版の JavaFX で作り直しました。

現在のところ、インタープリタとコンパイラで文法の違いがかなりあるという、とんでもない状況。しかも、ドキュメントが全然ない。コンパイラ版の言語仕様のドキュメントはあるのですが、全然役にたたず。書いてないことが多すぎ。

たとえば、do とかレイジーバインドとか。また、インタープリタ版と対応するように記述されていないので、文法がどのように変更されたかが全然分かりません。

開発途中なので、しかたないとは覆いますけど...

ついでにいうと、コンパイラもまだまだできが悪い。一番困ったのが、コンパイルをするコマンド javafxc がコンパイルするクラスが参照したクラスをコンパイルしてくれないこと。

たとえば、Hello.fx の中で Name クラスを使ったとしましょう。Hello.fx に対し javafxc を実行すると、当然 Name.fx をコンパイルしてくれると思ったら、してくれません。まず、Name.fx クラスをコンパイルして、次に Hello.fx をコンパイルしないとダメなんです。

これには困った。他のクラスに依存しないクラスからコンパイルするバッチファイル書いたんですけど、これは必要のないクラスまでコンパイルしてしまう。もうちょっと使いやすければよかったのに。

ビルドといえば、JavaFX Compiler は NetBeans で開発されていて、ant の build.xml ファイルが存在します。で、JavaFX のライブラリをコンパイルするために、javafxc に相当する Ant のタスクが用意されています。ところが、これがまた使い方が全然分からないんですよ。

NetBeans の build.xml は長すぎて、見る気も起きないし......

結局、Ant のタスクは使いこなすことができませんでした。誰か、使い方教えてぇ。

もう 1 つ困ったのが、デバッグ。

結局、解決できなかったバグが残っています。文字列や絵アニメーションさせると、バウンディングボックスが崩れてしまい、表示が切れてしまうというものです。

このバグがまた再現性が悪いんですよ。起ったり、起らなかったり。原因が全然分かりません。しかも、マシンによって頻度が全然違うのです。

これには困りました、というか困ってます。

まぁ、こんなそんなで本当にギリギリまで作り込んでました。会場に着いてからも、後ろの方でゴソゴソ。そんな姿を首藤さんにしっかり見られてしまい、後から「資料作ってましたね」といわれてしまいました ^ ^;;

だから、やろうと思っていたアニメーションなどがいくつか省略しています。次回までにはなんとか直さないと。

このプレゼンツールを作っている時に気がついた、インタープリターとコンパイラの違いは もう 1 つの blog に書いてありますので、参考にしてください。

それにしても、先週の講演の後、風邪をひいてしまい、体調はいまいち。しかも、コンパイラに泣かされながら徹夜したので、なおさら体調はいまいち。講演中も喉が痛くて大きい声を出せないとか、鼻水がとまらないとか、ほんとに聞きづらかったと思います。参加された方には、この場をかりて、お詫び申し上げます。

 

さて、他の講演です。

丸山先生の Andoroido はいいとして、それ以外の Air と Silverlight は、はっきりいってつまらなかったです。

なんでだろう、なんでこんなにつまらないんだろうと、モヤモヤしていたのですが、理由が分かりました。

丸山先生レクチャーシリーズは技術の話をするセミナーなのです。私はもちろん技術の話が聞けると思っているわけです。

しかし、Air と Silverlight の話には技術の話がないのです。単なる、製品紹介。

製品紹介なんか聴きたくないんです。技術の話が聞きたいのです。

たとえば、いろんなセミナーでパラレルにセッションがあるような時、一般的にスポンサーセッションは人気がないですよね。そういうことに企業の人は気づいていないのでしょうか?

そういうセミナでは、参加者は技術の話を聴きに来ているのであって、製品の紹介を聴きに来ているのではないのです。製品紹介は展示会とか自社イベントでやってください。

じゃぁ、どうすればいいかというと、製品の裏側で使われている技術の話をすればいいのです。

Air だったら、ActionScript のコンパイラの話とか、Air の実行環境の話とか、MXML がどのように処理されるのかとか。技術ネタはいっぱいあるはずです。そういうことを話してくれれば、どんなにおもしろくなったことか。

依頼された人が技術の話ができないのであれば、技術の話ができる技術者をアサインすればいいんです。ただそれだけなのに、なんでできないんだろう。

ラベル: , , ,

2008/03/07

今日の基礎セミナ

河村さん, JJUG 基礎セミナ アノテーション, 稚内北星学園大学東京サテライト校

なんかこのところバタバタしていて、blog の更新をすっかり怠ってしまいました。約 1 月ぶりのエントリということで、JJUG の基礎セミナです。

前回に引き続き J2SE 5.0 のマイグレーションシリーズということで、アノテーションについて話をしてきました。

前半が櫻庭がアノテーションの基礎と Java SE で扱われる代表的なアノテーションについて、後半河村さんが Java EE、特に EBJ 3 のアノテーションについて説明しました。

それにしても参加者が少ない... orz

やっぱり J2SE 5.0 って、まだ受け入れられないのでしょうか? もう、J2SE 5.0 がリリースされてから丸 3 年もたっているのに......

櫻庭のセッションでは、アノテーションの使い方よりも、アノテーションが導入された背景や意義を詳しく解説しました。アノテーションはアノテーションの種類によって使う用途が異なるので、あまり使い方を説明してもしょうがないかなぁ、と思った次第です。

それにアノテーションの基本的な記述はごくごく簡単なので、そんなに解説する必要もないと思ってました。

でも、アンケートにはもっと具体的な使い方を解説してくださいというのがあったので、ちょっとはしょりすぎたかなぁと反省。

当日は Ustream.tv でストリーミングをしたのですが、操作を誤って録画できませんでした。ほんとに操作を誤っただけで、意図的に録画を残さないようにと思ったわけではないですよ。

ラベル: , ,

2007/11/13

今日のセミナ - JJUG 基礎セミナ ジェネリクス

11/22 (木) に JJUG でジェネリクスのセミナをやることになりました。

JJUG では今まで初学者向けの基礎セミナーを行なってきたのですが、その一環です。

今回は J2SE 5.0 マイグレーションシリーズという位置づけ。なかなか、J2SE 5.0 が使われない理由はいくつかあると思いますが、文法がよく分からんという理由もあると思います。

そこで、J2SE 5.0 で取りいれられた文法理解のお手伝いをしましょう、という趣旨です。

で、ジェネリクス。ジェネリクスはうまく利用すれば、バグの発生を抑えることができ、ひいては品質向上を図ることもできます。

J2SE 5.0 を触ったことがないけど使ってみたいと思っている人、ちょっと使ってみたけどよくわかんなかった人などぜひぜひ起こしいただければと思います。

もちろんバリバリに使いこなしている人でも大歓迎。無料ですので、お気軽にご参加ください。

登録はこちらかお願いします。

第 4 回 基礎セミナ J2SE 5.0 マイグレーションシリーズ - ジェネリクス

 

開催要項
日時: 2007 年 11 月 22 日(木)19:00 ~ 21:00(受付開始 18:30)
会場: 稚内北星学園大学 東京サテライト校
最寄り駅: JR秋葉原駅、東京メトロ秋葉原駅、つくばエクスプレス秋葉原駅、東京メトロ末広町駅
主催: 日本 Java ユーザグループ
申込締切: 11/20 (火) 0 時を受付締切りとします。
参加費用: 無料

ラベル: , ,

2007/10/05

今日の java-ja

今日は java-ja の「第一回チキチキ 19 時だよ全員集合!! ライトニングトーク大会」。ちなみに、java-ja のイベントはすべて第一回です。

ヨシオリさんの Keynote を使い倒す宣言のでたプレゼンとか、いきなりホワイトボードでしかも中途半端で終わる nekop とか、iPod touch でプレゼンするかさたにさんとか、Java でアレを作っちゃった ApplePedler さんとか、ブルースクリーンでウクレレで歌を唄うようちゃんとか、体操の未来を憂うよういちろんさんとか、ケイタイでプログラミングする cafistar さんとか、タップダンスしてくれた NAGASE さんとか、ZO-3 持ち込んだ tfunato さんとか、いろいろ楽しかった。

琴線に触れたのは iPod touch とケイタイプログラミングかな。tfunato さんはもっと ZO-3 弾きまくってくれればよかったのに。

java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
カンパーイ!
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
カンパーイ!
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
オカザキさん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
Isoparametric さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
yamashiro さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
かさたにさん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
nekop さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
everes さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
ヨシオリさん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
onk さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
ようちゃん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
とのうちさん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
NAGASEYASUHiTO さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
共演?
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
よういちろうさん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
onk さん、倒立!
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
よういちろうさんも負けじと...
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
gaooh さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
Ewigkeit さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
rhaco さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
ApplePedlar さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
tfunato さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
daffy さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
cafistar さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会 java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会
矢野勉さん
java-ja 第一回チキチキ 19時だよ全員集合!! ライトニングトーク大会

ゴングが用意されていなかったので、Java で 5 分で作りました。スタート時と 4 分、5 分の時に音が出ます。

といっても実際は JavaFX でプレゼンをするときのために JOAL を使った OpenAL のユーティリティクラスを作ってあるので、それをコールしただけです ^ ^;;

PC のスピーカから音を出していたので、音量が小さかったですね。まさか、こんなことに使うとは思っていなかったので。

さて、櫻庭は食べものをおいしそうに撮る Tips を紹介しました。ネタはほとんどなし。まじめにやりましたよ。

資料はクリックすれば進みます。

ついでに、この資料の中に出てくる写真を載せておきます。今回使用したのは Sadaharu AokiPierre Hermé の写真。といっても、Hermé は 1 枚しか使ってませんが^ ^;;

Sadaharu Aoki 東京ミッドタウン店

拡大地図を表示
Pierre Hermé, Paris 青山

拡大地図を表示

 

まずは Sadaharu Aoki から。前半は家で撮って、後半は東京ミッドタウンのサロンで撮りました。

Macarons, Sadaharu Aoki, Tokyo Midtown, Roppongi Macarons, Sadaharu Aoki, Tokyo Midtown, Roppongi
Saya, Sadaharu Aoki, Tokyo Midtown, Roppongi
Saya, Sadaharu Aoki, Tokyo Midtown, Roppongi Saya, Sadaharu Aoki, Tokyo Midtown, Roppongi
Sadaharu Aoki, Tokyo Midtown, Roppongi Dessert d' ete Rose et Glace Fraise, Sadaharu Aoki, Tokyo Midtown, Roppongi
Sadaharu Aoki, Tokyo Midtown, Roppongi
Dessert d' ete Rose et Glace Fraise, Sadaharu Aoki, Tokyo Midtown, Roppongi Dessert d' ete Rose et Glace Fraise, Sadaharu Aoki, Tokyo Midtown, Roppongi
Dessert d' ete Rose et Glace Fraise, Sadaharu Aoki, Tokyo Midtown, Roppongi

次が Pierre Hermé。

Ispahan, Pierre Herme, Shinjuku Ispahan, Pierre Herme, Shinjuku
Ispahan, Pierre Herme, Shinjuku
Ispahan, Pierre Herme, Shinjuku Ispahan, Pierre Herme, Shinjuku
Macarons, Pierre Herme, Shinjuku

ラベル: , , ,

2007/09/15

今日のセミナ

その後、Java コミュニティ@九州の セミナ

講師は昨日に引き続き浅海先生、小出先生。そして、きしださん。エイタロウソフトの西島さんにもお願いしていたのですが、時間があわず。その代わりに榊さんに登壇していただけることになりました。

お題は...

  • 浅海先生 マインドマップ・モデリング
  • 櫻庭 JavaFX
  • 榊さん モバゲーの 3D アバター
  • 小出先生 PBL の紹介
  • きしださん IDE を Dis る

規格は早くから決まっていたのですが、告知が遅くなってしまい、告知期間は 1 週間だけ。これだと、やっぱり集客は難しいですね。有料だったのも、集客に影響してしまったようです。

イベントの企画はやっぱり難しいですね。

とはいうものの、セミナ自体はわきあいあいと進んだのでした。

ちなみに、この日、天気予報では雨だったのですが、実際はピーカン。ものすごく気温が上がりました。セミナーの集客としては雨よりも晴れていた方がいいのですが、暑すぎ。

さて、セミナーです。

講演の中でヒットだったのは、榊さんの講演。モバゲーの 3D アバターってすごいですね。

3D のアバターを着替えさせたりできるのですが、なんとアバターのレンダリングはなんとサーバでやっているのだそうです。レンダリングした結果はアニメーション GIF にしてケイタイで表示するのだとか。

アバターはアニメチックな絵なのですが、カトゥーンシェーダーを使っていないようです。すべて、モデラーさんたちが作り込んでいるのだと。それはそれですごいかも。

現状はシステム側で用意された着替えしかできないようですが、今後ユーザ自身がモデリングできるような拡張も考えられているようです。

ちなみに、きしださんの講演は「Java IDE を比較してみよう」だったのですが、急遽変更。「NetBeans 以外の IDE を Dis ろう」になってしまいました。

きしだ さとしさん, 第 2 回 Java コミュニティ@九州 セミナー
司会はきしださん
浅海 智晴さん, 第 2 回 Java コミュニティ@九州 セミナー
浅海先生
浅海 智晴さん, 第 2 回 Java コミュニティ@九州 セミナー
やっぱり暑いんです
榊 真史さん, 第 2 回 Java コミュニティ@九州 セミナー
榊さん
小出 洋さん, 第 2 回 Java コミュニティ@九州 セミナー
小出先生
小出 洋さん, 第 2 回 Java コミュニティ@九州 セミナー
きしだ なおきさん, 第 2 回 Java コミュニティ@九州 セミナー
きしださん
きしだ なおきさん, 第 2 回 Java コミュニティ@九州 セミナー
タイトルが変った!

ラベル: , , , ,

2007/06/27

今日の Java Night Seminar

で、Java Night Seminar です。何度も予告したように今日は Sun の岡崎さんといっしょに JavaFX。会場が狭く、30 人ぐらいでしょうか。それでも、ギュウギュウな感じ。

はじめに櫻庭が JavaFX の概要を 45 分ぐらい説明して (すいません予定では 30 分だったのですが ^^;;)、30 分ぐらい岡崎さんがプログラム言語の How to 的なところを 30 分ぐらい。

その後、お題を受けつけたのですが...

すいません、全然できませんでした ^^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

やっぱり、ああいう場で即興でやるというのはむずかしいぃぃぃ。

まぁ、全体的にはいろいろ議論もできたしよかったのではないかと思っております。

java-ja の人たちはもちろん、その他にも mixi の JavaFX コミュや JavaFX wiki を作られている HDO さん、jollyrojer さんもわざわざ愛媛から駆けつけてくれたり、はてなのてんぷらメモで JavaFX のエントリーをいっぱい書いている aterai さんや、SQS を開発している久保さん、db4objects の佐藤さんなども参加していただきました。

こんなにいろいろな人が参加してくれるとは思いませんでした。あらためてお礼させてください。ありがとうございました。

ラベル: , ,

今日の資料

今日の資料は こちら から見ることができます。

Java Web Start にはいろいろと問題があって、Shift_JIS 版と UTF-8 版の 2 つを用意しました。

Java Web Start の問題点とは

  • -Dfile.encoding が効かない
  • フォントの埋め込みができない

1 つめはもう論外です。ただし、クラスファイルだけを考えていたのであれば、これはしかたないところもありますね。ところが、スクリプトファイルを JAR に含めてしまうとデフォルトエンコーディングでしか扱えないため、スクリプトファイルの読み込みすらできません。

2 つめはフォントの埋め込みの問題です。Java には Serif、SansSerif など論理フォントを扱えるのですが、はっきりいってちゃんと UI を設計するのであれば、これだけでは全然使い物になりません。

今回は TBP ゴシックDE (いわゆる太丸ゴシックです) を使っているのですが、ここに Windows で SansSerif に割り当てられている MS Pゴシックを使われてしまったら、まったく雰囲気の違う UI になってしまいます。

PDF や Flash ではこの問題に対して、フォントの埋め込みができるようになっています。Java Web Start でも (というか Java 自体かもしれませんが)、同様に仕組みを用意しないと、JavaFX で RIA なんていってられないですよ。

ラベル: , ,

2007/06/22

今日の JavaFX

いちおういっておきますが、お題ちょうだいといってもそんなすごいことはできないですよ。たかだか、1~2 時間ぐらいで、複数題やるつもりだし。しかも、時間中にプログラムの解説までおこなうつもりなのですから。

まちがっても、「Duke の画像を 60fps で 2 倍に拡大表示してください」とか「JOGL つかって 3D でガシガシ Flickr から写真表示してください」とか「Leopard の GUI を JavaFX で再現してください」とかはできません。

ご理解のほどよろしくお願いします。

ラベル: , ,

2007/06/19

今日の Java Night Seminar

6/27 に NSUG+IAjapan 主催の Java Night Seminar があります。

今月のお題は JavaFX。

岡崎さんと私が参加者からお題をもらって、その場でプログラムを作成すというライブ的なセミナにする予定です。

とはいうものの私はもっぱら説明役に徹しようかなぁと。染めの助染め太郎でいえば、染めの助の役目です。岡崎さんの横で「今日はいつもより多めにタイピングしておりますぅ」とでもいってようかな ^^;;

それとも横でプログラムできるまで Dukelele を弾くか ^^;;

まじめな話、JavaFX でどのようなことができるのか、どのような用途に使うのが紹介できればいいと思ってます。

Java Night Seminar はビールを飲みながらおこなうセミナで、とても柔らかい雰囲気なので、どんどん質問をぶつけてください。

まだ席は若干残っているようですので、みなさまのご参加お待ちしております。

申し込みは IAjapan の申し込みページよりお願いします。

ラベル: , ,

今日の JavaWorld Day

ということで、JavaWorld Day で Java SE のことを喋ってきました。

本来は Java SE 7 のことだけを喋るつもりだったのですが、急遽 OpenJDK と JavaFX に関しても喋ってきました。

というのも、この講演タイトルを決めたのは JavaOne にいく前だったからということがあります。ところが、JavaOne にいってら、OpenJDK と JavaFX が出てきてしまったわけです。

Java SE のことを話すのであれば、やっぱりこの 2 つは外せないだろうということで、内容に盛り込んでみました。

ところで、講演資料ですが今回もまた JavaFX Script で作ってみました。今回は前回と違い、パクッたコードはありません ^^;;

一から作り直してみましたが、そんなにいい設計とはいえないですね... orz

資料のはじめのうちは絵やグラフをちゃんと入れてみたのですが、後半は完全にばててしまって文字ばかりになってしまいました。まじめな話、資料作りが間にあうかどうか、かなりギリギリの所だったので ^^;;

資料を作ってすぐだということもあって、講演では後ろを向いてしまうことが多かったのが今回の反省点です。

サウンドも入れたかったので、当初 JOAL で作り込んでみたのですが、どうしても動かない。動かない原因をつきとめる時間もないので、Java Sound を使ってみました。ところが、これが大失敗。

家のデスクトップで動かしていたときはまったく問題なかったのですが、非力なノートで動かしたら音がブチブチに切れてしまうのです。

Java Sound API はストリームからデータを読みこんでミキサーに入力するという処理を記述しなくてはいけないのですが、UI の処理が重くなると、この読み込みが追いつかなくなってしまうのです。

結局、講演では最後のもう UI のイベントを扱わないところにだけサウンドを入れるだけにしました。

これだったら、もう少しがんばって JOAL が動かない原因を探せばよかった。

 

講演は Open をキーワードにして OpenJDK、Future をキーワードにして Java SE 7、Rich をキーワードにして JavaFX を説明しました。それぞれ、キーワードに関連した選曲までしたのに...

せっかくなので、使う予定だった曲を列挙しておきます。アーティスト名、タイトル、アルバムの順に並んでます。

オープニング Cyndi Lauper "Time After Time (Acoustic Version)" - The Body Acoustic
Open The Doobie Brothers "Open Your Eyes" - Minute by Minute
Future Herbie Hancock "Future Shock" - Future Shock
Rich Toristan Prettyman "Song for Rich" - 23
エンディング Jack Johnson "Breakdown" - In Between Dreams

もちろん、Song for Rich の Rich が人の名前だということは分かっているですけど、いい曲が思いつ