メイン

2007年10月21日

アドエスでsuspendは微妙? ~ PowerManZero3(仮)その後

Bluetoothドングル後日談+PowerManZero3(仮)作ってみたで書いた、アドエス用の電源管理ソフトですが、数日使ってみたところでは微妙っぽい感じです(苦笑)。

動作そのものは期待したとおりに機能はしていますが、サスペンド状態に移行するせいか、以下のような問題があります。なお、Bluetoothドングルは接続したままの状態でテストしています。

電話の着信ができないことがある
サスペンド状態では、電話の着信時に電源は通常状態に復活するものの、着信を知らせる画面は出ず、しばらくすると着信画面で「終話」と表示され、不在着信状態となることがある
micro SDが見えなくなる
これはたまにですが、電源が復活した時点でmicro SDがアンマウントされた状態となり、メディアの抜き差しをしても認識されなくなる

これでは実質使えないわけで、サスペンド(POWER_STATE_SUSPEND)への移行を一旦やめ、代わりに POWER_STATE_IDLE として、調査を続行してみます。併せて、この辺を設定できるようなUIを作るつもりです。

現状では前のエントリについたツッコミ

これって、KeyLockSuspenderの/forceオプション付ければ良い話では?

まんまどころか、KeyLockSuspenderのほうがいいじゃん状態なわけですが、まぁ、そこはそれ(苦笑)。

とはいえ、サスペンド(POWER_STATE_SUSPEND)状態だと、復帰には時間がかかるものの、とにかくバッテリは持ちます。アドエス自身のパワーマネージメントの「節電状態」が実質何なのかも含めて、もうちょっと調査してみます。

とりあえず、開発中のコードについては、Google Codeのプロジェクトとして公開しています。グダグダですが、よろしければご覧ください。

2007年10月17日

Bluetoothドングル後日談+PowerManZero3(仮)作ってみた

Advanced/W-ZERO3[es]用に小型Bluetoothドングルを作る夢で紹介した、Bluetoothドングルですが、どうやらUSB機器が繋がった状態では、標準のパワーマネージメントが効かないようです。マニュアル(9-18ページ)には、「付属のUSBケーブルを使ってパソコンと接続中」は節電状態にならないと書いてありますが、実際試してみるとUSBホストケーブルが繋がっているだけでもダメのようです。

bt_micro_7.jpg

筆者は、[es]のころから、mozurinさん作の「KeyLockSuspender」を愛用してきました。件のBluetoothドングルを繋ぎっぱにしはじめたときも、こいつでサスペンドさせて大丈夫だと思っていたら、バッテリが数時間で切れるという事態に繰り返し見舞われていました。ふと気づくと端末がすごい熱を帯びていて、おかしいなぁと思ってたんですが、メールの着信とかで電源が復帰した時点から、電源が入りっぱなしになっていたということだったのです。

そんなわけで、しばらくは使うときだけ繋ぐという使い方をしていたのですが、それはそれでどうにも不便だということもあり、先日Visual Studio 2005 Standard Editionを買ってしまったので、勢いでKeyLockSuspender的なツールを作ってみました。ついさっき動き始めたばかりなので、超アルファです。機能とか使い勝手はこれから追々って感じなので、ツッコミどころ満載です。とりあえず、たたき台ということで。

基本的にはKeyLockSuspenderインスパイヤってことで、mozurinさんやベースとなるアイデアを出された方々に感謝。

おそらく、中身的にはKeyLockSuspenderとやってることは同じところはたくさんありそうですが、いかんせんソースがないので、画面の消し方やロックキーの状態の取得方法を含め、SDKやmsdnのドキュメントを調べまくったり、レジストリ内を漁ったりと、情報収集にかなりの時間を費やしました。とにかく情報が限られているのがつらいところですね(あるだけマシですが)。そんなこともあり、Windows系のプログラミングは、Windows 3.1時代以来久々というのもあり、おかしなところもあるかもしれませんが、ソースも公開します。いろいろ思うところもあり、ライセンスはGPLとします。

まだ動作の検証用ということもあり、自分でも、これは使いにくいと思うところ満載ですが、次のリリースをいつできるかわからないので、とりあえず公開し、追って直していくつもりです。ご意見やパッチの提供などあればぜひ(パッチを送っていただいた場合は、当然クレジットは追加します)。

2007年5月13日

FizzBuzzをPostScriptで ― コードゴルフに挑戦

なんか、すげー久々のエントリのようですが、気のせいでしょう……多分。

Twitterで、何人かが「FizzBuzz」という言葉を書いているのを見掛けて気になったのですが、やはりTwitter経由で竹迫さんのエントリ、

FizzBuzz - Golf Challenge [TAKESAKO @ Yet another Cybozu Labs]

を見て、PostScriptで書いてみることにしました。課題としては、

1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

というものです。とはいえ、PostScriptなんて、大学時代と前職の出版社で最初の数年間Hackしていただけで、いざ書こうとすると結構忘れていて、久々に「赤本」こと、PostScriptリファレンス・マニュアルを開きながらのコーディングとなりました。

続きを読む "FizzBuzzをPostScriptで ― コードゴルフに挑戦" »