Adblock Plus の日本語訳

http://adblockplus.org/en/filters を読みながら Adblock Plus の使い方*1を覚えていたら気になる訳を発見した。設定画面のメニューにある“Collapse blocked elements”だ。日本語では「ブロック要素を隠す」になっている。blocked elements は「ブロック要…

Foxit Reader でページ表示が逆順に

PDF

なんかページが逆順に表示されるようになちゃったと思っていたら、メニューの View → Reverse View にチェックが入っていただけだった。少し前、何かの拍子に全画面表示になったのを元に戻そうとして、F11を押した覚えがある*1。これでページが逆に表示され…

urllib.unquoteとunicode

urllib.unquoteはURLエンコードされた文字列を元に戻す関数だ。よくURLで使われている「%E6%97%A5%E6%9C%AC%E8%AA%9E」みたいな文字を元に戻す時に使う。 # Python 2.5.2 on win32 >>> a = urllib.unquote('%E6%97%A5%E6%9C%AC%E8%AA%9E') >>> print a.decod…

バッテリーの状況

Windows でバッテリーの状況は Win32API の関数を使うと取れる。しかし pywin32 *1 には肝心の GetSystemPowerStatus 関数 *2 がないじゃないか。しょうがないので伝家の宝刀 ctypes *3 を使うべ。GetSystemPowerStatus 関数自体はそう難しくない。所定の構…

NTFS のバージョン

NTFS には細かいバージョンがある。Windows 2000 が古い NTFS を見つけると勝手にバージョンを上げるので、Windows NT で読めなくなってしまうというとかいう話が昔あったっけ。話は進んで今、Windows 2000 は NTFS 3.0 を、XP と Vista は NTFS 3.1 を使っ…

ファイル名を指定して実行とパス

Firefox 3 のベータ版を入れてみた。軽くなったとリリースノートに書いてある。確かに体感速度が速くなっているように感じなくもない。それはそれで正式リリースが楽しみなのだが、1つ気になったことがある。インストールを説明したページの「Firefox 2 と…

Explzh に乗り換えた

今まで圧縮ファイルは Lhaz で中身を見て、大きなファイルはそれで展開、小さなファイルは Lhaplus で展開というふうにしていた。今回、思う所があり、中身を見るためのアーカイバを Explzh に変えてみた。最初の印象は少々やぼったいが、設定を少しいじった…

寝たら翌日とす

datetime は便利だなぁ。 例えば朝5時までは前日と見なす処理: import datetime now = datetime.datetime.now() if now.hour < 5: now = now - datetime.timedelta(hours=5) print "感覚的に言えば今は%d月%d日です。" % (now.month, now.day) 時間が5よ…

デコレータの引数

デコレータは引数を取ることができると Python 2.4 の What's new に書いてあった。 http://www.python.org/doc/2.4/whatsnew/node6.html Decorator functions can take arguments. If arguments are supplied, your decorator function is called with only…

誰か僕のプログラムを見張ってください

SHFileOperation を使ってファイルをゴミ箱に送るコードを書いていたんだが、文字列操作が面倒くさすぎる。 C言語は昔ちょっと本を読んだだけなので、ちゃんと書けているのかどうか不安になってくる。スクリプト言語と違って、一旦コンパイルを通ったら誰も…

Unknownの関連付け

HKEY_CLASS_ROOT\Unknown\Shell\Command をいじって、登録していない拡張子の関連付けを変更することができるという話は結構有名。Vistaでも同じように設定しようと、Openキーを作って、その下に Commandキーを作ってみた。しかしアイコンをダブルクリックし…

phone home (実家に電話)

Vistaの「セキュリティが強化されたWindows ファイアウォール」とやらについて調べていたら"phone home"なる単語が出てきた。 Outbound packet filtering, reflecting increasing concerns about spyware and viruses that attempt to "phone home". (Althou…

プロファイルがない?

firefox -p でプロファイルを選択すると以下のようなメッセージが出る。 現在使用中であるため Firefox はプロファイル"hoge"を使用できません。 起動中の Firefox を終了するか、別のプロファイルを選択してください。 プロファイルの情報が入っているフォ…

見様見真似だったJavaScript

A re-introduction to JavaScript (JS tutorial) - JavaScript | MDN を読む。既に他のスクリプト言語を知っている人にピッタリな文書だと思う。日本語訳は途中っぽいがJavaScript の「再」紹介 にある。英文で、わからなかった所が2つ。 The named paramet…

gdiplus.dll が古いような

古いVisual Studio 2003をひさしぶりに実行したら壊れていたので再インストールしたら、Windows Updateで「GDI+ 検出ツール」を確認するツールを実行せよと出てきた。「ご丁寧にどうも」と思い実行すると、脆弱性のあるバージョンが見つかったと言っている。…

os.startfileというかShellExecuteWの奇妙な動作

Pythonでos.startfileを呼ぶと、ちゃんと引数が関連付けどおりに実行されるのだが、以下のように例外が発生する場合がある。 >>> os.startfile('http://www.yahoo.co.jp/') Traceback (most recent call last): File "<stdin>", line 1, in <module> WindowsError: [Error 2</module></stdin>…

EditLabelメソッド

wx.ListCtrlクラスのEditLabelメソッドを実行しても項目が編集できないなと思い、色々いじっていたら、wx.LC_EDIT_LABELSを付け忘れていたことに気付く。 なってこった。 import sys import wx app = wx.PySimpleApp() frame = wx.Frame(None, -1, u"/(^0…

2chのトリップを生成する

2ちゃんねるのトリップをPythonで生成するにはどうしたらいいだろう? Perl版のコードならwikipediaにある。 トリップ (電子掲示板) - Wikipedia そのまま変換するとこうなるか。 import re from crypt import crypt from string import maketrans tripkey …

いきなり消えたな

PC View が終わっちまった。小粒だが現場の声が聞こえる貴重なサイトだったのに(とくにセキュリティ分野)。 平成16年1月10日のサイト開設以来、多くの皆さまにご支持いただいた「PC View」サイトですが、平成19年11月30日をもって閉鎖させていただきました…

Jetico Personal Firewall v1.0 でテーブルが削除できん

不要なテーブルを削除しようとしたら、以下のようなエラーメッセージが出る。 Sorry. Table could not be deleted. Access denied. 何でだろうと思ったら、単にそのテーブルへの参照が残っていたからだった。よく探そう。 http://dobry-den.sakura.ne.jp/JPF…

WindowsでCGIスクリプトを書くと何かが変だ

結論から言うと、以下のような症状が出る場合について。 cgi.FieldStorageを使うと固まる cgi.FieldStorageのformdataからデータの一部しか取得できない ソースコードに以下を追加すると直るかもしれません。 try: import msvcrt except ImportError: pass e…

FileZilla からパスワードを取り出せ

夏休みが明け、大学に行って気付いた。パスワード忘れた。1つ前のパスワードは思い出せる。夏休みに入る少し前にパスワードを変更していたことが仇となった。パスワードのヒントを書いた紙は無くしてしまったし、先生にパスワードを初期化してもらうのも気…

Wireshark (Ethereal) と Vista

Vista で UAC (ユーザー アカウント制御)が有効になっているとインターフェースが1個もない状態になることがある。例えば、メニューの Capture → Interfaces... を選択しても何も出てこない。Wireshark の起動時に、アイコンを右クリックして「管理者とし…

translate

文字を置換するときはどうすればいいか? \ を / に置き換えるくらいなら translate メソッドが使えそうなのだが、これがまた直感的に使いにくい。ドキュメントにはこう書いてある。 translate( table[, deletechars]) 文字列をコピーし、オプション引数の文…

大きなファイルがFTPで変になる件について

今日、隣のコンピュータに2G強のファイルをFTPで転送しようとして思い出した。FTPで大きなファイルを転送しようとするとファイルサイズがおかしくなるのだ。エクスプローラだとファイル名も変になる。時たま聞いたり体験したりするトラブルなのだが、よく忘…

Foxit Reader

動作が軽いことで有名な Foxit Reader を常用している。最近 TeX で PDF 文書を作るようになって気が付いたのだが、日本語をボールド体にしても Foxit Reader だと正しく表示されないんだな。 PDF 本家の Adobe Reader で確かめると正しく描画されているので…

newenvironmentとverbatim

TeX

\newenvironment{mysource} { \begin{quote} \setlength{\baselineskip}{12pt} \begin{verbatim} } { \end{verbatim} \end{quote} } という環境を作るとなぜかエラーになる。 File ended while scanning use of \@xverbatim. 見た目はちゃんと対応が取れてい…

Python 2.5.1

Python 2.5.1 が出ました。2.5のバグフィックスだそうで。 http://www.python.org/download/releases/2.5.1/Windowsへのインストール時に前のバージョン(2.5)のアンインストールが必要なのか疑問に思う。落としてきた Installer Package を開いてみると、…

あまり見かけない例外

以下のコードを windows の python 2.5 で実行すると、 def foo(): try: print 2 break finally: print 3 print 4 if __name__ == '__main__': print 1 foo() print 5 こうなる。 1 2 3 Traceback (most recent call last): File "C:\test.py", line 11, in …

文字コードの判定

pythonで文字コードを判定するには普通kconvとかpykfとかchardetを使う。何かの本(たしか「みんなのPython」だったと思う)を以前立ち読みをしてたら文字コードを判定するのに、適当なエンコーディングでUnicodeに変換してみてUnicodeErrorが発生しないかど…