ぐる式 (貳) より引っ越し作業中.未完.

2009年12月31日木曜日

和田憲明『7Days Judgement -死神の精度-』2009

「なるほど.人間ってのは,この,眩しいときと笑うときに似た顔になるんだな」 © 千葉.

ラサール石井が出てる芝居で初めて面白いと思った (笑).いきなり "Tubular Bells" の冒頭で始まるが,何事かと思う間もなく停止 (笑).あとは全編古き良き時代のストーンズのルーズなロック. "Brown Sugar" を筆頭に,おそらく全部デッカ時代だと思われ.他に,「ゆったりとした透明感のある女声」も出て来るが,これはちょっとだけ本筋に絡む.

CD ショップの試聴コーナーのヘッドフォンって,パサパサしててめっさ音悪いっしょ? あんなんでは聞くことはできても聴くことはできねぇんじゃねぇの?

お話は NHK によればこんな感じ.

中年男の姿で人間界にやって来た死神・千葉。「死神」は、調査員として人間界に派遣され、その人物に定められた死を実行すべきか否か、 7 日間観察して判断し、報告するという仕事を司っている。そんな千葉が今回担当するのは、藤田という名前のヤクザ。ある日。千葉は、ひょんな事で藤田が暮らす家に辿り着き、そこで藤田と出会う。藤田は、千葉が思い描いていたヤクザのイメージとは違い、筋の通らない事を嫌う馬鹿正直なくらい任侠の男であった。

その藤田は、自分の兄貴分だった男を殺した「クリキ」という男を捜しているという。「クリキ」の居場所を知りつつも知らないフリをしていた阿久津。それには、阿久津が幼かった頃の出来事に関係した深い理由があったのだった・・・。

7 日後の藤田の命のジャッジを握る千葉は、果たしてどんな結論をくだすのだろうか?

まぁ,一種のクリスマス・キャロルというか『素晴らしき哉、人生! (It's a Wonderful Life)』的なもんすかねぇ〜?

  • 千葉 (死神調査員):香川照之
  • 阿久津 (藤田の舎弟):中川晃教
  • 同僚 (死神調査員):鈴木省吾
  • 藤田 (調査対象のヤクザ):ラサール石井
  • 脚本・演出:和田憲明
  • 原作:伊坂幸太郎
  • 美術:長田佳代子
  • 照明:佐藤公穂
  • 音響:遠藤宏志
  • 衣装:牧野純子
  • 舞台監督:安田武司
  • 公演制作:馬場順子
  • プロデューサ:石井久美子
  • 石井光三オフィスプロデュース
  • 2009 年 8 月,シアタートラム

千葉 (と藤田と阿久津) の七日間を描いているが,全部雨の日.最終日に至ってようやく晴れる.これって,ノアの方舟譚をベースにしてると思うんだが,どうスかね.鳩がオリーヴの葉をくわえて戻って来たのは七日後だよね.たぶん,そういう印象を持ったからだろうけど,北村想の『Fairy Tale』の別解的な後日譚という気もする.

およそ 130 分あるけど,いかにも長い.これで終わりかと思っても,まだまだ続くよどこまでも. edit バージョンとして,半分は無理としても 3/4 あるいは 2/3 ぐらいに圧縮しても罰は当たらんと思うがどうスか.

2009年12月30日水曜日

小田一生『笑う大天使(ミカエル)』2006

「お姉さま方,どうぞこちらへ.おチキンおラーメンですわ」 © 司城史緒.発語としては「おチキン,おラーメン」と休符が入る.

原作未読.またもや上野樹里主演作.これもヒドい映画だ.面白かったけど (笑).特撮がエラくチープで,今の時代にこんなんでエエんかいと心配になる.イントロの列車んとこで判るけど,ワザと安っぽくしてるっぽい.まぁ,三次元で御機嫌ような聖ミカエル学園よりも暗黒で月蝕な聖ミカエラ学園だな.誘拐事件以後は,かなり苦しい展開.しかしだな.映画としては『スウィングガールズ』の方が出来がエエのか知れんけど,こちらにはソース焼きそば的な下世話な (あるいは下手物的な) 味わいがあって,そこがたまらんデス (笑).あ〜,チキン・ラーメン的魅力と言うべきなのか知れん.

そういや,刻まれた学校名が ST. MICHAEL になってるのに,その上の紋章では MICHAERL になってるのはどういう訳なんだろ? 初手から全部嘘言って宣言してるンすか.

  • 司城史緒 (チキラー,ラオウさまより強いケンシロウさま):上野樹里
  • 斎木和音 (チキラー,オスカルさま,副委員):関めぐみ
  • 更科柚子 (チキラー,コロボックルちゃん,ガネっ娘学級委員):平愛梨
  • 司城一臣:伊勢谷友
  • 若月俊介:松尾敏伸
  • 万里小路静:佐津川愛美
  • 桜井敦子:菊地凛子
  • ロレンス先生: Brian Davis
  • シスター・マレーナ: Delcea Mihaela Gabriela
  • 更科孝志:加藤啓
  • 沈丁花:谷村美月
  • 白薔薇の君:キタキマユ
  • 紫の上:宮下ともみ
  • 桔梗の宮:松岡璃奈子
  • 桜子:宮内佳奈子
  • 百合枝:岩井七世
  • 薫子;渕内希実子
  • 蛍:早瀬英里奈
  • 杏里:工藤晴香
  • 更紗:岡本奈月
  • 綾乃:葵
  • ナレーション:広川太一郎
  • 監督・VFX:小田一生
  • 原作:川原泉
  • 脚本:吉村元希,小田一生
  • 音楽: Metalchicks: Under the Dradfull Moon, The Eye of the Evil's, St. Wonder (Theme of St. Michael), Power to Girls, Banquet over Memory of my Mother, Girl School, We are the Warriers, Tears for Feas / Consiracy, Unbreakable Bond that ties Two, I'm Knotted in Love
  • 特別協力:ハウステンボス
  • 撮影協力:...,諏訪神社,佐世保市,大村市,長崎市

今をときめく菊地凛子が出ててちょいとびっくりだが,もしかして聖ミカエル学園を訪れた桜井敦子は,ほとんどシースルーの薄物の下はノーブラですか? 佐津川愛美が出てるのはあとで気付いた.どうも不幸キャラの方が輝くらしい (笑).その代わり,平愛梨がエエ感じ.

2009年12月27日日曜日

戦う司書 The Book of Bantorra #13 休暇と絵本と赤錆の髪

「ちょっ,こっ,これはいったい?」 © ミレポック=ファインデル.着る前に言え.ってか,勤務中にそんな妖しい状況に乗るようでは,ミレポ,真面目に仕事してない.

変態的に戦闘能力を獲得している武装司書連中の中で,能力的にイマイチ存在感の薄いミレポ当番回.なんせ持ってるのが思考共有という一種の通信機能なんで,第一線というよりインフラ担当.なので,彼女が前線に出てくるようになるようでは,事態はもう末期的.なはずなんだが,そうではないことを示すための白ドレスか (笑).

赤錆の髪の女,シガル=クルケッサ原理主義者.なんか目付きが和田慎二作品に出てくる登場人物のようだ (笑).ヴァイオリニストで名はアルメ=ノートン.彼女が弾くヴァイオリンには顕著な特徴があって,ブリッジがカマボコにそっくり.弓の持ち方もヘンで,持つというよりつまんでる感じ.そんな持ち方では音量は出ない.あ,それ以前にブリッジがあるのに弦に傾斜角ができてない (一直線だ).あ〜,はっきり言うと,この回,絵はだめだめッす.そういや,シアトルで聴いたストリート・ヴァイオリニストはバッハをカッチョ佳く弾いてたな〜.このとき,アルメに近寄るシガルの歩き方もヘンで,まるで両足が別々に制御されてるような具合.このときすでにシガルは死んでいるのか (笑).

二クールめ開始は年明けからだが,いきなり総集編かよ.いや,知らんけど.でもさおりんが出てくるならエエか (笑).

2009年12月23日水曜日

2009/12/21 の収穫: Fireball Winter Package,観光ユニット「ギズモ」装着 ドロッセル到着

発送しました通知の翌日に受け取ることができた.

2009/12/21 の収穫:観物篇 & その他

ゲデヒトニスはパッケージ底部に登場.腰巻にモットー「未来は,巨大で,無機質で,なまあたたかい」.その一方でなじみ深いのは「未来は残酷で美しい——」.

パッケージに記載されている特典フィギュア (figma SP008) 内容.

  1. フィギュア本体 (胸部ユニット「ギズモ」/頭部ユニット「カスパール」付き) …… 1 体
  2. 「ギズモ」キャタピラパーツ …… 1 組
  3. バックパック「ゼーオッター」 …… 1 個
  4. バックパック「ゼーオッター」フェイスガード …… 1 個
  5. 光学ストック「イヴェルクス」ロング …… 2 本
  6. 光学ストック「イヴェルクス」ショート …… 2 本
  7. おしゃれシール …… 1 枚
  8. 交換用右手首 …… 3 個
  9. 交換用左手首 …… 4 個
  10. 台座本体 …… 1 個
  11. 台座アーム …… 1 個
  12. 収納袋 …… 1 個

いちいち全部名前が付いてるのか (笑).光学ストックの先っちょが,何気にディズニーのロゴをかたどってるんすね.手首の数が左右で違うって…….「胸部」じゃなくて背部ユニットだよね (笑).ところで帽子には名前が付いてないのか.

DVD の中身は夏版と同じもの. ウィンター・パッケージのパッケージ で,観光ユニット「ギズモ」は こんな感じ

あれ, foo-bar-baz さんとこでは,まだ到着報告代わりのパッケージの写真だけッすね,[買い物] GSC ブラック★ロックシューター,ファイアボール ウィンターパッケージ ほか - foo-bar-baz

ディズニーのロゴってミッキー・マウスだけど,登場した辺りはかなりキツい性格だったのに,大衆化するにつれて,その性格がどんどん丸くなる必要があって,その影響が形状に表れている,みたいな分析をネオテニーに絡めて書いててたのはグールドだったっけ?

2009年12月20日日曜日

戦う司書 The Book of Bantorra #12 過去と理不尽とパイプの煙

「ねぇ,いつからだっけ,パイプ?」 © ハミュッツ=メセタ. B パート・ラストの台詞.この時点では過去話は終わってて, A パート頭の,ミレポによるレナス尋問のあとに戻ってるはずなんだが,そうすると,このハミュッツは何者? すでに過去話の事後シーンで知ってるはずだろ?

あれれれ,まだレナスさんで引っ張るデスか.と思ったら頭 40 秒ちょいだけだった.ラスコール=オセロがラスコーリニコフに聞こえるのは空耳空耳.ラスコーの壁画には関係あるかも知れん.で,お話はマットの過去話から始まってハミュッツの過去話へ.お針子のミミが大抜擢で出世に次ぐ出世,しまいにゃブリュンヒルデにという,スーブレットあるいはリリコからドラマティコに変身するというもの.それを出世というか転身というか堕落というかは,その人次第でありましょう (笑).大の男を二発でなぎ倒すイレイアさんのビンタ強烈 (笑).鼓膜を破られるんだそうです.高校にそういう伝説を持つ教師がいたな〜.二年のときの担任だったけど.

短髪 (?) 眼鏡の目付きが逝ってる女=掃除屋ソーヤーは,なんと往時のハミュッツだった.詐欺だ (笑).マットとの対決からソフト・ポルノへ.ただ米 70 年代の stoned なヤツじゃなくて,おそらく偽作のクレランド二作目風.司書 (見習い込み) としては,ハミュッツよりもヴォルケンの方が先輩なのか.もう前の話は消しちゃったんで確認できないけど,先代代行のフォトナ=バードギャモンって初登場だったっけ? 何か二回目のようなおぼろげな記憶があるんだが.

次回予告,ミレポ大盤振る舞いでドレス姿も披露.ただ,ミレポの髪はトウモロコシ色で赤錆ではないので,予告最後でミレポが銃を向けている相手の髪の色.なんですかね.

もしかしてサブ・タイトルのタプルのラストって,その話のキー・パーソンの外部名,じゃなくて,その人を表す属性語句なのか.その前の理不尽→李夫人.何小鳥夫人はやり過ぎ.

2009年12月19日土曜日

Squeak: 文字列の連結とストリームとカンマ・メッセージと VWNC 驚嘆爆速

地味〜で初歩的な話です (笑).あ,あと,クソ長いッす.

ストリームとカンマ・メッセージによる比較

デバッグ出力や自前のロギングとかで大量の文字列コピーを行うときは,ストリームを使う方が佳さ気というお馴染みのお話.文字列の連結には , メッセージよりストリームを使えという格言があったと思うんだが,ほんとだったっけ.というわけで,単純な例で速度を比較してみた. vm は 4.2.2beta1U, vi は 3.10.2 web++,マシンは 2.66GHz Core 2 Duo 4GB 1067MHz の MBP 二代目バーバラたん.あと, VWNC 7.6[VWNC 7.7 はまだですか?] でもやってみたので,ソースはできるだけ似るように書いてみたが,あまりの速さに唖然 (笑).結果は以下のとおり.そうそう, VWNC には MessageTally がないので,代わりに JunMessageSpy を使ってる.

String concatinating comparing stream with comma.
environment comma pattern stream pattern
4.2.2beta1U / sq3.10.2-7179web09.07.1.J.3 246 msec 87 msec
VWNC 7.6 105 msec 爆速!→ 29 msec

Squeak 版, 3 倍の開きがあるとは言え, 10000 回だけ回して差がおよそ 160 msec なら,あんま変わらんじゃん.それよりも VWNC は速すぎるだろ! (笑) ちょい古いオーディオ機器に例えると, VWNC はノッティンガム・アナログ・スタジオの Hyper Spacedeck 辺りのガチガチでハイ・スピードなアナログ・プレイヤーで, Squeak はレガやメリディアン, Linn 辺りのコンパクト・サイズのカジュアルな CD プレイヤーって感じスかね. B&O のコンソレットかな. Squeak 版ソース[Squeak 版ソース:

    | iterationNumber commaBlock string streamBlock |    "Stringのクラス・メソッドを使ってないのは VWNC と合わせるため"    iterationNumber := 10000.    commaBlock :=     [ iterationNumber timesRepeat:             [string := ''.            string := string , '1 string to be copied. '                , (String with: Character cr) , '2 string to be copied. '                , (String with: Character cr) , '3 string to be copied. '                , (String with: Character cr) , '4 string to be copied. '                , (String with: Character cr) , '5 string to be copied. '                , (String with: Character cr) , '6 string to be copied. '                , (String with: Character cr) , '7 string to be copied. '                , (String with: Character cr) , '8 string to be copied. '                , (String with: Character cr) , '9 string to be copied. '                , (String with: Character cr) , '10 string to be copied. '                , (String with: Character cr) , (String with: Character cr)]].    Smalltalk garbageCollectMost.    Transcript        cr;        show: (Time millisecondsToRun: [ commaBlock value ]) printString.    MessageTally spyOn: [ commaBlock value ].    streamBlock :=     [ iterationNumber timesRepeat:         [ | s |        s := WriteStream on: (String new: 1000).        s nextPutAll: '1 string to be copied. '.        s nextPut: Character cr.        s nextPutAll: '2 string to be copied. '.        s nextPut: Character cr.        s nextPutAll: '3 string to be copied. '.        s nextPut: Character cr.        s nextPutAll: '4 string to be copied. '.        s nextPut: Character cr.        s nextPutAll: '5 string to be copied. '.        s nextPut: Character cr.        s nextPutAll: '6 string to be copied. '.        s nextPut: Character cr.        s nextPutAll: '7 string to be copied. '.        s nextPut: Character cr.        s nextPutAll: '8 string to be copied. '.        s nextPut: Character cr.        s nextPutAll: '9 string to be copied. '.        s nextPut: Character cr.        s nextPutAll: '10 string to be copied. '.        s nextPut: Character cr.        s nextPut: Character cr.        string := s contents ] ].    Smalltalk garbageCollectMost.    Transcript        cr;        show: (Time millisecondsToRun: [ streamBlock value ]) printString.    MessageTally spyOn: [ streamBlock value ]
], VWNC 版ソース[VWNC 版ソース:
    | iterationNumber commaBlock string streamBlock |    iterationNumber := 10000.    commaBlock := [iterationNumber        timesRepeat:            [string := ''.            string := string , '1 string to be copied. '                , (String with: Character cr) , '2 string to be copied. '                , (String with: Character cr) , '3 string to be copied. '                , (String with: Character cr) , '4 string to be copied. '                , (String with: Character cr) , '5 string to be copied. '                , (String with: Character cr) , '6 string to be copied. '                , (String with: Character cr) , '7 string to be copied. '                , (String with: Character cr) , '8 string to be copied. '                , (String with: Character cr) , '9 string to be copied. '                , (String with: Character cr) , '10 string to be copied. '                , (String with: Character cr) , (String with: Character cr)]].    ObjectMemory garbageCollect.    Transcript        cr;        show: (Time millisecondsToRun: [commaBlock value]) printString.    JunMessageSpy        spy: [commaBlock value]        often: 5        omit: 0.001.    streamBlock := [iterationNumber        timesRepeat:            [| s |            s := WriteStream on: (String new: 1000).            s nextPutAll: '1 string to be copied. '.            s nextPut: Character cr.            s nextPutAll: '2 string to be copied. '.            s nextPut: Character cr.            s nextPutAll: '3 string to be copied. '.            s nextPut: Character cr.            s nextPutAll: '4 string to be copied. '.            s nextPut: Character cr.            s nextPutAll: '5 string to be copied. '.            s nextPut: Character cr.            s nextPutAll: '6 string to be copied. '.            s nextPut: Character cr.            s nextPutAll: '7 string to be copied. '.            s nextPut: Character cr.            s nextPutAll: '8 string to be copied. '.            s nextPut: Character cr.            s nextPutAll: '9 string to be copied. '.            s nextPut: Character cr.            s nextPutAll: '10 string to be copied. '.            s nextPut: Character cr.            s nextPut: Character cr.            string := s contents]].    ObjectMemory garbageCollect.    Transcript        cr;        show: (Time millisecondsToRun: [streamBlock value]) printString.    JunMessageSpy        spy: [streamBlock value]        often: 5        omit: 0.001
]
, Squeak 版カンマ・パターンのスパイ結果[Squeak 版カンマ・パターンのスパイ結果:
 - 256 tallies, 256 msec.**Tree**61.7% {158ms} ByteString(SequenceableCollection)>>,  |44.5% {114ms} ByteString(SequenceableCollection)>>copyReplaceFrom:to:with:  |  |16.8% {43ms} primitives  |  |15.6% {40ms} ByteString class(String class)>>new:  |  |12.1% {31ms} ByteString(Object)>>species  |17.2% {44ms} primitives23.0% {59ms} Character class>>cr  |14.1% {36ms} primitives  |9.0% {23ms} Character class>>value:14.8% {38ms} String class>>with:  9.0% {23ms} primitives  5.9% {15ms} ByteString class(String class)>>new:**Leaves**21.5% {55ms} ByteString class(String class)>>new:17.2% {44ms} ByteString(SequenceableCollection)>>,16.8% {43ms} ByteString(SequenceableCollection)>>copyReplaceFrom:to:with:14.1% {36ms} Character class>>cr12.1% {31ms} ByteString(Object)>>species 9.0% {23ms} Character class>>value: 9.0% {23ms} String class>>with:**Memory**    old         +0 bytes    young       +182,312 bytes    used        +182,312 bytes    free        -182,312 bytes**GCs**    full         0 totalling 0ms (0.0% uptime)    incr        81 totalling 14ms (5.0% uptime), avg 0.0ms    tenures      0    root table   0 overflows
]
, Squeak 版ストリーム・パターンのスパイ結果[Squeak 版ストリーム・パターンのスパイ結果:
 - 90 tallies, 90 msec.**Tree**31.1% {28ms} WriteStream>>nextPut:  |18.9% {17ms} Character>>isOctetCharacter  |12.2% {11ms} primitives27.8% {25ms} Character class>>cr  |14.4% {13ms} primitives  |13.3% {12ms} Character class>>value:14.4% {13ms} WriteStream>>contents  |7.8% {7ms} ByteString(SequenceableCollection)>>copyFrom:to:  |  |4.4% {4ms} ByteString class(String class)>>new:  |4.4% {4ms} primitives12.2% {11ms} WriteStream>>nextPutAll:6.7% {6ms} WriteStream class(PositionableStream class)>>on:  |5.6% {5ms} WriteStream>>on:  |  5.6% {5ms} WriteStream(PositionableStream)>>on:  |    4.4% {4ms} primitives5.6% {5ms} String class>>new:  3.3% {3ms} primitives**Leaves**18.9% {17ms} Character>>isOctetCharacter14.4% {13ms} Character class>>cr13.3% {12ms} Character class>>value:12.2% {11ms} WriteStream>>nextPutAll:12.2% {11ms} WriteStream>>nextPut:10.0% {9ms} ByteString class(String class)>>new: 4.4% {4ms} WriteStream>>contents 4.4% {4ms} WriteStream(PositionableStream)>>on:**Memory**    old         +0 bytes    young       +1,074,872 bytes    used        +1,074,872 bytes    free        -1,074,872 bytes**GCs**    full         0 totalling 0ms (0.0% uptime)    incr         8 totalling 1ms (1.0% uptime), avg 0.0ms    tenures      0    root table   0 overflows
]

メソッドの組み立て例

ストリームとカンマ・メッセージによる文字列連結だけを考えたときにはたいした差が出ないとしても,ストリームを使うかどうかはもちろん連結以外の部分にも影響する.とりあえずひねり出した実際のメソッドの例. for Squeak オンリ〜.下手な例とか言わない.

お題: n 行の文字列 (sourceString) から m (lineNumber) 行だけコピーしたい

とする.で,ごく単純に考えて,以下のように二つのパターンを組んだとする.思い付きで, m > n でもちゃんと動く= n 行分だけ返すこと,という条件を追加する.

A: カンマ・メッセージ・パターン
foo: sourceString bar: lineNumber    | limit index string |    limit := sourceString lineCount.    index := 1.    string := ''.    [ index <= limit and: [ index <= lineNumber ] ] whileTrue:         [ string := string , (sourceString lineNumber: index) , String cr.        index := index + 1 ].    ^ string
B: ストリーム・パターン
foo: sourceString bar: lineNumber    | stream index |    stream := sourceString readStream.    index := 1.    ^ String streamContents:         [ :s |         [ stream atEnd not and: [ index <= lineNumber ] ] whileTrue:             [ s nextPutAll: (stream upTo: Character cr).            s nextPut: Character cr.            index := index + 1 ] ]

結果は同一になる.で,実行速度を測ってみる.上記 2 パターンをそれぞれ 10000 回走らせてみる.

method using String concatinating comparing stream with comma.
A: カンマ・メッセージ・パターン 4357 msec
B: ストリーム・パターン 329 msec

と 13 倍以上の差になる. spyOn: で調べてみると, A パターンでは,実は lineCount で全体の 90% 近くの処理時間を喰っていることが判る.それじゃぁってんで,

    limit := sourceString occurrencesOf: Character cr.

や,

    limit := sourceString occursInWithEmpty: Character cr caseSensitive: true.

に変えてみても,もっと遅くなる orz.もし Magritte-Model パッケージを入れてると, lines メソッドが使えるので,これを使うと, 2238 msec と倍ぐらいに速くなる ;-).

    limit := sourceString lines size.

こいつは Array streamContents: を使っているが,それでも B パターンが 6 倍以上速いことに変わりはない.

A: カンマ・メッセージ・パターンでじたばたする. B: ストリーム・パターンはも〜まんたい

もし, m <= n が常に成り立つとするならば, A ∩ B の A はつねに真となり終端の検査が必要ないことになる.いちばん重い lineCount メソッドを使わずに済むが,それでも 1881 msec 掛かるので 5 倍以上遅い.その一方で, B パターンでストリームの終端判定を外しても 323 msec とかで,有意な差は出ない.

この条件が常に成り立つと仮定した場合,もっと単純化して index をなくし,

    1 to: lineNumber do: [:i | string := string , (sourceString lineNumber: i) , String cr].

とか,

    lineNumber timesRepeat:         [s nextPutAll: (stream upTo: Character cr).         s nextPut: Character cr].

なども考えられる.

でも, sourceString を string のまま使ってる限り,スピードは上がらん.ストリームにすると upTo: はストリーム中のポインタ k を移動してくれるので,コピーは k から l までの転送で済むのに対し, string のままだと,毎回ソース文字列の先頭から転送開始位置までスキャンする必要があるため.

ならば,それでもストリームを使わないことに固執するなら,あらかじめ findTokens: Character cr でコレクションにして渡せば? という話になりかねん.確かにソレだと m >= n の判定も可能.でもですよ,メソッドの事前条件のチェックをセンダにやらせるんすか,マジで (笑).

念のためトークン分解他力本願兼ノー・チェック版を試してみる.↓これは単に集合の各要素を順番に取り出して繋げてるだけだ.

    | string |    string := ''.    1         to: maxLineNumber        do: [ :index | string := string , (tokens at: index) , String cr ].    ^ string

ここまで責務を削り落とすと 359 msec と劇的に速くなるのだが,それでもストリーム版よりちょいと遅いという結果になった.トークン分解を自前で抱え込むと,一気に 9301 msec となる.どこでやるにしろ,トークン分解を行うと,全体は重くなる.かえってトークン分解を行わない

...do: [ :index | string := string , (sourceString lineNumber: index) , String cr ].

とした方が 1777 msec と,速い. findTokens: はそれだけ重い処理というわけでした. Java だと StringTokenizer という単独のクラスになってるぐらいだもんね.

まとめると以下のとおり.

various using String concatinating comparing stream with comma.
A: カンマ・メッセージ・パターン B: ストリーム・パターン
(全部同じソース)
安全度 メモ 処理時間 安全度 処理時間
自前でトークン分解 & サイズ・チェック 9081 msec 335 msec
lineNumber: & サイズ・チェック
(トークン分解不要)
4329 msec 343 msec
× 自前でトークン分解 & サイズ・チェックなし
(サイズ・チェックありより遅いのは計測誤差の積算結果?)
9301 msec 328 msec
× lineNumber: & サイズ・チェックなし
(トークン分解不要)
1777 msec 329 msec
× トークン分解なし & サイズ・チェックなしでトークン× n をもらう 359 msec 331 msec
B: ストリーム・パターンでエエよ

結論:おとなしくストリーム版を採用することにしますハイ.余談:こ〜ゆ〜のはテストケースにしとくと楽.単体で doIt するときは,

    FooBarBazTest new setTestSelector: #testFooBar; testFooBar.

とかで走りますよ

さらに,キーワードのパラメータについて

あと, A も B も lineNumber には 0 や負数を喰わせてもちゃんと動く. String streamContents: [ :s | ] は空文字を返すので,同じ動きになってくれる. Float, Fraction を喰わせても,よきに計らってくれます.ここまでは佳い.パラメータはそれぞれ String cr を含む長い文字列と自然数を想定しているが,そうじゃないオブジェクト,たとえば nil が渡されたらどうすんの? という問題が残る.それぞれ, asStringasNumber (asInteger の方がベター) が判らないオブジェクトが渡されてきたかどうかを見て, nil なり空文字を返すなりすれば佳い.

あと出しはやみれ〜

と,まぁ,このメソッドが使われる状況を考えないと,あれもこれもという話になってしまう.実はこのメソッド,あるクラスのインスタンス・メソッドなんだが,これに与えられるパラメータは, 1) sourceString が,そのクラスのインスタンス変数に格納された文字列と, 2) lineNumber は,(その行数 min: ある正の定数),ということになっている.つまり, lineNumbersourceString に依存するわけである.そして sourceString に渡されるインスタンス変数は,インスタンス生成時に空文字を含む何らかの文字列で初期化される.どっかの阿呆が nil とかブチ込まん限りは.その阿呆は間違いなく自分な訳だが (笑).というわけで,このメソッドのテストに関しては,実は暗黙の仮定だった lineNumber は自然数で,かつ sourceString の行数より大きくなることはない,という条件だけをテストすりゃエエはず.あとは,このクラス自体あるいは他のメソッドのテストでチェックすべきということで一件落着させる.ということはサイズ・チェックなしでも佳かったんじゃネェか! はい,そのとおりでごぜぇます.でも,「私 ああいうの気持ち悪いんですよね」 © ゆの[蒼樹うめ "ひだまりスケッチ", 第 1 巻, 芳文社, 2005, 2008, ISBN4-8322-7549-6, p.32.]

余談

文字列クラスに関しては, Java でも似たような話があるよね.新人研修必修ネタだけど,文字列をいじくるときは String じゃなくて StringBuilderStringBuffer,あるいは StringWriter を使えって. StringWriter なんてもろにストリームでしょ.

2009年12月18日金曜日

雑記: Apple はおれに EOS の 1DmkIV か 7D を買えというのか! え, D3S で すか?

ソフトウェア・アップデートで「デジタルカメラ RAW 互換性アップデート 2.7」というのが落ちてきたので見てみたら.

EOS-1D Mark IV (APS-H,未発売) や EOS 7D (APS-C), D3S (FX) などのサポートが追加されてる.買えというデスか (笑). kakaku を見てみたら,それぞれ最安値は約 495k, 128k, 509k となってる.ちなみに, 7D のファインダにはホれそうです.ヨドバシで覗いてみたら,えれぇごっつぅたいそうべり〜く〜るに感触佳かった, APS-C だけど

2009年12月14日月曜日

Squeak: 多部な遊び場で道草を喰う

ネタとしてはちょいと古い.

タスク・バーが使えるイメージを使ってると,ワークスペースをいくつか開きっ放しにしてるとウザいことないスか.タスク・バーの中身はアイコンだけにするよう改造していても.というわけで,タブ化に挑戦してみた.寄り道である.

VWNC のワークスペースは,ずいぶん前からタブ表示が可能になっている.あ,こいつってばシンタックス・アウェアじゃなかったのか (笑).

  • Workspece of VWNC7.4.1

上のコードは Squeak 用なので,もちろん動かない.って,そんなことはど〜でも佳くて,とりあえず,多部なワークスペースをでっち上げてみた. ScriptManager で充分ぢゃん,なんて言わない.表示領域を稼ぐため,メニュー・バーやツール・バーはありません,という言い訳. Shout の華麗な (あるいは,こってりした,もしくは,うるさい) カラー・シンタックス表示に慣れるてると, VWNC の表示はやけにあっさり (笑).

  • multi tabbed workspace for Squeak

現状は,ページの追加,改名,削除ぐらいしかできん.多段にも未対応. TabGroup を使ってるので Polymorph 必須.とりあえず SHWorkspace のサブクラスにしてるんで, Shout も必須 (笑).

  • 多部な遊び場の長所
    1. 画面専有面積が少ない.
    2. タスクバーの専有面積が少ない.
  • 多部な遊び場の短所
    1. 複数の遊び場を同時に見ることができない.
    2. ハロを出してタブに関するモルフを削除しようとすると警察沙汰になる.っつ〜か,おそらく再起不能で, OS から kill せんとダメ.

今んとこ,そんな感じ.

2009年12月13日日曜日

Jazz File: Mahavishnu Orchestra Live at Montreux 1974

JAZZ FILE|WOWOWオンライン

どんなもんかと (少しだけ) 期待して再放送を録画してみたが,こりゃジャン=リュック・ポンティとマイケル・ウォルデンを観る (聴く) ためのもんだな.マクラフリンは,重そうなダブル・ネック (6 弦 × 2) のギターを一本調子でガシガシを弾きまくるだけで,ちっとも面白くない.たぶん,マイルスのバンドにいたのは,同姓同名の別人なんだろう (笑).ゲイル・モランはローズがトラブってたのか,スタッフが周りをうろうろしてる.直らなかったみたいね.ラルフィーのベースはあんま派手じゃないけど堅実.ってな感じで,およそ 50 分で 2 曲. 5 人のメンバーに,ホーン部隊 2 名と弦楽四重奏が付く.ゲストの方が人数多いです (笑).音はモコってるが,それなりに聴ける.

  1. Wings of Karma
  2. Hymn to Him
  • Jean-Luc Ponty : vln
  • John McLaughlin : gtr
  • Narada Michael Walden : drms
  • Gayle Moran : kbds
  • Ralphe Armstrong : bs
  • Bob Knapp : fl, perc
  • Steve Frankovich : horns
  • Steve Kindler : vln
  • Carol Shrive : vln
  • Marsha Westbrook : vla
  • Phillip Hirschi : vlc

ネタはおそらく 2007 年に出た Mahavishnu Orchestra: Live at Montreux 1984/1974 の 2 枚目の映像部.曲が (も?) 詰まんないんかな〜.言っちゃぁ悪いが,同じヴァイオリンが入ってるんなら,ディディエ・ロックウッドがいた頃の Magma の方がずっと面白く聴ける.というころで,今後マハヴィシュヌの CD を買うことは,おそらく「ない」.ポンティを聴くなら,ホールズワースと一緒に演ってるソロ・アルバムの方を買うよ.

あと,ファロア・サンダースのインタビュー直前で,ピーター・バラカンが,ワイアットのカバー・アルバムを紹介してた. Around Robert Wyatt by Orchestre National de Jazz がソレで,ほんのちょっとだけだが,ワイアットの歌声が WOWOW の電波に乗ったわけだ (笑).

戦う司書 The Book of Bantorra #11 弱者と迷宮と女王の指し手

「ヤツだ,ハミュッツが来る」 © モッカニア=フルール.「破滅が来る」と聞こえるんですが〜.現状,あながち間違いでないのが笑える.

をいをい,イレイアさん放置ですか.モッカニアが武装司書になったのは幼い頃に殺された母親の本を探し出すため,ということですか? レナス=フルールというのが母親の名前,ということでエエんだよね.若過ぎるんではないかという指摘に「モッカニアの母親はこれでいいんだ」と押し切るウインケニーだが,なぜ佳いんだか全然判らん.モッカニアが偽物と知りつつレナス’を受け入れるんかも,やっぱり判らん.だから,「断れば,あの女 (偽レナス) に秘密をバラす」→「それを知ったら,彼女は憎むだろうな.自分の記憶を奪った神溺教団を.そしてお前を」がなぜ脅迫材料になるのかも判らん.強引に,母親でないものを失うことと母親を失うことが等価にされてるが,その根拠は如何.母親とは記憶なのか? 違うだろ.何か,偽レナスもモッカニアも,説明なしで納得してるけど.「みんなに,済まなかったと」,散々っぱら暴れといて,なんだよ,それ (笑).結句,自滅ですか.え〜と,もしかして,このお話はエエお話だったのか?

最前からずっといるけど,エンリケは就職したんスかね.次回予告にひょいと出てる短髪 (?) 眼鏡の目付きが逝ってる女,なんか掃除屋ソーヤーを思い出した (笑).

あ〜, MBP に比べると Lisa タンのキーボード・タッチは佳いな〜.ふにゃふにゃしてるけど,比較するとストロークが深いのが佳い.

2009年12月7日月曜日

雑記:ドルパ 22

You made me realise

ドールズ・パーティー22 開催情報|株式会社ボークス|VOLKS Inc.

寝坊して盛大に遅刻.→なんかマイブラの "You made me realise" のジャケ写みたいな感じ? 隣でマイナビ就職 EXPO やってて,黒スーツの大洪水.両極端で異様な雰囲気 (笑).会場はホール 3 つブチ抜きで, 首都圏外郭放水路大谷石地下採掘場跡 の地下大神殿とどっちが広いんだろとかバカなことを考えていた.

ギター (というか楽器) お目当てだったんだが,該当出展なし.がっくし.後で確認したら,写真はけっきょく 83 枚ほど撮っていた.

  • You made me realise

特展ブースの何番だったっけ? キラは実際の展示よりブース前に出てた写真の方が佳かった (笑).

そういや国際展示場駅からビッグサイトへの屋根付きオープン通路,あれ TBS とどういう関係があんのかね.まさかビッグサイトの略称が TBS で同じだからとかいうネタ的なもん? (笑)

戦う司書 The Book of Bantorra #10 変人と母親と黒蟻の巣

「母親に言われて叛乱を起こす,か.とんだ武装司書がいたもんだ」 © あの青い制服を着た,垣巣凍二郎中佐みたいなのは誰.フィーキー=クインだっけ? それなら第五迷宮で黒蟻に喰われましたが.

モッカニア=フルールの叛乱伝説.あるいはヒッキー騒動.対するはイレイア=キティ.「ほぉぉぉぉぉ〜 (cresc),ほっ!」,おばさん,カッチョエエ〜っ! (笑) 黒幕は神溺教団のウインケニー=ビゼ.あら,イレイアさん,持久力がない.んでハミュッツが引き継ぐ.リスク管理の問題ッすか.あれ,この話は次回へ続くの? そんな大きな話じゃないと思ってたよ (笑).ところで,記憶の損傷という問題に関して誰も恐怖を抱いてないのはなぜ.

今回も,やや絵がショボい.特に止め絵が.

The 2nd and last day of YOSHIDA MINAKO & THE BAND 2 Days Live 2009/12/05 at STB139

「土方隆行 and THE BAND, 最後までごゆっくりお楽しみください」 © 吉田美奈子.みんなモノトーン系のシャツだったのに一人だけ柄物の刑.

ドラムスが成田さんから島村英二氏に交替.油っこいというか,粘っこくなった印象.イアン・ペイスからスティーヴ・フェローンに交替したような感じ? (笑) タイコはヤマハでした.第二部ラストの『雲の魚』からゲストで村田陽一参加. MC 長いッす (笑).今日はギター・アンプがマーシャルじゃなかった.終演後にでも確認しときゃ佳かった.

  • 吉田美奈子 : vcl
  • 岡沢章 : bs, cho
  • 土方隆行 : gtr, cho
  • 倉田信雄 : pf, el-pf, cho
  • 河合代介 : hammond, cho
  • 島村英二 : drms
  • 村田陽一 : trb

大雨だったが,今回はチケ運が佳くて,第 2 パラグラフ先頭中央やや右寄りでドラムスの真っ正面,ステージ幅を一辺とする正三角形の頂点位置.それだけに,聴こえてくる音とちゃんとそこにあるべき音が一致する.ヴォーカルが天上から降ってくるようなことはない(笑).面押しも健在だが,パルスによる点的打撃も確認.とくにバスドラ.

Camino 2.0.1, mi 2.1.9

Camino. Version 2.0.1 (1.9.0.16 2009120123), Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; en; rv:1.9.0.16) Gecko/2009120123 Camino/2.0.1 (like Firefox/3.0.16), Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en; rv:1.9.0.16) Gecko/2009120123 Camino/2.0.1 (like Firefox/3.0.16).

Camino. Releases. 2.0.1.ついこの前 2.0 が出たと思ったんだが (笑). stability and security アップデート.

mi - Mac OS X 用テキストエディタ. mi の方も正式版になった. 2.1.9b9 からやや修正が加わっている.

2009年12月1日火曜日

Jenifer Tidwell『デザイニング・インターフェース』

  • Jenifer Tidwell "デザイニング・インターフェース", パターンによる実践的インタラクションデザイン, ソシオメディア 監, 浅野紀予 訳, オライリー・ジャパン, 2007, 2009, ISBN978-4-87311-316-6, (Jenifer Tidwell "Designing Interfaces", Patterns for Effective Interaction Design, 2005)

2005 年時点での GUI カタログ,だな. 4,000 円近いお値段に見合うかどうかはちょとアレだが,なかなか面白かった.っつ〜か,スクリーンショットがカラーなんで見て楽しい (笑).ところどころで監訳者が原著者にツッコミ入れてるのも可笑しい.

2009年11月30日月曜日

2009/11/28 の収穫:中村文隆『Pd による音声処理』,『インターフェイス指向 設計』,『デザイニング・インターフェース』

インタフェースという語はコンテキスト依存.いや,すべての単語がそうなんだろうけど (笑).

2009/11/28 の収穫:讀物篇

  • 中村文隆 "グラフィカル言語 Pure Data による音声処理", 信号発生から雑音除去まで簡単プログラミング, CQ 出版社, 2009, ISBN978-4-7898-1243-6
  • Ken Pugh "インターフェイス指向設計", アジャイル手法によるオブジェクト指向設計の実践, 角谷信太郎 監, 児島修 訳, オライリー・ジャパン, 2008, ISBN978-4-87311-366-1, (Ken Pugh "Interface Oriented Design", 2006)
  • Jenifer Tidwell "デザイニング・インターフェース", パターンによる実践的インタラクションデザイン, ソシオメディア 監, 浅野紀予 訳, オライリー・ジャパン, 2007, 2009, ISBN978-4-87311-316-6, (Jenifer Tidwell "Designing Interfaces", Patterns for Effective Interaction Design, 2005)

Pd 本は CD-ROM 付きとは言え, 80 ページほどで外税 ¥2,000 という暴利な本 (というかムック?) なのではある.とはいえ,もしかしたら最初の Pd 単独本なので,お布施お布施.次は ChucK とか Audicle の本とか出ないかな, BNN とかから (笑).『インターフェイス指向設計』はちょいと当てが外れたかも.コード本で充分だったような orz.

2009年11月29日日曜日

戦う司書 The Book of Bantorra #09 真人と戦場と私の世界

「未だ事至らずって感じね. 65 点ってとこかな〜」 © ハミュッツ=メセタ.

エンリケさんザトウさんどっちでもエエけど,まだまだ怪物ネタで引っ張ります.今回は真人ガンバンゼルさん頑張るの巻.まぁ,怪物創造が目的なんで 6 話以降頑張っておられるわけですが,見ながらもう厭きた〜とか思ってたらお亡くなりになりました.名無しの怪物に殺されたフランケンシュタインってなとこですか (原作では殺されません.死にますが).しかし,第一話から出てた割りには,あっけなく退場ですか.いや,退場したのは肉体だけ? (笑)

OP のタイトルは『堕天國宣戦』だが「♪君が一つの物語なら,まだ幾らでも書き換えられる.血のインクは乾かない♬」という歌詞の一節の最後,聞こえてくるのは「♫地の印,苦婆訶,湧かない♩」となる.旋律の切れ目と歌詞の切れ目が異なるとき,耳は前者に従うが脳はそっからパターンを見出そうとして失敗し,それを拒否する,あるいは #doesNotUnderstand: に引っ掛かる.

「我が名は楽園管理者.密かにその (天国留地上という) 秘密を受け継ぐもの」 © 楽園管理者.ハミュッツとツーカーであるらしい.楽園管理者というのは職名ではなくて名前だそうです.

2009年11月23日月曜日

ケラ『神様とその他の変種』2009

「マル,カンコ! ほら,モトハシ先生のイヤリングだよ!」 © サトウケンタロウ.ゾウのカンコは毒リンゴで毒殺されたそうな.マルもゾウの名.

ケラの録画 2 本目. ナイロン100℃ の 33rd[全公演リスト では「33nd」と記述されている.テロップではちゃんと「33rd」になってる.] Session.これには 新谷真弓 (新谷真弓blog「あしたっていまさッ!」) は出てない.ケラの芝居は長いな〜.この録画は三時間弱. DVD フォーマットでの放送だけど,まだ発売されてない? cubit club

いじめられっ子らしいケンタロウとその家族,および新しい家庭教師がメインだが,なんか,ミステリというかサスペンスっぽい雰囲気で始まる.で,が〜っと飛んでエンディング,これ シャフト のそれっぽい.最終回の一個前で言いたいことはすべて言ってしまって,あとはうだうだしてる.みたいな.そういや,『犬は鎖に繋ぐべからず』も,そんな感じだったよな.さすがに舞台に大雨振らすのはやり過ぎかと (笑).

  • モトハシリョウコというのが前任の家庭教師の名前.名前だけしか出て来ない.
  • 母親との会話でケンタロウ「サクライ先生の前にモトハシ先生の声がしたような気がするんだけど」,母親はしない.
  • この時点で登場していた人物は,神様,新任家庭教師,父親.
  • モトハシ先生は女だそうなんで,該当するのは家庭教師と母親だけ.
  • とすると,新任家庭教師と前任家庭教師は同じ声の持ち主?
  • シミズ刑事部長「サトウさんのお宅を訪れた人間が,何人か消息不明で音信不通になっているんです」.
  • オバタ家の下水から出て来た女の髪の毛.
  • オバタ,サクライに「どこかでお会いしました?」.
  • 黄色い珈琲カップ

でも実際は,サトウケンタロウの母親=峯村リエとスズキサチオの母親=犬山イヌコという二大女優の壮絶な闘い歪みまくってます二人とも一直線に.登場人物はほとんど全員がこの闘いに巻き込まれているが,例外が二人.ケンタロウの祖母はいわゆるマクベスの魔女的ポジションで,ちょっと離れたところにいる.もう一人のユウチャン=動物園の飼育係はいわゆる狂言回しで,進行役を努めている.彼がいなかったら,この芝居は進まん (笑).

サトウ家から見た動物園の檻の配置
ウマ (ウニバー)ライオン (モヘイ)シマウマ (レコ)
アリクイ (タロウ)ゴリラ (ミハイル兄弟)キリン (クビゾウ)
タヌキ (マリアンネ)ゾウ (マル,カンコ)サイ (トシオ)
サトウ家

ケンタロウの歴代家庭教師および黄色い珈琲カップを使った人たち.新しい順.モトハシ,キノシタ,テラシマ,ナカノ,アマノ,モリ,キクチ,タムラ,サエキ,オバタ.最初,シミズ刑事部長は彼らが「消息不明で音信不通になっている」と言ってるが,これはケンタロウの父親ショウイチに金を渡されてケンタロウの母親トシエの眼に触れぬように暮らしているため.でも,それってどう考えても無理だろ (笑).あと,連続動物殺人^H^H^H^H殺動物事件の犯人^H^H犯動物はアワザルのハセガワさんということになってる.誰も殺されてないんだけど,もしかして,何も殺されてないのか.

  • 女 1 (サトウケンタロウの母親) [トシエ]:峯村リエ
  • 男 1 (サトウケンタロウの父親) [弁髪男,ショウちゃん,ショウイチ]:山内圭哉
  • 女 2 (スズキサチオの母親):犬山イヌコ
  • 男 2 (スズキサチオの父親):山崎一
  • 女 3 (サトウケンタロウの家庭教師) [神様 921 号,または 315 号, 55 号,サクライ]:水野美紀
  • 男 3 (サトウケンタロウ):みのすけ
  • 男 4 (ユウチャン=動物園の飼育係):大倉孝二
  • 女 4 (隣家の主婦) [オバタ]:長田奈麻
  • 女 5 (男 1 の母親):植木夏十
  • 男 5 (子供達の担任教師) [キノシタ]:藤田秀世
  • 男 6 [神様,ストーカーの下着泥棒]:廣川三憲
  • 男 7 (刑事) [ウョチブジイケズミシ=シミズ刑事部長]:猪岐英人 (研究生)
  • 女 6 (近所の女):白石遥 (研究生)
  • 作・演出:ケラリーノ・サンドロヴィッチ
  • 音楽:朝比奈尚行
  • 美術:BOKETA
  • 照明:関口裕二
  • 音響:水越佳一
  • 映像:上田大樹,荒川ヒロキ
  • 衣裳:前田文子
  • ヘアメイク:武井優子
  • 演出助手:相田剛志
  • 舞台監督:宇佐美雅人
  • 制作:北牧裕幸
  • 企画・製作:シリーウォーク,キューブ
  • 製作・著作:キューブ
  • ナイロン100℃ 33rd session
  • 2009 年 5 月 6 日,下北沢 本多劇場

あ〜,また台詞の検閲カットがあるな.

開始後およそ 20 分でオープニング.この OP って,劇場でも投影されてんのかな〜. 23.5 分あたりでテーマ曲のコーラスとクレジット.曲中に幕が揚がると全員揃ってコーラス.最後にユウチャンと担任のキノシタ,サクライの三人だけが残る.

ケンタロウの祖母の印象的な台詞「あんた,世界が壊れたときに悲しんでいられるかい? 自分の住む世界がめちゃくちゃに壊れたときに,あんたは悲しむ余裕があるのかって聞いてるんだよ」.

2009年11月22日日曜日

Squeak-web 09.07.1 イメージに日本語環境を突っ込んでヒラギノを使ってみる

Twitter / nsh: Use Hiragino Font on Squeak-web image. のフォロー.

ベースにしたのは,イメージが最終版の sq3.10.2-7179web09.07.1. web イメージでうまく行きゃ dev イメージでも行くでしょ,と甘い期待.仮想マシンは 4.2.2b1U.もっと手間取るかと思ったが,意外とすんなり運んだ感じ.ただ,よせばいいのに, Jacqueline タンで作業したので,思いのほか待ち時間が掛かる掛かる,死ぬほど掛かる.おそらく 2/3 以上は待ち時間 orz.ベンチマークの結果は Barbara タンの 1/10 だしな〜.忍耐力を鍛えるのにはエエか知れん.手順としては, 1) 日本語環境のインストール, 2) FreeType+ のインストール, 3) FreeTypeFontProvider にパッチ当て, 4) フォント情報更新 という順番になる.

注:インストールする順番がたいせつ. FreeType Plus を先に入れて Japanese Environment Installer を後からインストールすると,警察沙汰になる.

Barbara タンでは楽勝だが, Pharo のデフォルトである Watery2 にしなくとも, Jacqueline タンでは dev/web イメージは重い.その点, Squeak 3.10 (たぶん安定) の All-in-oneパッケージ は軽い. TODO: というわけで,まだ PPC on Tiger (10.4.11) でしか試してない. Leopard 以降は後で試す.

日本語環境を突っ込む

Squeak開発者版 に従い, SqueakMap に置いてある Japanese Environment Installer をインストールする. dev/web イメージにはいろいろ突っ込んであるんだけど,とりあえず,止まることなくインストールは終わる.

  • sq3.10.2-7179web09.07.1 + Japanese Environment

アピアランスのフォント設定はデフォルトのままで変更してない.それから,日本語環境インストール後に表示される Read Me の中身は, Script Manager へコピーしてみた.

FreeType Plus を入れてパッチ当て,ヒラギノを使ってみる

フォントを用意する. FreeTypeFontProvider>>getMacOSXFontFolderPaths は #('/System/Library/Fonts' '/Library/Fonts') しか見ないので, $HOME/Library/Fonts/ にフォントを入れてもダメッす.

なにはとりあえずの命 (難波酉不合命) FreeType Plus が必要.インストールにはそれなりの時間が掛かるので,珈琲でも煎れるなり,一服するなりするよろしね.それから, FreeType Plus インストール直後のこの時点では,使える日本語フォントはたぶん Osaka だけだと思う.なので, ヒラギノ問題 対策として応急手当で一箇所パッチを当てる.たぶん,ファイル名の問題だろうと見当付けて当てただけ.誰かもっとカッチョ佳くてイケてるパッチを書いて下さい orz.とりあえず,こんだけで日本語のディレクトリ名でもイケるはず.試してないけど.

FreeTypeFontProvider>>updateFromFileEntry:directory:locationType:  ...  path := (aFileDirectory fullNameFor: aDirectoryEntry name) squeakToUtf8.  ...

チェンジ・ファイルはこちらから→ FreeTypeFontProvider-patches4JEI.1.cs (2,205 バイト).

なんかギョっとするような名前のメソッドだが,中身は 1 行で,レシーバ (aString) は self convertToWithConverter: UTF8TextConverter new を返して来るだけ.ここだけに関して言えば,

  path := (aFileDirectory fullNameFor: aDirectoryEntry name)         convertToWithConverter: UTF8TextConverter new.

とした方がパっと見で判りやすいか知らん.でも,もしものときを考えると,単項メッセージの方が楽っちゃ〜楽.

無事インストールが済んで,パッチを当てたらお呪い.

FreeTypeFontProvider current updateFromSystem.

を掛けてフォント情報を更新する[パッチの前後で FontChooser new fontList asCommaString. で結果を見てみると以下のとおり.

  1. 使用前: 129 個,#GungSeo, #HeadLineA, #PCMyungjo, #PilGi, .Aqua Kana, .Helvetica LT MM, .Times LT MM, Accuat, Accujen, Accula, Accumon, Accuny, Accusf, Accushi, Accuve, Al Bayan, Al Bayan Plain, American Typewriter, Andale Mono, Apple Chancery, Apple LiGothic, Apple LiSung, Apple Symbols, AppleGothic, AppleMyungjo, Arial, Arial Hebrew, Arial Rounded MT, Atlanta, Ayuthaya, Baghdad, Baskerville, BiauKai, Big Caslon, BitstreamVeraSans, BitstreamVeraSansMono, BitstreamVeraSerif, BlairMdITC TT, Brush Script MT, Chalkboard, Charcoal CY, Cochin, Comic Sans MS, ComicSansMS, Copperplate, Corsiva Hebrew, Courier, Courier New, Cracked, DecoType Naskh, Devanagari MT, Didot, EngraverFontExtras, EngraverFontSet, EngraverTextH, EngraverTextNCS, EngraverTextT, EngraverTime, Euphemia UCAS, Fang Song, Futura, Geeza Pro, Geneva, Geneva CY, Georgia, Gill Sans, Gujarati MT, Gurmukhi MT, Handwriting - Dakota, Hei, Helvetica, Helvetica CY, Helvetica CY Plain, Helvetica Neue, Herculanum, Hoefler Text, Hoefler Text Ornaments, Impact, InaiMathi, Jazz, JazzCord, JazzPerc, JazzText, JazzTextExtended, Kai, Kochi Gothic, Kochi Mincho, Krungthep, KufiStandardGK, Lucida Grande, Maestro, MaestroPercussion, MaestroTimes, MaestroWide, Marker Felt, Maynard, Maynard Accents, Maynard Symbols, Monaco, Mshtakan, Nadeem, New Peninim MT, Optima, Osaka, Osaka Mono, Palatino, Papyrus, Petrucci, Plantagenet Cherokee, PortagoITC TT, Raanana, Sathu, Sazanami Gothic Gothic, Sazanami Mincho Mincho, Seoul, Seville, Silom, Skia, Song, Symbol, Tamburo, Thonburi, Times, Times New Roman, Trebuchet MS, Verdana, Webdings, Zapf Dingbats, Zapfino.
  2. 使用後: 142 個,#GungSeo, #HeadLineA, #PCMyungjo, #PilGi, .Aqua Kana, .Helvetica LT MM, .Times LT MM, Accuat, Accujen, Accula, Accumon, Accuny, Accusf, Accushi, Accuve, Al Bayan, Al Bayan Plain, American Typewriter, Andale Mono, Apple Chancery, Apple LiGothic, Apple LiSung, Apple Symbols, AppleGothic, AppleMyungjo, Arial, Arial Hebrew, Arial Rounded MT, Atlanta, Ayuthaya, Baghdad, Baskerville, BiauKai, Big Caslon, BitstreamVeraSans, BitstreamVeraSansMono, BitstreamVeraSerif, BlairMdITC TT, Brush Script MT, Chalkboard, Charcoal CY, Cochin, Comic Sans MS, ComicSansMS, Copperplate, Corsiva Hebrew, Courier, Courier New, Cracked, DecoType Naskh, Devanagari MT, Didot, EngraverFontExtras, EngraverFontSet, EngraverTextH, EngraverTextNCS, EngraverTextT, EngraverTime, Euphemia UCAS, Fang Song, Futura, Geeza Pro, Geneva, Geneva CY, Georgia, Gill Sans, Gujarati MT, Gurmukhi MT, Handwriting - Dakota, Hei, Helvetica, Helvetica CY, Helvetica CY Plain, Helvetica Neue, Herculanum, Hiragino Kaku Gothic Pro W3, Hiragino Kaku Gothic Pro W6, Hiragino Kaku Gothic Std W8, Hiragino Maru Gothic Pro W4, Hiragino Mincho Pro W3, Hiragino Mincho Pro W6, Hoefler Text, Hoefler Text Ornaments, Impact, InaiMathi, Jazz, JazzCord, JazzPerc, JazzText, JazzTextExtended, Kai, Kochi Gothic, Kochi Mincho, Krungthep, KufiStandardGK, LiHei Pro, LiSong Pro, Lucida Grande, MS Gothic, Maestro, MaestroPercussion, MaestroTimes, MaestroWide, Marker Felt, Maynard, Maynard Accents, Maynard Symbols, Monaco, Mshtakan, Nadeem, New Peninim MT, Optima, Osaka, Osaka Mono, Palatino, Papyrus, Petrucci, Plantagenet Cherokee, PortagoITC TT, Raanana, STFangsong, STHeiti, STKaiti, STSong, Sathu, Sazanami Gothic Gothic, Sazanami Mincho Mincho, Seoul, Seville, Silom, Skia, Song, Symbol, Tamburo, Thonburi, Times, Times New Roman, Trebuchet MS, Verdana, Webdings, Zapf Dingbats, Zapfino.

確かに Hiragino がいくつかあるのが確認される.この段階では一つの文字列になっちゃってるので,それぞれ findTokens: ',' して collect: [:each | each withBlanksTrimmed] でコレクションに戻したもの同士の difference: を取ると,結果は 'Hiragino Kaku Gothic Pro W3, Hiragino Kaku Gothic Pro W6, Hiragino Kaku Gothic Std W8, Hiragino Maru Gothic Pro W4, Hiragino Mincho Pro W3, Hiragino Mincho Pro W6, LiHei Pro, LiSong Pro, MS Gothic, STFangsong, STHeiti, STKaiti, STSong' となって 13 フォントの差違がある.

].

例えば,

FontChooser   openWithWindowTitle: 'Choose the Menu Font'    for: Preferences     setSelector: #setMenuFontTo:    getSelector: #standardMenuFont.

とかやって,ヒラギノがリスト・アップされてれば OK.

  • sq3.10.2-7179web09.07.1 + Japanese Environment + FreeType Plus

.表示させてるフォントは以下のとおり.

  1. さざなみフォント 明朝 24 ポ
  2. さざなみフォント ゴシック 24 ポ
  3. モナー・フォント 24 ポ (Version 2.30(s-0.9.9 k-0.2.20020124) b20030111.ファイルの日付が 2003 年 1 月になってるので, IPAモナーフォント ではない.どっから入手したのか,もう覚えてないッす)
  4. ヒラギノ丸ゴシック Pro W4 24 ポ
  5. ヒラギノ角ゴシック Std W8 24 ポ
  6. ヒラギノ明朝 Pro W6 24 ポ

「DFP***」とかのDFPフォント系はリストに出て来るけど表示できない orz.

日本語クラス名に日本語メソッド名を使って,無常を味わう

おまけ.

  • 日本語クラス名に日本語メソッド名

おぉっ!  Japanese Environment Installer の性格からして当然のことなのかも知れんが,なんか感動するデスメタル. Mac ではインライン変換ができんので,メンドいだけだけど (笑).

mi 2.1.9b9

mi - Mac OS X 用テキストエディタ

ついこの前 2.1.9b8 が出たかと思ったら, 2.1.9b9 の登場.

検索実行後のテキスト選択色設定の追加、検索実行後に検索ウインドウをアクティブのままにする設定の追加などの機能追加、および、いくつかの不具合修正

で,とくに不具合がなければ,これが 2.1.9 正式版となるそうな.

2009年11月21日土曜日

戦う司書 The Book of Bantorra #08 沼と仲間と浜辺の貝殻

「ヤツの名前はエンリケ=ビスハイル.怪物になり損なった惨めな小僧さ.…… (CM 込みで 9 分 54 秒後に) それがヤツ,エンリケ=ビスハイルの人生さ.救われねぇ小僧だよ,まったく」 © 黄金バット仮面.はぃ?

え〜と,黄金バット仮面の正式名称は「黄金の怪物」だそうだが,蠱毒生成プロセスの最終成果物であるエンリケ等の複合体と言ったらエエのか (笑).いよいよ『バッカーノ』だな.技を披露するのは他にロンケニー,ルイモン,カヤスにササリ.ただし,エンリケだけ待遇が違う.他が,いわば城と同化しちゃったビゴーさん,あるいは泥人形[なんでことえりで「泥人形」を変換すると「じゅへ4う」. じゅへ4う【どろにんぎょう】(ニュース速報VIP)]なのに対して,実体があるっぽく見えている.で,ザトウ=ロンドホーンは単独の人格なんですか,複合体の仮想人格なんですか,それとも元々単独の人格だったのが複合体の方も世話するようになったんすか.ちなみに,公式のキャラ・ページには座頭^H^Hザトウさんは存在せず.

クモラとエンリケのエピソードは,音楽とかの表情からするとそこそこ盛り上がるトコロなのかも知れんが,なんか駆け足でさっぱり. うぁぁぁ.「本喰い」あるいは「本食い」,喰うんじゃなくて,単に転送するだけじゃん.と思ったが,髭爺さんが「喰った本を体内に広がる異空間に取り込む」と解説してくれとりました.ガンバンゼル=グロフ曰く「仮想臓腑」だそうで.

ぬわんと,公式の キャラクタ・ページ弱い方の後藤さんことしゃおりがいない! ダメぢゃん.判ってねぇな,判ってないよ (笑).ちなみに,「しゃおり」と「さおりん」を混ぜて「しゃおりん」にすると,自営業の悲哀を一身に体現した 小栗さん になっちゃうので禁止.

えと,登場人物はみんなすっかり忘れとるようだが,遁走したヴォルケンの一件はどうなっとる?

2009年11月20日金曜日

Camino 2.0

Camino. 2.0 (1.9.0.15 2009102617), Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; en; rv:1.9.0.15) Gecko/2009102617 Camino/2.0 (like Firefox/3.0.15), Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en; rv:1.9.0.15) Gecko/2009102617 Camino/2.0 (like Firefox/3.0.15).

久々のメジャー・アップデート. 1.0 正式版が出てから 3 年 9 ヶ月.ついに Panther はサポート外.

Camino. Features. Tab Overview ってのは, Safari 4 で URL を指定しないでブラウザを開いたときに見えるアレのようなもの.あと,ようやくタブの移動が可能になった.ウィジェットの見栄えは OS ネイティヴではなくなった.動作は軽くなったような気がする.開いたページのフォント・サイズ変えたいときは, View>>Zoom Text Only してから View>>Make Text Smaller (⌘-) しないといけない.以前より一手間増えた.と思ったが, View>>Zoom Text Only は一度だけで佳い.貧弱な環境だとスリープ復帰後に動作が極端に重くなるな.と,そういうときは,あらかじめ Preferences で Load the pages that were open before quitting にチェックを入れておいて (要するに save session) 再起動.するしかないのか (笑).

もしかしたら以前のバージョンから可能だったのかも知れないが,今現在見ているページのリンク・タグ作成が, Safari と同じようにツールバーにある url フィールドの favicon のとこをポイントしてからドラッグ & ドロップでエディタ等にペースト出来るようになっちょった.有難や有難や.

2009年11月16日月曜日

ブーレーズの新旧ヴェーベルン全集録音タイミング表

ブーレーズが振った新旧ヴェーベルン全集の各曲 (トラック) の演奏時間を表にしてみた.時間は実測値ではなくて,ブックレットの記載から.当然ながら両全集に共通する曲のみ.作品番号のあるヤツと編曲もの 2 曲.[ この色 ] の部分はプーレーズが指揮をしたもの. ratio と diff (s) の右端のカラムについては, ratio は旧録音の演奏時間を 100.00 としたときの新録音の割り合い. diff (s) は秒単位の時間差.赤字は新全集で短くなったもの.太字は 2 割り以上の増減が見られるもの.

旧録の 3:48’31",新録の 3:51’11" というトータル時間は 24 分アニメ 10 話分より短い.『喰霊-零-』で言うと,第 10 話 B パートの中ほどで終わる.旧録だと,対策室メンバーの前に現われた黄泉が,乱紅蓮の咆哮波を浴びせる辺り,新録だと,その後の桜庭の斗魅悪狩弐拾参號の攻撃を避けて逃げた黄泉を追い掛けて,日比谷共同溝へ潜った神楽と紀之が別行動を取る辺りで全曲が終わる勘定になる.やっぱ短ぇぢゃん!

Timings of Boulez complete Webern
titleopSony (8869756464-2)DG (457 637-2)<>ratio
diff (s)
Passacaglia 1 10’05" 10’04" > 99.83
LSO, 6/1967BPO, 9/1994-0’01"
Entfilet auf leichten Kähnen 2 2’32" 2’43" < 107.24
John Alldis Choir, 6/1969BBC Singers, 10/19920’11"
5 Lieder aus "Der siebente Ring" von Stefan George 3 5’01" 5’40" < 112.96
Heather Harper, Charles Rosen, 4/1970Christiane Oelze, Eric Schneider, 9/19940’39"
(1’04")(1’08")<(106.25)
(0’04")
(0’33")(0’41")<(124.24)
(0’08")
(0’47")(1’02")<(131.91)
(0’15")
(1’01")(1’16")<(124.59)
(0’15")
(1’36")(1’33")>(96.88)
(-0’03")
5 Lieder nach Gedichten von Stefan George 4 7’43" 9’27" < 122.46
Heather Harper, Charles Rosen, 4/1970Christiane Oelze, Eric Schneider, 9/199401’44"
(2’28")(3’13")<(130.41)
(0’45")
(1’34")(1’42")<(108.51)
(0’08")
(1’53")(2’03")<(108.85)
(0’10")
(0’35")(0’59")<(168.57)
(0’24")
(1’13")(1’30")<(123.29)
(0’17")
5 Sätze für Streichquartett 5 12’10" 10’46" > 88.49
Juilliard String Quartet, 2/1970Emerson String Quartet, 10/1992-01’24"
(2’36")(2’22")>(91.03)
(-0’14")
(2’45")(2’30")>(90.91)
(-0’15")
(0’41")(0’42")<(102.44)
(0’01")
(1’56")(1’50")>(94.83)
(-0’06")
(4’12")(3’22")>(80.16)
(-0’50")
5 Sätze für Streichquartett (Fassung für Orchester) 5 9’45" 10’36" < 108.72
LSO, 6/1969BPO, 9/19940’51"
(2’46")(2’53")<(104.22)
(0’07")
(2’00")(2’13")<(110.83)
(0’13")
(0’41")(0’43")<(104.88)
(0’02")
(1’17")(1’28")<(114.29)
(0’11")
(3’01")(3’19")<(109.94)
(0’18")
6 Stücke für großes Orchester 6 11’53" 11’48" > 99.30
LSO, 2/1969BPO, 9/1994-0’05"
(1’06")(1’05")>(98.48)
(-0’01")
(1’24")(1’30")<(107.14)
(0’06")
(0’49")(0’50")<(102.04)
(0’01")
(4’35")(4’20")>(94.55)
(-0’15")
(2’27")(2’22")>(96.60)
(-0’05")
(1’32")(1’41")<(109.78)
(0’09")
4 Stücke für Geige und Klavier 7 4’52" 4’27" > 91.44
Isaac Stern, Charles Rosen, 5/1971Gidon Kremer, Oleg Maisenberg, 6/1994-0’25"
(1’05")(0’57")>(87.69)
(-0’08")
(1’26")(1’31")<(105.81)
(0’05")
(1’19")(0’57")>(72.15)
(-0’22")
(1’02")(1’02")=(100.00)
(0’00")
2 Lieder nach Gedichten von Rainer Maria Rilke 8 2’08" 2’19" < 108.59
Heather Harper, Ensemble, 11/1967Françoise Pollet, eic, 10/19920’11"
(0’59")(1’05")<(110.17)
(0’06")
(1’09")(1’14")<(107.25)
(0’05")
6 Bagatellen für Streichquartett 9 4’10" 3’59" > 95.60
Juilliard String Quartet, 2/1970Emerson String Quartet, 10/1992-0’11"
(0’41")(0’34")>(82.93)
(-0’07")
(0’27")(0’27")=(100.00)
(0’00")
(0’23")(0’22")>(95.65)
(-0’01")
(0’49")(0’50")<(102.04)
(0’01")
(1’15")(1’14")>(98.67)
(-0’01")
(0’35")(0’32")>(91.43)
(-0’03")
5 Stücke für Orchester 10 3’58" 4’36" < 115.97
LSO, 2/1969eic, 10/19920’38"
(0’41")(0’44")<(107.32)
(0’03")
(0’30")(0’39")<(130.00)
(0’09")
(1’21")(1’48")<(133.33)
(0’27")
(0’25")(0’29")<(116.00)
(0’04")
(1’01")(0’56")>(91.80)
(-0’05")
3 kleine Stücke für Violoncello und Klavier 11 2’12" 2’34" < 116.67
Gregor Piatigorsky, Charles Rosen, 3/1972Clemens Hagen, Oleg Maisenberg, 6/19940’22"
(0’56")(1’10")<(125.00)
(0’14")
(0’27")(0’22")>(81.48)
(-0’05")
(0’49")(1’02")<(126.53)
(0’13")
4 Lieder 12 5’05" 6’20" < 124.59
Heather Harper, Charles Rosen, 4/1970Christiane Oelze, Eric Schneider, 9/199401’15"
(1’10")(1’37")<(138.57)
(0’27")
(1’35")(1’53")<(118.95)
(0’18")
(1’30")(1’58")<(131.11)
(0’28")
(0’50")(0’52")<(104.00)
(0’02")
4 Lieder 13 6’54" 7’03" < 102.17
Heather Harper, Ensemble, 11/1967Françoise Pollet, eic, 10/19920’09"
(2’15")(2’14")>(99.26)
(-0’01")
(1’26")(1’30")<(104.65)
(0’04")
(1’07")(1’03")>(94.03)
(-0’04")
(2’06")(2’16")<(107.94)
(0’10")
6 Lieder nach Gedichten von Georg Trakl 14 7’32" 8’12" < 108.85
Heather Harper, Ensemble, 11/1967Françoise Pollet, eic, 10/19920’40"
(1’32")(1’42")<(110.87)
(0’10")
(1’20")(1’27")<(108.75)
(0’07")
(1’10")(1’16")<(108.57)
(0’06")
(1’23")(1’35")<(114.46)
(0’12")
(0’43")(0’51")<(118.60)
(0’08")
(1’24")(1’21")>(96.43)
(-0’03")
5 geistliche Lieder 15 4’48" 5’25" < 112.85
Heather Harper, Ensemble, 1/1969Christiane Oelze, eic, 10/19920’37"
(0’54")(0’59")<(109.26)
(0’05")
(0’47")(0’52")<(110.64)
(0’05")
(0’56")(0’59")<(105.36)
(0’03")
(0’53")(0’59")<(111.32)
(0’06")
(1’18")(1’36")<(123.08)
(0’18")
5 Kanons nach lateinischen Texten 16 3’07" 3’32" < 113.37
Heather Harper, Ensemble, 1/1969Christiane Oelze, eic, 10/19920’25"
(0’25")(0’31")<(124.00)
(0’06")
(0’53")(1’05")<(122.64)
(0’12")
(0’40")(0’50")<(125.00)
(0’10")
(0’37")(0’37")=(100.00)
(0’00")
(0’32")(0’29")>(90.63)
(-0’03")
3 Volkstexte 17 2’22" 2’37" < 110.56
Heather Harper, Ensemble, 1/1969Christiane Oelze, eic, 10/19920’15"
(0’39")(0’45")<(115.38)
(0’06")
(1’06")(1’03")>(95.45)
(-0’03")
(0’37")(0’49")<(132.43)
(0’12")
3 Lieder 18 3’24" 2’37" > 76.96
Halina Lukomska, John Williams, Colin Bradley, 1/1969Christiane Oelze, eic, 10/1992-0’47"
(0’58")(0’45")>(77.59)
(-0’13")
(1’05")(1’03")>(96.92)
(-0’02")
(1’21")(0’49")>(60.49)
(-0’32")
2 Lieder aus "Chinesiche-deutsche Jahres- und Tageszeiten" von Goethe 19 2’19" 2’24" < 103.60
John Alldis Choir, LSO, 6/1969BBC Singers, eic, 10/19920’05"
(1’17")(1’23")<(107.79)
(0’06")
(1’02")(1’01")>(98.39)
(-0’01")
Streichtrio 20 9’24" 8’49" > 93.79
member of the Juilliard String Quartet, 5/1971members of the Emerson String Quartet, 6/1994-0’35"
(3’20")(3’27")<(103.50)
(0’07")
(6’04")(5’22")>(88.46)
(-0’42")
Symphonie 21 9’19" 9’38" < 103.40
LSO, 6/1969BPO, 9/19940’19"
(6’25")(6’30")<(101.30)
(0’05")
(2’54")(3’08")<(108.05)
(0’14")
Quartett 22 7’12" 6’18" > 87.50
Damiel Majesle, Robert Marcellus, Abraham Weinstein, Charles Rosen, 4/1970Pierre-Laurent Aimard, eic, 10/1992-0’54"
(3’25")(3’09")>(92.20)
(-0’16")
(3’47")(3’09")>(83.26)
(-0’38")
3 Gesänge aus "Viae inviae" von Hildegard Jone 23 6’51" 8’24" < 122.63
Halina Lukomska, Charles Rosen, 9/1970Christiane Oelze, Eric Schneider, 9/199401’33"
(2’53")(3’34")<(123.70)
(0’41")
(1’50")(2’02")<(110.91)
(0’12")
(2’08")(2’48")<(131.25)
(0’40")
Konzert für neun Instrumente 24 6’31" 6’37" < 101.53
LSO, 6/1969Pierre-Laurent Aimard, eic, 10/19920’06"
(2’28")(2’38")<(106.76)
(0’10")
(2’38")(2’35")>(98.10)
(-0’03")
(1’25")(1’24")>(98.82)
(-0’01")
3 Lieder nach Gedichten von Hildegard Jone 25 3’49" 4’45" > 124.45
Halina Lukomska, Charles Rosen, 9/1970Christiane Oelze, Eric Schneider, 9/19940’56"
(0’55")(1’05")<(118.18)
(0’10")
(1’36")(2’05")<(130.21)
(0’29")
(1’18")(1’35")<(121.79)
(0’17")
Das Augenlicht 26 5’50" 5’38" > 96.57
John Alldis Choir, LSO, 6/1969BBC Singers, BPO, 9/1994-0’12"
Variationen für Klavier 27 5’52" 6’47" < 115.63
Charles Rosen, 6/1969Krystian Zimerman, 10/19950’55"
(2’00")(2’02")<(101.67)
(0’02")
(0’34")(0’45")<(132.35)
(0’11")
(3’18")(4’00")<(121.21)
(0’42")
Streichquartett 28 8’35" 7’45" > 90.29
Juilliard String Quartet, 2/1970Emerson String Quartet, 9/1993-0’50"
(4’06")(3’49")>(93.09)
(-0’17")
(1’52")(1’45")>(93.75)
(-0’07")
(2’37")(2’11")>(83.44)
(-0’26")
Kantate Nr.1 29 7’50" 8’41" < 110.85
Halina Lukomska, John Alldis Choir, LSO, 6/1969Christiane Oelze, BBC Singers, BPO, 9/19940’51"
(2’05")(2’17")<(109.60)
(0’12")
(2’07")(2’19")<(109.45)
(0’12")
(3’38")(4’05")<(112.39)
(0’27")
Variationen für Orchester 30 7’13" 7’37" < 105.54
LSO, 6/1969BPO, 9/19940’24"
Kantate Nr.2 31 13’54" 15’27" < 111.15
Halina Lukomska,Barry McDanuel, John Alldis Choir, LSO, 5/1969Christiane Oelze, Gerald Finley, BBC Singers, BPO, 9/199401’33"
(1’49")(2’08")<(117.43)
(0’19")
(3’16")(3’49")<(116.84)
(0’33")
(2’16")(2’25")<(106.62)
(0’09")
(1’06")(1’12")<(109.09)
(0’06")
(3’22")(3’41")<(109.41)
(0’19")
(2’05")(2’12")<(105.60)
(0’07")
Ricercata a 6 voci - Bach 07’01" 7’11" < 102.38
LSO, 6/1969BPO, 3/19930’10"
Deutsche Tänze - Schubert 8’35" 10’25" < 121.36
Anton Webern / Frankfurt Funkorchester, 12/1932BPO, 3/199301’50"
((3’31"))(4’28")<(127.01)
(0’44")(0’57")
(1’22")
(1’25")
((5’04"))(5’57")<(117.43)
(1’16")(0’53")
(1’45")
(2’03")
(total without Deutsche Tänze) 3:39’56" 3:40’46" < 100.38
0’50"
(total) 3:48’31" 3:51’11" < 101.17
2’40"

あ〜,シューベルトのドイツ舞曲編曲は新録音しかないッすね.これを除くと,およそ 3 枚分トータルで 0’50" しか違わんすよ.

曲単位で変動値の大きいもの.

  1. +24.59: 4 Lieder, op.12, (sop, pf)
  2. +24.45: 3 Lieder nach Gedichten von Hildegard Jone, op.25, (sop, pf)
  3. -23.04: 3 Lieder, op.18, (sop, gtr, cl, pb)
  4. +22.63: 3 Gesänge aus "Viae inviae" von Hildegard Jone, op.23, (sop, pf)
  5. +22.46: 5 Lieder nach Gedichten von Stefan George, op.4, (sop, pf)

むりやりコジ付けるなら,変動が大きいものは,歌曲,それもピアノ伴奏の曲が多い.つまり,ブーレーズ自身のテンポは 20 数年で少し遅くなってるが,まぁ,あんま変わってない.遅くなった分は,メンバーが一新された室内楽や歌曲などがややテンポ・アップされてて,ほとんど相殺されている,ってなところか.

トラック単位で変動値の大きいもの.

  1. +68.57: 5 Lieder nach Gedichten von Stefan George, op.4, tr4 (sop, pf)
  2. -39.51: 3 Lieder, op.18, tr3 (sop, gtr, cl, pb)
  3. +38.57: 4 Lieder, op.12, tr1 (sop, pf)
  4. +33.33: 5 Stücke für Orchester, op.10, tr3 (pb/orch)
  5. +32.43: 3 Volkstexte, op.17, tr3 (sop, ens, pb)
  6. +32.35: Variationen für Klavier, op.27, tr2 (pf)
  7. +31.91: 5 Lieder aus "Der siebente Ring" von Stefan George, op.3, tr3 (sop, pf)
  8. +31.11: 4 Lieder, op.12, tr4 (sop, pf)
  9. +30.41: 5 Lieder nach Gedichten von Stefan George, op.4, tr1 (sop, pf)
  10. +30.21: 3 Lieder nach Gedichten von Hildegard Jone, op.25,tr3 (sop, pf)
  11. +30.00: 5 Stücke für Orchester, op.10, tr2 (pb/orch)
  12. +26.53: 3 kleine Stücke für Violoncello und Klavier, op.11, tr3 (vlc, pf)
  13. +25.00: 5 Kanons nach lateinischen Texten, op.16, tr3 (sop, ens, pb)
  14. +25.00: 3 kleine Stücke für Violoncello und Klavier, op.11, tr1 (vlc, pf)
  15. +24.59: 5 Lieder aus "Der siebente Ring" von Stefan George, op.3, tr4 (sop, pf)
  16. +24.24: 5 Lieder aus "Der siebente Ring" von Stefan George, op.3, tr2 (sop, pf)
  17. +24.00: 5 Kanons nach lateinischen Texten, op.16, tr1 (sop, ens, pb)
  18. +23.70: 3 Gesänge aus "Viae inviae" von Hildegard Jone, op.23, tr1 (sop, pf)
  19. +23.08: 5 geistliche Lieder, op.15, tr5 (sop, ens, pb)
  20. +22.64: 5 Kanons nach lateinischen Texten, op.16, tr2 (sop, ens, pb)
  21. -22.41: 3 Lieder, op.18, tr1 (sop, gtr, cl, pb)
  22. +21.79: 3 Lieder nach Gedichten von Hildegard Jone, op.25, tr3 (sop, pf)
  23. +21.21: Variationen für Klavier, op.27, tr3 (pf)

まぁ,トラック単位だと母数が小さ過ぎるんで,あんま意味ねぇかも.