Archive for 9 月, 2008

GM_Lite 0.1.4公開

月曜日, 9 月 29th, 2008

さてさて、今回はGM_Lite 0.1.4の公開です。

今回の更新の目玉は、Windows環境での地図のダウンロードの高速化です。ここのところbucchiさまが大変有難いことにGM_Lite互換のZaurusネイティブアプリになりますqgmapを開発され、またHB1さまが高度なGPSとの連携機能を持つZegaにGM_Liteの地図の表示に対応して下さるというとんでもない事態になっており、ここでダウンローダが不出来なばかりにお二人にご迷惑をおかけするわけにはイカン!ということで、以前から問題になっておりました、地図のダウンロードが遅いことと環境依存でエラーが発生する問題に対処致しました。

従来版と高速版でおおまかなベンチマークを取ってみたところ、以下のようになりました。

  • “全世界”のダウンロードにかかる時間
    • 従来版:17分53秒
    • 高速版:3分50秒
  • “全世界”がダウンロード済みの時のスキップにかかる時間
    • 従来版:12分9秒
    • 高速版:3秒

テスト環境がWin2k on VMwareであったため実機ではもう少し速くなると思われますが、ご参考まで。

高速版ダウンローダの実行にはWindowsでのPerl実行環境であるActivePerlが必要になります。あらかじめダウンロード、インストールをお願い致します。

実行はcygenv/down_imgs2.batをダブルクリックするだけです。また、ダウンロード範囲の指定にはbin/down_imgs.plを修正して下さい。従来のものから若干フォーマットが変わっておりますが、サンプルを参考にすればすぐにお分かり頂けると思います。

また、細かい変更点としては、みじまさまとちゃびさまからのフィードバックを反映させました、gps_zauのGPS初期化処理と緯度、経度情報の取得の高速化があります。今回の更新にあたりヒントを下さいましたabuさまにもここに改めてお礼申し上げます。

今回のファイルは

です。アップグレードの際はgm_lite/bin/とgm_lite/cygenv/のみ新しいものと入れ替えて頂ければOKです。

これまでダウンロードが遅い遅い、と言われつつも正直そんなに遅いとは思っておりませんでしたが、今回改めてWindows環境でダウンロードしてみて驚きました。なんでしょうかこの遅さは。まさかCygwinがこんなに遅いとは。これまで苦情を下さった皆様にはお待たせしてしまい、大変申し訳ありませんでした。

では、何かご不明な点がございましたらお気軽にどうぞ。

今この辺です

日曜日, 9 月 21st, 2008

前回の記事でも少し書きましたが、強制イベント発生につき現在海外に来ています。今この辺にいます。

もしこれで分かった方がいらっしゃいましたら素晴らしい。地理に疎い私のこと、一週間前に見せられたとしたら分からなかったに決まってます。ちなみに、これはここの市庁舎らしいです。15世紀半ばに建てられたそうですが、手設計、手作りでよくもまぁ…。それまでにどれだけの知識、技術の研鑽があって、その建築にどれだけの人が知恵を出し合い、労力、情熱を傾けたかと思うと、ここに人の文化というものの一つの極みを見た思いです。

きっとソフトウェアの世界もこの建築物のようなもので、いろんな人が少しずつ力を出し合って、よってたかって組み上げていくものなような気がします。私もその建築の一端を担えれば嬉しいなぁ。

ところで、ここ一週間にコメントを頂いた方にはお待たせしてしまい、大変申し訳ありません。私は文章を考えるのにかなり時間がかかってしまうたちなので、まとまった時間が取れるまでもうしばらくお待ち下さいませ。

Qpdf3 for pdaXrom 0.1.2公開

金曜日, 9 月 12th, 2008

ようやく完成しました、Qpdf3 for pdaXromの公開です。

今回は以前kanonさまからご要望のありました、Qpdf3のpdaXrom版を作ってみました。使い方はQtopia環境と同様です。

インストールは、feedからqt-mtのインストール後に

を全てインストールして下さい。また、実行前には日本語フォントのインストールと登録が必要です。一応

も/usr/X11R6/lib/X11/fonts/TTFかどこかにインストールし、

$ fc-cache -v

したほうが無難かもしれません。

以上です。なにかご質問等ありましたらお気軽にどうぞ。

ところで、今月は明日から25日まで海外に行かなければならず、現地のネット環境によってはコメントを頂いたとしても返信が難しいかもしれません。あしからず。

SL-C3×00でも漢字辞典

土曜日, 9 月 6th, 2008

のぼぶろぐさんのこちらの記事で紹介されていたのですが、Zaurusの三桁機種やC1000には漢字辞典が入っているそうです。ということで、私も早速試してみました。

…いやいや、こんなのが入っているなんて今回初めて知りました。驚きです。割と使いやすそうですし、知るきっかけとなったbxk07344さまには大変感謝! なお、私は結構忘れっぽいので、登録を自動化しようとアイコンだけパッケージにしておきました。

宜しければどうぞ。

しかし、これだけというのも何なので、前回アップしたjffs2readerを使ってSL-C3×00用に辞書データを入手する方法をご紹介します。

  1. まず、Conics.NetさんのこちらのページからSL-C1000のNANDバックアップイメージを入手
  2. 次に、get_gdbkdic-0.1.0.zipをダウンロードし、C:\ドライブ直下等へ展開
  3. SL-C1000-JPN-NAND-original.zipを展開し、出来たDBKファイルを2のフォルダに移動
  4. get_gdbkdic/cygenv/get_gdbkdic.batをダブルクリック
  5. 作成されたget_gdbkdic/dic/をZaurusにコピーし、/opt/QtPalmtop/以下に移動

私はSL-C3×00を持っておりませんので実際に確認を取ったわけではありませんが、これで多分、動くはずです。ご質問等ありましたらお気軽にどうぞ。

ちなみに、先の記事に貼ってあるスクリーンショットにQpdf3のアイコンが写ってます。ちょっと嬉しい。


追記:

のぼぶろぐさんの最新の記事では別の方法で辞書データを取り出しており、成功例をスクリーンショット付きで紹介されております。bxk07344さまのほうがよりスマートなアプローチをされているので、ぜひともご参照下さい。

Zaurus破損ファイルの復旧

金曜日, 9 月 5th, 2008

wznotes.txtが壊れました。

今まであらゆるメモを書き溜めてきたwznotes.txtが壊れました。

ちまちまブログの文章を考えて、たまたまZaurusに再起動をかけて、いざ記事にしようとして開いてみたら、後ろから1/4程度が吹き飛んでました。

流石に、血の気が引きました。

そろそろ年季も入ってきて再起動がかかる度にファイルシステムのエラーが蓄積してはいましたが、こうも大きなダメージを受けたのは初めてです。

というわけで、今回は破損したwznotes.txtの復旧手順の紹介です。

まず、前知識です。ZaurusにはNAND型フラッシュが搭載してあり、それを論理的に区分けして/dev/mtdblock[1-3]としてアクセスしています。このmtdblock3が/homeとなるわけですが、ファイルシステムには組み込み向けのjffs2を使っています。このファイルシステムは少々特殊でして、ファイルを書き換える際には「上書き」ではなく「変更部分のみ追加、参照」します。どういうことかというと、

のn3に相当する部分を書き換えると、

こうなります。なお、オフセット2000を参照するノードが2つになってしまいますが、これはバージョンの新しい方が優先されます。つまり、n5が破損してもn3を参照することが出来れば、ある程度ファイルを復旧できる可能性があるということです。

ということで、上記の方針に沿ってファイルの復旧を試みました。jffs2ファイルシステムを直に読み取るのにはmtd-toolsのjffs2readerがありますので、バージョン20061007をベースに以前のノードも参照できるよう変更を加えて利用しました。以下、手順です。

  1. /dev/mtdblock3が書き換えられてしまう前にイメージファイル化する
    $ dd if=/dev/mtdblock3 of=/mnt/cf/mtdblock3.dat
  2. PC上に持ってきて、内容を確認
    $ jffs2reader -d / mtdblock3.dat
    drwxr-xr-x 1  0    500   0 Jan  1  2004 root/
    drwxr-xr-x 1  0    500   0 Jan  1  2004 samba/
    drwxr-xr-x 1  0    500   0 Jan  1  2004 sharp/
    drwx------ 1  500  500   0 Jun 24 11:27 zaurus/
    drwxr-xr-x 1  0    0     0 Jan  1  2004 userdata/
    drwxrwxrwt 1  0    0     0 Jun 24 08:59 tmp/
    drwxr-x--- 1  0    500   0 Jan  8  2004 QtPalmtop/
    drwxr-xr-x 1  0    0     0 Jan  1  2004 system/
    drwxr-sr-x 1  0    0     0 Jun 24 09:07 etc/
  3. 破損したファイルの内容を確認
    $ jffs2reader -f /path/to/wznotes.txt mtdblock3.dat > wznotes.txt
  4. 破損したファイルのノードのバージョンと対応するオフセットを表示
    $ jffs2reader -f /path/to/wznotes.txt -v mtdblock3.dat
      Inode version   Inode offset
                  1              0
                  2              0
                 19              0
                  .              .
                  .              .
                  .              .
               2637              0
               2672           4096
               2673           8192
               2676              0
               2763              0
               2764           4096
               2765           8192
               2766          11690
  5. wznotes.txtの例えば4096-11689バイトの部分が破損したとすると、該当個所の最新版の一つ前のバージョンは2672と2673なので、それを参照
    $ jffs2reader -f /path/to/wznotes.txt -V 2672,2763 mtdblock3.dat > wznotes.txt
  6. 復旧したファイルの内容を確認

これで、運がよければ復旧できるはずです。ちなみに、私は無事元通りにすることができました。本当にやれやれです。jffs2readerの実行ファイルはこちら。

Windows上でご利用の際は、作業フォルダを実行ファイルと同じにしてご利用ください。なにかご質問等ありましたらお気軽にどうぞ。