2010年1月24日日曜日

Dvorak配列スイッチの非薦め

キーボードの配列は通常JIS配列というものが使われています。アスキー配列にというものにカナを加えた国際規格のものですが、アメリカはIBMの規格がポピュラーになってUSキーボードとなっていますが、これを使ってるのは韓国など国としては少数ですが、IBMPCの威力でドミナント・デザインとなっています。私も10年弱シリコンバレーで働いてましたのですっかりUSキーボードから離れられなくなりました。スイッチのコストが障壁になるわけです。ドミナント・デザインはMITスローン校のアターバックらが発見もしくは提唱した概念です。彼は著書でQwerty配列キーボードをその例として取り上げられています。その対抗として取り上げられているものが、Dvorak配列キーボードです。

ドボラックという人がその提唱者で、Qwertyより効率的であるとの主張であり、データとしても有意であることは実証されていますがQwertyを駆逐することはできませんでした。これの一因がスイッチングコストであり、ある意味ユビキタスな存在といえるQwertyキーボードのドミナント・デザイン性にあるということです。ちなみにドボラックは別の読み方ではドボルザークで有名な作曲家とは親戚関係にあるそうです。このあたりの詳しいことを知りたければ、アターバックの「イノベーション・ダイナミクス」や安岡孝一の「キーボード配列QWERTYの謎」を読むことをお勧めします。

数年前に遡りますがテーブルトップでのインタラクションで既存のキーボードがそぐわないことからテキスト入力のデバイスを再考する必要ありだと思い至りました。テーブルトップに表示するソフトウェアキーボードが現時点でも有力な候補なのですがハードウェアキーボードの効率や触感から最適解とはいえないわけで、それが何なのかもしそれがあるとしてスイッチさせることは可能なのかというところでちょっとした前実験としてDvorak配列に変えてみるかというところがありました。

結果として障害は色々ありました。まずDvorak配列のキーボードは売っていません。売っていても高価です。これはUSキーボードのキートップを入れ替えるということで対処しました。次に習得ですが1ヶ月くらいかかりキーの場所を覚えタッチタイプできるようになりました。しかしこの過程はとてもストレスフルなものでした。また習得したあともQwerty配列はちゃんぽんで使わざるをえないのですが、暫くそれを使うとまたDvorak配列にもどってもタイプスピードがどうしても落ちます。これは未だに起こる現象です。またUNIXをコンソールでつかっているとcdコマンドをjeと打ってしまう現象があります。これは指が覚えているというか大脳を介さない延髄反射レベルの習得技術なのだろうと思えます。

ということで囚われの身の私が言うのもなんですがDvorakにスイッチすることはまったくのところお勧めしません。初めてパーソナルコンピュータに触る人も多少の効率アップなど気にせず普通にJISキーボードを選択するべきだと思います。打鍵による腱鞘炎に悩む人がスイッチする理由としても希薄かなあと思います。それならキネシスを考えるべきでしょう。

しかし世の中は広いのでここまで断言してもDvorakを使いたい猛者はいるわけで、その人たちのために現時点でDvorakを使うための方法を書いておきます。まず、OSXやUbuntuなどのLinuxの設定は簡単です。設定でキーボードをDvorakにすればよいだけです。ただOSXはことえりなどのIMEの方も同時に設定しておかないといけません。システム設定の言語環境とことえりならことえり環境設定がそれです。Windowsは非常に面倒で標準では英語だけなら大丈夫ですが、日本語はうまくいかないので工夫することになります。お勧めはDvorakJになります。これはUSBメモリに入れてもできますので他人のPCにキーボードだけもって使うこともできて便利です。以下の作者のページからダウンロードできます。

http://blechmusik.xrea.jp/d/misc/Dvorak_keyboard_layout/

ウィンドウズは半角・全角キーが入力切替ですが、Dvorak配列にしたUSキーボードにはそのキーがありません。この設定はIMEでコマンド+スペースなどに当てられますが、このソフトならコマンドキーのみにもできます。アプリケーションの単一キータブで、[左Win]を英語配列使用時は{IMEを有効にする}にし、日本語配列使用時は{IMEを無効にする}に設定します。
それまでに使っていたDvorak krなどと比べてずっと優れています。もし、万が一、Dvorakにどうしてもという場合は必須のソフトウェアになるでしょう。

2010年1月23日土曜日

VAIO-C1とPuppyとWLAN

他にも色々としなきゃなりませんが、 まずはWLAN設定です。
持っているC1XEという機械は今では考えられませんがネットワークに関するインターフェースは電話線のモデムだけです。それはつかえませんのでPCMCIAにインターフェースカードを突っ込むことになります。イーサカードなどはこなれているため持っていたカード(コレガの FastEtherII CB-TX)はインストールなしでもネットワークウィザードで一発インストールできました。
ただWLANカードはちょっと変わっていたので少しはまりました。カードはIOデータのWN-54/CBMBというもので、CFカードが刺さる面白いものです。出っ張りもあまりないので差しっぱなしもまあ気になりません。しかしPuppyでこれは認識しません。 Prism54というのが自動で見つかりますがこれはつかえません。Linux用のドライバが転がってるかというとそうでもないので万事休すかと思いきや Windowsのドライバが使えるNdisWrapperというものが使えるようです。

http://sourceforge.net/apps/mediawiki/ndiswrapper/index.php?title=Main_Page

ここで見るとこの変なカードも使えるようです。ということでIOデータのウェブからXP用のドライバを取り出します。IOデータは大抵インストーラが困り物でG54CBMB.infとWNG54CBMB.sysを取り出すのにウィンドウズにインストールしないといけないのが面倒です。二度としないだろうし他の人にも有用とはいえないのでどこから取り出すかは書きません。まあ Googleで探せば見つかる程度ですので。

取り出した二つのフォイルをネットワークウィザードのモジュールのロードでさらにというタブを押すと Ndiswrapper というボタンがありますので、それで infファイルを指定するとインストールされ wlan0というインターフェースができます。これを使えばよいのですがまだ問題が残っています。再起動などすると先程書いたPrism54がインストールされてしまうのでwlan0が見えなくなることです。これには、メニューのシステムの BootManagerブートアップの設定を開きます。ここに blacklistするモジュールの設定ボタンがあるので Prism54はリストに追加してしまえばよいです。

ハードウェアとしてはこれで問題ないのです。しかしスキャンでポイントが見えるようになりますがネットワークウィザードではESSIDやパスキーを設定してDHCPを取りにいってもうまくいきません。原因はわかりませんが少なくともiwconfigで見ると設定ができてないようです。仕方がないのでコマンドラインで設定してみます。ダブルクウォート内はそれぞれのものになります。
# ifconfig wlan0 up
# iwconfig wlan0 essid "ESSID" key "s:WEPKEY"
# dhcpcd wlan0

最後にifconfigで見てそれらしいIP番号が取れていれば大丈夫です。あとはブラウザでアクセスでもして確かめればよいでしょうか。あとは、これをシェルスクリプトにしておけばよいですね。

逆にWPAはコマンドラインではうまくいきません。ネットワークウィザードで情報を入れて(不成功の表示はあっても気にしないで)、DHCPを取りにいきくことでアクセスできました。/etc/wpa_supplicant.confも書き換えたのでそれも効いてる可能性もなくはありませんが、恐らく関係ないように思えます。

次はレジュームかな。

2010年1月18日月曜日

Evernote雑感

マンスリーで40MB の制限はありますがEvernoteはとても有用なツールにだとおもいます。フリーで使うので十分なので有料のサービスに移行する必要もそれほどありません。マイクロソフトのOneNoteが似たようなツールなのですがネットワーク上にデータ主体がある方が便利です。

これは Webアプリとしてブラウザがあれば十分なのですが、OSXやWinなどのアプリコーションが秀逸です。特にOSXのものは出来がよいです。Win用は3.1がIME使用時に表示がおかしかったりします。マネージドコードになっているベータの3.5の方がよいです。

またモバイル用もiPhoneやWindows Moble用などが用意されています。iPhone用はできは悪くないのですがキーボードがないので使いではあまりよくなかったです。しかし EMoneで使ってみると思いのほか使えることは分かりました。Qwertyであるのが僕にとっての最大の問題ではありますが入力ツールとしてはキーボードの有る無しは段違いですね。

PC用で残念なのはLinux用がないこと。ということでWineを介して使用できるかを試してみました。ubuntuの場合は、ソフトウェアの追加と削除を立ち上げて、Wineで検索すると、Wine Microsoft Windows Compatibility Layerが見えますのでそれにチェックを入れてインストールします。OSの再起動もいりません。そのあとでEvernote(3.1)のインストーラをダウンロードして実行するのみです。(3.5はエラーが出てインストールできそうにありません。)

やってみたところ、文字化けするのですが、メニューのtoolsのoptionsでnoteタブを開き日本語フォントを選びます。これで本文の文字化けは回避できました。しかし、タイトルなど文字化けは残ります。これはWine自体の問題のようです。Googleで調べてwineLocleというもので治るとあったのでインストールしてみましたがあまり差はありませんでした。Ubuntu9.10ではこれは酷く9.0.4なら少々ましでした。つまりは、一応動くが実用には問題ありというところです。Windowsでも問題はありましたがIMEとの関係で表示がすこし変であるのが、入力してるとその行が消えてしまうような酷い状況になってしまっています。また、アイコンボタン周り黒抜きになるバグもあり、カッコよくはありません。

CentOS5ではどうかと思ってためしたら、インストールですこし挫けそうになります。GUIでのツールではWineがないといわれます。仕方がないのでYumをつかいますが、その前に/etc/yum.repos.d/CentOS-Dag.repoを作っておく必要があります。viなどで以下のような内容を書いて、セーブしておき、 yum -y install wine とすればインストールできます。

[dag]
name=CentOS-$releasever - Dag
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag
        http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

あとは、インストールしたファイルを wine Evernote_3.1.0_1225.exeとすればインストールできます。結果的にはubuntuよりはましだがタイトルが化けるのは残ってました。 winlocaleで上手くいくかもしれませんが、そこまではいいかと試しませんでした。

ちなみに、インストールされるEXEファイルのパスは、ユーザのパスの下の .wine/dosdevices/c\:/Program\ Files/Evernote/Evernote3/Evernote.exeになります。

2010年1月9日土曜日

旧いVAIOにリナックスをインストール

直ぐに陳腐化するパソコンですが、だからと言って捨てられずにあるものも多いです。妻がつかっていた。C1は64MBしかメモリがなく、ウィンドウズも激遅です。まあ、これはLinuxでもインストールしようかと思い立ったのですが、これが結構大変です。

まずは、ディストリビューションですが、ubuntuなんかは全然無理です。調べてみたところPuppy Linux というのならなんとかなりそうな感じです。

CDROMからインストールするのですが、最新の4.3.1JPというのは立ち上げでこけます。結局、4.0.0JPで、 boot:プロンプトが出てきたら即座に次のように打たないとだめです。(4.3.1JPではこれがでない)

boot: puppy ide1=0x180,0x386 nopcmcia acpi=off pfix=ram

次のはまりどころは、Xウィンドウです。 Xvasaを選べばなにも苦労なく動くのですが、1024x480をフルフルに使うにはXorgを選ばねばいけませんでした。設定でHSYNCが30-60、VSYNCが50-100くらいで設定し、とりあえずは1024x786x16を選んで立ち上げるとよろしいようです。勿論、あとで /etc/X11/xorg.confは直しておかないといけませんが。特殊な解像度なのでmodelineは入れないとだめみたいです。gtfで生成させた数値はうまくいかず、ウェブから取ってきた次の記述が上手くいった。よくわかりませんがまあいいか。

Modeline "1024x480" 65 1024 1032 1176 1344 480 491 493 525 -hsync -vsync


立ち上がったらGPartedでパーティション作って、PuppyユニバーサルインストーラでFULLインストールします。ここで問題は、FULLを選ぶボタンが見えないのです。盲でTAB押してENTERで進めました。あと、メニューからリスタートや電源OFFも選べないので、xorg.confは編集して直さないとイケないですが、ここがとってもはまります。マシンが遅いのもインストールに苦労する点ですが、昔はこれが普通だったのでまてたのだなあ。

次はWLANカードとかの認識かなあ。

2010年1月4日月曜日

ソースコードの表示

PREタグで囲めばいいのですが、<と>を<と>にしなければならんのは面倒ですね。しかたがないかな。プリティプリントの機能のガジェットがあるのでそれもインストールしました。
使い方は、<pre class="prettyprint">という記述でいいようです。IDをCとかPythonとかにすればそれ用のになるようです。以下はその例です。長くなるとスクロールしたりできる部品になるのも見たことありますが、そこまではいらんかな。もうちょっと調べて気が向いたら、ここにやり方を投稿しておくかな。

#include <stdio.h>
 
// the n-th fibonacci number.
unsigned int fib(unsigned int n)
{
  unsigned int a = 1, b = 1;
  unsigned int tmp;
  while (--n >= 0) {
    tmp = a;
    a += b;
    b = tmp;
  }
  return a;
}
 
main() {
  printf("%u", fib(10));
}

Bloggerに背景画像を入れる方法

Bloggerはデザインであまり凝ったことはできるようなことは考えず手軽にテンプレートでという思想であるようです。しかしを背景に画像を入れたりすることくらいはしたいと思います。しかしBloggerは画像等のバイナリをアップロードしておくインターフェースも場所も用意されていません。何処か外に場所を確保しなければなりませんが何か美しくありませんね。しかし画像ガジェットなら Picasaウェブに保存しますので Picasaを使えばうまくいきそうです。とりあえず制限はありますが手順を書いておきます。
  1. レイアウトに画像ガジェットを追加します。
  2. 画像ガジェットを削除します。(すぐ削除して構いません。)
  3. Picasaを開き、マイフォトにブログタイトルと同じ名前の公開ギャラリーをクリックします。
  4. PicasaにJPEG画像をアップします。(サイズは横1600ピクセル縦は自由で作ります。)
  5. レイアウトにHTML/Javascriptガジェットを追加します。
  6. タイトルは空欄でコンテンツに以下のテキストを貼り付けます。
  7.  <script>document.write(unescape("%3Cstyle%20type%3D%22text/css%22%3E%0Abody%20%7Bbackground-image%3A%20url%28%22http://xxxxxxx/s1600/yyyyyy.jpg%22%29%3B%20background-position%3A%20center%3B%20background-repeat%3A%20no-repeat%3B%20background-attachment%3A%20fixed%3B%20%7D%0A%3C/style%3E%0A%3Cdiv%20id%3D%22tag%22%20style%3D%22position%3Aabsolute%3B%20left%3A0px%3B%20top%3A30px%3B%20z-index%3A50%3B%20width%3A150px%3B%20height%3A45px%3B%22%3E%0A%3C/div%3E%20"));<script> 
    
  8. Picasaでアップした画像を選択したときに右にある「この写真へのリンク」の「画像の埋め込み」のHTMLをエディタへコピペします。
    1. イメージタグ内のURLを切り出します。
    2. "http://xxxxxx/s144/yyyyy.jpg"の xxxxxx 部分とyyyyyy の部分が重要です。
    3.  この場合、s144は横サイズが144 ピクセルということなので s1600に変更します。(s1600-hとしないとリファラに撥ねられると書いてる人もいましたが大丈夫そうです。)
  9. HTML/Javascriptガジェットのコンテンツのxxxxxxx/s1600/yyyyy.jpgの部分を書き換えます。
  10. プレビューで上手く見れれば完成です。
ピクセルを合わせるのは結構な手間ですが、外部に画像保存の場所を用意しなくてよいのが楽ちんです。

    追記:そうして出来たデザインがこのブログのものですが、うちの子がちょっとだけと、何を研究(デザイン)してるのかの片鱗がわかるようにしました。

    ブログ開設

    大昔にドメインを取ってウェブを作ってました。1990年の半ばあたりで、面白さもあり公開してましたが、ちゃんとしたページをデザインするのは結構な労力なためほっぽり出していました。ドメインもエクスパイアしてしまいましたし、SNSの日記などで十分かなあと特にブログの必要性を感じてなかったのですが不特定多数に見せる可能性もでてきたのでブログ開設することにしました。