富豪的?平民的?貧民的?

コーディングの仕方についてのもの。
最近はコンピュータリソースが昔ほどシビアでないので、多少無駄なことをやっても可読性を重視すべきだというのが平民的プログラミング。
平民的なプログラミングをする人間にとって見れば、組み込み系開発を行っている人間を貧民的と言う。ある意味古典的な職人芸だとも言う。
富豪的なプログラミングは、あきらかに無駄な処理を含むプログラミング。通常、logNのオーダーで処理すべきところをN2にするようなプログラム。
自分はどちらかといえば、平民的より貧民的に傾斜したプログラミングをするのであろう。

Internet Explorerのワナ

Internet Explorerはどうも再描画をする際に再描画に使用したメモリを開放しないようだ。
たとえば、定期的にrefreshするようなページをずっと表示させ続けると、メモリ領域を食いつぶして、スワップし始めてしまう。
この問題は、Windows Meでも見られたけれども、Microsoft製品によく見られる仕様なのかもしれない。
Internet Explorer 7では改善されていることを切に願うが、そもそも別のブラウザを使うときなのかもしれない。

activeモードとpassiveモード

FTPにはactiveモードとpassiveモードがある。
これらはlinuxのftpコマンドではpassiveコマンドによって切り替えられる。
-nオプションを使うことでFTP通信を自動化することができる。
以下をhogehogeで保存する。
————-hogehoge———
open hogehoge.com
user hoge_user hoge_pass
binary
get hoge_file
bye
——————————

ftp -n < hogehoge
といった感じだ。

awstatsを試してみた

ログ解析ソフトはずっとanalogを愛用してきたが、awstatsが高速に処理できる上にかなり綺麗であるので、試してみました。
生成の速度が早いこともあり、動的に過去のログも表示できるのだが、IIS環境下に限っては問題がありそうだ。まず、デフォルトの拡張IISログでは解析できない。ドキュメンテーションを見ると、オプション指定に制限があるらしい。
具体的には以下のように変更すると良い
(W3C拡張ログ形式)

date
time
c-ip
cs-username
s-ip
s-port
cs-method
cs-uri-stem
cs-uri-query
cs(User-Agent)


(変更後のログ方式)

date
time
c-ip
cs-username
cs-method
cs-uri-stem
cs-uri-query
cs-status
sc-bytes
cs-version
cs(User-Agent)
cs(Referer)

次に、analogでいう、LOGTIMEOFFSETの項目がない。これはIISがGMTでの時刻を記録するためで、これを調整するために項目がないと。。。
まぁ、IISがGMTで保存すること自体が問題なわけですが。

パーティション内のデータの抹消方法

dd if=/dev/urandom of=/dev/hda1
dd if=/dev/zero of=/dev/hda1 count=512
ランダムにすべての領域を書き込み、最初の512バイトをヌルバイトで書き込むというもの。なぜ最初の部分をヌルバイトで書き込むかというと、乱数の初期値が分かることで乱数パターンが分かってしまうから。ただデータはどちらにしても復元はできない。

SQLite

SQLiteを試してみました。
PHP5からはデフォルトで入っていますが、Windows上で実行する場合には
cgi.force_redirect=0

を設定(IISの場合)し、
extension=php_pdo.dll
extension=php_sqlite.dll

を有効にする必要があります。
もしコンソールからSQLiteを実行する場合には
http://www.sqlite.org/download.html

からダウンロードしますが、PHPのサポートは SQLite 2です。SQLite 2 と 3 では互換性が残念ながらありません。

セキュリティウォリア―敵を知り己を知れば百戦危うからず

セキュリティウォリア―敵を知り己を知れば百戦危うからず
リバースエンジニアリングの手法を中心に前半は説明が続いており、興味のある人には詳しく説明されいて良いと思う。
自分がこの本を読んでよかった点は、当たり前が当たり前でないという別の認識ができたことだと思う。
たとえば、「ソフトウエアのライセンスキーを入力するような場面では、製造元は適当に入力しても正しいライセンスキーが入力されないようにロジック開発に苦心しているが、そもそもライセンスキーを比較するというロジックが無効にされてしまうようなことがあれば、まったくもってそれらは無意味であるということである」などです。
4,800円とかなり高価な書籍ではあるが、読んでも損はないと思います。