Windows Update を掛けたら、Windows 7 が起動しなくなってしまった。セーフモードで起動したら、classpnp.sys の読み込みで止まっている。classpnp.sys でググってもあまり有効な解決策が出てこない。
30分以上放置していたら、ようやく Windows が起動してきた。しかし、explorer の反応がなくなったりして動作がおかしい。
原因になかなか気付かなかったが、ようやく、2番目の HDD(2月に買ったばかりの WD20EARS)が故障していることが分かった。このマシンには S.M.A.R.T. 監視ソフトを入れていなかったせいで、HDD の不調に気付くことができなかった。別マシンにつないで CrystalDiskInfo で確認したところ、代替処理保留中のセクタ数が 0xAD となっていた。
SeaTools のロングテストでセクタスキャンしてみたがエラーは見つからず、HDD Regenerator でスキャンを掛けてみることにした。全セクタのスキャンに 48時間ほど掛かるようだ。
Let's note R が J になった。かなり欲しいかも。ジャケットを着けないと、堅牢性が従来に比べて落ちるようだが、どの程度落ちるのかが気になるところ。100kgf というのは満員電車を想定した値だったと思うが、そういう状況でなければジャケット無しでも十分か? 画面解像度は 1366x768 ということで S9/N9 より高解像度だ。持ち運び可能な開発マシンとしては十分なスペックかな。
「女子力」はどうでもいい。
2ch では散々な評価のようだ。
Qt 4.7 が出たようだ。とりあえずダウンロードだけしたが、まだインストールはしていない。
Python の実行速度を上げる方法はないものかと探してみると、Psyco というものが見つかった。しかし、残念ながらまだ Python 2.7 には対応していないようだ。早く Python 2.7 に対応してくれることを願おう。
Python から Qt を使うものとしては PyQt があるが、少し前に PySide というものが出てきたようだ。LGPL なので、ライセンス的に PyQt より使いやすい。つい最近 PySide が Windows でも使えるようになったとのことなので、そのうち試してみたい。
wxPython でマルチスレッド(ワーカースレッド)を使う方法を調べてみた。他のツールキットでもよくある話だが、GUI の更新は複数スレッドから行うべきではなく、wx.CallAfter() などを使うらしい。
PE ヘッダの直前にある Rich という文字列が何なのか、相当昔から気になっていたが、リンカが埋め込むシグネチャらしい。VC4 か VC5 までは Rich シグネチャはなかったはず。
上記にあるように、リンカにパッチを当てて Rich シグネチャを埋め込まないようにする方法があるようだ。
Python で CRC-16 の算出コードを書いたところ、非常に遅かった。C で拡張モジュールを作成する方法を調べてみた。ついでに、PNG についても。
BetterCompression - py2exe.org というページがあったが、これは Python でインストーラを作成するときの話か? 通常の exe で LZMA を使う方法があればよいのだが。
py2exe というものを使えば、Python スクリプトを exe 化できる。wxPython を使ったスクリプトを exe 化してみたところ、無圧縮で 13MB、zip 圧縮で 4MB とかなり大きなサイズになった。ちなみに、無圧縮のファイルを 7-zip で単純に圧縮した場合は 2.6MB になった。圧縮方式として LZMA が使えるなら、2.6MB まで小さくなる可能性があるということだが、何とかして LZMA が使えないものだろうか。
しかし、C/C++ に比べて Python はずいぶん楽だ。
最近になって、ちょっとしたツールを作るためのスクリプト言語として Python を使い始めた。Perl に比べるととても読みやすいのがよい。
Python で GUI を扱いたくなったため、どのようなものがあるのか調べてみた。
Tk は、Perl/Tk を使ったときも、どうも慣れなかった。D&D が使えないらしいという話もある。D&D も使いたかったので、Tkinter は選択肢から外れた。PyQt は GPL ということでやめておこう。ということで今回は、wxPython を使ってみることにした。
先月の spam メールの集計結果。着信拒否にならなかった spam が少なくとも 1120通。そのうち、@nifty の迷惑メールフォルダーでも Spam Mail Killer でも spam として認識できなかったものが 6通(0.54%)。