2015年08月
2015年08月22日
調べてみたら、Windows Updateしようとしてるのが理由っぽい。
まずぐぐって行き着いたのはこのページ。
Win8 スリープしても勝手に起動する - マイクロソフト コミュニティ
ここの方法に従って、イベント ビューアーで「Windows ログ」→「システム」と辿り、「Power-Troubleshooter」を調べてみたら、「Windows は、スリープ状態の解除を要求したスケジュールされたタスク 'NT TASK\Microsoft\Windows\UpdateOrchestrator\Reboot' を実行します。」と記載されていたので、「NT TASK\Microsoft\Windows\UpdateOrchestrator\Reboot」でぐぐる。で行き着いたのがこのページ。
1dpi: 【Windows10】夜中にPCのスリープが勝手に解除される・追加考察
このページでは、一時的に無効化することはできてもまた有効化されてしまう、とのことであった。
もう少し検索結果を見てみると、対処方法を書いているページも見つかった(英語)。無効化する処理を書いたPowerShellスクリプトを、タスクスケジューラに登録することで回避している。
How to prevent Windows 10 waking from sleep when traveling in bag? - Super User
あとで試してみるが、当面は「休止状態にしたらパソコンの電源ケーブルを抜く」ことで対処かな…。
まずぐぐって行き着いたのはこのページ。
Win8 スリープしても勝手に起動する - マイクロソフト コミュニティ
ここの方法に従って、イベント ビューアーで「Windows ログ」→「システム」と辿り、「Power-Troubleshooter」を調べてみたら、「Windows は、スリープ状態の解除を要求したスケジュールされたタスク 'NT TASK\Microsoft\Windows\UpdateOrchestrator\Reboot' を実行します。」と記載されていたので、「NT TASK\Microsoft\Windows\UpdateOrchestrator\Reboot」でぐぐる。で行き着いたのがこのページ。
1dpi: 【Windows10】夜中にPCのスリープが勝手に解除される・追加考察
このページでは、一時的に無効化することはできてもまた有効化されてしまう、とのことであった。
もう少し検索結果を見てみると、対処方法を書いているページも見つかった(英語)。無効化する処理を書いたPowerShellスクリプトを、タスクスケジューラに登録することで回避している。
How to prevent Windows 10 waking from sleep when traveling in bag? - Super User
あとで試してみるが、当面は「休止状態にしたらパソコンの電源ケーブルを抜く」ことで対処かな…。
2015年08月10日
【経緯】
札幌で毎年開催されている、IT系技術者向けの合宿型イベント「Code 2015」に参加していた。こちらでは毎年お題(問題)を出題するコーナーがあるのだが、そのときに出題された問題で、「大量のQRコードが画像として与えられ、それが何を意味しているのかを見つける」というものがあった。
それに私は心血を注いで寝る間を惜しんで取り組んでいたのだが、ぐぐって見つけたQRコード読み込みのライブラリを利用しても、画像処理の問題なのか規格への対応度の問題なのか読み込めない画像が多く[注1]、そこで詰まって一番面白いところに取り組めないまま[注2]タイムアップとなってしまった。
最後の答え合わせの際、そこで詰まっていた自分は他の方々にどんなライブラリを使ったのか尋ねたのだが、「ライブラリではなく、ZBarのコマンドラインツールを使った」という方がいて、コマンドラインツールということに気付けなかった自分はとてつもない敗北感を感じたのだった。ちなみに出題者は「自分の環境で試した際はZBarのライブラリを使っていて、即座に読み込めたので、他の人に解いてもらう時にそれが問題になるとは考えてなかった」とのことだった。
ただ、当日ぐぐった結果や、後で「QRコード 読み取り コマンドライン」や「QRコード 読み取り CUI」などでぐぐっても、ZBarは上の方に出なかったので、これは当日気づくのは難しかったのではないかと感じた次第であった。
ということで、読み取り精度のよいQRコード(とバーコード)読み取りライブラリ「ZBar」を紹介します。(プログラム例等はないのであしからず)
【紹介】
ZBar bar code reader公式サイトの記述によると、
use it stand-alone with the included GUI and command line programs(同梱のGUI・コマンドラインプログラムでそれ単独で利用する)
easily integrate a bar code scanning widget into your Qt, GTK+ or PyGTK GUI application(Qt・GTK+・PyGTKといったGUIアプリケーションにバーコードスキャン機能を付加する)
leverage one of the script or programming interfaces (Python, Perl, C++)(スクリプトやプログラミングインターフェイスに投入する (Python, Perl, C++))
...all the way down to a streamlined C library suitable for embedded use.(これ全体が、組み込み用途でも使えるような効率的に動作するCのライブラリとなっている)
と説明されている。
また、Windows向けバイナリが提供されているのはWindowsユーザにはうれしいところである。(オープンソースのライブラリでは、ソースコードからのコンパイルが前提になっているものもよくあるので、その場合Windows環境では何かと面倒が多い)
【おわりに】
Zbarはもっとぐぐった結果上位に出るようにならないですかねえ。ということで、地道にプッシュしたいがためにとりあえずこの記事を書いたのでした。[注1] 私は使っていたパソコンの開発環境の関係で、Javaや.NET向けのものを使うのが難しく、最初はC++やPure Rubyなどで動くものを探していた。試してみたのはlibdecodeqr(C++)やqrio(Pure Ruby)だったが、正しく処理できない画像が多数見受けられた。なおぐぐって先頭に出たものはZXingであったのだが、最初これはJava向けということで断念しており、その後C++版があることに気付いたのだが時間の都合で利用方法を理解するに至らず断念している。
[注2] 実際には、QRコードを読み取った結果が他のフォーマットになっているなど、そういった謎解きを楽しむ問題になっていたのだが、その謎解きの部分に辿り付けなかったのである。