トップ 最新 追記

日々の破片

著作一覧

2008-08-01

_ misc/ruby-mode.el

さて、# -*- coding: shift_jis -*- と書いてセーブして、実行するとエラーになる。

おかしいなぁと何度かためしていると、いつのまにかcoding: japanese: shift-jis-*- みたいな値に書き変わってる。なぜだ?

で、ruby-mode.elが犯人だとわかって面倒だからそのフックを無効にしてしばらく使っていたのは良いとして、どうも、気に食わない。

例によってWindows軽視じゃないかとか。

それでruby-listに投げようと思って、でもふと気付いてあらためて調べたら、ruby-1.9.0-2以降では修正されていてshift-jisならばcp932に変換するようになっていた。すばらしい。

というか、プログラムと違ってmiscの内容は一度入れるとわりとそのままにしてしまうけど、ちゃんと見るべきだなぁと思った。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

_ arton [入れるのは構いませんが、どう扱うかが問題ですね。前向きに検討してみます。]

_ Craf [ありがとうございます^^ meadowを使おうと思ったときに、ruby-mode.elのためだけにソースパッケージを..]

_ znz [meadowならNetinstallにruby-modeのパッケージがあるので本来は更新してもらうのが良さそうですが..]


2008-08-02

_ PingKing終了

登録キャンペーンでiPodが当たったという良い思い出はあるものの、なんとなくそれほど使わないままサイト終了のお知らせメールがやってきた。

で、そういやどうなってるんだろうと、ひさびさにPingKingのサイトを訪れて絶句。

人気の記事が全部spamじゃん。

誰も来ない掲示板状態か。

_ オブジェクト指向太平記

まあ、いろいろな裏切りとか権謀術数のアルゴリズム渦巻く風雲の時代、裏から手をひく北条アルゴル六波羅との戦いの末、隠岐から逃げ帰った後醍醐を助けるアラン卿が天下を握ったのも束の間、おれたちに静的型付けをの鬨の叫びも勇ましく東国のAT&T武士団を率いるストラウ尊氏にあれよあれよと天下の覇権を握られて、気づくと3種の神器のうち草薙のカプセル化と八咫の多態も奪われて、残る八尺瓊メッセージパッシングをパロ吉野の山奥に大事に祀っておいたのが、ふと気付くと北朝側はすでにして三種の神器が揃ったと言う風説を聴き、こはいかにと探りを入れるといつの間にか八尺瓊のユーザー定義型とかいう神器が祀られていると聴くに及び、ついに蝦夷地の北畠sumi房、神皇正統記の執筆に至らん。

とか読んでみたいよね、というような雑談をしてみたり。

太平記〈上〉―マンガ日本の古典〈18〉 (中公文庫)(さいとう たかを)

まさにsu……

#似顔絵しか知らないけど。

実際、sumimさんの歴史もの()っておもしろいしなぁ。

本日のツッコミ(全6件) [ツッコミを入れる]

Before...

_ sumim [ハゲって言うなー!って言われてはないか。汗 歴史を調べることってほんと面白いですよね。]

_ arton [ネタにしてすみません。 OOPというパラダイムの真価の1つは、それがまさにパラダイム(Wikipediaの狭義の説明..]

_ sumim [恐縮です。あれには、世の中の、権威の発言や教科書的記述といったものを鵜呑みにしないことの大切さと、一次情報にあたるこ..]


2008-08-03

_ イヤミは一人、風の中

というわけで、ひとつの時代が終わったわけなのだ。それでいいのだ。

小学生のころ、曙出版から出ていたおそ松くんの全集は、文句なく垂涎の的だったけど、すべてを持っていた子供は僕のまわりには僕を含めて誰もいなかった。

1巻を買ってもらったときは嬉しかったが、すぐにうれしくなくなった。おそ松くんの顔が違っていたからだ。すげぇブタっ鼻で、もっさりしていた。その後、少年サンデーに移ってそこであの洗練されたスタイルの6つ子になったのだった。おそ松、から松、とど松、市松、チョロ松、十四松、さあみんな揃った揃ったー。で始まるテレビアニメは見ていたけど。覚えてるもんだな。六人揃えば、イヤーミを言うぜ、あーいつはでっぱのイヤミだ。シェー。

魚屋の娘のトト子ちゃんが秘密のアッコちゃんと同じ顔だったことで、秘密のアッコちゃんが赤塚不二夫の作品だとあとから知ったとか。

その少年サンデーのおそ松くんは、幼稚園のころ、家に一冊なぜだか知らないがあった少年サンデーに出ていたのを覚えているから、古いといえばむちゃくちゃに古い(む、思い出したぞ。この回は、イヤミとチビ太が鶏のかっこうの黄金風呂を作る回だ。にせものだけどな。だよーんが客に来るので怪しいと思って口を開けさせると道具が出てくるし、デカパンのパンツの中から大工道具が出てくるので追い出すとか。で、おそ松くんの家では母親が子供におやつだよといって、鏡餅を出す。見事に食いちぎったおそ松とから松が、風呂行の資格を得て、金をもらって風呂へ行く。道具をもってないのでイヤミが風呂に入れると、さっそくおそ松とから松はトサカを食いちぎる。すると単にセトモノに金色を塗っただけのインチキとわかる。あとはどうなるか忘れた。多分、イヤミとチビ太をみんなで袋叩きにして、それまでに稼いだ金を巻き上げてしまうとかだろう。あの二人はしょっちゅう、簾巻きにされて捨てられたりしていたり)。エノケンやロッパという言葉がふつうに出てきて、吾輩は村中で一番、モボだと言われた男とか登場人物が唄う、まだ、そんな時代の作品だった。おそ松くんを読んで、「赤城の山も今宵限りよ、かわいい子分のおめぇっちとも……」で始まる赤城忠治のセリフを覚えたし、チョロ松が眼帯して寿司を食わせてもらうのを読んで、次郎長三国志を知る、芸能がコモンズだった時代の作品でもある。いずれにしても、今の子供が読んでも、背景知識が全然ないから(言葉とかも)たぶん、半分も読めないだろうなぁとか思う。

チビ太は、戦災孤児でいつも6つ子にこづかれていじめられているのだが、小さいから頑張るんだし、力では勝てないから口が達者で、そんなことはないとは思うが、スナフキンの妹みたいな感じだ。時々、火垂の墓のような内容の作品も混ざったりするので、チビ太は独特の人気があった。猫をかわいがるんだよな。自分が食べるものがなくてふらふらで、やっと拾ったパンか何かをノラ猫にやってしまったり。拾い食いという言葉が通用していた時代の作品でもある。だからおでん(串に上から三角、丸、円筒がささっているのだが、コンニャク、ツミレ、竹輪麩かなぁ。当然、子供心にあのおでんを食ってみたかったが、鍋で煮られたおでんはチビ太のおでんのようには見えなかった)が彼にとっては本気の大御馳走なのだ。

で、曙出版の全集だが、その中に、1冊、異様な題の巻があって、子供心に猛烈あたろうな興味を抱いて、結局、買ってもらった。それが、イヤミは一人、風の中だ。

これは単行本1冊分(だと記憶している)の長編となっていて、ギャグ漫画でありながら、妙に哀しいような、寂しいような、不可思議な物語だった。期待していた漫画とはまったく異なったのだが(おそ松くんたちは、町の悪ガキとして少し出てくるくらいだったように思う)、強烈な印象を受けた。だから、期待とは違ったかも知れないが、がっかりはまったくしなかった。

街の灯 コレクターズ・エディション [DVD](チャールズ・チャップリン)

イヤミは素浪人で(江戸時代が舞台のようだ)、盲目の花売り娘の境遇に同情して、いろいろ治療費を稼ぐはめになる。しかし力も何もないイヤミ、どうやってお金を作ったのかまったく記憶にないが、それでもどうにか治療費を捻出できて、たぶん盗みかなにかをやったんじゃないのかなぁ、娘が医者へ行くのを見かけてそれがお別れとなる。

さらに幾年が過ぎ、素浪人どころかただの乞食にまで落ちぶれたイヤミが袋叩きにされて(たぶん、片輪になっているような記憶がある。いざり車に乗っていたんじゃないかな)這いずりまわっていると、同情して抱き起してくれる女性あり。イヤミが顔を見ると、あの娘。今では眼もぱっちりと開いて、花屋を開いて立派に暮らしているらしい。思わず、礼を言おうとしてふと気づく。声を聞かれたら自分があの金持ちの(ということになっている)治療費を出した恩人だとばれてしまう。でも、自分は金持ちどころかただの片輪の乞食だ。まあ、口がきけないのね、と同情する娘の手を振り払い、そのまま風のかなたに去っていく。

父親が、それを読んで、チャップリンのやり方が気に食わなかったのかなぁとか言っていたのを覚えている。

それからさらに数年、東宝東和が最後のチャップリン劇場公開をして立て続けに上映した中で、街の灯を観る。

野垂れ死にしかかっているチャップリンを抱き起こす娘、冷え切ったチャップリンの手を取って、ちょっと驚き、ためらい、また握り、盲目だったころの自分を力づけてくれた恩人の手の感触を思い出す。

「あなただったのね」

チャップリンは、去らなかった。


2008-08-04

_ 成長と永遠

学年誌って読む側は一年でお別れできるけど、作る側は毎年似たようなことすんだろうか。ジョブローテーションとかどんなやり方なのかな? 生涯現役小学一年生とか、あまり嬉しくなさそうだが、逆に凄くやりがいが無いこともなさそうにも思える。


2008-08-05

_ アマゾンの不思議な挙動

マンガの太平記を読みたくなって買うことにした。先日貼ったやつだ。

太平記〈上〉―マンガ日本の古典〈18〉 (中公文庫)(さいとう たかを)

で、上巻のページを見ると、「あわせて買いたい」に下巻が出ている。そりゃ買うよな。

太平記(下)―マンガ日本の古典〈20〉 (中公文庫)(さいとう たかを)

で、当然、そっちもクリックする。

で、チェックアウトしようとしてふと気付くと、18と20で19が無いことに気づく。で、中巻をさがすわけだが、これが出てこない。「この商品を買った人はこんな商品も買っています」とかにありそうなものだが、ないわけだ。で、結局、太平記で検索して見つけてやっとクリックできた。

で、今、あらためていじっていたら、おれが買ったからか動作が変わっているのだが、下巻のページの「あわせて買いたい」には19(つまり中巻)が出ている。

それは後から買う人のためには良いことだが、ここで不思議なのは、中巻にはイメージがないのだ。

太平記(中)―マンガ日本の古典〈19〉 (中公文庫)(さいとう たかを)

でも、このシリーズの別のやつ、たとえば竹宮恵子の吾妻鏡は上中下、すべてのイメージがある。長谷川法世(博多っこの人か)の源氏物語も上中下そろっているし、よくわからん。

なぜ、太平記の中だけイメージがないんだ?

何かヤバイものでも書かれているのか?(立川流の秘儀の絵とか) と思ってみると、セブンアンドワイではちゃんと全部見られるし、別におかしかない。たぶん尊氏だと思うおっかない顔ではあるけれど。というか、リイド社のやつのほうがいいなぁとか思ったらこっちは絶版なのか。

不思議だ。(単に中央公論社が渡し忘れただけとか?)

本日のツッコミ(全2件) [ツッコミを入れる]

_ ムムリク [よくありますよね、こういうの。先日もとある上下の上を見たけれど下は出ていなくて改めて検索しました。]

_ arton [好意的に解釈すると、出版社の思惑より、集団知ってことでしょうが、売り上げ実績優先し過ぎで利便性を損なっているような。]


2008-08-06

_ そうそうとたかうじ

携帯からの入力。

どっちも権威の後ろ立てを利用。たかうじのほうが源平交代説も手伝って有利。政治の規模についていくということ。ごだいごはそれができなかった。権威の安売りはだめ→大塔宮、というか、子供(こううみたい)。悪党というのは山賊に対応する。

いろいろ。

_ 太平記は抜群におもしろかった

歴史の解説書みたいなものを別とすれば、太平記の時代、つまり鎌倉幕府の最後の将軍権力者の北条高時の治世に始まり、足利義満(室町幕府3代将軍)の誕生まででちゃんと読んだのは、山田風太郎だ。

婆沙羅 (講談社文庫)(山田 風太郎)

これは、最晩年のひょうひょうとした融通にして無碍の境地の作品で、南北朝時代という形勢逆転に次ぐ逆転、昨日の敵は今日の友に寝首をかかれてさようならな時代を、とてつもなくわかりやすく書いていて、1950年代のへたくそな説明せりふが続く探偵小説家と同じ作家とは思えないほどのできだ。いい作品だ。

というのを3冊使えるとは言え、太平記(中学生のころに読んで途中で登場人物のまとまりのなさに挫折した記憶がある。上で比較しているが三国志のほうが練れているのは、政治的な習熟度という理由もあるのではないだろうか。つまり、項羽と劉邦のころの政治的未熟さの時代に三国志並みの登場人物が出てきているようなものだ)にそって書いたさいとうたかを(プロダクション)のストーリーをダイジェストする力量というのは、ただものではない、のはゴルゴ13でおなじみであった。

たとえば、僕の大好きな観応の擾乱。足利政権が安定した治世を京都にもたらして(南朝は吉野でほぼ死に体となっている)いる、この時代の敵味方の関係がちゃんと把握できる。山田風太郎も、さすがに観応の擾乱については、面倒であるというようなセリフで適当に切り上げていたような記憶があるけど。

しかし、いくら昨日読んだばかりとはいえ、相手は観応の擾乱、本を見ずに正しく経緯を書けるだろうか。いや、無理だ。したがって、でたらめの可能性は捨てきれない。

高師直(足利家の執権)の戦闘能力が突出してきて、吉野を破壊して、ほぼ南朝を壊滅させたために(しかし、尊氏の弟の直義がとどめをさすのを止めたのはどのような深慮遠謀によるものなのか)、我が世の春とばかりに主家を無視する増長ぶり。

しかも、貴族や寺社との調停も政治と心掛ける直義に対して、武士を徹底的に厚遇する、ある意味、すぐれた時代感覚もあり、高家の人気は高まるばかり。天皇なんか木か金で作って飾っておけば良かろう(京都だから仏像とか見て、そう考えたのだろうな)というある意味、正鵠を射た発言まで飛び出して、ますます武士からの人気はうなぎのぼり。

そこに塩冶判官の奥さんに横恋慕してどうたらこうたらしてついに塩冶判官を讒言して自害に追い込む無法ぶり(ここは、明から大順から清へと続く、李自成と牛金星と呉三桂の確執の先取りっぽい)、ついに直義が高家暗殺計画を立てるにいたる。

しかし、暗殺計画は未然にばれてしまったために、直義は高師直の軍に追われ、からくも尊氏の屋敷に逃げ込み、めんどうだから兄弟まとめて殺してしまえという考えも浮かんだものの、そうは言っても尊氏の人気はあなどりがたく、師直、尊氏と談判して直義は出家させることでその場は納まった。(なんとなく、家康のところに逃げ込む三成に対して迫る加藤清正の300年前バージョンという感じである)。

(ここで塩冶判官とのいきさつがあるのかも)

ついに怒り心頭、直義、挙兵する。と言っても、武士は尊氏と師直についているから、ちょっと考える。考えた末、吉野に行って、南朝と直談判、兵隊借りて、錦の御旗ももらって、京都へ攻めのぼる。

師直最初はうまく戦うが、京は攻めるに易く、守るに難し、逃げる途中で殺されてしまう。直義、北朝の天皇を抱え込んで、京を支配。南朝無視。

なぜか尊氏は逃げてしまったのだが、よくよく考えて、挙兵して京へ攻めのぼる。が、敗けてしまった。そこで尊氏、吉野へ行き、南朝と直談判、兵隊借りて、錦の御旗ももらって、京都へ攻めのぼる。

義直最初はうまく戦うが、京は攻めるに易く、守るに難し、逃げる途中で捕まってしまう。

違うな。これでは単純すぎる。尊氏の息子で義直の養子になっている直冬と九州軍団の進撃とかもあったはずだ。

それに、最後は南朝がどさくさまぎれに京都と鎌倉を占拠したりするはずだが、やっぱりきちんと把握するのは難しい。しかも、山盛りてんこもりの人間模様だのなんだのの彩りがあるわけであり。

という具合に、太平記の時代はおもしろいのであった。

本日のツッコミ(全3件) [ツッコミを入れる]

_ きむら(K) [北条は将軍じゃなくて執権ですぅ。]

_ arton [確かにそうですね。しかも太平記の中で活躍するのは出家した後の坊さん時代だったわけで、結構、そのあたりからして、ややこ..]

_ arton [というか、直義が途中から義直になる乱暴狼藉はいかがなものかわ。というか、どっちだ?]


2008-08-07

_ 動物たちのケース

Alkan: Grande Sonate; Sonatine; Le festin d'Esope(Alkan, C.)

キャメルケースという呼び方は、良く見る。camelCaseとか、CamelCaseとか、lcc、uccという呼び方も聞き覚えがある。

それに対して、foo_bar_bazというのは、どう呼ぶのかとか考えずに、これがふつうだと考えれば、呼び名がないのも当然なわけだが、今日、snake_caseという呼び方を見て、ちょっとだけ納得した。

ピテカントロプスの逆襲(スネークマンショー)

(スネークケースで検索したらスネークマンショーのジュエルケースがひっかかった)

であれば、Lispの人が自慢していた、foo-bar-bazというのはなんだろうか? bee-caseという気もするけど、単に団子さん兄弟という気もしないでもない。さんだけ変換されなかったが、いい味を出しているからそれで良しとする。

というか、

だんご3兄弟 バリエーションズ(学校行事)

1枚まるごとだんごは良いとして、

名演集(ラカトシュ(ロビー)&ラカトシュ・アンサンブル)

これになると辛いものがあるように思える。

しかし、それ以上に

だんご3兄弟(リチャード・クレイダーマン)

リチャードにはもの哀しさを覚えなくもない。

というわけで、instance_variable_ は蛇足小僧、_instance_variableはベロ出しスネークと呼ぶ。

ベロ出しチョンマ (新・名作の愛蔵版)(斎藤 隆介)


2008-08-08

_ スクリプトエンコーダ

ActiveScriptのエンコーダについて調べた。

「スクリプトエンコーダを使用する」

screncというツールを使って、コメント内に**Script Encode**を埋め込んだVBScriptやJScriptをエンコードする仕組みだ。

エンコードしたスクリプトは、通常のVBScriptではなく、VBScript.Encodeというクラス名で作成できるActiveScriptエンジンが処理する。

screncでエンコードした結果を見ると、quoted-printable encodingされた文字列に見える。といっても、デコードしても良くわからないバイナリーとなる。多分、キーワードを固定辞書でバイナリ値に置き換えているのではないだろうか。いずれにしろ、暗号化しているわけではないというような説明がされている。

なんの役に立つかと言うと、難読化と一種のハッシュ埋め込み(字が変わればデコードできないので安心)ということらしい。

いかにもありそうではあるが、脆弱性も見つかったりしている。

それはそれとして、Rubyで似たような仕組みを考えてみる。難読化とハッシュ。デコードして書き変えて再エンコードを防ぐ必要はないということ。だったら圧縮でバイナリにして、それをBase64でエンコードすれば良さそうだ。

こんな感じ。

c:\temp>type hello.rb                 ← 元のスクリプト
#**Start Encode**
puts("what your name ?")
name = gets
puts("hello #{name.chop} !")
 
c:\temp>ruby screnc.rb hello.rb hello2.rb ← エンコーダでエンコード
 
c:\temp>type hello2.rb                ← エンコードしたスクリプト
#**Start Encode**#@~eJzjKigtKdZQKs9ILFGozC8tUshLzE1VsFfS5AIzbBXSU0uKuSCKMlJzcvIV
lKtBMnrJGfkFtQqKQIUA7ikViA==
~@
c:\home\arton\temp>ruby scrdec.rb hello2.rb ← デコーダで実行
what your name ?
anonymous                      ← getsがARGFになるので最初びっくりした。
hello anonymous !

エンコーダはこんな感じで作ってみた。

require 'zlib'
 
if ARGV.size != 2 || !File.exist?(ARGV[0])
  $stderr.puts("usage: ruby screnc.rb src dst")
else
  File.open(ARGV[1], 'w') do |dst|
    s = File::read(ARGV[0])
    if s =~ /\#\*\*Start Encode\*\*(.*)$\Z/m
      dst.write($`)
      dst.write("#**Start Encode**")
      dst.write("#\@~")
      dst.write([Zlib::Deflate.deflate($1)].pack('m'))
      dst.write("~\@")
    else
      dst.write(s)
    end
  end
end

デコーダはこんな感じかな。

require 'tempfile'
require 'zlib'
 
alias _org_require require
 
def scr_require(scr)
  s = File::read(scr)
  if s =~ /\#\*\*Start Encode\*\*\#\@\~(.*)\~\@/m
    tmpf = Tempfile.new('scrf')
    begin
      tmpf.write($`)
      tmpf.write(Zlib::Inflate.inflate($1.unpack('m')[0]))
      tmpf.close(false)
      File.rename(tmpf.path, "#{tmpf.path}.rb")
      _org_require(tmpf.path)
    ensure
      File.delete("#{tmpf.path}.rb")
    end
  else
    _org_require(scr)
  end
end
 
def require(s)
  if File.exist?("#{s}.rb")
    scr_require("#{s}.rb")
  elsif File.exist?(s)
    scr_require(s)
  else
    _org_require(s)
  end
end
 
if $0 == __FILE__
  if ARGV.size != 1 || !File.exist?(ARGV[0])
    $stderr.puts("usage: ruby scrdec.rb encoded")
  else
    def gets
      $stdin.gets
    end
    require ARGV[0]
  end
end

_ Visual Basicの配列の次元

残念ながら、木村さんが間違っているのだが、何しろ、VB6以前はひげ(.NET)の世界より昔なので、土に埋もれてなかなか見つからない。それともVB.NETの話をしているのだろうか?

とりあえず、XLソフトの資料が見つかったので、リンクしとこう。

Basic コード:
 
	Declare Sub FORTARRAY Lib "fortarr.dll" (Barray as Single)
	DIM barray (1 to 3, 1 to 7) As Single
	Call FORTARRAY(barray (1,1))
 
Fortran コード:
 
	Subroutine FORTARRAY(arr)
	  REAL arr(3,7)

実際のところ、効率を無視すれば、どっちがどっちでも動くことは動くので、仕事プログラムでも逆に書いているのをたくさん見つけて頭を抱えたものだ(直さなかったけど。というか、VBプログラマは仕様を読まない。その代わりに、どこぞのCプログラマから聞かされた与太話を信じて仕事をするということはわかった)。このあたりは、SAFEARRAYの定義を読むとわかることはわかる(と思って読み返したらわからなかった)。

追記:やっぱりSAFEARRAYの仕様でわかるや。rgsabound単位にLboundが設定できるということと、rgsabound[0]がleft-most dimensionだということ、あるいは(同じことだけど)Redim(10)をRedim(10,10)に変えられること(.NETではできない)というように、各ランクが独立していることと、最初のランクが左端ということから、メモリ配置はランク単位に行われることになる。


2008-08-09

_ 今日のありがたいお言葉

魔術家にとって、カバラや「生命の樹」とは、こうした法則を実用向けに記号化したものなのである。しかしながら新米の魔術師は絶対に、カバラを勉強したくらいで、ほかの魔術の伝統を一顧だにしないような気分に陥ってはならない。魔術とはその基本法則と同様に普遍的なものである。西アフリカのまじない師もシャーマンもカバラ主義者も、みんな同じ法則を用いている。方法が異なるだけだ。魔術の形態は千差万別でも、首尾一貫した現実を外側から眺めているにすぎない。

プログラミング、Java、COBOL、Lisp、OO厨とかを適当に当てはめてみよう。というか、普遍的なことが書いてある、普遍的な本だよな、これ。

結局、法則は同じで方法が異なるだけだ。

魔術 理論篇(デイヴィッド コンウェイ)

というと、千年王国を思い出した。

うろ覚えだが、最後に、蛙男がヤモリビト佐藤に向って言う。

「キリストでもシャカでもマルクスでも悪魔くんでもみな同じことだ。それぞれ方法は違うが、根本にある考えは同じことなんだ。」

悪魔くん千年王国 (ちくま文庫)(水木 しげる)

あああああ、なんということだ。貸本版の完全版なんていう恐ろしいものが出ているとは。即効でポチ。

#追記:むむ、表紙の絵が貸本版(あけぼの文庫版を持っている)ぽかったのでそれに手を入れて完全版にしたのかと思ったが、どうも少年ジャンプ版みたいな気がするぞ。だとすると既に持ってるなぁ。ちょっとがっかりかも。まあ、期待しないで到着を待つ。

水木しげるだと、しゃんぺーい、行ってしまうのか、が一番好きだけどな。いきなり横で昼寝しているやたらと恰幅が良いうえにふてぶてしいタヌキが、最後には妙に頭でっかちでかわいくなるのだが、どっちがつげ義春の絵だろうかとか想像して楽しむも良し、三平のあまりに幸薄い人生に仰天するもよし、の変な(物悲しくも可笑しな)傑作。

河童の三平 (ちくま文庫)(水木 しげる)


2008-08-10

_ 「高」というデザイン

高島屋、高師直、高家、高速道路、……

四角いんだよな。妙に。

で、おれは結構、高のデザインは好きなのだ。下のところとか、中華ドンブリマークみたいだし。回ってのもだから好きだ。回路図っていかにも回路図だし。

でも、階はいただけない。

高回だったら、よかったのにな。でも、高回だと左の字の複雑さに比して右の字がちょっと甘い。廻ならいいか。高廻関数。なんか字面だと再帰関数のようだ。四角と言えば函はどうか? 高廻函数……ちょっと函は横長で気持ち悪い。これなら関のほうが良いようだ。

どうしてorderが階なんだろう? 階数、次数、位数の階から来ているのか。higher orderだけだと高位、上流社会となっているが、logicが付くとその時点で高階論理になるようだ。

でも、字面が大事だよな。

やっぱり、音は尊重するとして、高廻関数がいいけどなぁ。

とかどうでも良いことを考えながら『注目ワード“高階プログラミング”って何だ?』を読む。

#このあたりの字は、特にメイリオの良さが光る。高に関してはヒラギノよりメイリオだ。廻にいたってはメイリオだとちょとぞくぞく来るな。これは発見だった。

……なんでおれがVistaが好きなのかわかった。IMEはうんこ未満だし、最初のころのエクスプローラが緑の棒を出して止まるなんて問題外だったわけだが、最初にOS XでSafariを開いたときと似たような感動があったからのようだ。やっぱり、字が美しく見えるかどうかは重要だ。

本日のツッコミ(全9件) [ツッコミを入れる]

Before...

_ unbe@長文失礼します [>強烈なピクセル数 とりあえずタテヨコ十倍にしてみました。 四倍くらいから結構きれいに見えると思うんですが、明朝体を..]

_ arton [夢の液晶だったんですね。僕も欲しいですねぇ。 超漢字はOpenTypeの先取りのようなことをしていたんですか?]

_ unbe [超漢字が各国言語を網羅した18万文字(TRONコード準拠)をサポートするからといって そのままフォントと同次元で語る..]


2008-08-11

_ Windowsビットマップ(メモ)

一般的な座標系に従い左下から始まる。

横の長さは4の倍数になるように0を埋める。

ヘッダにはいろいろ種類があるが重要なところ、縦横のピクセル数などは同じ位置にある。

Wikipediaがまとまっていて便利。


2008-08-12

_ ASR-1.8.7.7

週末あたりにinfoseekにコピーします。

Ruby-1.8.7-p72

StarRuby-0.2.0

RubyGems-1.2.0

exerb-4.8.0

ASR-1.8.7.7

MD5 checksum: 06a6cd8d0669cf30b7b53dadf042e3ab

MD5 checksum: bafcf34f7fce6612bdee169a4b967ffe(修正しました

StarRubyについては、6/27の日記6/28の日記を参照。ちょっとしたおもちゃをおまけで入れてあります。ネットワーク越しにローカルにインストールして直接実行する機能なので、信頼できないドメインからダウンロードしないとかは自己責任の範疇です(6/27のコメントで検討しているけど、2だとディレクトリが操作できないので無理だとわかって結局無防備のままです)。

本日のツッコミ(全2件) [ツッコミを入れる]

_ ムムリク [ファイルの説明のコメント部分が 1.8.7-p71 になっているようです。]

_ arton [お、どうもありがとうございます。infoseekにはそこを修正したバージョンを上げることにします。というか、そこだけ..]


2008-08-13

_ 深い河底の賢き乙女たち

ブリュンヒルデの言い間違いだろう。賢くないから、せっかくジークフリートが指輪を渡す気になったのにやめさせてしまったのだろうから。

ニーベルングの指輪*楽劇 [DVD](バイエルン国立歌劇場管弦楽団)

久々に見返したつもりだったが、神々の黄昏は観ていなかったことに気付く。で、いろいろ気に食わない。ルネコロがおやじくさいのに野性児の衣装だとか。むしろグンターの館に取り込まれたあとは、こいつも夜会服とか着せたほうが良かったのだ。グンターは老け過ぎだけど。

ベーレンスは素晴らしい。実にすばらしい。歌、演技、立ち居振る舞い。

ヴァルトラウテは美しい人だな。マイヤーって言うのか。

ラインの娘が浮浪者になっているところの演出は、いい。美しい。

演出もなぁ。火がないのがさびしい。ローゲが最後に深紅のマントを裏返して黒いほうを表にするとか、地球儀を持ったハーゲンが無意味に転んだりとか、どうしてこういう演出にしたのだろうか? したかったからだろうが。最後のローゲが胸を張るところは理由はわからないがいいけど。

それにしてもトーキョーリングの赤い矢印の演出は良かったなぁ。

あと、葬送行進曲の間、ずーっとローゲ(だと思うが)の顔(じゃねぇな。ヴォータンというか服からは漂泊人かな)を映しているのも気に食わない。葬送すべきだろう。せっかく、おしゃれなギビッヒ親衛隊がうじゃうじゃいるのだし。松明持たせて……もしかしたらしてたのかな? (で、そこが問題となったのだとか。というか、問題となったところはまったくなくした演出だし、具体的にどうしたのかが明かされていないので、そのあたりで変なのかも)。

Triumph of the Will [DVD] [Import](-)

(こうなっちゃったとか?)

Triumph of the Will [DVD] [Import](Adolf Hitler)

(リージョンフリーのもあるようだが高い)

それにしてもベーレンスは良い。


2008-08-14

_ それぞれのシネマ

ユーロスペース。カンヌの60周年記念らしい。基本は映画の映画なのだが、オリヴェイラが空気を読まずにミシェルピコリにフルシチョフを演じさせてローマ法王にお腹を突かせるという大技を入れていておもしろ過ぎる。

製作がフランス映画だけあって、ほとんどの映画が映画館とは別にタバコ吸いまくり。ハリウッド映画と何が違うと言って、煙が違う。そのため、やたらと印象的。最初の映画は汽車が煙を吐きながら走ってくるわけで、映画には煙がつきもの。3本くらいは映画館の中で映画みながらタバコ吸いまくり。

チラシと映画の順序が違う。思い出しながら正しい順序に書きたいが微妙。

作家名は最期にクレジットされるので、誰が撮ったか考えながら観たり。

・レイモン・ドバルトンの夏の映画館

アラブ系の国なのか、映画館で映画が始まる。いい感じだったことだけは覚えている。

・北野武の素晴らしき休日

はりぼての映画館。左側に道路。男が来る。農業1枚、映画館に入る。キッズリターン。音楽が調子いい。フィルム切れる。フィルム燃える。北野武が映写技師。映画終わって、とぼとぼと帰宅。

キッズ・リターン [DVD](金子賢)

音楽とセット。悪くはないけど、2番手に置かれたのがなんとなくわかる。

・JPとリュック・タルデンヌの暗闇

男が這っている。映画館の座席の間。手を伸ばす。バッグ。財布を抜こうとする。女、映画を観ている。バッグをまさぐり、男の手をつかむ。男の手を頬に当てる。

いまさんくらい。手を頬に当てるのが良いかな。

・ホウ・シャオシェンの電姫戯院

アヒルの映画となにかと愛染桂の3本がかかった映画館。高級な車。日本人の家族が下りてくる。とうもろこしを買ってもらう娘。とうもろこし屋の子供。映画館に入る。廃墟の映画館。映画が映る。

愛染かつら 総集篇 [VHS](上原謙)

ムードの作り方がうまい。というか、文句なくうまい作家。

・テオ・アンゲロプロスの3分間

ジャンヌ・モローが美術館かな、に入ってくる。誰かいる? 人を配置した展示。舞台に向かってマルチェロ、と叫ぶ。朝目覚めて愛おしく感じたことを語る。

夜 [DVD](マルチェロ・マストロヤンニ)

映画っぽい。映画だな。演劇としてもすぐれた。

・ナンニ・モレッティの映画ファンの日記

映画館の座席から頭。映画ファンのおしゃべりを始める。映画の話。トリュフォーの家庭は、英語の題名が浮気と団らん、でもイタリアでやったときは、妊娠なんて怖くない(というような印象をおれは受けたが、たぶん違う)だったんだ。アナスタシア。2才の子供の映画デビュー。30分後、ママはどこと泣き叫ぶ。ロッキーの最後の戦い。スタローンがジムに来る。パッパーパー、パパッパー。両腕を上げる。パッパーパー、パッパーパー。

アナスタシア [DVD](メグ・ライアン)

ロッキー・ザ・ファイナル (特別編) [DVD](シルベスター・スタローン)

本当に映画好きなんだな、このおっさん。他の映画の言及は忘れたけど、足の親指と人さし指の長さと高貴さの関係とか。

・チャン・イーモウの映画をみる

人気投票でケン・ローチと人気を二分してた。村に映画が来るので子供がおおよろこび。始まるかと思うと映写技師が飯を食うところがスクリーンに影絵。PILのリッツ公演とか。村の娘と映写技師。始まると子供は寝ている。手堅い。

・イニャサトゥのアナ

カップルが映画を観てる。女、途中退席。映画館の外に出て煙草を吸う。男が後からやってくる。女、盲目。

映画っぽかった。

・アキ・カウリスマキの溶鉱炉

男たちが溶鉱炉で働いている。なんか、カウリスマキだなと感じる。仕事終わる。映画館。もぎりのおばさんと、警備のおっさん。カウリスマキの映画だ。おっさん、映写室に入る。資本主義と労働者の権利の映画。画面を食い入るように見入る工員たち。カウリスマキだ。

レ・フィルム・リュミエール DVD-BOX(オーギュスト・リュミエール)

カウリスマキの映画。それ以外のなにものでもない。

・デビッド・リンチのアブサーダ

映画館。巨大なはさみがスクリーンから飛び出している。見事な構図。会話。映画の進行と会話がシンクロ。踊る女、血まみれで倒れる男。(クローネンバーグだと思う)、惨劇を予想させる会話。(あ、なるほどリンチか)

リンチ、むちゃくちゃうまい。3分間でかっちり、映像もきっちり。

・コンチャロフスキーの暗闇の中で

8・1/2のポスター。すぐ戻りますの看板。おばさんが映画を観ている。後ろのほうでカップルが嬌声。映画終わる。おばさん涙をぬぐう。2番の電灯が切れている。映写技師、電気を直す。カップル、脚が上がっている。おばさん、窓口の看板を売り切れに変更。席に座る。8・1/2が始まる。

8 1/2 愛蔵版 [DVD](マルチェロ・マストロヤンニ)

カップルいらないじゃん。ニノ・ロータが良いので良いけど。

・ジェーン・カンピオンのレディバグ

映画館。太った女性の虫。掃除夫との戦い。ステージで踊る。踏みつぶされる。緑。流れている映画は女性2人と男の会話。

・オリヴィエ・アサヤスの再燃

カップル。忍び寄るアラブ人。バッグを盗む。電話が鳴る。

サスペンスはあるし、印象的でもあるけど。

・クロード・ルルーシュの街角の映画館

3つの数字。父が母を口説く。トップハット。いい加減にしないと大声を出すわよ。男、アステアに合わせてチークトゥチークを歌う。いい加減にしないと……、母は1960年に再度パリで出会う。アステアとハローと息子。あと、男と女もちょっと映す。

トップ・ハット [DVD](アーヴィング・バーリン)

ルルーシュには良い印象はないが、アステアは素晴らしいし、アステアが映画だから、良い映画。

・ビレ・アウグストの最後のデートショウ

3人組が与太話。まじめそうな人が離れたところにいる。アラブ系の女性。デンマーク語はわからない。ミステリらしいセリフ。男、でたらめな恋愛映画として吹き替える。口説いているらしい。うるさい。3人組、怒る。通訳しても良いだろう。テヘランへ追い返せ。男支配人にナチがいると通報。支配人3人を追い出す。2人も映画を出る。男、帰ろうと言い、女は続きを観たいという。何度も見たが最後は結婚して終わる。ヘルメットを忘れたことに気づき、男がとりに行く。映画を観てしまう。女待っていると3人組が近づく。男、出てくると女がいないことに気付く。サスペンス。支配人が来て男を2階へ連れて行く。3人が女に通訳している。女、男に最後が結婚ってことはないようよ、と微笑む。

きれいにおちがつき、しかも良きコメディ。

・ユーセフ・シャヒーンの47年後

若者が批評家に無視されたことを怒る。そして47年後、舞台で人々にまじめにねばり強く続けるんだ、と説教をたれるシャヒーン。

大作家の作品だということはわかる。

・ラウル・ルイスの贈り物

盲目の神父と女性人類学者。なんちゃら族に映写機とラジオをプレゼントした。なんちゃら族を映したフィルム。映写機はばらばらにされた。ラジオもだ。そうよ、彼らはそうするの。それから2年後、彼らは木で映写機を作った。北部のなんとか族はそうするけど、彼らもそうなのね。次にラジオを作った。巨大なラジオだ。それはそうよ。そこで彼らは映画を映した。3秒。

圧倒的に映画な映画。なんの映画を映したかは忘れた。

・ラース・フォン・トリアの「職業」

蝶ネクタイの人々が映画を観ている。左のおっさんが右のスピルバーグかシッコの人みたいなおっさんに話かけまくる。おれは成功者だ。おれは8台の車を持っていて、毎日とりかえる。1台はとっておきだ。で、お前は何をしている。お前を殺す。ピックアックスで滅多打ちにする。飛び散る血しぶき。まわりの人たちのドレスも血に染まる。頭が半分へこんだ状態で黙って映画を観るようになった。めでたし。

ふーん。でも徹底的だからいいかな。

・ツァイ・ミンリャンのこれは夢

夢をみた。父がドリアンをむいてくれた。これは祖母だ(写真)。梨をよくむいてくれた。映画館。串刺しにした梨を後ろに差し出す老婆。後ろの男がそれを食う。家族が並んで映画を観ている。

見事な構図、落ち着いたナレーション、色の配置。チェン・カイコーかと思ったら、違った。うまい映画作家だなという印象。

・ガス・バン・サントのファースト・キス

くだらねぇ。

・ウォン・カーウェイの君のために9000キロを旅してきた

アルファヴィルを観る女性。

アルファヴィル [DVD](エディ・コンスタンティーヌ)

初見だが、すぐに(映っているのが東洋人だからというのもあるけど)これがカーウェイか、とわかった。ある意味、それだけだけど、大した才能だとは思う。

・アトム・エゴヤンのアルトー(2の本立て)

男と女のいる舗道。携帯でメール。返事。いかない。別の映画観ている。何見ている? アジャスター。裁かるるジャンヌ。アルトー。

2つの映画館、2つの映画、携帯でメール。

女と男のいる舗道 [DVD](アンナ・カリーナ)

裁かるゝジャンヌ クリティカル・エディション [DVD](ルイーズ・ルネ・ファルコネッティ)

・ポランスキーのエロチックな映画

エマエマヌエルー、わたしはヌーエルー。老夫婦、集中してみている。ストッキングに手がかかる。後ろで大声で呻く浮浪者風の男。ついにおばあさん、集中できないと怒る。おっさん、まだ見ていたいが受付の女性に苦情を言う。女性、浮浪者見て、支配人を呼びに行く。支配人、男に近寄り、切符を見せろ。男、うめきながら切符を渡す。支配人、これは2階の切符だ。男、そうだ2階の切符だ。落ちたんだ。

エマニエル夫人 無修正版 [DVD](シルヴィア・クリステル)

おちはきれいにつくが、なんというか、ポランスキーは異常だ。

・チェン・カイコーのチュウシン村

おれは、チャン・イーモウより好きだが壁の人気投票では0票。子供たちが映画を見る。電気が切れる。自転車をこぐ(ここの漕いでいるシーンが美しい)。チャップリン(警官の首をステッキで捕まえる)。映写技師が戻る。子供たちは散る。一人残っている子。目が見えない。映画館に白いステッキを突いて出てくる青年。誰?

サーカス [DVD](チャールズ・チャップリン)

おれは好きだな。特に自転車を漕ぎまくっているときの表情。生き生きと、という言葉の意味そのもの。

・クローネンバーグの最後のユダヤ人

金持ちがガレージに偽装していた最後の映画館が通報により見つかる。そこでは最後のたったユダヤ人に扮するクローネンバーグ自身が拳銃自殺をしようとこめかみに銃をあてたり、目に押しつけてぐりぐりしたり(生理的に不快)、口に押し込んだり。まだ時間はかかりそうだが、映画館とユダヤ人が消え去り世の中はハッピーになるだろうというナレーション(男と女の会話がずーっとかぶさる)

何考えてるんだ?

・アモス・ギダイのハイファの悪霊

ワルシャワ1936年。映画を観る人々。70年後、ハイファ。映画を観ていると軍人が来る。空襲です。爆弾落ちる。死んだ女を映す。

すばらしい映画。しかも高度に政治的。しかも2重構造を2重にしている。これは傑作。映画はノスフェラトゥかゴーレムかな? 表現主義の映画を観ている。

・キアロスタミのロミオはどこ

ロメオとジュリエット。女たち。男たち。女たち、涙が流れる。涙が流れる。涙が流れる。

ロミオとジュリエット [DVD](オリビア・ハッセー)

演出と過剰なリアリティ。ばかばかしいほど涙が流れる。これも途中でキアロスタミだとわかる。

・オリヴェイラの唯一の出会い

フルシチョフと部下の会話。同志法王(パパ・カマラール)。スターリンが踊れと言えばみんな踊った。法王が祈れと言えばみんな祈る。つまり法王は同志である。法王、フルシチョフに十字を切る。フルシチョフ右手を挙げる。

おもしろすぎる。

・エリア・スレイマンの「臆病」

映画館から修道士なのかがたくさん飛び出してくる。いきなり笑ってしまう。目玉ギョロギョロが出てきて、トイレに入る。ズボン濡れる。男2人くる。困る。扉閉めてひっこむ。でてくる。舞台に上がる。客席、視線の移動。銀色の車を移動してください。車を移動しているギョロ目玉。マイクロバスに修道士たち。

なんじゃこれ? こんな作家がいたとは。おもしろいおもしろいおもしろい。

・ヴィム・ヴェンダースの平和の中の戦争

コンゴ。植民地支配、独裁、内戦が終わって、映画館で子供たちが映画を観ている。表情を映す。

ブラックホーク・ダウン スペシャル・エクステンデッド・カット(完全版) [DVD](ジョッシュ・ハートネット)

すばらしい作品。感動した。ヴェンダースってもうだめなのかと思っていたが、まじめに映画を撮ると素晴らしい映画になるし、映画にはセリフも物語も何も必要なくて、ちゃんと映像があれば良いということがわかる。子供たちが飢えを覚えず、映画で笑ったり、自分のことではなく映画を観て悲しみを覚えたりできるといいなぁと。

・ウォルター・サレスのカンヌから5575マイル

ブラジル、小さな映画館。たこなぐりの看板。こりゃどんなお色気映画だい?と右側のあんちゃん。こりゃカンヌで賞をとった大人はわかってくれないだ、おめぇは教養がねぇからいけねぇ、と左側のにこやかなあんちゃん。カンヌってなんだ? フランスの小さな漁港だ。そこで音楽が始まる。ラップのようなボサノバのような。誰がカンヌをやってんだ? それはジルだよ、ジル・ジャコブ。ってことは、あれかい、ジル・ジルベルト。いやいやそいつはジル違い、カンヌのジルはジル・ジャコブ、あそれ。いや、本当はカンヌに行ったこたないけどな。

大人は判ってくれない [DVD](ジャン・ピエール・レオー)

すげーーーーーおもしろい。最高の映画。本当の映画。映画の中の映画。すべての映画のお手本のような映画。構図も、リズムも、役者も音楽もセリフもすべて最高。これ、観れただけで観に行ったかいがあった。初めて見た作家だけど。

・ケネス・ローチのハッピーエンド

おやじと息子。映画館の受付の行列。ぼうず、何見る? これはどうだ。いやだ。こっちはどうだ。いやだ。後ろから声がかかる。さっさと決めろ。息子に決めさせたい。まだ、並んでいるんだからいいじゃない、と前のほうに並んでいるおばさん、これはどうだ、いやだ。受付まで来る。まだ決まらない。売り子もせかす。子供、今なんどきだ? サッカーを観よう。そうしよう。映画館を出て行き、こ踊りしながらサッカー場へ向かう。

普通におもしろいが、なんでこれ最後にするんだ? と製作者側も感じたのか、エピローグにルノワール。

というわけで、なんといってもウォルター・サレス。タライをたたきながらのブラジルラップ。

追記:

なんだ。これ売ってるのか。

それぞれのシネマ ~カンヌ国際映画祭60回記念製作映画~ [DVD](テオ・アンゲロプロス)

しかし、サレスとヴェンダースのためだけに買うかというとちょっと考えるなぁ。スクリーンで観てくらんだし。というか、これ買うならトップ・ハットを買う。


2008-08-15

_ 集合知プログラミング

先日、オライリーの瀧澤さんにいただいて、電車の中で読んでいたのだが、これはおもしろい。おもしろい理由は簡単で、おれが全然知らないことがたくさん出ていて、かつ、読めば理屈がわかるからだ(というか、知らないはずは無い気もするのだが、知らないのだった)。

集合知プログラミング(Toby Segaran)

表紙には「スマートなWeb 2.0アプリケーションを構築するために」とか書いてあるので、SNSでも作る本かといえば、そうではなく、でもないかな、単純に言ってしまえば、傾向分析というか、傾向を数値化するための方法を実装ベースで紹介する本ということになる。説明がやたらとうまいので、身に付くかどうかはともかく、妙に理解した気分になる。

たとえば、人と、その人が観た映画の5点満点の星取り表がある。そこから、自分の嗜好に近い人が高い評価をつけてかつ自分が観ていない映画のお勧めリストを取る方法とかだ。

で、実際に試してみたくなるのだが、わざわざPythonの処理系を入れるほど(著者はPythonが好きらしく、なぜPythonでサンプルを書くのか理由を書いていたりするのだが、結局、この人がPythonに慣れているのだな、ということはわかった)、Rubyと違うようにも見えないし(リストコンプリヘンション――綴り調べないとわからない――はちょっと違うけど)、最初の20ページ分くらい(デリシャスの前の映画のところ)のをRubyに直したソースがあるので公開してみたりして。下のpreで囲ってあるのは、本文の対話型で実行したのと同じ個所をirbで実行した例。

P.8-9
recommendations.pyの代わりに定数Criticsにハッシュを設定したrecommendations.rb(Recommendationsモジュール)を利用する。

irb(main):001:0> require 'recommendations'
=> true
irb(main):002:0> include Recommendations
=> Object
irb(main):003:0> Critics['Lisa Rose']['Lady in the Water']
=> 2.5
irb(main):004:0> Critics['Toby']['Snakes on a plane']=4.5
=> 4.5
irb(main):005:0> Critics['Toby']
=> {"Snakes on a Plane"=>4.5, "Snakes on a plane"=>4.5, "Superman Returns"=>4.0,
 "You, Me and Dupree"=>1.0}

P.10
powの代わりに**を利用する。

irb(main):012:0> Math.sqrt((5-4)**2+(4-1)**2)
=> 3.16227766016838
irb(main):014:0> 1/(1+Math.sqrt((5-4)**2 + (4-1)**2))
=> 0.240253073352042

P.11
sim_distanceはRecommendationsのモジュールメソッドとして定義

irb(main):001:0> require 'recommendations'
=> true
irb(main):002:0> Recommendations.sim_distance(Recommendations::Critics, 'Lisa Ro
se', 'Gene Seymour')
=> 0.148148148148148
irb(main):003:0>

P.13-14
sim_pearsonはRecommendationsのモジュールメソッドとして定義

irb(main):001:0> require 'recommendations'
=> true
irb(main):002:0> Recommendations.sim_pearson(Recommendations::Critics, 'Lisa Ros
e', 'Gene Seymour')
=> 0.39605901719067

P15
topMatchesは、top_matchesという名前でRecommendationsのモジュールメソッドとして定義

irb(main):001:0> require 'recommendations'
=> true
irb(main):002:0> Recommendations.top_matches(Recommendations::Critics, 'Toby', 3
)
=> [[0.99124070716193, "Lisa Rose"], [0.924473451641905, "Mick LaSalle"], [0.893
405147441565, "Claudia Puig"]]

P.17
getRecommendationsは、get_recommendationsという名前でRecommendationsのモジュールメソッドとして定義

irb(main):001:0> require 'recommendations'
=> true
irb(main):002:0> Recommendations.get_recommendations(Recommendations::Critics, '
Toby')
=> [[3.3477895267131, "The Night Listener"], [2.83254991826416, "Lady in the Wat
er"], [2.53098070376556, "Just My Luck"]]
irb(main):003:0> Recommendations.get_recommendations(Recommendations::Critics, '
Toby', Recommendations.method(:sim_distance))
=> [[3.50024784014159, "The Night Listener"], [2.75612429399594, "Lady in the Wa
ter"], [2.46198848607437, "Just My Luck"]]

P.19
transformPrefsは、transform_prefsという名前でRecommendationsのモジュールメソッドとして定義

irb(main):001:0> require 'recommendations'
=> true
irb(main):002:0> movies = Recommendations.transform_prefs(Recommendations::Criti
cs)
=> {"Snakes on a Plane"=>{"Michael Phillips"=>3.0, "Jack Mattews"=>4.0, "Claudia
     (snip)
Seymour"=>3.5, "Lisa Rose"=>2.5, "Toby"=>1.0}}
irb(main):003:0> Recommendations.top_matches(movies, 'Superman Returns')
=> [[0.657951694959769, "You, Me and Dupree"], [0.487950036474269, "Lady in the
Water"], [0.111803398874989, "Snakes on a Plane"], [-0.179847194799054, "The Nig
ht Listener"], [-0.422890031611031, "Just My Luck"]]
irb(main):004:0> Recommendations.get_recommendations(movies, 'Just My Luck')
=> [[4.0, "Michael Phillips"], [3.0, "Jack Mattews"]]
追記:はてぶのおかげで、翻訳が出る前にma2さんがいろいろ試したエントリーが上がってきて、参考になった。というか、既に先人が通ったところだったり(まあ、この場合はEnumerableをいろいろ使うという目的があるので、通っていようがいまいがどうでも良いのだけど)。『Programming Collective Intelligence』。で、それよりこっちが素晴らしい。『"Collective Intelligence"のサンプルを,はてなに対応させてみた』。参考になります(現時点では試してないので、今もはてなで使えるかは別問題だけど)。

_ ハッシュのこんなところにはまった

上の作っているとき、こんなところにはまったのであった。
hash = {}
hash.default = {}
['a', 'b', 'c'].each do |i|
  ['0', '1', '2'].each do |j|
    hash[j][i] = 0
  end
end
これ、こうなるのだな。
irb(main):001:0> hash = {}
=> {}
irb(main):002:0> hash.default = {}
=> {}
irb(main):003:0> ['a', 'b', 'c'].each do |i|
irb(main):004:1*   ['0', '1', '2'].each do |j|
irb(main):005:2*     hash[j][i] = 0
irb(main):006:2>   end
irb(main):007:1> end
=> ["a", "b", "c"]
irb(main):008:0> hash
=> {}

でも、hash[j][i]の直後にp hash[j]するとちゃんと入っているので、hash[j]はできているように見えるんだけど。なぜ、こうなるのかわからない。
たぶん、存在しないキーを指定されると、default値を返すのであって、キーに対応するエントリーを作るわけではない、ということなのだろう。

追記:というか、Hashの落とし穴に、default属性については出ていないけど、「Hash.new(val) 」のvalについて、単に返しているだけだと書いてあった。

_ 思い出したが、別のはまったところ

10数秒くらいだが、ここもはまった。
    scores = prefs.keys.inject([]) do |r, other|
      if person == other
        r
      else
        r << [similarity.call(prefs, person, other), other]
      end
    end
これ、最初、
    scores = prefs.keys.inject([]) do |r, other|
        r << [similarity.call(prefs, person, other), other] if person != other
    end

と書いていたのであった。elseの場合はnilになって、それがrに入るからさあ大変。しかし、その前の同じような処理では常に条件が真になる例しか動かさないから、戸惑ったのだった。というわけで、必ず1度は偽になるループならばれるから良いのだが、たまたま真になるパターンしか試さなかったりするとまずいね。

追記:というか、倒置しなきゃならないわけじゃないんだから、(person != other) ? r << [similarity.call(prefs, person, other), other] : rと書けばよいのか。?:式の値は最終評価値なんだから、このほうが良いな。

_ 軍事技術転用

メアリ?スチュアートの時代には頻度分析が利用されていたという事実を考えると、こういうのって、出自は軍事技術なのかも。

暗号解読(上) (新潮文庫)(サイモン シン)

本日のツッコミ(全10件) [ツッコミを入れる]

Before...

_ sumim [#inject をこの手のイディオムに用いるときは、#<< (や条件式)の戻り値に r を期待(あるいは強要)するよ..]

_ arton [うーん、そうかなぁ。1つの式で収まるのならば1つの式で書いたほうが良くありませんかね、といっても1つの式の気分的な範..]

_ arton [と、はまったとか書いた野郎が言っても説得力ないし。安全なイディオムとしては、その通りですね。]


2008-08-16

_ オレってダレ

抽象データ型のOOP が人間の妄想力に対して脆弱なのは、やっぱりデータ型というモヤモヤンイメージは、その箱の中と外殻を考えるときにはギュッと凝集度の高い 良いイメージを提供するのですが、箱と箱 の間を考えるとき、何もイメージを助けてくれないからです。助けてくれないどころか、どうしても、いろんな箱を使って何かをする 神様だとか、箱と箱をくっつけるグルーをイメージしてしまう。使われる側でしかない、というちょい悪めなイメージが付いてきてしまう。個々のオブジェクトの外は「処理」が充ち満ちています。

メッセージが与えるモヤモヤンイメージは、凝集したオブジェクトの間にはメッセージという(電波みたいな)形のないモノが飛び交っていて、個々のオブジェクトの外は「空」が満ちています。間に何もないけれど、距離もゼロじゃない、という 疎結合 なモヤモヤンイメージが得られるのが最高ですね。

――オレオレOOPの日

ここがおもしろかった。

こないだ(と、メタファでも例えば話(今自然発生した造語)でもなく、連想なのだが、)読んだ最新宇宙論とか思い出したり。

Newton (ニュートン) 2008年 07月号 [雑誌](-)

かって、宇宙にはエーテルが満ち溢れていた。

次に、そんなものはいらないということになった。

でも筋が通らない。そこでダークエナジーを置くことにした。

名前のとおり、ダークでもやもやんなやつだとか。

あわせて読みたい

くまもと人物紀行 おてもやん(小山 良)

_ 拡張と特殊化

さて、オレはオレで、オレの言葉で継承を書く必要が出てきたので、考える。でも、まあ、考えは休むのと同じだから、まずは調べる。

そこで、やはり過激なメイヤーの若い頃の日本語化された文献を眺めてみる。多重継承がないOOPLなんてカスと言い切る男だけに、この男の継承に関する一家言には重みがある。

オブジェクト指向入門 (ASCII SOFTWARE SCIENCE Programming Paradigm)(Bertrand Meyer)

そこで、本当に、リスコフ的なるもの(メイヤーは1988年だから開放閉鎖はメイヤーのほうが早いのだが、以下のように、メイヤーの結論は異なる)に、この多重継承男が縛られているのだろうかと疑問になり、あらためて拾い読み。すると、subclassという呼び方を拒否しているくだりに注目することになった。

メイヤーは、クラスには、型という見方とモジュールという見方の両方があることを指摘する。

P.312(10.2.3)にまとまっている。

継承は拡張としてとらえられる場合と、特殊化としてとらえられる場合がある。この2つの解釈は矛盾するように見えるが、この両方に真実がある。ただし、同じ視点から見て真実があるわけではない。

繰り返しになるが、クラスを型と見るか、またはモジュールと見るかによってすべては決まる。型として見る場合、継承はis-a(……は……の一種である)という関係であり、明らかに特殊化である。"犬"は"動物"よりも特殊な概念であり、"長方形"は"多角形"よりも特殊化されている。この関係はすでに述べた部分集合の関係に対応する。(中略)

一方、モジュールという点から見ると、クラスはサービスの提供者としてとらえることができる。BはAのサービス(特性:feature)に独自の特性を追加したサービスを提供する。したがって、実現される特性という点で考えると、この関係は逆の部分集合となる。Aのインスタンスに適用される特性はBのインスタンスに適用され得る特性の部分集合である。

したがって型という点から見ると、継承は特殊化であり、モジュールという点から見ると拡張である。

この分類をJavaが手近なので当てはめてみる。ServletやActionについてはモジュールだ。一見、ある特定Webアプリケーションに特化したように見えるが、ユーザーに対しては何もしないインフラのみのクラスにfeatureを加えているのは明らかだ。このタイプは実装継承が有効に働く。

では、型と言えるのは何だろう? …… 思いつかない。

これが、犬猫OO解釈がだめになった理由ではないか? 少なくともJavaで構築するタイプのアプリケーションあるいはサービスにおいてのOOの利用はモジュールの側だからだ。

あるいはコレクションを考えてみる。インターフェイス継承しかしていないが、Listインターフェイスを特化したArrayListのほうがfeatureが増えている。それはそうだ。モジュールの観点からは拡張なのだから。ArrayListのArrayであるというfeatureを利用したいクライアントにとっては、Listという共通インターフェイスは意味がない。この場合はListを特化した型の実装を利用したいのではなく、ArrayListという拡張されたサービスを利用したいからだ。(それと同時に特化したList型を使いたいクライアントが存在することはまったく矛盾しない。ケースバイケースだ。ではケースは何によって生じるのか? デザインだ。したがって設計を抜きに語ることにあまり意味がないということになる)

そこで、RubyのIOクラスとFileクラスの関係だが、IOを特化した部分集合クラスのFileクラスか、それともIOクラスのfeatureをFile用途に拡張したモジュールのFileクラスか、どっちでしょう? おれは後者だと思うし、後者として利用している。

というよりも、型という観点(is-a)が重要視されているのは、操作の体系が同じになる点(動的束縛が利用可能)だけのようにしか読めないな。それは現在のOOPLではinterface継承やダックタイピングによって解決されていると見たほうが素直ではないか。つまり、「型」はプログラミング言語の処理系における静的な関数呼び出しの解決に関する話題なのではないか? (10.2.2の型の視点という節は、最初は型の観点について書いているが、非集中的なソフトウェアアーキテクチャという話に変わっているし、そこであげられた型はサブクラスというよりも機能の追加に対するクライアントからの同じ操作の適用可能性についての説明になっている)

こっちではどう書いているのかな? とは思わないでもないが、それほど興味はないのであった。

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)(バートランド・メイヤー)


2008-08-17

_ ナンバープレート

車のナンバープレート見てたら次の規則に気づいた。

4桁揃っている場合はハイフンがはいる。

例)12-34

ドットが入ると、ハイフンが消える。

例).1 23


2008-08-18

_ プログラミング言語を1つだけ覚えるなら

選択肢は2つあって、1つは自分が持っているコンピュータのアセンブリを覚える(JVMやCLRはちょっと違う。もっと生なアセンブリじゃないとだめだと思う。だって第1引数についての先入見というかクセがついちゃいそうだし)。あとは、理論を読んで自分で実装する。ロビンソークルーソーだ。もう1つは、LISPだろ(ちゃんと知っていればたぶんSchemeなような気もするが)。

最初に関数型プログラミング言語としてかっちりとプログラム書きまくれるように学ぶ。次にCONDとかLOOPとかを使って普通に手続き組んでプログラムを書きまくれるように学ぶ。

それから次のセルで何でも表すようにしてプログラムを組む。((関数リスト) . データリスト)

これで、型付けされたOOPLはOK。

次に同じプログラムの関数リストの部分をちょいといじって連想リストにして名前で関数を呼ぶように変える。これでダックタイピングなOOPLもOK。

でも、2つ覚えるほうが現実的な気もする。

SQLとJavaだ。おそらくちゃんとSQLを自在にこなせる人はなんなく関数型プログラミングも使えるようになるのではないか。代入なんかないから全部selectしなければならないわけで。それでいくらでも組めれば(というかドメインが制限されているところが問題ではあるが)、関数型プログラミング言語を手にすればあまりの楽さに感動ものなような。

IDEなしのC#というのは両方をいっきに覚えられる(意識的にやれば)かも知れないから、LISPで書いたことを出発地点を手続きに寄らせる方法として立派な選択肢となるかも知れないけど。でも一度代入してループしてという方法を覚えてから関数型へ歩を進めるより、先に関数型プログラミングを学んでから手続きへ進むほうが楽なように思える。小学生が算数で中学生から数学というのは正しそうに思うが、その道をすでにたどって両側(の考え方の違い)を知っていれば、今度は数学やってから算数へ進むほうが楽なように思えるからだ。

それとは別に考えるのだが、OOPLの設計の部分を強調するあまり、手続きの組み方をおろそかにする傾向があれば、それはまずいのではないか。手続きをきちんと組めなければリファクタリングもできないし、それこそへまなVBプログラミングに陥りそうに思える。個々のメソッドの中は手続きが入るわけで、そもそもそこが組めなければ何も作れない。


2008-08-19

_ 文字化け

ひさびさに〜が?になるのを見た。もう見た瞬間にわかった。でも、どこでそれが起きたのかはプログラムを読まなければわからなかった。そして、読んでもわからなかった。設定ファイルを見たらSJISと書いてあった。

結論:プログラムを疑う前に、まず設定を疑え(あるいはプログラマを信じろ)。というか、設定をみるほうが楽だし(外出ししてあるとは思わなかったということですな)。


2008-08-20

_ Visual Studio 2008 SP1のAA

こんなとこにもアスキーアートシリーズ(続かない)。

というわけで、VS2008のSP1をインストールする。

いや、とにかくインストールに時間がかかるのなんのって。緑の棒は全然進まない。せっかくのユーザーインターフェイスなのだが、棒の長さが短すぎるのだ。

そこで、より良きユーザーエクスペリエンスをVS2008チームは悩んだ末か思いつきか知らないけど、実装したのだと思う。

|

で、青丸に注目。

数秒経過。緑の棒はピクリとも動かないが、

/

ん? 今、何か動いたような。で、さらに数秒経過。

-

おお、色がついていたらOSXの風車みたいじゃん。で、数秒経過。

\

惜しかったね……というか、日本語化するときに全角|/―\を使えばよかったのに。

#「ソフトウェアをインストールです」も突っ込みどろろかも。

本日のツッコミ(全2件) [ツッコミを入れる]

_ Craf [今時これはないわと思いましたw 昔はこういうのよく見た気がしますね。]

_ arton [>これはないわ ささやかに和んだので、これはよいインターフェイスかも。]


2008-08-21

_ VS2008SP1コントロール

|
<script type="text/javascript" src="/data/js/Concurrent.Thread.Compiler.js"></script>
<script type="text/javascript">
function round_ctrl() {
  var chrs = [" |", "/", "--", "\\"];
  var index = 0;
  while (true) {
    document.getElementById("sp1ctrl").innerHTML = chrs[index];
    index++;
    if (index >= 4) index = 0;
    Concurrent.Thread.sleep(1000);
  }
}
function start_ctrl() {
  document.getElementById("clickme").disabled = true;
  document.getElementById("clickme").value = "no one can stop me";
  Concurrent.Thread.create(round_ctrl);
}
</script>
<div id="sp1ctrl" align="center" style="width: 1em">|</div>
<input type="button" id="clickme" value="click me !" onclick="start_ctrl();"/>
powered by Concurrent.Thread
本日のツッコミ(全1件) [ツッコミを入れる]

_ c-yan [激しくワラタ. 素晴らしい!]


2008-08-22

_ 買った読んだ

珍しく遅くなったのでRubyKaigi東京に行きそびれた。

しょうがないので、本屋でへうげものの新しいの買って読んだ。

へうげもの(7) (モーニング KC)(山田 芳裕)

山上宗二の最期にびびる。

_ 家に帰ったら本が届いていた

WRさんからの献本が届いてた。が、まだ読み始められないのであった(集合知のやつと、電車の運転のやつを並行読書中)。

でも、とりあえず、ご紹介。

プロとしてのOracleアーキテクチャ入門 Oracle現場主義(渡部 亮太)


2008-08-23

_ ブランドの苦労

新しいブランドが出てくると、何か勘違いする人が湧くという話かも知れない。

【IDF 2008】「ネットブックとノートPCは別物」と強調する背景

内容そのものもえらくおもしろい記事なのだが、ノートにはAtomじゃなくCeleronを使ってくれと言わざるを得ないというところで思いつくことがいくつかあった。そういう声で困る人がいる可能性は十分にあるからだ。

NT3.1がぼろぼろでNTのイメージが定着しているところに、とあるプラットフォームの計画があり、コンシューマに人気爆発のWindows95を使おうとされて(OEM価格も違うわけだが)、あやういところでNT3.51をキープできたとか、わけもわからずにNT系列ではなく最新ですよのCEになってしまった(OEM価格も違うわけだが)とかだ。

Atom N270は、消費電力を大幅に下げることを至上命題として、回路設計をゼロから見直して設計した。その結果、従来のノートパソコン向けシングルコアCPUであるCeleron Mと同等の性能を維持しながら、熱設計電力(TDP)は2.5Wと、従来のノート向けCPUの半分以下に低減した。さらに上述のようにCPUのパッケージ寸法が小さく、調達コストもCeleron Mの最低価格が86米ドル(1000個調達時の単価)であるのに対し、Atom N270はわずか44米ドル(同)と半額近い。

「同等の性能を維持しながら」「調達コストも」「半額近い」

なんといっても怖いのは「同等の性能」だ。

(多分、本文にあるとおりタスクスィッチあたりなのだろう)

コンシューマ的には実際にモノが出てからわかるわけだが、Atomで15"ノート作れとか言われて青くなっている技術者がいるかどうかが知りたいところだ。

MSとIntelは異なる会社で異なるブツを作っている。Pentium-MとPentium4の時のようにノート用CPUのほうが実際のところメインストリームよりもげふんげふん、みたいなこともあったわけで、Atomで15"ノート作れと言われて大喜びという可能性もあるわけだし。

逆にどれだけすばらしいのかと思っていたCrusoeが本気で泣けるほとどすばらしすぎたということもあったなぁ(こちらは別会社だが)。


2008-08-24

_ PPLサマースクールのお知らせ

9月9日に、筑波大学東京茗荷谷キャンパスで、PPLサマースクール2008『今日から使える! みんなの静的解析・バグ検出ツール』というのが開かれるそうです。告知ページ

上のページを見ていただければ早いですが、一応、抜粋すると

* 大岩寛氏(産総研) Fail-Safe C (https://staff.aist.go.jp/y.oiwa/FailSafeC/)

* John Kodumal氏(Coverity社) Thread Analyzer for Java

(http://www.coverity.com/html_ja/coverity-thread-analyzer-java.html)

のチュートリアルを企画致しました.

Fail-Safe Cはメモリ安全性を保証するC言語の処理系で, C言語で書かれたプログラムに, バッファオーバーランやポインタの不正使用などのバグがあってもメモリ安全性を保証するという, 文字通りC言語の"Fail-Safe"な実行を可能とする処理系です. 実装技術には実行時の検査と静的な解析が組み合わせて用いられており, OpenSSL, BIND9, OpenSSH, thttpd, zlibなどのサーバを実際にコンパイルできます.

Thread Analyzer for Javaは, 静的な解析を専門とする会社Coverityの製品で,競合するメモリアクセスやデッドロックなどの並行性に関するバグを検出します. 普段はあまり聞く事のできない, 製品の技術的な内容について聞く事のできるまたとない機会です. これも静的な解析と動的な検査を組み合わせて実装されているそうです.

どちらも, 技術的内容に興味のある「言語の専門家」みたいな人は元より, それを使ってソフトウェアの信頼性を高めたいというプログラマの方々にも非常に興味深く有用な講演になると思いますので, ぜひお越しください.

一件の講演時間をたっぷりとって, ツールデモや実際に聴衆がツールを動かしながらの演習など, 実践的な部分にも時間をとっていただくようご検討いただいています(講演内容は近日あらためて本ページでご紹介いたします).

ということで、おもしろそうです。ハンズアウトとして、Live CDかVMWare Playerでデモの実行環境も配布されるそうなので、CかJavaを使っているのなら参加して損はないでしょうというか、平日だけど業務扱いで参加できる人も多いのではないかな。

なお、参加費は学生で日本ソフトウェア科学会の会員なら1000円、一般の非会員は4000円です。


2008-08-25

_ チェブラーシカ(2回目)

桜ヶ丘にあったころのユーロスペースでも観たのだが、また行った。

チェブラーシカ ばったりチェブラーシカ(-)

次の特徴が妙に気に入っているからだ。

・動物園に通勤する動物たち

・動物園に勤務する動物という発想

・カエルの子供はカエル

・あこがれのピオネール

・鶏小屋は造れないが、公園の遊具は作れる

・コンプレッサ泥棒だが、成果でOK

・金をちょろまかすオレンジ商だが、いいやつ

少なくとも、子供用にこういう内容を含んだ作品を作って公開して、それが国民的な人気があったという事実から、ブレジネフ時代もそれほどはひどくはなかったのかも知れないなぁというか、生活実感のレベルでの不平不満については、それなりにOKという姿勢があったと考えられる。というか、以前も感じたが、音楽に対する感覚の違いを除くと、それほど彼我に違いはないというか(ウィットフォーゲルから見れば、ロシアも日本も同じアジア的独裁国家なのだろうし)。

今回、壁に貼ってあるPR文を眺めていて、へーと少しだけ目からウロコが落ちたと言うよりは先入見が増えてしまったことにオレンジがある。

いかさまオレンジ商(買い物客に軽いオレンジを与え、秤に乗せた瞬間に指で重みをかけて高い値段で売りつける)がいかさまオレンジ商なのは、オレンジはまっとうには入手できないからだ、という指摘(ちょっと違う)があって、なるほどと思ったからだ。

冷戦の真っ最中で、少なくともアメリカはソ連を経済封鎖していたわけで、その時代のオレンジの輸出国というのはこれはアメリカなので、南方に植民地を持たないソ連の人にとって、オレンジというのはあこがれの南国の夢の食べ物だったから、オレンジ商が道路に店を出すと、それだけで祝祭的様相を示すという(書いてみると、あまりにヨタっぽいが、日本に置き換えて、戦後〜昭和30年代初期のバナナで考えると、確かに、そういうことはありそうだ。バナナが日本の街角にもたらした祝祭的様相って、寅さんが最後に伝えていたが、遠い過去の話だな)、その箱の中に大事に包まれてやって来たチェブラーシカというのは、また祝祭的性格を帯びるとかなんとか、何が書いてあったかそのあたりは覚えてない。

併映は、ロマン・カチャーノフのママ。

ミトン [DVD](ロマン・カチャーノフ)

眠っている子供を置いて朝の買い物に行った母親が、行列が進まないカフカ商店の列に並びながら、子供が強盗の置き土産の銃をもてあそんだり、カミソリの舞を舞ったり(シャブロルの奥さん)、小鳥に呼ばれて窓から外へ飛び出したりする、恐怖の妄想に襲われるという、ポランスキーの映画のような悪夢と恐怖に充ち満ちた作品。

最終的に彼女は危機一髪の状況で家に帰り着くのだが(子供が無事でほっとした瞬間に窓から小鳥が呼び出しをかけて子供が目を開く)、スリルとサスペンスと親の気持ちを示しながら、なんとなく子供は別の見方で楽しめるだろうなぁ、というすごい作品で、これもユーロスペースで観たはずだがまったく忘れていた。

音楽が、シャバダバダバダ系の60年代のヨーロッパ映画ならではで、チェブラーシカの作家と比較すると遙かにモダンで、作家性も強い。強いから、カチャーノフという名前が出ているのだろうが。

正直なところ、ママではなく、ミトンを見たかったのだが、ミトンは先週までだったので、ちょっと残念である。DVDで出ているのだから買えば良いのだが。

と、書いてから、ではチェブラーシカの作家は誰だと調べたら、

チェブラーシカ [DVD](エドゥアルド・ウスペンスキー)

同じ人なのか。ちょっとびっくり。

でもないかな? チェブラーシカは4本やったのだが、そのうち特に2本目、ゲーナが送った電報をチェブラーシカが読んでない(そのため、空港に迎えに来ない)のにゲーナが怒ろうとすると、足下のゲーナのパズルに気づき、チェブラーシカが自分のことを本当に好きなんだなと悟るシーンとか、あるいは、チェブラーシカがまったくゲーナの怒りに気づかずに、無邪気に「電報だよ」「ゲーナが来たら読んでもらおうと思ってたの」と答えるシーン、そこから畳み込むように今日は8/31だから明日は9/1で新学期、学校へ行こうと話が進んだり、そこで怪しいばあさんが、一緒に自分も学校へ通うことを妄想する(どれだけ不幸な人生を送ってきたことやら)とか、事務的な制服屋の店員とか(商店は理不尽な場であるという共通認識。もっとも、それがソ連だというイメージはあるのだが、本国の人間がそういう作品を本国の人のために作ってるわけだし)、言われてみれば同じ作家の作品っぽくはある(2作目は)。時期的なものとか原作の強さとかいろいろな要素があるのだろうけど、そうか、同じ作家だったのか。


2008-08-26

_ 電車の運転

高岡さんのところ経由で買って、読了した。

えらくおもしろかった。感動的ですらある。

電車の運転―運転士が語る鉄道のしくみ (中公新書)(宇田 賢吉)

おもしろいには理由がある。3点あげれば、

・よく知っているつもりというか利用しまくっているのに、その実態をまったく知らないことから来る、なるほど感。

・100年以上の歴史がある分野だけに、運転士という人間が操作しているにもかかわらず、何がどうなってどうなるかが、明確になっていること。

・技術の追求をする人間(この場合、運転士)と、企業運営(鉄道会社)、マネジメント、コスト、ゲイン、コンシューマの関係

3点目があるから、まったく他人事とは思えない。

地下鉄はなぜパンタグラフではないのか? パンタグラフが供電線(トロリー線というのだが、ああ、そういえば子供のころ、トロリーバスってのが明治通りを走っていたのを見た記憶があるけど、トロリーってそういう意味なのか、とか……電気自動車だったのだなとか、いろいろ想起するものがあったり、今こそ見直せるかな? いや、架線が道路を覆っていたわけだから、それは無理だろうとかいろいろ)から離れないようにいろいろな工夫がある。

パンタグラフはトロリー線を押し上げるが、それに対応する力は支持点が最も硬く、中間は軟らかい。この差によってパンタグラフへの波打ち作用が起こり、硬い地点を過ぎたときパンタグラフが離線(架線から離れる)する原因となる。高速度では特に顕著となる。

と、ハードボイルドな書き方なのだが、それがとてもリズミカルでいい。

パンタグラフが架線から離れることを離線といい、大きなアークを発生する。アークは熱を発生してパンタグラフと架線を損傷する。直流ではアークの自然消滅が望めないので、離線は何としても防止しなければならない。

ところが、直流と交流の2方式が利用されているのだが、まさに一長一短。この場合は、直流は短の側だが、そればかりでもない。そのために、どのような構造を取って、それがどう長短あるのか、といったことが説明される。

というような知識を蓄えて、小田急線と乗り入れしている千代田線とか眺めると、ふーむ、どっかでパンタグラフへ切り替えているんだろうが、いったいどのような仕組みになっているのだろうか、とか日常にはまだ知らないことが山ほどあることにあらためて気づいたり。

というように、パンタグラフのところだけを取り上げたが、これが駅を出て、どのように電車というものは発車して加速して減速して停車するのか、を順に記述しながら、その過程で出現するさまざまなインフラについて解説が入る。

で、この本がすばらしいのは、上で引用したようなハードボイルドな記述の合間は、実際に運転していてどのようなことがその場では起きる可能性があるのか、その場合に、どのように運転士は考えるのか、感じるのか、それに対して現在の技術は(あるいは企業方針は)合っているのか、合わないのか、そういった実体験に明らかに根差していなければ書けないような記述が入るため、まったく退屈しない。すごい構成力だ。

運転士には構成力が求められる。

しかもアドリブで。

電車は線路を進むのでぶれないし、電力で動作するので速度から停車までの距離まで数値化されている。

しかし、のろまな乗客がいれば数秒のロスは簡単に入る。しかし、遅延は許されない。急ブレーキ(というのは車とは異なることになるのだが)をかけると「衝動」が生じる。客は不快になったり危険であったりする。最高速は決まっていて、各カーブの限界速度などもすべて数値化されている。そのため、機械の進歩は確実な作業を可能とする。

しかし、古い機械は手作業の余地がある。

旧い形式では停止直前に緩めてしまい、動作遅れによって緩みきる直前の状態でフワリと停車する方法があった。

ブレーキ作用の応答が速いとこの裏ワザが使えず、最小のブレーキを使用したまま停車することになって、わずかな衝動が避けられなくなった。この対策として、JR205系のようにブレーキ力といえないほどの弱いブレーキ力のノッチを設けた形式も出現している。もっとも運転士が有効に使用しなければ意味がない。

というわけで、いかにきれいに停止するかは運転士にとっての誇りのようだ。したがって、こんな言葉も出てくる。

計画的な再ブレーキは、速度が高い前半のブレーキ扱いの無駄を許容して後半の最適パターンを作りだすというもので、運転時間短縮のための最善の方法として生まれている。管理者や幹部クラスが運転室へ添乗したとき、これを見て基本扱いを行うよう助言を受けた者は多い。運転士の心理をわからない上司は勉強不足といえる。

すべての区間のあらゆる情報や地理的なランドマークを記憶しておき、その場で調整していき、客には快適に、時間には間に合い、エネルギー消費を抑えてコスト低減に協力する。

乗客の立場の場合でも運転士が気になっていろいろ観察してつい苦言を呈したり。

マリオネットのような運転士を見ると、この鉄道はこうした動作が多いほどよいと勘違いしているのでは、と気がかりである。

(こういうのってわかるなぁ)

数字が並ぶところでは、読者が感覚的に認識できるように、ちょっと一言入れてみたり。

屋根の部分は車両限界から200mmを空ける。上下の動揺は左右の偏奇ほど大きくなく、乗客が覗くこともないのでこの数値となった。アクション映画のように走行中の屋根の上に人が乗れるスペースはない。

そうなのか! というのは、建築限界について解説したところ。そこまでは建物などが来ても良いということなのだから、20cmしか隙間がないところもあり得るということだし、そりゃ確かに伏せても後頭部が削れてしまう。

いや、それにしても濃い内容だ。標識から信号から、枕木から、とにかくすべてが合理的に考えられていて、それについて、この方法ではこういう長所があるが、一方、こちらの場合は、こういう長所がある。運転士から見た場合、これのほうがこうだが、コストの問題でそうはいかない、というような調子。

技術読み物のお手本のような本だった。

#閉塞という言葉が出てくるのだが(ある区間に電車が入っていて、他の電車を入れないようにしている状態)、なんとなく腑に落ちた。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

_ きむら(K) [ひょっとして http://detail.chiebukuro.yahoo.co.jp/qa/question_de..]

_ arton [>woodsさん なるほど。パンタグラフを使っているんですね。考えてみたら、いつもしげしげと見ているのは銀座線だから..]

_ きむら(K) [>でもパンタグラフは全体のごく一部ですよ。 いやいや、パンタグラフだけに惹かれたわけではないですから(^^;]


2008-08-27

_ Ruby-1.9.0-4

win32 packages

作った。

_ 寄生虫博士って何やってんだ?

アマゾンからお勧めメールが来たのだが、なんだこりゃ?

血液型の暗号(藤田 紘一郎)

と思ったら、血液型の本を書きまくっているのか。

パラサイト式血液型診断 (新潮選書)(藤田 紘一郎)

(パラサイトなんて言葉を使っているところが商売だなぁ)

まともな免疫学の話に落としているようではあるが。いろいろ大変なのかも知れないなぁとか思ったり。


2008-08-28

_ 寄生虫博士の件

アマゾンからお勧めメールを受け取る設定にしてるのだか、勝手に送ってくるのか忘れたが、結構、いいポイントを突いてくるので、僕は気に入っている。

あれは確かに便利だ。

というところに、いきなり、件名としてお勧めに「血液型」とか出てくると、いつのまにおれは血液型野郎になったんだ、というびっくりがあったのであった。

アマゾンの元ネタは、これを買った履歴からだろうな。

寄生虫博士のおさらい生物学(藤田 紘一郎)

_ スキーマの奥儀

わかんなかった。なるほどー。
public class Oddity
{
    public static void main(String[] args)
    {
        http://blog.uncommons.org
        System.out.println("Why is the URL allowed above?");
    }
}
確かに動く。
C:\Users\arton\test>javap -c -s Oddity
Compiled from "Oddity.java"
public class Oddity extends java.lang.Object{
public Oddity();
  Signature: ()V
  Code:
   0:   aload_0
   1:   invokespecial   #1; //Method java/lang/Object."":()V
   4:   return
 
public static void main(java.lang.String[]);
  Signature: ([Ljava/lang/String;)V
  Code:
   0:   getstatic       #2; //Field java/lang/System.out:Ljava/io/PrintStream;
   3:   ldc     #3; //String Why is the URL allowed above?
   5:   invokevirtual   #4; //Method java/io/PrintStream.println:(Ljava/lang/Str
ing;)V
   8:   return
 
}

どこにもない。

元ネタ: A Java Syntax Quirk
木村さんのところから。

本日のツッコミ(全1件) [ツッコミを入れる]

_ Sato Atsushi [やられたー!]


2008-08-29

_ 偶然の一致

ZOOKEEPERの新しいの買って読んだのがつい3日ほど前。

ZOOKEEPER(6) (イブニングKC)(青木 幸子)

アフリカ象の話も良いが、ひさびさに北未動物園が出てきて、ヤマネをどう扱うかというような話題になって、ふむふむと読みながら、きっとこういうのってモデルがあるんだろうなぁとか考えていたわけだ。コマ動物園のあたりから、八王子とか日野あたりを想定しているのだろうと思ってたのだけど。

で、昨日、八ヶ岳のあたりに遅い避暑に行ったのだが、ひまだから近くのやまねこミュージアムって、なんだろうかと行ってみた。と思っていた。注文の多いミュージアムだったりとか言いながら。

注文の多い料理店 (角川文庫クラシックス)(賢治, 宮沢)

そしたら、コは見間違いで、やまねミュージアムだった。

で、そこへ行くまで、やたら整備された道路だなぁとか感じていたわけだが、展示の最後のほうに、ヤマネ用の通路の展示があって、あれ? これどっかで見たような、と気づく。よくみたら、紹介されましたとか書いてあってアフタヌーン(イブニングだそうです)が置いてあったり。

まあ、そういうこともあるなぁと。というか、北杜夫氏みたいな市名といい、最初から北未動物園でヤマネを取り上げるつもりでそういう名前にしてたんだな(近辺の山の名前も似てる)。

それにしても、赤外線カメラで通路を歩く様子を撮影したビデオを流していたのだが、腹を地面にこすりながら、両足を横に出してぺこたんぺこたん歩く様子は、確かにかわいい。

あと、各国語でのヤマネ(と多分近縁種)の名前がおもしろい。イギリスではネムリネズミで、おおなるほど、アリスの気狂い帽子屋に出てくるあれは、ヤマネみたいなやつか、とポットの中で丸まっているさまを想像してえらく納得したり、ロシアではチェブラーシカではないが、イネムリヤさんみたいな名前で、ほおほおなるほど元々バッタリヤさんいうようなネーミングセンスなのだなぁとか(たった2例で決めつける)。突然、フランスだけ、麝香の匂いがするネズミという名前になっていて、ジャコウネズミってのがそれにあたるのか? とか思ったり。

あと、食べ物クイズも意外性があっておもしろかった。歯がリスほどは強くないからドングリは食べられない。で、アケビを食べる。ここまではなんとなく当たったが、でっかな蛾をつかまえて、はらわた引きずり出してむさぼり食うとか、なかなかのスプラッタくんだというのは意外。似たような動物だがリスは動物性の食い物食わないんじゃなかったか? (ネズミに近いってことかな) あと、アリマキを食べるとか。

本日のツッコミ(全3件) [ツッコミを入れる]

_ きむら(K) [>アフタヌーンが置いてあったり。 イブニングですよね? にしても、ヤマネの話ってつい最近掲載された奴じゃないですか..]

_ arton [多分、そうですね(確認してないし連載は見てないので知らないんだけど)。]

_ きむら(K) [本が中綴じならアフタヌーンではないです。 アフタヌーンは(ひと頃に比べると薄くなりましたが)やたらと厚いヤツです。 ..]


2008-08-30

_ llfuture

なかのZERO

ラリーウォールの基調講演はPerl6の拡張方式について(なのだがちゃんと基調講演になっている)。

パーサを拡張できるようにしてあるから、既定の実装はでしゃばらない。正規表現を文字列にしたのは失敗だったので、今度はサブ言語。

わかりやすい英語だと思うのだがわからんなぁ。

言語が複数になるとisがareになる。

_ llfuture

で、豪華絢爛たるメンバーでGolfの話があって、あろはくんたちのLLVMとかのやつ。

次々と実装してすげぇなぁとか、20歳かすげぇなぁとかコンパイラコンパイラ知らなかったのか若いなぁ、とか思いながら見ていると、あろはくんの出番。

で、LLVMというものを名前から完全に間違って考えていたことを知る。バイトコードインタプリタじゃなくて、トランスレータというか、最適化フィルタというか、コンパイルのパスの一部なのか。gccがLLVM用のバイトコードを生成すると、LLVMがロード、リンク、(ここなんなんだ?)のそれぞれの過程で最適化をしていき、最適化されきった最終的なターゲットコードが出てくるという仕組みのようだ。


2008-08-31

_ llfuture

やっぱりコンピュータ(というかプログラミングってのは)楽しいもんだな。

_ にら

韮という漢字がゲジゲジににている。

_ リアルワールドを甲虫は秘めやかに進む

Real World Haskell: Code You Can Believe In(O'Sullivan, Bryan)

ダレルかブロックの作品にそんな名前の短編があったような記憶がある。

死神が老紳士に化けて、避暑地の浜辺かカフェのテラスで追い込みをかける恐怖譚だったような。

_ 引数リストでの代入

# irb
require 'rjb'
=> true
Rjb::load(classpath = '.', jvmargs=[])
RuntimeError: can't create Java VM
	from (irb):2:in `load'
	from (irb):2
exit

というのを見て、irbからのコピペじゃないんじゃないか? と疑う。だって、リファレンスのメソッドシグネチャの丸写しじゃん。既定値の説明のままだし。

でも、正しい(意味があるかは別)Rubyの式だった。

_ やっぱプッチーニ

買ったまま封も切らずに置いてあったCDが見つかったので聴く。

プッチーニ:ジャンニ・スキッキ(ロス・アンヘレス(ビクトリア・デ))

なんで、こんな軽くてどうでも良い曲でも、プッチーニはプッチーニなんだろう。ロス・アンヘレスっていう歌手は僕にとってはどうでも良い歌手だったのだが、いや、それは間違いだ。ほんの短い曲だが、ここでの私のやさしいお父さんのきれいな歌いっぷりときたら。

全然、感動的でもなんでもない、くだらない、いかさま師のいい加減なつじつま合わせの詐欺話が、どうして、これほどの美しさを獲得できるのか、その調和の美しさだけで感動できるわけだから、まったく物語なんていうものは、どうでも良いものだということをあらためて痛感する。電話帳で人を泣かせるシャンソン歌手ではないが(これは、でも悪口だろうけど)、プッチーニの音楽は本当に魔法のようだ。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|

ジェズイットを見習え