銀月の符号

Python 使い見習いの日記・雑記

2008-01-01から1年間の記事一覧

北の地へ帰還

仕事をやめてふるさとへ U ターン。北海道、そのオホーツク沿いにある面積でっかいどう、北見市の実家へ。引越しから2週間過ぎ、落ち着いたところ。やっとこさ疲れが癒えたので新しい仕事をさがそう…と思ったらもう年末。あと1〜2週間ほどは家事手伝いが…

Pythonの四則演算とビット論理演算の速度を自分でも測ってみた

bit 単位でデータが詰め込まれているバイナリデータを眺める機会があったので、なんとなく「Python ビット演算」でググッてみた。そんな日のこと。すると Python の int 型における各種演算速度を実測した人を発見。Pythonの四則演算とビット論理演算の速度 …

Python 2.6 の _winreg.ExpandEnvironmentStrings を ctypes で

Python 2.6 より _winreg モジュールに追加された ExpandEnvironmentStrings 関数。REG_EXPAND_SZ 型のレジストリ値のように % で囲まれた環境変数を展開するというもの。ソースコードを見ると PC/_winreg.c の 1159 行目からの PyExpandEnvironmentStrings …

形態素解析エンジン MeCab 0.97 とその Python バインディングを MinGW でビルドする

環境は Windows XP, Python 2.5.2(公式サイトのインストーラーより)。この環境に MinGW, msys をセットアップし、これを用いて MeCab 0.97 をビルド。その後 MeCab Python バインディングをビルドした際の手順についてのメモ。 のまえにバイナリが欲しい方…

MinGW で MeCab 0.97 できたっ! Python バインディングも

ソースから Windows XP で動く MeCab 0.97 できたっ! make install したばかりの状態にて msys 上で mecab.exe を実行してしまうと tagger.cpp(147) [load_dictionary_resource(param)] param.cpp(71) [ifs] no such file or directory: /usr/local/lib/mec…

MinGW で MeCab を…

MeCab 0.97 Win版バイナリをインストールして Python バインディングを使おうとしたが、これの setup.py がうまく動かない。setup.py 中でシェルスクリプトを呼んでいるのだが Windows では MSYS などの力を借りなくては無理。setup.py 書き換え。リンカがエ…

AquesTalk Win版 でゆっくり Python していってね

aquestalk2.py aquestalk2.py version 0.1.1 (2010/3/26) 履歴 2010/3/26 Aquestalk2 対応版 aquestalk2.py を作成。 aquestalk.py aquestalk.py version 0.1.1 (2010/3/26) aquestalk.py version 0.1 (2008/11/8) 履歴 2010/3/26 機能に変更はなし。 versio…

raw ユニコード文字列リテラルの罠

とある Windows のファイルパスらをリテラル表記していたら UnicodeError で怒られるパスがみつかったので数分立ち止まらざるをえなかった。で、発覚したのがこれ。raw ユニコード文字列リテラルでは「バックスラッシュの直後の u, U に注意」。 >>> ur'\u' …

urllib2 で HEAD 要求

urllib2 モジュールで http プロトコルを使用する際選べる(選ばれる)メソッドは GET か POST 。では HEAD で十分な時は http モジュールレベルまで戻らなくてはいけないのだろうか? もしくは問答無用で GET して対象サーバーにはごめんなさいで済ませるの…

日本 Python ユーザ会のドキュメントが 2.5 に対応したよ

http://www.python.jp/doc/release/lib/lib.html をリロードしたら Python 2.5 対応に変わったのを目撃。翻訳チームの方々、ご苦労様です。これで ctypes とか xml.etree が日本語で読めるように。まぁ nightly のほうなら前から読めたけれど、ありがたいこ…

URL と相対 URL をくっつける

URL と相対 URL をくっつける関数を作ろうとしたら、すでにあった罠。 urlparse モジュールの urljoin 関数。 >>> urlparse.urljoin('http://foo.jp/bar/index.html', '../img/baz.png') 'http://foo.jp/img/baz.png'

LL 温泉の参加申し込みフォーム

LL 温泉 。部屋割りを決めるために性別を問われるのですが… 3 択!?

なんという蓄積

無料音楽素材 煉獄庭園 。音楽素材サイトなのだけど、 MP3 159曲、 MIDI 1217曲ってマジすか? これはやばい、継続は力を体現している。 おれもプログラムコード断片数十、数百個程度で満足してちゃダメだ、もっとコード書かないと、と思わされた。これらを …

悪いコーディングスタイルの例

コーディングスタイルの常識をぶち壊せ (1/2):CodeZine(コードジン) 。これはひどい。例B もどうかとおもうが、例C は改悪だろ。コメント見ると同士発見。 >ここまでキレイにそろうと、代入部分「= 10;」とかも揃えたくなるものです。視認性が下がってる…

PyOpenGL でメタセコモデルビューア作成、停滞中

.mqo ファイルの読み込みと、頂点データを処理して表示するところまで完了。自分ののんびりまったりペースにがっくし。とはいえ、真っ白ながら姿形が表示できるようになったのだから、あと頂点の色情報と、テクスチャに対応すればそれっぽいものが見えるはず…

そして Python Code Reading 05 へ

inspect モジュールを予習。明日は 05 だっ!

【いまさら】Python Code Reading 04 資料アップ【遅いよ】

Python Code Reading 04 資料を Up しました。しかし OOo Impress の PDF エクスポートで文字化けしたので今は .odp ファイルのままとなっています…。 OOo Impress の PDF エクスポートで文字化け 原因と解決策を探し中。原因はフォントが埋め込まれていない…

PyOpenGL 用の Pure Python メタセコイアモデルローダー作れるだろうか?

赤本買った。そして頭から順に読み、第3章に到達したところ。誤解が解けていい感じ。このままのペースで読み進めていきたい。しかし、脱線。 OpenGL いじりたいという衝動の元はメタセコイアのモデルデータを自作ソフトで表示してみたい、だった。ならばこの…

そろそろサイトも復活させるべきか

ブログ書き始めて半年、便利なのには違いないけれど不得意分野も当然あるなぁ、と感じる今日この頃。ぶっちゃけると、まとまったネタを日時系列ではない方法でまとめたり、コード大量に書いたので DL して実行してみてくださいね、がやりにくいということで…

PyOpenGL + PIL でテクスチャ貼り

www.komoto.org の OpenGL入門 sample09 を PyOpenGL と PIL で再現。動作させるにはこの2つのライブラリと texture2.ppm が必要。テクスチャを作成するには PIL で画像を読み込んで、 tostring() でバイト列に直してから glTexImage2D にわたせば OK 。つま…

T1Project プロデュース ショートストーリーズ vol.1 見てきた

9/20 。窪田真也デビュー応援目的で下北沢「劇」小劇場へ。 A. ウツりゆく気持ち と B. IDクライシスを見てきた 舞台を見に行くなんて数少ない経験だけに新鮮。A は奥様方が図書館で狂ったように人格が変わる人が続出、という事件に挑むコメディホラー。題意…

プロフィール更新

プロフィール更新。勤め先には見せられない度がちょびっとアップ。もう知られているから隠すことじゃないけれど。やりがいのある仕事、見つける(=転職)のが先か、振ってもらえる(=会社に残る)のが先か。というかそもそもあの勤め先はまともな仕事もって…

やかん新調

2週間前焦がしたため、やかんがない生活をしていたのだが今日新しいのを買ってきた。やはり麦茶は水出しより煮出しがうまい。

名前について考えていたのに気が付いたら脱線してた

今日の妄想経路。名前 -> ボカロP達 -> ハクかわいいよハク、はっ…ツマンネ*1 -> 曲の評価と知名度 -> 目的と手段。いつもどおり脱線した。ブログに初晒ししてみる。 個人を認識する名称 - サイト更新停滞ちうっ を読んで。 自分の呼ばれたい名と他の人から…

PyOpenGL と Pygame 2日目(何も理解していない)

(9/23 オリジナル似コードを追加しました。)チラシの裏レベル。唐突に 3D でゲームもどき作ってみたくなってから2日経過。トライフォース回してみた。PyOpenGL + Pygame で 描くのと Pygame で 2D 描くのとの違いは pygame.display.set_mode の第2引数に…

連想検索エンジン reflexa API を Python から使ってみる2

先日の連想検索エンジン reflexa API を Python から使ってみる モジュールを手直し。 使い方 reflexa_search に検索したい文字列を渡します。連想された語を Unicode 文字列で返してくるジェネレータが得られます。 for 文で回したり list で変換したりして…

連想検索エンジン reflexa の API を Python から使ってみる

先日、 http://labs.preferred.jp/reflexa/ を知りまして。なかなかに面白い連想結果が得られるので楽しんでいるところです。API が公開されていたのでさっそく Python から叩けるようにしてみました。 json を解析するため demjson モジュールに依存してい…

find もどき

ディレクトリをたどってファイルを処理するとき毎回書いてしまう os.walk 。もう自然と手が for root, dirs, files in os.walk(dir): って動くようになってしまった。でもよくよく考えたら os.walk ジェネレーターって汎用性が高い分、使いにくい。たとえば…

オレはピザをやめるぞー

とうとう 9 月。夏にやせると決めたはずの体重は現状維持。これはまずい。 Code Reading 04 も近づいている。 12 日間では体格など変えられるものではないけれど、今日からやせ始めることはできるはず。食事量を管理しよう、今回こそ。

string.Template を高橋メソッドで

3年遅れで高橋メソッドしてみる!題材は Python 標準モジュールの string.Template クラス属性。最速インターフェース研究会 の http://la.ma.la/misc/js/takahashi.html に以下を入力すると・・・ Template の 3属性 - 1. delimiter - $ - 2. idpattern - r'[…