08062012 iPhone
面白かった。
古川さんの「上を見て」仕事をするタイプと「天を見て」仕事をするタイプという話が心に残った。
梅田望夫さんの対談で出ていたような、お墓の永代供養料のようなブログサービスというようなサービスは必要だろうなぁとおもう。
僕の中ではやっぱjoyride in high gearかなぁ。
でも更新しないと検索エンジンの順位がだんだん下がっていってヒットしにくくなっちゃうんだよねー
08062012 iPhone
面白かった。
古川さんの「上を見て」仕事をするタイプと「天を見て」仕事をするタイプという話が心に残った。
梅田望夫さんの対談で出ていたような、お墓の永代供養料のようなブログサービスというようなサービスは必要だろうなぁとおもう。
僕の中ではやっぱjoyride in high gearかなぁ。
でも更新しないと検索エンジンの順位がだんだん下がっていってヒットしにくくなっちゃうんだよねー
07062012 coffeescript Node.js
ちょっと前にTest Driven Development with a Node.js TCP Server?っていう質問を見つけて、コメントにmocha使えやって書いてあったのでmochaが気になっていた。
ちょっとドキュメントみたんだけど、jasmineみただなぁと。それからいまいち良さが伝わってこない。vowsでいいじゃんと。
もうちょっと探したら、同じようにvowsから移行しようかなぁっていう質問もみつけた。
Should I switch from Vows to Mocha?
done callbackがいいらしいが。
なにかで使ってみないとわからんなぁ。
07062012 jade
フィードのエントリを表示することを考える。そうするとエントリ数が0の時になにか表示しないといけないが、Jinja2だとfor-else構文があるのだけどjadeではないっぽい。
なので、先頭のエントリがあるかないかで条件分岐させるというテンプレートを書いたんだけど、見た目が悪いというかなんかださい
if entries[0] for e in entries h3 #{e.title} p #{e.summary} else h2 no entries
もうちょっと綺麗な書き方はあるんだろうか?
06062012 Node.js
今月末にやるハンズオンのサンプルを作りました。興味があったら是非参加してください。そしてNode.jsについて熱く語り合いましょう、さらにその勢いでHaskell+yesodを誰か僕に教えてください。
どんなものをつくるのかはherokuにデプロイしておいたので参考にしてください。コードはGithubです。
テストのために今朝ちょいとtwitterで「書いてみて」ってお願いしたら、こんなにたくさんの画伯が描いてくれました。感謝。

さて、ハンズオンの流れ的には、
あとは、サーバーサイドな内容(EventEmitterまわりかな?)が一本入る予定になっています。楽しみですね。
次の日には浜松で浜松 Titanium Mobile 勉強会があるので、土曜はしぞーかおでんを(イベントドリブンで)食べつつ、日曜は浜松でひつまぶしつつTiっていう小旅行勉強会的な何かもいいんじゃないかなー
浜松行きたいんだけどなー
05062012 life
Introduction to Information Retrievalの日本語版が出版されるようなので予約してみた。
05062012 SuperCollider
この通りにやってみただけなんだけどね。
面白そうなので、この本をWishListに追加しておいた。
04062012 三島
先月のことだと思うが。
動物が沢山いるのでオススメ。ちなみに、暴れて捕まったアンラッキーな猿であるところの名称「ラッキー」は写真撮影禁止だったので撮れなかったが、見栄えのしないただのニホンザルだった。
レッサーパンダ

ワラビー

カピバラ

機関車。息子が大喜び

馬その壱

馬その貳

個人的には植物当てクイズのプレートが面白かった。
03062012 drum'n'bass
ここらへんが気持ちいい。
まぁ、半分以上オススメですわな。
03062012 家庭菜園
今年は栗じゃが(キタアカリ)を植えた。
ちょっと早いかなと思いつつも梅雨に入る前に収穫してしまえと、子どもと一緒に芋掘りしてきた。

家に帰ってから測ったら7.8Kgあった。なかなかの収量。

ズッキーニも花が咲いて実がついていたので週末に収穫かな。

オクラも定植したが、ちゃんと育ってほしい。

それから、ベランダのポットに空芯菜の種をまいて、リーフレタスのコンテナを一つ増やしておいた。
03062012 Python
いままでは、なんとなく慣れているという理由で昔ながらのformat(%dとか%s)を使っていたのだけど、最近stringのformatメソッドに切り替えたので、ドキュメントを読んでみた。
文字列のなかで中括弧で挟んで埋め込みを指定するようになっている。conversionは現状repr(!r)かstr(!r)を指定できるようになっているがあまり使わないのでformat_specのほうを。
replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}"
Format Specificationによると
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type] fill ::= <a character other than '{' or '}'> align ::= "<" | ">" | "=" | "^" sign ::= "+" | "-" | " " width ::= integer precision ::= integer type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
30文字幅で中央寄せでtestという文字を埋め込み、空いてるところは"-"で埋める
>>> "{:-^30}".format("test") '-------------test-------------'
<は左寄せ、>は右寄せ、^は中央寄せ。=はよくわからん。
正数のときどう表示するかだな。
>>> "{:+05}".format(33) '+0033' >>> "{:+05}".format(-33) '-0033' >>> "{:-05}".format(33) '00033' >>> "{:-05}".format(-33) '-0033' >>> "{: 05}".format(33) ' 0033' >>> "{: 05}".format(-33) '-0033'
widthは幅で0からはじまる場合は空いてる部分は0で埋める。
>>> "{:05}".format(20) '00020'
precisionが精度で、小数点以下じゃなくて全体で何桁って感じ。
>>> "{:10.5}".format(10/3.0) ' 3.3333' >>> "{:10.5}".format(100/3.0) ' 33.333'
最後にfをつけると固定長表記
>>> "{:10.5f}".format(100/3.0) ' 33.33333' >>> "{:10.5f}".format(10/3.0) ' 3.33333'
comma(,)は1000桁毎にカンマを打つオプションwidthとprecisionの間に入れる
>>> "{:10,}".format(123456789) '123,456,789'
最後に型指定
結構素直な表記なので文法見ながら追っかけていったら大体理解できた。