2005-09-29

Quixote

White Paper: Quixote for Web Development



Quixote (きほーて)はウェブアプリケーション開発のフレームワークです。何を勘違いしていたか、てっきりウェブサーバだと思っていました。Mudeusa や Twisted で使うのがおそらくは正攻法で、mod_python や CGI でも使えます。



Quixote は



  • URL を Python の関数に対応付けておき

  • HTTP リクエストがあると、Python の関数を呼び

  • 関数の戻り値を HTTP クライアントに返す


という動作をします。



また、Python Template Language という、Python を拡張したような関数定義ができます。お手軽かも。




def format_row [html] (head, value):
"<tr valign=top align=left>\n"
" <th align=left>%s</th>\n" % head
" <td>%s</td>\n" % value
"</tr>\n"


2005-09-28

スカートのおしりを隠す

上りエスカレーターで、私のすぐ前にいた女性が、かばんでスカートの後ろを隠しました。あのね、見ませんから。不自然なポーズでスカートを隠すという、みっともない格好をするようなのにロクなのがいないわけです。



と、勝手に腹を立てながら、フィットネスクラブで着替えました。見られたくないので腰にタオル巻きつつ、体重 61.8kg、体脂肪率 20.4%



2005-09-26

Bluetooth のヘッドセット

Bluetooth のヘッドセット i-PHONO BT420EX を購入しました。通勤中、携帯電話で英会話音源を聞くのに使用する予定です。折りたためるマイクがあって、通話もできます。なかなかよい。



Python から COM 経由で Lotus Notes にアクセス

Lotus Designer で、データベースの Category と Subject を操作するスクリプトを書いていました。ついさっき、Python から COM 経由で簡単に実現できると気づいてしまって、がっかりです。言語ではなく、Lotus Designer という開発環境に慣れていないことが、時間がかかる理由だと思います。



下のコードは、Lotus Notes のデータベースから、Task ドキュメントつまり TODO を抜き出すジェネレータです。




def tasks():
session=win32com.client.Dispatch("Lotus.NotesSession")
session.initialize(password)
db=session.GetDatabase("","hoge.nsf")
documents = db.AllDocuments
for i in range(documents.count):
doc = documents.GetNthDocument(i)
if doc.GetItemValue("Form")[0]==u"Task":
yield doc


Aquacalender の category を、Lotus Notes に反映させる作戦

携帯電話と PC の TODO リストの同期用に、数行のコードを書きました。



702NK/Nokia 6630 のPIM ソフト AquaCalender と、職場と自宅の Lotus Notes を同期させて使っています。GTD 信者としては、TODO には「@office」「@home」などのコンテクストを指定したい。Lotus Notes ではカテゴリとして指定できます。Aquacalender でもカテゴリ指定できます。ところが、カテゴリは同期できない。



Aquacalender で「@home」とカテゴリ指定すると、Notes の Subject の後ろに [@home] という文字列が追加されます。まあ、これでもいいんですけどね。Lotus Notes でしょぼいエージェントを作りました。



ひとつめは、「ほげほげ[@home]」という件名を見つけたら、カテゴリを @home に指定します。汎用性なし。職場に着いて、同期して、その後これを走らせます。




SELECT @All;
@For(i:=1; i<=5; i := i+1;
@Set("context"; @Select(i; "@home"; "@maybe"; "@office"; "@project"; "@errand"));
@If(@Contains(Subject; context); @SetField("Categories"; context); @true));


ふたつめは、カテゴリが @home だったら、件名に [@home] を追加するエージェント。これを走らせて、同期して、退社します。




SELECT @All;
@For(i:=1; i<=5; i := i+1;
@Set("context"; @Select(i; "@home"; "@maybe"; "@office"; "@project"; "@errand"));
@If(@Contains(Categories; context); @SetField("Subject"; @LeftBack(Subject; "[")+"["+context+"]");@True))


ただ、AquaCalender 側でカテゴリ変更したとき、Nokia PC Sync が変更があったことに気づかないらしく、Notes のデータが更新されません。先は長い。



関係ないのですが、この Lotus Notes の @関数と似たのを使ったことがあります。QMAIL (qmailに非ず)というメールソフトです。当時は変わったマクロだなあと思っていたのですが、知らないだけで、一般的な文法なのかも知れません。



Aquacalender の category を、Lotus Notes に反映させる作戦

携帯電話と PC の TODO リストの同期用に、数行のコードを書きました。



702NK/Nokia 6630 のPIM ソフト AquaCalender と、職場と自宅の Lotus Notes を同期させて使っています。GTD 信者としては、TODO には「@office」「@home」などのコンテクストを指定したい。Lotus Notes ではカテゴリとして指定できます。Aquacalender でもカテゴリ指定できます。ところが、カテゴリは同期できない。



Aquacalender で「@home」とカテゴリ指定すると、Notes の Subject の後ろに [@home] という文字列が追加されます。まあ、これでもいいんですけどね。Lotus Notes でしょぼいエージェントを作りました。



ひとつめは、「ほげほげ[@home]」という件名を見つけたら、カテゴリを @home に指定します。汎用性なし。職場に着いて、同期して、その後これを走らせます。




SELECT @All;
@For(i:=1; i<=5; i := i+1;
@Set("context"; @Select(i; "@home"; "@maybe"; "@office"; "@project"; "@errand"));
@If(@Contains(Subject; context); @SetField("Categories"; context); @true));


ふたつめは、カテゴリが @home だったら、件名に [@home] を追加するエージェント。これを走らせて、同期して、退社します。




SELECT @All;
@For(i:=1; i<=5; i := i+1;
@Set("context"; @Select(i; "@home"; "@maybe"; "@office"; "@project"; "@errand"));
@If(@Contains(Categories; context); @SetField("Subject"; @LeftBack(Subject; "[")+"["+context+"]");@True))


ただ、AquaCalender 側でカテゴリ変更したとき、Nokia PC Sync が変更があったことに気づかないらしく、Notes のデータが更新されません。先は長い。



関係ないのですが、この Lotus Notes の @関数と似たのを使ったことがあります。QMail (qmailに非ず)というメールソフトです。



2005-09-25

アサマシ支援マクロ - ASIN から Amazon 画像を貼り付け

アマゾンのアフィリエイトのページを見たら、この1年で 500 円程度の紹介料が入っていました。0 円でないことに、いたく驚きました。もっとアマゾンへリンクをしよう、というわけで、紹介したい商品の画像をアマゾンからひっぱってくるマクロです。




(defun amazon-image (asin)
(interactive "sASIN: ")
(insert
"<img src=\"http://images-jp.amazon.com/images/P/"
asin
".09.THUMBZZZ.jpg\" style=\"border-style:solid;border-width:1px;border-color:#999;\" />"))


便乗5冊

この秋に読む!TOPエンジニアが刺激を受けた25冊」に便乗するのが流行りそうな兆しです。TOP でもありませんし、エンジニアかどうかも危うい立場ですが、私も便乗してみます。




Kent Beck「Test-Driven Development: By Example」
開発中にテスト項目を発見する過程が書かれてています。唐突にテスト項目が示されるのではなく、最初のおおざっぱな項目を細分化する思考過程が書かれています。




エリヤフ・ゴールドラット「クリティカルチェーン ― なぜ、プロジェクトは予定どおりに進まないのか?」
問題発見の過程がいくつも出てくるところが気に入っています。クリティカルチェーンや制約条件の理論よりも、途中の思考過程を一緒に追っていくことで、真剣に考えることを自分に強要できます。




ピーター・ドラッカー「プロフェッショナルの条件」
すべてのドラッカーの著書に書かれているであろう、期待していたことと実際に起こったことを比べることが要点だと思います。過去の著書からの選り抜きなので、付箋だらけになってしまいました。「習慣的な力」と訳されている言葉は、原書では「habit」です。いずれも成果とは何かを問い、理解していることが前提条件です。いきなり行動する誘惑に負けることも多々ありますが、先に成果を定義するよう努めるようになりました。




ドナルド・ゴース、ジェラルド・ワインバーグ「ライト、ついてますか ― 問題発見の人間学」
この本は、問題とは期待と現実のギャップである、という定義から出発します。期待には主体が存在するはずであり、必然的に誰にとっての問題なのかという問いが出てきます。誰が何を期待しているのか、を問う習慣がつきました。




David J.Agans「デバッグルール」
ハードウェアも含めた、システム全体のデバッグやトラブルシューティングの原則を集めた本です。gdb などのツールの解説ではありません。思考停止し、安易な解決策を試すという誘惑に負けそうになったとき、この本に書かれていることを、ひとつ実践するだけで問題発見モードに移行できます。



社会人になって、自分が問題発見できていないことに気づきました。問題らしきものを見つけたときに、何が問題であるのか真剣に考えるようになったのは、本当に最近のことです。特に知識や技能を身につけたわけではないのに、少しの思考習慣のおかげで、問題解決できるようになった気がします。気のせいかも知れません。



2005-09-21

Python だ

そもそも、ここは Python のことを書くブログでした。すっかり忘れていました。



2005-09-20

村上龍 / ヒュウガ・ウィルス

村上龍の「ヒュウガ・ウィルス」。兵士たちの気持ちが直接描かれないので、実際のとこどうなのよ、と心地よくいらつかされます。以下、引用注意。



UG兵士はシンプルな原則で生きている。最優先事項を決め、すぐにできることから始め、厳密に作業を行ない、終えると次の優先事項にとりかかる。(p.236)


小説の内容とは直接関係ありませんが、最優先事項に焦点を合わせたいと願っています。フランクリン・コビーの自己啓発セミナーや書籍でも、優先順位の高いことから実行することを推奨しています。Todd Proebsting の発表「Disruptive Programming Language Technologies」でも最重要事項とは何か、という話から始まります。



一方、GTD では優先順位をつけることよりも、その場でできることを片付ける方針です。コンテクストごとにできることは限られているわけで、できることが優先事項なのでしょう。



だから、こんな文章書いてないで、サラリーマンは明日に備えてさっさと寝ろ、と。



体重 62.4kg、体脂肪率 19.8%



2005-09-19

1週間ぶりの運動

ひさびさに運動しました。筋トレ3セットと、エアロバイク20分です。体重 62.4kg、体脂肪率 20.5%



谷光太郎 / 情報敗戦

谷光太郎の「情報敗戦」です。なんでこの本を買ったんだっけ? と思いながら読んでいたら、途中で思い出しました。



その国のことは偵察衛星とかスパイによらなくとも九割は分る(p.66)


村上龍の「半島を出よ」の中で、こんな話が出てきたのでした。で、大量の参考文献の中から、おもしろそうだと思って選んだのが、この本です。歴史や軍事に疎いので、よく分らない箇所がたくさんあります。雑誌の連載をまとめたものだとは言え、情報を軽視したので戦に負けたという話が、別の人物によって何度も展開されている印象です。



日本人が二〇〇〇年にわたって農耕民族であったことだ。[...] 欧州系人の原点は狩猟社会である。(p.138)


欧州人が狩猟民族だというのは「農業技術によって定住を可能にし、そのおかげで社会を安定して発展させることができた」のだろうなぁ、という私の直感に反するのですが、気のせいでしょうか。ゲルマン人の大移動とかって、弥生時代くらいだったと記憶しています。



少年の頃より戦さのやり方ばかり学んできた正規軍将校にとって、株価の動きから、戦局の重大事項を推測することなど考えられなかった。(p.210)


肯定的なことも書いておきましょう。間接的な観測で、ものごとを予想したり計測するのはかっこいいと思います。ラザフォードの実験とか、すばらしすぎ。



2005-09-18

日経ビジネスアソシエ 2005.10.04

日経ビジネスアソシエ 2005.10.04 号を読みました。雑誌は軽く読めて、楽です。



自分の力を過信せず、計画通りこなせるスケジュール作りを心がけましょう(p.38, 川本裕子)


数時間で終わると見積もっていたにも関わらず、土曜日も出勤して全部で15時間かけて仕事を片付けた私にぴったりの助言です。今日もジムに行っていません。明日こそ。



体重 62.2kg、体脂肪率 20.2%



2005-09-17

お先に失礼しない

今週は、なんだか仕事を片付けられなくて、平日のジム通いをしていない。明日の朝を逃してはならぬ。思わず「ジム通いできなかった」と書きそうになりますが、こういうとき「ジム通いしなかった」と書いたり発言したりするように心がけています。


体重 61.8kg、体脂肪率 19.2%



2005-09-16

柴田英寿 / お先に失礼!する技術

柴田英寿の「お先に失礼!する技術」を読みました。



リズム感を出すには、司会者がまどろっこしいしゃべりをしないことも必要です。無駄なことをしゃべらないためには事前に発言を考えておかなければなりません。(p.57)


対偶は「事前に発言を考えておかないと、無駄なことをしゃべる」です。司会に限らず、考えてから発言するように心がけています。が、できていないこともあるので、自戒も込めて紹介します。考えなしに発言することと、普段から考えていることを素早く発言することは別物ですね。



「こんな話聞きましたよ」というだけでは、職場にとっては、雑音にすぎません。(p.174)


情報の共有と、雑音の拡散は別物ですね。簡単な検索で見つけられることはデータベースへ登録し、別のことがらと融合して新たな価値が出る場合には報告、というのが個人的な方針です。このブログは雑音ですが、拡散していないので許してください。と、自意識過剰な体重 61.6kg、体脂肪率 19.7%。



2005-09-13

ジャック・フォスター / アイデアのヒント

ジャック・フォスターの「アイデアのヒント」を読了しました。とは言っても、速読という名の流し読みです。



「つけなくてもいい条件を付けていないか?」「不必要な制約を自分で作っていないか?」と。(p.140)


富豪的にものごとを考えるようにしています。I/O 集約的なシステムでは、CPU パワーが PCI に比べて大きいので、CPU レベルでのプログラム最適化はほとんど意味がない場合がある。しかし、PCI Express が出てくると、こんどは I/O デバイスがボトルネックになってしまう場合があります。なのでちまちま最適化してはならぬのです。



「アイデアをもっているが、そのアイデアを使って何もしない」のと「まったくアイデアをもっていない」のとは同じことである。(p.224)


10年ほど前、ベンチャー・キャピタルの人に「農村の人手不足を、就職活動にあぶれた新卒でおぎなう」というのはどうか」とちらっと言ったことがあります。そのときは、酒の席だったので、お互い軽く流しました。先日、ニュース番組で「農村の人で不足をニートでおぎなう」という人材派遣会社が紹介されていました。というわけで、当たり前だと思っても、とりあえず書き残して、実行のきっかけにしていこうと思いました。



体重 62.2kg、体脂肪率 19.6%



2005-09-12

無理のないダイエット

昨日、フィットネスクラブで、調子に乗って、ウェイトトレーニング、エアロバイク、エアロビクスをこなしました。明らかに失敗で、今日、ろくに動けませんでした。危うく投票に遅れそうになるほどです。



どうも膝を痛めそうな雰囲気なので、エアロビクスは当分控えます。ウェイトトレーニングでケガをしにく体を作ってから、本格的な減量を開始します。



体重 63kg、体脂肪率 21%



狸御殿

狸御殿 というオペレッタ(オペレッタ映画なのか?)で、和服姿のチャン・ツィイーが拝めるらしい。という記事が、通勤中、向かいのおっさんのスポーツ新聞に載っていました。Maybe リストに登録。



702NK (Nokia 6630) を音楽再生機に

1ヶ月ほど TODO リストに居座っていた「702NK 用のイヤホンを買う」を実行しました。音声ファイルを聞くためです。



予想外なことが2点ありました。ひとつはマイクがついていて通話できること。もうほとつは思っていたよりコードが邪魔なこと。ワイヤレスのヘッドセットにすればよかったかも知れません。



通勤途中に、702NK 標準搭載の Real Player で CNN ビジネススペシャル を聴くのが目的です。英語力、とくに聞き取りが著しく低下しているので、やり直しです。できることからコツコツと始めます。ついでに、最近購入した、矢野顕子の「Piano Nightly」も入れておきました。



702NK の Real Player に転送するファイルは、iTunes の *.m4a ファイルを使います。ファイル名変更やプレイリストが必要なので、スクリプトを書きました。カレントディレクトリの *.m4a ファイルを 702NK 用に名前変更し、プレイリストをつくります。




#/bin/sh
# mk702musics
# usage: mk702music playlistName

PLAYLIST=$1

echo "#EXTM3U" > $PLAYLIST.m3u

for X in *.m4a

do

Y=`echo $X | sed 's/m4a/3g2/'`

mv "$X" "$Y"

echo $Y >> $PLAYLIST.m3u

done



2005-09-10

コメントの交換

大橋禅太郎の「すごい会議」の中で、



会議の時間の九五%は「コメントの交換」に使われている、ということだ。(p.76)


というくだりがあります。本日、参加した会議にで、コメント以外の発言の割合がどのくらいか考えると、へこんでしまいます。自戒



体重 63kg、体脂肪率 20%



2005-09-09

ジム通い3回目

ジム通い3回目。初回の体力測定の結果が出ました。1週間に5回20分程度のウォーキングをして、毎日食事から100kcal減らすと、14週間で、58.8kg、15% の体になれるらしい。


体重 62kg、体脂肪率 20%



2005-09-08

ゆっくり減量

体重 62kg、体脂肪率 20%



急激な減量を期待しているわけではないけれど、なかなか減らないなぁ。パンツが苦しくなくなった気がするが、気のせいだろうか。



2005-09-07

ジム2回目

ジムに行ってきました。入会してから2回目です。仕事帰り、夜8時ごろ行きました。人多すぎ。メニューをこなすために、マシンを待っている時間に 30% くらいを費やした気がします。平日は、3セットではなく、2セットにしようかな。



体重 62kg、体脂肪率 20%



2005-09-06

702NK でカメラ撮影する Python スクリプト


import camera
image = camera.take_photo()
image.save('E:\\scripts\\photo.jpg')


たったこれだけのスクリプトを実行すると、撮影して保存する。



体重 62kg、体脂肪率 20%



2005-09-05

電車で妄想すること

電車内でのベッキー対策より



電車と平行して走る忍者のことをよく妄想


仲間を発見! ゆえに地下鉄は嫌いです。



重松清 / かっぽん屋

重松清のかっぽん屋を読了しました。短編集です。「失われた文字を求めて」は星新一の作品に出てきそうな話ですきです。別の作品の中で、すばらしい洞察がありました。曰く...



オナニーには二種類ある [...] 一度でもセックスを知ってからのオナニーはセックスの代用品になってしまう。しかし、童貞時代のオナニーは絶対無二の行為である。(p.132)


この絶対無二っていうのが、あまりにも真実すぎると思う。



2005-09-04

出張で発見したこと

先週は、出張で大阪に行きました。気づいたことなど。




  • セミナーの仕事でした。会場に行って、同僚がいるかなぁとドアに近づいた瞬間、お客様が出てきてびっくり。私服だし、でも無視もできないし、中途半端な会釈してしまいました。うかつすぎ。

  • 喫茶店のおっさんがおもろい。モカが運ばれた瞬間くらいに、店を出る用事ができた。カップにはモカが残っている。会計するとき、すこししか飲んでいなくて申し訳ない、また明日来る、と言う。おっさんは、冷凍して置いておく、と言った。

  • 東京ブックをリアルタイム受信。田口氏は、忙しいのにいつ東京ブックやブログを書くのか。むしろ、仕事ができる人は、どんどんスピードが上がるのだろうか。



フィットネスクラブに行ってきました

フィットネスクラブに行きました。体重と体脂肪率の測定をすると、体重 61 kg、体脂肪率 25 % と出ました。自宅で測ると 21 % 前後なのに。しかし、フィットネスクラブの体脂肪計を信じるしかあるまい。



初回は体力測定しますと告げられ、エアロバイクにまたがりました。ゆるゆるペダルを回して、3分ごとに負荷が上がっていき、それでも同じペダルの回転数を維持するという測定でした。10分の測定が終わると、小型のプリンタから結果が出て、液晶パネルに大まかな結果が表示されました。「ヤヤ オトッテイル」 劣っている、らしいです。誰に対して?