2010年10月30日土曜日

iPhone4

ここまで電話として使えないと、緊急避難的に他のゼロ円電話を買うしかないな。そういえばドコモの宮益坂にあるショップに少し前、HTCの古いWindows Mobileがあって、JavaFX動かしてみたいと思ったのだが、さすがにQVGAではねえ。そこまでmobileでどうこうしたいわけではないので。11月に新商品が出ると、ゼロ円のラインナップも変わるらしので、そこにちょっと期待しよう。

selenium/WebDriver

selenium/WebDriverには何と、DOMへの(エレメントの)追加機能がないようだ。webdriver javadocを見てもそれらしいものがない。クッキーの設定が出来るというのを読んで、当然DOMヘの追加も出来ると思い込んでしまったらしい。テストツールなんだから、書き換え機能は不要ということか。

WebDriverのソースを見れば、設定系も追加できるのではないかと思うが、今今は無理だな。勢いFireBugのAPIなんかも眺めてみたが、これも時間かかりそうだし。

ということで、折衷案を模索中。というほど案があるわけではなく、解決できるかという問題。ツーファイブワンとは行かず。

2010年10月29日金曜日

Write Once Run Anywhere

問題はそのレベル(レイヤ)だろう。最大公約数的に低いものに合わせるのではなく、自由なプロファイルで新しいものを取り入れていく。するとTCKのような互換性チェックではなく、セキュリティ上の脆弱性やライセンスの整合性といった、利用者や開発者への安全性をチェックする認証機能が必要になる。

壊れたハードウェアでは動かない。だが動くハードウェアとは何を指すのか。

2010年10月26日火曜日

ロゼッタストーン

1. ロックバンド
2. 象形文字を解読する手がかりとなった石
3. 外国語学習教材

今日の正解は3.
教材の効果は不明だが、このCM(Crossing the Language Gap)が素晴らしい。正確にはビデオで見たときにリアルに見えるように、この部屋の床と思われるところにペイントした峡谷と橋。お見事!

Ⅰ7とⅤ7

コード暗記をしていて、Ⅰ7を弾いたとき、そのセブンスを完全4度とした、4度上の音階に移ってしまう。"しまう"という言い方もなんだが、4度上のソシレファに聞こえる。これはダイアトニックのメジャースケールの中にⅠ7が無く、逆にそこから4度上のメジャースケールにはⅤ7があるからだろう。4度上から逆に元のⅠを見るとⅤになる。具体的に例を上げるとCメジャースケールの4度上はFメジャースケールで、その中の5度(ソ)はCになる。

要するにⅠ7は4度上のⅤ7と同じ構成音なので、Ⅴ7と感じやすい自分ということ。かな。

それにしてもシレファがシから見るとシのフラット5なので、それに5度足したコードってなんだ?と悩みまくってしまったが、以外にも”ソシレファ”でググるとG7の説明に行き当たり、解決した。

でも納得するまで結構時間かかった。

読み返してみると、セブンスが完全4度上のスケールの完全4度に聞こえるというのも面白い。がそれが事実。そういえば思い出したが、ググって出て来た本に「ソシレファの次にドミソに行きたくなる」とあったが、まさにその通り。だからドミに近いファに意識が行ったのだろう。

ちなみに元のスケールはDb(フラット:♭は文字化けしそうなので小文字bで代用)だった。つまりDbにおけるDb7の7はBで、BはDbのシ(短7)よりF#(Gb)のファ(完全4度)に感じるほうが強い、という説明が後で見てもはっきり分かると思う。

2010年10月24日日曜日

seleniumの角

seleniumサイトのタブ(Project Home,Download,Wiki..などの選択タブ)の角が丸くみえるのだが、これをFireBugでのぞいてみると、なんと3つのdivを使って表現していることが分かる。だがcssが不可思議な名前で表示されるので、実際のHTMLおよびCSSソースをみてみると、

<div round4>
<div round2>
<div round1>

.round1 {
border-left: 1px solid #fff;
border-right: 1px solid #fff;
}

.round2 {
border-left: 2px solid #fff;
border-right: 2px solid #fff;
}

.round4 {
border-left: 4px solid #fff;
border-right: 4px solid #fff;
}

.round1,
.round2,
.round4 {
font-size: 0;
margin: 0;
padding: 0;
height: 1px;
}
(以上、http://code.google.com/p/selenium/のHTMLおよびCSSより抜粋)

となっている。実は角が丸いわけではなく、長さの違うdivが3つ入っていたというわけ。

さて本題は、WebDriverを使ってみたい、ということだが、http://code.google.com/p/webdriver/にアクセスすると、seleniumに飛ばされてしまう。

seleniumのDownloadのsummary+labelsには、

"The Java bindings for Selenium 2, including the WebDriver API and Selenium RC clients. Download this if you plan on just using the client-side pieces of Selenium"

と書かれているし、ページの右側には、WebDriver javadocsへのリンクも貼ってあるので、取りあえず落として確認してみたい。

JSObjectを使ってAppletからという選択肢もあり、それも面白そうなのだが、Appletだとリフレクションが使えなそうなので、次の機会に。

2010年10月22日金曜日

『憂鬱と官能を教えた学校』TV 第1〜3回の再放送

ありがとう!フジテレビNEXT!

いやー念願の再放送を見る事ができた。もの凄く面白い。今日(昨日再放送されたのを録画していた)3回目を見たのだが、気づいた事が1つ。校長の話にはケーデンスが入っている! 話の最後のごにょごにょっとした言い回しを良く聞くと必ずツーファイブワンと言っているのだ。もう少し回を重ねたらポリリズムも聞き取れるようになるかも。

この番組の観戦記を書きたいがもの凄い時間がかかりそうなので、ネタだけ押さえておき、アプリと一緒に出すか。という今日のところは。

あともう一つ、か2つ。

まず再放送で分かったのだが、ゲスト聴講生のTOKIEさん、最後のしめにも出てこないし、中抜きも少なく、非常に存在感薄めに設定されている。最後のしめには出て来た方がいいのに。ご本人の希望だろうか、あるいは校長のたっての頼みだろうか。

それと、なんだっけ。忘れた。

とにかく。やっぱ校長だよ。素晴らしい。          あ、教頭も。

2010年10月21日木曜日

Raul 2 Goooooooal!

2ゴール目は右足! キーパーの重心の逆を突いた、教科書のようなシュート。1本目のフンテラールのスルーも素晴らしかった。内田くんからのクロスに合わせた得意のヒールベンドが惜しかった。終了間際の失点はかなり余計だったがしょうがない。それにしてもポゼッションの割合が47%には見えなかったが、どうやって算出しているのだろう、ということをそのうち調べようと思っていてなかなか手がつかない。

そしてきのうと打って変わって動作が鈍いFirefoxをパソコンごとリセット。

煽り記事

もう煽りブログとは縁を切ろう。猛省。

2010年10月18日月曜日

Google検索に反映されるのが異常に早い

さっきポストしたエントリがもう出てくる(ToolProvider MacOSX 10.6)。でもキャッシュのURLはついてない。Safariをリセットして再度検索してみると、同じだ。ふ〜ん。すごいね。(と素直に感心)

BeanShell


リフレクションを使うにあたってクラス名一覧をどこから入手しようかと検索すると、tools.jarにあるToolProviderを使う例があったが、そのtools.jarがMacOSX 10.6のJavaSE6には入っていないようで、困ること数時間。諦めて次を探すと今度はBeanShellを使う方法が載っていたので、まだ(BeanShellを)起動できるようになっただけだが、ここまでの過程をmemo.

まず、BeanShellを検索し公式サイトを見つける。
次に、Documentからインストールおよび実行方法を確認。
bsh-2.0b4.jarをダブルクリックすると、スプラッシュが表示され、メニューにBeanShellが現れるものの、固まってしまった様子で、あえなく強制終了させる。

beanshellを検索すると、DarwinPortsらしきサイトが見つかるので、MacPortsで試してみる事に。しかし、最近まったく使っていないので、使い方から復習。

MacPorts

まずmacportsの公式サイトのDocumentationから使い方を復習。暫く使っていないので、

sudo port selfupdate

を実行。続いて、portのinstall方法を探す。

sudo port install beanshell

問題なくインストールされた様なので、次にbeanshellの起動方法を探す。/opt/local/share/doc/beanshellを確認すると、bshmanual.pdfがあるので開く。見ていくとP8の中程に、

java bsh.Console

とあるので、実行してみる。そうしたら今度はちゃんとコンソールらしきものが表示されたが、macosのターミナルになにやらExceptionが表示される。今は無視。

さて、BeanShellを入れたものの、さっきのサイトのコードを見てもBeanShellとコードの関係が全く分からない。getClassesForPackageのこと? 自分としては、workspaceにコマンド入力したら一覧が得られると思っていたが、マニュアルをざっと読んだところでまるで分からず。今日は諦めよう。


(17:00頃追記)

と思ったら、なんと、classes.jarが見つかった! /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classesにあるじゃないか。JDKのパスを確認しようと手動でフォルダを展開しているうちに偶然見つけた。

つまり、finderの検索で、"このMac"や"Macintosh HD"で探すと出てこないのだが、その下の"システム"(/System)で検索すると出てくる。なんだよ...だったら偉そうに検索viewになったときに"このMac"や"Macintosh HD"の絞り込みボタン貼るなよな。自動的にボタンが出てくれば普通、選ぶでしょう人情的に。

ということで、classes.jarを追加してToolProviderを使ってみる事にする。

(2010/10/19 追記)
結局こちらを参考に、というか全面的に参照させて頂き、"java.io"とか"java.lang"とかを指定すると、StandardLocation.PLATFORM_CLASS_PATHから探して来てその内包するクラスファイル名の一覧を取得できたように思われる。ありがとうございます。

だがjavaが全面的に分からないこともあり、この先前途多難な雰囲気がまた突破に向けては面白くなってきた感。

一階戻って考え直そう。

2010年10月17日日曜日

白戸次郎

白戸次郎のマグカップが貰え、iPhone4の本体が実質ゼロ円で買え、しかもパケット定額フラットで4410円で使い放題。そんな素敵な条件を、完全に忘れ去ってしまう事件が怒った。

iPhone4だけなのかどうか知らないが、知らない相手が勝手に留守電を入れると、電話のアイコンに赤い○がついて非常に目障りな状態に陥る。これを解除するには留守電のメッセージを消去するしか方法がないのだが、留守電を消去するには、メッセージを再生しなければならない。ところがこれには、

30秒あたり21円の料金がかかる

しかも再生したから良いだろうと思い、すぐ電話を切ると、まだ目障りな赤丸が消えない。仕方なく、もう一度1416に電話すると、勝手に保存されてしまっている。しかもそれも再生しないと削除できない。そして再生するには30秒あたり21円かかるのだ。つまり、削除するには、聞くに堪えないメッセージを最後まで再生し(聞かないと再生の終わりが分からず、いつまでも再生していると30秒あたり21円かかるので、30分もほっといてそろそろ良いだろうというわけにはいかない。まあ留守電の保存時間制限はあるだろうが何分か知らないし)、その上で削除するしかないのだ。

私はSoftBankのショップで買ったのだが、留守電はiPhoneには付いてないので、月額315円の有料版に加入しないと留守電が使えないと言われたので、それで良いという会話をしているにも関わらず、勝手に留守電をONにされ、再生するか48時間赤丸に耐える以外に方法が無いことを、延々SoftBankとやりとりした上で初めて思い知らされたわけだ。

アメリカでJBが合法と判断された理由に、クルマのチューニングの喩えが用いられていたが、この迷惑留守電の主は、皮肉にもプジョーの正規ディーラーだった。自分の場合は自分でチューニングとまでは行かないものの、とっくの昔に他のメンテ屋さんに乗り換えていたのだが、DMだけでは飽き足りず、電話を掛けて来たのだろう。

ディーラーを止めた理由は単純。金額の高さはもとより、ぼったくられる(不要な交換を勝手にされたり、聞いていない請求を取られたりした)上、「直りました!」といって全然なおっておらず、原因が違う部品だったから。自分の乗ってるクルマは好きなので、できるだけ長く乗りたいが、ディーラーはご免被りたい。

30年構想でiとiでwe、などと白々しいことを抜かしながら、裏ではこんな詐欺まがいな行為を平然と行っている。30秒あたり21円の問題ではない。ディーラーの話を無理矢理聞かせれたのが最低なのだ。しかもお金を払ってである。これ以上の馬鹿が一体何処にいるだろう。だが、同じように迷惑留守電で困っている人は沢山いるのではないだろうか。しかも何もしなくてもSoftBank同士なら勝手にタダトモになるので、迷惑留守電を残した方は通話料無料!なのだ。儲かるのはSoftBankだけ。白戸次郎、恐るべし。

そろそろ私にもクルマのチューニングよろしく、JBが必要なのかもしれない。

だが忘れてはいけないこともある。ここまで電話料金が下がったのは、いままで高すぎたということもあろうが、その中でSoftBankが頑張ってくれたところもあると思う。しかも今回のiPhone4実質無料! これは最大限賞賛しなければ不公平というものだ。がんばれ!SoftBank。次はFaceTimeを3Gで有効に。待ってます。これも知らなかったんだよなあ。恐るべし、白戸次郎。あのCMを観て、Wifi経由のインターネット回線を別に利用出来る環境がないと不可能だという事実を理解できる人が果たして何人いるだろうか。iPhoneとiPadさえあればもはやインターネット回線すら要らないと思った人はどう思っているのだろうか。これもSoftBankショップでの説明は無かった。ひょっとしたら「読んでください」と言われた確認事項の中には書かれていたのかもしれないが、そこまでは覚えていない。

2010年10月15日金曜日

Reflect

hide1080さんのブログで asObjectというのを知った。ありがとうございます。ここで自分に重要なのは、

「asObject()メソッドでObjectに変換する」

ということ。as Object でキャストすると、コンパイルは通るが実行時にStageにキャストするところで例外が発生する。ただ、NetBeansIDE上見ると、どちらの場合もクラスがObjectとしか表示されない。当たり前か。これが 1 as String でコンパイルエラーになる( 1.toString()とする )のと同様、コンパイルエラーになるべきか(出来るのか)は分からないが。とにかくasObject()で javafx.reflect.FXLocal.ObjectValueをObjectに変換する必要があるということだった。どうも暗黙の変換に依存しすぎて来た影響で、キャストと変換を混同してしまいがち。まあこの辺は1日で感覚が戻って来ているので、書いていくうち何とかなるだろう。

※余談だが(1).toString()で()を忘れてtoStringだけにしてしまうとtoString関数と見なされ?て実行時エラーとなるので注意。

var mscene = Scene { /*width:400 height:200*/ };
//var mscene:Scene = make("javafx.scene.Scene") as Scene;
var mstage:Stage = make("javafx.stage.Stage") as Stage;

//mstage.scene = mscene;
mstage.title = {"testReflect {1.toString()}"};
mstage.width = 400;
mstage.height = 400;

function make(clsname:String){
var context = FXLocal.getContext();
var cls = context.findClass(clsname);
var ins = cls.allocate();
ins.initialize();
// return ins as Object; これだと実行時に戻ってからのStageへのキャストが失敗する。
return ins.asObject();;
}


また、最初Sceneもreflectで作成しないといけないのかと思ったが、通常の書き方で作成しても大丈夫なよう。別に試しているRectangleがうまくいかなかったのでそう思ったのだが、これもasObject()していなかったから。他にもwidthしか設定してなかったため、heightが0だったとか。

だが不思議な事が1つ。

途中、mstageにsceneを設定しないと、
mstage.width = 400;
が利かなかったので、後からsceneを追加したはずなのに、それをmemoしようとsceneの設定をコメントアウトしたが、今度は問題なくwitdhが利く。なんで? もしやと思い、msceneの宣言をコメントアウトすると再現した。なんだよ・・・。つまり、Stageに設定していなくてもSceneが同じファイル(=クラス?)の中に有ればいいみたい、ではなくて、そもそもSceneの入ってないStageってどうよ、という問題だと思われる。今、たまたまreflectで作ったStageのプロパティ(変数)を変更したいだけなのでSceneを端折っただけなわけで。

それにしても最初にreflectを見た時、initValをintValと見間違えて、「わざわざintって指定するなら意味ないじゃん」と捨ててしまった愚かさよ。さようなら。どうか永遠に。といいつつ最近誤字も多いし脱字も多いし。実は昔からだという話も。

次はJavaのreflectも。

あれ、initValがないと思ったらmake()にクラス名を渡すようにしたからだが、asObject()の逆を探さないと...まあ最悪引きずっていけば良いといえば良いのか。asObject()覚えたからといって、一階上というか普通の(Stageとかの)クラスに変換しなきゃならないかどうかはまだ分からないわけで、というより、そもそも中途半端に面倒になってmstage.widthとやりたかったというのが事の発端なだけだった、よく考えれば。

2010年10月11日月曜日

DCPRG

雨の野音。20世紀少年を連想するイントロの台詞。かっこいいパーカッション。でもどことなく普通。意表をつく感じが無い。そうしているうち、全く追えない曲。DCPRGは初めてだったが、直前のインタビューで「00年は結局ポリリズムとポリグルーヴだった」という内容を知り、アフロポリイを聞いて、読んで時のごとくポリ=多であるということを知ってしまった先入観は無かった方が良かった。昔ディスコからクラブへ変わりだした頃、元々二拍三連が大好きな自分のキャラも手伝ってだと思うが、ノリを15/16に置いたり、リズム自体を完全にズラして踊って喜んでいた時代がある。ポリリズムやポリグルーヴという言葉は今まで知らなかったけど、それは音楽的なものより、数学的なパズルのような感覚であり、かかっている曲のリズムの内側に自分だけのリズムを見つける面白さだった。端から見れば酔っぱらいのようと言われてしまう恥ずかしい様態であったが、自分だけが見えている秩序をなぞっているという、利己的(独善的)な価値を楽しんでいたのだ。だがそれは自分の中では踊りというか、ある種のシンクロであり、音楽ではない。そうした感覚をかつて持っていたせいか、向こうがポリグルーヴで来てしまうと、自分の居場所を見つけるのが大変。例え3本線の中に細いステッチを見い出したとしても、むしろその利己的価値を見い出せないのだ。しかもDCPRGの音程は通して無属性的であり、それはポリグルーヴの宿命であるかのように響く。もしメロディアスな抑揚のある音程であれを通したら、それは単にオブラディオブラダとイエスタデイを同時に演奏しているだけになってしまうかのようだ。実際は分からない。単にPAのせいで音がつぶれてしまったのか、耳が悪いだけなのか、カッパや雨のせいなのか。だが確かに無機質な、それでいて、一定の範囲に収まっているように聞こえたことは間違いなく、それが超人的バランス感覚のなせる技なのか、プロのマジシャンなら誰でも使う常套手段なのかはわからない。ただ音は弱い。それは最後のデザートで顕著だ。最後のデザートはまるでちょっとは偉くなって里帰りした息子のような照れくささを醸し出していて、菊地さんのあの人の良さそうな笑顔そのままに、みんなに「ただいま」と言っているようだった。つまり凄い曲というわけではなく、誰もが抱くであろうハートウォーミングな懐かしい感覚、夏休みの夕暮れ時のような曲であり、だから逆に尖ったところが無く、サプライズが少ない。まとまって*しまっている*感。つまりこれを音楽として、それ以前は超音楽なのだ。分かりやすく言えば、呪文。自然現象。写生。そして菊地さんはやはり先生。もしこの先、その生徒さん達が世を席巻することがあれば、父と称されるに違いない。そういえば10/1から新国立美術館でゴッホ展が開催されているのを、野音に向かう途中の表参道駅の美しいポスターで知ったが、これも偶然ではないのかもしれない。

2010年10月8日金曜日

菊地成孔 氏

『「後輩達に向かって一言」と言われたので「インターネットの接続をなるべく切って、裸で海で泳ぎなさい」と言いかけたら、顧問の先生にマイクを奪い取られてしまった。』

こういうところが妙に波長が合う:D。でも何か雑誌のエッセイ?を読むと、まるで考え方が違うと思う。でもこの人最高に面白い。今まで何で知らなかったんだろう。

いままで音楽講座が面白いのに、氏に関してググろうともしなかったが、第7回がいつもの時間帯に放送されないことに気づいて慌てていろいろ探し出した。その中でMySpaceに掲載されている曲を聞いてびっくりして10/9(土)の野音ゲットしてしまった。タイミングもタイミングだよな。もし第7回がいつもの火曜日に放送されていたら、(番組内で告知がない限り)ほぼ確実に気づかなかっただろうと思う。

危うく『闘争のエチカ』も買いそうになったが、思いとどまった。不思議な事に渡辺香津美さんのUSBも同じeweで販売されていた。確か香津美さんはヒルサイドなんとかだったよなあと思いググってみる。そういえばいつからかメーリングリストがぱったり来なくなったのは、自分のPCがMacに変わってからか。なかなか見つからなかったが、「渡辺香津美、広尾」でググりようやく見つけた。「Hilltop Studio」だった。丘の中腹ではなく丘の上だったか。やはり香津美さんのサイトはkazumiwatanabe.netにリニューアルされているようだ。所属事務所が変わったのか。いろいろあるんだね。それにしても加山雄三さんとのツーショット、不思議な絵だ。

ライブスケジュールを見るとサテンドールが狙い目だが、お上品な感じで自分には無理っぽい。上質な音楽に浸る的なゆったりした心地よい感覚を想像してしまう。

いつの間にか、渡辺香津美さんの話になってしまった。10代の頃、六本木ピットインで演奏後に気さくに話をしてくれたり、気軽にサインに応じてくれたのを思い出す。ヤマハ楽器店で一日店長をされているときに偶然お会いした事もある。近いうちに一緒に仕事が出来るような気がする。

2010年10月4日月曜日

kindle

とりあえずiPhone 3GとKindle For Macを使ってみた。$0.00のものをダウンロードしてトライアルしている。そろそろiPhone4だろうか。iPadは重いので。MacBook AirがMacBook Touchになってもうちょっと軽くなってくれると良いのだが。あと5年かな。

なんかハイパーリンクが無い気がする。気のせいだろうか。普通の本には確かに無いが。う〜ん、俺は別なの作るからいいや。KindleはKindle、俺は俺。

2010年10月3日日曜日

ヴィンタートゥール展

改めてモディリアーニの凄さを実感した。実感というのも変な話だが。念のため、モディリアーニの作品はヴィンタートゥール展には展示されていない。強いて言えば、マリウス・ボルジョーの『町役場の中、選挙』。これは空間描写が素晴らしかった。もう一枚はアドルフ・ディートリッヒの『エシュリバッハの冬の風景』。依頼者の写真から起こしたとの事らしく、構図は平凡だが、色と曲線が描画技術としてみると素晴らしいと思った。

ゴッホの郵便局員は面白いのだが、如何にも洋服が手抜き見えた。書きかけというか、100じゃない感じが漂う。ルソーの赤ん坊は利かん坊だがイラストという感じが拭えず、(赤ん坊らしからぬ赤ん坊という意味で)ベタな表現に感じ入る事が出来ない。

素人には奥が深すぎたか。

公式サイトのみどころによるとブラックもあったようだが、全く気づかなかった。非常に混雑していて、遠目で飛ばした入り口付近にでもあったのだろうか。残念。だがもう一度1300円払って探しにいく気にもなれず。残念(2)。

写真掲載サイトがあったのでmemo。

^

サーカムフレックス|circumflex。^をググっても入力しても何も出てこない。確かに以前、Google検索では記号は無視するというような話を雑誌か何かで読んだ事がある。だがどうだろう。例えば"1ドル"をググると現在のレートが表示される計算機能?がある。詳しくは知らないが、こうした例は他にもあると思う。その中に記号を入れたら取りあえず読みを表示し、その読みに基づく検索を行うというのは。もちろん検索キーワードに記号が入れられるようになるに越した事はないのだが。

2010年10月1日金曜日