トップ 最新 追記

日々の破片

著作一覧

2012-10-02

_ メレルのMOOTOPIA LACEが気持ち良い

以前アマゾンでソールのおもしろさ(ポップにした富嶽三十六景神奈川沖浪裏でサーファーが波に乗っているのだが、波がソールの滑り止めになっている)に惹かれて買ったメレルのMOOTPIA LACEを先月くらいから履いているのだが、実に気持ち良い。

というよりも、履き始めて妙に軽いなとは感じていたのだが、というのは実際の質量が軽くて、底もわりと薄いからだが、ここ数日、立て続けに会う人から、妙な靴だなと言われて意識し始めたのだが、つま先が広がっているからだ。確かに、あまり見かけないなぁ。

靴をはく

つま先が広がっているので、靴には通常つきものの接触感があまりない。しかし、全体に軽いことと底の薄さがうまくできていて、ぶかぶか感とかはまったく無く適度なフィット感が、実に気持ち良い。

たとえはもう少し上のほうになるが、普通の靴とMOOTPIA LACEの違いは、ブリーフとトランクスの違いに近い。

LIGHT BROWN US7(25.0cm) メレル メンズ ムートピアレース ライトブラウン MERRELL MEN'S MOOTOPIA LACE LIGHT BROWN J20555 男性用 スニーカー(-)

昔は、Look Sharpみたいな靴がかっこいいと思っていたが(今見たらやっぱりかっこいいが)、ルーズなのは楽でいいや。

Look Sharp(Jackson, Joe)


2012-10-03

_ c:\Windows\mediaのファイル

Explorerで見ると、Windows エラー.wavとか、Windowsのシャットダウン.wav となっているのだが、コマンドプロンプトでdirするとWindows Error.wavとかWindows Shutdown.wavとなるのだが、これはどういう仕組みなんだろう?

Explorerが拡張子wavは特別扱いでファイルのinfチャンクから拾っているのかと思ったがそのての情報は入ってない(というか、各言語Windowsごとにファイルを作るとは思えないし)。

NTFSの代替ストリームかなあ(代替ストリームは調べるのが面倒なので想像するだけ。それよりも、どこかに言語情報に基づく辞書があるような気もする)。

追記:牟田口さんに教えてもらったが、desktop.iniで、mmres.dllのリソースを指定していた。desktop.ini恐るべし。


2012-10-06

_ ギッシング短編集がおもしろかった

ウィーン世紀末短編集がおもしろかったので、久しぶりに短編小説でも味わうかと本屋に行き、同じく岩波文庫を探すと、赤色のやつ(海外文学は赤、東洋は青というように分かれているのだ)で短編小説はギッシングという初耳のイギリス人のやつしかなかった。まったく興味はひかれないが、短編小説を読むという初志貫徹で買って読んだらやたらとおもしろかった。

ギッシングは、1857年から1903年まで生きたということは、ほぼ明治の文豪たち、つまり森鴎外とか幸田露伴とか二葉亭四迷とかと同世代の人間だ。

で、読了し賛嘆したあと解説を読むと、この作家の歴史的背景が解説されていて、それも興味深かった。

資本主義が確立されて、社会資本が蓄積されると、社会を回転させるためにより生産性を高める必要が出てくる。そこで必要となるのは教育だ。というわけで、義務教育の萌芽が生まれる。それまで働いて家帰って飯食って子供を作るだけだった労働者とその子弟は、字を読むという娯楽を手に入れる。手に入れたけど、ビルトゥングロマンス全3巻を読めるほどには教養も時間もない(1日12〜16時間労働じゃなかったっけ)。そこで短編小説ですよ。

というわけで、すでに長編作家として名が売れるようになってきたギッシングは短編小説の世界に飛び込み、売りまくる。書きまくればいやがおうでも上達するので、すぐれた短編を残して21世紀にユーラシアの反対側の日本でおれが読んだりすることになった。

なんということだろう。

識字率が上がって庶民の娯楽として文学が市場を形成した時代の作家の作品を、識字率が下がって(なこたないはずだが)庶民の娯楽から読書が消え去った時代の読書人が読むことになるとはね。

で、ギッシングの人生も波瀾万丈、大学生の頃、街角の天使に入れあげて身請けのために金を使い果たしてついに盗みをはたらいて逮捕、放校、新大陸へ逃げてそこで金のために売文に手を染めて……。

でも、重要なのは作品だ。

ほとんどがイギリスの当時の人たちの人生を短くまとめたものだ。

あー、サキの国でしたな、という皮肉と辛らつさ、登場人物は出てきた瞬間に、愚鈍そうだとか、功名心をちらつかせる下卑た目つきをしているとか、頭は人並み以上には良さそうだが大して美しくも無いだの、さんざんこき下ろされる(だけとも限らない)。

何しろ、最初の作品に食らわされた。

画家(あまり褒められていない)が田舎で列車待ちの時間をつぶす必要が出てくる。歴史遺跡の街なのだが、あまりそのての教養を持ち合わせていないので丘を散歩する。腰をおろして風景を楽しんでいると(実はあまり良い紹介をされていないし、本人が謙虚なことを言うのでなかなか気付かないのだが、当代きっての風景画家なのだった)、上品で利発そうな田舎にはふさわしくない子供(兄と妹)を見かける。話はじめると、それなりに教育を受けていることがわかる。おじさんは何しているの? 画家なんだ。へーん、僕のお父さんもそうなんだよ。しかも風景ではなく宗教画なんだ。え、この時代に? そう。それを復活させるために生まれてきたのさ。

興味をひかれて家へ案内してもらう。

すると、青いひらひらしたブラウスを着て、功名心がちらつく目つきの若い男がやってくる。お父さん、この紳士も画家なんだって。ほー、お越しくださいましてありがとうございます。

と、家へ案内される。宗教画は2階で制作中だというので案内されて上へ行く。

画家はあまりのことに完全に沈黙してしまう。

ここまで独りよがりのだめな画を見るのは初めてなのだ。独学の悪い例のすべての要素が詰まっている。なんということだ。歓待の礼を言いたいのに、何一つとして褒めるべきものがない。(このくだりは是非、原文の見事な翻訳で楽しみたい。ここまで下手な画を的確に描写したものを読むのは初めてだ——まあ、そんなものは普通描写されないからお目にかかれなくてもしょうがない)

えー、とおれは驚く。サキの国の作家だと気付いたのはこの時だ。それまでの描き方から、埋もれた才能を発見した2流の画家が地方へ埋もれたままにするか、さもなきゃすごい才能だが時代と折り合いがつかなくて(画がでかすぎるとかそんな理由から)埋もれたままとなるのだろうと、「境遇の犠牲者」というタイトルから想像していたからだ。

一方、父親のほうは、画家が凍り付いているので悟る。悟っているのだが、その一方で、しょせん流行の風景画家、宗教画の良さを理解できないっていう可能性もあるじゃん、とかも考えている。

狼狽した画家がふと机に目をやると、水彩の風景画が置いてある。え? とびっくりする。明らかな才能が、まだ開花しきっていないとは言え、そこには刻み込まれている。

あー、あるある。

本来の才能とは異なる方向へ道を間違う若者だったのか。

いや、この画はすばらしい。私の画を贈るのでもう少し見せていただけないか?

宗教画はどうですか?

なんと、図々しいことを聞く間抜けなんだ。と画家は驚くが、いやいやこれだけの風景画を描く男のことだ。この部屋は大作には狭すぎる。全体の構図を見渡すことも難しいではないか。まずは、小さいキャンバスに描きなさい。

さらにその後、物語は急展開しながら進むのであった。

2作目は、ロンドンの貧民街で暮らすバツイチ女と、未婚の母と赤ん坊。楽しみは銀行休業日にみんなでディズニーランドへ行くことだ(と、妙に現代感がある話だけど、もちろんディズニーランドではない)。さて、ディズニーランドで、バツイチ女は逃げた亭主を見つけるのだが。

さらにこれまた下宿屋(もちろん貧民街。どうやらチャップリンが生まれたあたりらしい)の美少女に導かれて3階へ案内された詩人と、その詩、詩を詰めた鞄の数機な運命。

無能ものだが、どうも大物っぽいために取り巻きを集めて政治に打って出たら当選してしまった(どうも自民党の若手(当選当時)議員に似たような感じのやつがいたような気がするのだが思い出せない)。しかし、短期内閣だったために、すぐに無職となり、しかし、政治家こそ天職と2回挑戦し、2回とも完敗、すべての資金はつきたが、取り巻きには相変わらず金をばらまいている。

そんな夫をしっかり支える良き妻。

という構図で始まり、あれよあれよと、えーそれはないよ。という終わり方をする塔の明かり。

で、おもしろいのは良いが、だんだんこの作家の悪意にうんざりしてくると、くすり指という、海外旅行での美しい話が入る。ベルファースト郊外で老嬢として孤独に生きることを運命づけられている若い女性の恋を描くのだが、そしてご多分に漏れず辛辣な現実が物語りにけりをつけるのだが、佳品だ。

で、ハンプルビーという変な名前を持った赤毛の馬鹿ではないが利発とは言えない少年がたまたま商工会議所の大物資本家の息子の命を救ってしまったばっかりに、博物館の学芸員見習いという最も望んでいた職業をあきらめて事務員となるところから始まる、いつもひどい目にあうのは、この男のような物語。なのだが、不幸が続きまくる中で、実にささやかな幸福を見つける。同僚の爺さんの娘と結婚の約束をしたのだ。で、とどめの不幸なニュースを聞かされているときに、「彼女がおれを見すてることはないとわかった。もういちど新規まき直し——それだけのことだ。」と終わる。お、なんか良い終わり方だ。

そして、破産した元お金持ちの読書家が、貧乏のどん底にあっても書物への執念を捨てないために、妻をあやうく死なせるところまで追い詰めてしまう話。が、そこで改心して書籍ではなく妻を選び、それによって新しい人生が開けるように見えるというお話。

ふむ。大体、年代順に収録されているのだから、傾向があるように思う。

もちろん、書きまくった男だし、選者の好みがあるだろうから、結論できるものではないのだが、庶民文学で金を稼いでいるうちに、幸福というのは愛し合う人がいてお互いを理解しあって暮らすことと見つけたらしい。(少なくとも、そのような作品は読者受けが良く、作者の幸福にも結びつくことを見つけたのだろう)

ギッシング短篇集 (岩波文庫)(ギッシング)

_ ギッシング++

確かに、記録的価値もある(ように読める)から、こういう論考もできるのだろうなぁと思うが、そこまでビクトリア朝に興味ないので書影を眺めるだけ。

ギッシングを通して見る後期ヴィクトリア朝の社会と文化―生誕百五十年記念(光治, 松岡)

でもなぁ、なぜシャーロックホームズがベーカー街にうごめいているのかと言うと、ギッシングが長編作家から短編作家へ転身したのと同じ歴史的背景(庶民の娯楽に小説を読むことが加わった)があるんだよな。

と考えると、実におもしろそうな主題じゃないかビクトリア朝。

_ 明治へ帰れ

だが、待て。なぜビクトリア朝なんだ? 日本には二葉亭四迷もいれば露伴もいる。それどころか山田美妙や北村透谷、そして何より夏目漱石がいるじゃないか。

しかもなぜか「維新」という言葉が大流行(おおはやり)だ。

と考えれば、実は今まさに読み返すべきは、明治(題材)+昭和(メタ化)+現在(読解)の50年周期による複合的な観点を得られるこのあたりだろう(が、読み返そうと思ってもどこにあるのかわからない歴史の闇)。

明治断頭台―山田風太郎明治小説全集〈7〉 (ちくま文庫)(山田 風太郎)

(が、日本の識字率は江戸時代から妙に都市部では高かったので、庶民はとっくの昔から馬琴だの風来山人だのの作品に親しむ習慣があったので、英国と同列には語れない)


2012-10-13

_ Ruby-1.9.3-p286

Ruby-1.9.3-p286.msi

32ビットMSWindows用のRuby-1.9.3-p286のパッケージです。

・VC++2010

・ActiveScriptRuby (IActiveScript for Ruby)

・RJB (jdk1.6.0でビルド。ブリッジは1.6.0JavaバイナリなのでJDK1.5以下ではおそらくロード時にエラーとなるはず)

DXRuby 1.4.0(DXSDK 2007 AugとVC++2010でビルド)るびまサンプルはスタートメニューからそのまま実行できます

るりま 1.9.3 2012/8版 CHM

・その他 VisualuRubyやalgebraを同梱してあります。

作者各位に感謝します。

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

Before...

_ arton [うう、直し忘れてました。ありがとうございます。(が、今は出先なので後で直すけどCGIにしとけば良かった……)]

_ ser1zw [こんにちは。mswin版、いつも使わせていただいております。 現在アップされているRuby-1.9.3-p286なの..]

_ arton [申し訳ない&ご報告ありがとうございます。後で修正版にアップデートしておきます。]


2012-10-15

_ 我々を蔑むものは我々の手で滅ぼす

新国立劇場でブリテンのピーターグライムズ。

ブリテンはグレートなのだな、と納得した。パーセルの変奏曲くらいしかまともに聴いたことはなかったが(ピーターグライムズの間奏曲は聴いているはずだが、まったく記憶にない)、この作品が真に重要だったのだ。

でも、実際のところ、音楽にはそれほど印象は受けていない。4幕でのピーターの独唱や、エレナの独唱、確か2幕の最後だと思うが、疎外されたいのしし亭の女主人と「姪」(ということになっているが、ホステスだな)、エレナの歌、あるいは1幕だと思うが、いのしし亭にピーターグライムズが入ってきて星辰の詩のような歌を呟くところなど、良いところはあるのだが、金管の激しいがなりたてばかりが印象に残る。間奏曲は最初が金管がリズムを刻んで弦が形を作るのが、次に弦がリズムを刻んで木管が形を作り、これは美しかったが、この曲が有名な間奏曲なのかな?

では何が強烈な印象を残すのかというと、脚本だった。

脚本は有名な共産主義者の手になるものらしい。

優れたプロレタリア文学だった。

日本のプロレタリア文学の最高峰は『セメント樽の中の手紙』だと思うが、同じようなどうしようもなさで溢れているのだ。救いがこれっぽっちもないところも。

プロローグは裁判の場面だ。ピーターは小さな棺を抱えている。この演出は心の動きを形で示す。彼は死んだ子供を忘れることはできず、とまどっている。大漁に気を良くしてロンドンまで船を進めて(この村で陸揚げするより高く売れるのだろう)いくのだが、途中、風向きが変わり漂流することになる。水が切れて翌日、子供が死ぬ。熱中症か脱水症状か、そういったものだろう。

そこで村人は大喜びで、ピーターが殺したというストーリーを作り、退屈な日常に大きな刺激を作り出す。この共同幻想については3幕の最後で、アヘン中毒の資産家の老嬢が、大都会と違って犯罪(を他人事として愛でる)という楽しみがない村だけど、殺人よ、嬉しいわと歌うので明示される。

ピーターを特に告発して楽しんでいるのが、メソジスト派でアルコール中毒の漁師(彼はメソジスト派だということで、異端宗派の人間として、ピーターの理解者の引退した船長に嫌味を言われている)と、資産家の老嬢(彼女はアヘン中毒だということで、ピーターと一応ふつうにつきあっている医者に陰口をきかれている)の二人だというのは示唆的だ。

ピーターが嵐に備えて船を浜へ揚げようと助けを求めるのだが、協力するのが元船長と医者の二人だ。

判事は、すごく怪しいが、以前おぼれている子供を助けたこともあるから、無罪にしておく、しかし徒弟を取ることは禁ずる(なぜなら危ないから)、というような曖昧な判決をくだす。その曖昧さから、ピーターはやはり殺人者だという噂はかえって強くなる。

だが、徒弟はやはり必要だということで、医者と教師(未亡人で、ピーターとは相愛関係にあり、ピーターは漁で稼いで自分の魚屋を作り、落ち着いてから彼女と家庭を作ることが夢なのだった)が協力して嵐の晩に子供を連れてくる。

ピーターは貧しいが、独立不羈の魂の持ち主だということが、その生き方から自然とわかるのだろう。村人は何かがありそうだと思えば、「我々を蔑むものは我々の手で滅ぼす」と念仏を唱えながら、すぐにピーターの家を襲う。直接ピーターが村人を蔑むシーンはまったくないのだが、同じ方向を向いていないというだけで、自分たちが蔑まされていると感じるのだろう。この感覚は理解できないが、何か普遍的なものらしい。

元船長だけが、他人は他人だという態度を貫く。

それが可能なのが、村で唯一の技能職の医者と、おそらく他に行くことができそうに見える元船長だけだというのが示唆的で、教師はピーターを愛しているから味方をするのだが、彼ら二人ほど確固たるスタンスを持っているわけではない。ここにもおそらく悲劇の目がある。

子供は嵐で崩れたらしい、ピーターの小屋から海辺へ続く崖から落ちて死ぬ。ピーターは落ちた子供を探しに行く。

ここに至る直前の小屋の中でのやり取りは、良い演出。子供は極度にびくびくする演技をしているのだが、ここではピーターが実は自分を大切にしていることに気付き、おんぶの形でしがみついたりする。それなりにになついているのだ。

村人が小屋を襲うが、すでにピーターは崖を降りた後で見つからない。小屋の中が整頓されているというその一点で村人は彼は悪くないと考えて去っていく。

いのしし亭の前で、女は待っていろとか下層民は貧民靴へ帰れなどと罵られた「姪」が蔑まれたものの悲しみの歌を歌う。(が、3幕で再度ピーターを襲撃に行くときは嬉々として参加することになる)

元船長は2回目の襲撃の前にピーターへ、沖へ出て船を沈めるように告げる。ピーターは去る。

この演出では、女教師は最後、村人と同じ方向を向き同じ(讃美歌を書いた譜面を持つ)ポーズを取る。

Peter Grimes(Britten)

ブリテンが振ってピアーズ(この二人はそれが原因で住んでいる村の住民に排斥される(ピーターグライムズの作品に影響しているらしい)くらいな同性愛カップルなのだが、イギリスで同性愛者が犯罪者として扱われるというのには、いろいろな例外規定とかあるのかな?)が歌っているCDがあって、まだ現在に地続きの作家なのだな、と不思議な気持ちになる。国立劇場のロビーに写真で見るブリテンの生涯みたいな展示があったが、最後はカラー写真なので、違和感があったのと同じだ(1960年代まで生きているのだからカラー写真があるのは当然だし、音楽は明白に20世紀の音楽なのだが、題材がまったくこの世のものとは思えない、同調圧力が支配する社会を描いているから、それこそが現代なのだとわかっていても、遠い世界の話のように思える)。

DVDも出ている。1969年。

Peter Grimes [DVD] [Import](Benjamin Britten)

幕がしまってから、しばらく拍手も出ないほど、観た人がしゅんとなってしまう恐るべき作品だった。


2012-10-16

_ least negative value

仕事でとあるデバイスをいじくっていたのだが、ちょっとおもしろい英語表現に出会ったので、紹介する(US版のSDKのマニュアルしか提供されていないので必然的に英語となる)。

結論としては、least negativeと言った場合、それは絶対値が最小の負数を指すということなのだった。

で、そのデバイスのAPIで、RSSI(信号強度)を取得できるのだが、そこに、「stronger (least negative) value」という表現が出てくるのだった。

だが、おかしい。-30と-33.5の2つの結果を得られた場合、デバイスに対して近いのはー30のほうなのだ。でも、このデバイス(UHF帯のRFIDリーダに対するデバイス=RFID)は実に奇妙な動作をするので、距離の近い遠いはまったくあてにならない。どこからか反射した結果(でおそらく増幅されて)で遥か遠くのデバイスが反応したり、えらく近くでも向きが電波の入力角に対して水平に近いと反応しなかったり(まあ、それは起電するためにはデバイスが持つアンテナに対して垂直に電子が流れるのが最も効率が良いから当然、とか知ったふうなことを書いているが、電気の知識は中学生の理科止まりなので怪しい)。

で、はて、電波強度がstrongerなものを近いとみなす(が、上で書いたように実際にはぶれまくる)しかないが、それは得られた値が上の例だと-30と-33.5のどちらなのだろう? と困る。

least negative valueということは、最小の負の値ということだろうから、-33.5のほうが数として小さいのだから、-33.5が近いということだ。でも、実測としては-30を出したほうがデバイスには近い。でも、それはこの環境の問題で、-33.5を出したほうが実際にstrongerな電波を返している可能性も捨てがたい。

つまり、全然、わからない。

わかるためには、実測ではなく、least negative valueの意味を知るしかないし、それはleastなんだから小さいほうに決まっているのだが、googleさんに聞いてもleastとnegativeとvalueの組み合わせではいまいちそれっぽいものが引っかからない。プログラミングQAに投げている人がいて、その人の例だと-30(つまり絶対値として小)なのだが、QAに投げているワナビーだから間違った数学用語(なのか技術用語なのかジャーゴンなのかもわからにし、辞書を引いてもleast negative valueでは出てこない)を使っている可能性もある。

というわけで、結局、判断できないので実測しまくり、どうも絶対値として小さいほうがstrongerなような気がする、気がするからそうしてしまえ、とやったのだが、それでもいまいち安心できない。

しかし、絶対値として小さいというのは、どうも馴染みがないので、やはり自信が持てない。

というわけで、twitterで聞いてみたら、うささんが反応してくれて電波強度なら絶対値と教えてくれた。

さらにfbでShiroさんが反応してくれて、どうも「negative」という言葉の有無が重要で、Schemeにはleast-fixnumという手続きがあって、整数としての最小(絶対値大)、でもCommon Lispにはleast-{positive|negative}-double-float ってな類の定数(実はこのページは検索していて引っかかったのだが、パッと見、何かのspamページかと思ってスルーしてしまったのだった。が、よく見ると確かにCLの仕様だった……)があって、こちらは絶対値小(負の整数として大)を示していると教えてくれた。

というわけで、実測でも、プログラミング仕様での呼び名でも、電波用語(別の意味っぽい)としても、least negativeが絶対値として最小の負数ということで確定(未だに辞書的な定義は見ていないけど)。

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

Before...

_ arton [あー、なるほど。したがって0起点になるのは当然の言い方なわけですね。]

_ いたさん [この電波強度はdB(デシベル)表記ではないでしょうかね?]

_ arton [dbmという表記になっています。]


2012-10-20

_ 最近はまって困っていること

IE7 or IE8+jquery-1.4.2というレガシーなインフラで、POSTしようとすると、大体80Kバイトくらいのところで、POSTに失敗する。

同時に多発したのだが、そのうち幾つかはサーバー側をWCF RESTで利用する場合の設定の問題だった。

maxReceivedMessageSizeという属性がwsHttpBindingやbasicHttpBindingにあるのだが、既定値が64Kバイトと無暗に小さい(安全側に倒している)のが原因で、これはステータスコード400が返るし、IISトレースで確認できるので、問題ではない。単にmaxReceivedMessageSize属性を大きく設定すれば済む話だ。

問題なのは、IEから外部に出ずに単にエラーになるパターンで、サイズも一定しないし(大体80Kを超えたあたり)、何しろIEから出ないからすごく困る。jqueryがエラーハンドラに返すエラー情報には'error'という文字列が入っているだけなのでまったく解決の糸口にもならない。

さらに、送信すべきデータを失うと困るところがややこしい。

最初のパターン(IIS側で400を返す)であれば、送ったデータはトレースに完全に残るからサルベージできるのだが、IEの中で閉じてエラーになっている場合にはそうはいかない。IEを終わらせれば消えてなくなってしまう。というわけで、IE7を捨ててとりあえずIE8以上を前提とすれば、送信前にlocalStorageへ確保しておけるわけで、送信に成功したら削除し、失敗したらそのまま保持しておくという対応を後から入れることにしたので、ついにlocalStorageを実環境で利用することになる。が、それは将来への対応であって、今起きている実環境については役に立たない。送れないものは送れないからだ。目の前で起きていれば、アドレスバーへjavascript:で適当なDIVかSPANのinnerHTMLに送信するデータを表示させてコピペすればサルベージできるわけだが、そういう状況ではない。

この時は電話ベースの遠隔サポートしていたのだが、ふとWindows7だということに気付いて、タスクマネージャからIEのプロセスダンプを取得してもらって、後からダンプからJSONを探してサルベージしたのだが、これは運が良かっただけで、通常の運用環境ではそんなことができるはずがない。

が、IE(というよりも、IE7やIE8+jqueryなのでActiveXコントロール版のXHRだが)ではPOSTについてはサイズ無制限というような記述しか見ないし、たかだか80Kバイト程度で送信できないというような報告はstackoverflowにも無い。無いということは、よほど特殊な環境か、こちらのバグなのだろうと思うのだが、サルベージできているくらいに、まともに送信データは作られているし、サイズは80Kバイト超えに過ぎないし、60Kバイトくらいなら何の問題もなく処理できているのだから、不思議極まりない。

ワークアラウンドとしてはやたらと複雑になるが、分割送信を実装するしかなくて相当げんなりするのだが、いったい何が原因なのだろうか。


2012-10-21

_ とちぎテストの会議

土曜はとちぎテストの会議で東那須野。

東の公民館で開催されるときはいつも遅刻するので(最初の頃は所要時間の見積もりの問題で、次に公民館の場所がわからない問題になった)万全の準備をしたら、今度は早く着き過ぎた。

テストの会に参加するのは初めてなので、始まってしばらくの間というか、ほとんどの話が何を言っているのか(つまりあとになって考えてみれば、何を問題意識としているのか)理解ができない状態というか、同じ言葉を使っているのに異なる概念をそれぞれが意味しているという不可思議なわけのわからなさに驚いた。何を言っているかわからないので、正直なところまったくおもしろくなく、これは一体どうしたものか状態。

最後に、ワールドカフェというなんだかわからないワークショップ(ファシリテーションプロセスらしいが、なるほどこのページの説明を読んで理解した)があって、そこで数人と起きたことについて話し合うのだが、その過程で何を問題意識としてセッションが行われていたのかの認識を共有させてもらえたので、ようやくわかったのであった。

それにしても、テストには(H)と記述するくらいでしかプロセスの共有ができないらしいとか、同じステートチャートが切り口が異なるとまったく異なるものに見えるとか、コミュニケーションギャップだとかいろいろ勝手が違って興味深い。

特に不思議だったのは、テストする人と、開発する人の間に、壁があるらしいことで、アジャイル開発が、クライアントとプロバイダーの壁を低くして、問題に対する挑戦する側対問題という図式に切り替えようとしている遥か手前のところに、開発者対テスト者という図式があるようで相当に違和感がある。が、そういわれてみればやたらと挑戦的なテストレポートを見たことがあるので、そういうものかもしれない。人対人とせずに、人+人対課題という図式に持っていけると効率が良さそうだな。が、数値目標が異なるチームを同じ図式に持っていくと別の論点が出てきそうだなぁとか想像もつくので、社会的構造というのは理不尽なものにしたがる方向で作られているのだな、とも思う。

後になって頭数を多くしてテストをするという方向性についてちょっと話し合ったりもしたのだが、それはそのまま頭数を多くしてソフトウェアを開発するということに似ていて、どこまで労働集約的に解決したがるのかに疑問を感じたりもした。

これまでの日本の歴史を紐解いても、労働集約的に、つまり多数の力を合わせてうまくいったという成功体験というのはどこにもないはずだ。したがって、成功体験によってその手法に固執しているとは考えにくい。不思議だな。

と、かってない体験ができた得難い会議だった。主催者および参加者のみなさん、ありがとうございました。


2012-10-24

_ LINQのSelectMany

LINQにSelectManyというmapしてflattenみたいなメソッドがあるのだが、なかなか使いみちが見つからなかった。が、昨日、まさにSelectManyな使い方ができた。

static readonly string[] FilePatterns = { "a-*.*", "b-*.*", "*.bak", "*.txt" };
//
foreach (var file in FilePatterns.SelectMany(p => Directory.GetFiles(Config.DirName, p)))
{
    ...
}

_ ソニーやシャープってバカなの?

アマゾンが、日本にまた1つ、どうでも良いタブレットを売り始めた。

Kindle Fire HD 16GB タブレット(第2世代)(-)

日本っていう国を分析してみよう。裏付けは取りたい人が取れば良い。

まず、この国は老人の国であり、しかもこれから老人は増える一方だ。

老人(おれの場合は40過ぎてから急にだから、中年も含めて良い)の特徴ってなんだ?

高度な知性と老眼だ。

つまり、読解力も高い識字力もあるが、肉体的に書籍の読解が難しい。

年を取って理解することがある。

なぜ、おれが子供ころは新聞やら本やら読んでいた、祖父だの祖母だのが、晩年テレビばかり見ていたか。

読めないんだよ、肉体的に。特に、文庫は全滅だ。

先日、範馬刃牙が最終巻だから買ったけど、新書版のマンガもほとんど読めない。大判のやつはまだ問題ないけどな。

範馬刃牙 37 (少年チャンピオン・コミックス)(板垣 恵介)

(読めないおかげで、「しょっぱい」結末を知らずに済んでいる幸せな人がいる)

諸外国は知らんよ。老人がどんどこ死んで市場が常に30代を中心にしている国なら、7インチだ9インチだ5インチだで全然OKだろう。そもそも連中はどこまで本を読むのかな?

日本はそれでも老人だけで数千万人単位の市場にこれから成長するのだ。この市場は、書籍市場から見放されている。が、購買力はある。読書市場からは単に肉体的に疎外されているだけなのだ。

であれば、この市場に着目しなければ嘘だろう。

新聞は比較的早くからこれに目を付けて、市場努力をしてきた。

でも、それは字を大きくして紙面を変えず、情報量の劣化を言い回しの工夫でカバーするという方向だった。

そうではなく、単純に大きな字を表示できる媒体があればよかったのだ。そして、それは現在は実現可能だ。

ここでまた自分の眼力から換算してみると、望まれるメディアは20インチ pad(高精細の必要は実際にはなく、1600×1200で良い)が、新聞紙の軽さで、真ん中から2つに折り畳めるようになっている状態だ。(折たためば1iPadを3回り大きくした程度となる。現実的にはさすがにでか過ぎるかも。19インチでも十分かなぁ)

このサイズに文庫本の2ページ分を表示する(たぶん、4ページもいけそうな気がするが)、あるいは大判の書籍2ページを表示すれば、問題なく読める。

重さはそのサイズでも300gは維持させたい。しなる? しなっても問題ないようなディスプレイを作ることが技術の使い道というものだ。熱? 明るさ、それこそ技術の使いどころじゃないか。

こういった優れたメディアを送り出す能力がアップルやアマゾンには無いだろう。なぜなら、彼らの市場は老人を向いていない。したがって、最初から7インチなのだろう。だが、それでは肉体的に読めない市場は切り捨てられる(そして振出に戻って、その市場こそが日本の狙うべき市場だ)。

だから、シャープやソニーといった日本のメーカーこそがここを狙うべきなわけだ。あらかじめ新潮社と岩波書店と提携して文庫を10000冊くらいおさめて、価格はずばり10~20万円(そこは政治というもので、敬老の日に向けて地方自治体や国に60代以上に1台提供するように買わせればいいじゃん。公共事業というやつだ)。

(現在の進行状態からいくと後数年でまったく書籍は読めなくなりそうだ。したがって、早く市場に投入してくれくれ)


2012-10-27

_ 文化的コンセンサスと教養

昨日、何が原因か忘れたけど(と書くと思い出すの法則で、佐賀のほうで取れた魚を食いながら、北九州と言えば花と竜(に至るまでおれが知らない演歌が出てきたり)して)、最終的に、相撲取りのなり損ないが泣きながら歩いていると、2階から紐を付けた徳利が目の前に降ろされてきて、上を見上げるときれいな芸者さんが窓からこちらを見ているという話になった。

確か一本どっこ土俵入りじゃないか? と言うようなことをおれが言って、それは北九州で暴れ者の無法松の話になったからだ。おれは無法松が最初相撲取りになろうとして、そのシーンがあったのだと思った。確か、ほかには、惚れたお嬢さんを人力車に乗せて泣きながら爆走するシーンとかもあったよな。

すると、妻は、それは違うと言い出した。無法松が関取ってことはないはずだ。

だから、とおれは言う。関取にはなれなかったんだろ。

変だなぁと妻は言いながらいろいろ検索して、相撲取りは中山道だし、だいたい徳利じゃなくて、金と簪だ、と言い出した。

あ、と俺は気づく。そりゃそうだ。徳利が降りてくるのは菊正宗か松竹梅の広告だった。

さらに妻が追い打ちをかける。一本どっこ土俵入りって、なんか変だと思ったら、一本刀土俵入りじゃん。

確かに、そうか。でも一本どっこってのもあったはずだけど、なんかごっちゃになっているなぁ。(この謎は、妻によって、北九州→博多の名産→長谷川伸のごった煮から湧き上がってきたのだろうと解析された)

そう言えば、江戸紫が降りてくるバージョンもあるな、マンガだし、あれは桃屋の広告か。で、相撲取りに扮した大村崑のアニメ版がおもむろに飯を食い始めるはずだ。

くだらねぇ、とそこでバカ話は終わるわけだが、ふと考える。

全国展開の酒造や佃煮屋が、なんの前振りもなしにテレビ広告の中で、相撲取りのなり損ないの前に2階から徳利やら佃煮やらを降ろしてきて、それで意味が成立するってのは、つまりそれがなんであるかのコンセンサスがあるからだ。

でも、と考える。少なくとも、現在にそれをやっても、ただ、そういうものだとしか思われないだろう。

国民(というよりも視聴者)の大半が受容可能なものって今だとなんだろう? そんなものは不要です。偉い人にはそれがわからんのです?

だが、とその反面考えるのは、大半が受容できるよりも、狭いターゲットにピンポイントで受容させられるほうが、むしろ広告効果は高いのではないだろうか。

いや、それはテレビ広告というメディアには向かないだろう。

劇画・長谷川 伸シリーズ 一本刀土俵入 (イブニングKC)(小林 まこと)

(こういうリメイクをしても意味ないだろう)

一方そういった教養(というのはコンテキストの共有だ)についての考えとは別に、コモンズというものを年配者に説明するのに、長谷川伸と長谷川一夫というのはばっちりかも知れないとか思うのだった。

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

_ ムムリク [いっぽんどっこ、と言えば水前寺清子の歌という刷り込みもあるかもしれませぬ。]


2012-10-28

_ 能楽堂 1.3.3

ベースをruby-1.9.3-p286、rails-3.2.8に更新した能楽堂 1.3.3をリリースしました。

このリリースから、須藤さんが(追記:ご免、よく分からない。森さんかも。中田さんも関係してたような)開発されたgroongaという全文検索エンジンと、Railsから利用するためのgem(rroonga)を同梱しています。チュートリアルはgroonga v2.0.7ドキュメント » 4をどうぞ。

なお、起動していきなりgroongaが例外を起こして死ぬ場合は、roaming/nougakudo/bin/readline.dll をリネームしてロードされないようにしてください。

(追記:注意:readline.dllの問題だと思いましたが、違いました。64ビットCLでの最適化に関する問題をGroongaが持っているように見えるため(デバッグモードではまっとうに動作するが、リリースモードでは動いたり死んだりする=初期化に関する何かの最適化によって未初期化メモリを見に行っていると推測できる)、調査してみます。起動できるのであれば、チュートリアルを読みながら試すと良いと思います)

また、演能に修正が入っています。概要はChangeLogにありますが、一番大きいのは近永さんがパッチをくださった、GCなどで通知されるシグナルによって突然プロセスが死ぬ現象に対する修正です。

バンドルされている各種gem(もちろんrailsを含む)やライブラリの開発者各位に感謝します。

_ mallocにでっかな値を与えるとSEGVする?

groonga.exe の 0x000007fcf4c147a3 (ntdll.dll) でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x0000000000dc6b3f を読み込み中にアクセス違反が発生しました。
呼び出しを見ると、
ctx.c 2146行目 grn_malloc_default
size 0x000007fcce93e680 ← mallocのアドレスが0x000007fcce930a36 なので非常に不可思議な値
hash.c 513行目 grn_array_create
path 0x0000000000d0fc39 ← NULLじゃないよ
value_size 0xce9381c8 ← uint32_t だが でかい
flags 0xfffeffff ← くさい
ctx.c 446行目 grn_ctx_impl_init
 見た目、grn_array_createの呼び出しはおかしくない
というわけで、ctx.cが参照しているgrn_array_createの関数プロトタイプが正しく64ビットになっていないように見える。
というところまで調べて昼飯だ。
というか、関数プロトタイプがヘッダに無いように見える。LLP64だから、sizeof(long) != sizeof(void*) に引っかかってるのではないか、と推測できるぞ。
と考えたが、それにしては動くときはちゃんと動くので不思議なので、もっとまじめに見てみるか(groonga.pdbがexeとdllで競合しているから違うものを見ているのかも知れないと気付いた)。
引数がほとんどレジスタに乗っているから、デバッガの変数情報がまったく当てにならない、と気づいた。

_ 上のやつのやり直し

RelWithDebInfoでシンボル情報を取り出して、groonga.dllのほうのpdbを載せて実行してみた。やはり死んだり、うまく動いたりでいろいろ(でたらめな引数を指定してhelp表示で終了するときも、稀に再現するが、最後に死んだ場合はデバッガ起動のフックは外れているらしく捕捉できない)。

再現可能なパターンでのメッセージ(visual studio 2012を使った。2010はうまく情報を取り出せないようだ。でもコンパイルとPDBの作成は2010で行っている)

ハンドルされない例外が 0x000007FCF4C9A485 (ntdll.dll) で発生しました(groonga.exe 内): 0xC0000374: ヒープは壊れています。 (パラメーター: 0x000007FCF4CEFD60)。

壊れているのがヒープならスタックは大丈夫だろうということで、呼び出し履歴を見ると

 	ntdll.dll!RtlReportCriticalFailure()	不明
 	ntdll.dll!RtlpLogHeapFailure()	不明
 	ntdll.dll!RtlpAllocateHeap()	不明
 	ntdll.dll!RtlAllocateHeap()	不明
 	msvcr100.dll!malloc(unsigned __int64 size=0x00000000000002f8) 行 89	C
>	groonga.dll!grn_malloc_default(_grn_ctx * ctx=0x000007fcd3a51000, unsigned __int64 size=0x000007fcd3a1e680, const char * file=0x0000000000000001, int line=0x00000001, const char * func=0x000007fcd3a1e680) 行 2146	C
 	groonga.dll!grn_array_create(_grn_ctx * ctx=0x000007fcd3a51000, const char * path=0x0000000000e8fa49, unsigned int value_size=0xd3a181c8, unsigned int flags=0xfffeffff) 行 513	C
 	groonga.dll!grn_ctx_impl_init(_grn_ctx * ctx=0x0000000000000000) 行 446	C
 	groonga.dll!grn_init() 行 884	C
 	groonga.exe!000007f681e26936()	不明
 	groonga.exe!000007f681e270d2()	不明
 	kernel32.dll!BaseThreadInitThunk()	不明
 	ntdll.dll!RtlUserThreadStart()	不明
 (スタック上の変数値は信用できない。表示されているのはレジスタの値ではない。逆に、スタックを経由しているらしき、msvcr100.dll!mallocに対する引数値(0x0-02f8)は信用できる)

となっていて、mallocより下で発生している。

というのをredmineに投げればいいかな?

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

Before...

_ arton [アンインストールしても追加分は削除されないはずです。よろしければ、アンインストール後に、一度、site_rubyのほ..]

_ nagachika [一度ディレクトリごと削除してインストールしなおしてみたら確かに site_ruby には ennou.so 入ってい..]

_ arton [いえいえ、ビルドしてパッチのテストしていただいてることを思えば、全然OKですよ。]


2012-10-29

_ Ruby-1.9.3-p286リパッケージ

先日リリースしたRub-1.9.3-p286インストーラですが、includeのパッケージ漏れがあったので、再パッケージ版をリリースしました。

includeを含めたことと、インストーラのバージョンを1.1.2から1.1.3へ更新したこと以外には差はないので、ヘッダファイルが不要な場合は更新しなくても問題ありません。

ser1zwさん、お知らせありがとうございました。

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

_ ser1zw [ご対応ありがとうございます!]


2012-10-30

_ Node.js入門

風邪でダウンしているので、アスキーの鈴木さんから贈って頂いたNode.js入門を読んだ。

Node(と、jsが付かないのが正式名称だということだ)でアプリケーションを組むつもりはないが、ここまで評判ならどんなものか知りたいのは当然なので、「はじめに」の「Nodeの内部構造を理解したい」にしたがって1(Nodeとは何か)、4(Node入門)、19(Nodeはどう作られているか)、21(アドオンの作成)の各章を読み、さらに面白そうだから20(非同期プログラミングの改善)、23(スケーラビリティ)、17(Socket.ioを使ったファイル共有アプリケーションの作り方)、12(ユニットテスト)、13(デバッグ)、8(ストリーム……)、9(ソケット)と、Webアプリケーションがらみのところ以外はほぼ読んでしまった。Nodeの説明なのだが、非同期APIを使ってシステムとやり取りするアプリケーションプラットフォームの説明と抽象化すれば、ちょっとしたコンピュータシステム入門でもあって、その観点からも面白い。

文章は粗いところもあるが(恐らく他山の石なのだが、書いている人間には自明なので「AだからB」の「Aだから」抜きで「B」が始まって唐突感があるとか。でもそれが、アスキーならではのまともな技術者が書いているまともな技術書というものじゃなかろうか。つまりまともな技術者ならまともに読める。まともっていうのはsaneの訳だな)読みやすいし、コードはリーダブルだ。説明は簡潔すぎる気がするがもっと詳細を知りたければjoyent/nodeを見れば良いのだろう。

ただ、何か細かく引っかかる点もあって(癪に障るとか、勘に触るとかいう系のやつ。たとえば読み始めて割とすぐにシングルスレッドイベントドリブンのメリットとしてメモリ効率が挙げられているが、そこか?と感じるとか)そのへんは書き手が若いからみたいに思う。

サーバサイドJavaScript Node.js入門(清水俊博)

約580ページと分厚いが、それだけの内容はあると思う。

何より読んで面白いし、僕には時代が生んだ徒花感も感じるけど、Nodeという0年代後半の巨人(0年代前半の巨人がStrutsで、中半がRailsとした場合)について知りませんというのはあり得ないだろうから、まずは手に取って読むと良いと思う。思い付きで書いたが徐々にインフラ側へ深化していくのが面白いな。沈み行く巨人たち。

というか、現在は仕事の40%以上は、func(x, y, function() { ... });というコードを書くことになっていて(残り50%は、obj.method(x => ...); だよC#)10%弱のobj.method() {|x| ... } と合わせて、命令型に関数を与えるコードばかりで、その点からもNodeはきっと良いのだろう。


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|

ジェズイットを見習え