2005-06-02
_ OpenGL + OpeCVでカメラ入力をリアルタイムにテクスチャ貼り付け
毎週水曜日はプログラミングの授業です。今日はOpenGL + OpeCVでカメラ入力をリアルタイムにテクスチャ貼り付けを行うサンプルをもらいました。しかし、これをVC.netでコンパイルできるように設定するのに一苦労。そのときの作業メモを下にまとめてみた。とりあえずコンパイルはできた。こんな手の込んだサンプルを準備してくれる、先生に感謝。この手の動作させるまでの調査はものすごく時間がかかるのでとてもありがたいです。
_ HARDWARE HACKINGとHOME HACKING PROJECTS
HardwareHackingという本とHOME HardwareHackingという本を研究室でみてせてもらった。このうちのHardwareHacking本の表紙の上部に下のようなことがかかれている。
If I had this book 10 years ago, the FBI would never have found me !
この場合は「10年はやくこの本がでてたらFBIは私をみつけなかっただろうに!」みたいな意味になるのかな。この文章が気になってちょっと調べてみると、監修しているのは Kevin D. Mitnickといって、初めて知ったんだだけど、クラッカーとして有名な人のようだ。Googleでこの人の名前を検索するとその手のエピソードが引っかかる。現在はセキュリティのコンサルタントをしているらしい。ハードウェアハッカー要注目の本です。
2005-06-06
_ ムービークリップ主体方法とクラス主体手法
最近久々にActionScriptを書いています。半年か一年ぐらいまともにActionscript書いてなかったのですが、FlashOOP本をよく見てみると、AS2.0以後はプログラマ向けの工夫がいろいろ施されているのに気づいたのでメモ。
Flash OOPのCHAPTER13で触れられている、「クラス主体手法」で設計するとキーフレームにあちらこちらActionscriptを書かなくても、ActionScriptのファイルのコードとFlashのファイルってきれいに分離できるようです。コードが分離できると以下のようなメリットがありそうです。
- ASファイルはテキストなので、emacs等のプログラマが良く使うエディタで編集できる
- コードを分離することにより、CVSやSubversionなどオープンソース関連でよく使われるバージョン管理システムで管理できそう
- コードが分離するため、作業を分担して大規模開発も行えそう
この手法が広まると、どんどんJava系のプログラマも場合によってはActionscriptを採用していきそうな気がします。
2005-06-09
_ D言語によるUDPの受信
毎週水曜日恒例のプログラミングの授業。今日はOpenSoundControlをVC++で実装をしたものの解説をしてもらいました。が、しかし、今自分が使っているネイティブ動作の言語はD言語なので、そのままコードは使えないので、とりあずUDPの受信コードを書いてみました。途中、TCPの通信のやり方とUDPの通信のやりかたの違いに気がつかず、TCPのコードをUDPにそのまま変えたものをずっといじってましたが、どうやらUDPだと手順が違うと言うことに、このTest Page. Yoshifumi Tanakaのソケットの解説を読んだときに気づきました。
D言語によるUDP通信の実装はものすごく例がないため、言語が似ているC#のコードなどをヒントにしながら探しました。Socketプログラミングの知識が無いため、ものすごく時間がかかってしまった。明日は送信側をつくって、できれば簡易的なOSCの実装をしたいなと。
こういった調査をしているときにかなりてこずるのが型の扱いです。ポールグラハム氏が動的な型付けの言語について力説していたりするのですが、(naoya氏のダイアリ、僕やはてながPerlを選ぶ理由にそれに関連した解説がありましたね) PerlやRubyのような動的型付け言語はそのあたりにあまり悩まなくていいので生産性が高いです。しかし、今やっている実装は3Dで高速な描画がほしいので動的型付け言語だとだとまだまだ速度がたらないな、と言うのが今の実感です。
2005-06-12
_ SonyCSLにいってきました
大学の授業でSonyCSLオープンハウスに行ってきました。展示スタイルは基礎研究関連はA0ぐらいのパネルと研究者本人がいるかたち、インタラクションラボはデモ+プレゼンテーション用パネル+研究者本人というかたちだった。この形式は情報デザイン学科のデザインコースの展示でやっているスタイルとほとんど変わらない。この展示スタイルは誰が始めてどう継承されてきているのか気になった。研究系はこの展示のやり方が標準なのかな?
展示そのものも面白かった。インタラクションラボのあるデモにProcessing Betaが使われていました。どうやら他のソフトに比べてProcessingはハードウェアからの接続など、自由に拡張できるというのがポイントだったようです。実際に研究領域でもProcessingを使っているところを確認できたのがProcessing.jpを運営している私にとっての一番の収穫でした。今後はインタラクション関連の研究はビジュアルデザインなどの問題も絡んでくるので、そういった領域でデザイナがどう参加していくかが課題だな、というのが私の感想です。
2005-06-13
_ ファイルをコピー&ペーストすると文字コードが変化する?
最近はプチプチJavascriptを書いていたりしますが、不思議な現象を発見しました。WindowsXPの環境で、「日本語を含まない半角英数のみのUTF8のファイル」をコピー&ペーストすると、ペーストされたファイルの中身がなぜかSJISになってしまっています。これが原因でJavascriptの挙動が摩訶不思議なことになっていました。初期化したはずの変数が初期化されなかったり、、、。私はよくカタにしているファイルをコピー&ペーストしてHTMLなどを編集しますが、このようなことの遭遇したのは初めて。検索してもあまりひかからないので、自分の環境だけかもしれませんが。エディタの都合だったりするのだろうか。
他のエディタも試したところ、これはどうやらファイルを開いたときの文字コードが関係するらしい。Javascriptのコードを書いているときはわりと半角英数で編集をしていてHTMLにあわせてUTF8で保存する。で、半角英数しかないファイルはWindows上では開きなおすと日本語(2バイト文字)がないため、エディタがSJISだと解釈するらしい。そのまま編集時の文字コードが変わっているのに気づかず、その状態で日本語でコメントアウトしてりしてセーブするとSJISになってしまい、それに気づかないままでいたらしい。まあ、きちんとファイルを確認しろってことなんですが、わりと焦るとよくやりそうなのでここにメモ。
2005-06-18
_ Musical Batonがきた
flashaddict.netのTakaさんからMusicalBatonを受けとりました。MusicalBatonはいくつかの音楽に関する質問に答えて、その次に5人につなぐという試みです。もともと海外のBlogが発端のようです。何個かたどっていったら、日本語と英語がちょうど切り替わったときのBatonをみつけました。どうやら6月頭に日本語にこの遊びが上陸したみたい。経緯に関してはhxxk.jp - Musical Baton の泥臭いまとめとかみるべし。
今コンピュータに入ってる音楽ファイルの容量
7.7GBほど。そんなに多くない気がします。
最後に買った CD
bonobos electlyric
実は弟が買ってきたんですが、いいものかってきてくれましたよこれ!saku sakuでTHANK YOU FOR THE MUSICがよく流れてますよねー。ジャケットもわりと好き。
今聞いている曲
MILK ROCK 嶺川貴子
XIMER ...c.c.c.remixにはいってるほうのMILK ROCK。今気づいたんですが、ファイルが壊れていて5分ぐらいある曲が一分で終わってしまいます。とりこみなおさなきゃ。これまた今気づいたんですけど、XIMER ...c.c.c.remixに入ってるPHONOCALLOON SONGは竹村延和氏によるリミックスなんですねぇ。
よく聞く、または特別な思い入れのある 5 曲
Steve Reich Tokyo/Vermont Counterpoint
Reichのループを日本人のマリンバ奏者がアレンジしたものです。この曲とiTunesのビジュアライザを掛け合わせると映像といい感じにシンクロしてすごいことになります
ZAK+YUMIKO Mt.Odyssey (非売品)
原宿でやってた村上隆のsuperflat展でかかっていた曲です。レコーディングエンジニアで有名なZAK氏とBuffalo Daughterの大野由美子氏による曲。これはCD単体で売ってなくて、superflat展で販売されてた限定版のカタログについてたものです。
Manitoba Crayon
Crayonっていうタイトルどおり、ちょっと幼い感じのエレクトロニカです。こういう鳴りをするパーカッションはわりと好きでよく聞きます。
クラムボン ナイトクルージング
Fishmansのナイトクルージングをクラムボンがカバーした曲。原田郁子氏のピアノアレンジになっていて夜聞くといい感じ。
はっぴいえんど 風をあつめて
いろんな方にカバーされている曲なのですが、とりあえず原曲をあげてみました。割とよくきくのが中村一義バージョンかな。
さてさて、お次は誰に回そうかなと思ったんですが以下の方に押し付けちゃいます!
- Junkline アサノさん
- graphicdaysなおみさん
- luvtechno kwskくん
- lalalia satoruくん
- +48v hikoくん
_ はてなでマルチアカウントが公認に
はてなで一人で複数アカウントをもつことが公認になったようです。
これまではてなでは、主に人力検索での自作自演などを防ぐために「1人1アカウント」と規約で定めていたのですが、人力検索以外のサービスが増え、「2つ目のアカウントを作って2個目のダイアリーが書きたい」といった要望を頂いていたことを受けての機能追加となりました。
これは良い試みだと思います。私自身はこのtDiaryのシステムを使ってBlogのようなことをはじめて2年近くたっていますが、時たま「この話題はここに載せるべきか?」というのにどうするか悩むことがあります。個々のトピックの話題には対象とする読者層がいて、このトピックと次のトピックでは明らかに読まれる層が別、なんてこともあります。書き手の意識にかかわらず、読者はその話題の軸を期待するわけで、書き手はその軸を多かれすくなかれ意識しているのは確かなのではないでしょうか。
はてな内のアカウントは、そのアカウントによって行われた行動(質問履歴や日記の履歴、アンテナやブックマーク)が誰からも閲覧可能であると言う意味でアカウント内での自己同一性を保ちながら、一方で、他のアカウントを持ち別の人格として振舞える自由や、実世界の存在や他の人格と結び付けられない自由を適切に保障していきたいと考えています。
このことを書き手にとってはっきりと自覚していることは多いのですが、実際にシステムを構築し、無料のBlogサービスを提供している側から見ると、その要求に気づくことは少ないんじゃないかなと思います。社長みずからがこういった発言ができるところに、はてなは単にシステムを支える技術だけでなく、快適なコミュニケーションは何かをきちんと考えているという意識の高さを感じます。
つまるところ、はてなは実世界でのコミュケーションの違いとウェブ上でのコミュニケーションの違いに本当に気づいている、数少ないサービスのひとつなんだろうなぁと思うわけです。自力でBlog立てている人にとってもこのポリシーの変更は有益なんじゃないかなと。
2005-06-25
_ はてなが社内ミーティングをmp3で公開
ふとはてなのトップページをみていたら、お知らせにはてな社内ミーティングの公開についてという記事に目がとまる。なんと、社内ミーティングをMP3ファイルで公開してしまっている。これははてな式デジオだったりするんでしょうか。23日付けの記事だったので、すでにたくさんオンラインブックマークされているんだろうな、と思ったら意外にブックマークされていない。アレ?(よくさがしてみたら、jkondoの日記にて結構ブックマークされていました)
Podcastingの対応も考えているらしく、はてながどう音声ファイルを扱っていくかちょっと気になる。
_ 永原康史さんの特別講義
昨日は永原康史さんの特別講義だった。講義内容は「実展示空間とネットワーク空間をつなぐメディアデザインの試み」 丁寧にグラフィックデザインからデジタルメディアへの変化を確認しながら、メディアデザインとは何かを定義した上で、現在アートディレクションを行っている愛知万博のサイバー日本館に関するウェブの説明をしていただいた。
先日とあることでプレゼンテーションしたばかりだったのだが、デザイナーのプレゼンテーションはどのようにして行うかと言うことに注意しながら見ていた。最近はエンジニアのプレゼンテーションを見ることが多かったので、グラフィックデザイナのプレゼンのやりかたをしばらくみてなかったので余計注意してみていた。特にウェブのシステム概要のダイアグラムもきちんとグラフィックデザインで伝わりやすくなっていて、簡易的にしか描かれていないプログラミングのシステム図をどうグラフィックデザインで落とし込むかで迷うところが多かったので、参考になった。
グラフィックデザインからメディアデザインにいたる説明の中で永原さんはソウル・バスについて触れていた。ソウル・バスについては自分でも少し調べていたが、実際に作品そのものはみていなかった。ちょうどその講義でソウル・バスの映像も見れてちょっとラッキー。グラフィックデザインからメディアデザインに関する考察を見直せてかなり参考になりました。
2005-06-30
_ Google Maps API
Google Earthがかなり話題の中、Google Maps APIが公開されています。Javascriptで操作可能のようです。
Documentationもきっちり準備されており、Examplesも豊富。