2006-10-07(Sat) [長年日記] [Edit]
■1 『レディ・イン・ザ・ウォーター』@TOHOシネマズ錦糸町
角谷家では新作を必ず劇場で目撃することにしているシャマランの新作。「これはヒットしない!!すぐ終わる!!」という予感がビンビンするので早めに突撃してきた。……これはヒットしない!! 主人公のポール・ジアマッティーがシャマラン的アーキタイプな人物を丁寧に演じてるし、撮影もクリストファー・ドイルだし、映画館で観るに足る……というか自宅でDVDだと最後まで観つづけることはできなかったかも。コの字型の集合住宅の住民モノ好き(つまり特定香港映画やインド映画なわけだが)必見の一作。
君は「ストーリー」を信じるか? 否、信じるだけでは十分ではない。君は「ストーリー」になれるか? 「内なる声」に耳を傾けよ。評論家はいらない(犬に食われて死ね!!)。時代は変わる。The Time They Are A-Changin'……。
シャマランって、映画監督の友人は居ないのかなあ。居ないんだろうなあ。これはピュアすぎる。ナイーブすぎる。リュック・ベッソンが脚本を書いたのかと思った。作家主義というか文字通りオレがオレが!!って。中学二年生ですか。ヒッチコックやスピルバーグの撮り方だけじゃなくて仕事のスタイルにも学んで欲しいなあ。このまま沈んでいくには惜しすぎるよ。『ヴィレッジ』に続いて、big badgetの使途が微妙だった。
ちなみに我が家でのシャマラン評価は「『サイン』最高!『アンブレイカブル』素敵!『ヴィレッジ』いいじゃない。むしろ『シックス・センス』がマグレ! 」である。
サイン [DVD](M・ナイト・シャマラン/キャスリーン・ケネディ)
アンブレイカブル [DVD](M・ナイト・シャマラン)
ヴィレッジ [DVD](M.ナイト・シャマラン)
シックス・センス コレクターズ・エディション [DVD](M.ナイト・シャマラン)
2006-10-09(Mon) [長年日記] [Edit]
■1 RubyConf 2006 Agenda
ささださんとこ経由。開幕が高橋会長による「Rubyの歴史」。RubyKaigi2006と同じだーーが、どうやら今回はDX高橋メソッドになるらしい。本家本元高橋メソッドが海外Rubyistの度肝を抜くことになるかと思うと勝手にワクワクしちゃう。ささださんは最終日に登壇の模様。バシっとYARVでシメてくれることでしょう。
1セッションあたり50分とか60分とかなんだなあ、と。昨年までとはちょっと違った見方でタイムテーブルを眺める。程よくごった煮感が出てるのがいいなあ。あと「Conference Dinner, sponsored by ThoughtWorks」というのがカッコいい。こういうことをやる会社に勤務したいよね。
DXPresentationはTDD
DXPresentationは「高橋メソッドを用いた 3D プレゼンツール」と謳っているが、その開発にも高橋メソッドを用いている模様:
それでもいくつか機能的に不満なところもあったのですが、作者の方にメールしたところすぐに対応していただけました。これもうれしい点ですね。
Takahashi Driven Development。(元ネタはid:ogijunの人)
2006-10-10(Tue) [長年日記] [Edit]
■1
「第一回 全日本腰リールカンファレンス」10/19に開催
全日本腰リール連盟(全コ連)による、初の腰リールオンリーイベントが来る10/19の夜に、新宿にて開催される運びとなった模様。世界三大腰リーラーが登壇予定。世界三大腰リーラーとは:
- 懸田さん(「腰リール」命名者)
- Akiyahさん(腰リールスターターキット発明者)
- id:t-wadaさん(『Life Hacks Press』で腰リールを紹介)
昨今、腰リールは日経TRENDY、日経ビジネスAssocieといった雑誌や日経産業新聞に取り上げられ、"XPの父"Kent Beckも愛用(氏は腰リールを装着したまま講演を行なう)するなど、よくわからない盛り上がりをみせています。今回のカンファレンス開催は、この勢いに乗ったものと思われます。どうみても悪ノリです(ry
■2 【特報】日本Rubyカンファレンス2007のお知らせ【開催】
RubyKaigi、来年もやります。会長からのアナウンスにもあるように日程は、2007/6/9(土)、6/10(日)の2日間。 さしあたっては予定だけは開けておいてください。
発表は一般公募します(これはRubyKaigi2006のフィードバックで最も多かった意見)。日本Rubyの会経由での企画の応募も受け付けます。RubyKaigi2007の公式サイトもそのうちオープンする予定です。
■3 息子がベランダから見える月に向かって手を伸ばして「取れない」と言った
あの月を取ってくれよと泣く子かな。酔った李白は川面に映る月を取ろうとして溺れ死んだという。
2006-10-16(Mon) [長年日記] [Edit]
■1
CarbonEmacsでのフォント設定
「Emacsのフォント設定には手を出しちゃいけない」というお婆ちゃんの言いつけを守っていたのだけれども、様ざまな要因が重なったこともあって、ちょっと手を出してみた。
- アルファギークは9ポイントでコードを書くらしい。私も以前はやっていたけれど今はもう無理。
- 今やすっかり14ポイントの住人。
- デフォルトのCarbonEmacsはアンチエイリアスが効きすぎ。14ポイントだと日本語がモヤモヤする。
- 14ポイントでアンチエイリアスを切ると、コードはともかく日本語の表示が哀しすぎる。
- 日本語は読めればいいやと思っていたが、CarbonEmacsで日本語を読み書きする時間が長い今日この頃。
- Macなのにあんまりキレイじゃないフォント表示を眺めている時間のほうが長い!!
- 隣に座ってる人がTermina.appとvimとm+(bitmap)で幸せそう。
- Macなんだし、ぼくも自分の目に心地良いフォントを眺めて暮したいなあ。
- Appleの営業のひとが「アンチエイリアス!アンチエイリアス!」と言ってたな……。←いまここ
- 14ポイント + アンチエイリアスの村で幸せに暮しましたとさ。
$HOME/.emacs.el
こんな感じで書いてみた。むつかしいよ……。日本語っぽいものはm+ 1mnのウェイトがthinのやつにしてみた。m+は種類がいっぱいあるけど違いがよくわからない。
ASCIIは素直にmonaco。Terminal.appではBitstream Vera Sans Monoを使ってるんだけど、アンチエイリアスをかけると私にはイマイチ(なのでターミナルはまだアンチエイリアス化してない。Debian時代の名残)。
(if (eq window-system 'mac) (require 'carbon-font)) (setq mac-allow-anti-aliasing nil) ;; 私は切ったほうが好み (defvar carbon-font-encode-family-list-monacomplus '((ascii . "monaco") (japanese-jisx0208 . "m+ 1mn thin") (katakana-jisx0201 . "m+ 1mn thin") (japanese-jisx0212 . "m+ 1mn thin") (chinese-gb2312 . "stheiti*") (chinese-big5-1 . "lihei pro*") (korean-ksc5601 . "applegothic*"))) (carbon-font-create-fontset "monacomplus" carbon-font-defined-sizes carbon-font-encode-family-list-monacomplus) (fixed-width-set-default-fontset "-*-*-medium-r-normal--14-*-*-*-*-*-monacomplus")
mac-allow-anti-aliasingは私にはクドイなあ、と感じたのでnilにした。
14ポイントでのアンチエイリアスを有効にするために、アンチエイリアスの閾値を12ポイントに変更するオマジナイをターミナルから入力する:
defaults write org.gnu.Emacs AppleAntiAliasingThreshold 12
これまでは14ポイントを閾値にしてアンチエイリアスを切っていたのを忘れていて、ちょっとハマった。
結果はスクリーンショット(アルファチャネルが反映されてるっぽい)のような感じになって、なかなか気に入ってる。行間をもうちょっとだけ詰めたいと思っているのだけれども、これまでとは雲泥の差。しばらくこれで暮らしてみるつもり。
『Emacs辞典』というか佐藤さん
Emacsのフォント周りは『Emacs辞典』が参考になる。最後の1章が丸ごとフォントとエンコーディング。分量も50ページ近くある。この辞典は単なるEmacsの使い方だけでなく、Emacs Lispの入門(とリファレンス)も充実。EmacsはEmacs Lispの処理系そのものなんだからEmacsの本でEmacs Lispをちゃんと説明するのは当たり前、という意図なんだと思う。ハンディな判型に高い情報密度。佐藤さんも底知れなさを感じる。
で、佐藤さんといえば(artonさん + るいもさんの連載でお馴染みの)『開発の現場 Vol.6』に「Wordを駆使した”賢いドキュメントの作り方/佐藤竜一」という記事を寄稿しているっぽい。佐藤さんのWordテクニックを目撃したことがあるのだけれども、私には魔法にしか見えなかった。
2006-10-24(Tue) [長年日記] [Edit]
■1
『WEB+DB PRESS Vol.35』:実演! テスト駆動開発
祖母の一周忌でIP unreachableな沖縄に数日引っこんでいる間に様々なイベントに乗り遅れた、だがしかし。以下はカッとなって書いた:
あらゆるアルファギークなお歴々による連載記事の読みごたえはここ最近の本誌の常だが、こと今号については、我らがid:t-wadaさんによるTDD記事の第1特集「実演!テスト駆動開発」、である。読め。編集者2.0、グレイトジョブ!!!!!!!
ハッカーが「見てるとやっぱめんどそうだなあ。Eclipseの中で生活できる人はあれでもいいのかも知れないけど。」とコメントしている。だがしかし。その「あれ」とはどれだ?
TDDはハッカーのための技術ではない。ハッカーにTDDは要らない。ただただハックすればよい。偉大なプログラマは偉大なプログラミングをすればよい。だが、ハッカーならぬ凡百たる私のような"普通の"プログラマはそうはいかない。TDDは我々が日々の仕事に自信を持ち、誇りを持って定時に帰るための思想だ。
TDDの真ん中のDは何か。私の日々の仕事をドライブしているものは何か。ハッカーはテストがなくともDirveされる(Drivenな)存在である。たぶん。彼らは怠惰だ。短気だ。傲慢だ。だが、少なくとも私には怠惰が足りない。怠惰が足りないプログラマの仕事をドライブするものこそテストだ。私は毎日が不安だ。自分のコードは「正しい」のか。私の書いたコードに「意味」はあるのか。「価値」はあるのか。ならば、そうだ。テストだ。「不安」をテストにするのだ。吉良吉影は静かに暮らしたい。
我々は偉大なプログラマにはなれないかもしれない。だが、偉大な習慣を身につけたプログラマにはなれる。確実に。TDDとは、そういうことだ。
この項「あとで書く」……ので、id:t-wadaさんの「実演! テスト駆動開発」を読め。特設サイトも必見。この号はプレゼントとして『テスト駆動開発入門』が2冊あることもお見逃しなきよう。読め!! 而して写経せよ!! D is for Driven。クは駆動のク。
2006-10-25(Wed) 二人の囚人が鉄格子の窓から外を眺めたとさ。一人は泥を見た。一人は星を見た。 [長年日記] [Edit]
■1
「Test makes hackers also happy」
2,3,5,7,11,13,17,19,23,29,31...(あとで書く)
2006-10-26(Thu) [長年日記] [Edit]
■1
『 パターンによるソフトウェア構成管理』
marsさんとこ経由。翔泳社えらい!!!! 『達人プログラマー以下略』(ASCIIのほう)のバージョン管理編に挙がっている参考文献のなかで唯一、邦訳が存在しておらず、ごく一部では邦訳が強く望まれていた一冊。わー。日本語で読めるんだー。
読むべきは「ブランチやマージってどうやって運用したらいいんだろ?」って思ってる人.
同意です。Subversionへの言及がなくても、読む価値があると私は思う。
■2 「test 時に sqlite3 のオンメモリーDBを使う」をちょっとイジってみた
memory_test_fix pluginでsqlite3をインメモリにしてテストをブン回すのがお気に入りなんだけど、migrationのメッセージが毎回出力されて鬱陶しいなあ、と思っていたらセカちゃんがそれを抑制する方法を書いてくれたけれども、これだと何にも出なくなってちょっと不安だからdatabase.ymlで設定できるようにしてみた:
memory_test_fix.rb
# MemoryTestFix def in_memory_database? ENV["RAILS_ENV"] == "test" and ActiveRecord::Base.connection.class == ActiveRecord::ConnectionAdapters::SQLiteAdapter and Rails::Configuration.new.database_configuration['test']['database'] == ':memory:' end def verbosity Rails::Configuration.new.database_configuration['test']['verbosity'] end def inform_using_in_memory puts "Creating sqlite in memory database" end if in_memory_database? load_schema = lambda { load "#{RAILS_ROOT}/db/schema.rb" # use db agnostic schema by default # ActiveRecord::Migrator.up('db/migrate') # use migrations } case verbosity when "silent" silence_stream(STDOUT, &load_schema) when "quiet" inform_using_in_memory silence_stream(STDOUT, &load_schema) else inform_using_in_memory load_schema.call end end
で、database.yml に設定を書く:
インメモリだよん、のメッセージだけ出す
test: adapter: sqlite3 database: ":memory:" verbosity: quiet
とか
セカちゃん式(何も出ない)
test: adapter: sqlite3 database: ":memory:" verbosity: silent
追記
quietとsilentを逆にした(Rakeのオプションに合わせた)。英語むつかしい。
2006/10/28追記
(quietとsilentの間違いの意図を酌んでもらって)本家にcommitされた。わーい。Rev.133以降なら上の設定が有効になる。
2006-10-27(Fri) [長年日記] [Edit]
■1 PofEAA読書会の取りまとめ役を(勝手に)放棄します
PofEAA読書会を「RubyKaigi2006の準備があるから……」と思い2006年6月以降、中断させてもらったまま再開のメドを立てられておらず、今後もおそらく無理っぽい。そんな状況で再開のボールを私が抱えているのは、再開を楽しみにしている方々と、私じしんの双方にとって良くないので、明示的にギブアップ。ごめんなさい。
毎回会場を提供してくれたオージス総研さんありがとうございました。JavaEE勉強会やSICP読書会を継続させているかっくんは偉大だ。
参加者の皆さんのおかげで、勉強会は自分にとって、単にパターンを学習するにとどまらず、エンタープライズアプケーションのアーキテクチャを考えるということは、SI現場の力学のなかで、顧客・顧客の状況・構築システムのコンテキスト・一緒にシステムを構築する人たち、といった様々なステークホルダー間でのバランスを取る営みだということを学ぶ貴重な機会でした。
id:ogijunさんからは「また人狩りをしたくなったら再開すればいいんじゃない?」とありがたいお言葉を直接いただきましたが、人狩り(=中途採用者を探す)を目的に開催していたわけじゃありませんから!! 結果的にそうなってた感は否めませんが、狩りをしていたのは私だけじゃないし :-)
引き継いでくれる方はいつでも募集してます
なんらかの手段でかくたにまで連絡をいただければ、引き継ぎ作業には喜んで応じます。いつか再開されるといいなあ。
2006-10-28(Sat) [長年日記] [Edit]
■1 OSC/2006 Fall
「日本Rubyの会の今後を考える会」で、RubyKaigi2007の追加情報をアナウンスしました。スライドのHTML版とPDF版|HTML版を置いておきますが、ただKeynote使いたいだけで情報量は少ないので以下にまとめておきます:
- 日程: 2007/06/09(土)〜2007/06/10(日)
- 於: 都内某所(御茶ノ水)
- 基調講演:
- まつもとさん
- Dave"達人"Thomas
- セッションは基本的に公募
- RubyKaigi2007公式サイトは2006/12/01(金)オープン予定
セッションの内容は大森さんが早速記事にしてくれて、それにNPOなSeasarファウンデーションを設立に携ったはぶさん、まさたかさんが反応してくれている。うれしい。
■2 ご挨拶が遅れましたが、日本Rubyの会第3期の理事に就任しました。
よろしくお願いします。
2006-10-30(Mon) [長年日記] [Edit]
■1
『 ファシリテーション・グラフィック—議論を「見える化」する技法』
児玉さんが編集者2.0に勧めていたので買ってみた。PROCKEY大好き。バーンダウンチャートを書くのに欠かせない。
■2 redgreen(1.1)をインストールしたらgem_serverでAPIサーバに接続できなくなる
とりあえず以下で回避は可能。homepageはStringじゃないとダメなのかな?
$GEM_HOME/specifications/redgreen-1.1.gemspec
--- redgreen-1.1.gemspec.orig 2006-10-30 15:49:18.000000000 +0900 +++ redgreen-1.1.gemspec 2006-10-30 15:50:55.000000000 +0900 @@ -4,7 +4,7 @@ s.date = %q{2006-08-23} s.summary = %q{redgreen is an expanded version of Pat Eyler's RedGreen} s.email = ["[email protected]", "[email protected]"] - s.homepage = ["http://errtheblog.com/post/15", "http://on-ruby.blogspot.com/"] + s.homepage = "http://errtheblog.com/post/15, http://on-ruby.blogspot.com/" s.description = %q{redgreen is an expanded version of Pat Eyler's RedGreen. It will install a 'rg' file in your bin directory. Use that as you would use 'ruby' when running a test.} s.autorequire = %q{redgreen} s.default_executable = %q{rg}
根本的な解決は、作者の反応待ち。
○ 平鍋 [「内なる声」に耳を傾けるだけでは、ダメなのか!? 目撃してきます、です。]