路傍のプログラマ

只のプログラマが綴る愚痴と備忘録

クラッシックパンツ快適

2006-08-25 22:28:01 | その他
今日、生まれて初めてクラッシックパンツ(ふんどし)を身につけました。

すずしぃ~むれなぃ~さいこぅー。

なぜ今まで使っていなかったのか、目から鱗とはまさにこのこと。
これから夏はクラッシックパンツで行こう。

トリビアのスタッフの人いい加減・・・

2006-08-24 02:59:35 | その他
今日のトリビアに
「NASAは18年かけ無人土星探査機を土星に到着させることに成功したが、実験装置の電源を入れ忘れていた」ために「18年間の研究が事実上失われた」
というのがありました。

画面に出ていたタイムの文面には、はっきりと、「ソフトウェアのパッケージから重要なコマンドが省かれていたために」と書いてあるのに、その上にかぶせたキャプションには「電源・・・」とあり、あまりの落差にびっくらこきました。

ググってTimes Onlineで該当記事をチェックして読んでみましたが、やっぱり電源入れ忘れなんてどこにも書いてません。
http://business.timesonline.co.uk/article/0,,8209-1442418_2,00.html

たとえれば「車のサイドブレーキの欠陥で事故になった」のを「サイドブレーキをかけ忘れていて」と言うくらい変です。

気にしすぎ?テレビの情報なんてそんなもの?

memo: グローバル・ビレッジ(世界的な村落)

2006-08-18 20:01:29 | その他
記事「アラン・ケイが描くパソコンの未来像(後編)」, ITProより

「(メディア論を展開した)マクルーハンは、(略)書くことを失った文化を「グローバル・ビレッジ(世界的な村落)」と呼んだ」

「現在のテクノロジーに目を移せば、分解できるものがあまりに少ない。(略)子供には、テクノロジーの意味がさっぱりわからない。」

こういう問題意識を持ってる人って、世の中に何人くらいいるんだろうか・・・

高速化の追求。 Jython, IronPython, Python 2.5RC1, psyco

2006-08-18 19:27:16 | プログラミング
Pythonが快適に使えるように感じられてきた今日この頃。

先日とうとう、CPUやらメモリやらをばんばん使うコードを書いてしまいました。これはもう、高速化したい!となるわけです。

まず試してみたのは、Jython(どこかのサイトだかブログだかに、「実はCPythonよりも速かったりする」と書いてあったような記憶がちょこーっとあったから)。

結果。Trueが定義されてないというエラーが出たので、あえなくギブアップしました。このぶんだと、Python 2.4の機能をつかいまくり(のはず。意識してないけど)の私のコードは大幅な書き換えを余儀なくされそうだからです。

次。IronPython。なぜこれが次なのかというと、単にJythonを紹介していたページでついでに見たような気がしたから。まあMS謹製だということらしいし。

結果。setの比較は定義されてませんというエラーが出たので、これも中止。まあ、高速化したいと思っているプログラムで、のほほんとsetの比較なんかを使っている私が悪いのかも知れませんけれども~。でも、データ構造とか凝るくらいなら、元からC++で書いた方がいいしー。あー。我ながら日和見。というわけで(決してIronPythonが悪いのだと主張するつもりはありませんが)やっぱりやめました。

次。Python 2.5RC1。リリースノートを読むと「2.4ではsetは辞書(mapのことでしょうな)を使って実装してたけど、2.5ではきちんと実装し直した」と書いてあります。よしよし。期待大。念のため、2.4.3をアンインストールしてから、2.5RC1をインストール。

結果。プログラムの書き換え無しできちんと動きました(さすが)。でも、高速化はほんの気持ち程度。目測で数パーセントくらい。まだデバッグコードが残ってるのだろうか、と少し疑いました。

最後に、本命のはずのpsycoを試してみました。なぜpsycoを最後にしたかというと、あっちこっちのサイトで「psycoは仕掛けを理解しないと高速化できない」とあったので、そんなにキンキーなツールなのかなあ、と恐れを抱いていたからです。2.5RC1をアンインストールして、2.4.3をインストールし直して、psyco 1.5.1をインストールします。

結果。import psyco、psyco.profile()と2行入れただけなのですが、2,3割方速くなりました。やっと報われた感じです。きちんと調べて、もう少し手を入れれば、もっと速くなるかもしれない、と期待させる数値です。

結論としては、「餅は餅屋」。やっぱり、Pythonの高速化のために開発されたpsycoが、私のプログラムの高速化には有効でした。

(今回、きちんと検証したわけではありませんので、あくまで参考だけにしてください。念のため)


Pythonづいてます

2006-08-10 12:32:32 | プログラミング
rst2html、rst2s5を使うようになって以来、かなりPythonづいてます。

全くの初心者であれば、もうすぐ出る書籍「みんなのPython」とかを読むべきなのでしょう。

ここでは、私がこれまでに見つけた、他のプログラミング言語に慣れている人がPythonに入門するときに参考になりそうなページを。

Satoru Takabayashiさん
いやなブログ 配列操作の比較表: Ruby, Python, JavaScript, Perl, C++
http://0xcc.net/blog/archives/000043.html

春風はるかさん
map, grep, filter, join, split
http://www.harukaze.net/~haruka/map.html

NISHIO Hirokazuさん
1時間で覚える?Python
http://kanaya.naist.jp/Zope/member/nishio/japanese/memo/LearnPythonInAnHour/

(2006/08/10追記)
重要なのを忘れてました。

Python ドキュメント翻訳プロジェクト
Python ライブラリリファレンス
http://www.python.jp/doc/nightly/lib/lib.html

これを見ると、Pythonにsetが追加されたのは2.4からとか。結構最近なんだなあ。
考えてみると、Pythonは、タプル、リスト、マップ、セット、配列、文字列にいたっては2種類と、これでもか、というほどいろいろなデータ構造が用意されてることにびっくり。

(2006/08/11追記)
Pythonのsetは、ライブラリで用意されていたSetクラスを、組み込み型にしたもののようです。誤解してました。

ついでに、以下のページも見つけました。追加。

Peter Norvig著、Yusuke Shinyamaさん訳
Lisp プログラマのための Python 入門
http://www.unixuser.org/~euske/doc/python/python-lisp-j.html

愚痴愚痴

2006-08-08 22:15:41 | その他
困るんですよねー。そんないい加減な記事出されると。

機能の説明も滅茶滅茶。コピライトも無視。

あなたのところ、もう3回目ですよね。こーいうの。

仏の顔も三度、ってことわざ、ご存じですか。

Thinkpad生還

2006-08-04 13:32:13 | その他
修理に出したThinkpadが返ってきました。

故障個所はファンが回らなくなったことでした。が、ついでに忘れてしまっていたスーパーバイザーパスワードを初期化するのもやってもらいました。

何週間かぶりに起動すると、機嫌良く動いてます。よしよし。

改めて、修理の内容の説明を見ると「スーパーバイザーパスワードを初期化するためにマザーボードを取り替えました」との記述が。

修理に出したきっかけはファンの故障とはいえ、修理代のほとんどは、私がパスワードを忘れたために発生した、マザーボード交換の費用が占めているのではないでしょうか・・・ちょっと冷や汗。

それにしても、マザーボードを交換するいがいパスワードを回復する手段がないとは、厳格というか何というか。おどろき。