著作一覧 |
同梱しているStar Rubyを0.3.1-win32 に更新しました。
md5checksum: 893f54c766cb9369b4030ac4873fd05
インストール後、デスクトップのruby consoleを起動して、
>cd %TEMP% >star http://arton.no-ip.info/data/test/star/sprites.rbで星がわさわさするウィンドウが表示できたり、
>star http://arton.no-ip.info/data/test/star/geometry.rbで、なんかRubyの原石が出てくればインストール成功です。
新国立劇場でトゥーランドットの新演出。
幕が開く前から煙がもくもくしていて朝ぼらけの薄明かりの中を自転車が走ってくる。
ん? と思う間もなく屋台やらソフトをかぶった紳士やガルボ風な淑女が集まってきて、これはどこの1920年代か? と始まる。終始無音。そこに中国風の道化達があらわれて、人々に仮面をつけて物語の用意を始める。ドラゴンダンスや軽業、極彩色の舞台に変わる。
なんと奇をてらった演出と思わなくもなかったが、最後の最後にこの演出のうまさがわかる仕組みであった。
カフェの女給つまりメイドさんがリューになって、冥土に行ったあと、カーテンコールでメイドさんに戻って出てくるというのは意図しないジョークなんだろうか。
幕の終わりでも幕は降りず、かわりに舞台の中に作られた小屋(アルレッキーノ(カラフ)、コロンビーナ(トゥーランドット)、パリアッチョ(皇帝、というこたないけど))の扉が閉まる。舞台の中の舞台。
新国立劇場はバレエ団を持っているのだが、それがうまく利用できている。多少なりとも弛緩しそうな場面ではマイムや軽業が入るからだ。
首を失った王子たちが顔を描いた旗を持って行進。どう見てもチェゲバラです。
幕が開く前、ピットから下降音形が聴こえてきてやたらと耳に残り、そのため出だしの雑踏による混乱の箇所(さがれ犬ども)が妙に印象的だった。
金管は小屋の上に陣取っているため、やたらと響く。いつも思うが、新国立劇場の金管はすばらしい。そう考えると、これまで通ったやつ(リングにしろアイーダにしろ)、どれも金管が良く響く曲だったが、それを意識して曲を選んでいるのだろうか、そんなこたないか。
首切り役人が孫悟空のように飛んだり跳ねたりの大活躍。
現実的なピンポンパンの歌は何度聴いてもおもしろい。お姫さまのことを悪しざまにののしったり、まあ理不尽の犠牲者たちではある。
トゥーランドット役は、きれいな美人で、ブリュンヒルデもできそうだな、と思ったら、実際にブリュンヒルデを演じたこともある人だった。(ニルソンのトゥーランドットがあるそうだが、聴いてみたい)
それにしても物語の破綻ぶりは、カラフが正解したとたんの、トゥーランドットのうろたえっぷりによって示されているなぁ。それまでの掟をたてにとった暴虐ぶりからうってかわって、なしにしてくれという虫の良さはおとぎ話にしてもひどすぎる。2幕のコメディというのは1場だけではなく、ここまで含んでいるのではないか。
リューは、いかにもリューな日本の女性だが、(他の歌手の大きさと比べると、極端に)小柄なのによく歌っていて好印象。
それだけに、リューの葬送が終わったところで、プッチーニが続けられなくなったのがはっきりわかる。リューを入れたことで物語が完全に破綻してしまったのだから、自分で自分の首を絞めたということなのだろう。
この演出(アルファーノを利用している)はそれを強調して、あくまでも蛇足なのだとしているのだが、それは説得力がある。おそらく、蛇足とそれ以外をきれいに分離するために舞台の上の小屋というある意味ベリズモの原点に敬意を表するような形にしたのかも。
プッチーニ:トゥーランドット 全曲(デバルディ(レナータ))
デルモナコのカラフも聞いてみたいな。
しかし、ペンタトニックな金管の合奏であの詩だとどうしても東方紅を想起してしまうのだが、みんな同じ曲に感じてしまう不思議な音階だ。
プッチーニ トゥーランドット (オペラ対訳ライブラリー)(プッチーニ)
(これ、レビューを読むとスコアみたいだが、本当か?)
しまった。DVDのほうじゃなくて、これを買えば良かった。というか、このシリーズをDVD検索で見つけられないというのは問題だなぁ。まあ、覚えたからこのシリーズは少しずつ揃えることにする。
追記:こっちがスコアじゃん。アマゾンの表示方法がおかしい。
Turandot: Dramma Lirico in Tre Atti E Cinque Quadri (Ricordi Opera Full Scores)(Puccini, Giacomo)
どうも、同時に購入した人のレビューをごっちゃにして表示しているようだ。逆にスコアの解説が対訳本の解説になっているし。
さて、世界の測量を読了した。
世界の測量 ガウスとフンボルトの物語(ダニエル・ケールマン)
抜群におもしろいではないか。というか、ドイツ文学は今年で2冊目だ。といっても最初の1冊はオーストリーからオーストラリアへ向かった一家の子孫が書いた本だから、ドイツ文学というと違うだろうけど。ちなみに、本泥棒という本だ。
フンボルトとガウスがベルリンで出会い、写真撮影に失敗するところから物語ははじまる。
フンボルトってどこかで聞いたことがあると思ったら、フンボルトペンギンのフンボルトなのであった。というように南米を探検し、測量し、地球の底が熱の塊だということを調べた人だ。一方のガウスはガウスだ。この二人の人生が交互に書かれ、邂逅し、意識の流れが統合され、ガウスの息子に受け継がれて新大陸へ向かうところまでが語られる。実に巧妙な物語で、しかもおもしろい。
フンボルトが南米でアマゾンの源流に興味をかきたてられるきっかけとなるのが、狂気にかられ帝王を宣言し、どこかへ消え去ったアギーレだ。
そこで、はじめて、おれは、ヘルツォークという作家のことが少しだけ理解できた。
ヘルツォークは、信じがたい才能の持ちぬしで映画の世界のモーツァルトのようなファスビンダーと、信じがたい才能の持ち主だった(今はそうではないらしい)まるで映画の世界のヴァーグナーのようなジーバーベルグの間に挟まれて、凡庸な大口叩きとしか思っていなかったのだが。
短編は違うのだが、いくつもの短編は、他の作家とくらべて圧倒的に異質な世界があり、語り口が巧妙であり、弛緩がない。しかし、長編はどれひとつとしておもしろくなく、凡庸で、冗長で、退屈で、これっぽっちもひらめきのかけらもなく、映像には光も影もなく、どうしてこんな作家が好まれるのか不思議でならなかった。
人は作品に記憶を照射し、それを観るのだ。
ドイツ人がヘルツォークの南米を舞台にした作品を観るとき、それはフンボルトの栄光を観ていることに他ならないのだな、と気づいた。
そして、それは、世界の測量が2万部売れればベストセラーのドイツ文学界で120万部売れた(と後書きに書いてある)ということと繋がる。
かように、世界は線で結ばれている。
そして、今、フンボルトについての物語を得たおれが、たとえばアマゾンの奥地にオペラハウスを建てようと船で山を越えた男の映画のシーン、デッキシーン、トスカニーニのシーン、船のシーン、そういったものを思い出すと(思い出せるような絵は作れるのだから、無能な作家というわけではないよな)、それがいかに輝かしい映画なのか、それがどれだけ豊饒な映像体験なのか、よくわかるのだ。
ところで、なんで、たとえばリーマンの名前を出さなかったのかな? おそらく、読後のお楽しみとして、あのエピソードのあれはきっと誰(どこ、何)だよね、とか読者同士の話のネタ用にとっておいたのだろうな、という個所がいくつもあって、そのあたりの計算が、良き小説なのだろうと感心した。測量しながら書いたのだろう。
はじめて使った。
以下の状況。Windowsを利用しているので、出力とアプリケーションが利用するのは、encoding: cp932 な状況で、今、RSSを読む。するとRSSはutf-8でエンコードされている。
そのままの状態でRSS:Parserに食わせると、ASCII-8BITなのでたまたま文字コードの組み合わせによってCDATAセクションのおしりが見つからなくなりそこで異常終了する。
open-uriのopenに、r:utf-8と食わせると、そんなパラメータは知らないと怒り出す。短気なやつだ。(URI::HTTP resource is read only.)
はて?
というときに、読み込んだ文字列にforce_encodingを利用して、これはASCII-8BITではなく、utf-8だと教えてやると、後はうまく動く(表示するときは、encode('cp932', 'utf-8')が必要なのは当然)。
*** rubygems.rb~ Thu Sep 25 19:13:50 2008 --- rubygems.rb Sat Oct 04 02:44:39 2008 *************** module Gem *** 709,716 **** @gem_path.uniq! @gem_path.each do |path| ! if 0 == File.expand_path(path).index(Gem.user_home) and ! Etc.getpwuid.uid != File::Stat.new(Gem.user_home).uid then ! next # only create by matching user ! end ensure_gem_subdirectories path --- 709,718 ---- @gem_path.uniq! @gem_path.each do |path| ! # if 0 == File.expand_path(path).index(Gem.user_home) and ! # Etc.getpwuid.uid != File::Stat.new(Gem.user_home).uid then ! # next # only create by matching user ! # end ensure_gem_subdirectories pathRubyGemsのようにインフラなライブラリががシステム依存のライブラリを利用してはいかんだろうと強く思う。
世界の測量が楽しい理由の1つは、自分の知識との対話を楽しめるからかも知れない。まったく知らないことには未知のものを知る楽しさがあるわけだが、そればかりだと途方に暮れてしまう。
しかし、どうあっても家の主人に会わせようとしない家令を強引に説得して薄暗い部屋に入るとそこにとうに老境に入った男がいて、しかもどうも曖昧な状態にあると、そんな歴史的事実があるかどうかは全くの別問題として、これはカントだな、とぴぴんと来る、そういうおもしろさというのが、そこかしこにある。
その中にはカントのように名前が出てくるのもあれば、とっくの昔に気球に乗って(これも歴史的な事実とは思えないわけだが)ぴぴんとわかってしまった平行線がある点において交わるということをさも新発見かのように書いてきたロシアの数学者に対して、何も目新しいことは書いてないと返事を出したためにロシアでは嘘つき扱いされるという件のように名前が書かれていないところもある(第三者視点で意識の流れに近い書き方をしているので、ガウスがその名前を意識も記憶もしなかったということを表現した可能性が高い)。
フンボルトとポンプランの幻覚的な冒険の物語と、ドイツをあっちへいったりこっちへいったりしながら有名人に会っては考えてばかりいるガウスの物語が交互にあるのは、その2つの楽しみ、つまり未知のものを知る楽しみと、既知のものを新たな切り口から再発見する楽しみ、を味わえるように仕掛けたのだろう。
つまりフンボルトの地理的(幻想紀行的な)な冒険に対して、ガウスの冒険はあたかもその歴史的な役割から数学的発見の冒険のように見せかけて実際は歴史的(人文的な)な冒険を描いていると読める。
それがベストセラーとなりえた1つの仕掛けではないだろうか。つまり、文学の2つの主流を巧妙に融合させているということだ。(別の言い方をすると、ガウスについての数学的な読み物を期待すると裏切られるということだ)
以前モトローラのヘッドフォンを買ったのとは別に、もう1つBluetoothヘッドフォンが欲しくなった。
モトローラのはそれほど悪くはないのだが、2つ欠点がある。
1つは横向きに寝っ転がれないことだ。仰向けもちょっと辛い。
もう1つはペアリング可能なホストが1台だということだ。
今、おれが欲しいのはDELLのmini9用なのだ。Airとのペアリングを解除しても最初の問題があるし、どちらかというと音は悪くないのだからiTunesの曲もそれなりに入っているAirとのペアを解散させたくもない。
そこでビックカメラについでがあったので(エアコンのフィルタを買うという用事なのだ)、ちょっと見てみたら、Bluetoothのオーディオデバイスって全然なくて驚いた。こんなに普及していないのか。
で、あまり気はすすまなかったがSONYのやつを買ってみた。
SONY ワイヤレスオーディオレシーバー ベルベットブラック DRC-BT15P BI(-)
というか選択の余地がこれしかなかったのだ。でも、あまっているiPodのインナフォンを接続すれば良いから、最初の点はクリアできるし、どうも8台ほどペアリングできるらしいから2番目もクリアだ。
が、これが予想外に良いデバイスでちょっとSONYを見直した。もっとも来年の今頃にちょうどゴミになるのだろうけどなぁ。バッテリ内蔵だからぼろぼろにへたれてしまっているのが今から予見できるし。
とにかくノイズが少ないのだ。しかもほとんど途切れない(皆無というわけではない)。最初に手にしたMVPのおまけのぼろぼろぶり(ただしコードレスの良さは教えられたわけだからそれはそれで良い)はともかく、モトローラのやつもそれなりにノイズが入ったりするのだが、これはやたらとクリアだ。不思議だな。
というわけで、ちょっとだけ苦労したが、Rythmboxでインターネットラジオ(www.swissradio.ch)が快適に聴けているのであった。
それにしても、Bluetoothで音楽を聴くための日本語の情報の少なさは、1.誰も使っていない、2.BlueZのドキュメントが読みやすいので必要ない、のどちらか、あるいは両方なのだろう。
手抜きだが一応、書いておいた。
子供と石丸に寄ったら、突然、脳裏に歌が鳴ったので買ってしまった。
まあ、なんというか、完結記念ということで。
しかしなんというか、かんというか、子供と一緒に録画したアニメを観ていると、実際、観方が異なるのだよ。向こうは、ピンクの髪の小僧の死とかに一喜一憂しているわけだが、どうしてもこっちは、先生やバンダナあんちゃんの保護者視線になるよな(さすがに服部柊十郎ってこたないけど、ちょっと風魔は入るかも)。
まあ、悪くなかったというか、結構、好きだった。
上野に国立ソフィアのトゥーランドットを観に行って(たぶん、あとで書く。が、メモ。オーケストラは重厚で僕は好きなのだが、若々しいカラフがどうも違和感があって、なるほどイタリア人のテノールというのは(あまりよくない言葉)っぽいから、まさにカラフにうってつけなのだな、と得心したり、素直な良い演出で、しかし最後の最後でうーんこれはどうなんだろうと強い違和感を受けたり、というか幽霊ですかとか)、少し早かったので向いの美術館でヴィルヘルム・ハンマースホイの展覧会を見る。ああ、これはびっくりだ。
文化会館のテラスから眺めると不思議なポスターだったので興味を惹かれたのだが、まったく初見のデンマークの画家だった。明治-4ということは覚えているからつまり1864年生まれ。20で1884、30で1894、つまりその時代のヨーロッパのまっとうな画家なら誰もが意識した、世紀末芸術を担う人であったのだと思う。
そして、びっくりするほど、静かに感動的に世紀末芸術とはかくあるべきという世界がそこに収められていた。これはすごい。
世紀末芸術という言葉から、僕らはすぐにムンクであるとか、モローであるとか、装飾的な狂気と幻想を思いつく。
ベックリンの有名な画はどうだろうか? いや、あれですらわかりやすい幻想の世界だ。静謐ではあるが、狙いに狙った死の象徴だ。
だが、たとえば文学では、死都ブリュージェのように、ただ静謐で悔恨とほのかな絶望だけに満ちた世界も描かれてはいるのだ。
ところが、この初めて知ったデンマークの画家は、完全なまでに、絵画の分野で、静謐でありながら、一見するととんでもなく写実的でありながら、それは確かに単なる部屋であり、うなじであり、背中であるにもかかわらず、しかし見ているものがいたたまれなくなる、何かとんでもなく陰鬱で歪んだ空間を作り出している。
昨日、病院の待合室で順番を待つ間に1つの中編を読んだ。
最後のウィネベーゴだ。
最後のウィネベーゴ (奇想コレクション)(コニー・ウィリス)
なんとなく、ミュージカルの小説(だけだと送料が出ないというのもあって)と一緒に注文したのであった。
読了して解説を読むと、これこそ終末小説でどうしたこうしたというようなことを大森望が書いていた。終末は冒険ではなく、そこにある日常が緩慢に消失していくことであるというようなことだ。
なんという偶然だろうか。
つまり、同じことを、たまたま入った美術館でおれは目にしたのであった。
声高に世紀末の恐怖を顕現させるのではなく、ただ、静かに幸福な日常の風景が失われていく、あるいは目の前の現実が遠いものに感じられていく、そのような画がそこにあった。
いくつかの作品から顕著にわかることは、構図のゆがめ方だ。まず、この作家は圧倒的に正しい構成力を持つ。それは、最初に展示されているデカルト座標のような印が見えるうなじの絵から明らかだ。
それが物議をかもした妹の画では、妙なずれが生まれていることがわかる。
明らかにそれが狙ってやっていることだとわかるのが、次の部屋の正面に展示されていた後の奥さんの肖像画だ。
バランスがおかしい。
背骨を長辺とした直角三角形の人物(左側が腕と膝で斜辺を作る)で、おそらく標準的な構図であれば、長辺側は右に詰めて、左に光源があり、バランスから左に空間を配置すると思う。
しかし、余白は長辺側(つまり右)にあり、底辺と斜辺の交錯する点は、左端にある。
したがって、視点を正しく定めると中心を外れてしまい、異様な不安感が与えられる。
にもかかわらず、徹底的に写実的な肖像画で、まったく破綻がない。これは鮮烈な体験だった。
その次の部屋は建物の写生画なのだが、なんなのだこれらの死に絶えた風景は。色使いが暗欝だからということもそうだが、やはり焦点がずれているように感じる(うーん、あまり覚えていないな)。(このあたりで、世紀末の画家だとはっきり意識せざるを得なくなり、しかしその手法が実に独特なものであることも理解できる)
そして室内に戻り、どこかの大ホールの絵が出てきて、いたたまれなくなるような、広い空間に出会う。歪んでもいないのに何かがねじまがっているのだ。(後のほうで晩年に住んでいた部屋のシリーズが出てきて、そこでディープフォーカスによる異化効果や、これは画に解説がついているが俯瞰と低い位置からの視点の両者が混ぜ合わされてる画などを見られるが、そこまでわかりやすくはない手法で何かを歪めているのだろう)
細部を書かないという手法による不安感の煽りというのもあった。
きわめて写実的に部屋は描かれているのだが、そこにかかっている額であったり、器物であったりが、単にあいまいに塗られているために、その空間全体の現実味が、いやな感じで打ち消されている。
3脚に見える椅子。右は正面から見ているため脚が1本に重なり、左は2本。しかしその場合の焦点と、部屋を描く焦点が異なる。そこから生まれる居心地の悪さ。目の焦点がどこか別のところにあるため、不在の人が大きく描かれていて困ってしまう眺めの良い部屋。
ディープフォーカスは部屋の空間にだけ当てられていて、部屋を構成する細部はすべてソフトフォーカスが当てられている、写実的な絵画のもつ違和感。
実におもしろかった。まだ見たこともないすごい作家や作品が世の中にはたくさんあるのだ。
otsuneさんのtumblrにおもしろいのがあった。
注:この「的を得た」という表現をあげつらって、“「的を得た」なんていう子供なみの日本語の間違いを堂々とHPに載せているくせに、よく他人の非難ができる”などと書いている掲示板があります。これはよく流布している無知からきています。
で、それに対して
このQuoteがすべてデッチアゲだったら面白いなぁ。角川漢和中辞典とか字通とか調べてウラをとる人なんかいないだろうし。と、zokerという人が書いている。
よろしい、諸君。ならば、旺文社に対抗して学研の漢字源だ。
「正」を引く。
【正鵠】……(2)転じて、物事の急所・要点。「正鵠を射る」→本来は「正鵠を得る」
というわけで、本来が好きな原理主義者の人は、大いに得るように。
つまりは「得失」で一揃いということか。
というのはわりとどうでも良くて、「得」を調べてみる方が良いわけだ。
(2)動|える。うまくあたる。つぼにはまる。[対]失(はずれる)。「得意(思うとおりになる)」「不思而得」(中庸)
なるほど。少なくとも意味としては「的を得る」と書けば、それは「的にうまくあたる」ことなのだから、まったくおかしくないということであるな。
(そもそも論として字の成り立ちについて漢字源では、手で貝を拾得するさまに行人偏を加えることで、横にそれず、まっすぐずぼしに当たる意を含むとしている)
#ということは、これまで散々正鵠を射てきたが、実はそれは当を得ていなかったということで、ときどきは正鵠を得るようにしたいものだ。
言葉として口にする場合は、おそらく「的を射抜く」というのが正しいのではないかと思う。射るというのは矢を放つ行為に過ぎず、少なくとも当たるところまでは含まないと言えば、それはその通りだろう。あと、面倒だから「当たる」と書いているが、これも本来は「中る」と書くべきだな。
何が怖いかというと、String#[](n)がStringを返すという変更だった。
というのは、結構、いろいろなところで str[n] == ?x とか書きまくっているからだ。もちろん?xはFixnumだからエラーになると思っていた。
ところが、まさにそれを利用しているはずのRjbのextconf.rbが別にエラーにもならずにmakeしているので不思議に思った。
$ ruby187 -v -e "p 'a'[0] == ?a; p 'a'[0] == 'a'" ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9.4.0] true false $ ruby -v -e "p 'a'[0] == ?a; p 'a'[0] == 'a'" ruby 1.9.0 (2008-10-04 revision 19669) [i386-darwin9.5.0] true true
やっぱり、String#[](n)の返り値はStringだ。が、なぜ?xともtrueになるんだ?
と疑問に思ったら
$ ruby -v -e 'p ?x.class' ruby 1.9.0 (2008-10-04 revision 19669) [i386-darwin9.5.0] String $ ruby187 -v -e 'p ?x.class' ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9.4.0] Fixnum
あ、そういうことなのか。多分、ユースケース的にもString#[](n)の戻り値と?xの比較のほうが、?xをFixnumとして扱っているものより多いだろうという判断なのかな。
つまり、こっちが非互換となる。
$ ruby187 -v -e 'p ?0 == 0x30' ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9.4.0] true $ ruby -v -e 'p ?0 == 0x30' ruby 1.9.0 (2008-10-04 revision 19669) [i386-darwin9.5.0] false
妻が撮り溜めしてあったビデオを飯食いながら見てたら、えらく感動してしまった。
あまりにも出来過ぎているから、もしかしたら新説あるいは珍説かも知れないが、それにしても説得力があったからだ。
正直最初は大して興味も持たずに見ていたのだが、大好きな曹丕の「文章は経世の大業にして……」が出てきたので、思わずまじめに見始めたところ、菅原道真が遊びもしなければ家庭も省みない勉強一代男として学の分野で君臨せんとするまさにそのとき、わずか16歳にして大貴族藤原の息子、藤原時平が出現する。この男、権門の子弟ということで日本版科挙も受けずに参内するという裏口っぷりを発揮する(が、政治は不可解なものだから、このシステムも実はここぞというときには機能することもあるのだな、と後でおれは気付く仕組みだ)。
発揮するのは良いのだが、当時、女がすなる和歌で恋歌ばかり詠むに長け、あっちに美女がいればあっちへ出向き、こっちに美女がいればこっちに出向き、歌を贈ってはねんごろになるという堕落者である。親父のコネで出仕したのは良いけれど、どう考えてもあそびをせんとや生まれけむな男である。
一方、道真は毎日漢文を読みあさり、勉強しまくり、家族を顧みず、という生活。それでも和歌に心を動かされることもあるが、ひらがなで書かれたものをいちいち漢字で書きなおすという硬骨ぶりを発揮する。真の漢は漢字を使い、ひらがななどでは文章をなさないのだ、という確固たる信念あり。
さて、官僚はときどき配置換えをすることで、見識をむりやり広めたり妙な縄張りを作れないようにしたりすることは、平安時代でも行われていたわけで、菅原道真も四国の長官に赴任することになる。
そこで驚いた。住民はみんなぼろを着て、字(道真にとっては漢字のこと)も読めずもちろん書けず、どこかへふらふらいなくなってしまう。
律令制度は土地を国家が持ち人頭税を徴収することを基礎としているから、食えなければ逃げるしかないからだ。
これはいかん、と菅原道真は考える。
農業を育成するには、土地に人を縛る必要があり、土地に縛られていれば逆に落ち着いて文化を甘受することもできる。つまり、律令制度には致命的な欠陥がある。つまり、人頭税だ。(戸籍制度が適当だから逃げられる時代はその致命的欠陥は国家にとっての問題ではあるが、戸籍制度ががっちり組まれるとその致命的欠陥は国民のものとなるのだろうな、と恐怖を覚えたりもするのであるが、それは余談と予断)
こういうときこそ、中国に聴け、と菅原道真は考える。拝外主義者である(ひらがなを絶対使わないわけだし)
かくして都へ戻って遣唐使を出そうといろいろ進めていくと、中国の情報が入ってくる。黄巣の乱というのがまきおこっていて中国の政治状況がおかしくなっているらしい。
うむ、律令制度の本家もだめなのか。
愕然とする道真。
しかし、学があるということは良いことだ。
自ら新たな政治の枠組みをついに考えだす。
それが、地代だ。すでに荘園の萌芽があるが(班田収受の法から時代もたっているわけだし)、それを利用し、土地に税金をかければ良いのではないか。
さっそく建白書を作り新たな税制を作り、人頭税を廃止し……
そこに貴族が猛然と抗議をするのは当然であるが、そうは言っても国家存亡の危機にまで実は国家財政が傾いているので、そのあたりはなあなあにできそうではある。
しかし、道真改革に対して、猛然と反旗を翻したのは他ならぬ部下の官僚たちであった。なんと、学問の王様の道真ともあろうお方が、われらが模範たる先進国、中国由来の律令制度を否定するとは、四国でおかしな食い物でも食ったのであろうか?
かくして日本で最初の公務員によるゼネストが敢行されてしまい政務がストップしてしまう。
予算審議の最中に政治の空白が生まれる状況の始まりである。
官僚がそっぽを向いてしまうとどうにもならないので、それまで女遊びが過ぎるとして軽く見られていた藤原時平(道真の右大臣と並んで左大臣になっていはいるが遊んでばかりいるので誰からも相手にされていなかった)にみんなの注目が集まる。国家存亡の危機なのはさすがに殿上人にもわかっている。下級役人にもわかっている。
さて時平も困った。
が、女心を自在に操るまでに至ったこの男、状況把握のセンスがある。
とりあえず、まとめると
・人頭税をやめて土地に税をかけるべき(学問の神様の結論なのだから正しいと考えるべきだ)
・先進国中国由来の律令制度を変えるということは、官僚たちの知的基盤、あるいはアイデンティティの破壊となるので、それは不可能だ(というか実際に政務が滞っている)
つまりジレンマですな。
しかし、と、時平は考える。これがジレンマになるのは、後者の代表が前者を持ちだすことの不整合に由来しているのではなかろうか?
そこでまずは道真に退場を願うことにして、うまいこと九州へ追い出した。ストを打っていた官僚たちも、土地に税をかけられることに戦いていた貴族たちも大喜び。
再び、しかし今度は時平を中心に政務が回り始める。
しかし、と、時平は頭を悩ます。へたすると結局道真と同じわだちを踏むことになるからだ。いずれにしても、道真改革は実行しなければならないわけで。いくら自分が大貴族の御曹司といったって、部下の官僚がストを打ったら手も足もでないのは、あの誰もが尊敬する道真が手も足も出なくなったことから明らかだ。
そこで、しょうがないので打開策を探るために勉強をしていてふと気付く。この漢字の塊のような文書群が、官僚たちを中国万歳、先進国の成果を後進国は受け入れていればよいのだ、という安易な考え方のもとになっているのではないか? っていうか自分の国のことは自分の頭で考えろよ常考。
そういえば、故郷のお寺の教えに、やまとことばはことだまでどうしたといかいうのがあったが、じっさいのところ、われわれがはなすことばとかくことば、これのかいりがかんりょうたちに、みょうなこていかんねんをうえつけていると、かていしよう。
そんな仮定ができるのは、この男が恋歌ばかりを作っていて、試験勉強のために漢文を詰め込まなかったからだろう。つまるところ、時平は他の官僚や大臣と異なり、漢字にも中国にもこれっぽちも未練はないし自身のアイデンティティもないのだ。
まずは、この国はこの国、やまとのくにだということを世に示すことから始めよう。そうすれば自ずと道は開けるに違いない。
そこで、天皇に歌はいいですよいいですよと吹き込み(おそらく財政問題のこともあり、醍醐天皇と時平は共同戦線を張っていたのは間違いないだろうと思う。道真追放にも醍醐天皇が積極的にかかわっていたようでもあるし)、歌集の作成の許可を取り付ける。次に、下級役人の中でも特にばかにされまくっている平仮名遣いを集めてきた。紀貫之たちだ。
まあ、というわけで、おれはひらがなで歌われる歌の良さを広く世に問うことにした。おまえらがんばれ。
なんと、自分たちの文学に初めてお墨付きを得られるとは! 紀貫之たちは感動してさっそく歌探しの旅に出る。足かけ3年かけて地方の旧家に残る文書やら木簡やらから歌をいっぱい集めてきた。
しかし、困りましたぞ、と貫之たち。
何が? と時平。
出てくる歌はみな、恋の歌ばかり。これではかっこがつきません。
うーん、と時平。恋の歌は良いものだが、確かにそれでは、説得力がないなぁ。やまとのくにはこいのくに、というわけにはいかんだろうし。
おおそうじゃ、と時平は面々を見て気づく。おまえらが作ればいいじゃん。
なんと、われらが作った歌をわれらが選んで載せて良いのですか?
だって、おまえらしかいないじゃん。
大感激した紀貫之たちは、歌詠みの本領発揮しまくる。ひらがなだからこそ可能な掛け言葉やらおのまとぺやらを駆使して、季節の歌やら風景の歌やらを作りまくる。
かくして、古今和歌集が完成した。
おお、これは読みやすい、と天皇も大感激。
さて、欽定の歌集とあれば、これこそ我が国の文化の道標、それまで漢文にあらずんば文にあらず、とひらがなをバカにしていた貴族も官僚もみな古今和歌集を読み、ひらがなに親しむ。いやぁ、恋とは良いものですな、いやいや季節のうつろうさまもまた良いものですよ、という調子だ。
いや、わたしは漢文以外は文とは認めませぬというのは、官場においては新しき文化の風潮に乗れぬ愚か者ということとなった。
さらにこの文化風は吹きまくり、寝殿造りのような建築分野、十二単のようなファッション分野にまでおよび、国風文化とまで呼ばれるまでに至った。
さて、諸君、我が国の財政は危機に瀕しているのはみなさん先刻御承知の通りだ。律令制度はしょせん外国の制度に過ぎぬ。我が国には我が国の美しい文化があり、それにみあった制度があるべきではなかろうか?
うむ、そうかも知れませぬの。
かくして、時平は無事、律令制度からのランディングに成功したのであった。
そのころ、九州の地で道真は辞世の歌を七言律詩で書いていた。
いや、もうふつうにタイプミスしますなぁ。
見たことないのは、そりゃそうだろう。まともにリリースされたソースならもちろんデバッグして直しているわけだから。
おそらく、キーボードを5ストローク/秒というような単位で打ち込むとか考えたこともない未来人なのではなかろうか?
どうも高校でやるみたいだが、まったく記憶にないなぁ。
というのは良いけれど、「古典「大鏡」の「時平と道真」の現代語訳を教えて下さい。お願いします。」というたぶん宿題小僧に対して、最後の最後の部分で「道長公が、」と答えているところが味わい深い。狙った回答なのだとしたら、大和魂などは、いみじくおはしましたるものを。
なんでifupとifdownなのにponとpoffなんだろう(最近、よく使うコマンドの上位4個)? pupとpdownでもいいんじゃないかなぁ。
まず、Geniusサイドバーを使う人は減るだろうな。
それから、アップデートを勝手にチェックするアプリケーション(しかもスタートアップならともかくHKLM\Software\Microsoft\...\Runとかにしこむようなやつ)も。
こういうプログラムは、水漏れと同じことになる。
つまり、ネットワークの口に水道メーターみたいなものをつけておくわけだ。
水道局が配布しているガイドみたいに、「スタートアップにブラウザやメーラを登録している場合、これらを削除してから、PCの電源を入れてください。もし、メーターが回れば水漏れの可能性があります」というか可能性じゃないけどな。
というのを、回線屋さんはやってくれるだろうか? いややらない。
そこで疑問に思うのは、電話かけ放題らしいusはおいておいて、世界中の国で、シビアな従量課金というのは行われていないのだろうか? もし行われていたら、その国用のiTunesにはGenuisサイドバーは仕込まれないようにパッケージングされているのだろうか。
デルmini9にも相当慣れてきたが、これまで(少なくとも10年というような単位で)とは異なる行動が見られるようになった。
・ウィンドウを最大化して利用する
(本質的に余白がない状態は大嫌いなのだが、気づくとFirefoxを最大化して利用しているおれがいる)
・キーの刻印を確かめてから打つ
(Ubuntuで利用しているからだけど、パイプを使いまくる。というか何かをするにはパイプを使う。するとパイプは普通のキーボードのコンテキストメニューの位置なもんで、こりゃ押せないよ。というわけでこのキーをこんなに使うとは思ってもいなかったのは敗因。むしろ{}や[]のほうが使用頻度は少ないわけで、英語キーボードを買うのが確かに正解だったかも。しくしく。あとファイル名に結構_が出てくるわけだが、これがカタカナ/ひらがなキーの位置だというのも問題。あと、タッチパッドの感度が微妙に良すぎる(手触りは良いし、全体としては悪くはないのだが)。そのためカーソルがすっ飛ぶことも結構ストレス)
・地下鉄が便利
駅ではHotspotが利用できるのだが、駅でリンク集からタブを開いて動いている最中に読むとか。iPod touchでは小さすぎるし、携帯は通信が遅すぎるし、MacBook Airはあれでもでかすぎる。ひざの上にはみ出さずに置けて、かつそれほど熱くなく、かつ通信が早く、かつタブ付きブラウザが利用できる、これはいいなぁ。混雑してなければ。時差通勤も重要。
追記:考えたらDeleteキーは使わないんだから、これをパイプにすればふつうのキーボードと同じになるなぁ。入れ替えツールを探すか。というかなんでDeleteキーなんてキーをつけたのだろうか。
public class ListFactory { public static <T> List<T> create() { double d = Math.random(); if (d < 0.3) { return new ArrayList<T>(); } else if (d < 0.6) { return new LinkedList<T>(); } else if (d < 0.9) { return new Stack<T>(); } else { return new Vector<T>(); } } }
なんか久々に小説(この場合は、物語によって世界を捉えようと試みた文学といった意味)を読み始めたら、止められなくなり、はら先生お勧めの香水も買って読んでしまった。
ある人殺しの物語 香水 (文春文庫)(パトリック ジュースキント)
こりゃおもしろい。おもしろかった。
つまりは、この主人公は、屈木頑之助ということだな、名前からして(もう少し人間的な見かけらしいけど)。
まったく教養的ではない(ということもないか。獣の脂の効用を知ってしまったし)悪漢小説というか、最後は愛の犠牲となって昇天するわけだが、巧妙だった。
あわせて読みたい:『とんびと油揚』寺田寅彦
寺田寅彦の仮説に基づいた記述(なわけはないが)があって心が踊った。つまり、最初にパリをどんどこマレ(だっけな? 多分、紙の市場があるほうだと思うけど)のほうへ進んでいくところとか。
舞い降りた天使がまたたくまに人々によって八つ裂きにされるイメージってどこかに引っかかるのだが、いったいなんだろう?
あと、愛に生き、愛に死す、という言葉通りの順番がちょっとおかしかったとか、妙に合理的な不快感の原因の説明とか、味わいどころも満載。雪山将軍のエピソードとか、いろいろ。
そういう読み方があるというのは気付いていなかったことにしておくが、なんで映画でストーリーが重要なのかというと、会話のネタにしやすいからだ。
それにくらべると構図であるとか構造であるとか歴史的コンテキストであるとかといった抽象的なメタデータや、作家であるとか俳優であるとかの具象的なメタデータは、ネタにしにくいということであるとな。いずれもそういった情報を理解するだけの知識基盤が必要となるので、一般化できないと。
すると、いわゆるおたくという人たちと、そうでない人たちとの分水嶺は、形而の中線として引かれている(引けないけど)と考えられる。
言われてみれば、おれの興味のない/未知のジャンルの作品については、で、それどんな話? みたいなこと(つまりは物語)を聞くよな、ふつうには。
そこでたとえばセーガン博士の、なぜ想像力を働かせるというと、星間空間を漂う冷たくて希薄なガスの中に生命の構成要素である分子が存在するとかではなく宇宙人の侵略とかになってしまうのかというような疑問とかは、おかど違いなのではないかなぁ。
こないだ読んだ本でカントールが有理数を数えることができると対角線を使って証明するところで、なんてすげぇ想像力だと感動したけど、経験に基づかない想像力というのは、確かに伝達しにくいかも知れない。共感するための基盤がないからだ。
というようなことを、最近また続きを読み始めたカント(世界の測量を読んでいて中断していたのを思い出した)を読んでいて考えた。
向井さんが順序を調べてくださった。defualt > deafult > defautl > defalut
もしかして、元のOKの人は、defualtは見るけどdefalutは見ないという意味で(というこたありえないだろうけど)
ためしてみると、ちょうどaとuの間が左右の切り替えだから、このタイミングで弱い左手小指より強い右手人差し指が先に出てdefualtと逆転するというのが一番多いというのは理にかなっていますね。その一方で、defalutは、左手の人差し指→小指という動きに右手がつられて薬指→人差し指となるわけで、どうも2番手のdeafultよりもありそうな気もするけど。
編集距離というのがわからなかったので調べるとちょっと違うことが書いてあって混乱したけど、向井さんの距離1は1回の交換という意味のようだ。
それはそれとして、なぜこれで距離が求まるんだろう?
def levenstein_distance(s1, s2) d = Array.new(s1.length + 1) {|i| Array.new(s2.length + 1)} d.each_index do |i| d[i][0] = i end d[0].each_index do |j| d[0][j] = j end 1.upto(s1.length) do |i| 1.upto(s2.length) do |j| cost = (s1[i - 1] == s2[j - 1]) ? 0 : 1 d[i][j] = [d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost].min end end d[s1.length][s2.length] end if $0 == __FILE__ puts(levenstein_distance('default', 'defualt')) puts(levenstein_distance('default', 'defalut')) puts(levenstein_distance('default', 'defuult')) end#ちゃんと読んだらわかった。なるほどなぁ。
ジョブズのやせっぷりを見て、鶴のようだな、と思った。が、もしそれを声に出して誰かに言ったら、「いやずいぶん前からだよ」というような別の意味に取られるだろうな、と気づいた。
C:\TEMP>dir test.data ... 2008/03/29 23:54 40,635 test.data ... C:\TEMP>ruby -run -e help touch Update the access and modification times of each FILE to the current time. ruby -run -e touch -- [OPTION] FILE -v verbose C:\TEMP>ruby -run -e touch -- test.data C:\TEMP>dir test.data ... 2008/10/17 00:56 40,635 test.dataでも待てよ、なぜ-eの後ろにそのまま書けるんだ? と思ったら、""でくくるかどうかは空白に依存しているのか。
C:\TEMP>ruby -e p(3+8) 11む、今までわざわざ""で囲んでいた……
C:\TEMP>ruby -run -e touch test.dataなくても動くよな。
C:\TEMP>ruby -run -e touch -v test.data ruby 1.9.0 (2008-10-04 revision 19669) [i386-mswin32]でも、
C:\TEMP>ruby -run -e touch -- -v test.data touch test.data--ってのは、Rubyのコマンドラインオプション解析の終了を示すのか(proc_options#ruby.c)。
これは労作。
コンピュータの歴史の本を資料的に一冊買うのなら、これで決まりじゃないだろうか。そして、仮にこの本に誤りがあってもそれが事実として語り継がれることになる、そういう本だ。
まあ、どうしてもこういう1950年代などについても書いてあると、そのあたりから80年代までのメインフレームについての記述に興味を持つのだが、IBM一人勝ちが必然だったことや、それはそれとしてカウンターカルチャーとしてDECがどれだけ重要だったかといったことなどが語られることになる。当時の固い、にもかかわらずSF(50年代のSF映ぽい)的なコンソールの写真の数々。意外にCDCについてページが割かれていて、それがちょっと意外(CDCの役割という点からも、この本が重点をおくところがどこかという点からも)だった。
カバーの見返しには、MS-DOSがなぜそれほどまでに重大なのか、それが単にキルゴール(だっけ?)キルドールが飛行機に乗っていたからでもゲイツが目端が聞くからでも、IBMが間抜けだからでもなく、必然だったことがどうしたとか書いてあるが、そこは読まなかったけど、そのあたりについても読めばおもしろそうだ。
小さな字でぎっしりと、この本を書くために費やされた労力と資料と関係者への取材を考えると、ぜひにも買っておきたいところだが、ちょっと手元がしばらく不如意なので棚に戻した。
……いま子女を圧迫しているものが、十年前は家庭革命者であったかもしれない。これは年齢や地位とも関係することでありましょうが、記憶のよくないということも、大きな原因のひとつであります。その救済法としては、各人が一冊のノートブックを買うことです。自分の現在の思想と行動を全部記録しておいて、将来、年齢も地位も変わったときの参考にする。たとえば、子どもが公園へ行きたがってうるさいと思ったときは、それを取り出して開いてみる。そうすると「私は中央公園へ行きたい」と書いた箇所がある。そこで、たちまち気持ちがやわらいできましょう。ほかのことでも同様です。
多分、公園という具体性(「私は中央公園へ行きたい」とはパターンランゲージではないか)が、いくつかの光景、感触、気分といったものを想起させるからだろうが、強い印象を受けた。そして、物理的にはともかくノートをつけることはやっておこうと思い、いくつかはどこからか拾い出し記録しておいた。
とはいえ、ある特定の瞬間には、ノートを開く隙もあらばこそ、なぜではなくなにだけで決めることもあり、そのようなとき、後になってノートが開かれて置かれていて、なんともやりきれない気分になることもあり、つまることろは反省したりする。
それとは別の考え方をすることもある。そのようなノートは単なるわだかまりであり、それをとっておくことは何かの間違いではないか、というようなことだ。大人というものは、そのようなノートを償却し焼却した先にあるのではなかろうか。
そう思う先から、ノートを通じて気分を共有できることもあり、そのようなときには、やはり公園へ行きたいという気持ちを思い出す。
というようなことをときどき考える。
魯迅評論集 (岩波文庫)(好, 竹内)人間の精神は、オブジェクト指向プログラミング(以下、OOP)の研究をいつかはまったく廃するだろうということが期待できないのは、――我々は汚れた空気をいつも吸っているよりは、いっそのこと呼吸をまったく止めるだろうということを、人間に期待できないのと同じである。それだから世界には、いつの時代でもOOPが存在するだろう。そればかりか何びとも――とりわけ思索を好む人なら、――OOPをもつであろう。しかし今のところOOPは、公認された標準尺を欠いているから、各自が自分流に裁断し、仕立てることになるだろう。ところでこれまでOOPと称してきたものでは、吟味を重んじる学者を満足させることはできない。さりとてこのパラダイムをまったく断念することは、これまたできない相談である。するとけっきょく_____そのものの批判が試みられるか、或いはまた――もしかかる批判がすでに存在するというのなら、――研究されて、これに全面的な吟味が施されねばならない。そうするよりほかには、単なる知識欲以上であるところのこの切実な要求を充たす手立ては、まったく見いだせないからである。
問題1: ____に適切な語句を入れよ(たぶん、モデリングだと思う)
問題2: OOP、パラダイム、____に当てはまる本来の語句を答えよ
やっと、読み終わったのだが、はて、どうもいわゆる上流工程というものは分析的判断の分野で、下流工程というものは綜合的判断の分野のように考えられてならないのだが、それは矛盾ではなかろうか。
でも、mini9がわからないのかも。
とりあえず、Deleteキーを\と|に変える。
keycode 107 = yen bar
すばらしい。まともなキーボードに近づいた。
で、次は、右シフトを\と_に変える。
keycode 62 = yen underscore
かわらないよ。というかyenは出てくるが、シフトを押してもyenが出てくる。これは困る。しょうがないので
keycode 62 = underscore underscore
にして、_がどうでも入れられるようにした。それなりにまともなキーボードにはなったものの。
なぜ、シフトがきかないんだろうか。
さらに、元の\_を右Shiftに、\|を右Ctrlにしようとしたのだが、これもうまく行かない。\|は右Ctrlになったのだが、\_がなんかデッドキーになっている。removeとかaddでShiftをいじってもだめ。
ハードウェア的にトグルになっているのかなぁと思わなくもない(元の右シフトは特に)。というところまで。
KeyRelease event, serial 31, synthetic NO, window 0x3600001, root 0x56, subw 0x0, time 472749, (-154,-79), root:(685,311), state 0x1, keycode 211 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 31, synthetic NO, window 0x3600001, root 0x56, subw 0x0, time 472757, (-154,-79), root:(685,311), state 0x0, keycode 39 (keysym 0x73, s), same_screen YES, XLookupString gives 1 bytes: (73) "s" XmbLookupString gives 1 bytes: (73) s" XFilterEvent returns: False一応、押したままsを押したつもり。しかし、stateは0x0になっている。しかもこの後、Shift_Rは出てこない。トグルになっていて、他のキーを押した瞬間にキーコードの発生が無効化されたような動作。
どっかで発明されているかも知れないところにのこのこ発明するとバカにされそうでいやんだとか。
ある程度の長さをもったトランザクションを、並行に分割することを考えている。
たとえば、ABCの3つのテーブルを順に更新する処理を考えてみる。
txstart - A read with lock - A update - B read with lock - B update - c read with lock - C update - txend
という流れ。
今、同時に3つのトランザクションが実行されるとする。
このとき、いずれのテーブルにおいてもキーの重複がなく、かつデータベースが行ロックをサポートしていれば、この3つのトランザクションは並行して実行できる。
しかし、キーが重複していたら、Tx1−Tx2−Tx3と完全に直列化されることになる。
もし、Aの更新、Bの更新、Cの更新がお互いに独立しているのであれば、Aの読み書き、Bの読み書き、Cの読み書きを並行して実行できる。このとき元は1つのトランザクションだが、3つのトランザクションが必要となる。
同時にTx1,Tx2,Tx3が動くのであるから、最初の時点で9つのトランザクションが開始される。A,B,Cの各キーはすべてのトランザクションで重複しているが、直列化するのは、各テーブルのみですむ。つまり、Tx1(A)-Tx2(A)-Tx3(A)と、Tx1(B)-Tx2(B)-Tx3(B)……で、これは、最初の状態よりは全体に必要な時間は1/テーブル数の時間で良い。
このようにしたとき、元の方法より、プログラム的に難しくなるとしたら、それは最後にすべてのテーブルの更新状態を調べ、コミットするかロールバックするかを判断するところだ。コネクションの数が1つのトランザクションの並行数分確保できない場合も難しくなる。AとBのコネクションはあり、Cのコネクションがなければ、AとBを先行し、Cを待つというわけにはおそらくいかない。Cを待つ間、残りの2つを占有することになり、もしそこで実行してしまうと、Cの待ちによって終了処理ができず、可能性としては、それによってAまたはBでデッドロックを引き起こしかねない。
並行実行するとデッドロックの可能性が高まる。
Tx1のAとBは先に動作できて、しかしCはできず、Tx2のCが先に動作してAとBで待つ場合にありえる。
そう考えていくと一連の処理ならば直列して実行するモデルは堅いことがわかる。
おかしいな。なんかうまくいきそうに思えたのだが。もっと考えることにする。
……、ばらすのなら、完全にばらすしかないということか。待ち合わせしてコミットするのではなく、各テーブル単位でコミットする。ロールバック時は、トランザクションのロールバックではなく、補償更新によって行う。……面倒だな。
http://jp.youtube.com/watch?v=ORc5Td_T6og
3つのうち2つはなりたつけど、3つすべてはなりたたないもの。
証明されたということは、可用性、ネットワーク障害耐性、一貫性を保証すると言われたら、すぐさま詐欺だと考えてよいということだ。
さて、何をどうすべきか。というか、ドメインによってどれを選択するかが決まり、それは1つのサブシステムの中で共存する。
おそらく一貫性+可用性がエンタープライズコンピューティングで、可用性+ネットワーク障害耐性が集合知コンピューティング。
この部分だろう。
このセキュリティ更新プログラムはすべてのサポートされているエディションの Microsoft Windows 2000、Windows XP、Windows Server 2003 について深刻度「緊急」、また、すべてのサポートされているエディションの Windows Vista および Windows Server 2008 について「重要」と評価されています。
で、「重要」というのは、どういう意味なんだろうか? (RPCリクエストを受けないという意味なら「重要」でもないだろうし、サーバーが動いている可能性があるのなら、やはり「緊急」だと思うのだが)
最初に飛行機に乗ったのは、確か小学2年のときで、フレンドシップというような名前のプロペラ機だった。上からの景色はいくつか覚えていて(プロペラ機は雲より下を飛ぶから景色が見えるのだ)、工場の煙突からの煙がまるでそれからしばらくして実物を見ることになる、富士フィルム(だと思うのだが、さらに思い出すと、銀行のおまけの塩ビの貯金箱にあったような気がするが、住友(UFOが結合されたようなやつだと思う)でも三菱(とんがりがりがり)でも三井(四角かったような)、古河(五重の塔)でもなく、と書いていて思い出したが安田のほうの富士かも)のパビリオンから色を抜いたような形状でおもしろかったことを覚えている。
それからしばらくして、確か、中学生のころだと思うがアダルトウルフガイを読んでいて、あまりの恐怖にひきつりながらバックルを握りしめていると、スチュワーデスが恐怖にひきつっていることに気付き、我に返るとバックルが変形している、そのくらい握力がすごいというような描写に出会った。離陸の瞬間が怖いそうだ。
(確かブラジルに行くので飛行機に乗るはずだからこれだと思うけどわからない)
そうかなぁ、そんなように感じるほどの衝撃があったかなぁと疑問に思うのだが、全然印象になく、まあ狼男の感じ方だからヘンテコなのだという描写なのだろうと納得していた。
それから10年以上たって、飛行機に乗り、ふと気付くと、ためにためてジェットを吹き出し、どんどん加速して、ある瞬間にバリバリ音をたてながら重力を振り切る瞬間をはっきりと味わった。それまでに何度かあったはずなのだが、そのとき感じた離陸の瞬間には、人類の歴史のすべてがあった。地上を立って歩くことを生き残り戦略として選択した生物が、にもかかわらず、別の選択をした生物を越えようと試みてきた歴史の到達点だ。そのとき以来、離陸の瞬間はもっとも好きな瞬間となった。
それは崇高な瞬間で、人類の叡智のひとつの到達点が、その瞬間に凝縮されている。加速、離陸、高揚。
それから飛行機に乗ることは、その瞬間を味わうことと等しくなった。
人狼は人類に追いやられ、滅ぼされるべく生きている種族なのだから、離陸の瞬間に恐怖を感じるのも無理はない。
昨日のsumimさんとの会話から。
サボテン・ブラザース (ベストヒット・セレクション) [DVD](スティーブ・マーティン)
について。
メッセージ
ランボー 最後の戦場 コレクターズ・エディション [DVD](シルベスター・スタローン)
抽象データ型
Ahh the Name Is Bootsy Baby(Collins, Bootsy)
キラー
シリアルキラー・ファイル DVD-BOX(マルセロ・ゲームズ)
綴りや読みは無視の方向で。
黒魔術というのは、あてにならないWikipediaによれば
自分にとって好ましくない魔術、魔法。だったり、
他人に危害を与えるための技。不道徳な魔術を呼ぶ際の蔑称。だったりする。
それに対して、
自分の側にとって都合がいい魔術、魔法を白魔術と呼ぶ。
というか、大伴昌司時代に小学生だったおれは少年マガジンから、黒魔術=ハイド、白魔術=ジキルとか、呪い殺す術師=黒魔術師、病気を治す術師=白魔術師、とかいうように用語を特集記事から教えられているのだ。
ベルセルクで、森の奥に住んでいるばあさんと、その弟子の旅の仲間はしたがって白魔術師で、なんちゃら大帝は黒魔術師ということになる。
というわけで、そろそろリフレクションとかオープンクラスを黒黒呼ぶのはやめたほうが良い。
さっさと白旗を揚げるべきではなかろうか。
自分のふりかえりは上に書いたので、他の発表者のセッションで印象的だったのはというと、桑田さんのマクロならクォート一発な処理をDSLとして……というやつなのだが、聞いているときはおもしろかったが、考えてみるとちょっと違うのではないだろうか。
マクロのエラーは(多くの場合)単なる文法エラーだが、DSLのエラーはアプリケーションエラーにできるからだ。
ということはどういうことか。
まず、SQLは別に文字列で書けば良いというのがある。埋め込みパラメータがあるかどうかにかかわらず。効率も良いし、それがネイティブインターフェイスだ。
わざわざそれを元の言語に組み込もうというからには、そこに何かのメリットがなければしょうがない。
そのメリットが何かといえば、書き間違いに対する手厚いケアではないかと思う。他に何かあるか? (ソースの見てくれというのはある)
としたら、ここに書き間違いがあるということが、一発でわかるような仕組みが良い。
それがマクロで可能なのか、というあたり。
aikeさんのexelsv.htaを見ていて、ちょっと気になったのでいじってみた。というか、さっそくこういうのを作れるってのはすごいなぁ。かくありたいね。
気になったのは、「ブラウザに制御が戻らないや」のところ。いや、確かに戻らないし、逆に戻すとrubyを離れるのでdRubyが今度は動けない。だから正しいのだけど、HTMLのレンダラで、しかもScriptHostだということは、Windowsオブジェクトを持つということで、つまりはsetIntervalとsetTimerが利用できる。
というわけで、あまりかっこは良くないのだけど、次のように、シャットダウンボタンをつけることも可能。ついでに統計情報をちょっと取ってみるようにしてみたり。
<html> <head><title>Excel Server</title> <script language="RubyScript"> # ver 0.2 (correct ex order of counts, see #c01) require 'drb/drb' class ExcelServer def initialize @excel = WIN32OLE.new("Excel.Application") @excel.Visible = true @excel.SheetsInNewWorkbook = 1 @book = @excel.WorkBooks.Add() @book.Application.DisplayAlerts = nil @sheet = @excel.Worksheets(1) @@singleton = self end def put(cell, str) count('put') @sheet.Range(cell).Value = str end def get(cell) count('get') @sheet.Range(cell).Value end def count(m) e = Window.document.getElementById("#{m}call") e.innerHTML = (e.innerHTML.to_i + 1).to_s end def shutdown Window.clearInterval($timer) Thread.new do close end.join Window.setTimeout(Proc.new{Window.close}, 1000, 'RubyScript') end def close @book.Close() @excel.Quit() end def self.instance @@singleton end end def server_start() Window.resizeTo 400, 300 uri = "druby://localhost:12345" DRb.start_service(uri, ExcelServer.new) $timer = setInterval(Proc.new{sleep(0.2)}, 200, 'RubyScript') end </script> </head> <body onload="server_start" language="RubyScript"> <h1> <center> <input type="button" onclick="ExcelServer.instance.close;Window.close" value="shutdown" language="RubyScript"/> </center> </h1> statistics <table> <tr><th>method</th><th>call</th></tr> <tr><td>put</td><td id="putcall">0</td></tr> <tr><td>get</td><td id="getcall">0</td></tr> </table> </body> </html>
setIntervalを使う場合は、最初はインターバルをうんと長め(5秒とか10秒とか)にしておいて、デバッグが終わってから本来の長さにすると良いです。というのは、タイプミスなどがあると、あっというまにブラウザクラッシャー状態になってしまうからです。
#途中でcloseメソッドを共通化したくてシングルトンに無理やりしたのでおかしいけど気にしないように。いくらでもnewできるし。
#追記:aikeさんの指摘箇所を修正
#追記2:@timerってどう考えてもバグ。あとで修正予定。→直した。グローバル変数を使う
TokuLog 改めB日記 - プラグイン機構のあるソフトウェアは初心者を育てる
あ、これは良い知見だな。なるほどなぁ。
追記:……と考えるとだ、C#にそういうのがあるか? とかJavaは? (Eclipseという幻聴がしないでもないが、ありゃ育てるつもりの人が作るものだし)というあたりに、全然見地が異なるにもかかわらず、LLとそうでないものの区別があるわけだ。しかも、仕事でユーティリティも作らず(はいはいjakarta-commons)、フレームワークも作らず(はいはいstrutsまだ使ってるのかな)と来れば、育つもへったくれもないのではないか……というか、誰も育てようとは考えていないということなのであった。ちょっと考え込む点があるから、もう少し良く考えてみる。
LINK : fatal error LNK1104: ファイル "miniruby.exe" を開けません。 NMAKE : fatal error U1077: 'cl' : リターン コード '0x2' Stop. NMAKE : fatal error U1077: '.\miniruby.exe' : リターン コード '0x2' Stop.例のあれがまた発症したのかなぁ。やり直し。
riを入れるとサイズがでかくなりすぎるので、previewが付いている間は、ri用のドキュメントを外した格好でパッケージングします。大体10MB弱。
添付のリファレンスマニュアルは、okkezさんの1.9.0最新版です(感謝!)。
#最初、ruby/1.9.1/i386-mswin32をまねしてvendor_ruby/1.9.1/i386-mswin32としてインストーラを作ったら、拡張ライブラリがロードできないので閉口した。そのままコピーすれば良かったわけなのだが。
(というか、少なくとも1.9.0-2の段階でそうなっているなぁ。というか1.8系もそうなのか)
みんな大好き関数型言語のイベントで、時間もどうにかなりそうなので参加した。
以下レポート(自己紹介とかは省略します)。想像で補っている部分あり。
三村さんの関数型言語の魅力と種類
特徴 ・ラムダ計算がベース ・関数がファーストクラス ・高いモジュール性 例)Haskell ・純粋関数型=副作用がない ・遅延評価=必要になるまで計算しない ・静的型+型推論 (この型がきたらこの処理というのが静的に決まっている) ・モナド=副作用をごまかすための再発明 Real World Haskell: Code You Can Believe In(O'Sullivan, Bryan) ・実践的な(例:ネットワークプログラミング)プログラミング ・ラムダ計算=構造が3種類のみ ・変数 ・関数適用 ・関数生成 ・関数生成 ・関数=ラムダ式に名前をつけたもの ・関数適用 ・ファーストクラスオブジェクト ・関数を受け取る関数(定番はmap) ・カリー化 ある関数の引数の一部に値を適用させた関数を返すようにすること 引数を2つ以上取る高階関数 (厳密には1個しか受け取れない) ・モジュール性 関数を部品として組み立てる 例)文字列中の単語を数える→文字列を空白で区切った配列を返す関数 +配列の要素数を返す関数 関数合成 関数を組み合わせる: 対象領域が小さい→テストが楽 組み合わせのミス(型)はコンパイラが指摘 ・Haskellの特徴まとめ ・ラムダ計算がベース ・関数がファーストクラスなので組み合わせる ・純粋関数型なので考えることが少ない←副作用がないので状態の意識が不要 ・型が味方となる ・流行りそうな言語を予想 ・Arc ポールグレアムが作った、クィックアンドダーティ用のクィックアンドダーティ言語 ・Pure 見た目がHaskellな動的言語+LLVM+置き換えベース評価式 置き換えベース例) two = x + y; two; → x+y x = 1; two; →1+y y = 1; two; →2 ・Clojure JVMで動くLisp(SchemeとCommon Lispの中間くらい) 並行プログラミングを意識 末尾最適化はしないのでrecurを使う → Pragmatic Bookshelfで3月頃 ・選択基準 ポールグレアムが好き→Arc LLVMやCの拡張に興味あり→Pure Javaと離れられない→Clojure
「〜とは〜です」という言い切り説明がうまかったと思う。
森田さん(id:emeitch(エメイッチ))のLisp創世にみるプログラマの価値
John McCarthyは、Lispの発明者。では、最初の実装者は? Steve Russell 1937年生まれ。Spacewarの開発者として有名。 Steveの功績 ・McCarthyは論文のための計算モデル記述用にLispを考えた(だけ) ・Russellがプログラミング言語として実装するアイディアを出す → McCarthyにたしなめられる ・でも、機械語を書いて実装 Lispがプログラミング言語として使えるようになったおかげがたくさん。 ハッカーと画家 コンピュータ時代の創造者たち(ポール グレアム) (出ている) 「実装には人の心を動かす力がある」
いい話。いずれにしても実装は重要。
もっともメインフレームでは機械語でプログラミングすることはそれほど難しいことではないよ、とおれは思うし実感として知っている(アドレッシングとか単純だし)のであったが(3番目の部分。20代くらいの人にとって実感できるイメージとしては、Eclipseとか使わなくても自分でantスクリプト書けばビルドできるよ=アセンブラなくても自分で機械語書けばプログラミングできるよ、程度ですな。それはそれとしてFORTLRANで実装したんじゃなかったけなぁ?)、でも2番目のところ=実装できるんじゃないかと突き進むところ、は確かにすごいよね。
ここで飲み物スタート。nobsunにいろいろ聞いたり。
突然インタビュー:(ALGOL脳からHaskell脳への切り替えについて) Q: 最初の言語がHaskellってことはないですよね? A: Turbo Pascal Q: ALGOL系のどまんなかじゃん A: 次がC++で、それからC A: あ、でもSICPは読んでた。メイヤーの本はしっくり来なかった。 A: オブジェクトはなんだか中身はわからないが呼べばその振る舞いをするとか Q: カプセル化 A: なんだ、関数じゃん。 Q: なるほど。……でも複数のインスタンスを扱うには A: そういうことは考えない Q: (なんとなくわかるような気がしている)状態遷移とかだと A: 関数を返す Q: (さらになんとなくわかるような気がして)だから関数がファーストクラスオブジェクトであることが必須なのか。
西川さん(id:nskj77)のArrowの話
・Arrow→計算を抽象化: コンピネータにより組み合わせて複雑な計算を実現する ・モナドには2種類ある ・副作用のコンテナ ・インターフェイス ← Arrowのgeneralization ・関数はArrowのインスタンス この後がやたらとおもしろかったが、書けない。 タプルってこう使うのか、というのが印象的。 質問コーナー: nobsun: Control:Applicativeのほうがわかりやすいのではないか? nskj77: すみません。勉強不足でそれはわかりません。
引き続きnobsunインタビュー
例に出てきたエラトステネスのふるいでは、無限リストから2で割り切れる数を除外したリストを引数にして、それに3で割り切れる数を除外したリストを引数にして……というのが出てきたのに関連して。
・遅延評価→考え付いたことをそのままプログラミングするために必須な機能 (遅延評価がなければ、無限リストは扱えないので別のアルゴリズムを考 え出す必要がある。遅延評価があればそんなことはしなくて良い)
以下LT
id:yuum3さん ・require 's' ・s %% s-ex % 文字列ですけど。 須藤さん ・咳リスペクト時代 druby -> dsm erb -> esm rinda? -> tsm RWiki -> wsm (sm……Scheme) 関数型:宣言 GaUnit: 定義によるテスト 牛尾さんと羽生田さん Scala! Scala! Yoshioriさん Pythonのワンライナーテクニックを使えば、文が書けないPythonのlambdaを使いこなせるよ(西尾さんリスペクト)
そういえば、なぜか時間内に終わってもドラが鳴りまくるので変だなと思ったのだが、家に帰ったらmrknさんからの札幌Ruby会議のIRCログが届いていて読んで氷解。もう、ゴングが鳴らされるかどうかにスリルとサスペンスを追い求める時代は過ぎ去ったのだな。
つまり、属人化重要ということですね。
ジェズイットを見習え |
Before...
_ arton [>これは追々直します。 よろしくお願いします。 ]
_ はら [やはり面白いですか『世界の測量』。気になってたんですよね。買うしかあるまい。ドイツ文学というと『香水』が好きです。「..]
_ arton [小説としての構成力、史実と奇譚の混ぜ方、どれを取っても素晴らしいです。僕にとっては明治以降の山田風太郎に並ぶ高い評価..]