Island Life

2004/05/11

ピアノ

http://homepage3.nifty.com/mogami/diary/d0405.html#10t4

普通に弾く速さでは一打ずつ構成していると意識の速度がまにあわない。イメージはチャンクを使って構成する必要がある。…簡単に出来ても次に進まずこのようなチャンクのレパートリーを増やしておくのがいいのだろう。慣れるときっと小節くらいが一つの「単語」になるんじゃないかと思う。

これから両手に挑むわけだけど、あれって、和音としてチャンクするものなのだろうか。それともそれぞれ別に作った片手の動きを同期させる感じでやるのだろうか。

自分の場合、言葉で説明するのは難しいのだけれど、 だいたい「一気に」弾くひとかたまり---分散和音ひとつのこともあれば、 数小節から10数小節に渡るフレーズ全体のこともあるが---くらいの感覚で、 ある「構造を掴む感覚」がある。

その感覚は、例えば、イントレみたいな足場を作るのにいろんな部品を うまい具合に組み合わせて、かちっとはまったところで、個々の部品は細いのに 構造的にとても頑丈なものが出来た時に感じるものとも似ているし、

持ちにくい、変な形のものを持ち上げるために色々な場所に手をかけてみて ふと、余分な力を入れずとも楽に持ち上げられるポジションをみつけた、みたいな 感覚でもあるし、

ロッククライミングをやったことはないのだけれど、微妙な岩のでっぱりを 見つけて体重をかけても大丈夫なくらいがっちりとグリップを得た時って こんな感じがするのだろうなと想像できるような感覚でもあるし、

  • それは、とても全身的、肉体的な感覚であるり、
  • 同時に、全てが全てを支えあっている、というイメージであり、
  • 複雑な構造であっても、細部の全てと全体とが同時にはっきりと見えている

特に最後の、部分と全体が同時に見えている感覚が、日常生活で相当するものが ないので形容し難い。空間だけでなく時間も同時に存在していて、 あるフレーズの全てが同時にそこにある。でもそれを人に伝えるためには、 演奏という形に落とすしかなくて、そうすると時間軸方向にも解きほぐされた 形にならざるを得ない。

かように言葉にするとつかみどころがないのだが、その感覚自体は自分にとっては とても具体的で間違いようのないものだ。 記憶力も落ちてるし、練習時間もあまり取れないしで、最近はいかに効率良く 弾けるようなるかを考えているのだけれど、新しい曲をさらいはじめる時には 積極的にその感覚を求めるようにしている。

たまに、練習をしていると、普段掴んでいるそういう固まりよりずっと 大きな単位での構造物が、ちらりと見えることがある。今日もそれがあった。 「あ、この曲は、つまり、そういうことだったのか」と思う。 そこに見えた構造物に沿って指をあててゆけば理想的なものができそうな気がする。 けれど、残念ながらそういうヴィジョンは長続きせず、 指もついてこない。うまい人っていうのは、 きっとそれがあたりまえのように見えてて、 さらにそれを現実化できる体力を備えているってことなんじゃないかなとか思う。

Tag: Piano

2004/05/11

The spirit of resistance to government is so valuable on certain occasions, that I wish it always to be kept alive.

Thomas Jeffersonの言葉だそうだ。 Paul Grahamはこの言葉を引いて、ハッキングの本質とはunrulinessであり、 それが実はイノベーションの原動力であるとしている。 (シリコンバレーが米国に現れたのは、まさにそのthe right sort of unrulinessを 好む空気のためであるとも)。

法に触れちゃいかんが、 法「だけ」で技術が押さえられるものでもない。特に情報関係は。 抑圧ではなく、協調するしかないと思うんだがな。

Tag: PaulGraham

2004/05/08

AOPについて。http://www02.so-net.ne.jp/~greentea/pre.html

Lisp (別にElispでもいいんですけど) をちょっとかじったことがあるなら、 adviceの存在は知ってますよね。AOPというのは、そのadviceに (ワイルドカー ド付きの) 型システムを持ち込んだものというのが第一印象です。

その印象は本質を突いているかと。 Gregor Kiczales氏のやってきたことに注目すれば、 CLOSのメソッドコンビネーションからAOPへはごく自然な流れに見える。

Kiczales氏とはILC2003でちょっと話した。 「AOPのポイントカット指定方法はSchemeみたいなanonymousなfirst class object中心の言語だと困りませんか」 と聞いたら、「そうだねえ、困るねえ」って、あんまり気にしてないみたい。 彼の印象は、体力系超絶技巧派。理屈の綺麗さは脇に置いといて、 その技巧を駆使して動くものをわしわしっと作ってしまう感じ。

Tag: Lisp

2004/04/30

すげぇ→一輪セグウェイ。 この人は前にも(2輪の)自作セグウェイを作っている。 Paul Graham、Robert Morrisと一緒にViawebのプログラム書いてた人でもある。

Tags: Hardware, Hack

2004/04/25

Lispで一番クリティカルな部分を速度で最適化する場合、 (optimize (speed 3) (safety 0)) とかにして、 型宣言をつけまくるわけだが、関数を編集して再定義したら インタラクティブに(disassemble 'foo) してどういう アセンブリコードが出てるかを調べる、というのをよくやる。 首尾良くCで書くのと同等のコードが出たらニンマリ。 もちろん(safety 0)だとミスればSEGVるところまでCと同等になるんだけど。

結局そのへんの泥臭さってのは、Cで書いててもLispで書いてても 似たようなもので、Lispプログラマも必要に応じて 「コードがどういうアセンブリに落ちるか」を意識する。 というか、80年代からLispやってた人達ってのは性能に関する議論を はじめるとだいたいそのレベルで考えるみたいで、 すぐに「こっちの方が1インストラクション少なくて済む」とか 「メモリロードが少なくなる」とかそういう話になる。 (MLerもコンパイル後のコードにセンシティブなような 印象があるんだけど、あんまり話したことないから知らない)。

そういう「低レベル(=アセンブラに近い)プログラミング」を している場合でも、Lispだとマクロを使ってがんがん定型処理を 自動化してくから、Cで書くのに比べてはるかに楽ではあるんだが。

このへんの感覚は、90年代以降に登場した高級言語とちょっと違う ような気がする。処理系そのものにタッチしている人を除いては、 その言語をかなり使ってる人でも、コンパイラの吐くコードがどうかって 考えながら書く人ってあんまりいなさそう。 それをしなくていいのが高級言語のいいところ、ってのはそうなんだけど、 クリティカルな部分でunder the hoodのどろどろしたところを いじりたいっていう要求もあるわけで。

効率は欲しいけどそういうどろどろは嫌、って人がstatically typedな 関数型言語に流れるんかな。コンパイラを賢くして全部やらせようっていう。

まあ、Lispっつっても処理系はいろいろあるわけで、 バイトコード処理系だとそこまでこだわりはないしな。 Gaucheだってネイティブコードにコンパイルしての最適化までやる気はないし。 VMレベルではもっと速くしたいけど。

いやまてよ。新しめの言語に比べて、そもそもLispは処理系に興味がある人くらいしか 触ってないって可能性があるか。

Tags: Programming, Lisp

More entries ...