はてなブックマークのこと

jspeedのDDNSが有料化するらしいのと、ロボットがひどくてしょっちゅうスワップするようになったのと、あれやこれやと家庭の事情で光化しそうなので、blosxomから他のに乗り換えようと色々触ってます。turboblogとかgibeとかtypefaceとか(wordpressも)。

turboblogとかエントリ書くのにwysiwygだったりとかして一見使いやすそうだったりするんだけど、書き続けられるかとか考えたときにうーんとなってしまう。wysiwygはwysiwygが必要なひとのためだけにあるんではないか?と最近は思ってます。

なんで、ここはpyblosxomかなぁとかいって一週間ほど時間を見つけていじってたのだけど、タギングがプラグインなのと、エントリ増えたときに遅くなりそうな実装だったので、却下の予感(ボット恐怖症)。

これで行こうと思えるものがなかったので、結局Catalystでシコシコ書いてる。Catalyst+Mochikitの組み合わせでやる気。最近Web Standards DesignとかAjax デザインパターンとか読んだのでAjaxとかCSSとかいじるの楽しいという事情もあったりするわけだが。

ProductName Ajaxデザインパターン ―ユーザビリティと開発効率の向上のために
Michael Mahemoff
オライリー・ジャパン / 5040円 ( 2007-05-15 )


コメントは、はてなブックマークでつけられたコメントをblosxomにインクルードみたいにしようと思ったが、はてなブックマークのコメントは基本的に対話とは無関係だから、短文の感想だよなと改めて思った。

小太郎でラーメン

富士にもあったので寄ってみた。

九州のトンコツラーメン。麺細めでストレート。

小太郎

久々に食べた。

optparseでコマンドラインオプション解析

perlでいうGetopt::Long のようなものはgetoptでおこなえる。が、pythonにはさらにoptparseなるものがあるらしいので、今回そっちを使ってコマンドをつくってみた。

6.21 optparse -- より強力なコマンドラインオプション解析器

optparse モジュールは、getopt よりも簡便で、柔軟性に富み、 かつ強力なコマンドライン解析ライブラリです。 optparse では、より明快なスタイルのコマンドライン解析手法、 すなわちOptionParser のインスタンスを作成してオプションを 追加してゆき、そのインスタンスでコマンドラインを解析するという手法を とっています。optparse を使うと、GNU/POSIX 構文でオプションを 指定できるだけでなく、使用法やヘルプメッセージの生成も行えます。

オプションとヘルプ用の情報を一緒にaddする。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#!/usr/bin/python

import sys, re
from optparse import OptionParser

parser = OptionParser()
parser.add_option("-i", "--input", dest="input",
                 help="read from MOL2 FILE", metavar="FILE")
parser.add_option("-o", "--output", dest="output",
                 help="write to GAMESS INPUT", metavar="FILE")
parser.add_option("-t", "--type", dest="type",
                 help="select calcuiation type", metavar="TYPE")

if __name__ == "__main__":

   (options, args) = parser.parse_args()

-hでヘルプが出力される。

$ ./test.py -h
Usage: test.py [options]

Options:
  -h, --help            show this help message and exit
  -i FILE, --input=FILE
                        read from MOL2 FILE
  -o FILE, --output=FILE
                        write to GAMESS INPUT
  -t TYPE, --type=TYPE  select calcuiation type

無理なく続けられる 年収10倍アップ勉強法

perl debugger pocket referrenceが1200円くらいで、アマゾンの送料がもったいなかったので、他に一冊でもとあまり考えずに買ったけど、これはなかなか良かった。数時間あれば読めるし、それだけでちょっと自分の考えが少し前進した(気がした)のでそういう意味で良い本だ。

ProductName 無理なく続けられる 年収10倍アップ勉強法
勝間 和代
ディスカヴァー・トゥエンティワン / 1575円 ( 2007-04-05 )


お金儲けの本ではなくて、どうやって自分の意識を高めつづけるかということに関しての一つのアイデアの提示本。役に立つ資格が重要。

  • 英語
  • 経済感覚
  • 会計感覚

モチベーションを保ち続けること。そのためにはこまめなアウトプット(進んでいる感を味わえる環境作り)

そういう意味でblogはいい。

jspeed有料化

JSPEED DDNSインターフェース

これまで無料で提供してきました、bne.jp、jspeed.jp、ii2.cc、jdyn.cc ドメインを利用した無料ダイナミックDNSは2007年9月1日を持ちまして終了させていただきます。

やっぱ有料化か。ちょうどいい機会なので独自ドメインを取得することにした。

次世代ウェブ読んだ

ブックオフにあったので。

ProductName 次世代ウェブ グーグルの次のモデル (光文社新書)
佐々木 俊尚
光文社 / 798円 ( 2007-01-17 )


ちょっと、時間が経っているということもあって(既に)古臭く感じるとこもあるってのに驚く。特に面白そうと感じているのが人の行動の蓄積そのものが巨大なデータベースになっていくくだり。

僕も、どういう論文読んでどういう風に感じたかという行動をDB化するサービスを職場で運用してるけど根底はまさに行動の蓄積をしてみたかったというわけだが、いまのとこデータのたまり具合がよくないなぁ。

サービス動かしてみてよくわかったのは、一部の人はメチャクチャ論文読んでて、読まないやつはホントに読まんってことくらい。そういう部分からしてZipf分布。

web2.0的なものって集合知っていうよりは知識の空洞化を引き起こすもので、大多数に支持されるしょうもないことと少数のエキスパートによる極めて特異なことの分離を促進するだけなのかもと思った。

ソーシャルってのもどうかなぁ。というかその先がそろそろ気になる年頃。

pythonで改行コードを取り除く場合

perlだとchopとかchompとかしますが、pythonだとどうするんだろうか?

最近はこんな感じ

for line in open(filename,"r").readlines():
    choped_line = line[:-1]

こういうやり方もあるらしい。

for line in open(filename,"r").readlines():
    choped_line = line.rstrip('\n')

今のところは改行コードをstripするというメソッドよりは, 文字列の0-最後から-1番目っていう前者のほうがなんとなくわかりやすいかなと思う。

梅酒を仕込む2007

去年つけた龍宮はミニチュア斗瓶に移して。

今年は朝日(黒糖)、木火土金水(蕎麦)の二種類。

U隊長には「えー蕎麦~?」と言われた。でも漬けてみないとわからんではないか、何事もチャレンジですよ。ということで押し切った。

焼酎は御殿場、森の腰の島田酒店で調達。最近焼酎飲まないのでご無沙汰してたが、久々に行ったら、焼酎だらけになってた。

とか言って今宵は「中々」呑んでたり。

ジャンジャン軒で黒ゴマタンタン麺

御殿場駅前、ジャンジャン軒。

この前普通のラーメン頼んだので、今日は黒ゴマタンタン麺。

普通のラーメンのほうが美味かった。ゴマの風味がきつすぎてちょっとスープがぼやけてしまう感じ。

というか、僕があまり味噌ラーメン好きでないからそう思うだけかもしれんが。

PythonでOracleにアクセスしてみる

pythonでOracleにアクセスするにはcx_Oracleを使うと良いらしい。

Cafe de Paison: cx_Oracle

cx_Oracle はOracleデータベースを操作する機能を提供するPythonの拡張モジュールです。 www.python.orgが提唱する Python DATABASE API 2.0 にも準拠しており、 幾つかあるPythonのOracleモジュールの中でも特に完成度が高いソフトウェアです。

FC2に10gのクライアントをインストールしたマシンがあったので、FC5用のRPMをインストールしてみたらさくっと入った。なんかあっけないほど簡単だった。

これで、9iのインスタンスに接続してみる。

import sys, string, cx_Oracle

filename = "test.csv"

con = cx_Oracle.connect("user/pass@orc")
ora = con.cursor()

s = "select max(id) from sample_table"
ora.execute(s)
max_id = ora.fetchone()[0]

print max_id

ora.close()
con.close()

なんかDBIみたいだ。