11.24.2011

Cannot Install Windows 8 Developer Preview into A Virtual Machine on VMware Workstation 8

[symptoms]
Abort installing "Windows 8 Developer Preview" into a virtual machine on VMware Workstation 8 with below error message.

"Windows cannot read the setting from the unattend answer file."


[cause]
The VM tried to load a product key from "autoinst.flp" automatically and failed.


[solution]
Remove or disconnect the virtual floppy device.
【症状】
Windows 8 Developer Preview を VMware Workstation 8 上の仮想マシンにインストールしようとしたが,以下のメッセージと共に中断してしまう.

"Windows cannot read the setting from the unattend answer file."


【原因】
VM がプロダクトキーを "autoinst.flp" から読み出そうとして失敗していた.


【対策】
VM の設定画面で,フロッピーを削除か接続解除する.

11.20.2011

Git Error: insufficient permission for adding an object to repository database ./objects

A user guest:devgroup could not push to a git repository specified by user:devgroup /var/git/foo.git. A git client of guestdev got below error.
$ git push (original master)
error: insufficient permission for adding an object to repository database ./objects

fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To ssh://guestdev@foo.com/var/git/foo.git
 ! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to 'ssh://guestdev@foo.com/var/git/foo.git'
Fixed the git daemon's settings with below commands. They made the daemon to use the group file permissions when writing to foo.git/objects.
cd /var/git/foo.git
sudo chmod -R g+ws *
sudo chgrp -R devgroup *
git repo-config core.sharedRepository true
cf. stackoverflow: Error pushing to GitHub - insufficient permission for adding an object to repository database
user:devgroup /var/git/foo.git という Git レポジトリに guestdev:devgroup が push しようとした際に以下のようなパーミッションエラーが出た.
$ git push (original master)
error: insufficient permission for adding an object to repository database ./objects

fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To ssh://guestdev@foo.com/var/git/foo.git
 ! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to 'ssh://guestdev@foo.com/var/git/foo.git'
以下のようにして解決した.
cd /var/git/foo.git
sudo chmod -R g+ws *
sudo chgrp -R devgroup *
git repo-config core.sharedRepository true
参考にした URL:
stackoverflow: Error pushing to GitHub - insufficient permission for adding an object to repository database

10.13.2011

Specify a Directory to Include JAR files in Ant XML



I failed to specify JAR files which should be included when Ant execute javac. I took for granted that below description was correct to include all JAR files in a directory specified by "./jar".

Incorrect example
<property name="jar.dir" value="./jar" />
<target name="compile" description="compile all sources">
    <javac srcdir="${src.dir}" destdir="${bin.dir}" classpath="${jar.dir}" deprecation="on" />
</target>


It seems "classpath" element of "javac" tag should not point to paths of directories but paths of JAR files. One of correct description is below.

Correct example
<property name="jar.dir" value="./jar" />
<path id="jar.classpath">
    <fileset dir="${jar.dir}">
        <include name="*.jar" />
    </include></fileset>
</path>
<target name="compile" description="comile all sources">
    <javac classpathref="jar.classpath" deprecation="on" destdir="${bin.dir}" srcdir="${src.dir}" />
</target>

Ant の XML で javac の classpath を指定するときにハマったのでメモ. あるディレクトリ(./jar)内の JAR ファイルをまとめて指定しようとした際に以下のように書いたら import エラーが多発.

間違いの例
<property name="jar.dir" value="./jar" />
<target name="compile" description="compile all sources">
    <javac srcdir="${src.dir}" destdir="${bin.dir}" classpathref="${jar.dir}" deprecation="on" />
</target>


javac タグの classpath エレメントではディレクトリではなく JAR ファイルを直接指定しなければならないようだ. JAR ファイルをひとつひとつ指定する代わりに指定ディレクトリ下の JAR ファイルを全部読みたいときは, 以下のようにしないとまずかったらしい.

正しい例
<property name="jar.dir" value="./jar" />
<path id="jar.classpath">
    <fileset dir="${jar.dir}">
        <include name="*.jar" />
    </include></fileset>
</path>
<target name="compile" description="comile all sources">
    <javac classpathref="jar.classpath" deprecation="on" destdir="${bin.dir}" srcdir="${src.dir}" />
</target>

8.28.2011

レーザキーボード MagicCube を買ってみた

ちょっと昔の SF に出てきそうな感じ

Celluon 社が出してるレーザキーボード MagicCube を買ってみた.結論から言うと、他人に購入を薦めるような物ではない.しかし,この手の物にワクワクできる人であれば是非どうぞ.ちょっと暗めのところで使うとキーボードが際立ってかっこいいが,かっこいいと思っているのは使っている本人だけかもしれない.少なくともアップするのはかっこよさではなくギーク度だ.

タブレットで使いたいと思って MagicCube を買ったものの,まだ購入していないのでとりあえず手持ちの HTC NexusOne (OS: Android 2.3.4) に接続してみた.まだ買ったばかりではあるが, 一通り使ってみたので簡単に感想等を書いてみる.ちなみにこの記事も MagicCube を使って書いたが,快適な使い心地とはいかない(後述)のでちょっと疲れた.







MagicCube そのものについて
とりあえず本体について少し.特に目新しいことはないけど.

同梱物
海外製品に多い,見せるタイプのパッケージング
箱に入っていたのは以下の通り.充電は USB 経由だが,今時 Mini-USB なのが残念.スマートフォンが大抵 Micro-USB なので一緒だったら同じケーブルで済むんですが….
  • MagicCube 本体
  • USB ケーブル (Mini-USB)
  • マニュアル類


対応 OS
箱に書いてある対応 OS は以下の通り.スマートフォン・タブレットがメインターゲット. USB/BlueTooth HID/SPP で接続できるので書いてない端末でもいけるのは結構ありそう.
  • iOS4 (iPhone 3GS/4, iPad, iPad2) and later
  • Androiid 2.0 and higher
  • Windows Phone 7
  • Windows XP/Vista/7
  • Mac OS X

普段使ってるバッグの隅に入れるのに難のない(?)大きさ.

サイズ・重さ
38 x 75 x 29 mm, 78 g.
小ぶりで軽いため,普段の荷物にこれを加えるのはさほど苦にならないと思う.ただ,cube というだけあって厚みがそこそこあるので場合によってはやや収まりは悪いかもしれない.









キーボード/キー入力について
買うかどうか迷うポイントになる,キーボードとしての使い勝手について.致命的に使いづらければただのオモチャだと書けるが,結構まともに入力できるので正直ちょっと評価しづらい.お世辞にも快適とは言えないが,キーボードに慣れている人,かつ,この手の変わり種が好きな人であれば使いこなせると思う.

キーレイアウト
レーザのためかうまく写真撮影できていないが,実際はもっと精細な表示.
小さいデバイスを持ち歩くだけでフルサイズキーボードが利用出来るのは非常に嬉しい.配列は US タイプだが,記号の位置が一部特殊でやや使い勝手が悪い.特に,よく使うカンマやピリオドが最上段にあるのは非常に使いづらくて残念.左小指の CapsLock は要らないのでここを Ctrl にして欲しかった.ファームウェアの書き換えでレイアウト変更,なんてできたら非常にうれしいんだけども….


キーの視認性
薄暗い部屋で使った方がかっこいい.世間一般での標準的な部屋の明るさを知らないが,日差しが入るところのように明るすぎなければよく見える.細かい点の集まりで描画している感じで,掲載した写真よりはくっきりした表示である.レーザポインタを使ったことある人ならわかると思うが,ギラギラした感じはあるのでずっと直視していると目が疲れるかもしれない.タイピングしながらちょくちょく見る分には問題無いと思う.


打ち心地
当然ながらキーを触ったり押したりといった触覚的なフィードバックがないのが,普通のキーボードと大きく違うところ.とはいえ画面を見ていないと誤入力に気付かないので,ブラインドタッチができない人にはハードルが高そう.ちなみに指を浮かせておかないといけないので,普通のキーボードより疲れやすい気がする.長時間のタイピングには向かない.

相対的な印象はこんな感じ.
入力速度:  通常キーボード >> MagicCube >>> フリック > ケータイ打ち(10 キー)
誤入力頻度:  MagicCube >>> フリック > ケータイ打ち(10 キー)>>> 通常キーボード
快適さ: 通常キーボード >>>>> MagicCube >> フリック > >>ケータイ打ち(10 キー)


判別精度
多分 Kinect と同じ原理.画像は http://www.virtual-laser-devices.com/demo.asp より
正直期待してなかったが、使ってみたら意外ときちんと拾ってくれたところに驚いた.キー位置を間違えて判別されるよりはキーの入力回数を間違われやすい印象.1 回押したつもりが 2 回入力されてたり,2 回押したつもりが 1 回しか入力されてなかったり.

慣れると結構ばんばん入力できる.メーカー曰く毎分 350 回程度の入力までは検出可能とのこと.速さと正確さを兼ね備えたユーザであればかなり高速にタイプできるかもしれない.


制限
検出原理の都合上,同じ放射線上に並んだキーの同時入力ができない.(e.g., Ctrl + 2)これは,デバイスから見て指が前後に重なると,遠い方の指が見えなくなってしまうためである.とりあえず現状ではこの制限による不便を感じたことはないが,困る場面に遭遇する可能性はある.

また,以下の理由から屋内での利用に限られると思った方が良い.
  • 机等の平面が必要:
    キーボードを投影する場所が必要だという意味でなので,別にみかんの段ボール箱の上でも問題ないが,透明なガラスのテーブル等は相性悪いはず.MagicCube の底面と同一平面上に当たり判定があるので机無しでの入力も不可能ではないが,キーボードが見えない上に空間把握力まで問われるためウルトラハードモードである.
  • 明るすぎる環境だとキーボードが見えない:
    一般的な室内なら問題無いが,直射日光下や特に照明が強い部屋などではキーボードの視認性が低下する.レーザの明るさは 3 段階で調整できる.


その他
他に購入するかどうかのポイントになりそうな話を.

価格
MagicCube そのものは 169.99 USD だったのでおよそ 13k 円 + 送料 3k 円ほど.ちょうど円高だったのと,日本未発売だったので海外から直接買ったが正直高いと思う. なのでお薦めはしない.将来的に値段が下がればまた話も変わってくるが,少なくとも現状では,お薦めされなくても買っちゃうような人向けの代物である.

なお,近々国内販売されるらしいが,19.95k 円なので今なら輸入の方がやや安め.ちなみに個人輸入した物にも技適マークあり.
私が買ったところ:ISL Trading http://www.virtual-laser-devices.com
国内販売元:RESTIR.COM http://www.restir.com/goods/index.html?ggcd=Magic-Cube-1&cid=60900000


使いどころ
正直使いどころは少ないと思う.タブレットまたはスマートフォンと BlueTooth 接続しての利用を想定して作られた製品だが,前述の通り机が無いと利用出来ないためである.かといって最初から机でがっつり作業する時はラップトップを持ち出せばいいのだから微妙なところだ.

とりあえず私は近々購入予定の 7 インチタブレットと併用するつもり.休日なんかはラップトップを持ち出さず,小さめタブレットと MagicCube をバックに放り込んで身軽に出かけたい.で,カフェとか座席に落ち着けるときには MagicCube を使えばいいんじゃないかという目論見.あとはまぁ話のタネくらいにはなるかな….まぁ半年後に結局使わなくなって埃を被っている可能性は無くも無い.


まとめ
他人にお薦めするようなものでは無い.かといってただのガラクタというわけでもなく,単純に入力デバイスとして常用できなくもないレベル.見た目に惹かれたなら買っても後悔しないと思うけど,苦情等は受け付けません.あと,Realforce やら HHKB Pro2 が買えるような値段であることは頭に入れておいた方が良いと思う.



最後にマニュアルに記載してあったスペックの抜粋を載せておく.
  • プロジェクタ
    • 光源:赤色レーザダイオード
    • キーボード配列: QWERTY 配列(ピッチ 19 mm)
    • キーボードサイズ:横約 240 mm,縦約 100 mm
    • キーボード表示位置:デバイスの下端から約 100 mm
    • 対応する投影面:鏡面でも透明でもない平面
  • キーボードセンサ
    • 認識レート:毎分約 350 文字
    • 動作可能な平面:障害物が無い平面ならどこでも OK
  • 電気周り
    • 外部電源:USB 給電(5 V, 500 mA 以下)
    • バッテリ:リチウムイオン,700 mAh,3.7 V
    • 動作時間:約 150 分
    • 充電時間:約 240 分
    • USB インターフェース:USB 1.1 & 2.0, USB HID ver 1.0, SPP var 1.2
    • Bluetooth:v1.1 class 2, HID/SPP プロファイル
  • 動作環境
    • 動作温度:0 ~ 35 ℃
    • 保管温度:-5 ~ 35 ℃
  • サイズ等
    • サイズ:38 mm x 75 mm x 29 mm
    • 重さ:約 78 g
動作環境,日本ダメじゃん…w

7.20.2011

Change SVN Eclipse-plugin from Subclipse to Subversive


I read some articles says "Subversive better than Subclipse." So, I changed SVN plugin from Subclipse to Subversive.

Uninstall Subclipse and install Sebversive in Eclipse Market Place.
Althogh existent checked out projects are not recognized as SVN projects, you do not have to checked them out again. Delete the projects from workspace (DO NOT DELETE FROM YOUR DISK!!) and import the projects again.

Eclipse の SVN プラグインにはこれまで Subclipse を使っていましたが,
Subversive の方が何となく評判良さそうなので乗り換えてみることに.

Eclipse Market Place にて Subclipse を uninstall し, Subversive を install.
このままだとチェックアウト済みプロジェクトが認識されませんが,
一旦 workspace からプロジェクトを削除し(ディスクから消さないように!),
再度インポートすると SVN のプロジェクトとして認識されます.
再度チェックアウトするのもアレなのでこれが楽かと.

4.08.2011

Ubuntu で日本語ロケールにした際に,日本語になったディレクトリ名を英語に戻す

久々に Ubuntu をクリーンインストールして,何も考えずに日本語ロケールを選んだら
ホームディレクトリ下の各種ディレクトリが日本語になってしまってちょっと困った.
(ex. /home/hoge/デスクトップ/)
ディレクトリ移るのにいちいち IME 起動したりとかナンセンスなので英語に戻した.
ターミナルで以下のコマンドを実行すると,ディレクトリ名を英語に戻して良いか聞かれるので肯定すれば英語に置き換わる.

$ LANG=C xdg-user-dirs-gtk-update

4.07.2011

Make CapsLock into an Additional Ctrl in Ubuntu-10.10

  1. [System] -> [Preference] -> [Keyboard]
  2. [Layout]Tab -> [Option] -> [Ctrl key position]
  3. Check "Make CapsLock an additional Ctrl"

Ubuntu 10.10 で要らない子 CapsLock キーを Ctrl キーに変更する方法のメモ。
  1. [システム] -> [設定] -> [キーボード]
  2. [レイアウト]タブ -> [オプション] -> [Ctrlキーの位置]
  3. "Make CapsLock an additional Ctrl" を選択
※日本語版使ってないので,最後の選択肢の文言は違うかも知れません.
書いてある内容を読んで適宜判断して下さい.