My diary 2nd Plus. 2010年05月

ソフトウェアの自作とか、部屋いじりとかについて書く日記。

Infomation

筆者:Tatsu

プロフィール
プロフィール(My Operaのほう)


Thank you for

visitors.

あわせて読みたい


リンク
Tatsuの別荘跡地。
出張ねたはこっちで。

OperaなTatsuにっき。
せっかくだからWebブラウザOperaねたはこっち。

2010/05/30(日)

変な夢

 今日の朝、変な夢を見た。
 出張で移動しているのだが、銀座線に乗ったら屋根がなくて頭をぶつけた。

 その後京王線に乗ろうとしたら薄い緑に濃い緑の帯の電車とか、京浜急行のような赤い電車のようなありえない電車がいて乗る電車は通勤用電車の進行方向横向きのいすに座った後、屋根が両脇から伸びるという変な電車だった。

 変な電車に乗っていると上司の指摘で行き先を間違えたことがわかって、調布で乗り換えることになったが調布駅が何層にもなっていて、それぞれの階にホームがあって7回ぐらい上り階段を上った後(JR東日本の秋葉原駅3個分くらいをイメージすると良いかも)ようやく京浜急行のような赤い電車に乗り継いだ。
 その後、目的地らしき神奈川につくころには夕方になったのだが、駅を降りてまた行き先を間違えたらしく、駅の周りを途方にくれて歩くところで目が覚めた。

 何だったんだ、これ?

SharpDevelopでWindows Mobileの開発環境を整える

 なぜか何もない日曜にはしては珍しく8時半に目が覚めたので、テレビを適当にザッピングしながら目を覚ます。
 昨日の続きでふとSharpDevelopを使えば.NET Compact Framework 2.0用プログラムを作れる環境ができるんじゃないかと思い、Windows XP上に環境を作ったらSharpDevelopでとりあえず.NET Compact Framework 2.0用プログラムを作れる環境ができた。
 せっかくなので「Windows Mobile用ソフトをただで開発する(.NET Compact Framework編)」というタイトルで手順をまとめたページを書く。

 これで、実行速度やサイズにシビアなアプリは無理としても、ちょっとしたアプリの自給自足ができるぞ。

いつか過ごした終末の過ごし方

 「Windows Mobile用ソフトをただで開発する(.NET Compact Framework編)」を書いていて、ある意味Tatsu's MSX情報局(Tatsu's MSX Researches)の各記事を書いていた頃に通じるなとふと感じる。
 程度の違いはあれ、落ち目のプラットフォームにただでソフト作って自給自足の勧めの記事あたりは通じるところがあるか。

2010/05/29(土)

Windows Mobile用ソフトを作ってしまった

 今日のBGMはなぜか怒りの獣神(笑)。

 Visual Studio.NET 2003しか持ってないのでWindows Mobile用ソフトを作るつもりはなかったのだが、Willcom 03からOpera Mobile 9.5を消した時にOpera Mobile 10をデフォルトブラウザにできないのが不便だったのとちまちまとレジストリエディタでOpera Mobile 10をデフォルトブラウザにするのはいらいらするのでWindows Mobile用ソフトに手を染めてしまった。将来性のないプラットフォームなのに。
 動作確認のために初めから入っているIE Mobile、普段使うために入れたOpera Mobile 10、Opera Mobile 10で見られない・使えないページに対して悪あがきするために入れたIris Browserに加えてOpera Mobile 9.5 for Willcom 03、Opera Mini 5(for Windows Mobile)、NetFront v4.0コンセプト版も入れたので、元の木阿弥どころかWebブラウザが6つになってしまった。
冷静に見ると異常だな。

 レジストリをいじるためのAPIの定義ができた時点で後は簡単にできるかと思ったら、IE Mobileに関連付けを行おうとしたらIE Mobileの動作がおかしくなるせいで案外時間がかかってしまった。
 ついでに、Opera Mini 5(for Windows Mobile)をデフォルトブラウザにしても何もしないので意味がないというのもわかった。でも、なぜか使用不可状態で選択項目だけは残していたりする。まあ、飾りである。
 後はドキュメントに書いたとおりである。

 調査用にPocket PC世代のレジストリエディタを入れて動いたり、古い.NET Compact Framework 1.0用に作ったプログラムが.NET Compact Framework 2.0しかない環境で動いたりするのを見るとユーザーが多いわけでもないのに異様な互換性を保持しているWindows Mobile(良くも悪くも)恐るべしである。
 これで実用性が増している部分が多分にあるので、まったく一からのスタートとなるWindows Phone 7は初期では過去のソフトウェアが使えない分だけソフトウェアが少ないうえに、初期状態ではPC版もしょぼいIEをさらにしょぼくしたものしかWebブラウザしかないので自分としては短期的には期待できないといいたいところである。

NetFront v4.0コンセプト版に怒る

 こっちはややまじめに怒る。

 拙作の動作確認用にNetFront v4.0コンセプト版を入れたのだが、The Acid3 Testはおろか(モバイルでもIris BrowserやOpera Mobile 10は100点を出しているので高得点を期待してもおかしくないだろう。)、2010年になってもThe Second Acid Testすらクリアできないざまを見てWebページ書きとして軽く怒りが湧いてきた。
 NetFrontをはじめて見たのはLinux Zaurusの店頭デモのNetFront v3.1なのだがどうも表示や互換性に関してはさほど進歩していないような感じがする。この体たらくで何度もプレビュー版を出しても正式版になるわけでもないので、何やってるんだという感じである。

 一般のWebページはPCを念頭に作られているので、PC以外のブラウザが推奨ブラウザになることはまず無いだろう。
 コンテンツが最適化されたいわゆる携帯サイトのブラウザとは違って多彩なWebページを相手にするので既存のWebページとの互換性が低いということはその分見られるWebページが少なくなり、有用性が低くなると言える。
 NetFrontは日本での採用例が多いことから一般のWebページの閲覧に対して有用性の低いものばかりが溢れることになるのでなおさらしっかりしてほしいものである。

 Acid2/3 Testだけをもって互換性の有無を語るのは適切ではない面もあるが、互換性を担保するする上での指標にはなるといえるだろう。

 HTMLは必ずしも全部サポートする必要があるわけではないが(HTMLには携帯電話の携帯電話向け表示とかテキストブラウザとかに対する考慮もある)、中途半端なことをやられると逆に中途半端な互換性のせいで表示が見づらくなったり機能性が損なわれたりするので標準準拠を謳うのであればきっちりと対応してほしいものである。
 Webページを書いている身としては動作が標準に沿ってないことで個別対応のために手間がかかるのは非生産的なだけでなく精神衛生上も悪いので、迷惑なのだ

2010/05/23(日)

出張準備はしておいたけど

 出張に行くかどうかは決まってなかったりして。
 これでは、出張に行くので返事遅くなってすみませんとWebページに書けないというものである。
 掲示板は事実上BookSyncサポート掲示板と化してるので出張に行ってきますと書くと引かれてしまうかな。2つ目の掲示板作るのもちょっと面倒だし。

 まあ、最悪Willcom 03から更新をかけるという手もあるからよいけど。

で、BookSync Version 2.51

 ある意味もう一つの出張準備と化したBookSync。
 バグがあるままでは気になってしょうがないったらありゃしない。

 Version 2.50を出したと思ったら早速障害報告が来たので、月曜日に暫定的に直したあと様子を見たが、報告が来ていないので起きて食事を取った後、その他の気になった点を一つづつ直してリリースに持っていく。

 リリースが終わるころにふとSeaMonkeyのページを見たら次期バージョンのSeaMonkeyは現行バージョンのFirefox 2と同等のフォーマットと違ってFirefox 3.xと同等のフォーマットになるというので軽く調査する。案の定中身はFirefox 3.xと一緒っぽいのでそのうち機会を見て対応しておこう。

 出張に行くことになったら夜はWeb見るくらいしかできないのと、今度のバージョンはバグ修正がメインということからVectorのほうにも早速更新手続きを行う。

2010/05/19(水)

拍子抜け

 いろいろな都合で結局今週の出張はなくなった。
 月曜に必死になってBookSyncのテスト版作ったりしてたのでちょっと拍子抜けした。

小っちゃいって事はなんとやら

 プリンタの試し印刷の結果が悪かった紙の切れ端だとか、カレンダーの紙の裏の白い面を表にして箱に貼った余りの紙でトレイ箱(【折り紙×折り方×簡単】 | 箱(トレイ)の作り方:)を作ってみる。

 で、できたのがこんな感じ。
[折り紙トレイ]

 SDカードのケースだとか、鉛筆削りだとかといった小物を収めるにはちょうど良いサイズである。
 小さい紙もそれなりに役立つものだ。

Microsoft IME 辞書更新サービス何してんの

 MS OfficeのIMEにはMicrosoft IME 辞書更新サービスなんてものがあるのだが、新しく追加される語彙を見ているとお前ら何送りつけてるんだ、何採用してんだ担当者、何サンプルに挙げてるんだ担当者(フィードバックからの収録の最後の語が狙ったモノっぽい)と突っ込みたくなるものがある。
 今日出た2010年5月版のサンプルには何が出るんだろう?

 ある意味やる気を出してきたのだろうか。

2010/05/17(月)

BookSync Version 2.51 Test 1

 誰だ、心おきなく出張に行けるかななどといった馬鹿は。

 という訳で、帰った後ホテルを予約して、夕食を取った後早速報告のあった不具合の対処に取り掛かってみる。
 なかなかバグが再現しなかったが、メモリ破壊によるクラッシュでもないのにプログレスバーが動かず、変換の工程が進まないという現象が出たので、プログレスバーの更新待ちのところである程度たったら更新待ちを抜けるようにしてみた。タイミングの問題であれば、なかなか見つからなかったのも無理はないといえるだろう。
 これで動いてくれるとよいのだが。

 後、気になったところは次の週末に見てみることにしよう。

Willcom 03からOpera 9.5を消した

 Willcom 03いじってたら、なんかの拍子でメモ用の記録容量が足りないという警告ダイアログが出たので、\Application Data\Opera9のバックアップを取った上でWillcom 03版のOpera 9.5を削除した。

 Willcom公式サイトにはIE Mobileでしか行けないし、Opera 9.5をモバイルとして認識させてもそれほど意味がなかったということからOpera 9.5のユーザーエージェント切り替えは有名無実となったのでOperaはOpera 10 Mobileがあれば十分とばかりにさっくりとOpera 9.5を消す。その気になればすぐ戻せるし。

 これで本体内蔵メモリの空きは34MB。メモ用の記録容量が足りないという警告ダイアログが出たのは25MBだったので、30MB当たりが危険水域なのだろうか。

本日の日記へのトラックバックURL:http://hpcgi3.nifty.com/Tatsu_syo/trackback.cgi/20100517
[ツッコミを入れる]

2010/05/16(日)

BookSync Version 2.50

 金曜、土曜と着実にコーディングを重ねて日曜日に最終的な試験とドキュメントを書いてリリースする。
 小数点以下一桁目のバージョンアップとして見ると、Version 2.45→2.50の間ではもともとのVersion 2.50で入れる予定の物を前倒ししたので小粒に見えるけど、もともとの予定のVersion 2.44→2.50の間で見ると結構変わったのではないかと思う。

 これで、バージョン番号が2.00と3.00の中間の2.50まで来た。
 Version 2.00からだと2年半越え。よくここまでやったものだと感慨深く思う。

 次は不具合報告があったら随時対応するのと、次期の大規模バージョンアップに向けての検討と作りこみになるのではないかと思っている。
 思いつくところとしてはツリー表示を使った変換元・変換先の設定とか変換結果のプレビューあたりかな。
 まずは、一休みしてネタの検討を行うのもよいかもしれない。

 これで心おきなく出張に行けるかな。

忍者アクセス解析を導入してみる

 Windows 7を判別できなかったり、Google ChromeとSafariを判別できないアクセス解析に嫌気がさしたので、NINJA TOOLS忍者アクセス解析を導入してみる。
 無料版でも複数のページを解析できるので、いくつかのページに貼ってみた。

 とりあえず、Windows 7やGoogle ChromeとSafariの判別ができるからよさそうである。
 IEコンポーネントブラウザの判別があるとなおよいとか、Opera 10 mobileのようなスマートフォンのブラウザと管理ページのマッチングがいまひとつとか突っ込みどころはあるけど、まあいいか。

2010/05/13(木)

BookSync Version 2.50が見えてきた

 次の出張が見えてきたので、その前にBookSyncをリリースすべく今週は水曜を除いて平日もコーディング。
 日記には書かなかったけど、火曜日はブックマーク読み込み時にFirefox 3/Safari/Chrome/XBEL形式(QtWeb)のブックマーク(ツール)バーを無視する機能を追加した。
 今日は、IE 8のお気に入りバーにフィードを登録した時のお気に入りをFirefoxのライブブックマークに変換する機能を検討したけど、Webスライスと区別がつかないので結局やめにする。結局今日は、同期・変換動作中の進捗表示ダイアログの動作を調整して終わり。
 これで、Version 2.45(=Version 2.50 Alpha 3)で追加した機能と合わせてVersion 2.50で入れようと考えていた機能がそろったので、Beta 1としてWebページに置いておく。

 後は、ドキュメント書きと動作確認が終わったら正式版を出して、すっきりした形で出張に行くとするか。

2010/05/11(火)

E5系列車の愛称が「はやぶさ」に決まったので

 愛称は「はやぶさ」に 東北新幹線の新型列車 - 鉄道コムということで、東北新幹線を元ネタにした自室のマシン名もリネームする。
 PCのハードをいじるのは当分ないだろうから、これでしばらく落ち着くだろう。

2010/05/09(日)

さらにBookSyncをいじる

 Firefox 3.x/Safari/Google Chromeのブックマークを変換先にしたときにブックマーク(ツール)バーを残す機能の作りこみを昨日の夜から今日にかけて行う。

 やってることはIEのリンクバーを同期・変換・編集対象から除くという既存の機能と同じなのだが、Safari/Google Chromeのブックマークの場合は読み込みなおす処理が入るので処理の検討に時間がかかったり、一気にチェックボックスを6個増やしたのでコーディングに時間がかかったり、開放済みのインスタンスを参照するミスを直すのに時間がかかったりして物になった時には今日の夕方になった。

 まだ、Firefox 3.x/Safari/Google Chromeのブックマークを変換元としたときにブックマーク(ツール)バーを変換対象としないようにする処理を実装していないとか、XBEL形式(QtWeb browser)のブックマークのブックマークバーに対して同様の処理を入れていないとか、設定の組み合わせによる動作確認が怪しいというところがあるので、Webページには置いておくけど、ここと(掲示板)からリンクを張るのみにしておく。

 というわけで、
BookSync Version 2.50 Alpha 5 Pre(20100509)(2010/05/19 公開終了

 まだ結構作るところ残ってるなぁ。

2010/05/08(土)

Tatsu.age++

(Tatsuの別荘跡地。との同時ポストになります。)

 別に、曙.age++でもいいけど、まあそういうこと。

 この年になるとあまりうれしくはないけど、まあ年相応になるようにはがんばってみよう。
肩がいたいのだけが年相応ではさびしいというものである。

2010/05/05(水)

GWオワタ

 1日の日記の続き。
 パソコンデスクのほうは2日に折れ板を2枚追加して、KVMから延びる太いコードを4枚の折れ板で支えるようにした。
 とりあえず、4日様子を見た限りでは剥がれて落ちるということもないので、大丈夫そうである。
 他にはJagabeeの5袋パックの箱を転用して櫛入れにしてみる。Jagabeeの箱はデザイン的に悪くなかったので、カレンダーの裏紙を貼らずに、開口部を折って糊づけして仕上げるのみにする。

 BookSyncのほうは3日に機能を1つ追加したアルファ版を出した後、4日、5日とさらに機能を追加すべくコーディングを行う。特に詰まったところはないのだが、週末の自分の誕生日に合わせてリリースするのは無理っぽい。出張が増える前にはけりをつけておきたいのだが。

2010/05/01(土)

KVM付きパソコンデスク5月版

 車のタイヤ交換をイエローハットで済ませた後、ホームセンターでステン折れ板を購入する。昨日はアルミチャンネルと何らかの板を使うことを考えていたが、小さなサイズのアルミチャンネルしかなく、ケーブルが入らなかったので折れ板にする。

 昼食を取った後、作業開始。昨日マジックテープを両面テープで接着したキーボード・マウス・モニタ・USB切り替え機とパソコンデスクのマジックテープをくっつける。その後、キーボード・(PS/2)マウス・USBケーブルを取り付けて具合をみる。ここまでの手ごたえは割とよさそうである。
 次に、折れ板をコの字型に曲げて、両面テープをつける。その後、パソコンデスクの下に潜り込んでキーボードを置くキーボードドロワとケーブルが干渉しないように折れ板を天板に接着してコの字型の内側にケーブルを入れる。折れ板でケーブルの重量を分散することで切り替え機との接着部分にかかる力を分散して切り替え機がはがれなくなればよいなと思いながら様子を見ることにする。

VC++のswprintf関数は使えない

 おととい、BookSyncに機能を追加しようと64bit Windows 7上のVisual Studio 2008のVisual C++ 2008でプログラムを書いて実行したら実行中にクラッシュするようになった。デバッガで実行すると途中でインスタンスの内容がおかしくなっていたのでメモリ内容を破壊しているようだった。

 ソースを見直してもおかしいところはないと思われたので、処理系をVisual Studio 2003のVisual C++ 2003に変えて同じプログラムをコンパイルしてみたらクラッシュはなくなったものの、swprintf関数の返す結果がおかしくなっていた。

 そこで、swprintf関数を使っていたところを正常に動作するsprintf関数の結果をwchar_tの文字列に変換するようにしてみたところ、無事に動作するようになった。どうやら、swprintf関数自体がおかしいようだ。

 swprintf関数が怪しいということがわかったので、swprintf関数を使わないように書き換えたプログラムをVisual C++ 2008で動作させたところ、こちらでも正常に動作するようになった。

結論

 少なくともVisual C++ .NET 2003と2008のswprintf関数は使えない。