2008-06-27

旅に出ます

早めの夏休み。久しぶりの家族旅行。

行き先はエジプト。

ピラミッド! スフィンクス! アブシンベル神殿!

帰国は 2008-07-05 午後。

旅行中、ブログはお休み m(_ _)m。ネットはおそらく繋がらないし、Mac Book も持ってかないから。ブログの再開は、2008-07-06 以降。

気がかりは iPhone。日本に居ない間に予約終了、なんてことになりそうで怖い。。。

Senz Mini のたたみ方

強風に強い傘 Senz のエントリーの続き。

Senz Unbrellas シリーズの Senz Mini を買った。Senz Unbrellas は、オランダ生まれた傘。(中略)

特徴は強風に強いこと。その秘密は、空気力学から計算された、流線型・前後非対称なデザインにある。

clmemo@aka: Senz Mini -- 強風に強い折り畳み傘 より引用

Senz Mini は、前後非対称な形をしている。それは、傘の骨の長さも布の量も、向きによって違うということ。こんな傘をどうやって畳むんのか?

その答えは、タグの裏に絵付きで解説してあった。Senz Mini に興味がある人、もしくはタグなんか読まずに捨ててしまった人のために、写真をアップしませう。

  1. 傘の前になる部分 (内側にロゴマークのある部分) から、左右一枚ずつたたみながらまとめます。
  2. ストラップが付いている生地のみ残し、まとめた生地をその生地で巻き込むように丸めます。
  3. ストスロプが付いている生地でまとめ、マジックテープ留めします。

まだ分からない? では、動画もどうぞ。

2008-06-24

Senz Mini -- 強風に強い折り畳み傘

Senz Unbrellas シリーズの Senz Mini を買った。Senz Unbrellas は、オランダ生まれた傘。普通サイズの Senz Original (9,975 円) と、析り畳みタイプの Senz Mini (6,825 円) の 2 タイプがある。

特徴は強風に強いこと。その秘密は、空気力学から計算された、流線型・前後非対称なデザインにある。

Senz Mini

以下、ぼくが買った Senz Mini のタグの文言。

SENZ Umbrellas は、従来の傘の概念を覆すその斬新なデザインに加え、本国オランダでは Original で時速約 100 km、Mini で時速約 60 km の風力テストにも耐えたほどの機能性を持っています。

※上記はあくまでもオランダの基準にて、1 方向の風に対するテストの為、自然条件での必耐久性を保障するものではございませんのでご注意ください。

空気力学を用いた世界初の特許構造により、常に風の流れの中でベストなポジションを作り出す構造になっています。

ちなみに、時速 100 km は秒速 27.8 m。時速 60 km は秒速 16.7 m。台風の暴風域が秒速 25 m なので、相当の風の強さまで耐えられることが分かる。

証拠はビデオをどうぞ。

Q & A

Senz を買って、回りの人達からされた質問。

どっちが前?
短い方が前。伸びた長い方が後ろ。
前が短くて、濡れない?
普通に雨が降ってる分には濡れない。後ろが長いので短く感じるだけで、析り畳み傘的には普通じゃないかしらん。
傘は風向きに対して自動回転するの?
しない。軸は固定されている。この質問は、以下のサイトの文言を読んだ人から受けた。

風の向きに傘の頭が向くという優れもので傘自体が風の中でベストなポジションを保ってくれます。

SEMPRE.JP SENZ-Umbrellas(センズアンブレラ) より引用

ただ、風を斜め前から受けると、傘がそちらの方向を向こうとする力を感じる。
突風でも大丈夫?
メーカー保証外。ぼく自身、まだ突風を経験していないので分からない。
急な横風でも大丈夫?
メーカー保証外。ぼく自身、急な横風を経験していないので分からない。
目立たない?
目立つ。

あとがき -- Senz の経済性

去年のぼくは、傘を沢山壊した。数えてみると、約一年で 6 本。コンビニの傘を中心に、普通サイズ、90 cm サイズ、風に強そうながっしりしたもの、色々試した。結果は、骨が析れたり、ホウキみたいになったり、骨とビニールが分離したりと散々。

傘が壊れると、コンビニに入る。そして 500 円位いの傘を買う。一年で 6 本だと、年間 3,000 円。傘に費やすには、なかなかの出費でせう。

それなら、千円から三千円位いの傘を買おうかとも思った。けれど、その値段の傘は、ビニール傘じゃないという程度。傘の強度にそれ程違いはない。少し風に強い構造の傘も買ったけど、強風の前にはあっけなかった。

Senz Mini なら 6,825 円。二年とちょっと「壊れなければ」、十分元が取れる。

Senz Original にしなかったのは、個人的な理由。ぼくは、この手の長い傘をステッキのやうにツキながら歩くクセがある。水たまりなんかあると、水たまりの中央に傘を立てて、ピョーンと。体重が傘にかかって、ボキッと。傘本来の使い方以外で、傘を壊してしまうことが何度も。。。1 万円近い傘で、それをやっちゃうと、立ち直れない。析り畳みなら、さういふことはやらないから、安心。

GDD2008「Google のソフトウェア エンジニアの日常」

このエントリーは、Google Developer Day 2008 に関するレポート記事の一部です。

Google の文化と仕事について。

気になった点を列挙してみる。

  • Google では、「判断の根拠」を明確に示すことが求められる。
  • プロジェクトはボトム・アップ。
  • メンター制度が導入されている (中途入社も安心?)。
  • プログラム言語ごとにコーディング・スタイルが全社統一されている (プロジェクトごとにスタイルが統一されているのではない)。
  • エンジニアの仕事は基本「開発」。他社に比べて、エンジニアが「開発」にかけられる時間が多い。例外は二つ: 「業積評価」と「採用」。

ま、それよりもビデオを見て下さいな。

GDD2008「Google Maps API for Flash」

このエントリーは、Google Developer Day 2008 に関するレポート記事の一部です。

概略

Google Maps API for Flash は、Google Maps API の Flash 版。Flash 型ウェブ・アプリ開発者の要望に応えて開発された。

リリースは 2008-05-15。比較的新しい API。ActionScript でコーディング。

  • Flex builder
  • Flex3 SDK

に対応。ただし、Flash CS3 には未対応。

Interface Library のダウンロードが必要。開発スタイルはイベント駆動型で、4 つの EventListener が用意される。

  • マップ
  • マップ・マウス
  • マップ・ムーブ
  • マップ・ズーム

あとは、コントロール (Position, Zoom, Map Type, Overview Map) にオーバーレイ (マーカー、ポリライン、ポリゴン、グランド・オーバーレイ) が用意されている、とのこと。

デモ

セッションでは、簡単なフラッシュ・デモの作成をやった。ぼくは、Flash の開発をやったことがないので、理解が追いつかなかった。

# どもりすぎ ^^;

最後に、ローカル・デバイスにアクセスするデモを見せてくれた。これは基調講演の時にも見せてくれやうとして、地図が表示されなかったデモ。今回は無事地図が表示された。ローカル・デバイスは、PC に繋いだ加速度感知式デバイス。秋葉原で部品を買って自作したのだとか。地図を飛行機から見るやうに表示する。スペース・キーで前進。デバイスを傾けると、左右に曲がる。この時、飛行機が曲がるやうに視界が傾くところが面白い。

あとがき

講演の途中、MacBook のバッテリーが切れた。この手のカンファレンスだと、ぼくは手帳にメモを取ることも多く、ノート PC のバッテリーは半分位い残してしまう。なので、AC アダプターなんか要らないだらうと、持って来なかった。それが大間違い。

Google Developer Day はメモ取りよりも、ノート PC の活躍の出番が多かった。無線 LAN が用意されていたのも大きい (無線 LAN はバッテリーを喰う)。セミナー会場の外には、電源コンセントが用意されていたのに...。次回は、AC アダプターを持って来よう。

2008-06-23

Google Calendar、カレンダー一覧からチェック・ボックスが消えた

Google Calendar は、複数のカレンダー (例えば「プライベート用」と「大学用」) を使い分けることが出来る。全部のカレンダーの予定を表示させることも出来れば、ピックアップすることも可能。どのカレンダーを表示・非表示にするかは、大きなカレンダーの横・ミニカレンダーの下にある、カレンダー一覧から設定できる。

この度、このカレンダー一覧の使い勝手が向上した。変更点は二つ。

Google Calendar - Calendar List 一つ目。非表示になっているカレンダーは背景色が付かなくなった。スクリーン・ショットでは「マンガ」カレンダーがそれに当たる。文字とアンダーラインの色だけ付いているのが見えるでせう。

二つ目。カレンダー一覧がリンクになって、これをクリックするとカレンダーの表示・非表示をトグルできるやうになった。今の例で言えば、「マンガ」をクリックするだけで、「マンガ」カレンダーのイベントがメイン・カレンダーに表示される。もう一度クリックすれば、「マンガ」カレンダーのイベントが消える。

これ、昔はカレンダーの左横にチェック・ボックスが付いていた。全体がリンクになったおかげで、押し易く、そしてスタイリッシュになった。

小さな変更点だけど、確実に使い勝手が良くなったね。

Cygstart -- Cygwin からフォルダーを開く、Word ファイルを開く

昨日のエントリーの続き:

Cygwin を使いこなしていても、時々、Winodws のエクスプローラー (explorer) でカレント・ディレクトリーを開きたくなることがある。

clmemo@aka: Cygwin のカレント・ディレクトリーを Explorer で開かせるシェル・スクリプト より引用

ぼくは、cygpath コマンドを explorer に渡す shell script を組む方法をエントリーに書いた。そしたらコメントで、cygstart コマンドを教えてもらった。cygstart は、ぼくの書いた shell script 以上のことをもっとスマートにやってくれるコマンドだった。

cygstart コマンド

コマンド cygstart に引数を渡すと、Windows のデフォールトの動作が呼び出される。言い換えると、エキスプローラーで対象をダブル・クリックした時と同じ結果が得られる。

フォルダーを引数に取ると、そのフォルダーがファイル・マネージャーで開かれる。

$ cygstart foo/

Word ファイルを引数にすると、Microsoft Word が起ち上がって Word ファイルが開かれる。Excel, Power Point も同じ感じ。

$ cygstart bar/hoge.doc
$ cygstart ~/fuga.xls
$ cygstart ~/doc/foo.ppt

mp3 などの音楽ファイルなら、Windows Media Player が起ち上がる。もし、音楽ファイルを他の iTunes や WinAMP で開く設定にしているなら、Windows Media Player の代わりにそちらが起動する。動画ファイルも同様。

$ cygstart sample.mp3
$ cygstart sample.avi

URL を引数に取ると、デフォールトのブラウザーが起ち上がる。

$ cygstart http://www.google.co.jp/

従って、カレント・ディレクトリーを Windows の GUI で開きたくなったら、次のコマンドを実行すればいい。

$ cygstart .

cygpath コマンドをごちゃごちゃしたりするより、cygstart の方がスマート。shell script みたいに難しいこと考えなくてもいい。とてもいいコマンドを教わった。手離せなくなりそう。

GDD2008「Google Gears から Gears へ」

このエントリーは、Google Developer Day 2008 に関するレポート記事の一部です。

Google の日本人エンジニア二人 (河内隆二・市川宙) による 45 分のセッション。Google Developer Day 2008 の中で、一番面白かった。

セッションの内容は、Gears の基本説明。

Gears は、ウェブ・ブラウザーにオフライン機能を追加するためのプラグイン。ユーザーは Gears 対応サービスにオフラインでもアクセスできて、情報の追加・更新・削除が出来る。そして、オンライン復帰時には、オフライン中の編集が同期される。

ブランディングの変更

「Google Gears」から Google が抜けて、「Gears」という名称に変更になった。

理由は、Gears の開発がオープンに行なわれていることを強調するため。Google Code のプロジェクト・ページを見ると、確かにライセンスは New BSD License (修正 BSD ライセンス)。リポジトリーも公開されているし、Wiki も読めれば、バグの追跡も行なえる。

同じ Add On の Google Toolbar では、開発中のリポジトリーはおろか、バグのチケット (?) を発行することすら出来ない。せいぜい、Google Groups で問題を報告する位い。Gears が「オープンな開発プロジェクト」と言うのは嘘偽りない。

「ブラウザーの拡張を目指す『オープンなプロジェクト Gears』が、Google という一企業の政治下にあるわけではない (@aka 的異訳)」ことを強調するためにも、「Google Gears」から「Gears」にブランド名を変更した、とのこと。

Gears の今

Gears の目指すところは、オンラインとオフラインのシームレスな切り替え。

そのためには、オフラインでもオンラインと同じデータにアクセスできないといけない。オフライン中にアクセスできる場所は、ローカル環境しかない。けれど今のブラウザーは、ローカル・データにアクセスすることが制限されている。

そこで、Gears は次の機能を提供する。

  • ローカル環境に DB を用意して、ネット側の情報をバックアップする仕組み
  • ウェブ・ブラウザーから、ローカルの DB にアクセスする仕組み
  • オンラインに復帰した時、ローカルとネットの情報を更新・同期する仕組み

現在、Gears はブラウザーのプラグイン (アドオン) という形で提供されている。その実態は、JavaScript の API。JavaScript の動くブラウザーは全てサポートする意向らしい。

Gears のサポート情況はこんな感じ。

  • IE
  • Firefox2+ (Windows, Mac, Linux)
  • Windows Mobile
  • Safari (もうすぐ
  • Opera (間もなく)

Gears に対応したサービスはこんな所がある。

Gears の中身

外から見た Gears

Ajax の仕組みを簡単に書くと、次のやうになる。

Internet - XHR.UI

ここで、XHR は XMLHttpRequest のこと。非同期通信機能と思ってもいい。UI は、ユーザー・インターフェース。

一方の Gears はかうなる。

Internet - XHR.Sync - Local DB - UI

非同期通信と UI の間にローカル・データベースを持つ。また、ネットとローカルの同期をとるために、「Sync」用の緩衝モジュールが入っている。

ネット側のデータを全て「Local DB」に持って来れば、ネットとの通信を行なわずに処理が可能になる。これは、大量の通信量が発生するため敬遠されてた処理を、行なうことが出来る可能性が出てきたということ。

内から見た Gears

Gears の基本構成はこんな感じ。

Local Server
ウェブ・アプリケーションの HTML などをローカルに保存。個別の URL をキャッシュする「ResourceStore」と、どのファイルをキャッシュするかを指定する「ManageResourceStore」の組み合わせ。
Database
SQLite3 を利用。GB 単位のデータも保存可能。セキュリティ向上のため、厳格な sema-origin セキュリティ・モデル (同じ URL からアクセスされた時に限り、データにアクセスできる) を採用。
Worker Pool
JavaScript に擬似スレッド機能を提供する。JS のインタープリターを複数動かすイメージで実現。正確な意味のスレッドではないので、ワーカーと呼んでいる。

Gears の未来

Gears は、「オンラインとオフラインのシームレス化」のため、更なる進化をとげてゆく。

Desktop API
デスクトップ上にアイコンを作れるようになる。お手軽さとサービス固有のアイコンを用意できることがウリ。
Desktop Notification API
ポップアップお知らせ機能。ブラウザーのウィンドウと独立していて、ブラウザーを閉じてても OK。
File System Access API
複数のファイルをアップロードする仕組み。
Large Upload (Resumable Uploader)
アップロードの進捗表示。再接続機能の提供。
Geolocation
現在位置を取得する試み。GPS や IP アドレスの情報を使うらしい。ローカル検索する時、便利そう。

Gears の未来は明るいやうに思える。セッションを聞いて、真面目に勉強したくなった。

2008-06-22

Ubuntu 8.04 に Opera 9.5 をインストール

p>Ubuntu 8.04 に Opera 最新版 9.5 をインストールした。debian 系のパッケージ・インストールには慣れていないので、インストール・メモを残しとく。

ダウンロード

Opera を起動して、メニューから「Help > Check for Updates」。

バージョン 9.5 が見つかるので、ダウンロード・ページへのリンクをクリック。

ディストリビューションを「Ubuntu」にして、「Ubuntu 8.04 Hardy Haron」にチェックを入れる。ダウンロード先は「JP - Ring Server HTTP」だと (何故か) 失敗したので、適当に他の場所を選ぶ (ぼくは「US - Undiana University FTP」を選んだ)。

インストール

Debian のパッケージ管理コマンドを使って一発。

$ sudo dpkg -i ~/download/opera_9.50.etch-qt3_i386.deb

以上。

ref

Cygwin のカレント・ディレクトリーを Explorer で開かせるシェル・スクリプト

Cygwin を使いこなしていても、時々、Winodws のエクスプローラー (explorer) でカレント・ディレクトリーを開きたくなることがある。

例えば、GUI 派な人にカレント・ディレクトリーを見せる時とか、TortoiseSVN で Subversion を GUI から利用してる場合とか、ダブル・クリックして開く方が早い Windows 系のファイル (ex. Microsoft Office, Visio, mp3, mpeg, etc.) があるなんてケース。

こういう場合、explorer コマンドにカレント・ディレクトリーの path を渡してやればいい。path は Cygwin の「/cygdrive/c/cygwin/home/...」といふ形式じゃなくて「c:/cygwin/home/...」の形。これは、cygpath というコマンドを使って取得できる。

ぼくの環境だと、explorer コマンドの入ってる c:/WINDOWS/ に PATH が通っていなかった。それに、cygpath のコマンドを手で入力するのが面倒。

といふわけで、一行 shell script を作った。以下、ソース。適当な名前で保存して、実行権限を与えられたし。

#!/bin/bash

/cygdrive/c/WINDOWS/explorer.exe "$(cygpath -wa `pwd`)"