著作一覧 |
26日はオーチャードホールでKバレエ団の海賊。アリが名前ならババは名字だが、東洋文化ならババは名前だ。もし日本で馬場さんと結婚したら馬場ババというどえらくこじゃれた名前となる。
28日は上野で東京バレエ団のシルヴィア。ジークフリータンな角笛がポニョいとか。999の車掌がエロす、といっても通じないだろうから、それはなし。
海賊は、ABTのマラーホフがジャンプしているDVDのジャケットしか知らなかったので、観てわりと驚きがあった。まず、主役は海賊の船長だと思うのだが、踊りの面ではアリという名の子分だということ。まるで夏の夜の夢だ。オベロンはえらいがくるくる回るのはパックの仕事。
というわけで熊川はアリの役。そんなに高くは飛ぶわけではないが、くるっと回って落ちてくるのの連続とか、妙な脚の開いて閉じるて着地の連続とか、実に楽しめる。若手だと思うが、奴隷商人役は好きだな。船長はあれ、踊りも踊れるんだという意外感があったステュアートキャシディ(という名前だったような)。あまりうまくないような気がするが、役柄からそれでも良いのかも。
音楽は、ふーむ、という感じで、ジゼルよりは遥かにドラマティックで楽しめるが、印象には残らなかった。でも、船を使った演出はおもしろい。というよりもKバレエの舞台装置はいつみても美しい。
今回も、福田指揮者がいろいろやったようだ。オーケストラはいいなぁ。
以前ロイヤルバレエで観たときと同じような印象ではあるけれで、序曲がまずとても良い。でも記憶にない。でも、ドリーブは相当な前進で、アダン、ドリーブがいてこそのチャイコフスキーと言えなくもない。
シルヴィア登場の角笛は良い感じ。やたらと振りの大きい指揮者(あたまは入道)で、うまかったと思う。管も良い音だった。
話のくだらなさも天下一品で、エロスはギリシャ神話だと思うが(ローマならキュピドだ)、ところがアルテミスではなくディアナだし、オリオンは本来アルテミスの恋人のはずが、ディズニー版美女と野獣の狩人みたいな乱暴者(しかも、神様エロスより取っ組み合いではつよす)。が、ディアナの矢でいとも簡単に死んでしまう(オリジナルの神話に無理やりあてはめれば、この浮気者、というところかも知れないが、もちろん、そんな含意はなさそうだ)。
主役はベルリンの人(名前忘れた)。スラッとして確かにシルヴィア風、と考えると、いわゆる舞踏家っぽい正統的な舞踏家で、なぜかおれはこういう舞踏家を観るのは久々なような(ルテステュをこないだ観たけど)。どうもコジョカルとかマルケスみたいな小さくて可愛い系の舞踏家ばかりを観ている気がする。
しかし、シルヴィアは観ていておもしろいし聴いていて楽しいのだが、バレエとしてはまったく印象に残らない不思議な作品だ(だから歴史に埋もれたのかも)。
上野だからかも知れないがこちらも舞台装置も良かった。
非常に重要な理由でクライアントからのファイルアップロードに介入しなければならないので、普通にinput type="file"とJavaScriptとかではどうにもならない。
でもイントラネットだから、input type="file"もどきのコントロールを作ってブラウザを拡張すれば良いだろうとはすぐに思いつく。おれおれ証明書とおれおれ認証局とかが使えるから署名もできる。
ところがいざ実際にやってみようとすると、これがとても厄介で、Java Appletで決まりだろうと思うと、素のXPとかあって当然のようにSunのJVMは入っていなくてだめとか。では、ActiveXだとやってまあとりあえずはOKだ。しかしこんだ、良くわからない理由でIE8で動かないことが判明(前提環境はIE6とIE7なのでしばらくはOKではあるけれど)。
しかも症状も1つではない。Windows 2008 ServerのIE8だとHTMLコントロールでイベントが取れない(OnClick(IDispatch*)が呼ばれない)とか、XPでは、OnClickは呼ばれてもfopenで失敗するとか、いろいろだ。いずれにしても、インスタンス化はできていて、JavaScriptからの設定とかはできている状態なのだが。
で、IE8が入っている場合はJVMを前提としてJava Appletを返して(あるいは.NET2くらいを前提とするというのもありかも)、そうでなければActiveXコントロールを返すとかではどうだろうか、とか考えてみたりするのだが、いずれにしても厄介極まりない。
咳さんが貼っている本がおもしろそうだ。でもなんとなく英語の勉強を兼ねて原書のほうを眺めようかと思ってしらべる。
Distributed Systems: Principles and Paradigms(Tanenbaum, Andrew S.)
うひょー10000円越えるのかと思ったらハードカバーだから、探したらちゃんとペーパーバックがあって(Pearson Education (US); 2nd International edition版 (2008/4/10)と書いてあるから第2版だろう)
Distributed Systems: Principles and Paradigms(Tanenbaum, Andrew S. 1944-)
ふむまあしょうがないかなと思ったら、翻訳のほうが安いという逆転現象。
素直に翻訳を買えということか?
ひさびさにマラバールへ行ったら、廃業してた。14年間のご愛顧がどうしたと書いてあるとこみると、ちょうど開店したてのころから通っていたらしい。
Oracle11の話だが、次のようなスクリプトを組んでsqlplusで実行したとする。
やりたいことは、table_aを空っぽにしてから大量にインサートすると、インデックスを張ったままだとばかばかしく時間がかかるので、インサート前に空にして、インデックスも消しておこうということだ。
truncate table_a; drop index table_a_index0; drop index table_a_index1; drop index table_a_index2; insert into table_a select ...; create index table_a_index0 on table_a (colx); create index table_a_index1 on table_a (coly); create index table_a_index2 on table_a (colz);
すると、drop indexが、すべてno wait指定だからビジーでエラーだよ、として弾かれる(ことがある)。
というわけで、truncateをdrop indexより後にしたのだが、sqlplusで何か投げるとすべて同期的な処理(RDBMSとの確定応答方式というか)だと考えていたので、ちょっと意外だった(もっとも、最初にインデックスをドロップしてからトランケートするほうが得な可能性があるから、いずれにしろ、あまり良い順番ではなかったとは言える)。
いろんなお稲荷さんがあって、味噌カツを乗せたのとか。うなぎやさんに行くとうなぎが乗っていたり。
というのを、昼飯食ってる店のテレビで流れてた。
参道のどの店でもお稲荷を出す。
ということは、もしかすると、土用の丑のうなぎのようなもので、次のようなやり取りが江戸時代にでもあったのではないかと想像する。
「お前さん、今度、店出すんだってね」
「おう。油揚げを甘辛く煮て開いて、酢飯を包む、江戸風の寿司だ」
「け、そんなもの、誰が食うんだってんだ」
「江戸から来たおのぼりさんが食うだろう」
「やつらは伊勢へは行っても、こっちにゃこないよ」
「な、なんと!」
「そうだ、おいらに考えがある。油揚げは狐みたいな色だし、油っぽいから狐も食うだろう」
「狐が油っぽいもの食うって本当か?」
「おい、お前さんが疑っては話しにならない。で、看板に「お稲荷さんも大好きな稲荷寿司」って書きゃいいわけよ」
「稲荷寿司ってなんだ?」
「その、今、お前さんがこしらえている油揚げの中に酢飯を突っ込んだきんたまぶくろみたいなやつに決まってんだろ」
「ふーむ、それで売れるかな? まあ、やってみっか」
そして、今では誰でもお稲荷さんを知っているのであった。
ちょっとおもしろかったのでメモ。
なんらかの方法で作ったコレクションの各要素に対して処理を実行するのだが、うまくいかない要素もある。そういう要素を別のコレクションに入れておいて、後から別の方法で処理する。この処理は最初の処理と違って処理のためのリソースの取得に無闇と時間がかかる。しかもリソースが利用できるものかどうかは、実際に処理してみないとわからない。その判断にもえらく時間がかかる。そこで、1つ前の要素と同じリソースが利用できるときにはそれを利用するようにしてちょっとした高速化を考える。しかし遅い。
2nd_collection = [] org_collection.each do |e| unless proc(e) 2nd_collection << e end end prior_resource = nil prior_elem = nil 2nd_collection.each do |e| if e.same_type(prior_elem) unless proc2(e, prior_resource) error_proc(e) end else prior_elem = e resource = search_resource(e) next unless resource unless proc2(e, resource) error_proc(e) else prior_resource = resource end end end
あ、Rubyで書いたらすぐバグがわかる(そこまでひどくないのでちょっと直した)。が、それは良いとして、遅いのは当然で、最初の処理用の並び順は、次の処理の並び順にとってはでたらめも良いところだからだ。
そこで次のように直した。
2nd_collection.sort do |x, y| # for 2nd loop end.each do |e|
すると猛烈な速度で終わるようになった。しかし、処理結果はえらくでたらめなものとなりましたとさ。
というバグの発現の仕方がおもしろかったのだった。
誰かがアフィ経由で注文してくれたんだけど(ありがとう)、なんかすごく面白そうだ。
The Shellcoder's Handbook: Discovering and Exploiting Security Holes(Anley, Chris)
後で注文する。
なんとなくリブロで平積みになっていたから買って読んだ。
もしかしたら帯の惹句の「魂と引き換えに描いているとしか思えない』に心躍らされたのかも知れない。そんなものはめったにないからなぁ。
で、実に気分が悪くなった。ロードムービーによくあることだが、見事に典型的人物が次々と出現してくるのは劇的構成力のうまさで、それだけきちんと虚構世界を構築しているのにも係らず、妙なリアリティつまり説得力があるからだ。不快きわまりない世界である。
読み始めたものはしょうがないので読み進めていくと、とりあえず上巻の最後、主人公のうちの一人(人を殺したほう)の夫にあたる女性の両親のくだりで心が慰められたのであるが、ふと待てよ、と気づく。
そこで親父のほうが「よその男とつくった孫よりオレと母ちゃんでつくったお前のほーが可愛いからよ!!」と電話で言うわけだが(そしてその親父の言うことがおれでもそう言うだろうなという強烈なリアリティがあるわけだが)、その感覚を心の底から共有(というか体感)するには、子供をつくっていろいろな目にあう必要がありそうな気がする。が、作者が22歳だということを考えるとそういうこともなさそうだ(マンガの場合、編集者が補助するということだが、そこまで介入しているかな? とりあえず無いものと仮定する)。
とすれば、このセリフをどのようにして作家は生み出したのだろうか?
という疑問が湧く。というように考えると、子供の立場として親に言って欲しいセリフを創造したのだろうと推測できる。とすれば、世の中はある程度うまく回っているのかも知れない(うまく回っていないのが主人公のうち殺しを依頼したほうなわけだが、そうは言っても多少の救いがあるからこそ物語も生まれているわけだが)。
なるほど、早熟(サガンに対して使われた意味での)というのは登場人物の心理的動機に対する的確さを指す言葉なのだな。と、突然納得したり。
(setq haskell-program-name "c:/progra~1/haskel~1/2…/bin/ghci.exe")
ショートネームを使えば済む話しだった。
土曜、日曜とムッサンとジローのを観てきた。
後で書く。こないだ、テレビでペトルーシュカを演じていたパンジャマン・ペッシュは何かを痛めたとかで2日続けてバレエ教師はエイマン。どうも昨日と同じ人に見えるけどと思ったら、本当に同じ人だった。
著者の橋本さんからJRuby on Railsシステム構築入門を頂きました(謝辞のところを見ると僕の名前が出ているので、まあそういうことです)。
JRuby on Railsシステム構築入門 (DB Magazine SELECTION)(橋本 吉治)
この本は、チュートリアル形式による、JRuby on Railsの解説書です。
題材は蔵書管理アプリケーションで、蔵書の書影のドラッグアンドドロップで状態を変えるUIを使うところが見た目上のミソになっています。が、本書の特徴は後半からでしょう(前半はActiveRecoredの説明が詳しい)。
たとえば、第9章は「Railsにおける他システム連携」で、バッチ連携(ファイル連携とDB連携)の説明から、リアルタイム連携に進んで、リアルタイム連携を同期型で実現する方法(内部はRPC形式としてCORBAからSOAPまでと、リソース指向としてREST)、非同期型としてMOM連携までの各アーキテクチャの図説と、ではRailsではどれが向いているのか(当然、バッチ連携はここで落ちることになる)といった内容となっています。
そこから先の章では、10章がEJBとの連携(別に存在するアプリケーションサーバへJRuby on Railsからインタラクトする)、11章がSOAPとMOMを利用したアプリケーションサーバ連携、12章がRESTfulサービスとしてJRuby on Railsを構成してクライアントと連携する方法、13章がデプロイ方法でwarblerを利用したwarの作成方法がメインのトピックといった具合です。
また、本書の特徴として、開発の部分(サンプルプログラムの実行ということになる)がNetBeansで行われていることが挙げられます。
本書の対象読者は、帯の「既存のJava資産を活かしながら企業システムの開発でRailsを使おう!」に端的に示されていますが、SIerや企業情報システム部門のアーキテクチャ決定者、システムの仕様検討者が主となると思います(DBもOracleを利用するように書かれています)。
というのは多くの説明に図を使うことで、JRuby on Railsがどういう仕組みでどうシステムに組み込まれるのかがわかりやすく説明されているからです。すいすい読めて、ああ、こういうものなのか、と理解するのは容易です。逆に、本書を片手にバリバリ実装できるかというと詳細のところでちょっと困るかも知れません(が、Javaの既存資産とインタラクトすれば良いから問題ないという言い方もできそう)。
そのほかGAE/Jについてもちょっと触れていたり(ちょっとの先の部分は参考文献へ飛ぶことになるが、参考文献の1/3はURLなところが現実的な感じがする。本が62冊並んでいても、本書のターゲット読者がそれをすべて参照するのは無理だろう)目配せもきいています。
あと、ちょっとびっくりというか、2ページに及ぶ推薦の言葉を書いているのが、Thomas E. Enebo。お前、読まずに推薦しているだろうとは思うけれど(そこは素直に、Rubyは良い言語で、JRubyは本当におもしろいから、みんなばりばり使ってくれよ、こういう本が出るのは良いことだ、という書き方をしている)、JRubyチームのThomasとしては、JRubyを使え本は、そりゃ推薦の対象となるだろうな。
おもしろいのは良いが、なぜだ? Float problem
irb# VERSION => "1.8.6" RUBY_RELEASE_DATE => "2007-09-24" RUBY_PLATFORM => "i486-linux" 1.1.to_s => "1.1" require 'rubygems' require 'rjb' => true 1.1.to_s => "1.1" Rjb::import("java.io.FileNotFoundException") 1.1.to_s => "1.1" Rjb::import("Java.io.FileNotFoundExecption") 1.1.to_s => "1,1"
2回importしているのが原因か、というより先にJavaはよいとして、Ruby1.8のFloat#to_sはロケールを意識しているんだっけ?
I'm on a French linux, and in french we puts comma to split decimal.
でも、最初のFloat#to_sはデシマルポイントは'.'なんだよな。
import2回ではなく(それはコピペミス)、JVMがロードされるとロケールが変わるということなのかなぁ。
Javaの良いところは、String#substring, split, replace, +, +=, equalsだけ知っていれば処理時間がグレートなコードが書けることだ。
たとえばこんなやつ。
FileReader fr = new FileReader("many-lines-file.txt"); BufferedReader br = new BufferedReader(fr); String lines = ""; String line; int count = 0; while ((line = br.readLine()) != null) { for (int i = 0; i < line.length(); i++) { if (" ".equals(line.substring(i, i + 1)) { line = line.replace(" ", "0"); } } lines += line + ","; count += 1; } String[] data = lines.split(","); for (int i = 0; i < count; i++) { // }
こんな感じ。もっと処理時間をグレートにするにはどうすればよいだろうか?
美少女が成熟すると、美熟女になるかというと、そんなこたなさそうだ。
というよりも、別の生き物のように思える。
もしそうだとしたら、若い美熟女は何なのだろ? 老けた美少女はどう形容されるのだろう?
ノックの音がした。
ルートヴィッヒが次のコンサートのためのオリジナル曲に頭を悩めているときだった。
「メルツェル君か?」といつもの陽気な調子で(そう、彼は大方のイメージと異なり、実に気さくでご機嫌なやつだった)声をかけた。とはいえ、最近では耳の調子が悪いので、何か聞こえたようだが、良くわからなかった。
面倒なので続けて言った。
「鍵は開いてるぜ。入ってこいよ」
するとぽこぽーんと音がして、茶色い小さいなにかが入ってきた。
「誰だい、君は?」
ルートヴィッヒが目をまるくすると、相手も負けずと目を丸くした。
セロひきのゴーシュ-宮沢賢治童話集4-(新装版) (講談社青い鳥文庫)(宮沢 賢治)
「楽聖のおっさん、おいらはタヌキの子供だい、ぽこぽーん。おじさんがどんな病気でも治すと聞きつけてはるばる東の島国からやってきたんだぞ、ぽこぽーん」
「はて、おれは医者じゃないし、この頃はまだ樂聖なんてすごい呼ばれ方はしてないはずだが」
「樂聖じゃないやい、楽聖だい!」
と、タヌキの子供はばちを振り上げて文句を言った。
「まあ、いいや。で、おれがどうやって君のことを治すのか?」
「もちろん、音楽に決まってんだろ。ネコもコリスもクマさんも、森の音楽家はみんな、おじさんの家の煙突から忍び込んでピアノの音を聞いて治すんだぞ。知らなかったのか、えっへん」
「なんか、良くわからないが、頭のお医者に行ったらどうだ?」
と、つい胡椒のきいた料理を出すルートヴィッヒ。
「そういうのはカイン・スターリンに任せときなよ、おっさんのガラじゃないぞ、ぽこぽーん。というわけでお腹が痛くて死にそうなんだ。さっさと聞かせろ」
「ひでぇ言いようだが、見れば子供のうえにケモノみたいだからしょうがねぇな。まあいいか」
そこでルートヴィッヒはピアノの前に腰掛けると、しかかり中の交響曲の第1楽章、第1主題を弾きだした。
ぱぱぱん、ぱぱぱん、ぱぱぱん、ぱぱーぱぱーぱぱぱん、ぱぱぱぱんぱんぱんぱんぱー
「やめてくれよ、おっさん、却って痛くなってきたよ」
「うむ、実はおれもそう思ってた」
と、図星をさされてルートヴィッヒはあわてて2楽章のほうに切り替えた。
パッパパパパパパパパパパ、パパパパパパパパパン、わりとノリノリだ。
「うーん、おっさん、悪かぁないがよくもない。それに病気の子供にはテンポが速すぎる」
「まあ、リズム楽章だしな。では、とっておきのスィートでメローなパラダイスに招待してやろう」
と、3楽章。
ぱーぱーぱーぱーぱーぱーぱー
「ぐがー」
子ダヌキはいびきをかいて寝てしまった。
「まあ、寝ればたいていの病気は治るから良しとするか」
ルートヴィッヒは一人合点すると、ピアノから離れた。すると、子ダヌキ、目をぱちっと開いて、キーキー声で文句をたれた。
「だめだい、おっさん。眠くなるだけでおなかが痛いのはまったくもって帆立貝だ。」
「うむ……」
ルートヴィッヒは困った。実は彼はこのあとをどうすればよいか、見当もついていなかったのだ。
「おじさま、お願いですよ。おなかが痛くて死にそうなんですよ」
と、子だぬきは余程具合が悪いのか態度をあらためて懇願する。
どうにかしてやりたいなぁと苦悩しながら(おかげで眉間に皺が出るようになったのは秘密だ)、窓をふと見ると、空は青く、白は雲い。抜けるような美しさに心は踊り、しかし目の前で病苦にあえぐ子ダヌキの腹鼓を聴かされると、どうにかしてやりたい。なんの勘違いか自分を樂聖とまで言ってくれたし、しかも心の底から、このおれに人生の痛苦から解放させる力があると信じ込んでいるではないか。
そのとき、自然と歌が出た。
フロード、フロード、
「はい? 僕は友達ですか?」
と、子ダヌキが顔を上げると、そこに見たのは、ルートヴィッヒがシラーの詩に即興のメロディーをつけてラップする姿だった。
うーれしーな、神様たちが花火をばんばんやってるぜ。
火事だ火事だ、魔力を集めて立ち向かえ、そら、四方の海から乞食王子がやってくる、おれたちブラザー、翼にのって、全世界に10の投げキッス!
「おっさん、、おいら治った」
子ダヌキは失われていたパワーが全身を駆け巡る衝撃にぽんぽこしながら、バチを背中から取り出すと、勢い良く太鼓を叩いた。
このジャムセッションの録音が残っていないのはかえすがえすも残念だが、この後ルートヴィッヒは子ダヌキに否定された3つの楽章を前座にした合唱つきの交響曲をまとめ、その音楽は年末になると今は亡き子ダヌキに対する哀悼のためか、日本中で鳴り響くのであった。
(アバードにもオリジナルを聴かせてやりたいよ)
libffiは、3.0.9ではMSWin32をサポートしていない。
configureもないし、というかautotoolsもないからビルド環境の追随も大変だ。I was sick of maintaining patches
というわけで、libffi-msvcはGoogleコードにある(Githubじゃないのな)。 でもRubyとしては欲しい。おれも欲しい。
そこでとりあえずVC++6でGooglecodeのやつをビルドしてテストしてみる。nawkが同梱されているのでnmake -f makefile.vcするまでの話は簡単。
しかし、結構failした。
Failed Tests cls_12byte.c cls_16byte.c cls_18byte.c cls_19byte.c cls_20byte.c cls_20byte1.c cls_24byte.c cls_3_1byte.c cls_5byte.c cls_5_1_byte.c cls_64byte.c cls_6byte.c cls_6_1_byte.c cls_7_1_byte.c cls_9byte1.c cls_9byte2.c cls_align_double.c cls_align_float.c cls_align_longdouble.c cls_align_longdouble_split.c cls_align_longdouble_split2.c cls_align_sint16.c cls_align_sint32.c cls_align_uint16.c cls_align_uint32.c err_bad_typedef.c nested_struct.c nested_struct1.c nested_struct2.c nested_struct4.c nested_struct5.c nested_struct6.c problem1.c stret_large.c stret_large2.c stret_medium.c
というところで今日は時間切れ。
このディレクティブはVC6SP6からのサポート。
VC9同梱のml.exeが生成したバイナリはVC6のlinkでは扱えない。LNK1000 unknown errorになる。
VC8(2005)用ならOK。
プログラミング言語ML (ASCII SOFTWARE SCIENCE Language)(ジェフリー・D. ウルマン)
ml.exeはこれではない。
とりあえず死んだ12バイト構造体の値渡しだがフレームを破壊しているためにexitを呼ぼうとして死んだ(アサートのprintは正しい出力)ってことはわかったがそこまで。
背広に袖を通すと、子供が小さかった頃のことを思い出す。
勤め先に行くときにスーツを着て行く必要がなくなった月曜日、いつものかっこうで家を出ようとしたら、子供がにこにこしながら着いてくる。はて、と思いながら抱っこしておろして、さて玄関のドアに手をかけたら泣き出した。
困った。
後になって妻と、どうやら、スーツを着て出て行く=連れてってもらえない、スーツを着ないで出て行く=一緒に遊びに行く という公式を頭の中に持っていて、一緒に遊びに行くと思ってにこにこしていたら一人で出かけようとしたので泣いたのではないか、と結論した。
もし、もっと小さい頃なら、そこまで頭が回らないだろうから、別に泣くこともなく、もっと大きければスーツを着て行かないようになったと知っているから泣かないだろう。
というわけで、まさにそういう貴重な経験ができるときに、それが起きたのだった。そういう小さな偶然の組み合わせが大きな思い出になるということが、どうにも楽しい。
_ ムムリク [いい話です。]
ちょっとしたことで、rownumを使うかrowidを使うかで議論になって、結局はrownum派の勘違いで実はrowidを使うべきという結論となった。
というのは、どうでも良いのだが、その過程でrownumについて、OracleがOTNのそこかしこで、where rownum > 1というのを書くなという注釈を入れまくっていることに気づいて、ちょっと不思議になった。
rownumというのは、Oracleの場合、フェッチしてきたロウに振られる1からの連番で擬似カラムということになる。
rubyの、each_with_indexみたいなものだ。
で、とにかくそこら中に「where rownum > 1」は間違いだからそう書きたければこう書けという注釈を入れている。そういうコラムまである。
そんなにいっぱい注釈が必要なくらい、みんながみんな間違えるということを知っているのなら、なぜ振る舞いを直さないのか? と、とても不思議になる。
それはそれとして、そのバグはおもしろい。
同じことをrubyでできないか考えてみる。
Rubyでリストのフェッチ時にフィルタを入れるには、Enumerable#selectを使うことになるから、ここではselect_with_indexというメソッドを考えることにする。
かつ、以下のように振舞う必要がある。
a = [1, 2, 3, 4].select_with_index do |e, i| i > 1 end p a #=> []したがって、次のようには実装できない。
module Enumerable def select_with_index ret = [] self.each_with_index do |e, i| if yield(e, i + 1) # +1は不要かも 0オリジンでいいよな ret << e end end ret end end
これをOracleのrownumと同様にするには、以下のようにすれば良いのか。
module Enumerable def select_with_index # oracle's rownum type ret = [] self.each do |e| if yield(e, ret.size + 1) # +1は不要かも 0オリジンでいいよな ret << e end end ret end end
簡単に実装できるが、何の役に立つかな?
新国立劇場で神々の黄昏。オーケストラピットからハープが4本突き出しているのでヴァーグナーと知り。
ジークフリートのときは、ずいぶん声を震わせて歌うなぁ=好きじゃないなと思っていた、ブリュンヒルデの人が素晴らしい好演。
まるまるとしたジークフリートとブリュンヒルデがトレーナー&トレパン姿で「そなたの愛を忘れぬことこそ、それがしがしかと学びしこと」とか対訳付きで歌うのはやはりおもしろい。おれは好きだな。
それはそれとして、今日観ていて、つくづくバランスが悪い劇だと1幕目のヴァルトラウテがブリュンヒルデに面会に来るところで思った。2時間越えるといくら新国立劇場の椅子が他よりもよくても、前の席との空間が取られていても、やはり尻が痛くなってくる。ノルン、岩山の洞窟、ライン下り、ギビッヒの陰謀までは良いのだが、その後も延々と続く(ジークフリートだけは軽いノリで「ではそれがしが、ひとっぱしりかっさらってくるでござる」とか歌うのが表面的にはバカ丸出しでおもしろいのだが)ので1幕目は長すぎる。
それに比べて第3幕は本当に見事で、1時間30分という現在の映画とかでも利用されているきりの良い時間の中に、ライン乙女とジークフリートのかけあい漫才、ギビッヒ族との酒場放談+唄語り、殺人、感動的な死(ここでのジークフリートの世界挨拶の再現というのは思わず涙が出そうなくらい感動的だ)と葬送行進曲(メルクルNHKもえらく良かったけど、今度のオーケストラも実に良かった。見直した)、専業主婦の一人家庭を守る恐怖感と、遺産相続を巡る家族不和、突然悟って歌いまくるブリュンヒルデの自己犠牲、自然に返って良かったねと、実にいろいろな要素を散りばめているし、オーケストレーションは手練の技だし、確かに「もう書くこたないよ」と最後にわざわざメモを残したというだけのことはある。で、これが実に良い演奏。オペラハウスがある国の国民でよかったと感じるわけである。
しかし、結局のところヴォータンの目は、フリッカのために捨てたのか(ラインの黄金ではそんなことを言っていたような記憶がある)、それとも知恵を得るためなのか(ノルンはそう断言しているし)、どうしてハーゲンはジークフリートがラインを下ってくると知っていたのか(この演出では、月間ドイツの英雄という雑誌(だと思う)を読んでいるから、おそらくそれのゴシップ欄にでも出ているのだろうが(ジークフリートもさすがに気づいてハーゲンに「なんでおいらの名前を知ってんだ?」と訊くセリフをワーグナー自身が思わず自己ツッコミ的に入れているわけだし)、雑誌は病院の待合室に置いてあるってことは、グートルーネは少なくとも読んでいそうだし、もしそうなら、ジークフリートが既婚者だということも知っているんじゃなかろうか)とか、ジークフリートと鳥はどういう関係なのかとか(船の中で抱き合っているわけだし)、女と喋るようになったら鳥の声は聞かなくなったとかいろいろ意味深だったり、使い方は知らないうえに指にもはめていなかったのに、なぜジークフリートはニーベルンゲンを支配できているのか(おそらくそのために月間ドイツの英雄に記事が出ている(ニーベルンゲンの取材者がいるのだと推測できる)のだろう)とか、実にいい加減な台本でおもしろい。
外国人の親子が会話しているのを小耳に挟んだ(と仮定する)。
「小僧、腹減ったからソバでも食いに行くか。それともウドンにするか? ラーメンでもいいぞ」
「親父、ソバとかウドンとか今は言わないんだ。麺類と言えよこのバカ」
「それじゃあ区別がつかんじゃないか」
「でも本場の日本人は麺類と言うんだ、テレビでそう言っていたんだから間違いないんだ」
というような話なのか? どっちも正しいから単なる使い分けの問題に過ぎないと思うけど。(米の飯じゃなくて)麺類を食いたいと総称でいうときもあるし、細分していうときもあるからなぁ。
ま、おれはスパゲッティーニとスパゲッティは区別しているけどな。
ディ・チェコ No.11 スパゲティーニ 3kg [並行輸入品](-)
む、今気づいたが、アマゾンはスパゲッティのこともスパゲッティーニと表記しているが、これはバカグだな。
(これは実際はスパゲッティ)
B0031NEGH6
(こっちは本当にスパゲッティーニ)
ペンネも好きだよ。
どちらかというと、10割ソバも3割ソバも区別なくソバと呼んでいたら、ある日、トンチンカンなシッタカブーリやシッタカブリーニがやってきて、「ソバと小麦粉を練ったもの」と呼べと言い出したというのに近い? まあ、確かに総称すれば蕎麦掻(すげえ、一発変換した)も仲間に入れられるから、それはそれでOKだと思うが。
ちなみに、おれはシッタカブリーノで妻はシッタカブリーナ、子供はシッタカブリニーナ、お釈迦様はシッタルーダだ。
イタリア万歳!
携帯で飛ばし読みしていたネタってのが元にあったのか、パスタの話。
ってことは、こういう歴史の物語なのだな。以下はおれが自分で食ったり買ったりした記憶からの歴史。食い物屋や食材屋には別の観点があるだろう。
60年代には、スパゲッティ(ウドンを実は含む)とマカロニの2種類しかなく、かつスパゲッティにはミートソースというケチャップと挽肉のソースをかけたやつと、ナポリタンというケチャップとたまねぎの細切り炒めをからめたやつの2種類、マカロニにはホワイトソースを使ったグラタン(オーブンで最後に焼くやつ)しか(一般論、たとえばデパートのレストラン――ってものが今じゃ姿を消したような気がする)世の中では認知されていなかった。学校給食のスパゲッティってのはうどんだったな(うどんにケチャップをまぶせばスパゲッティというロジック)。しかし、オーマイがデューラムセモリナを使うのが本物だと言い出したのは、60年代末の頃だったような記憶がある。で、70年代に続く。(追記:思い出したが、ミートソースはナポリタンより遅れて輸入された。炒め物ものほうが料理が簡単だからだろう。最初にミートソースを食ったのは忘れもしない1969年の夏に、八王子のサマーランドの食堂でのことだが、それより前にはデパートの食堂でもスパゲッティはナポリタンしかなかったような。)
70年代に国内ではトラック輸送による流通革命とか、海外とは1ドル=360円縛りが完全に解消されて、海外に出かけるのも輸入することも普通になって、上で書いたようなことは変だという認識が広まった(というか、ケチャップというマジックワードが出てくることから想像できるように、上の3つの食い物がそもそもアメリカ経由で渡来した食い物)。ヨーロッパとの2回目の出会いである。この頃から、明治屋とか紀ノ国屋とかだとラザニアとかが普通に手に入るようになったはず。この頃になると、スパゲッティ1つとっても山のようなメニューが作れることが理解されるようになって、街にスパゲッティ屋がやってきた(壁の穴とか)。ちょうどソバ屋に行けばキツネもあれば力もあれば、カレーもあるでよ状態。納豆と海苔とか、メンタイコとかの和風ネタスパゲッティも登場してくる。もちろん、ボンゴレビアンコだとか、娼婦風とかも入ってきた。スパゲッティ専門店ではミートソースではなくボローニャ風という呼び方もするようになったのはこの頃から(しかしミートソースという呼び方もまだ根強い)。ブィトーニの進出もこの頃かな。デューラムセモリナは前提となった。しかし、肝心のアルデンテはまだまだ認知されていない状態。おそらくこの時代にアルデンテで出せば、この店じゃ生煮えを食わせようとしたばかやろう茹で直せクレーマーが続出したであろう。また、ハーブはきちんと認知されていないため、ジェノバ風はもう少し待つ必要があったと思う。
で、80年代に(もうちょっと早いと思うけど、おれの認識上)、イタトマ(こいつは広尾かな? 六本木が最初の店かも)とかボエム(こいつは代官山でよいのかな、原宿にもあったはず)とかが、イタ飯を食わせるようになって(ということは客単価1000円程度の店にそういうメニューがやって来たということ)、いよいよパスタという言葉が登場。つまり、メニューの中に、各種スパゲッティ、スパゲッテーニ、ラザーニアとかを集めた「パスタ」というカテゴリが登場した。アルデンテで食うのも普通のこととなった。もし、この頃、アメリカでもヤッピー文化の一端としてパスタ文化が入ったとしたら、アメリカ→日本の流れではなく、イタリア(の食品企業)が積極的に輸出攻勢をかけたと見るべきかも。パスタを尖兵にすれば、オリーブ油(実も)、ハーブ、調味料(ソースとか)、名前忘れたけどベーコンとハムの合いの子のようなやつなども一緒に売れるはずだ。さらに思い出したが、この頃、金がないからディチェコのスパゲッティを山ほど買い込んで、しょっちゅう娼婦風を作っては妻と2人で食っていた。作るのは簡単で材料も安いからね。そしたら、ある日、ジョン・ウォーターズの映画を観ていたら、金がないから毎日スパゲッティのようなセリフが出てきて苦笑したり。
おそらく、このときに、一部の間抜けな連中がパスタというカテゴリをスパゲッティを使った料理と誤認識したのだろう。で、その間抜けが「おっさん=スパゲッティ、若者=パスタ」と無知をさらしたのじゃなかろうか。でも書いて気づいたが、80年代って30年も前の話じゃん。その間に言葉が変質したのかなぁ。
っていうか、そんな誤解をしているやつは見たことないけどな。パスタはカテゴリで、スパゲッティは麺の種類だ。ただし、逆に老人(70以上)で、スパゲッティを総称で使う人は存在するかも知れない(ってのは、60年代においてはイタリア料理=ナポリタンまたはミートソースでほぼ100%だから。マカロニグラタンは手がかかる分だけ家庭料理には進出しなかった)。
しかし、アメリカの食文化輸入のせいで、60年代に新鮮なボンゴレビアンコが食えなかったのはかえすがえすも残念だ(スパゲッティでそういう料理ができるという発想が家庭になかった)。60年代には幕張(船橋かも)あたりに潮干狩りに行って、山のようにアサリを取って来たもんだけどな。もっとイタリアとは仲良くしといてもらいたかったものだ。
で、思い出したが、スパゲッティ=壁の穴(== アルデンテの麺を出さない)という公式があって、それに対してパスタ=イタ飯屋(==まともな麺料理を出す)というのが80年代後半には定着してたよ。
したがって、その時点の感覚で、イタリアの麺料理を食いに行くことを「スパゲッティ食いに行く」=70年代の感覚、「パスタ食いに行く」=80年代の感覚ってのが、確かにあった。
その感覚が、どこかで短絡したのか、あるいは上の飯屋のカテゴリを指しているのに、食い物そのものと読み間違えているのか、どちらかだと思うな。
似たようなのに、カレーとカリーってのもあったような気がする(が、今ではインドを食いに行く(いわゆるカレーは食わないし)と表現するのでどうでも良い)。
おれ、この言い回し好きなんだが、大正は遠くになりにけりだよなぁ。
(大正〜昭和モダン時代には、「脱帽」の意味で「こいつはシャッポだ(あるいは、シャポウだ)」と表現することが広く、浅草界隈では使われた。
と思ってグーグルで検索しても出てこない。
「これにはシャッポだ」だった。
そこで疑問なのだが、もし大正〜昭和モダン時代の文化人たちがヨーロッパよりもアメリカ(イギリス含む)を向いていたら、「こいつはキャップだ」とか「これにはハットだ」とか書いたり言ったりしただろうか? いわねぇよ。本当に英語ってのはばばっちい言葉だよな。
と書いて、「ばばっちい」の「ばば」って、ババ(東京では使わないが大便のことを指す言葉だということは知っている)なのかな。きっとそうだ。ってことは、ばばという言葉を東京では使わないが、ばばっちいという言葉は東京でも使うから(ここ数十年で田舎から来た人たちのことは知らんが)へんなとこで組み込まれたのだな。おもしれぇ。
ミカドがどうしたとか以前読んだときは別段感心もしなかったが、どうやら大した論客らしい。
おそらく、大宅壮一のエピゴーネンなんだろうから、そんなに凄腕なら、今度は反対派の立場にたってやってもらえばいいんじゃないかなぁ。ジャーナリストであるならば、いかなる立場にたっても論説をぶてるはずだ。というか、それができてこそのプロフェッショナルなジャーナリストなわけだし。
すさまじくおもしろそうな題材、見事な着眼点、それなりの取材(と思える)、にもかかわらず、読んでいて退屈で死にたくなるほど凡庸な作品。技術だけというのは、こういうことなのかなという意味ですごく参考にはなる。っていうか、結局重要なのはソウルなのかも、とかいう方向に考えさせられてしまうという意味では傑作かな。
ジェズイットを見習え |
_ bleis-tift [プログラマのためのSQL第二版のP.216によると、 「ソートキーがNULLのときには、非NULLよりも大きいか小さ..]
_ arton [なんと、実装依存だとは(上のはOracle11)。どうもありがとうございます。]