彬)どうも、パイレーツオブカリビアン観て気に入ったキーラナイトレイの映画を見たかったらしいのだが、ほったらかしといたら、妻が昔買ったらしい岩波文庫を読んで、そうとうおもしろかったらしい。18世紀の終わり(1790年代)に書かれた小説(出版は1810年代らしい)だから、日本では本居宣長とか小林一茶とかの時代だ。いや、馬琴と三馬はいるけど。以前、嵐が丘の本当の登場人物の年齢がミドルティーンなんでぶっとんだが(これは1847年で、19世紀中頃)、すべて悪いのはハリウッドと英国演劇だ。あの連中が、いっきに年齢を10歳くらいかさあげしたのだった。FRT-007(少年ではなく、かろうじて青年、ほとんど中年じゃないのかのヒースクリフで誤ったイメージを植え付ける作品)有名人ではフランケンシュタインの怪物を書いたシェリー夫人に結局はなることになるメアリゴドウィンがシェリーとくっついたのが16歳、親にばれてヨーロッパへ駆け落ちしたのが17歳、スイスで暇にまかせてフランケンシュタインの怪物を書いたのが19歳なわけだが、別にシェリー夫人というよりメアリーがとびぬけて早熟な不良少女だったわけじゃなくて、そういう時代であったのだ。オースティンが高慢と偏見を書いたのがだいたい21歳のころか。いうわけで、高慢と偏見には、貧乏な紳士(郷氏って感じか)のだいたい15、17、19、21、23の5人の特徴的な娘たちが出てきて、本当のお金持ちの貴族と恋愛する。15と17は、兵隊好きで、結局15歳は口ばっかり達者な男(次女も惹かれたりするのだが)と駆け落ちするおまけつき。夫婦、ダーシー卿の親戚のメック婦人のような役回りの人(名前忘れた)、愚物という言葉がふさわしい親戚の神父(この男の愚物っぷりの描写たるや鬼気迫る勢い)、好意的に描かれている叔父さん夫婦と長女と隣家の娘、嫌なやつとして描かれている長女の恋の相手の妹達(ただし相手に対してはニュートラル)、といった主観的な書き分けが絶妙なところだ。パーティーの席上で母と四女、五女、三女が馬鹿丸出しで大騒ぎするところの描写っぷりとか、見事の一言に尽きてそれでおしまいになりそうなほどで、頭の悪い人の会話の特徴の出し方とか行動パターンとか、びっくりするくらいに的確。本当に頭が悪そうに読める。長女の名前が作家と同名のジェーンで、次女が作家と同年齢というあたりから、こうでありたい自分としての長女と、こうである自分といった書き方なのかも。すると幸福な結婚をするのが長女と次女で、しかもそれぞれの相手が異なる性格(長女の相手は社交的で良い人、次女の相手は無愛想だが賢い人、ただしどちらもお金持ち)というのが、一歩ひいて読むと実に小娘小説なのだが、厭味がないはなぜなんだろうか、そのへんの書き方のうまさが才能というものなのかも。それにしても、親父の描写が面白すぎる。美人っぷりにまけて結婚したものの(子供が5人というのは他の登場人物に比べて多いのだが、それはそれぞれ特色ある姉妹を出すための方便で深い意味はないのだろうけど)、妻の頭の悪さにうんざりして、もっぱら賢い次女とだけ会話するだけで普段は書斎にこもってなんか本を読んでたりして。次女が結婚してしまったもので、本来出不精なのにしょっちゅう娘夫婦のところに遊びに行くとか。いうか次女が長い旅行に出かけていて帰ってくると大喜びするので、次女がははぁ、話が通じる人間が家にいなくてうんざりしてたなと悟るとか。書き方がやたらと好意的でおもしろい。ダーシー卿がお金持ちという点以外では、あまりの無愛想っぷりと社交性のなさにみんなの顰蹙をかいまくり(当然、次女も最初は嫌っている)のが、次女に恋したせいで人間的に成長するとか。愚物の代表の親戚の神父は、親戚の中で男だというだけで親父が死んだら妻が生きていようがなんだろうが、家督を相続するという当時のイギリスの制度とか(だから頭が悪かろうがなんだろうが、母親や四女、五女の生き方はしょうがなかろうという気にもなってくるのではあるが)、というところで、小娘小説といえば、11世紀の初頭の1001年には大部分が書かれていたといわれる源氏物語を調べてみる。すると、紫式部がどうも979年頃に生まれたということは、書き始めはやはり20になるかならないかあたりの頃ということになる。藤原道綱母(これまたイギリスの相続制度に劣らずひどい名前だ)が蜻蛉日記を書き始めたのが18歳あたりで10世紀の中頃。現代人だと新井素子のデビューが17歳、近代だと尾崎翠が18歳という感じ(しかしオースティンの系譜はむしろ少女漫画のほうではないかという気もする)。治)一方、枕草子は清少納言がだいたい30歳あたりの作品らしいので、ちょっと桃尻語で良いのかという疑問もある。高慢と偏見とか、嵐が丘とか、フランケンシュタインの怪物といったイギリスの古典こそ桃尻語訳がふさわしいのではないかとか。[留学というか、家族みんなでの移民ですね。[そうだったんですか。チェンの本アスキーからもらったチェンの本が滅法面白かったので、後で書く。同情もするが身から出た錆もあり。上のおもちゃについてコンソールが利用する文字コ−ドはシフトJISと前提(Windows用なので)。裏開発者叢書VC#の本と出版時期が同じだからだろうけど、アスキーからもらったので読んだ。例)行末文字がCR+LFなのはなぜかRFC0821......すべてCR+LFを行末シーケンスとして指定していることがわかる。NVTの仕様だからだ。そこで、実際の問題は、「なぜCP/M、MS-DOS、Win32がCR+LFを行末文字として使用するのか」ではなく、「なぜほかの人はこれらの仕様書に逆らい、ほかの行末文字を使用することにしたのか」である。例)Altキーを押すとキャレットが点滅しなくなるのはなぜかこれは、「ファイル名を指定して実行」での話だが。いうような、Windows3.0あたりからの(行末コードについてはCP/Mからなわけだと言いたいことが上の引用からわかる)永遠の互換性に縛られた世界で、リバースエンジニアリングしてハックしまくっているアプリケーション群のために互換性を確保してやったり、「おとりの[画面のプロパティ]」を用意してやったり、いんちきベンチマークの間引きに対処してやったり、Windows98のCDにTweakUIを付けてやったらサポートがえらくたいへんになったのでSP2から外したりとか、なんでも悪いのはマイクロソフトのせいにするライターとか、タスクバーを知ったかぶってトレイと呼ぶ(他のチーム、マスコミ、ユーザー、ISVのデベロッパー)連中を罵ったり、嘲ったり、嘆いたり、まあ大変である。おまいらがExcel専用のAPIをこっそり用意して(しかも隠していたり)、最初にプリロードをして起動速度を稼いだりしてたのは、知っているのだが(いや、それは私のせいではないという声もどこかで聞こえた気もするが......というように曖昧にMSのせいにする人たちを呪ってみたり)。いうわけで、なにがプログラミングの極意かといえば、C++の多重継承をした場合のvtblが、複数のインターフェイスを持つCOMのオブジェクトのレイアウトや、その多重継承のどのvtblを選択するかのずらしかたといった技術ネタも少しばかり混ぜながら(スタックを追っかけてコードのエビデンスを調べるのがばかげているということを書いている部分はおもしろい)、悲憤慷慨しまくるとても愉快な本。・ISVのデベロッパーがくずなせいで、おれたちが困る。10%・ISVのデベロッパーがくずなせいで、おれたちが悪モノ扱いされる。10%・ISVのデベロッパーがAPI説明書を読まずに、アルファ版のサンプルをそのまま利用しているので、おれたちが困る。5%・マスコミがくずなせいで、おれたちが悪モノ扱いされる。10%・ユーザーがばかなせいで、おれたちが悪モノ扱いされる。10%・ユーザーが知ったかぶりなせいで、おれたちが困る。10%・他のチームがくずなせいで、おれたちが困る。10%・前任者がくさった仕様を残したせいでおれたちが困る。2%......・こんな技術を使っているから、参考にするといいよ。1%というような感じ。役には立たないが、どうして困るのかの解説は基本的には技術的な話(↓のような例外もあるけど)なので、滅法楽しい。理屈がある分だけ、ただの悪口と違っておもしろさ100倍増。Lunaの壁紙は最初、赤い砂丘をデフォルトにしようとしたら、尻に見えるというクレームがついたので、急遽差し替えた、本当にユーザーはくずだ、というような話とか。技術書というよりは、Windowsの虚々実々をネタにした、良いAPIや良いUIはどうあるべきかについての本だ。いうわけで、ジョエルの本に近い。経営的な観点はまったくないけど。CoTaskMemAllocではなく、SHGetMallocというのがあるか、どう内部的に使われているのか、といったくだらないアイディア(当時のPCは4Mしか積んでいないとか言い訳てんこもりだが、ここらへんではCOMチームがばかだから後先考えずにばかでかいライブラリを作りやがったというような罵り(もちろん、どの場所でも直接罵ってはいないが、眼光紙背に徹すればそこらじゅうにでっかな文字で「おれたちは悪くない」と書いてあるのが読める)がないのがちょっと不思議。「OLE32DLLをメモリに読み込んでさんざんな目にあっていた。した厳しいメモリ状況では、4KBのメモリを失っただけでも目立った。」と軽く流している程度)について得々と説明してみたり。やって4MBのマシンの8MBをOSが使っているせいで、実際におれのようなISVの開発者がどれだけ楽しいプログラミングができたかについては、その楽しみを罵ることで報いてくれているわけで、(今となっては)実に愉快だ。JRubyを待ちながらSwingアプリケーションのように、積極的にJavaのThreadを使いまくる必要があるときは別だが、Rjbをつなぎとして利用する方法がある。いや、もちろん、RubyとJavaのつなぎ(ブリッジ)なのだから利用する方法も何も、そのもののように読めるかも知れないが、それは空間上のつなぎの意味で、ここで言うつなぎは、時間上のつなぎだ。JRubyがより高速化されるまでのつなぎ、という意味。hfuさんの次のエントリーは、同じプログラムのRjb版とJRuby版について書かれたもので、両者の使い分けの参考になる(どうもありがとうございます)。フィボナッチミュージック(続))。これらを見ると、RjbとJRubyの相違は、利用したいJavaのクラスのロードの部分に差が集約されていることがわかる(ロード後の動作で異なるソース記述が必要となる場合については、指摘していただければ対処します)。フィボナッチミュージックのRjb/JRuby切り分けの仕組みをhfuさんのプログラムに適用することを考えてみる。'java'が失敗することを利用する。ここでは、JRubyまでのつなぎなので、主となるライブラリをjavaとしよう。これらをrequireする代わりに、環境に応じてJavaモジュールをセットアップするアプリケーション固有環境設定ライブラリに処理を切り出すことにする。ここでは、そのプログラムをgeoinit.rbという名称にしてみよう。'geoinit'として、どちらを利用するかの詳細については隠ぺいする。まとめると、Rjbを利用するか、JRubyを利用するかを、環境に依存した特殊な処理と考えることで、差の部分をアプリケーションのメインの処理から分離し、隔離する。アプリケーションのメインの処理では、どちらが利用されているかについて依存させないようにする。このとき、Rubyの場合、オープンクラスという特徴を利用して、特別なラッパオブジェクト(プロクシ)は作らないですませるようにする。分離した初期化モジュールの中で、クラス定義式を直接記述できるからだ。このようにしておけば、独自のRjb/JRubyラッパが不要となるので、プログラムの見通しと風通しが良い状態に保てる。RjbとJRubyの差分吸収処理どうも、上のリストを眺めているとDRYじゃなさ過ぎで気分が悪い(hfuさんのコードではなくて、おれのコード)。次のようにしたほうが良いな。endendjimportメソッドは、JRubyの場合は、include_classメソッドで、Rjbの場合であれば、与えられた完全修飾クラス名のクラス名を定数として指定されたクラスをimportする。ヘブンマンガを買おうと本屋に行っていろいろみたが、あんまりぴんと来るものがない。そこに、復刊ドットコムでみごと復刊とか書いた本があって、それに便乗したのか同じ作家の本がいくつか平積みになってる。なんだこりゃ?で、そのうち、2冊ばかり買ってきて、読んだ。志保)こういう表現者もいたのか、と少なからぬ驚き。少女漫画なんだろうな。絵本のようであり、塗り絵のようであり、レトロなようであり、モダンなようであり、おされなような、どろくさいような、新鮮なような、陳腐なような、表現っていうのは、おもしろい。(コマ割りが解体されているため時制が崩れかけてぼろぼろになる一歩手前で踏みとどまっているという感じかな。その崩壊一歩手前の危うさが世界全体の雰囲気を醸し出しているような)初出はプリンセスって、ナイルの娘や、エーベル少佐の雑誌だよなぁ(おれの知ってる時代では)。そこにこういうのが入り込む余地があるのか。思わず出版社を確認して、やっぱり秋田書店だなぁと納得したり。いずれにしても、おれは、捨てられたぬいぐるみや箱の中の仔猫の話には弱いのだ。#で、子供に貸してやったら、おれが気付かなかったプーさんに気付いたり。いうか耳が黒いからクマだとは思わなかったが、確かにそうだ。そんなこた、どこにも書いてないが、よくよく考えてみたら、天国というのは、哀しみに包まれた場所なのではないか?残された人間が哀しいのであれば、行ってしまった人間は残された人間が不在なゆえにやはり哀しいはずだ。こっち(復刊ドットコムもの)も買うだろう。不在は永遠のものになるわけだな。[DVD](エルンスト・ルビッチ)というわけで、天国は待ってくれるをルビッチが作るわけなのか、と納得してみたり。気楽に口やかましいおばさんは地獄に落とされていたが、ルビッチは好きだ。それにしても、DVDを天国で検索すると、とんでもないことになっていろいろ楽しい。みなさん、天国が好きなようだ。こいつは気になる天国。[DVD]「建設会社に務める田丸は大変な空想家で仕事も失敗ばかり。守衛に格下げされた彼は、機密書類を盗まれさらには産業スパイの疑いを掛けられてしまう。」という不幸な男を、日本の虹を掴む男、タニーケイが主演してるというだけでそそられる。おや、ボリスカーロフも出ていたのか。考え方を学ぶということ向井さんの「アルゴリズムを知らない子ども達」を読んでから、あらためて「マシン語を知らない子ども達」を読むと、ちょっとしたいびつさを感じなくはない(微妙な感触)。理屈の上では、向井さんの書いていることのほうが(2者択一ならば)同意できるのだが、どうもそのようには世の中は動いていないように思える(計算機学科でどういうカリキュラムをやっているか、ということではなく、ビジネス分野で仕事をしているプログラマについて)。そのため、明らかにまずどちらが来るべきかでいえば、向井さんのやつのほうが先にあるはずなのに、すぐに言語とかの話になってしまうように思う。LLだ、HLだってのも同じことだ。とっくに通り過ぎた地点だという場合もあるだろうけど。本当にそうかな?そういえば、最近、これについてなんひっかかる物言いを見たな、と思ったら、通りすがりの罠だった。偉い人が考えたアルゴリズムがあり、普及した実装があるのだから、それを使うというのは、効率的だ。自分で考えるのは無駄ですよ。ビジネスであるから、効率は重要だ。言葉の意味だが、効率性と合理性というのは異なる概念で、後者は再生産性をもたらすが、前者はその瞬間にのみ意味をもつ。魚を与えるか釣り方を教えるか問題である。釣り方には待つことや、場を選択することも含まれる。これは漁だけではなく猟にも応用できる可能性がある。合理的に考える力、という力を与えられるということである。魚を与えるということは、欲求を満たすが、力を与えないということである。これを称して、孔明の罠と言う。力を与えることを避けるために、無駄ですよ、と甘言で誘う。無駄が嫌いなのはSIerだ。必要なのは頭数なので、力をもつものは一握りで十分だ(と考えていた(現在進行形ならば「る」)節がある)。同じ言葉でも、立場が違えば意図は変わる。404氏の口から出る場合、それは花畑にはいろんな花が咲いてるほうが望ましいから、すでに咲いている花を植えるのはやめておけ、というような意味になる。どちらかと言うと元の話は、花じゃなくて、堆肥にするための雑草を植える行為についてだと思うので、ちょっと違いそうだ。プログラマの頭数を揃える立場にある、あるいはその立場に属する者の口から出る場合、それはお前らは考えなくても良いから、言われたことをやるだけにしてくれ、という意味になる。考える人は価格が高いから非効率的じゃん。それに、もう君らに魚をあげる気はないんだ。ちなみにこの漁場一帯への立ち入りも禁止するから、あとは勝手にやってね。彼らはどちらも合理的な行動を取っている。わなをしかける側はそういう考え方ができるということだ。見習うべきことである。ソートを考えるのがいやなら、ショート(む、意図せず韻を踏むことになったな)コーディングを考えるのもいいよ。言葉はパズル回り回ってマシン語が必要になるとか、面白い本が売れると別の面白い本が出やすくなるだろうとか、いろいろ。言葉は葉だから重ねることもできるし、カゲリの術にも使える。[鈴木志保!懐かしい!「船を建てる」はリアルタイムで読んでました。[おお、やはり印象的な表現者なんですね。泳げないアシカ結局、復刊されたアシカな人たちのマンガも買ってしまった。