日曜日, 12月 28, 2008

パペットマペットと河崎実

昨日は、パペットマペットのライブに行ってきました。
久々に見たけど面白い。1時間半ずっと笑いっぱなし。
前のほうの席だったってのもあるけど、テレビで見るより面白いなあ。他の芸人もライブで見た方が面白いんだろうな。
新喜劇みたいに舞台をそのままテレビで流す番組がもっと増えて欲しいです。

途中トークの時間があって、映画監督の河崎実さんが登場。監督の名前は知らなかったけど「いかレスラー」「かにゴールキーパー」「日本以外全部沈没」と撮った映画は知っていました。
19歳のときに豆腐が巨大化する映画を撮ったのが映画監督になったきっかけ。現実と虚構がごちゃまぜになっているのが好きらしく、このあたり昨今の拡張現実の流行とリンクしているような気がする。
トークの最中に、プロットの構想をスラスラ語り出す(しかも面白い!)あたり、年がら年中映画のことを考えているんだろうなあ。

パペマペの背後霊は交換可能なので100年後も続けられるという話題も出て来て、なかなか知的なトークでした。トークの最中も笑いっぱなしだったけど。

金曜日, 12月 26, 2008

PyCon2008 OLPC Tutorial 超要約 その4

その3からだいぶあいたけど、とりあえずメモ訳のまとめ。
未来の自分と、これからこのTutorialをやろうとする人のための参考として。

注意点
reStructuredTextでまとめたものをHTMLに変換したので、変なHTMLソースになってます。
また実際には、複数日かけてやってるので、口調や編集の仕方が変化している上に、最後の方は結構適当です。

ではスタート。


Auto-generate a Skeletal Wrapper (Step 002)


Sugarアクティビティには、作るのがちょっとだけ苦痛な"boilerplateコード"が結構あります。さっき(その3で)落としたOLPCGamesには、新しいActvityの構成を作ってくれる、スケルトン生成スクリプトが入っています。
使い方はこんな感じです。実行してみてね。



cd OLPCGames-1.6/skeleton/
./buildskel.py -n HelloPygame -t "Hello Pygame" -s org.laptop.community.HelloPygame

buildskel.pyのオプション:


-n NAME, --name=NAME
分かりやすく簡潔な名前 (ファイル名に使われる)

-t TITLE, --title=TITLE
分かりやすく、人間が読むための名前
(ウィンドウやアイコンのタイトルに使われる)

-m MAINLOOP, --mainloop=MAINLOOP
メインモジュールと関数名。package.module 見たいな感じで。

-s SERVICE, --service=SERVICE
DBUSのサービス名。提供されないなら接頭辞の名前(?)

今回使わないのは、-mだけ。今回はデフォルトである、run.pyのmain関数を使います。
それと、-sはD-BUSで使われるので一意になるように名前付けをしてね。



boilerplateコード

面倒で苦痛で決まりきった書き方の繰り返しみたいな意味。
特に関数化やモジュール化も出来ないものを言う気がする。
Sugar-Activityの場合、フォルダ構造とかMANIFESTファイルとかがそれにあたる。


新しいActivityの登録


ActivityをSugarで使うには登録しないと駄目です。じゃないとSugarのランチャーに出てきません。
まず、sugar-shellを起動します。sugar-jhbuildの場合は"sugar-jhbuild shell"をbuntuのパッケージでSugarを入れてるならsugar-shellコマンドを実行します。
次に、あなたがOLPCGames-1.*/skeletonディレクトリにいるとして次の順に実行します。
(注:HelloPygame.activityディレクトリはさっきbuildskel.pyで作られているはずです)



cd HelloPygame.activity
python setup.py dev

そして、今後楽をするため、シンボリックリンクを張ります。



cd ../../../
ln -s OLPCGames-1.*/skeleton/HelloPygame.activity .

そしてsugar-emulatorを実行してHelloPygameっていうActivityが登録されていたらOKです。
うまく行かなかったらlogを見てね。


ラッパーを見てみよう


好きなIDEで自動生成されたファイルを見てください。
OLPCGamesはGTK Socket (X-Embed) プロトコルを通して、GTKアプリケーションのウィンドウの中にPygame(SDL)を埋め込むための、薄いラッパーです。
これからどんどんカスタマイズしていきます。
さて、何が作られたでしょうか。


メタデータ


HelloPygame.activityディレクトリの下のactivityディレクトリにあるもの



activity.info

何を動かすかとか、アイコンデータの指定とか
http://wiki.laptop.org/go/Activity_Bundles#.info_File_Format

activity.svg

アイコンデータ
http://wiki.laptop.org/go/Sugar_Icon_Format


GTK Wrapper(activity.py)


概要



  • クラス定義

    • PygameActivityを継承

  • GTKイベントの割り込みや生成

  • Sugar用ツールバーの追加

  • Pygameウィンドウのサイズの宣言

  • 名前、タイトルの宣言

  • メインループ関数の宣言

  • 別のPygameスレッドを作ること


Pygameメインループ詳細



  • import

    • pygame : 描画、メインループ、そしてそれら素晴らしいモノ全て

    • olpcgames.pausescreen : sleep状態に素早く移行するためのイベントを発生させる

    • logging : 標準モジュールのログです。使い方を知っている必要があります

    • olpcgames : イベントの定数にアクセスするために



  • loggingセットアップ

  • main関数

    • 画面の準備をする

    • フレームの限界値を設定(25か50がいい)

    • ダブルバッファリング

    • イベント開始

      • 非アクティブ時は画面描画を止める

      • そうでないならイベントを発生させる






サポートメカニズム


setup.py
パッケージング用のスクリプト。stuptoolsではないので注意。
MANIFEST.in, POTFILES.in
setup.pyに食べさせる。

step003


Activityを走らせることは出来たけど、微妙な状態ですね。
というわけで、"Hello World"的なものを加えてみます。
これにはOLPCGamesのTextClassを使う。これはPangoテキストレンダリングエンジンのラッパーです。
Pygameのスプライトクラスは、多くのラスタ画像を表示するのに非常に効率的なメカニズムになってます。
Pygameの大概のことは、スプライト関連のクラスを使うとうまくいきます。
「Hello world」がスプライトエンジンを激しく使わない内に、関連操作に慣れるために使っていきます。



  • Sprite と Sprite-Groups

    • Sprites: imageと長方形の枠(Rect)

      • Rects in Pygame

      • Group タイプとなぜRenderUpdates()するか

      • Group 追加/除去 操作





  • TextSpriteを使ったテキストレンダリング

    • PangoFont クラス

    • Fontの仕様

    • Fontレンダリング結果、画像とRect

    • 文字列の翻訳のためにgettextをつかえ



  • layout関数とRect

    • Rectの仮想プロパティとそれらへの課題



O'Reilly Japan Ebook Store開店

O'Reilly Japan Ebook Storeが開店したそうです。
書籍版よりちょっぴり安いみたい。我が家の場合、本棚を圧迫しないというメリットの方がでかいですな。

リファレンスやクックブックは検索しやすいから電子のメリットは高いはず。逆に読み物系はメリットは高くないかな。むしろ自由に持ち歩けないデメリットの方がでかいように思う。
オライリーのサイトではiPhone(iPod touch)で表示している画像が出ているけど、じっくり読むには辛そう。

それと、買ったEbookを間違って消しちゃったらアウトなのか、それとも一度買ったら何度でも落とせるのかが分からないけど、何となく消したらアウトっぽい。テキストコピーは不可みたいだけど、ファイルコピーはどうなんだろう。質問しようかな。

一月末までにEbookを買った人の中から抽選でオライリーロゴ入りフリースジャケット(限定版)が当たるらしいけど、さてどうしようか。

Safariで日本語書籍が読めれば、それが一番いいんだけど。

日曜日, 12月 21, 2008

Sugarでアニメーション

Pygameだけで画面を作れとの教え通りにしたら、Sugar上で簡単なアニメーションをさせることも楽に出来ました。
見栄えがGtkと離れるから気持ち悪いけど、Gtkと組み合わせるのは将来の課題にしよう。

次に知りたい情報は次の2つ
・XO(Sugar?)のストレージの扱い方
・カメラの使い方

ストレージの方はPyCon2008のOLPC Tutorial資料にあるみたい。このチュートリアルは夏ぐらいに序盤だけをやって、放置していたので、今年中に全部やってみよう。

金曜日, 12月 19, 2008

かわいいプロジェクター

小型プロジェクターは流行ってるみたいですね。
こういうかわいいのもでるみたい。

映像作品をクリアに見せるにはパワー不足だろうけど、逆に見えるか見えないかのレベルで映す前提であればこういうので良いのかも。
小型な分、設置の自由度も高いから、展示の仕方も工夫できるはず。

水曜日, 12月 17, 2008

Gtk with Pygameを調査してみた

思い出したかのようにXOとかSugarで遊んでいますが、Gtkの中にPygameの画面を出したいなあと考えて調べてみた。
割とメジャーな要望らしく、いろいろ解決策を発見。でもサンプルコードが動かない。
要するにDrawingAreaを用意して、それをPygame用とすれば良いらしいのだけど。

時間があれば、自力でなんとかなりそうだけど、Pygame本家でGUIs with pygameという文書を発見。

要約すると「GtkとかQtとかWxの中にPygame入れようなんて思うな。時間の無駄だ」だそうで。
言ってることは分からなくもないけど。
代替として、Pygame(Sprite)で実装したGUIライブラリ(というよりウィジェットといった方が正確?)を提示してるけど、それもどうだろう。

金曜日, 12月 12, 2008

275ポンドで買えるもの

今、1ポンドは135円くらいみたいです。
137.5ポンドだと18,500円くらいですね。
DSiは18,900円なので、まあだいたい同じくらいですかね。

なんとですね、DSiと同じ値段でパソコンを買えるらしいのですよ。茄子さん。
ただ、セット販売で2台ずつしか買えないんですよ。
でも4万円せずに、2台も買えるってすごいよね。輸送費を考えても十分安いよね。
2台もいらないから、1台は寄付してもいいよね。

日曜日, 12月 07, 2008

Python3000とバックスペースキー

昨日、Python3000のインタラクティブシェルでバックスペースが効かないという話を聞いたけど、そんなことないよなーと思いつつ確信がなかったので特に「そーなんだー」と流していた。

今、Ubuntu8.10上のGnomeコンソールで確認したところ、ASCII DELなら普通にバックスペースが効く。Contorol-Hは駄目。
ビルド&インストール時、configureはprefix以外何もつけておらず、makeも特別な事はしていない。

Vistaではコマンドプロンプトも、Power Shellも両方OK。
そして、終了のショートカットがControl-Dではなく、Control-Zに変更されていることに気付く。ちゃんとドキュメント読めよという話ですが。

Macは確認がめんどいので、後回しにしよう。

Python with Hardwareの飲み会に行ってきた

昨日はPython with HardwareとHacker's Cafeのみなさんと合同での飲み会でした。

記憶とデジカメの記録による見たもの聞いたものリスト(順不同)
・(今ある技術で出来る範囲の、それでも十分凄い)電脳メガネ
・Ouch!さんの野望(MES)
・測距センサーによるコントローラ
・電脳スターラリーのプレゼン
・位置エネルギーを使った歩行模型(脱力を利用することを考慮に入れている?)
・a2cさんのプロダクションで使われているものの説明
・未来予測 電脳メガネを実現するには
・iPhoneと網膜センサーと筋肉とチームワークによるインタラクションシステム
(他にもいろいろあった気がする)

金額的にも技術的にも敷居が下がることで、個人レベルで出来ることが拡大していることを実感できる3時間でした。
昨日の飲み会の延長線上に、1000TB以上のストレージが普通な世界があるんだろうなと。
そのなかでa2cさんの、プロダクションレベルで求められるクオリティは高いという指摘には、考えさせられるところがあります。凄い技術が個人レベルであたりまえになったとき、その上のレベルはどうあるか、何が個人レベルと違うのかという事は、もっと意識する必要があるし、それがMake的、DIY的世界にも反響するだろうなと。昨日の今日で、あまりまとまってないけど。

Ouch!さんの野望を聞いていて「ものづくり革命 パーソナル・ファブリケーションの夜明け 」を紹介したいなあと思ったけど、昨日言う機会がなかったので、ここに書いときます。もう読んでるかもしれないけど。技術的内容ではなく、リーズナブルな技術は社会、世界をどのように変えていけるかという事が語られています。もちろんOuch!さん以外にもおすすめです。

メディアアーティストとかにも絡んでいろいろ考えたけど、寝て起きたら飛んでしまった。
そのうち思い出すかな。

幹事のOuch!さんありがとうございました。
それとあれだけ変な事をやっても、何も言わないお店にも感謝です。

木曜日, 12月 04, 2008

Python3000出たよ

とりあえず確認。

Python2.6の場合

>>> class Hoge:
... pass
...
>>> Hoge.__base__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: class Hoge has no attribute '__base__'
>>>


Python3.0の場合

>>> class Hoge:
... pass
...
>>> Hoge.__base__
<class 'object'>
>>>

火曜日, 12月 02, 2008

Ajaxについて(概要)

Ajaxとはなにかと聞かれましたが、こういう風に略字を展開すると意味が分かるはず

Asynchronous(非同期) + javascript and XMLHttpRequest(or XML)

要するに「javascriptを使ってXMLを非同期に通信する」というのが、ざっくりした説明です。
最近はXML以外のものも使われるけど、XMLはそれほど重要じゃなくて、大事なのは非同期ってとこです。
目立つ効果としては、ページ遷移が発生しない。なのでユーザのストレスを軽減出来ると言われてます。
とはいえ、結局通信はしているので、重いときには通信が成功したかどうか分かりにくいとも言えます(作り方次第だけどね)。

システム的な利点としては、必要なデータだけを取りにいくので、一回の通信でやりとりするデータ量を抑えられるというのが一番なのかな?HTMLだと直接必要無いタグもやりとりすることになるけど、Ajaxだとデータ構造として最低限のXMLでやりとり出来るので。
ただ、これも作り方とコンテンツ次第だけど、ひっきりなしにリクエストが来ちゃうと結局サーバ負荷が高くなる可能性もあったり。

あくまで通信方法でしかないので、コンテンツ保護とはまったく別の話です。ユーザーインタフェース的な話でしかないです。

Internet Exploer限定とかならコンテンツ保護ソリューションてのは各社から出てるけど、そんなものを使うくらいなら公開しない方がマシ。いまさらっと調べたけどVista対応しているのは少ないみたいだし、これでIE8、Windows7が出てきたら、どこまで対応してくれるか分からない。
最終的に画面をカメラで取られたらアウトなんだしね。

あと、さっき言った新しいマルチメディア用マークアップ言語ってのはこれの事です。日本語記事は適当に検索してね。
SMIL 3.0

日曜日, 11月 30, 2008

hamsterdbの特徴

hamsterdbはデータベースエンジンだけど、データベース管理システム(DBMS)ではないそうです。
つまりOracleだとかMySQLとはレイヤーが異なるわけですね。
DBMSではないので、当然SQLは使えません。型の扱いも貧弱で、高度なリレーション処理なども使えません。
組み込み用途なので、高速性とサイズの小ささ重視なわけですね。
iPhoneアプリの内部で使うとかすれば、違いがわかるのかな?今のところARMはサポートしてないっぽいけど。

可愛さにつられてインストールまでしましたが、私にはあまり縁が無いもののようです。

金曜日, 11月 28, 2008

Ubuntuのランチャーからarduino IDEとprocessingを起動する

もしかしたら常識かもしれない。ついでに過去に似たようなことをやったことがある気もするけど、また忘れないようにメモ。

事の発端は、せっかくarduinoを買ったのに、全然時間がとれなくて遊べなかったので、arduinoIDEを入れてみようとしたところから。

問題発生までの過程


普通に公式サイトからLinux用のアーカイブを落として、解凍して、「arduino」というシェルスクリプトをダブルクリックすると普通に起動。この辺はさすがJavaですね。

ついでに1.0が出たというprocessingも落として、解凍して、「processing」というシェルスクリプトをダブルクリックすると普通に起動。さすがJavaですね。
arduinoIDEとprocessingは兄弟みたいなもんですしね。

ところが、ランチャー経由ではどちらも起動しない。

解決編


いろいろやっても駄目だったので半ば諦めかけたのですが、そもそもシェルスクリプトの中身を読んでないことに気づき、読んでみる。
どうやら起動時のカレントディレクトリがarduino(processing)のディレクトリであることを前提にしているみたい。

なのでこんなシェルスクリプトを書いてみた。

#!/bin/sh
cd $HOME/arduino-0012
sh arduino

実行属性をつけて、ランチャーの起動先をこのスクリプトに変更。
すると、無事起動に成功。
processingも同様にして起動を確認しました。

やっぱり過去に同じ事をやった記憶があるな。何のアプリだったろう。
あと、もう少し美しい方法はないだろうか。

月曜日, 11月 24, 2008

石内都展-ひろしま/ヨコスカ に行ってきた

目黒区美術館の「石内都展-ひろしま/ヨコスカ」に行ってきました。
直前に写真美術館の「日本の新進作家展vol.7「オン・ユア・ボディ」を見てからなので、写真三昧です。

写真家石内都の初期の作品から最新作「ひろしま」までを一度に見られる非常にお得な展示内容です。
ものすごく大雑把に見るとヨコスカという街から始まり、アパートメントという建物、人間、被服と、対象がどんどんクローズアップされていく流れ。
石内さんの興味は、被写体というより、その表面の肌理(きめ)textureにあるみたいで、年を追うごとにその傾向は強まっているように見えます。石内=マザーズと思っている人(私です)にとっては唐突な印象の「ひろしま」も、textureを追ううちに自然にtextileに辿り着いたのだということが良く分かるはず。

「ひろしま」は、その被写体の性格上「ヒロシマ」という物語に見る側が引きずられて、作品ではなく、「ヒロシマ」という物語の感想を抱きかねないので、作品の流れの中で見られたのはラッキーでした。

石内都ファンだけでなく、石内都をこれから知りたいという人にもお勧めの展覧会です。
ちなみにカタログは、これまでの石内都の全てが載っていると言っても過言ではないほどの情報量で、これまたお勧めです(重いけど)。

日曜日, 11月 23, 2008

DSiを買った

ヨドバシカメラで普通に、しかも午後に買えてしまいました。
大方の予想通り、DS(lite)やWiiと違い、爆発的に売れているというわけじゃないみたいですね。
GBAが出来なくなるという大きな機能削減もあるので、正直微妙という気はしなくもないです。

実際、DSiはソフトウェア的なアップデートを前提としていたり、オンラインでソフトを買えるなど、コンセプトそのものがこれまでのDSとは異なっているようです。
DSはあくまでもパッケージソフトを前提としたプラットフォームだったけど、DSiはパッケージソフト以外の可能性を開くのが目的なのかな。
バンブラやレシピ集など、枠組みはそのままで、データのアップデートを行いたくなるソフトが出てきている現状から言えば自然な流れなんでしょうな。
特に学習系ソフトなんかは、複数のソフトを使っていると入れ替えが面倒だと思うので、より便利になるかと。

土曜日, 11月 22, 2008

Google Chromeの変な挙動は続く

Google Chrome 0.3.154.9でまた「SSL2.0を使用する」のチェックが勝手に入っていた。
似たような現象が無いかGoogleで検索しても亀鶴茄子がひっかかるだけで、なんの解決にもならない。
再現性がさっぱりわからないので、報告もし辛い。
まだbetaだからですかね。

火曜日, 11月 18, 2008

Ubuntu + Firefox3 で google toolbarが壊れる(2008年11月18日時点)

Ubuntu Firefox Modifications 0.6がgoogle toolbarに干渉するみたい。
そのうち解決されると思うけど、Ubuntu Firefox Modificationsを無効にすることで、とりあえず対応。
どっちかというとgoogle toolbarのが大事なので。

Firefox 3.04のアップデートが原因かな?

9.10でも同様の事象が発生しました 2009年11月9日

日本からG1G1

今度のGive 1 Get 1は、イギリスのAmazon経由なら日本からでも注文できるそうですよ。
円高だし、何より世界の子供たちのために参加しなくてはですね。
2台目が欲しいとかじゃないですから。子供たちのためですから。

月曜日, 11月 10, 2008

[Python]設定ファイルを使ったログ記録

普段はprintで十分だけど、たまにしっかりとしたログを取りたくなる。そういうときに限って忘れているので、未来の自分へメモ。

設定ファイルの読み込みにはlogging.config.fileConfig(filename)を使うので、import loggingだけでなく、import logging.configもしなきゃダメ。

以下サンプル

設定ファイル
[loggers]
keys=root,logger01

[handlers]
keys=stdout01,file01

[formatters]
keys=form01

[logger_root]
level=NOTSET
handlers=stdout01

[logger_logger01]
lebel=DEBUG
handlers=stdout01,file01
propagate=0
qualname=top.mid

[handler_stdout01]
class=StreamHandler
level=NOTSET
formatter=form01
args=(sys.stdout,)

[handler_file01]
class=FileHandler
level=WARNING
formatter=form01
args=("app.log",'w')

[formatter_form01]
format=%(name)s: %(asctime)s %(levelname)s %(message)s
datefmt=
class=logging.Formatter


サンプルコード
#-*- coding: utf-8 -*-
import logging
import logging.config

logging.config.fileConfig('./logging.conf')

#logger_root
logger = logging.getLogger()
logger.debug(logger.name)
logger.debug('DEBUGログ')
logger.warn('WARNINGログ')

#logger_logger01(top.mid)
logger = logging.getLogger('top.mid')
logger.debug(logger.name)
logger.info('infoログ')
logger.warn('warnログ')


以下、実行結果

標準出力
root: 2008-11-10 22:50:00,038 DEBUG root
root: 2008-11-10 22:50:00,042 DEBUG DEBUGログ
root: 2008-11-10 22:50:00,042 WARNING WARNINGログ
top.mid: 2008-11-10 22:50:00,042 DEBUG top.mid
top.mid: 2008-11-10 22:50:00,043 INFO infoログ
top.mid: 2008-11-10 22:50:00,043 WARNING warnログ


app.logへの出力
top.mid: 2008-11-10 22:50:00,043 WARNING warnログ


だいたい見れば分かるはず。
propagateってのは自分が受け取ったものを、上位のloggerにも通知するかの設定(通知する=1,しない=0)。何でもかんでも通知するとログが大爆発するので、記録方法によっては注意したほうが良いかも。
level=NOTSETってのはroot loggerの場合、全てを記録。その他のloggerの場合は、親のloggerの設定に従ってログります。
FileHandlerが使用するファイルは無い場合、fileConfigを呼んだ時点で勝手に作られる。
あと、サンプルだからFileHandlerを使ったけど、実際にはRotatingFileHandlerを使うケースのがほとんどのはず。

これ以上知りたいなら、ドキュメントを読みましょう。

土曜日, 11月 08, 2008

Arduinoを買った

MTM2に行けないので、気分だけでも盛り上げるためにArduinoを買ってみた。

Arduino playgroundのInstall Arduino on Ubuntu Linuxを参考に開発環境をインストールして、起動を確認。
本格的に触るのはMaking Things Talkを買ってからにしよう。

MTM2ではMaking Things Talkの先行販売もされるのかな。
国民文化祭も賑わうと良いのだけど。

月曜日, 11月 03, 2008

type ZのUbuntuを8.10にアップグレード

内蔵有線&無線LANは動作するようになったものの無線の認識によく失敗する。
再起動できないのは相変わらず、スリープも無理の様子。
電池の持ちも変わらずなので、外に持ち出すときはVISTAの方がよさげ。
不安定ながらもtype Zでネットが完結出来るようになったのは良い感じ。

nVidiaのプロプラドライバを入れたら、起動しなくなった。
私の知識の範囲のxorg.conf書き換えではどうしようもなく、リカバリモードでrootに降りて、apt-getでnvidiaと付くパッケージを片っ端から削除して、復活。

非プロプラドライバでも特に問題を感じないので、このままで行く。

木曜日, 10月 30, 2008

Make: Tokyo Meeting 02いけるかな?

11月8日にMake: Tokyo Meetingがあるのですけど、国民文化祭の手伝いになるのかしら。
11月1日のDSi発売日ゲットは諦めてますが。

いま思ったけど、Make: Tokyo MeetingにOMONMA TENTの宣伝も兼ねてドレスを展示させてもらう手があったね。
国文祭で忙しいから厳しくなっただろうけど。

木曜日, 10月 23, 2008

HAMSTER DB

HAMSTER DBという組み込み型DBを知りました。
Webサイトがかわいいです。

Cで書かれているようですが、Pythonで使うためのwrapperもあるようです。
ニシキヘビとハムスターということで、相性も良さげ。

土曜日, 10月 18, 2008

type ZとUbuntu 8.10beta

Ubuntu8.10 Intrepid Ibex(勇敢なヤギ(がらがらどん?))のベータのLiveCDをtype Zで動かしてみたところ、無線LANがきちんと動作しました。試してないけど、有線も多分大丈夫。
正式リリースは10月30日だけど、フライングで入れてみようかしら。

火曜日, 10月 14, 2008

Campusドット入り罫 使い心地

近所ではまったく売っておらず、銀座伊東屋でやっと買えたドット罫。

慣れないとドットの幅に惑わされて文字がでっかくなったり小さくなったりしてしまう。
ドット幅で書くとかなり大きい字になってしまうけど、後から見直す場合、これくらいでかいほうがいいのかも。
予想通りドットがインデントのガイドになるので、ソースコードを書くのに最適。特にPythonとの相性は良いと思う。
ガイドの存在だけであれば、方眼という手もあるけど、方眼の場合、縦方向に視線を誘導されてしまってチラチラしてしまうのです。ドット罫ならその心配は無し。

スリムに慣れていると、ややとり回しに難があるので、今後、B罫でスリムタイプのドット罫が発売されることを望みます。

下半期にやりたいこと ふりかえり

7月に書いた、今年下半期にやりたいこと3つ
  1. Sugarで遊ぶ
  2. XMLのお勉強
  3. 運動する
このうち、2番に関してはとりあえず出来ている。
1番はPyGtkの初歩が出来る程度、3番に至ってはシューズも買っていない。

もうちょっと計画的にやらんと。

金曜日, 10月 03, 2008

Python2.6

出ましたね。

10/1に出たと書いてあるけど、昨日見たときWebには出てなかった。
リリースは10/1で、Webに載せたのがさっきなのかな?
ml入ろうかな。

3000の方もあと少し。

木曜日, 10月 02, 2008

ニンテンドーDSi買うよ

11月1日は土曜日なので徹夜でも大丈夫。

土曜日, 9月 20, 2008

KOKUYOの新作 「ドット入り罫線」

10月10日の旧体育の日にKOKUYOの新作が出るそうな。
プレスリリースはこちら。

Campus愛好者として、買わなきゃですね。
スリムノート版もそのうち出るかな?

月曜日, 9月 15, 2008

Google Chrome 気になる点

なぜか勝手に「SSL2.0を使用する」のチェックがオンになる。
不気味すぎるのだが。

バグ報告したほうがいいのかしら。

絵画-インタラクティブ-ダンス-映画

9/14日(日曜日)

一番最初に東京都美術館で主体展を見る。

作家を知っているというバイアスもあるだろうけど、福田玲子さんのアンコールワットを描いた作品「生きる」が一番面白かった。
福田さんは写実(写生)だと、作家性が出ないのではないかというようなことを心配していたけど、そんなことは無いと思う。描かれている物だけを取り出せばただの写生かもしれないけど、美術館の床から天井まで伸びる巨大な画面を持った「作品」(展示作品の中で一番でかかった)として捉えれば(というより、見た人は皆、そう捉えざるを得ないわけですが)十分強烈な作家性を感じさせる作品です。
今制作中の同じくアンコールワットを題材にした作品は、もっとスケールがでかくなることが確定しているので、完成が楽しみです。

全体を見ていて感じたのは「ファンタジー」が多いなということ。前日に石内都さんの作品はファンタジーではない、という話を茄子さんに聞かされていたからってのもあるけど。


次、日本科学未来館で「interactive tokyo 2008」を見に行く。

子供たちが楽しそうに遊んでいて、大人が入り込めません。
アートではなく、技術展示らしいのでモノだけがゴロッと置いてある印象。
子供たちの内面において、WiiやDSとの違いがどの様に認識されているのかが気になるところ。
ただの面白い事で終わるのか、それ以外の何かを得ているのか。


三番目、神楽坂でリンゴ企画の「あの山羊たちが道をふさいだパートII」という「立体絵本」(一般的語句で言えばダンス?)を見る。
無茶苦茶笑ってたという記憶しかない。
面白かったけど、身体芸術は何故か苦手。

最後、池袋でダークナイトを見る。
バットマンビギンズの続編としてのバットマン。原作に近くかなり暗い展開。とはいえ面白演出も多いので、剣心のOVAのような救いようの無いほどの鬱さは無い。

バットマンはヒーローではなくアンチヒーローであるという事がしつこいほど何度も強調される。
ただし善悪の相対性ではなく、「善」を為すことの困難さと、悪に染まる事の容易さがテーマとなっているみたい。ゴッサムシティ自体、善悪相対論とか言ってられないくらいひどい街というのもあるだろうけど、スーパーマンとやりあうこともあるバットマンなので、最早その点で終わりの無い悩みを抱いてもらっても困るのだろう。
ネタバレになるけど、注目すべきなのは、力なき市民たちが不条理な二者択一から降りることにより、二者ともに助かるというシーン。
直前にバットマンも似たような状況に置かれ、結果的に片方しか助けられず自分自身の力不足に絶望する中、かすかとはいえ、未来への希望が見出されるいいシーン。
まあその直後、バットマンを取り巻く状況は悪くなってしまうんですが。



この日は、いろんな作品を見て疲れたよ。全部書ききるのに一週間かかったし。
一部記憶が飛んじゃったし。

土曜日, 9月 13, 2008

図書館配置換え

配置換えされた結果、ハヤカワの棚が無くなって海外作家棚にまとめられてしまっていた。
探し難い上に、いくつか無くなっているような。

水曜日, 9月 10, 2008

VAIO type Zの上のUbuntu 問題点

まだまだある問題。

これはUbuntuの問題だろうけど、USB無線LANモジュールの認識に失敗すると固まります。

ディスプレイの明るさを変えられません。電源管理が効いていないこともあり、非常に電力消費が激しいです。

繰り返しますが、どう考えてもVistaにしておくのが無難です。

月曜日, 9月 08, 2008

SugarというかPyGtkに少しずつ慣れてきた

とりあえず簡単なものなら割と簡単に組み立てられるようにはなった。
難しいのはGladeでの画面作成。
行き当たりばったりでいいやと思ってると、すぐに破綻する。
ちゃんと設計、とまでいかなくてもスケッチ程度は書かなきゃダメかも。
致命的なまでの絵心の無さは克服可能なものなのだろうか。

最初Sugarに慣れてきたと書こうとしたけど、Sugar固有の機能ってさっぱり使ってないのよね。

未来の自分へ、ここまで出来たよと報告。

日曜日, 9月 07, 2008

WindowsでPyGtkを使うには 2008年9月版(Vista)

Gtkのインストーラが優しくなってくれたので、環境変数のあたりの作業が減った。
4月版を書いた後に、優しくなったようで、前の記事を書いたのは非常に間が悪い時期だったみたい。
対象OSは比較的まっさらなVista SP1。
XPや2kでどうなるかは分からんけど、多分同じようにすれば良いはず。

1.GtkとGladeを入れる


Glade/Gtk+ for Windowsのdownloadから、gtk+-win32-runtime(develでもよいはず)とglade-win32を落として、この順番で入れる。
gtk+-win32-runtimeにgladeも入っていると書いてあるような気がするけど、gladeがgtk+より新しかったので、念のため入れておいた。runtime入れた後にそれだけで十分か確認すれば良かった。まあいいや。

PyGtkを入れる


PyGtkのダウンロードページからPyCairo、PyGObject、PyGtkを落としていれる。この時、管理者権限でやらないと、一部フォルダが作られない。

確認


Python起動して、import gtkとかやってエラーが出てなければOKでしょう。
Gladeはexeを叩いて起こす。
細かく突っついていないから、実は安定していない可能性は無きにしもあらず。


前の記事:WindowsでPyGtkを使うには 2008年4月版
なんとなく、当時も簡単に出来る方法があったように思えてきた。

土曜日, 9月 06, 2008

AmazonでOLPCが買えるかも

Amazon(多分com)でOLPCが買えるようになるらしいです。

One Laptop Per Child @ Amazon

G1G1みたいに北米限定というオチがなければいいんですが。
後でメーリスもチェックしてみよう。

木曜日, 9月 04, 2008

FirefoxとGoogle Chrome

まだ少ししかつかっていないけど、Google ChromeはGoogle Gadgetの延長に存在するのかなと思います。
これまで、Gadgetで「ホームページ」をカスタマイズしていたのがブラウザ側にはみ出してきたイメージです。
#Gearsも近いコンセプトかな?

対して、Firefoxの拡張を「ブラウザのカスタマイズから、Webの利用を変えていくもの」と考えると、対照的に見えます。

Google Chromeも拡張が作れるようになるという話ですし、Mozilla側もWeaveがちゃんと回るようになれば、この見方も意味を為さなくなるかもしれませんが。

Firefox3 Hacks 刊行記念トークセッション

ジュンク堂池袋店で開催された、「Firefox3 Hacks」の刊行記念トークセッションに行って来ました。
Firefox 3 Hackersのみなさま、瀧田さま、スタッフのみなさまお疲れ様でした。

Google Chromeが公開されたばかりということもあり、未来のブラウザのありかたについても考えさせられるイベントだったはずですが、最後のプレゼント抽選会で、フォクすけが当たった瞬間、それらの事が頭から吹き飛びました。
#厳密に言うと、当たったのは一緒にいった茄子さんの番号です

フォクすけ正面 

凛々しいお顔



フォクすけ後ろ姿
燃え盛る尻尾


当たったことに事に興奮して叫んだり、興奮したりする姿に、他の方々は若干引き気味だったそうで(茄子さんの証言)、申し訳ありませんでした。
いろいろ考えたこともあるのですが、どこかに飛んでいったので、後で思い出したら書きます。

帰りの電車で、ユーザースタイルシートやら、Greasemonkeyやらで、ユーザーサイドでWebページを変えられるような時代に、Webデザイナーは何をすれば良いのか、そもそもWebデザイナーという仕事は成立するのか、という話になったことは、未来の自分へのメモとして残しておこう。

フォクすけ かわいいよ フォクすけ

水曜日, 9月 03, 2008

Google Chrome使ってみた

ショートカットがよくわからんので、いきなりFirefoxの代わりには出来ない。
アドレスバーへのショートカットさえ分かれば、ガシガシ使えると思うんだけど。

気になったのはSSL 2.0がデフォルトで有効なところか。

SSL 2.0がデフォルトで無効になっていたという人を発見。
どういうことだろ?

IEから勝手に設定をかっさらっていったというのも幾つか見かけたけど、そんなことされてないよ。
Firefoxから持っていくかは聞かれたけど。

ベータとはいえ、そういう設定周りの挙動が変わるなんてあるんだろうか?

レンダリング速度は速い。体感だと素のFirefox3よりワンテンポほど速い。
V8 jsエンジンはよく分からん。結局通信部分で時間食ってるので。

時間をとってSeleniumで殴ってみたいところ。やるなら土曜日か。それまでに誰かやりそうだけど。

火曜日, 9月 02, 2008

Google Chrome待ち

Google製 新ブラウザ Chromeのダウンロード待ちです。
が、眠いので寝ちゃいそうです。

Mac版とLinux版は開発中との記事を見つけて、テンション下がり気味です。
でも、Vistaマシン買っといて良かったかも。

現地時間11時ってこっちの何時なんだろう?
今確認したら、午前3時じゃないか。起きてられないや。
明日の朝にダウンロードしよう。

日曜日, 8月 31, 2008

Ubuntuから書いてみる

Ubuntuの設定が出来てきたので試しに書いてみる。

これだけだと寂しいので、もう少し書いてみる。

気づけば、前の投稿が記念すべき100エントリーなんですね。
前のblogも合わせればもう少し行くかな?

Bloggerの特徴は、開かれていながらも、他の利用者と繋がらないところだと思う。
「はてな」なんかを見てると、他と半強制的に繋がってしまうようで、それは良い面もあるだろうけど、鬱陶しいこともあるように思う。
その点Bloggerは、繋がろうと努力しない限り、徹底的に閉じていける。決して使いやすいわけではないし、Helpは何言っているのか良くわからないし、そもそも英語だったりするので、使いこなすのが大変だけど。
でも、宣伝をしない限り、ほぼ誰にも見られないので、だらだら書ける(まさにこのエントリーのように)ってのは良いことだと思う。

余談だけど、ここのエントリーがどういう風に広告と繋がるのか興味があったので、Googleのアドセンスをつけてたけど、大して面白く無いので外そうと思います。
よいですね?茄子さん。

そうそう、Googleヒット率は悪くないので、自分用メモを残しておくと、後から検索でたどりつけるのは便利です。
欲を言えば、コードの色分けが出来るような特殊記法と、注釈をうまくまとめられる特殊記法が欲しいなあ。

もう一つ、これは特徴なのかわからんけど、一つのアカウントで、複数のBlogを作成できる。
本来Blogってのはテーマごとに作るものであって、Python話とUbuntu話と日記とを一つのBlogに詰め込むってのは、どうやら変なことらしい。少なくともBloggerの機能としてはそうなってる。
でも、複数のBlogを管理するのって面倒だよねえ。

さて101番目のエントリーを投稿します。

LL Futureにいってきて

久々の中野はマルイがなくなった以外はあまり変わらず。
用事があったので「LLでアート」まで見て、帰ってきました。

で、その「LLでアート」について。

プログラム(予定表のほうね)では、「ファインアート」とあったので、結構期待したのですが、半分以上はコマーシャルと結びついたものだったので、ちょっとがっかりでした。
#結びついちゃ駄目ということは無いんですが

発表されたものだけだと、「変なモノ作りました」レベルと「アート」の境目が良くわからないのですよ。こんなこと出来るよ!っていう発表だからあれでもいいんだとは思うんですが、メディアアートの追っかけをしているような人から見れば、フラストレーションがたまるわけです。

真鍋さんが質問への回答で、「メディアアート」「メディアアーティスト」というものが現在存在しているかも微妙と言っていたように、「メディアアート」って社会的には、絵画や音楽のように認知されていないわけで、その辺のことをもっと語って欲しかったのだよね。
つか絵の具や紙だって「メディア」だし、なぜLL(コンピュータ)を使うとメディアアートで絵の具と紙だと絵画なのかってのはメディアアートが10年後どうなるかに強く関わるわけだし。

とはいえ、質問の前振りにあった「メディアアート」「インタラクティブアート」が作りやすくなったという現状は、例えば絵の具や紙が工業的に大量生産されるようになり、たくさんの画家が生まれたのと同じインパクトをもたらすことが期待できるわけで、それ自体は歓迎することなわけです。
昨日の「LLでアート」を見て、日曜メディアアーティストが大量に出現するというのは、ICCが休刊しちゃうような現在から、10年後もメディアアートが元気でいるには絶対必要なことだと考えます。

お二人の回答はどちらも、世界をセンスするデバイスが公共に溢れることで、メディアアートが生き残るようなことを言ってたけど、それって公共空間にしか発表の場が無くなるって予想なのかな?
それとも情報化された公共空間をHackする道具としてのメディアアートが作られるという意味かな?
それを見たら結局面白がると思うけど、公共空間の情報化に頼らないと成立しない作品ってのは、ちょっと寂しいような気もする。

このあたりのことをもっとうまく言語化したいなあ。

金曜日, 8月 29, 2008

結局のところ

いまのところ(おそらく将来も)type Zを普通に使うなら、普通にVistaの方がよいです。
明日はLLFに行きますが、type Zはどうしよう。一応もってくか。

火曜日, 8月 26, 2008

type Z に ubuntu アップデートしてみて

で、アップデート完了(kernel2.6.24-19-generic)してみて。
  • マウスカーソルに変なゴミが付く問題は解決。グラフィック周りの問題だったのかな?
  • 内蔵ネットワークはまだ使えない。残念だけど外付け無線LANでカバー
  • サスペンドは相変わらずエラーが発生し、その後トラックパッドが死ぬ。
  • 再起動しようとすると、終了するが電源が切れず、結果再起動しない。
新しいプラットフォームでもあるし、こんなもんでしょうな。

type Z に ubuntu それから

Ubuntuのフォーラムを見たら、やはりtype Zでネットが動かないとの報告を発見。

新しいvaioで有線も無線も使えない

まあ出たばっかりだからしょうがないですね。
で、その回答に外付けのLANカードをつけてみればとある。
素晴らしい!

type ZにはPCカードを挿すところが無いので、ヨドバシでUSB型のを1480円で購入。
プラネックスというところのGW-US54GXSという奴です。
選んだ理由は安さとbとgしかサポートしていないという枯れ具合。
Linuxでの動作保証は無いので、ダメだったときに泣かないための選択。

で、見事動きました。現在アップデート中です。

フォーラムにも報告したいけど、アカウントが必要な模様。
これを機会にとってもいいけど、正直アカウント管理が面倒。

このbloggerの記事が、必要とする人の検索に引っかかるよう祈ります。

月曜日, 8月 25, 2008

type Z に ubuntu

Ubuntu8.04.1をtypeZに入れてみるも、ネットワークが有線も無線も認識されず。

後からいろいろ気づいた。
  • サスペンド出来ない
  • ハイバネ出来ない?
  • 再起動がうまくいかない
  • マウスカーソルに変なゴミみたいなのがつく
アップデートすれば直るのもあるかもしれないけど、ネットワークが死んでいるのでどうにもならない。
最新のパッケージを持ってくればいいかな。面倒な人は次期ubuntuを待った方が良いかも。

日曜日, 8月 24, 2008

帰郷して、帰って来て

岩手に帰郷しました。
ここ4日間パソコンにもネットにもまともに触らない健康的生活でした。
おかげでいろいろ(Gainerとか、その他いろいろ)な話題に乗り遅れたようですが、健康的なので気にしない事にします。

ただ帰るのもつまらないので、鉄道ファンなら誰でも乗りたいであろう、岩泉線に乗ってきました。
終点の岩泉までWillcomは当然つながりませんでした。
やはり鉄道ファンなら岩泉線のついでに乗りたいであろう、三陸鉄道北リアス線にも乗りました。
トンネルが多いので携帯も満足につながりませんが、Willcomは駅でもつながりません。

帰る度に思うのは、食べ物と水がうまいことと、南部せんべいのバリエーションの増加、着実に衰退しているように見える街と、それに対抗しようとする人たち、自分の思考に岩手という土地が強く影響を与えているということ。

帰ったらtype Zが届いていたので、今週はこいつを整備して遊ぶ事にしよう。

日曜日, 8月 10, 2008

Pythonにおけるインスタンス変数の宣言

久々にPython。

Pythonのインスタンス変数 という記事を見つける。
ようするに、変なタイミングでインスタンス変数が作られるのは気持ち悪いから、ちゃんと宣言したいという話らしい。
でも、その対策案であるサンプルコードは何か変。
あれだと、クラス変数nameが追加されるだけで、インスタンス変数self.nameは何の変化もしていない。
インスタンス変数を宣言したいなら、__init__内でやればいいわけで、つまり対策前コードでも用件は十分満たしていると。
つまり、サンプルコードがよくないのかも。もっと正しく(?)汚らしいコードでないと、問題点も明らかにならないんじゃないかな。
というわけで、対策案が何か変なことを示す例を出してみる。

>>> class Hoge():
... name = None
... age = None
... def __init__(self, name):
... self.name = name
... def print_profile(self):
... print self.name, self.age
... def set_age(self, age):
... self.age = age
...
>>> a = Hoge("a1")
>>> a.print_profile()
a1 None
>>> print Hoge.name, Hoge.age
None None
>>> Hoge.name = "b1"
>>> Hoge.age = 20
>>> a.set_age(30)
>>> a.print_profile()
a1 30
>>> print Hoge.name, Hoge.age
b1 20
>>> a.age = 40
>>> a.print_profile()
a1 40
>>> print Hoge.name, Hoge.age
b1 20
>>>


こういう動作を期待しているとは思わないんだけど、どうなんでしょ。
コメント欄もないし、トラックバックも、はてな内ででしか出来ないみたいだから、コンタクト出来ないのが残念。

土曜日, 8月 09, 2008

「的」か「の」か

ヴェルナール・スティグレールさんの「象徴の貧困」という本。
最初見た時、「象徴『的』貧困」じゃないの?と思ったわけですが、一通り読んでみると、やはり「の」で合っているというのが私の意見。

つまり「象徴的貧困」だと、貧困によって何かが象徴されているように読めてしまうわけですが、この人が言いたいのは「象徴」を受容し操作する力の「貧困」についてであるわけで、いわゆる貧困問題について(少なくともこの本で直接的に)言いたいというわけではないようなのです。
付け加えれば、スティグレールさんにとってフランスにおける「象徴の貧困」という問題は、具体的で切羽詰まった現実の問題のようです。

とはいえ、フランス語は分からんし、相変わらず内容はまだ飲み込めていないので誤読の可能性はあるけど。
「象徴を受容し操作する力の貧困」てのもかなり怪しいまとめ方だなあ。
象徴といいながら、実は想像力の問題のような気もする。「象徴」とか「想像」とか「現実」とかのラカンっぽい用語は茄子さんの方が詳しいから、後で聞いてみよう。

ちなみにグーグルさんに聞いてみると、スティグレールさんと関係あるかどうかはともかく、「象徴的貧困」という言葉を使っている人もいるみたいですね。

追記
改めて読んだら、訳者あとがき(p240)でちゃんと「の」にした理由が書いてあった。
やはり「的」だと、貧困がなにかを象徴しているように読めちゃうから、あえて「の」にしたそうな。
一度読んだはずなのにすっかり忘れてる(むしろ覚えている?)。
気づいた事はメモを残さないとだめですな。

木曜日, 8月 07, 2008

VAIO type Z 注文

前々から欲しかったVAIO type Zを注文してきた。
Blu-layドライブは悩んだけど、結局パス。Ubuntuを載せてXOの母艦にする予定。
ついでに生活環境をMacからUbuntuにしようかと。

Vistaは一応残しておくつもり。IronPythonとかも興味あるし。

「8月下旬」に届くらしいけど、何となく旅行中に届く予感。

金曜日, 8月 01, 2008

最近読んでいる本

最近、ベルナール・スティグレールという哲学者の書いた、「象徴の貧困 1 ハイパーインダストリアル時代」という本を読んでいる。
この本のテーマ(というよりスティグレールさんのテーマ?)は、『本源的なナルシシズムの破壊』だそうな。
これだけだと良くわかないけど、具体例を見ていく限り、感情(情動)を消費対象とする事を問題視しているらしい。「泣ける」ことを売りにする小説や映画、あるいは「萌える」ことを売りにする漫画やアニメらを考えるといいのかもしれない。

これらのことから「物語消費論」や「データベース消費」という言葉が思い浮かぶ。スティグレールはマーケティングについて良く語るようだけど、「物語消費論」がマーケティングに使われていたとか何とか書いてあった事を考えると、きっとこれらは近い位置にあるんだろう。

もう5,6回読まないと、内容を掴めないとは思うけど、「第三次過去把持」という概念に関しては今のうちにメモしておきたい。
「第三次〜」の前に、第一次と第二次を簡単に説明すると、「第一次〜」は現在の瞬間の連続性を知覚すること、「第二次〜」は思い出す事によって過去を頭の中に再構築すること(再生的想像力)らしい。
詳しくは、フッサールの「内的時間意識の現象学講義」を参照せよとのこと。
で、第三次はなにかと言えば、機械によって記録(物質化)された時間的なもの(録音再生が例示されている)のことだそうな。この3つが渾然一体となって我々の記憶を構築しているというのがスティグレールさんの世界というか人間観みたい。

このあたりの考え方はキットラーと比較してみたいところ

そして、おそらくこの「第三次〜」と関連して、技術(機械)が記憶を継承する(あるいは機械に記憶を継承させる?)ということも言っていて、これはソフトウェアとはいえ、マシーンを作る人間として素朴に共感できる。
卑近な例だけど、僕は作業の効率化のために簡単なツールを良く作る。

今の職場環境はそれがやりにくくてストレスがたまっている

これはプログラムを書く人なら誰でもやる事とは思う。その多くはその場限りの使い捨てだけど、たまに再利用したり、他の人が使いたがるようなものが出来たりする。この時点でツールは単なる道具から、作成時点での自分の記憶を継承する機能を持ち始める。あの時考えたうまいやり方を、ツールの形にすることで、未来の誰か(当然自分も含む)に継承できるようになるわけだ。
もちろん完全無欠のツールなんて存在しない(そもそも書き捨てのつもりだったし)から、新しい良いやり方を思いついたら、そのツールを改造したり、スクラッチで一から書き直したりもする。でも、その作業だって、最初のツールがきっかけになっているのは言うまでもない。
僕がプログラムを書いていて一番楽しいのは、こういうツールが継承され、改良されていく風景を見ることだったりする。逆に、改良することが許されなかったり、何らかの理由で他者に改良を許せない状況にあるのは非常に辛い

FOSSに賛同するのは、結局この幸せを享受するためなのかもしれない(といっても何かのコミッタというわけではないけど)。
感情消費社会への対抗として、スティグレールさんが目指しているところはFOSSやMake、Craftの精神に近いものがあるような直観がある。

同じくスティグレールさんの本で、「現勢化 哲学という指名」ってのも読んでいるけど、こちらは自伝っぽい。でも、今の僕には内容が濃すぎて、平行して2冊読むのはちょっと無理っぽい。

火曜日, 7月 29, 2008

日本におけるコンパイラの研究

ネットサーフィンをしていて見つけた文書。

情報科学技術委員会(第50回)議事録

それ自体、なかなか面白いんですが、しゃべった内容をそのまま書いているので読みにくい。で、面倒なので斜め読みしていったら、
我が国ではコンパイラの研究をしている研究室が5指に満たない
という、ちょっとびっくりする記述が。もちろん授業ではやっている、とフォローされているもののコンパイラって研究ジャンルとして、そこまでマイナーなんでしょうか。

エチオピアショック

残留農薬のせいで、モカの輸入が止まっているそうですが、行きつけのコーヒー屋さんに聞いたところ、モカだけでなくエチオピア産全体が入らなくなっているそうな。で、それをエチオピアショックと言っているようです。
そして、あとひと月もすれば、国内からモカが無くなるらしい(高騰してるから多少延びるかも)。
モカは割とおとなしめな味なのでブレンドのベースにも良く使われるんだけど、当然それらも飲めなくなります。

ここ数年のお気に入りは中米系の豆なので、個人的にはどうでもいいのですが、そのせいでコーヒー屋さんがつぶれたら嫌だなあ。

水曜日, 7月 23, 2008

崖の上のポニョを見て

好き嫌いは別として、宮崎駿の最高傑作といっても過言ではないと思う。
ディズニーの全盛期に対抗出来る初めての日本アニメと言っていい。
100年後に宮崎駿の代表作はポニョであってもまったくおかしくない。

アニメーション好きや、実際に自分で動画を作っている人ほど、評価が高くなるんじゃないだろうか。
お話は非常に単純で、分かりやすくて、でも全部設定を説明している訳ではないので、消化不良を起こす人も多分いる。けど、この作品にとってそれは欠点ではない。というか、お話の面白さなんて、アニメーションの評価ポイントとしてそれほど高い位置には無い。面白いお話は小説でも、マンガでも手に入る。でも、絵が動くという面白さはアニメーションによってしか提供されない。で、これはアニメーションという技法ででしか、表現出来ないものだけで構成されている。執念というか妄念というか、とにかくとんでもなく濃いレベルで作られている(濃すぎて気持ち悪いくらい)。

エヴァで世代交代が起きたかと思ったけど、ポニョはエヴァを完全に突き放した。
というより、宮崎駿がエヴァの呪縛から抜け出したと言うのがより正確かも。
紅の豚は好き勝手やってたのに、エヴァの影響を受けたという、もののけ以降、変に迷走していたのが戻ってきただけなんだろう。
宮崎駿ですら、もののけ、千と千尋、ハウルと3つ作らないと戻れなかったあたり、エヴァは凄い作品だったってことを改めて思うけど。

富野で言うと、ブレン=もののけ、ヒゲ=千&ハウル、キングゲイナー=ポニョになるのかな。
非常に感覚的で大雑把ではあるけど。

という事で、次の宮崎駿作品は過去のリメイクになると予測しておく。
#コナンあたりか?

日曜日, 7月 20, 2008

フィジカル・コンピューティング大作戦に行ってきたよ

行ってきました。

いろいろ思った事は多いけど、とりあえずだらだら書いてみる。

・無線はすごい
・電池2本で動く無線モジュールすごい
・要するにFunnelがすごい?

有線と無線ってあんなに世界が変わるもんなのだなと。ながーい線を使えば、有線でも同じ事は出来るけど、設置したり手に取ったりを考えると、やはり無線の方がスマート。
それと、無線モジュールが電池(エネループ)2本で動いている事に驚き。
考えてみればWiiリモコンもそうなんだけど、個人レベルで手が届くものとは思ってなかったから、実際見てかなりびっくりした。
あとFunnelの意味がようやく分かった気がする。Funnelの目的は、要するに中間層を作る事で柔軟性と拡張性を上げるという、ごく当たり前の事なんだと思うんだけど、実際見ると言葉から伝わる以上の事が起きているように見える。うまく説明しづらいので、後で考えよう。

・フルクサス
フィジカルコンピューティングってのは、「普通(メインストリーム)のコンピューティング」に対するフルクサス運動なのかなという直観。
フルクサスについては、通り一遍以上の知識がないので、これ以上は何も言えないけど、とりあえず直観として。

・加古里子(かこさとし)
用事があったので、イベント後はさっさか退場したんですが、その用事のために行った別のお店で、加古里子さんの「かわ」を発見。
で、コンピュータには、幼児向けの絵本がないなあと思う。「〜の絵本」シリーズはあるけど、あれは大人が読むものだしね。
加古里子さんの「かわ」みたいな絵本がコンピュータにもあれば、(メールを出す機械とか、Webを見る機械ではなく)コンピュータという機械への理解が進むんじゃないかな。

月曜日, 7月 14, 2008

土曜日, 7月 12, 2008

フィジカル・コンピューティング大作戦に行くよ

7月19日の午後4時からApple Ginzaで「フィジカル・コンピューティング大作戦」ってのがあるらしいので行ってくるよ。
7月20日はOMONMA TENTに行くよ。

火曜日, 7月 08, 2008

今年下半期にやりたいこと

いろいろあって、いろいろ忘れたので書き出し

1.Sugarで遊ぶ
とりあえずPyCon2008 OLPC Tutorialの続きをやってみる
平行してパラパラアニメActivityを作ってみる。できればphysicalな要素も入れたい。
#茄子さんがだいぶ前やったワークショップみたいなことができたらいいな

2.XMLのお勉強
何かとXML系の技術にお世話になっているのに、知識が偏りまくりなのでちょっと矯正する。

3.運動する
野菜をやたら食べるようになって食生活は改善されたはずなので、運動不足をどうにかする。
まずはシューズを買わなきゃ。

土曜日, 6月 28, 2008

改題 動画ストリームまとめ(ustream)

視聴者数は少なかったけどまとめ

・カメラは画素数よりレンズ
以前から感じていたけど、やっぱりレンズが重要。

・光でも2回線が限界か?
クオリティ下げればもう少しなんとかなるかな

・ustreamは頑丈
見ている人は少なかったけど、かなり安定している

また遊んでみたいな

金曜日, 6月 20, 2008

自画自賛

最近ずっと自作Excelマクロ(Seleniumの補助ツール)を使ってお仕事をしているわけですが、今日、そのマクロを使っていて「ああ何ていいツールなんだ」と思う事数回。
Selenium補助ツールを作ったのは3度目なので、これくらいのレベルになって当然とはいえ、現バージョンじゃなきゃとてもじゃないけどやってられない事は多い。

でも、いろいろ改良したいポイントがあるんだよなあ。
会社から、それそのものを持ち出す事は出来ないので、家で再作成してオープンソースどっかに置かせて貰う事を画策していますが、Excelマクロってオープンソースとして成立するもんなのかな?
見かけ上はただのExcelファイルなんですが。

土曜日, 6月 14, 2008

岩手・宮城内陸地震

震度6強が実家直撃なので、びっくり。
とりあえず家族は無事だし、映像を見る限り、四川や阪神のようなことにはなってないようなので一安心だけど。
雪に耐える構造が地震にも効いているってことなのかね。

NHKで奥州市で地震と連呼してますが、奥州市ってひろいわけで、第一報を聞いて思ったのが「奥州市のどこ?」でした。

ちなみに、どれくらい広いかというと、こんな感じ。

奥州市面積 993.35km^2
東京都23区 621.81km^2
大阪府 1897.72km^2

北海道だと、もっとでかい市町村があるんだろうな。

金曜日, 6月 13, 2008

Ubuntu 8.04とParallels Desktopの相性は最悪

そのうちなんとかなるかとは思うけど、アップデートする度にどっかがおかしくなる。
起動しなかったり、突然落ちたりと、とてもじゃないけど使っていられない。
Ubuntu専用機(ノート)が欲しい。

とりあえず7.10を入れ直そう。

追記
7.10も入らないのだが。。。
BootCampに押し込んだ8.04でしばらく我慢だな。
AtomやらCentrino2のマシンが出そろったら、専用機を買おう。

水曜日, 5月 21, 2008

XO後継機発表

いろいろ問題や議論を起こしながらも、何とか進んでいるOLPCですが、XOの次世代機が発表されました。
両面マルチタッチディスプレイで、キーボードもそれを使ったソフトウェアキーボード、なのにお値段75ドルという激安さ。100ドルも達成してないのに大丈夫かしら?
まあ、目標は高い方がいいし、目標を掲げることでほかのメーカーから同様のマシンが出る可能性もあるし、v本題である教育が忘れられない限り、悪いことではないんじゃないかな。

あと、現行機種のコストダウンとかG1G1再びとかもあるそうな。

金曜日, 5月 16, 2008

XP ON XO

前々から噂はありましたが、OLPC XOにWindows XPを載せられるようになるそうです。
途上国側からの要望らしいけど、まあ仕方ないかなあ。
カスタムLinuxとカスタムWindowsじゃ、仕事で使うという面での信頼性に圧倒的差があるのは事実だし。
MSも専用ドライバを用意してかなりの本気具合だし、ネグポンも了承せざるを得なかったんでしょうな。
プレスリリースにもある通り開発者も確かに増えるだろうし、コミュニティも活性化するし。

ただ、OLPCを知的労働の植民地としての道を広げるものにしないためにも、本筋である教育はSugarでやって欲しいなあ。Sugarの方が有象無象が出てきて面白そうな予感はあるし。

ところで、このXO版XPは一般販売はされるのかなあ、Sugar派だけど動かしてみたい。


面倒なのでちゃんと読んでないけど、SugarのMLでもこの話題でヒートアップしている模様。

日曜日, 5月 04, 2008

PyCon2008 OLPC Tutorial Step000

要約(訳)は後回しで、とりあえず進めてみる。

とりあえずスクリプトの001を実行すると、チュートリアル全体で使うスケルトンスクリプトがダウンロードされてきた。
中身は後で確認するとして、002を実行。なんかエラーになったんですが。
スクリプトに間違いがあったのかな?それとも環境依存の問題?
とりあえず文書を読む限り、buildskel.pyという起動スクリプトのオプションをここで説明したいようだ。
さて、次はActivityをデプロイするらしい。
チュートリアルに従い、cdしてデプロイ。そしてActivitiyディレクトリのシンボリックリンクを作るらしい。
なぜ?

で、ここで間違いに気づく。
どうやら今読んでいるのは、002スクリプトが何をやったかの説明であって、自分でやる必要はないらしい。
つまり002はデプロイして、Activitiyディレクトリのシンボリックリンクを~/Activities以下に作るまでが仕事だったらしい。
というか、スクリプトの内容を把握せずに実行するというなかなか怖いことをやってたわけですね。
何か問題があったらwikiに載ってないはずだけど、ちょっと迂闊だった。

気を取り直して、デプロイされたActivitiesをsugarエミュで動かしてみる。青い画面が出るだけ。
どうやらこれでいいらしい。
その後、ぐだぐだ書いてあるのはActivityの基礎みたいな内容みたい。適当に流し読み。だいたいは他のチュートリアルにも載ってる情報。pygameまわりの話がちょっとあるが、内容を掴めず。

さて003を実行。その前に中身を簡単に確認。Pythonコードの置き換えと、002までのコードとのdiffが目的のようだ。大丈夫そうなので、実行。そしてエミュで確認。
今度は青背景に白文字が出てきた。文書によるとpygameのスプライト機能で書いたらしい。
003スクリプトで作られたdiff結果を読んでみると、たしかに何行か増えている。

というわけで0番台のスクリプトは概要の説明が目的のようだ。
次くらいから、具体的なコードの説明に入るのかな?

Ubuntu Hardy Heron on 牛丼

Ubuntu8.04が出たので、牛丼パソコンの方のUbuntuをアップデートマネージャでアップグレード。
大体3時間程度で終了するも、音が出ない、キーボードの認識がおかしいと散々な状態に。
一番困ったのが、Sugarエミュレータの表示がおかしくなってしまい、リングメニューがちゃんと表示されないこと。一応動くことは動くけど、原因追求もめんどくさい。
調べてみるとアップデートマネージャ経由でバージョンアップさせた人の問題報告が目立ち、クリーンインストール組の問題報告は見当たらない。
個々の問題の解決策はあるようだけど、いちいちやってられないのでクリーンインストールすることに。
幸い、メイン環境ではないのでバックアップする量は少なめ。

で、ちょっと前にbittorrent経由で取得済みのCDを入れてLiveCD起動。
この時点で音が鳴ることを確認。やはりクリーンインストールが正解のよう。
インストール時間は正味30分ほど?途中アニメを見たりして、ダイアログを放置してたので正確な時間は分からず。

とりあえず必要なソフト類を適当に入れて、Sugar環境を作ろうとOLPC wikiを見てみると、Hardy HaronのリポジトリにはSugar関連のものが入っているらしい。これまでは公式とは別のリポジトリを登録する必要があったけど、どうやら格上げされたようだ。
将来、sugar-jhbuildを使うこともあるかもしれないけど、面倒なのでSynaptic経由でインストールする。
で、エミュレータは無事起動。

その他、プリンタも認識して、特に問題無し。

本格的にMacからUbuntuへの乗り換えを考えているけど、バージョンアップの度にクリーンインストールってのはどうなんだろう?まあMacも上書きバージョンアップはトラブルの元と言われてるから、たいした問題でもないのかな?

金曜日, 4月 25, 2008

New York Comic Con 2008

忘れそうなのでだらだら書いてみる。

企業ブースだけのコミケという印象。それと元々向こうの文化だからか、コスプレが多いのが特徴的。スターウォーズやXマン系が人気だけど、ナルト、らきすた、ハルヒといった日本アニメのコスプレも結構いた。規制が無いのか刀(木刀?)を持ち歩く人が多く(刀を売っているブースもある)、それでチャンバラする人もいてちょっと怖かった(注意されていたけど)。
今回「生きる伝説賞」として何人かに賞が贈られていて、その一人スタン・リーの記念講演は会場が満員どころか部屋から人が溢れているくらいの大盛況でした。

BEN10の新シリーズが出る(というか着いたその日が最初の放送だったらしい。見なかったけど)ということで、新エイリアンがうろうろしていたり、ポスターにかかれていたり。初代の10体を混ぜたような姿(アップグレード+ダイヤモンドヘッドとか)だったけど、能力も同じなのかな?
ケビンが仲間になるという超展開らしいけど、ケビンにはライバルの位置にいて欲しかったなあ。
日本ではいつ放送されるんだろう。

ジャスティスリーグのシリーズも新展開で、どうやらパラレルワールド設定を終わらせる為の物語になるみたい。この超設定のせいでジャスティスリーグはいまいち好きになれなかったので、個人的には嬉しい。
プロダクション方式は漫画家の安定雇用という面では良いかもしれないけど、延々と同じシリーズが続くというのはどうなんだろう。ゴルゴみたいな話なら続けやすいけど、バトルものはパワーと設定のインフレが止まらなくなっちゃって、初心者お断りになっちゃうような。

旧来のコミックス、カートゥーン、SFに加え、漫画、アニメ、グラフィックノベルといった新ジャンルの盛り上がりもあって、アメリカのオタク界も面白いなあというのが全体を通しての印象。

火曜日, 4月 15, 2008

PyCon2008 OLPC Tutorial 超要約 その3

チュートリアルソースコードと構造

チュートリアルソースコードの入手法

1.bzrを使う方法
branch http://www.vrplumber.com/bzr/pycon2008

2.tar.gzを使う
http://www.vrplumber.com/olpc/pycon2008.tar.gz

どちらの方法を使うにしろ、pycon2008ディレクトリってのが出来るはずです。
(注意 suやsudoでやるのは失敗の元です)

チュートリアルの進め方

pycon2008の中のshスクリプトを以下の手順で動かす
  1. 001-olpcgames-setup.sh
  2. 実施したい番号のshスクリプト

例)200番台のチュートリアルをしたい場合以下の順でshスクリプトを動かす。
001 - 201 - 202 - 203...

これまでやったチュートリアルをリセットするには999スクリプトを実行する。
(チュートリアルコードに加えた変更が全部消えるので注意)

チュートリアルを進めていく過程で、ソースコードのdiffをよく取る様になります。diff結果を読む事はより深い理解を得られます。

PyCon2008 OLPC Tutorial 超要約 その2

システムセットアップ

詳細は別の文書を参照のこと
http://wiki.laptop.org/go/Developers/Setup

この文書では簡単に紹介します。

Ubuntu

  • Janiさんが提供しているパッケージを利用する。
  • Ubuntuのインストールに2時間、Sugarのインストールに3-4分かかります。
  • http://wiki.laptop.org/go/Ubuntu#Option_3_-_Deb_Packages_for_Gutsy

Gentoo/Ubuntu/Fedora

  • sugar-jhbuildを使用出来ます。
  • Fedoraへのサポートが一番充実していて、次点がUbuntu、Gentooは動くけど、いろいろいじる必要があります。
  • 順調に行けばダウンロードとビルドに3時間ほどかかります。が、順調にいかなければ解決の為にさらに時間がかかります。
  • 結構苦労するので、これらのディストリビューションに慣れていなかったり、苦労するのが嫌なら止めておいた方が良いです。

OLPC-XO

  • Developアクティビティをインストールすると良いです。
  • viとnanoが標準で入っています。

Windows/MacOSX

  • エミュレータイメージを利用出来ます。(QemuかVMWare)
  • ただし、サウンドはサポートされないし、ネットワーク機能に制限がかかります。
  • Linuxでも構わないなら、Ubuntuでデュアルブートするか、Ubuntuマシンを用意するのが合理的です


雑感

sugar-jhbuildはFedoraが一番サポートされているらしいですが、Ubuntuに慣れている人はUbuntuでやるのが良いです。Gentooも同様。何かあったときトラブルシューティングしやすいのが一番です。
エミュレータではなく、Ubuntu入れろというのは乱暴に思えるけど、実際それが一番だと思います。
ただ、肝心のUbuntu用Sugarパッケージの出来は微妙な気がしないでもないです。大分前に入れた時に感じた事だから、今は改善されているかも。
sugar-jhbuildのビルドはものすごく時間がかかるし、いろんな問題は発生するしで結構大変です。

PyCon2008 OLPC Tutorial 超要約 その1

いろいろ端折っているので原文参照は必須。
原文は以下のページのPyCon 2008 Tutorialというリンクで落ちて来るODTファイル。
http://wiki.laptop.org/go/Tutorials

小さな人たちのために、小さなソフトウェアを作る

目的

OLPCGame/PyGamesソフトウェアを作る

具体的に学ぶ事

  • XO開発環境のセットアップ(XO本体は必要ないよ)
  • スケルトンビルダーを使ったアクティビティの作り方
  • スケルトンのカスタマイズの仕方
  • TextSprite(Pango)の使い方
  • SVGSprite(Cairo/rsvg)、SVGレンダラの使い方
  • メッシュネットワークモジュールの使い方
  • ジャーナルストレージシステムの読み書きの仕方
  • テレフォニーを使ったネットワーク構築
  • テストとデプロイの仕方

注意

  • 高度で特殊な腕前は必要ないけど、Pythonに慣れている事が前提です
  • 環境構築は別としてチュートリアルを始めから終わりまでやると、3時間近くかかります

火曜日, 4月 08, 2008

XOを日本語化

日本語化


先人の教えを参考にOLPCを日本語化。
途中でwgetをインストールするように書いてあるが、最初から入っているcurlでもOKみたい。

一番はまったのは、Browserで落としたIPAフォントのzipがどこに保存されたか分からないこと。
素直にhomeディレクトリに落としてくれればいいような気がするんだけど。
一応それらしきところは見つけたけど、名前がハッシュになっているのかな?

いろいろやるうちにJournal経由でetoyでzipが開かれるというところまでは出来たが、操作が良く分からない。
#持っている人でないと何言ってるのかさっぱりですな

仕方ないのでMacでフォントをダウンロードして、USBメモリ経由で移動。
とりあえず日本語表示出力が出来る様になった。
入力がインラインではないのがまた微妙ですが、これまで参加した国では特に問題にならなかったのかな?

しかし、こういうLinuxっぽい使い方はXOの目指すところじゃないんだろうな。

eToyを覚えると世界が広がりそうだけど、今の目標はPythonでActivityを作る事だから我慢。
とはいえ情報収集はするつもり。Squeakの本でも買うとしよう。

日曜日, 4月 06, 2008

岩手の人

いろいろ調べていたら見つけたサイト。

http://alohakun.blog7.fc2.com/

大学院生らしい、岩手人らしい。そして実家が近所らしい(岩手的距離感で)。
こういう優秀な人が活躍出来る場が岩手にあるといいんだけど。

土曜日, 4月 05, 2008

届いたよ


新しいおもちゃが届きました。

木曜日, 4月 03, 2008

WindowsでPyGtkを使うには 2008年4月版

いろんなサイトの情報が古くなっていたので、やってみたことをだらだらとメモ。
正しいやりかたかどうかは知らないし、抜けがあるかもしれない。

1.GTKを入れる


以下のサイトからbundleってのを落として展開する。
http://www.gtk.org/download-windows.html

環境変数の設定


  • GTK_BASEPATH=GTK展開先ディレクトリ
  • PATH=%GTK_BASEPATH%\bin
  • LIB=%GTK_BASEPATH%\lib


動作確認


bin\gtk-demo.exeが動けばOK。

2.PyGtkを入れる。


ダウンロード


以下のサイトのPyGTK for Microsoft Windowsのあたりのインストーラを落として入れる。
http://www.pygtk.org/downloads.html
PyCairoとPyGObjectも一応入れた。

動作確認


>>> import gtk
>>> import cairo
>>> import gobject

これでエラーが出なかったら成功。

Gladeを入れる


ダウンロード


いろいろ探して見つけたのがこれ。

http://www.idrometa.it/php-gtk/glade3-3.4.1-win32-1.zip

こいつを展開して、GTKディレクトリの同名ディレクトリを上書きするように移動。
で、glade3.exeを実行すると、libxml2.dllとiconv.dllが無いといわれるので、適当に探してGTKのbinディレクトリに突っ込むこと。
ところが、これだとpythonでimport gtk.gladeとするとエラーになってしまう。
そこで、こっちから
http://sourceforge.net/projects/gladewin32/
libglade-2.4.0-binを落として、libglade-2.0-0.dllをGTKディレクトリのbinに突っ込むとうまく行く。

未来の記事:WindowsでPyGtkを使うには 2008年9月版(Vista)

土曜日, 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な人も含めれば、過半数を超えていた予感。

火曜日, 2月 26, 2008

ARToolKitでデジタルマンガ

電脳コイルの世界が近づいている。
マーカーを撮影した映像に3Dデータを合成できるARToolKitというのを使った動画をニコニコで見つけた。
おくればせながらすごい時代になったものだと思いつつ、今のところ、ゲームのためのプログラムということで、ユーザの作っているものはせいぜい動くフィギュアがよいところ。
もう一歩何か面白いことに使えないだろうか?

ってことで、プログラムはド素人の私が考えた。

【新しいデジタルマンガビューワー】
・白紙のマンガ単行本の各ページにマーカーがセットされてる
・それをヘッドマウントディスプレイで見る
・ページめくるところとかも3D再現
・ノドの部分とかも開き具合によって変化する

マンガを読む行為に違和感がない感じで再現できればデジタルアーカイブにも役立つと思われ。
やっぱりモニタ上でマンガを読むのには違和感がある。まあ、ヘッドマウントディスプレイでも結局モニタなので、目は疲れそうだけど。
そのうち電脳コイルか攻殻かわからないけどデジタル空間と実生活がくっつく時代になれば、今度は逆にモニタで見ていたマンガを再現することになるのかなー。

ところで、昔手のひらにイルカが乗って、隣の人の所に飛んでいくっていうVRがあったけど、あれはどうやってたのかな?マーカーなくても既に色々できるのかな。

月曜日, 2月 25, 2008

Djangoでデモサイト構築

社内デモ用にDjangoでデモサイトを作成してみた。
かなりへっぽこサイトだけど、
  • modelの構築
  • urlの設計
  • newformsで入力フォーム作成
  • オリジナルvalidatorの作成
と、いろいろ無駄にやった結果、Djangoでサイトを制作する上での一通りの流れがつかめたと思う。
それぞれのフェーズ毎に疑問点やら反省点が盛りだくさん。
一番の反省点はでき上がった、ソースファイルの配置の仕方。Django標準とかあるのかしら。
次点はテストを書かなかったこと。Pythonでのテストの書き方は未だに良く分からない。
テストをちゃんとかけるようになれば、配置も含めたロジック側のつくりも綺麗になりそう。

とりあえず、今回はDjangoはメインではないので、まあいいか。

日曜日, 2月 10, 2008

Sugarチュートリアル(20080210)

OLPC wikiにはチュートリアルがいくつもある。
いくつかやってみたのでその寸評。

Activity tutorial
一番最初にやってみるべき。基本的なことが分かる。
Gladeを使わないなら、これで十分。


PyGTK/Hello World with Glade
PyGTK/Hello World Tutorial

Gladeを使ったチュートリアル(下段は使わない物も含む)。お勧めは下段。
上段はアプリケーション本体とActivityのためのコードが密になっているが、下段は分離されている。
ただし、下段にはGladeの詳細な操作が含まれない。
レイアウトを記述したXMLはサンプルに含まれているので困らないといえば、困らない。
ただGladeの使い方も知りたい人はちょっと困る。

下段で行うGladeの操作を未来の誰かのために書いておく。
ただし、チュートリアルに出て来るそのまんまのものは出来ないのであしからず。

1
Gladeを起動して、パレットからWindowを選び、widgetを置く準備をする。

2
パレットのVertical Boxクリックし、次に1で作ったWindowをクリックする。
何段にするかダイアログで聞いてくるので2と入力。

3
Labelをクリックし、2で配置したVertical Boxの上段をクリックする。
Labelが配置され、プロパティパネルにLabelのプロパティが出るので、ラベルの内容をHelloとし、マークアップの使用をONにする。

4
Horizontal Boxをクリックし、Vertical Boxの下段に3列で配置する。

5
Hrizontal Boxのそれぞれの列にボタンを配置する。
それぞれのnameを左から順に、helloButton、cleanButton、quitButtonと設定する。

6.保存する

これで、ほぼサンプルと同じになる。「ほぼ」だけど、チュートリアルの実施に問題は無いはず。


他のチュートリアルは別の機会があったらやってみる。

Sugar on Ubuntu on Parallels

XOの発送は遅れているそうなので、遊ぶための準備をここ数日進めてみた。

何はなくともSugar環境の構築。

これ自体は何度かやってるけど、生活環境にSugar環境を構築すると、依存関係でいろいろ衝突して結局消したりしてる。
そこで、Parallels上のLinux上に構築出来ないか挑戦。使うLinuxはUbuntu。
前回6.06に入れた時のようなトラブルも無く無事導入完了
よく使うコマンドを以下の様にaliasに登録しておく。

$~/sugar-jhbuild/sugar-jhbuild shell sugar-shell
$~/sugar-jhbuild/sugar-jhbuild run sugar-run

Ubuntuでやる前に、Fedoraで挑戦したら失敗した。原因は使い慣れていない物を使ったせい。

木曜日, 2月 07, 2008

iGoogleのテーマ

誰でもテーマを作れるようになって、テーマを選択の中身が随分増えましたね。
サンプル画像が出てないのとか何とかしなさいよと思いますが。
で、見た目で選んだやつが、ジョン前田製でびっくり。
なにやってんすか前田さん。。。

日曜日, 2月 03, 2008

最近Pythonで作ったもの

最近作ったもの

  • ディレクトリを漁って、ドキュメント(HTML)を自動生成
  • ディレクトリを漁って、事前に定義したルールに従ってファイルを振り分け
  • ディレクトリを漁って、SQL生成

WindowsのGUI以外を知らない人にも使わせる事が前提なので、ダブルクリックすれば万事OKな作りになっている。
会社からファイルを持ち出しちゃダメなので、コードそのものを未来の自分に送る事はできないが、概要だけを未来に送る。
walkとかlistdirでディレクトリ内のファイルリストを取り出して、endswithで拡張子を見て後は適当に。
エラー処理は考えてません。

もうすこし面白い物を作りたいな。

木曜日, 1月 17, 2008

自動化、ラッダイト運動

今現在、お仕事ではテスト手順書を書いて、その手順書からSeleniumのテストケースを自動生成するという作業を行っている。(自動生成スクリプトは自作した)
いまやっている機能の場合、テストケース出力には5秒ぐらいかかって、全テスト(500ケースくらい)の実施には30分ほどかかる。

テスト実施は別な人がやることになっているので、本来、私の作業はテストケース出力まで。
とはいえ、せっかくテストケースがあるのに実行しないのはもったいないので、何となくSeleniumを動かしてしまう。すると、当然のごとくバグが見つかるので、修正作業に回す。
この勝手なテストは、正規のワークフローではないので、この時点ではバグを直さなくても文句は言われないのだが、見つかった物を放置するのも気持ち悪いので修正は行われる。修正が終わったら、またテストを流して直っている事を確認する。

隣を見ると、同じくらいの量のテストを3日くらいかけて人力だけでテストしている人たちがいる。
Seleniumの良さはさんざん宣伝したので、知らないわけはないのだが、頑に人力だけに頼る理由はなんだろう。

納得出来る理由としては学習コストがあるが、Selenium IDEという便利なものがあるので、コマンドを丸暗記する必要は無い。多少難しいのはstoreEvalのようにjavascriptを使うものだが、それが必要となるケースはそれほど多くはない。今となってはテストケース自動生成まで出来るようになったので、Seleniumについて何も知らなくても、スタートボタンさえ押してくれればそれでいい。

そこまでしても人力のみに頼ろうとするのは、機械に仕事に取られたくないという気持ちの現れだろうか?
単純に何も考えてないだけというのが一番ありえそうだが。