onunload でハマりました

JavaScript の onunload でハマりました。

やりたかった事は、編集時のレコード単位のロックです。
編集画面を表示する際にロックして、編集画面を抜ける際にロックを解除しようとしました。

しかし、ブラウザの再読み込みをしてみると、ロックが解除されていました。

プログラムレベルでデバッグしましたが、問題はありませんでした。
どうも想定した動作順序になっていないようです。

普通に、表示中の画面のonunload > 次の画面の表示、と想定していました。
しかし、次の画面の表示 > 表示中の画面のonunload、の順に処理がされています。

まあ、次の画面を早く表示するための仕様と考えれば納得できますが、回避策となるとonbeforeunloadを使うぐらいでしょうか。
しかし、onbeforeunloadは更新の保存確認用に使用しており、ページの移動をキャンセル出来るようにしています。
onbeforeunloadイベントではページの移動がキャンセルされたかどうかは検出できません。

結局、各ページを表示する際にロックの制御をするようにしました。

JavaScriptではイベントの発生順序を考慮して処理を設計する必要があります。

4Desk でデスクトップアイコンがきちんと並ばない事の対策

なんだかんだ言っても Vista では Aero を有効にした方が軽いらしい。
しかし、仮想デスクトップの Dexpot では、Aero を有効にすると不具合が発生する。
仮想デスクトップを切り替えると、重なって下になっているウィンドウの重なっている部分が真っ白になってしまう。

なので、最近は 4Desk を使っている。

画像(177x180)

設定の Tray Icon Option を Show all に設定して、通知領域に各デスクトップのアイコンを表示させている。
各デスクトップのアイコンをクリックすると、すぐさまそのデスクトップに切り替えてくれる。
現在のデスクトップのアイコンは色を変えて表示してくれるので、とてもわかりやすい。

しかし、ちょっとした問題が。

Windowsの通知領域への登録は、各アプリケーションが好きなタイミングで登録する。
このため、各デスクトップのアイコンの間に他のアプリケーションのアイコンが挟まってしまうことがたまに発生する。
Dexpotの場合は、ご丁寧にデスクトップアイコンを並べ直してくれている。

結局、タスクのスケジュールで対応した。

タスクのスケジュールでは、ログイン時に実行するプログラムを登録でき、遅延時間を設定できる。
遅延時間に20秒を設定すると、スタートアップに登録しているFirefox が立ち上がった後に 4Desk のアイコンが表示され、いい感じになった。

遅延時間はご自分の環境に合わせて調整していただきたい。

IME Watcher は素晴らしい!

時々必要に迫られて XP で作業を行うのですが、言語バーが煩わしくてしかたありません。
タスクバーに入れると場所を取るし、入力モードを変えたりすると中途半端な表示になって気持ち悪いっす。
結局、他の人のように半透明にして画面中央のタスクバーの上あたりに表示させていました。

同じように考えていた方がいたようで、とっても便利なのもを作ってくれていました。

IME Watcher

デスクトップもすっきりしてとても便利です。

ただ、インストールされるフォルダがわかりにくいので、Takubon の部分を削除しておくことをお勧めします。

Firefox の検索バーで新しいタブを開く

Firefox の検索バーはとても便利なのですが、現在開いているタブに検索結果を表示してしまいます。
今読んでいるページの関連項目を検索する場合、新しいタブを開いてから検索を行っていました。

ちょっと不便だな、と思って検索してみると、以下のページで良い方法を教えていただきました。

Firefox検索バーの結果を、新しいタブで開く

about:config についての一覧が無いかと検索したところ、以下のページが見つかりました。

about:config – Firefox – index

ただ、ちょっとわかりずらいですね。

Firefox 3 リリース

早速 Firefox 3 をインストールしました。

いやー、早い!とにかく早い!
FCKeditor もサクサク動く!
IE7 なんて使ってられないぐらい早い!

Firefox 2 では、テーブルのボーダーが表示されない場合があったが、治っておるようだ。

ひさびさに素晴らしいアップデートだ!
みなさんにもお勧めします!

Ubuntu 8.04 LTS をインストール

Ubuntu 8.04 LTS を、ノートパソコンにインストールしてみました。

インストールしたパソコンは、これ。

PC : VersaPro VA70H
CPU : Celeron 700MHz
RAM : 256MB
HDD : 80GB

384MB 以上の RAM が必要と書いてあったのですが、なんとかいけました。

ベータの Alternate 版でインストールを行うと、Grab で MBR が更新できなかったので、あえて Desktop 版でインストールしました。
ベータの Alternate 版で苦労したのがウソみたいに、すんなり再起動へ。

これをインストールしたのは、kernel 2.6.23 以降の CFS を試してみたかったから。
Fedora 8 でも試せるのですが、Ubuntu ならずっと使えそうだからです。
このタスクスケジューラなら、非力なノートパソコンでもスムーズに動くのではないかと考えました。

結果としては満足しています。

・重い処理をしてもマウスが固まらない。
・ただし、単一のタスク単位では完了に多少時間がかかる感じ。
・上記は予想していた範囲。
・複数のタスク実行時に CPU の使用率が向上している模様。

メモリも食わなくなったし、意外と非力なマシンで使える kernel になったと思います。

まだ多少のバグは残っている模様ですが、かなりおススメのリリースです。

あきらは Xubuntu 8.04 がリリースされたら、Celeron 450MHz(RAM 192MB) のノートパソコンに入れてみようと思っています。

Ecolinux をインストール

とても古いパソコンに Ecolinux をインストールしてみました。

機種は FMV-BIBLO NE3/45LR。
Celeron 450MHz, MEM 192MB, HDD 12GB, USB 1.1 ? という骨董品です。

実は、事前に Xubuntu をインストールしていました。

内蔵LANも無いため、PCMCIAのネットワークカードを使ってみましたが、認識しませんでした。
しかし、Cardbus の USB 2.0 カードは認識したため、Cardbus のネットワークカードを使ってみたところ、認識してくれました。

ACPI は BIOS が 2000 年以前のもののため、サポート外でした。

動作はかなりもっさり。

Ecolinux が Xubuntu ベースで軽快に動作するようなので、試しにインストールしてみました。

なんか、結構快適みたい。Windows 98 ぐらいの体感速度です。

その後、無線LANを楽に設定するために、gnome-system-tools をインストールしました。

しかし、apt-get の警告に従って autoremove したところ、シャットダウンまでできない羽目にあいました。

上記はハマりやすい点だったようです。

ホームページを見たりメールをしたりするには十分なので、古いパソコンがある方は、セカンドマシンとして復活させてはどうでしょうか。

単に Ecolinux を使っている仲間が欲しいだけの気もします…

ちなみに、Ecolinux を提供しているのは高校生らしいです。
ネットが普及した時代に学生時代を過ごせるなんて、うらやましいですね。

Vista を半年使った感想

早いもので、Vista Home Premium を使い始めて半年近くとなった。
なにかの参考になるかもしれないので、自分なりに感想を書いておく。

■ Aero について

使わないですね。特に便利ではないし。仮想デスクトップなどで不具合が出ますし。
面白いと思うのも最初だけですね。Home Basic で十分です。

■ Windows Defender について

これは良いですね。良く出来ています。邪魔にもなりませんし。

■ デスクトップ検索

使わないですね。把握できないほどのドキュメントもないので。

■ アプリケーションの互換性について

思ったより問題は少ないですね。とりあえずは動くことが多いです。

■ ドライバーの互換性について

ちょっと問題ですね。けっこう古いデバイスは切り捨てるしか無さそうです。

■ セキュリティー管理について

充実してきたと思います。
しかし、アンチウィルスソフトを強要するのは好ましくないですね。
なんか、責任転嫁のように感じます。

■ メイリオフォントについて

好みではないですね。横に伸びすぎていて、読むとイライラします。
各人の好みの問題だと思います。

■ Windows 自体について

結局、Microsoft が作りたいのはデスクトップなんでしょうね。
なんか、ユーザーが望む OS とはかけ離れる方向のような気がしないでもないです。
OS のコア部分とデスクトップを別売りにしてくれないですかね。
そんで、サードパーティーでデスクトップを作れるよう情報公開して欲しいですね。
そうすれば少しでもユーザーが望む方向に進むような気がします。

でも、 Windows を使い続ける理由は、Windows 自体ではなく Office ドキュメントを捨てられないからというのが本音ですね。
お客様との事実上の共通フォーマットなので。
まだまだ OpenOffice ではレイアウトが一致しないことが多いですから。

KNOPPIX でデータをレスキュー!

メインで使っているデスクトップマシンがクラッシュしました!

なんどもVistaの回復コンソールが表示されるようになり、とうとう回復コンソールも表示されなくなりました。

何度か停電やブレーカーが落ちた事が原因と思われます。

なんとかメールだけでも取り出さなければなりません。
ただ、一旦正常にパワーオフした後だったので、そんなにファイルは壊れていないだろうと思いました。

そして、役に立ちました! KNOPPIX !

実は、安いUSBのディスクケースを購入していました。
そして、ノートパソコンで交換したディスクを入れて、フォーマット済みでした。

事前に KNOPPIX が NTFS をマウントできることは確認していました。

KNOPPIX を CD から立ち上げると、あっさり認識していたので、メールデータなどを次々とコピー。

Thunderbird を使っているので、バックアップやコピーは楽チンです。

そして、今は少し前に中古で購入したノートパソコンからこの記事を書いています。

教訓!(今回はかなりラッキー)

・PCはデータを処理するものであり、いつ壊れてもおかしくない。
・本当に大切なのはデータです。データを守ることを考えましょう。
・バックアップ用の外部デバイスは準備しておきましょう。
・バックアップや引っ越しを考えると、Thunderbird が良いでしょう。
・同様に Firefox が良いでしょう。
・開発環境は仮想マシンにしておいたほうがバックアップが楽でしょう。
・KNOPPIX などでデータを取り出す方法を事前に調査しておきましょう。足りないものはぼちぼち揃えておきましょう。
・仕事にパソコンを使っている場合、ボロでも良いので代替機を準備しておきましょう。
・仕事の中間成果物は、ネットワークごしの別マシンへ、まめにコピーしておきましょう。

あきらが準備できていたのは、不幸中の幸いでした。

Vine Linux に MagickWand for PHP をインストール

Vine Linux に MagickWand for PHP をインストールするメモ。

参考:
pecl(野良ばっかり)のSRPMつくってみました。
ImageMagick

1. 上記サイトから以下のSRPMを拝借

ImageMagick-6.3.3.1-0vl1.1.src.rpm
php5-ext-magickwand-1.0.4-5.2.1_1.src.rpm

2. ImageMagick のサイトから以下のファイルを拝借

ImageMagick-6.3.3-10.tar.bz2
※ 6.3.3-1 ではエラーが起きたため(詳細は省略)

3. 上記ファイルを使って ImageMagick-6.3.3.10-0vl1.1.src.rpm を作成

ソースファイルを ImageMagick-6.3.3-10.tar.bz2 に変更
JPEG2000 を有効に変更

4. 上記ファイルを使って ImageMagick-6.3.3.10-0vl1.1.i386.rpm を作成

5. php5-ext-magickwand のスペックファイルを修正

php(4)用に修正
パッケージ名を php-magickwand に修正

6. php-magickwand をビルド

7. ImageMagick と php-magickwand をインストール

いろいろ試しましたが、ImageMagick と MagickWand For PHP の相性は重要らしく、今回はこのバージョンとしました。