土曜日, 3月 29, 2008

谷中.上野.目黒

谷中に用事があり、その後、買ったばかりのデジカメを持って上野へ。

芸大でネグリさんに関連するイベントをやっているらしい。
でも、
ネグリとデングリ対話 入り口風景(ネグリさんは来れないってよ)

ということで、何だかよく分からない雰囲気になっている。
同じ時間帯に東大安田講堂で討論会があったようで、そっちは盛り上がっていたのかもしれない。
ネグリさんが来れなかったのは残念だったけど(主催者側の根回し不足なのか、官僚的な問題なのかはよくわからんが)、やけくそ気味のカオス状態に突入しているようにしか見えない。
ネグリさんを知らない(あるいは知らないふりをしている)人をとっつかまえて、ネグリさんが来れなかったことを愚痴る様に訴えている人も見かけたが、さすがにそれはどうかと思う。
マルチチュードは中心が無くても何とかなる状態、様態だと思っていたけど、この一連のイベントはネグリさんが中心にがっちり固定されちゃっていたんだろうな。
そもそも、主催側としては日本にはマルチチュードが無いという認識らしいけど、コミケというイベントがこれだけ長い期間継続して開催されているのは、それへの反論にならないのだろうかね?グローバル化=帝国と対峙しなければマルチチュードでは無いのかな?
東大や芸大にとってのマルチチュードっていったい何なんだろう。
それはそれとして、木幡さんはマルチチュードを有象無象と呼びたいそうな。素晴らしい翻訳だと思う。

で、満開の桜にマルチチュードが集まっている上野公園を通って、
マルチチュードが花見をする

目黒の庭園美術館へ。


建築写真の展示だったけど、買ったばかりのデジカメで撮影するのが楽しかったことしか覚えていない。
庭園美術館のライオンが見る風景

月曜日, 3月 24, 2008

「関係」関係

茄子さんが気になっている関係(Relational理論的意味にしろ、人文的意味にしろ)を表す道具を調べてみました。技術的用語は分かりやすさ重視な説明になっているので、その点は注意。

Dee
Tutorial DのPythonでの実装(たぶん)。Tutorial Dてのは簡単に言うと、SQL系DBではない真のRDBを操作するための言語。Java実装のRelとか、他にちょこちょこ実装は存在するものの決定打はまだ無い感じ。
RelはBDBというデータベースの上に構築されているけど、Deeの場合、開発中だからなのか、cPickleというPythonのオブジェクトをバイト列にしたものを利用している。なので信頼性が微妙な気がする。
Pythonで完結する分にはO/Rマッパがいらんから便利かも。

BigTable
Googleさんが自分で作って、自分で使っているDBらしい。でっかい一つのテーブルにたくさん詰め込むイメージらしい。行毎に列の数が違うとか、セル毎?にバージョン管理出来るとか、茄子さんの求めるものにかなり近い気がする。が、Googleの中の人にならないと使えないようです。
オープンソース版のHyperTabelというのもあるそうです。

rel-tag
microformatsの一つ。Webページやその一部にタグをつけられる。上のやつらと比べて、お気楽にはじめられる。ただし、言ってしまえばただのHTMLに書き込んでいるだけなので、そのタグ同士の関係をいかに結びつける方法、可視化する方法を作り出せないと、意味無し。

個人的にはDeeに期待しつつも、rel-tagが現実的選択かなあ。サーバ側にDeeを置いてとかでもいいけど。

金曜日, 3月 21, 2008

ネグリ氏 来日中止 ネグリ対サミットという構図

日本中のいろんな人が、いろんな意味でがっかりしているアントニオ ネグリ氏来日中止問題。
憶測は良くないけど、いろんなとこのニュースから推測するにこんな経緯なのかな?
  • 当初はビザ無しで来れるはずだった
  • 来日直前、ビザが必要だと言う話が外務省から来る
  • ビザを取ろうとしたら、法務省がネグリ氏が過去に懲役を受けている事を問題にする
  • 確かにネグリ氏はイタリア国内での政治活動に対して有罪判決を受け過去に服役している
  • 出入国管理及び難民認定法では過去に1年以上の懲役、禁錮刑を受けたものは入国を禁止している
  • ただし政治犯罪者はその例外(あれ?来れるんじゃね?)
  • 政治犯であった事の証明をするための書類を用意するのは非常に難しい
  • ネグリ氏来日を断念
書類が無くても何とかなる可能性もあるらしいが、いずれにしろ今回は間に合わなかったらしい。
外務省、法務省の言う理由は妥当だが、なぜ来日直前になってビザが必要という話が出たのかが分からない。
今回のイベントはかなり前から準備されていたし、ネグリ氏の懲役が思想的理由にあることは明らか。つか、他の国には普通に行ってるらしいし。

そんなこんなで、も少し調べると洞爺湖サミットによる警戒強化が背景にあるとか無いとか。
とはいえ洞爺湖サミットだって昨日今日決まったものではないだろう。
「帝国」「マルチチュード」のネグリがサミットに阻まれるというのは、もの凄く象徴的というか何と言うか。

一応、未来永劫来日不可能というわけではないというのが救いかな。

木曜日, 3月 20, 2008

gainer.pyで遊ぶ

Ouch! Ouch! Ouch!さんのgainer.pyをいろいろいじってみた。

が、なかなかうまくいかない。
備え付けLEDを光らせることと、ボタンの入力を取る事は出来たけど、加速度センサーの値がうまく取れない。
なぜかTrue or Falseで返って来る。Gainerの資料を読んでみるけど、よくわからん。

というか、True or Falseって明らかにPython側の話だよなと気付いたので、ソースとにらめっこ。
加速度センサーの値はget_specified_analog_input_continuous_modeで取っていたけど、こいつがset_to_gainerを呼んでいる。
で、set_to_gainerは確かにbool値を返している。多分これが原因だろうなとget_from_gainer_valueに変更。
しかし、変えていいもんなのか?I/Oモジュールが壊れたりしないよな?
と、恐る恐る実行すると、うまいことXYZの値がとれました。
結果はこんな感じです。

130 128 123
129 121 123
129 124 123
131 129 124
133 140 136
134 139 142
133 138 111
153 137 127
129 136 125
132 159 124

#左からXYZ

ついでに今回のコード。

from gainer import Gainer
import time

GAINER_PORT = "ポート番号"
gainer = Gainer()

gainer.open(GAINER_PORT)
gainer.configuration(1)

for i in range(10):
#but = gainer.get_button_state()
#print but
xin = gainer.get_specified_analog_input_continuous_mode(1)
yin = gainer.get_specified_analog_input_continuous_mode(2)
zin = gainer.get_specified_analog_input_continuous_mode(3)
print xin,yin,zin
time.sleep(0.5)
#gainer.set_onboard_led(1)
#time.sleep(3)
#gainer.set_onboard_led(0)

gainer.close()

gainer.pyは調査の過程で、私好みに勝手に改造してあるので、素のgainer.pyでは動かないかも。
他にも、setとgetが入れ替わっているところがあるけど、バグ報告はどうしたらいいのかな。
Ouch! Ouch! Ouch!にいちいちコメントするのも迷惑な気がするし。

日曜日, 3月 16, 2008

NodeBoxチュートリアル

出遅れ感があるもののとりあえずGainer with NodeBoxで遊ぶためにチュートリアルをやってみる。

とりあえずPremitiveをforで繰り返してペタペタ張りつけ。
確かにLogoやBasicぽいかも。

#タートル幾何学じゃないからLogoとは違うかな

Animationはsetup関数で準備して、draw関数で動かす。
肝心のInteractionはまだよく掴めていないけど、イベントハンドリングはifでやればよさげ。
とりあえず感じは掴めた。あとは遊びつつ覚えよう。

Libraryを漁っていたところ、TUIOなるものを発見。
OSCというキーワードがあるところを見るに、funnelとの連携にはこいつが便利なのかな?
それともfunnelを使わずにOSC.pyだけでどうにか出来るものなのかな?

とりあえず眠いので今日はここまで。

火曜日, 3月 11, 2008

松本市立美術館

pydevcampからの帰りに、松本市立美術館の、やなせ・たかし展を見てきました。

松本市は街並みも綺麗だし、歩いていても市民の美術に対する意識が高いことを感じていたけど、この美術館はそれが思い込みでなく事実であることを証明しているような、とても良い美術館で、とても綺麗な建物。

アンパンマン以外の作品も多く展示されていたけれど、アンパンマン目当ての子ども達が、たくさん見にきてました。しかも割りと行儀が良かったのが印象的。大好きなアンパンマンに興奮しすぎることなく、きちんと見ていました。

常設は残念ながら見なかったけど、パンフレットを読む限り、市立美術館らしく松本市に縁のある作家が中心。でも、決して地元受けだけを狙っているわけでなく対外的にもかなり力を入れている様子。

草間弥生にかなり力を入れているようで、水玉自販機がありました。
#写真を載せたいのにbloggerが受け付けてくれない、、、

pydevcamp2008wまとめ

早く書かないと記憶が揮発するので、まとめ。

Gainer


率直な感想は「こんなに簡単にできるんだ」。
以前似たようなことをやろうとして失敗した身としては、たった十数時間でここまで出来るというのはかなりの衝撃でした。

今回作ったものがしょぼかったのは、PyGameを知らないからという本人の不勉強のせいであって、gainerは与えられた仕事、すなわち「物理世界と電脳世界の橋渡し」を立派に果たしてくれてました。
フィジカルコンピューティングという概念を、「物理世界におけるLL」「物理世界をスクリプト処理すること」と捉えれば、gainerはかなり高いレベルでそれを実現出来ているんじゃないかな。
物理世界とのアクセスは今後流行するかな。ティムオライリーさんもWeb3.0は物理世界とつながる云々言ってた気もするし。
もっと遊んでみよう。とりあえずGainer with Nodeboxからだな。

BuildBot

テストの自動化は常日頃気にしているテーマなので、興味深く聞いた。
Seleniumを継続的インテグレーションに組み込む方法についてはいつも考えていたので、非常に参考になりました。
設定ファイルがパッと見た限り難しそうなのが、少し残念。本質的解決ではないが、ウィザード形式で自動生成する方法などはないのかな?

全体

Pythonの適用領域の広さを確認できた三日間でした。これまでは、Python = Web系と何となく思ってたけど、Gainer、Buildbot、Nodebox、scipyといろんな使い方を聞いたり見たり触ったりできて本当に楽しかった。
しかし、Mac使い多かったな。自宅はMacな人も含めれば、過半数を超えていた予感。