2009-10-09

Google Chrome 一周年記念パーティーに参加した

Google Chrome の誕生一周年を記念して、東京は青山にてパーティーが開かれた。

概要はこんな感じ

  • 日時: 2009-10-08 (木) 19:30-21:15
  • 場所: スタジアムプレイス青山 Hall A
  • 参加人数: 150 人

まずは、及川氏の挨拶で幕を開け、ショート・プレゼンを挟みながら懇親会。最後にジャンケン大会 (全敗 :p) をして締めの挨拶であった。

10/8 の朝は台風がやって来たとあって、イベント開催そのものを心配したけれど、夜になってみれば台風一過。朝の混乱は何だったの? というほど普通にイベントが開かれた (準備する側は大変だったかも)

今回のイベントの感想を列挙式に並べてみる。

  • 全体として、Artist Theme リリースをメインに置いたイベントだったかな? でも、150 人もいると、ショート・プレゼンの多くはよほどでないと声が聞こえなくて、周りの人との歓談になってしまった。
  • 女性が多い! とにかく多い。1/4 は女性だったのでは? しかし、話をした女性は受付の人だけ。まあ現実そんなものさ。
  • 知った顔が多い! Going My Way の Kengo さん、Android の会の安生さん、HTML5 でチューターをなさった白石さんと羽田野さん。その他、AMN ブログで見かける主催者側の顔も参加者側の顔も見ることが出来た。逆に「顔見知り」発動で、知らない人に声を掛けることが出来なかったのは反省すべき点かな。
  • Google の中の人と話すと楽しい。HTML5 で知り合いになった CSS3 関連のお仕事をなさっている方をきっかけに、Chrome 回りの開発者計 3 人と話しをした。開発の舞台裏とか、Firefox の拡張で手離せない話とか、Emacs エディター大好きとか。色々脱線したけれど、新しい顔を知れて楽しかった。「Stuff」バッチを付けてる人に積極的に話しかけていくべきだったかと反省。

Google Chrome は、今年の頭にOut of Beta Party をしたかと思えば、今はもうバージョン 3 がリリース中。まだ、誕生一年しか経っていないのが嘘のよう。これからも、嵐のやうな開発が続くことを願う。そして、ウェブの世界をどんどん変えていって欲しい ;)

2009-10-08

今日、Google Chrome 一周年記念イベント

東京は青山にて。

台風が心配。辿り着けるかしらん。

日本の Amazon で Kindle が買える

今、Amazon.co.jp にアクセスすると、「Kindle が買えるよ〜」というページが表示される。

Kindle Wireless Reading Device (6" Display, U.S. & International Wireless, Latest Generation)

B0015T963C
Amazon.com 2009-10-19
Sales Rank :
Average Review star

See details at Amazon
by G-Tools

Kindle は、Amazon が発売している電子書籍専用リーダー。値段は 279 ドル (約 3 万円) で、2009-10-19 発売。Amazon 内で発売されている電子書籍、約 35 万冊を買って読むことができる。

メリット

  1. 薄くて、かっこいい
  2. 電地長持ち (電子ペーパー採用)
  3. 画面が大きい (6 インチ)
  4. 安い (普通の本を買うより定価は安め)
  5. 早い (注文したら 3G 回線ですぐに入手可。本の配送の手間なし)

デメリット

  • 英語の書籍がメイン
  • 白黒表示 (本にカラーは要らないという話もある)

あと一つ、気になっているのは 3G 回線の回線料はどうなるのか? ってこと。ここもリーズナブル (か端末内に含まれるか) しないと、手を出すのはこわいなぁ。

そんなわけで、とりあえずぼくは「待ち」。皆のレビューを見てから決めることにする。英語の本で、そんなに読みたいと思う本もないしね (あ、でも O'Reilly の技術本は魅力だなぁ。売ってるのかなぁ?)

Amazon, 本に加えて CD、DVD、TV ゲーム、PC ソフトを送料無料に 〜 11/4

2009-09-11 から始まった Amazon の「本の送料無料」キャンペーン。よっぽど効果が大きかったのか? 味をしめたのか? 本だけでなく「CD、DVD、TV ゲーム、PC ソフト」も「送料無料」キャンペーンが始まった。両キャンペーンとも、期限は 2009-11-04 まで。

Amazon は 1500 円以下の商品に対して送料を要求する。なので、Amazon ユーザーは 1500 円を越えるやうに、商品を組み合わせて買う必要があった。特に文庫本とかマンガ本なんて 500 円近辺の商品は、一冊じゃあ注文できなかった。だから、「本」で送料制限が外れるのはとても嬉しい。

一方、CD や DVD といった商品は千円を切る方がマレ。CD のアルバムで 1500 円以下というと、一部のクラシック CD 位いしか思い当たらないのだけど... そんなに買い手があるようにも思わないし。う〜ん、シングルなんかがお買い得になるのかな?

このキャンペーン。気を付けないといけないのは、家電・オフィス製品・ホーム製品・食品・ヘルス・おもちゃ・ファッション・スポーツ・DIY なカテゴリーには適用されないこと。ちょっと 150 円程の消しゴムを。なんて注文しないよう、お気を付けあれ。

本や CD に関しては、せっかくのチャンスなので、気になる商品があればこれをチャンスと買ってみるのも良いかもね。

蛇足

年 3,900 円払って、全商品送料無料の Amazon Prime に入っている身としては、このキャンペーン。ちょっとくやしい気がしないでもない。

2009-10-07

Git リポジトリーを Subversion にリポジトリー追加 (Git-svn の応用)

Git で管理していたプロジェクトを、Google Codes (Subversion) にも突っ込んだ。面倒だったので、ちとメモ。

Git repository の作成

まずは Git repository の作成。lpaldb というプロジェクトを作る。

$ mkdir lpaldb
$ cd lpaldb
$ touch README
$ edit index.html
$ ...
$ git init
$ git add .
$ git commit -m 'first commit'
$ cd ..

Google Codes のレポジトリー

Google Codes の Hackathon 用リポジトリーは、複数のプロジェクトを次のやうに管理している。

/branches
/tags
/trunk
  /Hackathon-Title
  ...
  /gae20090411
  /gae200906
  /html5_20091003
/wiki

trunk 以下のハッカソンごとのプロジェクトを。更にその下の各人のプロジェクトを置く形式。

今回は、/trunk 以下の html5_20091003 の下に自分のプロジェクト lpaldb を突っ込む。

Git Svn

Git Svn を使うと、Git で Svn のリポジトリーを操作できる。

ただ、hackathon-jp はとても大きなリポジトリーなので、全てのリポジトリーをローカルに持って来るのは大変。必要なコードも一部だけなので、それは避けたい。

そこで、/trunk/html5_2009103 以下だけを取って来た。git svn clone に Trunk を指定する -T オプションを使う。

$ git svn clone https://hackathon-jp.googlecode.com/svn/trunk -T html5_20091003 html5

これで html5 というディレクトリーが出来る。

これにさっきの git repository を追加する。

$ cd html5
$ git fetch ../lpaldb master:lpaldb

lpaldb (git) を lpaldb branch として html5 に取り込み。

$ git checkout lpaldb
$ mkdir lpaldb
$ git mv html lpaldb
$ git mv README lpaldb
$ ...
$ git commit -m 'Move lpaldb source into lpaldb dir'

lpaldb branch をきれいにしたら、master ブランチに merge。その後、本家 svn repository へアップする。

$ git checkout master
$ git merge lpaldb
$ git svn dcommit

これでお終い。フゥ、一苦労。もっと楽な方法があったら教えて下さい。

lpaldb -- LP Album DB 開発中

先日の HTML5 Hackathon で何を作ったか書いておく。

HTML5 では Web DB が使えるといふことなので「LP (レコード) 用の DB」を作ってみた。いやさ、作ろうとした。ぼくの技術力不足で、アルバム・タイトルを入力して検索する程度までしか出来てない。アルファ版とも言えないでき。周りの人達が、フレームワークやライブラリーを使い込なしているのを見て、Emacs が書き書きするだけの自分の力不足を感じた。

開発プロジェクト

それはともかく、ソースコードは Github と Google Codes に置いてある。

開発は GitHub で続けていくつもり。Google Code には、同じく Hackathon に参加した人達と一緒にソースコードを共有する意味で置いた (HTML5 のソースを見るなら、ぼくの情けないソースコードより、Google Codes の他の人のソースコードの方が役に立つ!)。

LP Album DB というけれど...

レコードって大変。CD のやうに iTunes に読み込ませたら、アルバム名・曲名が分かるわけじゃない。

そこで、レコードの情報を DB として持っていて共有できる仕組みがあればと考えた。だけど、すぐに開発に入れるわけもなく、無為に時間を過ごしているとやってきたのが HTML5 Hackathon。

Web DB のお題に丁度良いんじゃないか? と思ったわけ。

ところで、こんなアプリを作らうと思ったのは、友人の影響が大きい。彼は大の LP 好き。そして、そろそろ LP の管理に困り始めている。

LP 用の DB なんて、CD 用を少しいじれば... と思っていたけど、それほど単純でもないらしい。A 面と B 面があったり、イギリス盤とアメリカ盤で収録曲がズレてたり、モノラルとステレオでテイクが違っていたり... オリジナル盤に近い方が音が良いとか。Matrix 番号も記録できるといいとか。せっかく友達のために作るアプリなんで、なるたけマニアックな対応をしていきたいと思ってる。

レコード・ファンの皆さんも、何か要望があればコメントをどうぞ。正式版アプリが出るのは 1 年以上先になると思うけど ^^;

2009-10-03

Apple の Mini DVI-VGA アダプターを使ってみた

先日 Amazon に注文した Apple Mini DVI-VGA アダプターが届いたので、早速使ってみた。

Apple Mini DVI-VGAアダプタ

接続したのは、ぼくが何年も使ってる Sony のブラウン管ディスプレー Multiscan G420。19 インチ。解像度 1600x1200。ディスプレーの入力切替 (2 系統) を内蔵しているお優れもの。一方の入力を Linux にして、もう一方を MacBook に繋げる。

繋げ方は簡単。

  1. MacBook の Mini DVI ポートにアダプターの Mini DVI 端子を挿す
  2. ディスプレー側の VGA 端子にアダプターの VGA 端子を挿す
  3. MacBook でディスプレー切替ボタン (ぼくの MacBook では F7 の所にあった) を押す

これだけ。

これで、ディスプレーに MacBook 上の映像と同じものが表示されるやうになった。解像度は Mac 側に合わせて、1280x800 におちている。プレゼンなんかは、このモードでやればよさそう。

デュアル・ディスプレーに挑戦

一台の PC で 2 つのディスプレーを使うという「デュアル・ディスプレー」。マウスが片方のディスプレーからもう片方へと移っていくのが格好良くて憧れていた。

Mini DVI-VGA アダプターがあれば、MacBook でデュアル・ディスプレーが可能になる。

  1. アップル・メニューから「システム環境設定」を開く
  2. 「ディスプレイ」を選択
  3. (ここで「メニューバーにディスプレイを表示」にチェックを入れておくと、あとあと設定変更が楽になる)
  4. 「調整」タブをクリック
  5. 「ディスプレイをミラーリング」のチェックを外す

これで、ディスプレーを MacBook の液晶とは別物として使えるやうになる。マウスをディスプレーの端まで持っていって、更に横に動かすと、もう一方のディスプレーからマウスがニョキっと現れる。楽しいなぁ。

外付けのディスプレー側は、解像度の変更も可能。MacBook の解像度と合わせる必要はない。ぼくは、MacBook を 1280x800 で、外付けディスプレーを 1600x1200 に設定した。

Apple LED Cinema Display

Apple のサイトを見ると、更に Cinema Display (24 インチ!) なんてのもあるそうね。

ディスプレー・サイズも魅力。それ以上にいいのが、MacBook への電源を供給する機能があるってこと。あと、USB ポートが 3 つ付いてるのもいい。ディスプレー側に USB キーボードを挿しとける。そしたら、会議で出かける時に MacBook をディスプレーから外すだけでいい。電源はフルになってるはずだし、USB キーボードを外す必要もない。マウスは無線の Mighty Mouse でいいよね。

ああ、とっても物欲を刺激されちゃう。でも買わないよ。まだ買わないよ。

Apple LED Cinema Display 24 MB382J/A

2009-10-02

HTML5 Tech Talk -- Canvas 編

告知通り HTML5 の Tech Talk に参加した。セッションは二つ。

  • オフライン・ウェブ・アプリケーションを作るための API の説明
  • HTML5 で絵を描くための Canvas の説明

本エントリーは後者の Canvas セッションのメモ書き。

Canvas VS. SVG

ウェブ・ブラウザーで絵を描くといったら、SVG が有名。Canvas は何が違うのか? 相違点を列挙して下さった。

Canvas
  • JavaScript を使って描画
  • 描いた図を個別に認識できない (JavaScript で後からいじれない: 位置をずらすとかね)
  • 描画が高速
  • ピクセル操作が可能
SVG
  • XML 形式のマークアップで図を表現
  • 描いた図を個別に認識できる (JavaScript で後からいじれる)
  • 要素が増えると重くなる
  • ピクセル操作は不可能

結果、Canvas はマンデルグローブ集合のような複雑な図を描くのが得意で、ウィジェットのやうにユーザーが使う UI 部品を作るのが苦手となる。Canvas と SVG は適材適所で使うと良いらしい。

実践編

この後、Canvas で絵を描くための命令を個々に紹介して下さった。その例を見て、絵を描いてみるよ。

「Canvas Test」ってリンクをクリックすると、四角が表示される。

Canvas Test
<script type="text/javascript">
  function draw() {
    var canvas = document.getElementById('canvas-test');
    if (canvas.getContext) {
      var ctx = canvas.getContext('2d');

      // Path
      ctx.moveTo(50,50);
      ctx.lineTo(50,75);
      ctx.lineTo(75,75);
      ctx.lineTo(75,50);
      ctx.closePath();
      ctx.stroke();
    }
  }
</script>
<canvas id="canvas-test" width="100" height="100"></canvas>
<a href="javascript:draw();">Canvas Test</a>

Canvas 要素で描画領域を作って、その要素から getContext が返すインスタンスに対して「JavaScript で描画を行なう」というのが基本。

で、色々と関数を教えてもらった。

beginPath, lineTo, closePath, arc, arcto, bezierCurveTo, strokeStyle, fillStyle, stroke, fill

何か見たことのある命令ばっかり。

PostScript!!!

違うのは、PostScript の四則演算・for 文・if 文を JavaScript で書けること。こりゃ便利。昔の PostScript のコードも移植できるかもしれない。Canvas 楽しいねぇ。誰か Canvas の BlueBook を出さないかしらん。

HTML5 Tech Talk -- API 編

告知通り HTML5 の Tech Talk に参加した。セッションは二つ。

  • オフライン・ウェブ・アプリケーションを作るための API の説明
  • HTML5 で絵を描くための Canvas の説明

本エントリーは前者の API セッションのメモ書き。

HTML5 でオフライン・ウェブ・アプリケーションが作れる

HTML5 では、オフライン・ウェブ・アプリケーションを作る仕組みが整い始めている。その大部分は、Google が Gears で行なっていたもの。ところが、Gears を使ったウェブ・サービスは少ない。数えるほどしかない。

その理由に、「Gears がブラウザーのプラグイン形式」であったことを挙げていた。

HTML という規格自身が、オフライン・ウェブ・アプリケーションの機能を持つメリットとして次の 3 つを挙げていた。

  1. モバイル端末・ネット端末への普及 (特にこれらの機器にはオフライン・アプリのニーズがある)
  2. プラグインという足枷からの解放 (何といってもウェブ・ブラウザー自身がサポートするのだから)
  3. 標準化による開発者の増加 (今はどうしてもノウハウと人材が不足している)

講演はオフライン・ウェブ・アプリケーションを作る 4 つの API の説明と、自作ライブラリーの紹介だった。ただ、自作ライブラリーは今年中の公開予定といふことなので、今回のエントリーでは割合。4 つの API 名は以下の通り。

  1. Application Cache
  2. Web DB
  3. Web Storage
  4. Web Workers

以下、列挙式にメモを書いていく。

Application Cache

  • manifest ファイルに、ローカルに保存するファイル (HTML, JavaScript, CSS, Images, etc.) を書いておく
  • ウェブ・サーバー側で、manifest 用の MIMETYPE を設定する
  • <html manifest="foo.manifest"> のように指定する
  • manifest file がサーバー側とローカル側で一致しないと、キャッシュのやり直しが始まる
  • コメント (バージョン番号) を変えたりするのがコツ? (でも Firefox は最新版でも未対応?)
  • キャッシュ・ファイルを編集してもアップデートはされない (あくまで、manifest ファイルのアップデートがトリガー)
  • Application Cache を ON にしていると、開発しづらい。開発時は使わないか、manifest を自動生成させると良い。
  • JavaScript である程度、Notification の制御も可能

Web DB

  • オフライン・ウェブ・アプリケーションを作る時の核になる
  • JavaScript の中から SQL を叩ける
  • 他ドメインの DB にはアクセスできない
  • ドメインごとに複数の DB、複数の Table を作れる
  • 非同期型と同期型がある
  • ウェブ・サーバーなしでも動く

Web Storage

  • 他ドメインのストレージにはアクセスできない
  • Local Storage (永続的) と Session Storage (ウィンドウごと) の二種類がある。後者は JavaScript のグローバル変数のやうなもの?
  • Webkit は file:// だと使えない
localStorage.setItem("key", "value")
var val = localStorage.getItem("key")

Web Workers

  • バックグラウンドで動作するスレッドのようなもの
  • でも本当のスレッドではない
  • 変数を共有できない
  • window, document にもアクセスできない
  • DOM にもアクセスできない
  • デバッガーで止められない
  • すぐ複雑になる
  • Worker 間の通信には Message を使う (DOM へのアクセスは UI Thread にやってもらうよう Message を送る)

課題

  • ノウハウの蓄積が少なすぎる
  • 差分アップロード/ダウンロードをどうやって実現しよう
  • フェイル・セーフ対策は?
  • 同じデータを他の人が変更してたら Conflict しちゃうよ
  • LocalDB のないブラウザーがある (Fx)

あとがき

ここら辺のメモを少し深く勉強して、明後日の (というかもう明日か) の Hachathon に臨む。ドキドキ。

Amazon が「当日お急ぎ便」スタート

Amazon が「当日お急ぎ便」なるサービスを始めた。これ、名前は似ているけど今までの「お急ぎ便」とは違う。「お急ぎ便」に『当日』が付いてる!!

「当日お急ぎ便」と「お急ぎ便」の違いを表にしてみた。

サービス名内容料金
当日お急ぎ便注文確定の「当日」に商品を届ける500 円
お急ぎ便注文確定の「3 日以内」に商品を届ける300 円

ユーザーはどうやってこのサービスを使い分けるのか? 実は使い分ける必要はない。

お届け先、注文時間帯、商品によって、当日お急ぎ便が表示される場合と、お急ぎ便が表示される場合があります。どちらのお急ぎ便を利用するかは選択できませんのでご了承ください。

Amazon.co.jp: ヘルプ > 配送 >  お急ぎ便 > よくある質問 より引用

かなり思い切った設定だねぇ。

このサービス、Amazon プライムに入ってると「当日お急ぎ便」「お急ぎ便」の区別なくサービス料が無料になる。

その他のメリット

  • 関西でも「当日お急ぎ便」「お急ぎ便」が利用可能になった
  • 東京 23 区内への「当日お急ぎ便」は、注文確定時間が延びた
  • 関東・関西では、「お急ぎ便」で翌日配送
  • 四国・九州では、「お急ぎ便」で翌日配送の商品が増えた

あとがき

注文するまで、「当日お急ぎ便」になるか「お急ぎ便」になるか決められないのは痛いね。ぼくは Amazon Prime に入っているので、そーゆーのを気にしなくて済むけれど、普通の人は気になると思う。あ、でも、そういふ人は「お急ぎ便」自体たのまないのかな。どっちにしても有料だしね。

ぼくは Amazon Prime に入ってる余裕さで、Michael Jackson の CD を 2 枚買っちゃった。いつも Book Off で探すんだけど、Michael だけは安く売ってないから。明日、届くのが楽しみ。

ref

Thriller (25th Anniversary Edition CD/DVD)
Michael Jackson
Thriller (25th Anniversary Edition CD/DVD)
曲名リスト
1. Wanna Be Startin' Somethin'
2. Baby Be Mine
3. The Girl Is Mine (with Paul McCartney)
4. Thriller
5. Beat It
6. Billie Jean
7. Human Nature
8. P.Y.T. (Pretty Young Thing)
9. The Lady In My Life
10. Vincent Price (bonus track)
11. The Girl Is Mine 2008 with will.i.am ( Previously Unreleased Track For 25th Anniversary Edition )
12. P.Y.T. (Pretty Young Thing) 2008 with Michael Jackson and will.i.am ( Previously Unreleased Track For 25th Anniversary Edition )
13. Wanna Be Startin' Somethin' 2008 with Michael Jackson, Akon and will.i.am( Previously Unreleased Track For 25th Anniversary Edition )
14. Beat It 2008 with Fergie( Previously Unreleased Track For 25th Anniversary Edition )
15. Billie Jean 2008 with Kanye West ( Previously Unreleased Track For 25th Anniversary Edition )
16. . For All Time (unreleased track from original Thriller sessions) ( Previously Unreleased Track For 25th Anniversary Edition )

Amazonで詳しく見る
by G-Tools
HIStory: Past, Present and Future, Book I
Michael Jackson
HIStory: Past, Present and Future, Book I
曲名リスト
1. Billie Jean
2. Way You Make Me Feel
3. Black or White
4. Rock with You
5. She's Out of My Life
6. Bad
7. I Just Can't Stop Loving You
8. Man in the Mirror
9. Thriller
10. Beat It
11. Girl Is Mine
12. Remember the Time
13. Don't Stop 'Til You Get Enough
14. Wanna Be Startin' Somethin'
15. Heal the World

1. Scream
2. They Don't Care About Us
3. Stranger in Moscow
4. This Time Around
5. Earth Song
6. D.S.
7. Money
8. Come Together
9. You Are Not Alone
10. Childhood [Theme from "Free Willy 2"]
11. Tabloid Junkie
12. 2 Bad
13. History
14. Little Susie
15. Smile

Amazonで詳しく見る
by G-Tools