2008/05/10

今日の朝ごはん - Luce

Luce, InterContinental San Francisco

昨日の blog を読んでいただければ分かるのですが、昨日は風邪で体調最悪。死んだように寝てしまいました。

それでも、12 時間以上寝たおかげで若干持ち直しました。

もともと今日の朝ごはんは Sear's Fine Food までいこうと思っていたのですが、大事をとって泊まっている InterContinental のレストラン Luce へ。

この Luce、ホテルのロビーと区切りになるものがないのです。ロビーがあって、そのままバーがあって、そのままレストラン。門とかドアとか作ったほうがいいんじゃないかなぁ。

でも、ロビーの天井は低いのですが、Luce に入ると天井が高くなります。天井が高いのはいいですね。

まだ新しいホテルなので、Luce も真新しく、カトラリーも内装もピッカピッカ。全体的に金属的な内装です。

朝はビュッフェスタイルなのだそうですが、ビュッフェは好きでないので、単品でオーダ。櫻庭がアメリカに来ると、一度は食べたくなるエッグ ベネディクトです。

さすがに上品なプレゼンテーションで、ポーションは少なめ。ハムは薄め。ポーチドエッグを覆うのはとても滑らかなオランデージュソース。

面白いのが付け合せのポテト。サイコロ状のポテトでハッシュポテト...... かと思ったら、フレンチフライでした。サイコロ型なので、水分を含みにくいのか、カリッカリ。でも、ぜんぜん焦げていない。これはいいですね。今度試してみよう。

Luce, InterContinental San Francisco Egg Benedict, Luce, InterContinental San Francisco
Luce, InterContinental San Francisco
Egg Benedict, Luce, InterContinental San Francisco

ラベル: ,

今日のお散歩

Java + You, San Francisco

今回のサンフランシスコではほとんど Moscone Center のある SOMA 地区から出ていません。

体調も持ち直してきたことだし、すこし散歩してみることにしました。

Union Square から Powell St. を北上して、California St. を左折、Grace Cathedral を過ぎて、Hyde St. で今度は右折。そして、Lombard St. を下って、Columbus Ave. を南下、Stockton St. で China Town を南下しつつ Union Square まで戻ってきました。こんなこと買いてもよく分からないので、下に歩いたところを地図にしてみました。小さい地図だと、変に回り道をしてますが、大きい地図にするとちゃんと直ります。

朝の雰囲気は好きなので、写真に撮るんですが、なかなか雰囲気が出ないです。修行が足りない...

San Francisco "Java + You" Bus Stop, San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco Flowers, San Francisco
Flowers, San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco San Francisco
San Francisco China Town, San Francisco
China Town, San Francisco China Town, San Francisco
China Town, San Francisco China Town, San Francisco
San Francisco Flowers, San Francisco
San Francisco San Francisco

ラベル: ,

今日のおやつ - Schoggi

Macarons, Schoggi, San Francisco

歩きつかれたので、休憩。Schoggi にもう 1 回きてみました。

前回はテイクアウトだったので、今回はイートイン。マカロンを 2 個とショコラ 2 個頼もうとしたら、「後 2 個追加すると、セットで安くなるよ」といわれたので、急遽マカロン 2 個追加 ^ ^;;

ところで、ここはお客さんいないんですけど......

食べている間に来たお客さんは 1 組のみ。隣のピアードパパに比べると全然違う。おいしいんだけどなぁ。

来年きたら、店がなくなっていたなんてことにならなければいいのですが...

Schoggi, San Francisco Chocolats and Macarons, Schoggi, San Francisco Cafe Late and Macarons, Schoggi, San Francisco

ラベル: ,

今日のロノウィルス

ということで、今回の SF 紀行もおしまい。

空港にいったら、大山さんたちと遭遇。昨日、蟹パーティに休んだのは、ノロウィルスのせいだということになっていたらしいです。

違いますよ、風邪ひいただけですよ。

なぜ、ノロかというと金曜の朝に JavaOne 事務局からこんなメールが来たからでした。

URGENT! PUBLIC HEALTH ADVISORY FROM JAVAONE TEAM

The JavaOne conference team has been notified by the San Francisco Department of Public Health about an identified outbreak of a virus in the San Francisco area. Testing is still underway to identify the specific virus in question, but they believe it to be the Norovirus, a common cause of the "stomach flu", which can cause temporary flu-like symptoms for up to 48 hours.
<<以下、省略>>

ようするに、Moscone Center 近辺でノロウィルスが発見されたので気をつけてね、というメールだったわけです。

まったく、人騒がせな。

ラベル: ,

今日の祝 100,000 views

JavaOne にいっている間に、Flickr のビューが 10万を超えました!!

3 万を超えたのが、2007/2/8 なので 1 年と 3 ヶ月で 7 万ビューに達したことになります。

現在は 7,958 枚登録してあるので、1 枚当たり約 12 ビューです。3 万のときが 10 ビューだったので、2 ビューだけ上昇しました ^ ^;;

せっかくなので、3 万ビューの時と同じように、Flickr の yuichi.sakuraba の記録を載せておきます。

ちなみに、Flickr のプロアカウントの人は URL の後に stats をつけると、統計情報を見ることができますよ。たとえば、櫻庭の全体の統計情報は http://www.flickr.com/photos/skrb/stats/ で見られますし (もちろん、ログインしていないとダメです)、個々の写真の統計情報も見ることができます。たとえば、下の羽一衣の写真の情報は http://www.flickr.com/photos/skrb/445790958/stats/ です。

今のところ Set や、Collections 単位では見られないものの、かなり役にたちますよ。

Views

まずはビューからです。ビューの ベスト 20 です。それにしても、お菓子が多いですね。というか、純粋に食べ物以外だと、雲の写真だけとは...

羽一衣, Ameya Eitaro, 新宿伊勢丹
1,700 views
伊勢丹限定 Ameya Eitaro の羽一衣。Google や Yahoo の検索で上位にあるせいで、ビューが伸びたようです。リファーラーを見ると、Google がダントツの 1 番。
Bûche Ispahan, Pierre Hermé, Shinjuku
973 views
Pierre Hermé のイスパハンのクリスマスケーキ。リファーラーは flickr.com が多いので、Flickr 的にはこの写真の方が 1 位かもしれません。
Foie gras Macaron, Pierre Hermé, 新宿伊勢丹
814 views
Pierre Hermé のフォアグラのマカロン。フォアグラで検索してくる人も多いです。
Ispahan, Pierre Hermé
781 views
Pierre Hermé のイスパハン。これも不思議と人気ありますね。
Macarons, Pierre Hermé, Tokyo
770 views
Pierre Hermé のマカロン。個人的には若気の至り的な写真なんですが...
Animal Chocolat, Goncharoff 神戸
770 views
見た目がおいしそうだからといって、おいしいわけではない例です ^ ^;;
宵の口 赤坂
658 views
前回、1 位だった宵の口。この写真も検索が多いですね。
Pierre Marcolini
639 views
Pierre Marcolini のボンボンショコラ。意外にショコラの写真は上位に上がってこないのです。
羽一衣, Ameya Eitaro, 新宿伊勢丹
602 views
再び羽一衣。影が映ってしまっているので、トホホな写真なんですが......
Méli-Mérot, Sadaharu Aoki, Salon du Chocolat Tokyo
578 views
Sadaharu Aoki のケーキ。バレンタインの限定ケーキです。
バナナチョコレートパンケーキ, Ciappucino, 代々木上原
568 views
代々木上原のチャプチーノ。この店はカップケーキで有名になってしまいましたが、やっぱりパンケーキですよ。
Macaron "Paris je T'aime", Sadaharu Aoki, Isetan Shinjuku
555 views
Sadaharu Aoki のマカロン。映画 Paris je T'aime とコラボしたマカロンです。
横浜中華街 華勝楼
553 views
華勝楼の鯉。最近は鯉ヘルペスのおかげで、鯉が食べられないのが残念。
Panettone, Muzzi
538 views
Muzzi のパネトーネ。イタリアでクリスマスに食べられるパンです。
Petit Fours, Pierre Hermé, Shinjuku Isetan
536 views
Pierre Hermé のプチフールが 2 枚並んでランクイン。しかし、このぐらいのランクは接線ですね。
Petit Fours, Pierre Hermé, Shinjuku Isetan
535 views
同じく Pierre Hermé のプチフール。
お石茶屋 大宰府
530 views
大宰府のお石茶屋。侘びですね。
宵の口 赤坂
522 views
赤坂の宵の口。雨のせいでしっとりした写真になっています。
Clouds
498 views
雲。最後の 2 枚は奇しくも GR Digital で撮った写真。
もうすぐ開店 A.C. Perch's Tea Shop 代々木上原
497 views
ヘボヘボ写真なんですが、検索から来られる方が多いようです。

次は部門別。といっても、お菓子はベスト 20 にいっぱいあるのでパス。ベスト 20 以下の主な部門のベスト 3 です。

フード部門

そばがき 清山 渋谷
426 views
これも何で選ばれるかよく分からない 1 枚です。リファーラーを見ると、Google がやはり多いです。
Baguette Sandwich, Paul, Roppongi
401 views
Paul のサンドウィッチ。
Blueberry Bagel and Cream Cheese, Maruichi Bagle, 代々木上原
381 views
マルイチベーグルのベーグル。そういえば、最近行ってないなぁ。

風景部門

Cherry Blossom - Panorama
304 views
代々木公園のパノラマ。これ撮ったときは寒かった。いわゆる花冷え。
三日月
290 views
三日月。これは早朝。少し明るんできたから撮れた一枚。
東京タワー
282 views
東京タワー。手持ちではこれが精一杯。

Java 部門

Erich Gamma, JavaOne 2006
429 views
Erich Gamma。
Erich Gamma and John Wiegand, JavaOne 2006
398 views
もう 1 枚、Erich Gamma。なぜ、Gamma かというと、Gamma の写真はあまりなくて、検索するとかなり上位に来るからなのです。
James Gosling, JavaOne 2006
330 views
Java の父 James Gosling。もっといい写真があるんだけどなぁ...

java-ja 部門

java-ja の写真はみんなビュー数が高いです。しかも、だいたいビュー数が同じ。Planet のせい?

第一回チキチキ勉強会ミーティング
483 views
Y しおりさんが blog で使ったからでしょうか?
懇親会, 第一回チキチキ勉強会ミーティング
440 views
いわゆる北海道です。結構ライブ感があっていいと思います。
第一回チキチキ勉強会ミーティング
434 views
矢野さん。

その他

Build-A-Bear Workshop, San Jose
491 views
Build-A-Bear。この写真もなぜか検索で引っかかります。
The World's Fastest Indian
463 views
映画 The World's Fastest Indian の Indian 号。検索で上位に来るわけでもないのに、Yahoo のイメージ検索から来る人が多いのです。
Flamenco Dance, Thirsty Bear, San Francisco
412 views
Thirsty Bear のフラメンコ。毎週、日曜日にやってます。今年もやってました。

コメント

コメントがある写真は 459 枚。だいたい、17 枚に 1 枚ぐらいですね。でも、ほとんどのコメントは 1 つのみ。コメントがいっぱいという写真はそれほどありません。でも、写真は世界共通語なので、いろんな国の人がコメントしてくれます。とはいうものの、コメントが英語だったらいいのですが、違う言葉だと全然分からないですね ^ ^;;

コメントが多いのは、Sadaharu Aoki のマカロン。これは Colour Art Awards というグループで選ばれたせいです。以下、ベスト 4。

Macarons, Pâtisserie Sadaharu Aoki Paris, Tokyo Midtown
10 コメント
Chocoron, Sadaharu Aoki, Shinjuku Isetan
7 コメント
マカロンをホワイトチョコレートでコーティングしたショコロン。でも、味はイマイチでした...
Ispahan, Pierre Hermé
6 コメント
Fetish Macaron, Pierre Hermé
5 コメント
マカロンの輪切りって、けっこう難しいですよ

それにしてもマカロンばっかり ^ ^;;

Favorites

コメントに比べると、Favorites の方が多いです。やっぱり、Favorites の気楽なんでしょうね。

Favorites がついている写真は 1038 枚。8 枚に 1 枚程度です。

Animal Chocolat, Goncharoff 神戸
26 Favorites
Ispahan, Pierre Hermé
16 Favorites
Bûche Ispahan, Pierre Hermé, Shinjuku
15 Favorites
Petit Fours, Pierre Hermé, Shinjuku Isetan
15 Favorites

exploere

Flickr には、Explore というのがあって、毎日数十枚の写真が選ばれています。どういう基準で選ばれているのかよく分からないのですが、選ばれないよりは選ばれた方がうれしいですね ^ ^;;

しかし、一度選ばれたからといって、ずっと選ばれているかというと、そうでもなくて、落ちてしまうものもあります。

櫻庭はだいたい 8 から 10 枚の写真が Explore に選ばれているようです。

落ちてしまったものを含めると 27 枚が Explore に選ばれていました。

下のイメージは Scout というサイトで作れるものです。

それにつけても、すべてスイーツとは......

Exploere

Contacts

櫻庭を Contacts に含めていただいている人はなんと 146 人。そんなに多かったんだ。

それこそ、世界中のいろんな国の人がいます。今、1 ページだけを見ても、アメリカ、フランス、イタリア、中国、ブラジル、シンガポール、スペイン、カナダ、台湾、ベルギー、インドネシア、タイと様々。すごいなぁ。

リファーラー

リファーラーは Yahoo が多いですね。やはり、flickr は Yahoo 系列なので、イメージ検索で上位に来ることが多いです。逆に、Google のイメージ検索では flickr はあまり上位にこないような気が...

最近の傾向ではダイレクトに来る人が多いこと。RSS リーダ経由かと思ったのですが、意外に古い写真もダイレクトに来ることが多いのです。なんででしょ?

リファーラーは約 60% が Flickr、25% がダイレクトです。

search.yahoo.com と images.search.yahoo.com がほとんど同じくらいで、両方とも 4%。次が google.com の 3% です。同じ Yahoo とはいっても、yahoo.co.jp はかなりすくないです。

検索キーワードで多いのは

search.yahoo.com

  1. 羽一衣
  2. 墨絵 新宿
  3. cacao sampaka
  4. 呉氏カムジャタン
  5. pietro romanengo

images.search.yahoo.com

  1. chocolat
  2. macaron
  3. christmas scenery
  4. galette des rois
  5. pierre herme

google.com

  1. 羽一衣
  2. ameya eitaro
  3. カフェフレンズ
  4. franck fresson
  5. シーフードサラダ

Yahoo のイメージ検索はキーワードは多くないのですが、ひとつの検索キーワードで何回も検索されています。たとえば、chocolat は 272 回、macaron は 258 回検索されています。それに対して、Yahoo の普通の検索では羽一衣は 105 回しか検索されていません。やっぱり、サイトによって傾向がずいぶん違うんですね。

というわけで、Flickr の記録でした。

ラベル:

今日の一枚

Neil Young "After the Gold Rush" (1970)

やっぱり、Neil Young。

このアルバムは櫻庭が Neil Young の最高傑作だと思っているアルバムです。セールス的にはこの次の Harvest の方が成功していますが、なんといっても After the Gold Rush ですよ。

ほんとにこのアルバム、何度聞いたか分かりません。Crosby, Stills, Nash & Young の Déjà Vu とあわせたら、もう敵なしです。奇しくも、この 2 枚のアルバムは両方とも 1970 年にリリース。録音していた時期もかぶっていたはず。ノリにのっていた時代なのでしょう。

このアルバムはバラエティに富んでいて、散漫な印象を与えかねないのですが、それもまたよし。カントリーから、フォーク、バラード、ハードなロックと Neil Young のさまざまな面をかいま見ることができます。

1 曲目の Tell My Why は典型的なカントリー。1 拍目でベースを弾いて、その後の拍でストロークという、カントリーでよく使われる奏法です。

バックの Crazy Horse の面々とのハーモニーも決まっています。

次の After the Gold Rush はピアノが印象的なバラード。ほとんど、ピアノの弾き語りなのですが、間奏のホルンがまたいいんです。Neil Young が細い声を絞り上げて歌っている姿が見えてくるような曲です。

とはいうものの、歌詞は意味がよく分からないんですけどね ^ ^;;

Only Love Can Break Your Heart はラブソングみたいなタイトルですけど、歌詞を見てみるとそうでもないんですよね。シンプルなバックにのせたハーモニーが美しい曲です。

Oh Lonesome Me は Neil Young の曲ではなくて、Don Gibson と Cet Atkins が歌っていた曲です。とはいうものの、オリジナルは知らないのですが...

Don't Let It Bring You Down は Neil Young の高くて細い声を絞り出したようなボーカルが秀逸。彼の声は決してボーカル向きではないと思うんです。しかし、それを逆手にとって、短所を長所に変えてしまっていると思うのです。

Birds はピアノのバラード。Neil Young はピアノも弾くのですが、決してうまくない。ほとんどコード弾きで、素朴な感じです。しかも、とてもライブな音。ソリッドでぎゅっとつまった感じはまったくなく、開放感があり明けはなったような音。こういう音にはシンプルなサウンドがよくあいます。

最後の Cripple Creek Ferry はちょっとふざけたような、とっぽいサウンド。こういう曲は Neil Young によく似合います。ふざけているわけではないんですけど、なんか楽しそうな雰囲気が伝わってくるような小曲です。

さて、わざと抜かしたのですが、このアルバムの中で最も櫻庭がすきなのは、なんといっても Southern Man。

なんか出だしを間違えてしまったのではないかと思うぐらいの、はじめの半拍がミュートしたような音ではじまるこの曲。なんといてもリフがかっこいい。

ハンマリングを多用したリフで、ギターとピアノのユニゾン。これだけでも、すごいカッコイイ。

そして、ギターソロ。決して音数が多いというわけでもなく、訥々と弾いている感じですが、指から値が吹きでてしまうのではないかと感じの重いソロ。

彼の初期のころのギターソロの特徴である、単音ソロもしっかり入っています。単音ソロというのは、延々と同じ音だけを引き続けるだけのプレイ。

同じ音だけなので、単調に聞こえそうなのですが、そんなことは全然ない。しかし、同じフレーズを何度も何度も繰りかえしていく奏法とあわせて、より効果を増しています。CSN & Y の 4 Way Street ではアコスティックバージョンもありますが、なんといってもエレキがいいですね。

同じく、4 Way Street にはエレキバージョンも入っていて、こちらは Stephen Stills とのソロの駆け引きがあって、それはそれでとてもカッコイイのですが、やっぱりオリジナルがいい。

ほんとに何度も聞いていますけど、いいですよ。

ラベル:

2008/05/09

JavaOne 最終日

Java + ? T-Shirt, Pavilion, JavaOne 2008

今日は James Golsing の General Session があるので、早起き。

Alumni Lounge でごはんを食べて、7:30 に General Session の列に並びました。もちろん、かなり早い順番です。

さて、今年の JavaOne のテーマは Java + You ですが、パビリオンでは無料で Java + XX = YY という T-Shirt を無料で作ってくれます。もちろん、XX と YY の部分は好きな言葉を入れらます。

会場には業務用のアイロンが持ち込まれていて、そこでアイロンプリントしてくれるというわけです。

というわけで、できあがるまでの工程を写真で撮ってきました。

Java + ? T-Shirt, Pavilion, JavaOne 2008 Java + ? T-Shirt, Pavilion, JavaOne 2008
Java + ? T-Shirt, Pavilion, JavaOne 2008 Java + ? T-Shirt, Pavilion, JavaOne 2008
Java + ? T-Shirt, Pavilion, JavaOne 2008 Java + ? T-Shirt, Pavilion, JavaOne 2008
Java + ? T-Shirt, Pavilion, JavaOne 2008 Java + ? T-Shirt, Pavilion, JavaOne 2008

ということで、今日櫻庭が聴講したのは

  • General Session
  • Technical Session
    • TS-6623 More "Effective Java"
    • TS-5657 JavaFX Technology: Bring the Web with You - Multiple Interfaces to Games, Chat, and More
    • TS-4883 Advanced Java NIO Technology-Based Applications Using the Grizzly Framework
    • TS-6206 JVM Challenges and Directions in the Multicore Era

 

General Session

DJ Anna, General Session, JavaOne 2008

General Sessionは今年も DJ Anna によるパフォーマンスから。この人、写真だけを見ていると、ほんとにマネキンみたいです。

さて、今日も John Gage の MC ではじまります。

彼は初日にデモをした Sentilla Mote がいたくお気に入りのようで、今日も Sentilla のデモ。エスカレータのところに Sentilla をしかけておき、そこを通る人をカウントできるようにしたらしいのです。

モニタリングする方は、エスカレータの写真が表示され、人が 1 人通るごとに James Gosling がエスカレータに乗るというもの。これはおもしろい。

そして、次のスピーカーである James Golsing を壇上に呼びました。John Gage が役目を終わって、壇から降りようとすると、James Gosling が John Gage を呼びとめるのです。

James Golsing がこれを見てくれと、ビデオが上映されました。

なんとそれは、JavaOne の顔、John Gage を讃えるビデオだったのです。一昨年は Scott McNealy、去年は James Gosling、そして今年は John Gage だったわけです。

James Golsing をはじめ、Scott McNealy、Jonathan Schwartz、Rich Green、そしてなんと Bill Joy まで出てきましたよ。それにしても、Bill Joy はカッコイイ。

わざとドキュメンタリーのコメントみたいに、側面からライトを当て、バックは暗くして、コントラストを高くした画像だからかもしれませんが、それにしてもカッコイイです。

ビデオが終わったら、James Gosling が「いつも、投げる方ばかりでもらったことがないだろう」と、T-Shirt スローで使われる T-Shirt を John Gage にプレゼント。

その後、Jonathan Schwartz、Rich Green、Chris Melissinos が壇上に。Jonathan の手には Golden Duke が。

それを送られた John Gage はちょっとウルウル来てましたね。

DJ Anna, General Session, JavaOne 2008 DJ Anna, General Session, JavaOne 2008
John Gage, General Session, JavaOne 2008 John Gage, General Session, JavaOne 2008
John Gage and James Gosling, General Session, JavaOne 2008 Bill Joy, General Session, JavaOne 2008
John Gage and James Gosling, General Session, JavaOne 2008 John Gage, Jonathan Schwartz and James Gosling, General Session, JavaOne 2008
John Gage, Jonathan Shwartz, Rich Green,  Janice J. Heiss and James Gosling, General Session, JavaOne 2008

そして、James Gosling の General Session に移っていきます。

彼のセッションはいつものごとく、彼が興味を持っているものをいろいろと集めた楽しいセッションです。

紹介されたものは、次の 11 種類です。

  • VisualVM
  • JavaScript Support in NetBeans
  • Java on NVidia APX 2500
  • Java Games (jMonkeyEngine) and Project Darkstar
  • Java Card 3.0 (Robocode)
  • Sentilla Mote
  • Livescribe Pulse
  • Real Time Java
  • Tommy Jr.
  • JMARS
  • CERN

VisualVM は今年の JavaOne ではもう何度も出てきてますね。NetBeans の JavaScript サポートはなかなかよさげ。Firefox と協調してデバッグもできます。

APX 2500 での OpenGL ES のデモは JOGL の BOF で見たものと同じです。jMonkey Engine と Project Darkstar を使ったゲームはシミュレーションのようでした。かなり凝った演出も可能なようです。

NetBeans の Tor Norbye、JOGL の Ken Rusell、Project Darkstar の Chris Melissinos は James Gosling の General Session ではもうおなじみ。登場するときに、「今年はなにをみせてくれるんだい?」的な会話が交わされています。

次が Java Card。Java Card が General Session で登場するのなんてかなり久しぶりのような気がします。かつて、VISA の人が General Session に出て、そのとき一緒に Michael Jordan が出たんですけど、ご存じでしたか?

Java Card 3.0 ではかなり機能強化されたようです。デモでは、Robocode のプログラムを Java Card で動作させて対戦させてました。事前にプログラミングコンテストがおこなわれており、この場で決勝戦がおこなわれたのでした。

次が Sentilla Mote。ここでは、大きいビーチボールの中に、Mote をしかけておいて、ボールの位置をモニタリングするというもの。

そして、Livescribe の Pulse です。Pulse はボールペンなのですが、なんとペン先にカメラが仕込まれてあります。そして、もちろん Java (CLDC) も動作します。

カメラからの画像を認識して、文字を読みとったり、単語を訳したりできます。それだけでなく、ピアノの鍵盤を模したマス目を書き、そこをポインティングするとピアノの音が出てくるというすごいペンです。

会場でも販売していたのですが、悩んだすえ買いませんでした。ちょっと後悔しています。

次の Greg Bollella による Real Time Java のデモも JavaOne 恒例。今年はパチンコの玉と同じくらいの色つきの玉をパイプの中を走らせるというもの。パイプにはフリッパーがついていて、玉が来るとフリッパーが玉を打つのです。それだけでなく、カラーセンサが設置されており、玉の色によって走路を変更することができます。

今まで Real Time Java は、リソースの大きなシステム向けのものが多かったのですが、今回はファクトリーオートメーション的なもの。ちょっと方向性を変えてきたのかもしれません。

工場やプラントでは、制御用の特殊なネットワークであるフィールドバスが使われています。フィールドバスにはいくつか種類があるのですが、ここでは Profibus を使ってラダーを制御してました。

とはいうものの、今回のデモも Java SE で動作する Real Time VM であり、CDC などの Java ME で動作するものではありません。CDC で動くといろいろと楽しいことできるんだけどなぁ。

Tommy Jr. はおととし出展されていた Tommy の新型。今回の Tommy はトヨタの Scion xB がベースになっているので、前回に比べるとかなりスマート。それでも、センサ類がたくさん車体につけられているのは異様ですが。

JMARS は Gosling お気に入りの火星のお話し。とはいっても、ローバーを直接制御するのではなく、ローバーのミッションプランニングや、ローバーなどから送られてきた各種情報を解析するためのツールです。

そして、最後が CERN で使われている各種の Java のシステム。Web といえば CERN ですが (といっても知っている人は少ないのかなぁ)、そちらではなくて本業の素粒子や原子核の研究の方。

この研究を支援するためのツールが Java で作られているらしいのです。これもなかなすごいです。

James Gosling, General Session, JavaOne 2008
James Gosling, General Session "Extreme Innovation", JavaOne 2008
VisualVM の Luis-Miguel Alventosa と Tomas Hurka
James Gosling and Tor Norbye, General Session "Extreme Innovation", JavaOne 2008
NetBeans の Tor Norbye
James Gosling, General Session "Extreme Innovation", JavaOne 2008
Ken Rusell
James Gosling, General Session "Extreme Innovation", JavaOne 2008
Chris Melissinos と jMonkeyEngine の Joshua Slack
James Gosling, General Session "Extreme Innovation", JavaOne 2008
Java Card の Laurent Lagosanto
James Gosling, General Session "Extreme Innovation", JavaOne 2008
真ん中の 2 人がコンテストの上位者。この 2 人で決勝戦がおこなわれました。勝ったのは黄色いシャツの人
James Gosling, General Session "Extreme Innovation", JavaOne 2008
Sentilla の Joe Polasre
James Gosling, General Session "Extreme Innovation", JavaOne 2008
ビーチボールが会場に投げ込まれました
James Gosling, General Session "Extreme Innovation", JavaOne 2008
ビーチボールの位置のモニタリング
James Gosling, General Session "Extreme Innovation", JavaOne 2008
Livescribe の Jim Marggraff
James Gosling, General Session "Extreme Innovation", JavaOne 2008
単語の翻訳
James Gosling, General Session "Extreme Innovation", JavaOne 2008
Real Time Java の Gregg Bollella
James Gosling, General Session "Extreme Innovation", JavaOne 2008
これが今年のマシン
James Gosling, General Session "Extreme Innovation", JavaOne 2008
Tommy Jr. と Paul Perrone
James Gosling, General Session "Extreme Innovation", JavaOne 2008
JMARS の Phil Christensen
James Gosling, General Session "Extreme Innovation", JavaOne 2008
CERN の Derek Mathieson

Technical Session

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

今日はいろんな意味でいまいちでした。Effective Java はよかったのですが、その後の JavaFX はイマイチ。Josh Marinacci なので、Extreme GUI Makeover の JavaFX を期待していたのですが...

そのころから昨日ひいてしまった風邪が悪化。集中力がかなり落ちてしまいました。そのせいもあって、次の Grizzly は全然理解できませんでした。その後の JVM Challenges にいたっては、座ったとたん落ちてしまったらしく、全然記憶がないのでした ^ ^;;;

 

TS-6623 More "Effective Java"

このセッションも Joshua Bloch の JavaOne 名物セッション。名物セッションなので人気があります。なので、はじめから 2 回おこなわれることになっていました。なので、今日は 2 回目のセッションです。

しかし、今年は Joshua Bloch のもう 1 つの名物セッションである Java Puzzlers がないのが寂しいですね。

そういえば、今年の JavaOne では Effective Java 2nd edition の先行発売がおこなわれています。2nd edition では、J2SE 5.0 の言語仕様変更にあわせて、かなり項目が追加されています。これから買う人がいるのであれば、絶対に 2nd。すでに持っている人も、買い換える価値が十分にありますよ。

Joshua Bloch, TS-6623 More "Effective Java", JavaOne 2008
Joshua Bloch

JavaOne の本屋さんでは、Joshua Bloch のサイン会がおこなわれたのですが、すごい長蛇の列。予定の時間をとうに過ぎていても、列がいっこうにへる様子がありません。1 時間以上、時間を延長したらしいです。もちろん、櫻庭は Effective Java 買いましたよ。サインはもらえませんでしたけど。

さて、Effective Java のセッションです。

このセッションも 2nd edtion で追加された項目をベースにされていました。

はじめがジェネリクス。ジェネリクスの中でも、ワイルドカードの使い方です。

ワイルドカードを使うときの基本は PECS。PECS とは Producer extends, Consumer super の略です。

たとえば、コピーを考えた場合、コピー元は <? extends T> を使い、コピー先は <? super T> を使うというわけです。

また、戻り値にはワイルドカードは使わないようにします。

次が enum。

enum は特殊なクラスなので、いろいろと拡張することが可能です。たとえば、独自のフィールドを持つこともできます。たとえば、ordinal() メソッドを使うような場合は往々にして独自のフィールドを持った方がスマートに書くことができます。

// こう書いてはダメ!!
public enum Ensemble {
    SOLO, DUET, TRIO, QUARTET, QUINTET,
    SEXTET, SEPTET, OCTET, NONET, DECTET;
 
    public int numberOfMusicians() {
        return ordinal() + 1;
    }
}

このように書くのではなく、下のように書きます。

// この書き方の方が Good!
public enum Ensemble {
    SOLO(1), DUET(2), TRIO(3), QUARTET(4), QUINTET(5),
    SEXTET(6), SEPTET(7), OCTET(8), DOUBLE_QUARTET(8),
    NONET(9), DECTET(10), TRIPLE_QUARTET(12);
 
    private final int numberOfMusicians;
 
    Ensemble(int size) {
        numberOfMusicians = size;
    }
    
    public int numberOfMusicians() {
        return numberOfMusicians;
    }
}

このように記述することで値が重複するときでも、また値が追加、変更されるときでもコードの変更が少なくてすみます。

また、ビットフィールドを int を使って実現することも、タイプセーフでないことや、32 bit 以上の扱いなど、いろいろと問題があります。ビットフィールドを扱う場合は EnumSet を使うようにします。同じように EnumMap もいろいろと活用ができます。

櫻庭は EnumSet も EnumMap も知っていたのですが、enum によるシングルトンパターンは気づきませんでした。たとえば、下のコードはシングルトンでしょうか?

public class Elvis implements Serializable {
    public static final Elvis INSTANCE = new Elvis();
 
    private Elvis() { }
        private final String[] favoriteSongs =
            { "Hound Dog", "Heartbreak Hotel" };
 
    public void printFavorites() {
        System.out.println(Arrays.toString(favoriteSongs));
    }
    
    private Object readResolve() {
        return INSTANCE;
    }
}

もちろん、違います。理由は考えてみてください。

enum を使ったシングルトンは次のように書きます。

public enum Elvis {
    INSTANCE;
    
    private final String[] favoriteSongs =
        { "Hound Dog", "Heartbreak Hotel" };
 
    public void printFavorites() {
        System.out.println(Arrays.toString(favoriteSongs));
    }
}

この使い方は思いつきませんでした。

ラベル: , ,

今日のランチ - Le Charm

Le Charm French Bistro, San Francisco

今日のランチは久しぶりに 1 人。1 人ということもあってフレンチです。

Le Charm はそんなに大きくない、ビストロ。なかなか雰囲気いいです。内庭にはテラス席もあるのですが、ちょっと風が強かったので、中で食べることにしました。

スープはコーンスープ。ごくごく普通のコーンスープ。その場でペッパーをミルでガリッガリッと挽いてくれます。

メインはラムの盛り合わせ。野菜のソテーも一緒に頼みました。

ラムがおいしい。写真ではよく分かりませんが、ラムチョップがおいしいです。これだけだったらいいのに、なんでフレンチフライをつけるのでしょう? はっきりいって余計です。

櫻庭は野菜のソテーが好きなんです。ほんとは網焼きの方がいいのですが、フライパンでソテーするのでもかまいません。味付けもシンプルに塩と胡椒だけ。

デザートはクリームブリュレ。そんなに甘くなくて、よかったです。

体調はかなりわるかったのですが、食べたおかげでちょっとだけ回復しました。

Le Charm French Bistro, San Francisco Le Charm French Bistor, San Francisco
Corn Potage, Le Charm French Bistor, San Francisco Mixed Grill of Lamb, Le Charm French Bistor, San Francisco
Sautéed Mixed Seasonal Vegetables, Le Charm French Bistor, San Francisco
Orange Crème Brulée, Le Charm French Bistor, San Francisco

ラベル: ,

今日の蟹パーティにいけなかった orz

今日は最終日なので、恒例の日本人参加者による蟹パーティがあります。

最後のセッションのJVM Challenges では落ちてしまったことを書きましたが、このままでは参加できないと思って、一度ホテルに帰って 1 時間でもいいから寝ることにしました。

頭痛がひどく、熱っぽいのです。

で、ホテルに帰って、目覚ましだけかけて、そのままベッドに潜り込みました。ハッと目を覚ましたら、19:30。すでにパーティは始まっている時間です。どうやら無意識のうちに目覚ましを止めてしまったようです。

これからいったとしても、30 分以上かかるので、もう皆さん蟹を食べ終わってしまうような時間です。それにこの体調で無理をしたら、明日帰れなくなってしまうかもしれません。

ということで、残念ながら欠席。参加者の 1 人に電話をして、欠席することを伝えて再びベッドへ。

それにしても、JavaOne で体調を崩したのははじめて。年と共に体力が落ちてきているのかなぁ。不摂生しているしなぁ。

来年は体力をつけて、リベンジだ!!

ラベル: ,

2008/05/08

JavaOne 3 日目

Tommy Jr., Pavilion, JavaOne 2008

今日も General Session は自主的にパス。

今日は Pavilion の最終日なので、ちょっとだけいってみました。上の写真で、黒い車は Tommy Jr.。一昨年、出展されていた Tommy の最新型です。

Tommy Jr. も Tommy と同様、DARPA が主催している Urban Challenge に出場するため、無人で動作します。だから、Autonomous Vehicle Only なんです。こういうジョークは好き。

さて、今年もセッションに参加するには事前に登録が必要です。去年は Sun のワークステーションにリーダをつけて画面で確認するシステムでした。

今年はそれが小型化し、PDA で登録チェックをおこなっています。でも、やっぱり煩雑なんですよね。もっといい方法ないのでしょうか?

Session Registration, JavaOne 2008 Session Registration, JavaOne 2008

さて、今日櫻庭が聴講したのは

 

Technical Session

今日のセッションの中では、Extream GUI Makeover が今までとずいぶん違ってしまって、あまりおもしろくありませんでした。

去年まで、このセッションは Shannon Hickey と Romain Guy が主に担当していたのですが、全然知らない人。なんかちょっと残念です。

 

TS-5686 New I/O APIs for the Java Platform

Alan Bateman and Carl Quinn, TS-5686 New I/O APIs for the Java™ Platform, JavaOne 2008
Alan Bateman

Carl Quinn, TS-5686 New I/O APIs for the Java™ Platform, JavaOne 2008
Carl Quinn

J2SE 1.4 で導入された New I/O ですが、当初 JSR 51 で取りいれるといっていた機能には J2SE 1.4 に間に合わなかったのものがあります。たとえば、ファイルシステムに対する API などです。

これらの残された API を策定するために、JSE 203 で More New I/O APIs が提案されていたのですが、CAFE (Call for Exper Group) 以降、動きが全然ありませんでした。J2SE 5.0 は過ぎ、Java SE 6 も過ぎてしまい、やっと Java SE 7 で動き始めたというわけです。

JSR 51 のスペックリードは Mark Reinhold でしたが、彼は Java SE 6 (JSR 270) のスペックリードになってしまい、その後 OpenJDK の Govonor になってしまいました。

ということで、新しいスペックリードの Alan Bateman と、Google の Carl Quinn が登壇しました。

セッションは前半が File System API、後半が Channel に関する API です。

今までファイルを扱うのは java.io.File クラスだけでしたが、このクラスはあまりにも貧弱。扱えるメタデータもごくわずかだし、シンボリックリンクなどの特殊なファイルも扱えません。

そこで、新たに java.nio.file と java.nio.file.attribute パッケージが定義されるわけです。

主なクラスは次の 4 つ。

  • FileSystem
  • FileRef
  • Path
  • FileStore

普通にファイルを扱うには Path クラスでパスを指定して、チャネルやストリームをそこから取り出すという使い方になります。

import java.nio.file.*;
 
    Path home = Path.get("/home/gus");
    Path profile = home.resolve(".bash_profile");
 
    // Backup existing file
    profile.copyTo(home.resolve(".bash_profile.backup"));
 
    // Append useful stuff to the profile
    WritableByteChannel ch = profile.newSeekableByteChannel(APPEND);
    try {
        appendStuff(ch);
    } finally {
        ch.close();
    }

よく分からないのが、Path クラスと FileRef クラスの関係。Path クラスは FileRef クラスの派生クラスなのでしょうか?

JSR 203 はすでに Early Draft が公開されています。でも、Early Draft と微妙にというか、かなり違うのでよく分かりません ^ ^;;

この Path クラスはシンボリックリンクを扱うこともできます。また、ディレクトリを扱うための DirectoryStream クラスも用意されており、正規表現を用いたファイルのフィルタリングなども可能になっているようです。

ファイルのメタデータは FileAttributeView インタフェースで表されます。基本的なファイルのメタデータは BasicFileAttributeView クラス、POSIX に準拠したファイルであれば PosixFileAttributeView クラスで表すようです。

ファイルに対する操作が行なわれたときに発生するイベントも扱うことができます。これには WatchService インタフェースを使用します。

後半はチャネルに関する API です。

まず、ソケットでマルチキャストを行なうための MulticastChannel インタフェースが導入されます。

非同期 I/O は Selector クラスを使う方法しかありませんでした。それに対し、JSR 203 では Concurrency Utilities の Future インタフェースを使用する方法と、コールバックを行なう方法が追加されています。

 

TS-5419 The Garbage-First Garbage Collector

Paul Ciciora and Antonios Printezis, TS-5419 The Garbage-First Garbage Collector, JavaOne 2008
Antonios Printezis

Paul Ciciora and Antonios Printezis, TS-5419 The Garbage-First Garbage Collector, JavaOne 2008
Paul Ciciora

このセッションは新しい GC の手法 Garbage-First (G1) GC に関する物です。スピーカの Tony Printezis は GC の専門家。

皆さんよくご存じのように、現在の HotSpot JVM は世代別 GC が採用されています。世代別 GC では、ヒープを Young 領域 (Eden と Survivor) と Old 領域 (Tenured) に分割して管理を行ないます。そして、Young 領域では Copy GC、Young と Old を合わせた時には Mark & Sweep GC が適用されます。

今までの HotSpot VM では Young と Old は基本的には固定です (エルゴノミクスを使うと変化することがあります)。

ところが、ところが、G1 GC では違うのです。

G1 では、ヒープを小さい領域に分割します (現状では 1MB の領域だそうです)。そして、その領域のうちいくつかを Young 領域、残りを Old 領域に割り当てます。この割り当ては、連続している領域でなくても大丈夫です。

Young 領域がいっぱいになってしまったら、Survivor 領域に移動します (つまり Copy GC です)。このときに、Young から Old に移動するオブジェクトもあります。

Old のマークは領域ごとに行ないます。もし、リマーク時にその領域のオブジェクトがすべて GC 対象であれば、その時点でその領域は解放されます。

ここで、普通の M&S であれば、スイープに入るわけですが、G1 ではスイープは Copy GC と同じように行ないます。つまり、ある領域から使われていない領域にオブジェクトが移動させるわけです。移動元の領域は、その時点で解放されます。

もちろん、このような GC を行なうためには、各領域を管理する必要があります。このために、Remembered Set という領域を別途用意するようです。この領域はヒープ全体の 5% 以下なので、全体に対する影響は少ないようです。

今後はこの GC の手法が現在使用している GC に取って代わる予定だそうです。しかし、明確にいつということは言及されなかったので、Java SE 7 というわけには行かないかもしれません。

 

TS-6589 Defective Java Code: Turning WTF Code into a Learning Experience

William Pugh, TS-6589 Defective Java™ Code: Turning WTF Code into a Learning Experience, JavaOne 2008
William Pugh

今年はなんと Java Puzzlers がないのです。楽しみにしてたのに... でも、そんなに問題も思いつかないのかもしれません。

その代わりといってはなんですが、このセッションです。スピーカの William Pugh は FindBugs の作者であり、昨年の Java Puzzlers では Joshua Bloch と一緒に Puzzlers を担当していた人です。

このセッションも Puzzlers のように、サンプルコードを示してどこが悪いか説明し、モラルを説くというパターンです。でも、Puzzlers のようにパズル形式になっているわけではなく、サンプルコードも単体で動作するわけではありません。

しかし、示されたコードは JDK や Jetty などで本当に使われているコードです。これは興味深いです。

たとえば、Jetty で使われている以下のコードには間違いがあります。どこだと思いますか?

    private final String _lock = "LOCK";
        ...
    synchronized(_lock) {
        ...
    }

これは、ロック用のオブジェクトに文字列定数を使っているところが間違っています。

JVM では文字列定数は共有されてしまいます。そのため、異なる場所で "LOCK" という文字列定数を使っていたら、同じオブジェクトで共有されてしまうのです。

この問題のモラルは、何をシンクロナイズするかということより、誰がシンクロナイズするかを考えるべきだということです。

最後に、FindBugs のコンテストのアナウンス。

バグパターンを投稿して、優勝者には $200 だそうです。〆切は 8/31 です。

 

TS-6611 Filthy-Rich Clients: Filthier, Richer, Clientier

Chet Haase, TS-6611 Filthy-Rich Clients: Filthier, Richer, Clientier, JavaOne 2008
Chet Haase

Romain Guy, TS-6611 Filthy-Rich Clients: Filthier, Richer, Clientier, JavaOne 2008
Romain Guy

このセッションも JavaOne 名物といってもいいでしょう。Chet Haase と Roamin G