月曜日, 12月 28, 2009

wii-tagとりあえずのまとめ

夏ぐらいからCREAMとかGRLとかlaser-tagとかに関わって、考えた事のまとめ。

wii-tagを作り始めた動機はlaser-tagを見て、以下のようなことを考え始めたのがきっかけでした。
  • レーザー光線は危険
  • 原理上複数人で遊べないのはつまらない
  • laser-tagの面白さはどこにあるか気になる
もっとも、最初からwii-tagを作ろうとしたわけではなく、これらの事、特に一番下の事柄を考えることから始めました。

laser-tagの仕組みは大掛かりだけど単純で、レーザーポインタの軌跡をカメラでとらえてポイントされた位置をプロットして、その位置にブラシを描いた画像を、ポインタを当てた壁にプロジェクターで投影する、というものです。
laser-tagについて、レーザーポインタで絵を描くという宣伝文句が使われますが、実際にはレーザ光線で直接描いているわけではなく、カメラ、コンピュータ、プロジェクターがレーザー光線と描かれた絵の間に存在するわけです。
仕組み上、レーザーポインタは派手ではあるけど、座標を指定する役割しか持っていません。またカメラも結局のところ座標指定に必要なセンサーでしかなく、レーザーとカメラはセットとなります。座標の指定をしたいなら、レーザーポインタである必然性は実はなく、x,yの組さえ作り出せれば、他の道具でも構わないわけです。
この事からlaser-tagの核は、コンピュータ、プロジェクター、壁の3つではないかと考えました。
ではレーザーポインタの代わりに使えるものは何かという事で考えたのがWiiリモコンです。割と安直ですが、Wiiリモコンは以下のようなものです。
  • レーザーポインタとほぼ同じ操作感
  • レーザーポインタほど危険ではなく
  • 複数人による操作も可能
ここまでくるとWiiリモコンによるlaser-tagみたいなものがどのようなものか気になるわけです。誰かやっていないかと調べたのですが、誰もやっていないようで、自力でどうにかしないと手に入らない事が分かりました(実際にはGRLオーストラリアの人たちがWiiリモコンを使っていたのですが、その時は調べ切れませんでした)。

実際に作り始めると、Wiiリモコンをパソコンで使う方法がなかなか分からず、またセンサーバーも自作したりと、結構大変な作業でした。
その間にCREAMでの活動の中で、本家laser-tagについても触ったり、設定をいじったり、外でやったりする中で、レーザーポインタは必須では無いにしろ、派手さや遠距離到達性については無視できない特性であることに気付かされ、また危険性については回避しえない事の確認もしました。

今現在、wii-tagはプロトタイプとしては、ほぼ完成状態にあり、一度どこかの壁にプロジェクションして、動作を確かめたいと考えています。
ほぼ完成した今、気になっているのは、この5ヶ月ほどwii-tagを作りつづけた行為は何なのかという事です。
現時点での答えは、wii-tagは鑑賞行為であり、批評行為であるというものです。
ベルナール・スティグレールが紹介しているのですが、19世紀において美術館は作品を鑑賞するだけの場ではなく、模写をする場だったそうです。眼だけではなく、模写という手の運動によって、作品を自分の中に取り込む事が、作品を鑑賞するという行為であり、批評行為だったわけです。
wii-tagはまさにlaser-tagの模写と言えます。5ヶ月がかりでwii-tagを作ると言うことは、5ヶ月がかりでlaser-tagを鑑賞してきた事と同じであり、ここまでやらないとlaser-tagについて最初に考えた事を解決する事は不可能でした。
またこのことは、デジタル・テクノロジーが安価になる事で、デジタル・テクノロジーを利用した作品も模写出来るようになったという事を表しています。
wii-tagについては、鑑賞、批評行為であったと一応結論づけるとして、模写による鑑賞が、デジタル・テクノロジーによる作品についても可能になったという事がどういう事なのかについては、もう少し考える必要があるようです。

今年読んだ小説

何を読んだか記録しておくために、とりあえず記憶の中からリストアップ。
本当は小説に限らず全部記録すべきで、そのためには都度記録した方がいいんだろうけど。
小説というよりSFばかり。そして特に意識していなかったけど女流作家とイギリスの作品が多い。
これは最近のハヤカワの傾向なのでしょうか?
順番は基本的に挙げてある最後の本を読んだ作家順です。
訳者は調べ直したけど、間違いがあるかも。

プロバビリティ・ムーン
プロバビリティ・サン
プロバビリティ・スペース

ナンシー・クレス/著 金子司/訳


複数の異星文明との接触とその戦争を描いたシリーズ。
古代の銀河系超文明が残したらしいゲートを使った跳躍航法によって光速を突破出来る設定。
タイトル通り、だんだんスケールが大きくなっていく。
が、一番の見どころは、登場する異星文明の描写だと思う。
そういう意味で、一番面白いのはムーンかと。サンとスペースはどちらかというと人類の描写が中心なので。





エイリアン・テイスト
ティンカー
ようこそ女たちの王国へ

ウェン・スペンサー/著 赤尾秀子/訳


キャラ重視で作品を作っているらしい作家。でもティンカーや、ようこそ女たちの王国へで描かれる異文化の描写も面白いと思う。
エイリアン・テイストも異文化とまではいかないけど、特異なコミュニティの文化の描写に力をいれているように見える。
表紙のノリは軽いけど、人物描写が丁寧なので
内容とは直接関係ないけど各作品の表紙の絵と「A Brother's Price」を「ようこそ女たちの王国へ」というタイトルにしたのは最高だと思う。






アイオーン
ラー

高野史緒


アイオーンは短篇の集合のような構成。架空のヨーロッパを中心にした大河物語といえばよいか。
スケールがでかいし、SF的ウソもでかいので、テンポ良く読める。
ラーはそれに比して、ウソがちっちゃい。実際の研究とかけ離れすぎないようにしているのかもしれないけど、どうせならでかいウソの方がいい。





啓示空間
カズムシティ
量子真空
火星の長城
銀河北極

アレステア・レナルズ/著 中原尚哉/訳


同じ世界、歴史設定によるシリーズ。火星の長城と銀河北極は短編集で、それ以外は長編。
どっかで聞いたような設定やガジェットがポコポコ出てくるので、ニヤニヤしながら読むのがお勧め。
エイリアンvsプレデターみたいなお遊びを許せない人は読まない方がいい。
シリーズ物なので、あっちの話の主役がこっちで脇役という事はあるものの、個々の話は独立しているので、好きな順序で読めばいい。
ただし、啓示空間と量子真空だけはこの順序で読むのがお勧め。基本的には出版順で読むと良いかと

特徴としては超光速やワープを禁じ手としているので、銀河系レベルで見ると結構狭い範囲のお話。
遺伝子改造、身体機械化、精神のアップロードは出来るけど、シリーズ中の出来事によって万能過ぎる技術は極限定的にしか存在しなくなる。
ほぼ登場人物が見聞きした事を通してしか情景が描かれないので、登場人物が観測できないことは描写が薄くなる傾向がある。
つまり登場人物が冷凍睡眠に入ると、起きるまで時間が飛んで、その間の出来事は読者も登場人物も分からないという現象が発生する。
登場人物は寝ていた時間に何があったかを、ネットと自分の足とで探りだそうとするので、なんとなくRPG的雰囲気がする。

もう一つの特徴は、長編が物理的に分厚いこと。3冊とも1000ページを超えるので読み応えがある。
厚くても中だるみしないのは、軽い謎解き要素のおかげかと。
今年一番はまったシリーズ。







シンギュラリティ・スカイ

チャールズ・ストロス/著 金子浩/訳


シンギュラリティが起きた後の物語なのに、いまいちそんな感じがしない。
事件は確かに起きているのに、いまいち緊迫感がないというか、登場人物たちは一応行動は起こすのだけど、どうしようもなさすぎる事態すぎて結局何も出来ないまま。
逆に言うと、作品世界内の人間の順応性がやたら高くて、解決できない場合、適応してしまうのだよね。
道具立ては好みなのに、なぜかしっくりこなかった。世界設定がもっと詳しく描かれれていれば、入り込めたかも。




トランスフォーマーリベンジ
アラン・ディーン・フォスター/著 中原尚哉/訳


映画第二作のノベライズ。フォスターさんは映画のノベライズを多く手がけていて、トランスフォーマーに関しても映画第一作のノベライズと映画の前日譚にあたる小説も書いている。
映画とどこまで設定が同じなのか分からないけど、映画では映像で語っていることを、文字で語ってくれるので、映画を補完する設定資料集として読むのが良いのかも。
映画では軽く流されていたところが、実は伏線だったりとか。発見も多い。
結構細かく描写されているとはいえ、サイバトロンにしろデストロイにしろ、造型が頭に浮かばないと読んでいて楽しくないので、映画を見てから読むのが正解。




戦いの子
艦長の子
海賊の子

カリン・ロワチー/著 嶋田 洋一/訳


三部作だけど、海賊の子は他二冊からだいぶ離れていて、外伝的印象がある。
一番面白いと思ったのは、戦いの子。異星文明と人類文明の差、その中で成長していく主人公の描写は、成長物語として悪く言えばありきたりだけど、王道でもある。
艦長の子と海賊の子は、人類文明も一つではない事と、その中での成長を描いていて面白いのだけど、第一作の主人公の王道さにどうしても負けてしまうように思える。
出来れば三人の子供たちがもっと絡んで欲しかったなあ。周辺人物も魅力的だし、続ければ続けられると思うのだけど、このシリーズは一旦お終いらしい。
読むなら、きちんと順番に読んだ方がいい。
ところで、巻を追うごとに腐女子向け要素が増えていくのは何故だろう。






機動戦士ガンダムUC1~10

福井晴敏


CCAの後、マフティー動乱の前の話。
ニュータイプというか、人類の可能性についての話しでもある。
ただオーバーセンス的な元気の良さはあまり無い。
アニメ版が楽しみ。









木曜日, 12月 24, 2009

pythontidyをvimで使うためのスクリプト

Pythonのコードフォーマッタといえば、pythontidy。
普通にコマンドとしても使えるわけですが、今書いているものに対して使用したいわけです。
で、私のメインエディタはvimなので、vimで使うにはどうすればいいか。

ただ使うだけならpythontidyにパスを通して:%! pythontidyでよい。普通はこれを適当なキーにマッピングしてやることになるはず。

ただpythontidyはsyntax errorのあるコードを受け付けないらしく、この方法ではsyntax errorが含まれているときに実行すると、エラーメッセージというかtracebackがバッファに書き込まれてしまう。uすれば戻るけど、うっかり:wqとかすると大変な事になる。

正常に動作した場合でもカーソルが一番上の行に移動してしまう。これはマークを設定してやれば回避できるけど面倒すぎる。

というわけで、pythontidyを使うためだけのvimスクリプトを書いてみた。
前提としてPYTHONPATHにpythontidyが入るようにしておくこと。
function! Pythontidy()
python << EOF
import tempfile
import vim
import pythontidy

cb = vim.current.buffer[:]
b = tempfile.TemporaryFile(mode="rb+")
out = tempfile.TemporaryFile(mode="rb+")
for l in cb[:]:
b.write(l + '\n')
b.seek(0)
pythontidy.tidy_up(b, out)
out.seek(0)
vim.current.buffer[:] = out.readlines()
EOF
endfunction

これをpython_tidy.vimという名前でもつけてあげて、ftpluginの下に置いてやる。
で、python.vimにmap <f5> :call Pythontidy()と書く。<f5>のところは任意のキーでいい。
これでsyntax errorを含むコードを食べさせても、インフォメーションメッセージにエラーが出てくる。ちゃんと動作したときも行の位置が変化しない。

これで安心してダラダラコーディングできる。

日曜日, 12月 06, 2009

駅をたずねられた

書くのを忘れていたけど、ちょっと前に駅の場所を駅の近くで聞かれた。
建物の陰になっていて、駅本体は見えないけど、線路は見えているので想像つくと思うのだが。

土曜日, 12月 05, 2009

音楽映画を見る度に思い出すもの

音楽映画を映像にしろ、生演奏にしろ見る度に思い出すもの。


  風 景
     純銀もざいく

いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
かすかなるむぎぶえ
いちめんのなのはな

いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
ひばりのおしやべり
いちめんのなのはな

いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
いちめんのなのはな
やめるはひるのつき
いちめんのなのはな。


この詩の場合は、言葉によって映像が浮かぶわけですが。
音楽映画による、この詩の再現も見てみたいです。


青空文庫 聖三稜玻璃 風景へのリンク

ヨコハマ国際映像祭 CREAM 感想(会期後)

最終日前日に、NYKの会場も見ました。それも含めて感想。

前に書いた感想のうち、NYKは各論かもという予想を立てたけど、そんなことはなくて、新港ピアや他の場所の作品と呼応するというか、対置されている印象。

例えばクリスチャン・マークレイのVideo Quartetは安野太郎の音楽映画と比べてみると面白いだろうし(これは安野さん自身もそう言っている)、「都市のミーム」とポーリーンはどう違うの?とか、1対1対応するわけではないけど、関連付けて見ざるを得ない展示になっていましたね。
これも一種のデュアルスクリーン的効果なのかな。

Video Quartetと音楽映画については、あまりに対置が綺麗過ぎて多分狙ったのだろうなあ。偶然だったらちょっと残念かも。「音楽と映像」というテーマへの回答が、違っているけど、どこか近いような形で現れているのは非常に面白い。可能であればVideo Quartetで音楽映画をやって欲しいけど、実際やったらどうなるんだろう。演奏側の負担が音楽映画第九番以上に高くなるのは確実ですが。

ただ、対置されていると言っても、Video Quartetは映像作品で会期中ずっと見られたのに対し、音楽映画は演奏ということもあり、実際見られたのは11月28日にあった2回の発表会だけで、しかも整理券を手に入れられた人しか見られなかったというのが残念ですね。それ以上やるのは多分演奏者がもたないだろうけど。

安野さん曰く、「公開するのは、実際見にきてもらった人に申し訳ない」とのことでしたが、実際見ないと分からない事は多いので、その辺は気にしなくても良いと思います。
むしろ映像バージョンが広まるほど、生で見た価値は上がる気がしますし。
ダイジェストバージョンは公開しても良いかもと言っていたので期待したいところです。

音楽映画の言葉による解説などは、以下のリンクをどうぞ。
演奏する人へのインタビューは実は貴重な気がします。
作曲家・安野太郎のブログ 満員御礼! 音楽映画第九番 ありがとう!
安野太郎のMUSIC CREAM 1
安野太郎のMUSIC CREAM 2
安野太郎のMUSIC CREAM 3
演奏者へのインタビュー


さて、blogなんかを見ているとアルフレッド・ジャーの作品の人気が高いようですね。ただその理由を見ていると、ストーリーについてばかり語られて、映像についてはほとんど触れられていない様子。
確かにあのストーリーはストーリーで興味深いけど、その興味深さは言葉や文字でも再現可能で、映像である理由はほとんど無いように思えるんだけど。
つまり映像的にはそれほど面白みがあるわけでもないのに「ストーリーを見せている」という点で、一種のアンチ映像であり、そこが面白いとは思うのだけど、うまく言葉で説明できない。
少なくともストーリーの面白さだけで、あの作品を語るのは何かが足りないんじゃないかという事はメモしておきたいです。

NYKで書いておくことがあるとすると、山川さんの作品が不調っぽいのでスタッフに聞いてみたら、やっぱり不調だったというハプニングがあったので、正しい状態では見られなかったのが残念という事。
(正常を知らないのに異常を感じる不思議)


さて、NYKが一人で考える場だとすると、ラボスペースはみんなで考える場だったのかなあというのが、全て見て、会期が終わった直後の今の感想です。
ラボスペースは悪い話しか聞かないと、今日会った人に言われたのだけど、あの場に入り込めない人にはそう評価されても仕方ない部分はあるし、排他的空気、あるいは参加することを強要する雰囲気がラボスペースにあったのは否めないと思う。
ラボスペース内のCREAM CHANNELでは大量の動画が撮影されていて、stickamというサイトに、馬鹿みたいに大量に蓄積されているのだけど、この中にも一見さんお断りな動画は少なくない。
ヨコハマ国際映像祭のstickamページ

だいたいラボスペースに入ってすぐのところに、来場者に対して挑発的とも取れるメッセージがあったりとか、普通の映像「展覧会」を期待していた人には耐えきれないだろうね。
中の展示もお互いに干渉しあっていて、コンテキストが崩壊しているので、読み取ることすら困難だし。

でも、その分かなり自由な場所というか、他のコンテキストを潜り込ませる事も可能で、可能性としては一般来場者がCREAMのブースを利用することだって出来たはず(というより積極的に来場者を捕まえてたり)だし、サポートクルーが勝手に番組を作ることは当然の事として発生していました。
最終日にレーザータグを来場者に触らせるというのも、一応簡単に了承を取ったとはいえ、サポートクルーが勝手にやったわけだしね。

でも(と逆接に逆接を重ねるわけですが)、来場者というのは、会場において最も情報が少ない参加者なわけで、その状態でルール無きゲームに参加しろというのは、あまりに酷というかフェアでは無いと思うわけです。持っている手札が何か分かってもいないのに自由にやれと言われても、それは無茶というか横暴なだけで、その辺のケアがもっと出来なかったのかなというのが反省点かと。
来ました、見ました、帰ります、では面白くないのは強く同意するけど、強くコミットしてもらうにはどうすればいいのか、もっと考えるべきだったのではないかと思います。


GRLとレーザータグについては、もう少し落ち着いて考えてみるつもり。

だらだら書いたら語尾とか言葉使いが無茶苦茶ですね。後で直す気になったら直します。
多分直さないけど。

金曜日, 11月 20, 2009

ヨコハマ国際映像祭 CREAM 感想(会期中)

ヨコハマ国際映像祭 CREAMもあと10日を切ったのでそろそろ感想。

ただし神港ピア会場、しかもラボスペースにずっといて、NYK会場にはまだ行けていないのだけど。

とはいえ、今回の映像祭で一番面白いというか、エキサイティングなのはおそらくラボスペースだと思う。
クオリティは低いけど、それを補って余りある混乱というか混沌というか、わけのわからなさが存在している。

整理された展覧会を期待している人にとっては邪魔だろうけど、映像祭が「祭」であるならば、市民参加というお題目で、自由に映像と向き合っているラボスペースは確実に必要な要素だし、むしろラボスペースにこそ映像祭の核があると言ってもいい。

ラボスペースで行われている事が、果たして「映像」といえるかという問題は、自分の中ではまだ解決していないし、おそらく展覧会スタッフさえ答えを持っていないように思える。
大体、展示している側が「映像」だと思っているかすら、かなり疑問な部分もある。
とはいえ「映像」というのはものすごく幅のある言葉で、即座に映像か、そうでないかを判定する事が困難なモノがある。
個人的には、視覚情報と時間軸の存在が基準であると考えるけど、じゃあ音楽演奏は映像かと問われると判断に困るし、時間軸といっても時間の流れや時間解像度をどこまで許容するかはもっと判断に困る(あらゆるものは経年変化する)。

もう少し単純化して、映像スペクトラムというものを想定してみる。完全に映像と言い切れるものとして、とりあえず映画をスペクトラムの端に置いておく。
では、もう片方の端に何が置かれるか。建築?彫刻?絵画?
鑑賞者である自分自身が時間軸に置かれる以上、何を置いても違和感が生まれる。

個別の作品と対峙していると、作品との関係に閉じてしまうけど、明るく開放的なラボスペースでは、映像という概念と向き合うことが出来る。個々の完成度が低くて、没入できないとも言えるけど建設的に考えよう。

(まだ見ていないけど)NYKにある作品は各論であって、総論はラボスペースといえるんじゃないだろうか。
(追記 そんなことなかった)

ただ、ラボスペースを楽しむにはかなりパワーが必要になるんじゃないかな。
能動的に動いたり話したりしないと、わけがわからなすぎるし。
展示を見るだけなら、5分かからないし(祭なのに見るだけというのも意味が分からんけど)。
地元横浜や、周辺地域ならともかく、遠くから来た人にはハードルが高いよなあ。

とりあえず分かりやすいものだけ見たい人は、ラボスペースに入らない方が、気分良く帰れると思います。
ものすごく損するとは思うけど。


Youtubeに映像祭の動画があるので、雰囲気が知りたい人は見てみるとよいかも。
映像祭サイドが上げている動画
このうち週CREAMというコンテンツは、サポートクルーと呼ばれる、いわゆるボランティアの人たちが企画撮影編集してます。
他の動画でも撮影サポートクルーってのがあるはず。

それとラボスペースはtwitterアカウント持ってます

月曜日, 11月 09, 2009

Ubuntu9.10 + Firefox3.5でDelicious Bookmarks拡張がおかしくなったのでUbuntu Firefox Mdifications 0.8を無効にしたら直った

ほぼ一年前のUbuntu + Firefox3 で google toolbarが壊れる(2008年11月18日時点)にコメントがついていたので「一年前の事は覚えてないよ」とコメントしてから、ふと気づきました。

実は、KOARAのFirefox3.5で「Delicious Bookmarks(2.1.072)」のツールバー部分がまったく表示されないのと、ナビゲーションツールバーにこの拡張のアイコンが表示されないという問題が出ていました。でも、サイドバーでは使えていたので、特に気にしていませんでした。

さて、GoogleとDeliciousとの違いはあれどツールバー系がおかしくなっているのは同じです。
で、拡張欄を見たら「Ubuntu Firefox Mdifications 0.8」がいました。
即、無効にしてFirefoxを再起動。
その結果、Delicious Bookmarks完全復活!

そのうち対応されるかもしれませんが、今使えることが重要なので。
コメント下さった方、過去の自分、ありがとうございました。

それにしても、一年前と現在で使っている道具が変わっている事に驚きました。
来年の今頃はどんな道具を使っているのでしょうか。

火曜日, 11月 03, 2009

宿業のコアラ

Ubuntu 9.10 Karmic Koaraにアップグレードしましたよ。
いつもは新規に入れ直しているんだけど、今回はアップグレードしてみた。もしかしたら後でクリーンインストールするかも。

さて、今回のコアラは、クラウド環境であるEucalyptusが目玉機能と呼ばれている様子。
とはいえ使っているのはデスクトップ版なので、実はあまりピンと来ない。クラウド環境に興味はあるんだけど。そのため個人的には、テーマが大きく変わったのが目玉というか、印象的な変更点。
ネット回りが若干不安定な気もするけど、概ね問題無し。

Andorid環境がリリースされるという話もあったけど、今の所は無い様子。launchpadにはあるけど。

typeZユーザとしては、画面の輝度変更が小細工無しで出来るようになったのがありがたいところ。

角ウサギの頃から不調だったSugar環境については、コアラでも不調のまま。根が深い問題らしいので、おとなしくFedoraを使うことを考えるべきかなあ。
typeZのディスクは余っているので、後一つぐらいOSが増えても問題ないけど、出来れば専用マシンが欲しい。Mac miniをFedoraマシンに出来たら良いのだけど。

火曜日, 10月 27, 2009

wii-tagのソフトウェア部分とか

今度はソフトウェアについて。

結局はペイントソフト

wii-tagのソフトウェア部分は結局の所ペイントソフトです。
元ネタであるLaser Tagのソフトウェアにはセッティング用のツールも含まれてはいるけど、こちらも本質的にはペイントソフトってのは議論を待たないかと。
元々Laser Tagは仮想的にスプレーをレーザーに置き換えたものだし、GRLのGはgraffitiのGなわけで、当然といえば当然ですが。

wii-tagにしても、実際にはマウスでも描く事が出来るように作られているし、他のポインティングデバイス用に拡張しやすいよう、ある程度、気を使って作っていたりもします。
なので、作っているのはwii-tagというより、wii-tagをするためのプラットフォームというのが正しいわけです。丁度いい名前が無いので、もうしばらくはwii-tagと呼ぶ予定。

Laser Tagの面白さ

wii-tagを作ろうと思った頃に、少し考えたのだけど、レーザータグの面白さは、レーザーで描く事ではなくて、都市の壁面に別の文脈を持ち込む点にあるのですよ。
実際には壁面どころか路面にビデオカメラとプロジェクターとパソコンという装置を持ち込んでいるので、言葉による説明によって想像される以上の文脈の衝突があったりするわけです。

今思い出したけど、去年Python with Hardwareのみなさんたちと秋葉原で飲み会をしたとき、居酒屋の壁面にプロジェクションをしたけど、起きている事態としては同じですね。

とはいえ、都市の文脈に別の文脈をぶつけるというのは、スプレーを使ったtaggingやgraffitiやらと変わらないわけで、レーザータグにしろwii-tagにしろ、それら旧来の手法とどうちがうのかってのは、しっかり考えるべき問題かと思います。
現象レベルでは、物理的痕跡が残るかどうかというのが大きな違いではあるけど、そこはあまり重要じゃない予感がします(許可を取る際には大きなポイントですけど)。

火曜日, 10月 20, 2009

wii-tagと自作センサーバー

Laser Tagを自分の中で消化する為に、wii-tagと称してWiiリモコンを使ったLaser Tag的なものを作っています。

動画でないと、さっぱり分からないと思いますが、こんな感じです。

緑色の線は、マウスで描いたもので、紫色の線はWiiリモコンで描いた線です。
ここまで作って考えた事もあるけど、それはとりあえず置いておきます。

さてWiiリモコンを使うには、センサーバーが必要になります。
Wiiの正式センサーバーでも良いのですが、Wii本体の電源が入っているとリモコンをWiiに取られてしまうことがあるので、自作する事にしました。

最初に作ってみたのがこれです。

びっくりするほど、やっつけです。
材料は、赤外線LEDが4個と抵抗2つ。USBで携帯を充電出来るケーブル、導線数センチ。

前にデコチャリの手伝いをしたときに作りました。
ハンダ付けしたところは、その時その場にあった養生テープで一応保護しています。

みかけはひどいですが、ちゃんと動きます。

紫色に光っていますが、これが赤外線です。デジカメを通すと紫色ですが、肉眼では当然見えません。
赤外線が出ているだけでなく、Wiiリモコンも反応してくれました。


一応、これでも使えるのですが、導線が絡まりやすくて非常に使い辛いので、もうちょっとマシな姿に変えることに決定。先週末、材料を集めて工作しました。

その結果がこれです。

かなりセンサーバーらしい形になりました。
材料はほぼ初代から流用しましたが、USB充電ケーブルは捨てて、USBのBコネクタ(メス)をつけてあります。
バーの部分は、千石で「ご自由にお取り下さい」と書いてあったレールです。ICとかが入っているやつですね。

もちろん、ちゃんと光ります。

レールの溝が、typeZの頭にすっぽり入るので、非常に安定しています。

完成と言ってよいとは思いますが、部分的にハンダがむき出しで少し怖い部分があるので、そこの手当ては必要かな。

ソフトウェア側については、また今度書くことにします。

日曜日, 10月 04, 2009

寿町のレーザータグ

はんだの手伝いのついでに寿町でやったレーザータグを見に行った事は書いたけど、今回はその詳細と感想。

現場に行く前に、カメラをギャラリーに向けるなという説明を受けていて、まあ通行人=住人でもある可能性はかなり高いので、それ自体は分かるのだけど、カメラを肩にかけるのも止めた方がいいと念を押されて、昔何かあったのかなあと想像。
自分自身、うちの近所で、ごついデジタル一眼をぶら下げている人を見ると微妙な気分になるし。

事前知識から、山谷と似たような感じかなと思ったけど、実際に行ってみると山谷より活気があるというか人がたくさんいた。
あの時間帯(午後6時)に山谷に行ったことは無いので、正確な比較では無いけど、それでも山谷が東京の外れにあるのに比べると、寿町は横浜の市街地から地続きになっている感覚がある。

レーザータグをやったのは、その時は何も知らなかったけど、今調べたら寿労働センターというところらしい。市営住宅でもあるのかな。
人の家の前で、レーザー光線とプロジェクターによる投影をやるというのは、なかなか乱暴ですな。施設の許可は取っているみたいだけど。

で、設置をしていると、当然ながら人が寄ってくる。逆ですね、人の真ん中に入っていって設置しているのであって、おっちゃんたちは不審そうに見ているだけ。実際若者が謎の機材を設置している状況は不審だろう。レーザータグは環境の影響を受けやすいのか、設定に手間がかかるし。

そして社交的な一部のおっちゃんはこちらに色々質問して絡んでくる。特に記録用カメラを持っている女性スタッフに絡んでくるのだけど、特に暴言を吐いてきているわけではないので放置。一番年かさのスタッフが適当にフォローしているし、おっちゃん同士でも怖がらせないように気をつかってくれてるようだったし。
極一部に、「年寄りに横文字はわかんねぇよ!」と大声で叫ぶ人はいたけど、そういうのも他のおっちゃんが「気にすんなよ」とこちらをフォローしてくれる。

やっとレーザータグが始まると、面白そうにしてくれる人が何人か寄ってくる。
興味深いのは、壁にプロジェクションしているのを見て、即座に「今度、映画鑑賞会をやらないか」と言ってきたおっちゃんがいること。そういう発想がギャラリー側から出るというのは想像していなかった。普段から文化活動をやっているのかね。

レーザータグ自体の動作についてはすぐに飲み込めたようで、自然と何を描いているのか当てるゲームが始まる。
だけど、レーザータグで思い通りに描くというのは結構難しいので、描く人自身にしか何を描いているのか分からないなんて事はざら。
だが、おっちゃんたちは、何を描いているのか分からないと、すぐに不機嫌になる。何だか分からないものに対して、かなり辛辣に非難する。抽象的なパターンが描かれるとすぐに不機嫌になり興味を失くす。逆にそれがどんなに単純であれ、具体的なものであれば喜ぶ。

今考えても、あの反応は極端過ぎるように思う。理由は何なのだろう。
何を描いているか当てるというゲームから外れること(答えが無意味な図形ではゲームにならない)に対する拒否反応なのか、それとも別の理由なのか。

勝手に不機嫌になるのはいいんだけど、「あれは何だ」とか言われると「何でしょうねえ」とか「ぐるぐるしているから、でんでんむし」とか適当な回答をせざるを得ない。描いている人ですら何描いているのか分からないのに、第三者が見て分かるわけないだろうに。
冷静になると、自分自身こそがゲームにとらわれていたのかな。求められていたのは答えではなく、会話だったのだろうし。

とはいえ、不機嫌な酔っ払いの相手をするのは大変なのです。
「これだけの機材持っているってことは、お前の両親は金持ちだろう」とか言ってくるし。少なくともその人よりは金持ちだろうけど、まさかそんな事を言うわけにもいかず、そういう発言は無視。
ほっといたら機嫌が直っていたので、対応としては悪くなかったはず。

そんなこんなでレーザータグは終了。
まあまあ成功したと言えるのではないだろうか。

技術的に気になったのは高輝度レーザーを使う点。ギャラリーにやってもらうにはかなり危険なように思う。
だからこそ、いまWiiTagを作ろうとしているわけだけど。

水曜日, 9月 30, 2009

NetWalker雑感

Ubuntu使いとして気になるマシンであるNetWalker。
ちょっと前に、ヨドバシで触ってきたのでその雑感。

ソフト的にはUbuntuのカスタム版。ARM系という縛りはあるけど、PythonとかVimとか使いたいソフトのほとんどにARM版はあるので、不満を覚えることはなさそう。
Pythonとかの言語系の場合、ARM版特有の癖が出そうな予感はするけど、おそらく許容範囲のはず。

ハード的にはバッテリー公称10時間保ちというのは魅力的。起動3秒という宣伝文句は実際にはサスペンドからの復帰なので、微妙に嘘が混じっている気がするけど、モバイル用途としてはありがたい。
保存容量が少ないというのも、保存するのはテキストデータ中心になるだろうから心配ではない。アプリケーションもそんなに入れないだろうし。

最大の問題はやはりキーボード。
変則配列なのはサイズの問題もあるし許容できるとして、打鍵感覚が最悪。
机に置いて両手で打とうが、親指で打とうがどうしようもなく打ちにくい。慣れればそれほどでもないのかもしれないけど、確実に手と腕に負荷がかかる。
あれに我慢出来るなら、Ubuntu使いとしては最高の道具なのだけど。

キーボードさえ何とかなれば、あるいはキーボードを妥協すれば確実に買ってしまうのだけど。
次のLTSが出る頃にバージョンアップしてくれると信じて、今は買わないでおく。



#でも、キーボードに妥協してでも欲しい自分もいる。
#少なくともコアラは待つけど、LTSが出たら勢いで買ってしまうかも。

土曜日, 9月 26, 2009

はんだづけのお手伝い

木曜日にヨコハマ国際映像祭 GRLチームの、お手伝いに行って来ました。

内容はデコチャリにつけるLEDをつなげるだけ。電飾として使うということから、数は多いんだろうけど、難易度は低い予感。

作業場所はこんな感じ。


奥にいるのはチームリーダーの高松君。


デコチャリのベースはこんなのです。


電飾を点滅させる回路。一つの板に、二つ回路が載っています。因みに555を使っていました。


さて作業内容をもう少し詳しく書くとこうなります。

  1. LEDのカソードの足を切って抵抗をつける

  2. アノード側も切って導線をつける

  3. 熱圧着チューブでカバーする



1番の作業をするとこうなります。


それほど難しくは無いけど、空中配線なので結構辛い。

どんどん作ります。

シラウオみたいですね。

このシラウオに対して、2番の作業をするとこうなります。

改めてみると、若干いもハンダな気もする。自転車の振動で割れないか不安だ。
赤色LEDが切れたら私のせいかもしれません。

どんどんやりますよ。

シラウオに足が生えました。

最後の作業です。



こんな感じで8時間で90個作りました。
久々のはんだだと、このペースが限界。


GRLというのはGraffiti Research Labの略です。レーザー光線で絵を描くレーザータグが有名かな。このデコチャリもGRLの一環なわけです。

そしてこの日の夕方から、寿町でレーザータグをやるとのことで見物に行きました。






ヨコハマ国際映像祭のチケットはローソンで買えるそうです。

水曜日, 9月 09, 2009

Remember The Milk 簡単入力

これのSmart Addのやり方をリストにした。

t ) 入力開始
^ ) 期日
! ) 優先度
# ) 一つ目の#はリスト
# ) 二つ目の#はタグ
@ ) 場所
* ) リピート
= ) 予測時間

時間系の指定はある程度アバウトでOK。
http:// っぽく書くとURLとして扱われる。

木曜日, 8月 27, 2009

PythonでNotifyOSD

眠いので簡単に。後で追記するかも。

角ウサギからUbuntuの通知欄が格好良くなったのだけど、それをPythonから使うための簡単なコード。
import pynotify

pynotify.init("notify-example")
n = pynotify.Notification(
"notify-example",
"Hello, NotifyOSD",
"notification-message-IM")
n.show()

日曜日, 8月 02, 2009

UbuntuでWiiリモコンアプリ開発

ちょっと前からUbuntuでWiiリモコンを使ったアプリケーションを作る方法を調べていて、基本的な事がやっと分かったのでメモ。
事後的に書いているので、足りないところがあるかも。

用意するもの


Ubuntuの入ったパソコン(バージョンは9.04を使っています)
Wiiリモコン
センサーバー(自作してもいいけど)

インストール


まずは何はなくとも関連するライブラリのインストール。
cwiidというモジュールと、それのpythonバインドを使います。今回Pythonは2.6でやりました。3.0で出来るかは未調査です。
apt-get install python-cwiid

これで基本的なところは入るはず。
WiiリモコンとUbuntuの疎通確認にはwmguiが便利。
apt-get install wmgui

これについては説明を省きます。

基本のコード



import cwiid
import time

#Wiimoteクラスをインスタンス化する
#press 1 + 2 button
wiimote = cwiid.Wiimote()

#レポートモードを設定
wiimote.rpt_mode = cwiid.RPT_ACC

#こういう指定もできる
#wiimote.rpt_mode = cwiid.RPT_BTN | cwiid.RPT_ACC

#レポートモード一覧
#cwiid.RPT_ACC
#cwiid.RPT_CLASSIC
#cwiid.RPT_IR
#cwiid.RPT_STATUS
#cwiid.RPT_BTN
#cwiid.RPT_EXT
#cwiid.RPT_NUNCHUK

#そして状態取得
while True:
print wiimote.state
time.sleep(1)


基本のコード解説


importは見ての通り。timeはウェイトを仕込むためなので必須ではないです。念のため。
注意すべきはwiimote = cwiid.Wiimote()のところ。このWiimoteのインスタンス化のタイミングで、Wiiリモコンの1ボタンと2ボタンを同時押ししないと、インスタンス化してくれず、RuntimeErrorが投げられてしまう。
これではちょっと不便なので回避方法が無いかは調べているところ。

無事インスタンス化されたら、次は状態取得。wiimoteインスタンスのrpt_modeというフィールドに、WiiMote.RPT_で始まるフラグを入れると、それに応じた値がwiimote.stateに入るようになります。このフラグは論理和で複数取得が可能なので、ボタン状態と傾きの2つが知りたかったら、wiimote.rpt_mode = cwiid.RPT_BTN | cwiid.RPT_ACCとやればOK。
どこを指しているかを知るにはRPT_IRを使います。この時、センサーバーかその代わりが無いと、何の値も取得できません。

ここから先は、Cwiidのサイトとかを参考にして下さい。とはいえ、Cwiidのサイトは分かり辛いのですが。
今回最も、役に立ったのは、このページ(リンク切れ中 2009/10/27時点)です。言葉は分からないけど、画像とサンプルコードのおかげで、どうすればいいのか非常に分かりやすいです。
というか、上に書いたことのほとんどは、このページの前部分の要約みたいなものだったりします。
後ろの方には、キャリブレーションのやり方も出ているので参考にどうぞ。
(cwiidのサイトにもキャリブレーションのやり方は書いてあります)



雑談

昨日、本屋に行ったら、WiiRemoteプログラミングという本が出ていたのだけど、

内容はWindowsでの開発だったので、残念ながら私の役には立ちそうになかった。センサーバーの自作とかも載っていたけど、そのために1冊買うのはちょっとなあ。将来買うかもしれないけど、少なくとも今はそういう本があることだけ覚えておくことにしよう。

サマーウォーズ見てきた


サマーウォーズ見てきました。

何書いてもネタバレになるので、公式サイトにある情報だけで簡単に。

「デジモンアドベンチャー ぼくらのウォーゲーム」が好きな人は、確実にお勧め。
デジタルワールド(ネット世界)での危機が、現実の危機へと繋がっていくという基本的な部分は同じだけど、ウォーゲームでの演出が、サマーウォーズでどう変わっているのか。子供たちだけの戦争から、親戚一同による戦争になることで、物語がどう変化するのかとか、いろいろな見方が楽しめます。

もう一つ、この物語は、主人公のネット世界のアバターが乗っ取られる事から展開していくのだけど、その姿はミッキーマウスを彷彿とさせる姿。そしてそれに対抗する親戚軍団の一人のアバターがウサギの姿。で、この映画の配給はワーナー。
つまり、ウサギのオズワルド対ミッキーマウス = ワーナー 対 ディズニーという構図があるわけです。物語の舞台の一つであるネットサービス集合体の名前もOZなので、オズワルドを暗示しているようないないような。
物語としては、この構図自体にそれほど意味を持たせているようでは無いのだけど。

SFとしてはデジタルワールドとデジモンという、2つの大きな嘘をつけなくなった分、細かいところで苦労しているなあという印象。
だけど物語自体は単純明快で展開もテンポ良く進むので、そういうごちゃごちゃしたことは見終わった後に考えて、観劇中は物語に没入しといた方がお得です。

土曜日, 8月 01, 2009

コアラの中のアンドロイドと、動かない砂糖

今更気づいたけど、Ubuntu9.10に向けてUbuntuの中でAndroidのアプリケーションを動かそうという、取り組みがあるらしい。

Specs/AndroidExecutionEnvironment

9.04ではSugar環境がちゃんと動いてくれず、いろいろ設定を変えたりしたり、jhbuildから動かそうと四苦八苦していまして。結局出来ないので余っているマシンに8.04を入れて、そっちでやろうと思っていたのですが、Androidに心移りしそう。

SugarやるならFedoraってことなのかね。
RedHat系は慣れていないので避けたいのだけど、開発環境と割り切れば一台用意してもいいのかな。

追記:
Fedora11はSugarで起動できるオプションがあるらしい。俄然欲しくなってきました。
古いPCを捨てて、コンパクトなマシンを買おうかな。

火曜日, 7月 21, 2009

新メガネ

前から、もう一本くらいメガネが欲しいと思っていたので、999.9で新しいメガネを購入。
今まで使っているものより、一段階だけレンズのパワーを抑えてもらった。

999.9にしたのは、今使っているのも999.9だからという単純な理由。だけど、999.9は顔にただ乗っけているだけ、というよりレンズが目の前に浮いている感覚になるくらい掛け心地が良い。むしろ掛けていることを忘れると言ったほうがいいか。

視力を測ってくれた店員さん(?)に聞いたのだけど、近視の人は、近くのものを見るときにはメガネを外したり、度が弱いメガネに変えたほうがいいらしい。
職業柄、ほぼ一日中モニタに向かって作業しているのに、今までずっとメガネつけっぱなしだったよ。
これからは、モニタ作業中はメガネを外すようにします。
これで視力が回復するといいなあ。

月曜日, 6月 29, 2009

電車の行き先を聞かれた

上野駅で電車が目的地に止まるかを聞かれた。
英語で聞かれたのだが、相手の発音がよくないせいで、行きたい場所が新宿なのか千住なのか分からず。
確率としては新宿の方が高そうだけど、新宿と千住では方向が違うので迂闊に答えられない。
こっちも余裕がなかったので、教えられず。

地名は末尾まではっきり発音してくれないと困ります。

日曜日, 6月 21, 2009

マカーの茄子さんがちょっと通りますよ

4年つきあったレッツノートW4からMacBookに移行して早2週間。
まだまだ使いこなせていないですが、順調に移動時の重さで腰が痛くなってきています。

私のやっているLLPの会計業務を移行しなくてはいけないため、Mac用の会計ソフトを少し調べましたが、結果WINソフト最強。ということみたい。
なので、Macソフトの購入は見送り、Windows7をまち、弥生会計導入という流れかなと。

それまでは、レッツノートに会計専用機としてがんばってもらうことにしようかと思います。

以下、Macソフトの情報まとめ

■A&A会計
http://aakaikei.weblogs.jp/home/
→減価償却ができないそうな。

■macの会計
http://www.magrex.co.jp/products/MacG/kaikei/index.html
→伝票の貸方/借方がつりあってなくても処理してしまうっぽい。

Macソフトの難点
・開発の継続性が微妙
・ユーザーが少なすぎてぐぐっても解決しない
・小規模会社の開発でサポート体制が不安

まあ、小さな会社なので、上のソフトでもできるとは思うのですが、今使ってるwinソフトにもなれてしまったので、このままでいこうかなと思います。

金曜日, 6月 19, 2009

道を聞かれた

今朝、うちの近所で二人連れに駅の場所を聞かれました。
近所の人なら駅の場所は確実に知っているわけで、その人たちは地元民ではないのは確実。

「迷うくらいなら、電車で来いよ!」とか思いつつ、教えてあげました。
バスで来たのかな?

木曜日, 6月 04, 2009

オンラインブックマーク移行

これまでGoogleブックマークを使っていましたが、ブックマークの量が300を超えたあたりから、使い物にならなくなってきたので、Deliciousに移行しました。

実際にはちょっと前にDeliciousのアカウントを取って新しいブックマークは出来るだけDeliciousにつけるようにはしていて、昨日までインポート機能があることに気付かなかっただけなんですが。

餅は餅屋というか、オンラインブックマークとしてはDeliciousの方が使い勝手が良いように感じます。Firefox拡張の使い勝手もGoogleツールバーやGMarkより、Delicious拡張の方が気が利いている印象。

一番大きな違いは、タグを打ちやすいところと、自動で階層化してくれるところ。
これでブクマ1000個くらいまでは頑張れるはず。
それ以上になると、別の表示法が必要になるかも。

月曜日, 5月 18, 2009

いつの間にか変わっていたもの

気づくと一年前と変わっていたもの2つ。

メインエディタ


EmacsからVIMに変わった。
完全に切り替わった時期は、おそらく去年の年末から年明けぐらいにかけて。その頃、肩から首にかけて激痛が続いたときがあって、それが決定打になったんだと思う。
左手の小指や腕への負担は減ったように思う。
ただし、他のエディタでも:wとか:%s/とか打ってしまうという問題が発生。
さらにEmacsのキーバインドを忘れかけているという状況にある。

バージョン管理システム


前はmercurialを個人用VCSとして使っていたけど、いつのまにかBazaarになった。
ubuntuをつかっているんだし、せっかくだからBazaarを試してみようと思ったことは覚えているけど、mercurialを完全に置き換えた時期を思い出せない。

個人利用の範囲では、mercurialとそれほど変わらない印象。
bzr ignoreで、非管理ファイルを簡単に追加できるところは気に入っているけど、それほどこだわりがあるわけでもない。
来年にはgitやdarcsを使っているかも。


他にも気づいていないだけで、変わっている事はあるのかも。

土曜日, 5月 02, 2009

汎用モバイルバッテリー

ITmedia +D を見ていたらMyBattery Book Xという汎用バッテリーの記事を発見。

5~19Vまで出せるので、いろんなものに使えそう。
問題は1万8000円という価格かな。
とはいえ、エネループを何本も直列するよりは、これを買ったほうが便利なことは確実かと。

火曜日, 4月 28, 2009

Ubuntu 9.04 画面輝度

画面輝度が変えられないと思ってたけど、それはキーボードショートカットからできないだけで、「電源管理の設定」からだと、ちゃんと設定できた。

ショートカットも頑張れば設定できるかな?

日曜日, 4月 26, 2009

たのまれごと

日頃、道を聞かれたり、写真を取ることを頼まれたりすることが多いと感じているので、これから記録を残してみる。

2009年4月26日

取手駅ホームにて、老婦人に牛久に行く電車を聞かれる。
乗り場が違うことと、電光掲示板の場所を教える。

Ubuntu 9.04 若干のトラブル

リポジトリの設定が重複(duplicate)しているという警告が出た。
そのままでもapt-get、Synapticともに、動作しているようだけど、気持ち悪いのでsource.listを覗いてみる。
するとこんな風に、リポジトリのタイプが空白で区切られているのと、
deb http://jp.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted universe multiverse

こんな風に、一つずつ書いてあるのが書いてある。
deb http://jp.archive.ubuntu.com/ubuntu/ jaunty universe

で、どうやら上の、空白区切りだけあれば十分らしいので、一つずつ版については全部頭に#をつけて、コメントアウトしたところ警告が消えた。
multiverseが有効になっているのはちょこっとだけ気になるけど。
正しい対処か知らんけど、とりあえず解決としよう。

しかし、どのタイミングでこうなったんだろ?
インストール直後には警告は出なかったはずなんだけど。

土曜日, 4月 25, 2009

Ubuntu 9.04 導入

Ubuntu 9.04 Jaunty Jackalope(陽気な角うさぎ)をtypeZに早速入れました。

8.10で不安定だった無線LANが安定動作するようになったのが一番の嬉しいところ。
起動が速くなったらしいけど、私の環境では数秒程度の効果。ちゃんと計ってはいませんが。
新しい情報通知方式は結構好みです。
サスペンドも出来るし、概ね良い感触。

デフォルト状態で、ディスプレイの輝度調整が出来ないのは相変わらずっぽい。
致命的ではないので、もう気にしない事にします。

今回はServer版とNetbook版はいろいろパワーアップしているみたいですが、Desktop版は地味というか堅実なバージョンアップなようです。

水曜日, 4月 22, 2009

癒しサイト

Pretty Loaded

延々と色々な「now loading」を表示してくれるサイト。
一日中見ていられる自信がある。

現代のプログラムピクチャーと言えますね。

火曜日, 4月 07, 2009

NHKワンセグ2開始

ワンセグ端末を持ってない私にはあまり関係ないけど、NHKがワンセグ2というワンセグ専門チャンネルを開始したそうな。

目的としては以下の通り(NHKワンセグ2より抜粋)。

現在のワンセグは固定テレビ向け放送のサイマル(同時)放送がほとんどであるため、必ずしも携帯電話での視聴に適したコンテンツが放送されているとはいえません。  NHKでは、こうした状況に鑑み、放送と通信の融合を先導する意義も込めて、平成21年4月からワンセグ独自サービスを開始します。

NHKにやらせて、よさげだったら民放も追従するということかしら。
こういう風にしてNHKはノウハウを蓄積して、民放を突き放していくのですかね。

日曜日, 4月 05, 2009

「テオ・ヤンセン 砂浜の生命体」展に行ってきた

Makeのblogでも時々みかけるテオ・ヤンセンの展覧会に行ってきました。
こういうやつです。

TheoJansen in Hibiya 01

TheoJansen in Hibiya 05

展覧会のタイトルの通り、ヤンセンさんは生命体としてこれらの作品を作っているそうな。
実際、風力によってこれらの生命は活動するように設計されています。
会場内に説明は無かったけど、一連のシリーズが作られ始めた1990年は人工生命が流行っていたころだし、ヤンセンさんは大学で物理学を学んでいたそうなので、これらの作品は人工生命研究としての側面もあるのかも。

さて、生命である以上、当然ながら死もあるわけで、会場内ではそれら死んでしまった過去の作品は「化石」として展示されています。
上の写真の生命体も、化石だそうです。

一応、今回唯一生きているのは最新作であるこれ。
TheoJansen in Hibiya 03

といっても、室内展示用に風力伝達用のシャフトを切断されていたりします。
並んでいるペットボトルは風を圧縮して溜め込むための臓器(人間で言えば肝臓の一部の機能か脂肪にあたる?)で、これにより無風状態でも2,3分は活動可能だそうです。

自己修復や自己複製が出来ないなど生命としてはまだ未完成で、それらを克服させるよう進化させるのがヤンセンさんの目標だそうな。
ヤンセンさんと共生関係を保たないと絶滅するってのもどうにかするのかな。

会場内にはヤンセンさんの仕事場をイメージしたコーナーがあって、そこにこんなものが。
TheoJansen in Hibiya ATARI
ATARI 1040STだそうな。
設計時にコンピュータシミュレートをやるらしいけど、会場にあるってことは、現役で使っているわけではないはず。
今は何使ってるのかな?

広々としていて、割と自由に撮影もできて、一部の展示品には実際に触れることも出来る、子供から老人まで楽しめるよい展示でした。

月曜日, 3月 30, 2009

00ガンダム テレビ版

「人類を超越した主人公が世界最強のロボット兵器に乗って、人類に相互理解を訴えるお話」

と書くと、ものすごくひどい話に思える。

00ガンダムは1stをW経由でやり直していると思っていたので、最後は全ガンダム廃棄(オリジナル太陽炉廃棄)だと予想していたけど、全ガンダム残っているという、正反対の結果にちょっと驚いたり。
劇場版のためなのかもしれないけど、一基ぐらい壊れてもいいんじゃないかと思うんだけどな。
どうせティエリアはヴェーダになったんだし、もういらないでしょ。

劇場版ではもうちょっとマシな展開になるんだろうか。
00ガンダムの木星にまつわる設定は「オリジナル太陽炉の生産場所」程度なわけだけど。何があるんだろ。
イオリア計画という前振りから考えると、既に外宇宙から知的生命体が来ているという展開もありだろうし、巨大な黒い板とオーライザーのバトルとか、せっちゃんがスターチャイルドになるとかそういう面白映画になることを期待しよう。

金曜日, 3月 27, 2009

癒し系ソフト2

ライブラリリファレンスを見ていたら、標準ライブラリだけでもプログレスバーを作れることに気付いたので、作ってみた。
Tkinterの拡張であるTixを使えばよいらしい。

Python3.0とPython2.6で動作を確認済。
try:
from tkinter import DISABLED
from tkinter import Frame
from tkinter import Button
from tkinter import tix
except ImportError:
from Tkinter import DISABLED
from Tkinter import Frame
from Tkinter import Button
import Tix as tix

class Window(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self._p = 0
self._stopFlg = False

self.pack()
self.createWidgets()
self.progress()

def createWidgets(self):
self.stopButton = Button(text='now progress', command=self.stopToggle)
self.stopButton.pack({'side': 'bottom'})

self.meter = tix.Meter(value=self._p)
self.meter.pack({'side': 'bottom'})

def stopToggle(self):
self._stopFlg = not self._stopFlg
if self._stopFlg:
self.stopButton.configure(text='now pause')
else:
self.stopButton.configure(text='now progress')

self.progress()

def progress(self):
if self._p < 1:
if not self._stopFlg:
self._p = self._p + 0.001
self.meter['value'] = self._p
self.after(10, self.progress)
else:
self._p = 1
self.stopButton.configure(text='finished', state=DISABLED)

if __name__ == '__main__':
root = tix.Tk()
app = Window(master = root)
app.mainloop()


Tkinterの使い方は紫藤のページさんの記事を参考にしました。

火曜日, 3月 17, 2009

足立美術館 五つ星

2年くらい前に行った、島根県の足立美術館がミシュラン観光ガイドで3つ星を獲得したそうです。
厳密に言うと、足立美術館は2つ星で、3つ星とったのは足立美術館の日本庭園だそうですが。
わざわざ分けたのは、美術館が持っている横山大観コレクションを別枠にしたかったのかな?
事情はともあれ、合計5つ星取っている観光地ってミシュランの中でも珍しいんじゃないだろうか。

あの庭園は、島根に行く機会があるなら絶対に見るべき価値があると断言出来る。それどころか、島根に行ってあれを見ないなんてありえない、と言いたいくらい素晴らしいのですが、今回の3(+2)つ星で大混雑になっちゃうのかなあ。
前に行ったときでさえ、結構混んでたのに。

日曜日, 3月 08, 2009

癒し系ソフト

最近ずっとPerlに触っていて、ちょっと疲れたのでPythonで息抜き。


プログレスバーがだんだん伸びていくのを見ると、とても落ち着くので、そのためだけのアプリを作ってみました。
実行イメージはこんなかんじ。



一時停止も出来る。



面倒なので画面はGladeで適当に。プログレスバーの終了処理は適当過ぎるかもしれないけど、ネタでしかないので気にしない。
一応3分で完了するはずだけど、あまり厳密ではない。そもそも、癒されているときにそんなことを考えないので、実用(?)上問題ない。


基本的な機能は20分ほどで完成。プログレスバーの使い方を調べるのにちょっと時間がかかった。で、ダラダラしたり、Perlについて調べたりする合間に、適当にやっているうちに出来あがり。やはり慣れている言語だと速い。調べたこともライブラリの使い方であって、Pythonそのものについて調べるなんてことはまったく無し。
Perlでもこれくらいさくさく書けるようになるだろうか。


以下、コード。ui.gladeは適当に。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gtk
import gtk.glade
import gobject


class Progress(object):

def __init__(self):
self.gladefile = 'ui.glade'
self.wTree = gtk.glade.XML(self.gladefile)

self.window = self.wTree.get_widget('window')
self.progress = self.wTree.get_widget('progressbar1')
self.button = self.wTree.get_widget('togglebutton1')
self.flag = True

self.window.connect('destroy', gtk.main_quit)
self.button.connect('toggled', self.on_toggled)

self.timer = gobject.timeout_add(100, self.update_progressbar)

def show_all(self):
self.window.show_all()

def update_progressbar(self):
if self.flag:
current_fraction = self.progress.get_fraction()
if current_fraction < 1:
self.progress.set_fraction(current_fraction + 0.000556)
return True

def on_toggled(self, *args):
self.flag = not self.flag
if self.flag:
self.button.set_label('ぷろぐれすちゅう')
else:
self.button.set_label('ていしちゅう')


if __name__ == '__main__':
prog = Progress()
prog.show_all()
gtk.main()


99%でなかなか終わらないとか、60%ぐらいで0%に戻る機能も考えたけど、癒し効果が無くなりそうなので、やめました。

木曜日, 3月 05, 2009

Perl学習中 ここ数週間の成果

ここ数週間の頑張りの成果。
CSVから配列を作るサブロジックと、配列からハッシュを作るサブロジック。
最終的にハッシュからDBにinsertするものを作りたかったけど、そこはDBIx::Classにお任せすることにした。
一応インサート文を組み立てるサブロジックも作ったけど、使うのはちょっとどうかと思う作り。手元のソースからはあとで消そう。
そうなるとモジュール名も変えなきゃ。

Csv2Db.pm


#!/usr/bin/perl -Ilib
package Csv2Db;
use strict;
use warnings;

use IO::File;
use Text::CSV_XS;

sub csv2array {
shift;
my $file = shift;

my $csv_reader = new Text::CSV_XS( { binary => 1 } );
my @_line = ();
my @csv_lines = ();

while (<$file>) {

#CSV_XSを利用し、カラムを分解する
$csv_reader->parse($_)
|| die "error: " . $csv_reader->error_input() . "\n";
@_line = $csv_reader->fields();
push( @csv_lines, [@_line] );

}
return @csv_lines;
}

sub array2hash {
shift;
my ( $schema, $csvlist ) = @_;

_check_hash_refference($schema);
_check_array_refference($csvlist);

my %hash = ();

foreach my $key ( keys %$schema ) {
$hash{$key} = @$csvlist[ $schema->{$key} ];
}
return %hash;
}

sub createInsertSql {
shift;
my ( $table, $valueHash ) = @_;

_check_hash_refference($valueHash);

my $fields = '';
my $sql = "INSERT $table SET ";

foreach my $key ( sort keys %$valueHash ) {
$fields = $fields . "$key='$valueHash->{$key}', ";
}
$fields = substr( $fields, 0, -2 );

$sql = $sql . $fields . ";";

return $sql;
}

sub _check_hash_refference {
my $hash = shift;
die 'Undefined Hash..' unless defined $hash;
die 'Not a HASH refernce..' unless ref $hash eq 'HASH';
die 'Empty Hash..' unless keys(%$hash) > 0;
}

sub _check_array_refference {
my $array = shift;
die 'Undefined Array..' unless defined $array;
die 'Not a ARRAY refernce..' unless ref $array eq 'ARRAY';
die 'Empty Array..' unless $#$array > -1;
}
1;



ここからテストコード。

01_csv2db_csv2array.t


use strict;
use warnings;
use Test::More;
use File::Temp qw( tempfile );

use Csv2Db::Csv2Db;

plan( tests => 2 );

#test1
{
my ( $tmp, $filename ) = tempfile();
print {$tmp} "0,k,hiro,m\n1,k,mai,f";
close($tmp);

my @result_arr
= ( [ ( '0', 'k', 'hiro', 'm' ) ], [ ( '1', 'k', 'mai', 'f' ) ] );

open( $tmp, "<", $filename );
my @res = Csv2Db->csv2array($tmp);
ok( eq_array( \@res, \@result_arr ), 'normal pattern' );
close($tmp);
}

#test2
{
my ( $tmp, $filename ) = tempfile();
close($tmp);

open( $tmp, "<", $filename );
my @res = Csv2Db->csv2array($tmp);
ok( eq_array( \@res, [ () ] ), 'empty file' );
close($tmp);
}



02_csv2db_array2hash.t


use strict;
use warnings;
use Test::More;

use Csv2Db::Csv2Db;

plan( tests => 7 );

#normal
{
my %schema = ( 'id' => 0, 'fname' => 2 );
my @arr = ( '000', 'k', 'name' );
my %result = ( 'id' => '000', 'fname' => 'name' );
my %test = Csv2Db->array2hash( \%schema, \@arr );
ok( eq_hash( \%test, \%result ), 'normal case' );
}

#undef hash
{
my @arr = ( '000', 'k', 'name' );
my %result = ( 'id' => '000', 'fname' => 'name' );

eval { my %test = Csv2Db->array2hash( undef, \@arr ); };
like( $@, qr/Undefined/, 'undef schema' );
}

#empty hash
{
my %schema = ();
my @arr = ( '000', 'k', 'name' );
my %result = ( 'id' => '000', 'fname' => 'name' );

eval{my %test = Csv2Db->array2hash( \%schema, \@arr )};
like( $@, qr/Empty/, 'empty schema' );
}

#not hash
{
my @schema = ();
my @arr = ( '000', 'k', 'name' );
my %result = ( 'id' => '000', 'fname' => 'name' );

eval{my %test = Csv2Db->array2hash( \@schema, \@arr )};
like( $@, qr/HASH/, 'not a hash' );
}

#undef arr
{
my %schema = ( 'id' => 0, 'fname' => 2 );

my %result = ( 'id' => '000', 'fname' => 'name' );

eval { my %test = Csv2Db->array2hash( \%schema, undef ); };
like( $@, qr/Undefined/, 'undef array' );
}

#empty arr
{
my %schema = ( 'id' => 0, 'fname' => 2 );
my @arr = ();
my %result = ( 'id' => '000', 'fname' => 'name' );

eval{my %test = Csv2Db->array2hash( \%schema, \@arr )};
like( $@, qr/Empty/, 'empty array' );
}

#not hash
{
my %schema = ( 'id' => 0, 'fname' => 2 );
my $arr = 'not a array';
my %result = ( 'id' => '000', 'fname' => 'name' );

eval{my %test = Csv2Db->array2hash( \%schema, \$arr )};
like( $@, qr/ARRAY/, 'not a array' );
}



03_csv2db_createInsert.t


use strict;
use warnings;
use Test::More;

use Csv2Db::Csv2Db;

plan( tests => 1 );

#createInsertSql
my $table1 = 'main_table';
my %values1 = ( 'id' => "000", 'fname' => "hiro" );
my $sql1 = Csv2Db->createInsertSql( $table1, \%values1 );
is( $sql1, "INSERT main_table SET fname='hiro', id='000';" );



PODを一切書いていないので、書かなきゃですね。
とりあえず目標期間内にここまで作れたのでOKとしよう。

水曜日, 3月 04, 2009

Perl学習中 リファレンスとアルパカ本

どうやら今のレベルでPerlで書いていて、一番引っかかるのはリファレンス関係らしい。

そして、リャマ本(第二版)にはリファレンスについてほとんど書いておらず、モダンPerl入門はリファレンスは知っていて当然というスタンスという、自分にとって一番必要な情報が書籍として手元に無いというひどい状態。

で、更に書籍追加ということで「続・初めてのPerl(改訂版)」を買ってきた。目次を見ると分かる通り、前半は大体リファレンスについて書かれている。おかげで「なんだか良く分からないけど、バックスラッシュつけたら動いたよ」程度の認識だったリファレンスについて、というよりか、何でリファレンスを使うのかについて分かってきた。
リファレンスも慣れれば自由自在に使えるんだろうか。

目次のURLを取るためにオライリーを見に行ったら今度はマスタリングPerlが発売されるらしい。
目次を見ても何言っているのか分からないので、今買う必要は無さそう。
どちらかというとPerlベストプラクティスのが欲しいかな。
ラクダ本はPerl6がちゃんとリリースされてからでいいや。

水曜日, 2月 25, 2009

Perl学習中 「モダンPerl入門」誤字

「モダンPerl入門」の103ページにある、DBIx::Class::Schema::Loaderを使うためのコマンドの3行目と、4行目の末尾のバックスラッシュは余分。少なくとも私の環境では。

というか、行が連続している事を示すためのバックスラッシュであって、実際には一行で書けということなのかもしれない。だとしたら誤字じゃないですね。

まあ、再びひっかかるかもしれない未来の自分へのメモということで。


追記:
誤字で良いそうです(コメント参照)。それに合わせタイトルの「?」を外しました。


これだけでは何なので、sqliteの場合の同コマンドの書き方。

perl \
-MDBIx::Class::Schema::Loader=make_schema_at \
-e 'make_schema_at("Hoge::Schema",
{debug => 1, dump_directory => "lib" },
[ "dbi:SQLite:dbname=hoge.db","","" ])'

最後の配列のところは、要するにDBI->connectの引数なんですね。
これは一度覚えれば忘れないかも。

日曜日, 2月 22, 2009

Perl学習中 ファイルハンドルをサブルーチンに渡す

ファイルハンドルをサブルーチンに渡す一連の流れ。他の書き方も出来るのだろうけど、今の知識で理解出来るのはこの書き方だけ。

Perlのコードはこんな感じ。test.plという名前で保存。バージョンは5.10。
use strict;
use warnings;

use IO::File;

my $file = IO::File->new();
$file->open( 'data', 'r' ) or die $!;
my @hoged = hoge($file);
print $hoged[0];
print $hoged[3];

sub hoge {
my $file = shift;

my @lines = ();
while (<$file>) {
push(@lines, $_);
}
return @lines;
}

dataの中身はこんな感じ。
data1
data2
data3
data4

で、実行

$perl test.pl
data1
data4


書き方は分かったけど、これのテストの書き方が分からない。
擬似ファイルを作るか、Mockを作ればいいんだろうけど。
眠いので寝る。

木曜日, 2月 19, 2009

Perl学習中 その2

サブルーチンに引数として配列やらハッシュをそのまま渡すと展開されてしまうというのに3時間ハマった。リファレンスとして渡してやる必要があるらしい。
引数として渡されるとき、@_ = (@array, %hash);という風に配列コンテキストで渡るのかな?

ちょっと実験。
%hash = ('key1' => 1, 'key2' => 2);
@array = (7, 8, 9);

@arg1 = (%hash, @array);
@arg2 = (\%hash,\@array);

print "@arg1\n";
print "@arg2\n";

こんなのを書いて実験すると。
$perl test.pl 
key2 2 key1 1 7 8 9
HASH(0x9771088) ARRAY(0x9771108)

どうやら想像通りらしい。

リファレンスを受け取ったサブルーチン側では、デリファレンスしてやる必要があるので、そのあたりで使われる記号が増えるという印象を生むのかな?
改めて自分の作ったサブルーチンを見ると、確かに$記号はやたら使ってるし、デリファレンスの辺りは、一週間前の自分には読めないだろうなとは思う。
ただ、書いているときはそれほど気にならなくて、それよりmyを忘れちゃうことの方が多い。javascriptのvarとか、VBAのDimみたいなものなので、そのうち慣れると信じることにしよう。

あとテストは重要。
詳しくない言語ほどテストの価値は上がるのかも。

金曜日, 2月 13, 2009

Perl学習中

お手伝いのために、Perlを覚える必要があるので、オライリー「初めてのPerl 第2版」と翔泳社の「モダンPerl入門」を横において少しずつ慣れるようにしている。

今のところ、最大の壁は文末のセミコロンを忘れることで、Perl批判にありがちな記号多すぎとかは感じない。そこに不満を持つようになるのは、過去の自分のソースを読むようになってからなのかも。

CPAN便利とは良く聞くけど、素直に依存性を解消してくれないケースもままあるので、あまりありがたみを感じない。環境設定が悪いのかもしれないが、面倒なのでubuntuパッケージからモジュールを拾うようにしている。それで駄目なら、そのモジュールには縁が無いということで深追いしない。

本当はTDDとかをやってみたいけど、Perlを使いこなせない状態ではちょっと難しい。テストは書くようにしているので、段々とテストを先に書くようにしていくのを目標にしてみる。

今週末にはそこそこ大きめの機能を組んでみよう。

日曜日, 2月 08, 2009

パソコンは使いにくい

パソコン(Windows Vista)の操作を教える機会があった、そしてこれからも教えることになりそうなので初心者を観察して気付いたことのメモ。

0.教える相手の方について


年は、そこそこ年配。
初心者と言ったけど、キーボード操作時にキーを探すようなことはないし、メールソフトも使えている。
でも、新規フォルダを作ったり、Wordで作った文書を任意の場所へ保存したりは出来ない、もしくは自信が無い。
ケータイはそれなりに使っている模様。

1.マウスより、トラックパッドの方が使いやすいらしい


マウスだとクリックのタイミングでカーソルがズレるそうだ。そのためダブルクリックの成功率が下がるらしい。
トラックパッドだと、カーソル操作とボタン操作が独立しているので「カーソルを置く」「クリックする」を独立出来る。

ちなみに誤操作防止のために、トラックパッドを叩いてのクリック機能はオフにした。

2.機能の抽象化ができていない


Wordファイルを削除すること、画像ファイルを削除すること、フォルダを削除することが全て、同じ「削除」であると直観出来ない。
やりたいことを聞いて、それを教えるという形式だったので、仕方ないかも。系統立てて教えれば、すぐ理解できるはず。
Wordの文書を削除する際「Wordから削除出来るんでしょ?」と聞かれたけど、これは盲点だった。
確かに新規作成できるなら、削除が出来ても不思議は無いですね。むしろ自然なこと。

3.マルチタスクで使えない


マルチタスクといっても、あるフォルダを開きながら、Wordで作業するとかのレベルなんですが、一つの作業をするとき、他のウィンドウを全部閉じてしまう。
これも教える側の都合上、今やっている作業に関係ないウィンドウを常に閉じていたせいかも。覚えるまでは、私の操作を完全トレースするつもりらしいし。
複数の窓を開きながら作業している様子は見せているので、慣れてきたらそういう使い方をするようになるはず。

4.ネットワークは難しい


IPアドレスなんかは、DHCPにおまかせでいいんだけど、メールが大変だった。
正直、POP3だとかSMTPだとかポートの変更だとかを初心者にやらせるのは難しいです。
このあたりもっとこなれないかな。
popやsmtpの設定を1ファイルに閉じ込めて、それを配置すれば後はidとパスを入れるだけ、みたいな仕組みを標準化すると良いのかも。
もう既にあるかな?

5.困ったらヘルプ、ネットに聞く


Windowsの使い方ならともかく、個々のアプリケーションの使い方なんてさっぱりわからないので、その時は悩まずにヘルプを使いました。昔はともかく最近のMSアプリのヘルプはかなり良くなっているので、基本的な操作(縦書きモードにするには?とか)を知るには一番手軽です。
分からないことがあれば、まずヘルプという姿を戦略的に見せるという意味もありましたが、あまり伝わっていないかも。
その他、頼りになったのは、「教えてgoo」や「okwave」などの質問サイト。大概の疑問は既に誰かが質問しているので、多くの問題を素早く解決出来ました。

とりあずこれだけ。後で追記するかも。

火曜日, 2月 03, 2009

typeZのバックライト設定

コメントでshinoさんに教えていただいたことを整理。


1.以下のコマンドを実行
xrandr --output LVDS --set BACKLIGHT_CONTROL native

2.以下のコマンドで、明るさを設定。数字が大きいほど明るくなる。
xbacklight -set [数値(0 - 100)]

3.電源の管理の設定で画面の明るさの設定を、2で設定した値にする。
xbacklightの設定と、電源の管理での設定が食い違うと、電源の管理側の設定値に近づくらしい。

今のところ、上記で何とかなっている模様。
後はいろいろ工夫してみよう。

shinoさん改めてありがとうございます。

木曜日, 1月 29, 2009

Ubuntu(typeZ)でスリープ

昨日のアップデートでついにUbuntu側でもサスペンド出来るようになりました。
寝るのも起きるのも充分早いので、これでようやくノートパソコンらしい使い方が出来そう。

ただ相変わらず画面輝度はコントロール出来ないみたい。
何か設定が必要なのかな。

木曜日, 1月 22, 2009

ネットワークうさぎ 十景

驚愕の日本語発話機能

フランス版ゆっくり




悟空の恰好でlainを奏でるうさうさ

耳の可動範囲は結構大きい。
lainなら、うさぎではなくクマだろ。




うざうさ

なにをやっているのかわからないが、鬱陶しい。
レスポンスは早くない。




踊るうさうさ

おしゃれさん




読書うさぎ

本ではなく無線タグ(?)を読んでいるようだ。
耳の色は塗ったのかな?




うさうさうさうさうさ




Chumbyに操られるうさ

やはりレスポンスが悪い気がする




あー、、、

Podcastを受信しているのかな?
実際飼うとなると、光るのはたぶん鬱陶しい




割と実際的なデモ

メール受信デモらしい。




みんなだいすきうさ

土曜日, 1月 17, 2009

今は買えないXO

今、Amazon.co.ukをみたら、OLPC XO-1はUK Shipping onlyになってた。
予約してたら買えたのかな?

日本でも買えるNetbookにSugarを入れられたら、ハードウェアとしてのXOにこだわる必要は無くなるのだけど、XO以外にSugar環境を入れるのはいろいろ大変そう。
Sugar-stick(ubuntuベース)で試してみたけど、typeZではネットワークが動いてくれない。

ネットワークうさぎ

ITmediaの記事によると、大分前に、ThinkGeekだかで見かけて欲しいなーと思っていた、ネットワークうさぎさんが、日本で発売されるそうです。

しかし価格は2万5000円とかなり高い。ついでに写真が悪いせいか、ちょっとちゃちい。
日本語で喋るというのはちょっと魅力的だけど、この値段ならPSPを買っちゃうなあ。

しゃべくり機能以外は私にも自作できるかな。aruduinoで遊べる時間が出来たら、こういうのを作りたいかも。

日曜日, 1月 11, 2009

OLPC体制変化

昨今の経済情勢のせいか、OLPCプロジェクトは解雇&減給で体制を縮小するそうです。
Sugarの開発はコミュニティベースに移行なので、開発速度の低下は否めないかと。

ただ、メーリングリストでは今のところ混乱は無いようで、「XO Camp楽しいよね」という話題がほとんどです。

Sugarを作っているのでなく、Sugarで遊んでいる私も残念という気持ちはあるけど、潰れなくて良かったという気持ちの方が大きいかも。
コミュニティベースに移行することで、XO以外のハードでもきちんと動くようになる方向に進むといいなあ。
自分でも何か貢献はしたい。Sugarで遊ぶことが何らかの貢献につながりますように。

木曜日, 1月 08, 2009

Pygameでボタンスイッチを作る方法

現状のメモ。

spriteでボタンを作って、それを押したら「何か」が実行されるというのが作りたかったのです。
で、Pygameのドキュメントを眺めてみた。spriteオブジェクトに、自分が押されたかどうか知る仕組みがあることを期待したけど、見つけられず。

なので、
  1. マウスの座標にぴったりくっつくsprite(=cursor)を用意
  2. クリックイベントが発生したらcursorとボタンのスプライトが衝突しているか判定
  3. 衝突していたら「何か」を実行!

という、原始的な方法をとってみた。
ボタンが少なければこれでいいけど、増えてきたら大変になることは確実。
イベントリスナ的仕掛けがあっても良さそうなんだけど(自分で作れってこと?)。
もう少しドキュメントを読まないと。

日曜日, 1月 04, 2009

お正月を過ぎて

情報化社会 in 田舎


お正月は実家に帰って、餅を食べたり、冷麺を作ったり、温泉に入ったり、ご馳走を食べたりとなかなか忙しくすごしました。
ネットに接続出来るのが、実家しかない(探せば公衆無線LANはあったかも)うえ、Willcomも実家以外ではなかなか電波を掴んでくれず、ほぼオフライン状態。
こういう非接続状態になると、コンピュータやネットが全然当たり前じゃない、デジタルネイティブなにそれおいしいの?、という気分になれるので自分にとっては結構重要です。

とはいえ、携帯電話は普通に繋がるので、思ったより情報格差ってのは無いのかも。定額性電話も兼ねる町内有線放送網があったりして、ある意味東京より情報化が進んでいる面もあるかも。

お正月で見た風景からの2009年の予測


2009年を予測せよと言われたので、お正月で見た風景と年末年始に考えていたことを元に予測してみる。

1. Webブラウザベースではないネットワークアプリケーションの増加


Webブラウザで動くアプリではなく、専用クライアントを使用するネットワークアプリケーションが増えるんじゃないかなと予測。
もう少し言うと、Webブラウザでも使えるけど、専用クライアントからの方が便利というソフトが増える、あるいは目立つようになるかと。
既に、2chブラウザとかTwitterクライアントとかGoogle Talkみたいなのはある訳ですが、そういうのが目立つようになるんじゃないかなあ。今、個人でWebアプリを作るのが流行っている(?)けど、わざわざWebアプリにする意義を感じられないものが多いように思えるのですよ。HTTP通信して、適当に出力する程度なら何もWebアプリにする必然性は無いわけで。
コアとなる処理の部分と、公開部分の切り分けという観点から、専用クライアント化は進むんじゃないかな。
後で、もう少しまとめるかも。

2. 全画面表示を前提としたユーザインターフェースデザインが重要になる


これは予測というより、今一番興味を持っていることかも。
ディスプレイの大型化と共に、パソコンのユーザーインタフェースというのは画面に複数の窓を出す方向に進化してきたけど、これからは一つの窓だけがディスプレイに出る = 全画面表示のユーザーインターフェースデザインも並行して研究されるんじゃないかな。
携帯の画面デザインは既に全画面を前提としているので、まったく新しい出来事ではないんだけど、iPhoneやスマートフォン、Netbookといった、従来のケータイよりパワフルだけど画面が小さいデバイスが増えていくと、それに合わせてデザインがされるんではないだろうかという予想です。
ついでに言うと、DSiやSugarのインターフェースも全画面表示ですね。


書いては見たけど、えらい地味な予測かも。あと気になるのはやっぱり地味だけどメッシュネットワーキングかなあ。ちゃんと調べてないから既に旬は過ぎているかもしれないし、特に書けるような事も無いです。