Dropbox

海外デバイスを使う場合、乗り越えなければならないのはフォントの導入です。私の場合、多少の豆腐は無視してノキアの中国語フォントを使うのが流儀だったのですが、最近になって半角カナ入りの情報が読みたくなりフォントの入れ換えを行っていました。ずっと、ある方から譲っていただいた物を使用していました。

フォント、特に複数のフォントの組み合わせとかを行うと権利関係をクリアにしておかないと二次配布とか出来ないので、どうしても個人的な利用になってしまいます。その辺りを精力的にクリアして配布されている「こばこのひみつ」さんには頭が下がります。その「こばこのひみつ」で中国語にも対応したフォントが公開されましたので、早速導入してみました。読み安さは先に使っていた物も遜色は無いのですが、こちらは人に勧められるのが何よりの利点です。ただし英字が固定ピッチになっています。この辺りは好みの問題がありますね。

最初はFontRouter.LTを利用した導入の仕方を紹介しようと思ったのですが、色々と情報がすでにありますのでリンクと補足にとどめます。

  • フォントは「こばこのひみつ」日本語、英語、中国語( 簡体字)が表示可能なフォント公開に貼り付いています。
  • FontRouterを使った設定手順は上の記事のコメント欄と同じく「こばこのひみつ」さんのこちらの記事をご覧ください。
  • 設定ファイルであるFontRouter.iniの全体像については「桃ばいら」さんのこの記事も分かりやすいです。私の設定は、これに近いかも。NativeFont=1になっているのとZoomRation=95が違うくらいです。
  • 私の場合、フォントはC:¥Data¥Fonts¥下にコピー、FontRouterはE:に導入しています。FontRouter.iniの場所はE:¥Data¥Fonts¥FontRouter.iniになります。これだと万が一何か問題があってもMiniSDカードを抜けばオリジナルフォントで立ち上がります。

iPhone 向け web ページ最初の一歩

iPhone / iPod touchのSafariでは普通のアプリ顔負けな複雑なWebアプリを実行できる仕組みを持っていますが、そういった難しい話ではありません。

単純なテキスト情報をiPhoneのSafariに表示しようと思いました。普通のHTML文書を表示させようとすると、随分と小さな文字で表示されてしまいます。これはPC向けのレイアウトを効率よく表示し必要に応じて拡大しようというモードになっているためです。iPhone専用サイトでは、おまじないを唱えることによりiPhone向けのレイアウトであることを示しています。

ということで、いきなり正解を示します。

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=3.0; user-scalable=1;" >

これをヘッダーの最初に挿入すればOKです。適当に読みやすい文字の大きさで表示されます。ただし<H1>などは、そのままでは文字が大きくなりすぎますので考慮が必要です。

この設定ではピンチにより三倍まで拡大表示出来ます(縮小は無し)。また、実際のiPhone向けサイトを調べてみるとwidth=320となっているところが多いようですがdevice-widthとした方が柔軟で良いようです。

Python と SQlite3 の組み合わせは良いかも

Pyhton使いの人には今更な話ではありますが、、、

とあるアプリーケーションの都合でSQLeit3のデータベースを作り込むことになり、 最初は手慣れたPerlを使うつもりでした。ところが私の開発環境であるMac OS X Leopard上でCPANがうまく動かず必要なモジュールが組み込めませんでした(ソースを取ってきてもperl Makefile.plでエラー、CPANの不具合と根は同じかも)。で、調べてみると最近のPythonには標準でSQLite3のモジュールが付いているとのこと。因みにPythonはMac OS Xに標準で組み込まれています。

斯くして、にわかPythonプログラマーは誕生しました。といっても、テキストファイルを読み込み必要な部分を切り出してSQLite3のDBに仕立てるだけなので、サンプルコードに手を少しいれただけで出来上がりました。

もともとS60でのPythonが元気が良くて興味を持っていたのでPythonチュートリアルという教科書を一つだけ持っていました。これも、軽く流した程度です(訳者まえがきに、読者のレベルにより、どの辺りを読めば良いかのガイドがあるのが親切です)。後はグーグル先生のおかげで必要な情報は得られました。まだ、自分の必要とした部分しか資料も読んでいませんが、それがスクリプト言語らしい使い方かもしれません。

SQLiteも手軽で良いです。ちゃんとしたSQLが使えますが、他のDBエンジンと違いサーバーが動いているわけではありません。Pythonなどの処理系の中だけで動くものです。それだけに単独で使用する場合には余計な手間が必要なくお手軽に使えます。有る程度まとまったデータを保管するときに、今までだとフォーマットを工夫して自前でファイルに保管していましたがSQLiteを使うとコード量がかなり減らせそうな気がします。

余談ですが、Pythonチュートリアルの表紙の蛇の絵が家内に不評で表紙を裏返して使っています。

遅ればせながら+J V1.10をNokia E90で試してみました。

やはりE90の開閉動作に連動して入力モードが変わるのは便利です。やっと、これで使う気になってきました。10キーを使用した5タッチ入力で時間がたつと文字が固定されるのもNokia機の通常動作と同じなので、とても良いです。

フルキーボードでの「かな入力」へのショートカットがCtrl+Kに変わっているので最初はとまどいましたが、すぐに慣れました。これは、おそらくE61でのNumキーの呪縛を回避するためなのでしょうね。

E90の言語を「中国簡体字」にしたときに句読点および長音が入力できない問題は直っていません。Ctrl+Iで記号一覧を表示すれば入力できる。通常は「英語」にしているので、ガマンできる範囲です。

Mac Mini Fan Control Cable

Mac miniを入手して一ヶ月強になります。ファンの音が大きいとずっと思っていました。最初からなので、異常なのかどうか分からずに使い続けていました。しかし部屋の温度や、負荷にかかわらずファンの音に変化がありません(もっと、はよ気付けよな>自分)。

まずは計測から、ということでFan Controlというソフトを導入しました(役に立ったので、早速お布施しました)。 温度(おそらくCPUコア)が30度台でファンの回転数は5500rpmでした。 5500回転というのは最大回転数みたいです。回転数や温度は正しく取れているみたいなのでファンの制御が出来ないという事だと分かりました。

実は、このMac miniは入手して直ぐに自分でメモリーの増設とHDDの換装を行っています。その時に何かしでかした可能性が大ということで、もう一度蓋を開けてみます。ファンの周りを見回したところ上の写真のようにコネクターが外れていました。このコネクターは、自分で外したわけではなくてドライブ類のマウントされている部分を外すときに勝手に外れてしまったものです。そのために接続するのを忘れてしまいました。一ヶ月フル回転させたファンの寿命は確実に短くなっているでしょうね。うーむ。

Google Analytics を eZPublish に設置

このブログとは別のドメインにeZ PublishというCMSで構築したwebページを持っています。最初eZPublishに何かしら統計情報を提供する機能が有る物と思っていたのですが、どこを探してもそれらしい物がありません。

それならば後付で何かしら設置するしかありません。単純なカウンターでも良いのですがeZPublishはPHPで書かれており各ページはダイナミックに生成されています。ページ毎のデータを取得するには、一般的なカウンターでは難しく何かしら自分で一工夫する必要があります。そこで思い出したのがGoogle Analyticsです。これならば自動的に詳細なレポートを生成してくれます。

Google Analyticsの詳細については語りません。eZPublishでの設定例のみを書き残しておきます。

Google Analyticsは指定されたJavaScriptのコードを自分のWebページに組み込む必要があります。これをどうやってeZPublishのシステムに組み込めば良いかが問題です。

探してみるとeZPublishのExtensionsにGoogle Analytics用のものがありました。最初は、これを実験用の環境(VMWare下のUbuntu)に導入しましたが、何故だかうまく機能しません。色々とデバッグしているうちにヘッダーを生成しているtemplateファイルがどれだか分かったので、直接JavaScriptのコードをtemplateに書き込んでしまいました。

Google AnalyticsのJavaScriptのコードは古いものと新しい物があります。eZPublishのExtensionを使う方法だと古いコードしか生成してくれません。直接書く方法ならば新しいコードが使えるというメリットがあります。反面、自分でシステムを弄ってしまったので、何かしら将来の更新や設定変更に影響があるかもしれません。

変更するtemplateファイルは extension/ezwebin/design/ezwebin/templates/pagelayout.tpl です。Google AnalyticsのJavaScriptコードの挿入は </head> の直前で良いと思います。

iPhone アプリの開発にあたって読んだ本 Objective-C 2.0

実は、まだ一行もコードは書いていません。そんな状態で何かを人に勧めるなどおこがましいのですがObjective-Cの解説書の紹介です。もっとも選択肢の少ない状態ですので、私がお勧めなどしなくても良いのも事実です(はっきりとブログネタ切れと言え>自分)。

iPhoneとMac OS XのプログラミングにはObjective-Cという物を使います。始める前からC++と違うので面食らうみたいなことは聞かされていました。実際、本を読み始めると頭がくらくらするほどです。 細かいことは書きませんが全く別世界です。

iPhone SDKをダウンロードした人は、おそらくサンプル・プロジェクトを眺める所から始めると思います。ここで有る程度の知識が無いとmainを読むことさえままなりません。とりあえが何かしらObjective-Cのドキュメントを読むことをお勧めします。

ADCのiPhoneのページにもObjective-C: A Primerという文書がありますが、これでは全然足りません。その中にリンクされている”The Objective-C 2.0 Programing Language”くらいを読み通す必要があると思います。これは英語ですしボリュームもかなりあるので、日本語で読める本が楽で良いです。実のところ本屋さんでObjectve-Cに書かれた本は、上の写真のObjective-C 2.0しか見かけませんでしたので他の本との比較は出来ませんが、とても分かりやすい本だと思います。これからiPhoneのプログラムを書こうという人は購入を検討して損はありません。

Nokia向けGoogle地图アプリ

Google 地图 モバイル以前にも紹介していますがNokiaの携帯電話向けのGoogle Mapアプリの中国語版はhttp://ditu.google.com/という中国語版の地図を取り込んでくれるので、とても便利です。ただ残念なことには、最初に試したときはGPSはおろかMy Locationも使えませんでした。

久しぶりにアップデートしてみるとGPSとMy Locationが使えるようになっていました。ここで問題なのは中国の地図の測地系がローカルであることです。

実際に試してみました GPSは十分に衛星を捕らえていてGPS DataのAccuracyが数十メートルの時に’0’キー押下で表示された円は画像のように600メートルのものでした。なるほどです、測地系の差を円の大きさを大きくしてカバーしたようです。

せっかくGPSが使えるようになっても、細かな位置確認には使えないのが残念です。何もないよりはマシですしNokia Mapsと併用すれば役には立つでしょう。

日本に帰った際にeneloopを購入しました。eneloopの出始めの頃にもチェックはしていたのですが、その時は240V対応の物が見つけられずに購入には至りませんでした。今回、購入した物は充電器が100-240V対応で単三形電池が4本付いた物です。

とりあえず、しょっちゅう電池交換をしている印象のあるLogitech Travel Mouseにて活躍中です。

実は上海に戻ってからeneloop mobile boosterをチェックするのを忘れた事を思い出しました。多分、買わなかったと思うのですが、見ておくのを忘れた方がショックです。最近、物忘れが、、、 🙁

Wordpress PDA plug-in

以前から携帯端末用の画面を作り出すWordPress PDAというプラグインを設置していました。そのWordpress PDAがiPhone/iPod touch向けの機能を搭載したということで導入してみました。

なるほどiPhoneらしい画面にはなっています。使いやすいかどうか微妙なところです。まだベータ版なのでHomeを押すと画面が崩れたりiPhoneからコメントが残せないなどの問題もあります。しばらく様子を見て、この機能を外すかもしれません。