2011年12月25日日曜日

バイブルメイトホップ

超久しぶりの投稿になります。

バイブルメイトというソフトウェアがあります。1998年のソフトウェアでキリスト新聞社から出ていましたが、今はもう扱っていないようです。このソフトウェアはマクロメディアのディレクターというソフトウェアで作成されています。マックとウィンドウズで動くのですがディレクター自体がもう開発中止になっていますので最新のパーソナルコンピュータでは起動すらできなくなってしまっています。 ウィンドウズも対応バージョンは3.1とWindows95と98と記載しており、引退牧師の義父が所持しているVistaマシンでは動かず、何とかならないものかと相談されたというのが経緯です。簡単に調べた状況では全く動かないわけではなくなんとか成りそうな感触を持ったのでCDROMを借りて対策を考えてみることにしました。

ものは試しとマックに読み込ませると、OS9以前が動くレガシーな環境が必要というメッセージが表示されます。これはインストールも面倒だし、最新バージョンのOSではこの互換性は切られる方向なのであっさりとこの方向は断念。元々、義父はマックを持ってはいないので出来ても意味はないし。

次にWindows2000やWindowsXPで試したところ、Vistaと同様の症状が出ました。起動はうまくいきますが、肝心の内容を見ようとするとスクリプトエラーというダイアログが出て先に進みません。ダイアログには#FILEIOのような文字もあります。ディレクトリ内にはFILEOIIO.DLLというライブラリがあるのですが、それが正しく読み込めてないのだろうとグーグってみたりしましたが、解決に至る有用な情報はネット上にはありませんでした。

諦めかけていたのですが、何の気なしにWindows3.1用のBIBLE31.EXEをクリックしてみると何と動くではないですか。閲覧操作もコピー・アンド・ペースト動作も正常です。それまではBIBLE95.EXEをダブルクリックしていたのですが旧いバージョンの方が新しいOSと相性がよいとは想像してませんでした。

しかし、まだ落とし穴は隠されていました。Windows Vistaでこれを試してみると今度は起動時に「おそらくディスクがいっぱいなのでドライバファイルC:Windows\dirdib.drvをWindowディレクトリにコピー出来ません。」などというような意味不明なメッセージがでて起動すらしません。つまりは、このソフトウェアはシステムディレクトリにドライバソフトを起動時に放り込んで動くというちょっとお行儀の良くない、セキュリティに対して大らかだった時代の作りをしているようです。XPあたりなら何も言わず起動してくれたものがVista以降では許されなくなったというわけです。

とはいえコレには抜け道があります。後方互換性に関してマイクロソフトはそれはもう修羅のごとく仕事をする傾向にあります。アップルのようにあっさりと過去を捨てることはありません。こんな場合は、管理者権限で起動すればよいだけです。ファイル(この場合はBIBLE31.EXE)を右クリックすると出るコンテキストメニューの2番目の「管理者として実行…」を選べば起動することができます。毎回、これをするのが面倒なので、右クリックの一番下の「プロパティ」を選び、互換性タブをクリックして一番下にある「管理者としてこのプログラムを実行するをチェックして適用ボタンを押します。(ただし、この操作は管理者権限のあるユーザでなければ操作できませんので管理者としてログインしておく必要があります。)Windows7でもOKでした。

尚、この作業は書き換えになりますので、最初にCDROMの内容をHDDにコピーする必要があります。このソフトウェアは何のコピープロテクションをないのでコピーすることに障害はありませんが、著作権の問題から私的複製に当たりCDROMの持ち主のみに許される行為となることは、一応、お断りしておきます。

参考URL:
Windows Vistaでプログラムを管理者モードで実行する
VistaでAdministratorでログオンする
Windows Vista Home BasicでAdministratorを利用する

2010年2月6日土曜日

Puppyに開発環境を

Linuxにあるまじき事実ですがPuppyには標準ではgccが入ってません。最初から知っていればこのディストリビューションは選ばないところですが、狛犬アイコンは可愛いし、結構時間は費やしたので他を選ぶことはしませんが、gccはないと話になりません。グーグってみたところ開発環境の入ったSFSファイルというものがあり、これを使えばよいようです。SFSファイルというのはSquashFSで圧縮されたパッケージだそうです。GUIでこのファイルをクリックするとマウントされます。これをブートマネージャに登録して再起動すればと書いてあったのでそのとおりにしましたが、さっぱりgccが使えることにはなりませんでした。もっとよく調べるとHDDにフルインストールした場合は中身を上書きコピーする必要があったのでした。ここでやはり落とし穴が数件ありました。まずコマンドラインから mount -o loop /mnt/... のようにしてもマウントできません。これはGUIでクリックしてマウントしました。そのためマウントポイントは /mnt/+devx-400みたいなのになります。あとはcp -a /mnt/+devx-4xx/* /みたいな感じでコピーしますがXが立ち上がったままだとXが固まり途中でコピーが終了してしまいます。メニューでコンソールに落としてからコピーをします。他のバージョンではでないかもしれませんが、 4.0.0では /usr/bin/stringsがビジーなのでコピーできないとメッセージがでました。あとで見てみると busyboxへのシンボリックリンクでした。恐らく問題はないかな。

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));
}