日曜日, 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と付くパッケージを片っ端から削除して、復活。

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