2008年7月アーカイブ
マジコンメーカ輸入業者が訴えられている。ゲームソフトの違法コピーが訴えられるのは当然として、マジコンのハード自体が非合法化されると、日曜プログラマの「任天堂DSアプリを作って遊ぶ」楽しみがなくなってしまう。WiFi経由でダウンロードする道もあるんだけど、最近はアップデートがなく、生産中止のWiFiカードをヤフオクなどで探さないといけない。困った困った。

まず、yumはpythonで動いているので、yumが動くってことは、pythonがインストール済みってこと。
続いて、pythonでjabberを扱っているモジュールxmpppyをインストールする。PyXMPPってのもあるので、注意。(類似品?同じもの?)
yum install python-xmpp
xmpppyサイトにある「Botサンプルコード」を参考に、以下のスクリプトを書いた。起動すると、Jabber Botが動き始める。機能としては、受け取ったメッセージをオウム返しするだけ。
#!/usr/bin/python
import xmpp, sys
#
def messageCB(con, mess):
txt = mess.getBody()
reply = mess.buildReply(txt)
con.send(reply)
#
def StepOn(conn):
try:
conn.Process(1)
except KeyboardInterrupt: return 0
return 1
#
def GoOn(conn):
while StepOn(conn): pass
#
user = 'hogehoge-bot'
server = 'hogehoge-server.jp'
password = 'hogehoge'
#
conn = xmpp.Client(server)
resp = conn.connect()
if not resp:
print "Unable to connect to server %s!"%server
sys.exit(1)
if resp <> 'tls':
print "TLS failed!"
sys.exit(1)
resp = conn.auth(user, password)
if not resp:
print "Login failed!"
sys.exit(1)
if resp <> 'sasl':
print "SASL failed!"
sys.exit(1)
#
conn.RegisterHandler('message', messageCB)
conn.sendInitPresence()
print "Bot started."
GoOn(conn)
Jabberd2、インストールはできたものの、なんかうまく動かない。根が深そうなので、とりあえず、CommuniGate Pro (フリー版)に乗り換えたところ、30分もかからず稼働。以前SIPサーバとして使っていて、使い勝手を知っていたというのもあるが、すんなり動く製品は気持ちがいい。
WEBベースのアカウント管理機能やコンフィギュレーション機能等もちゃんと作ってあって(Jabberd2ではどうなってるんだろ?)、Jabberd2には戻れそうにない。

ターゲットはFedora 9。ソースをダウンロードしてmakeする方法もあるが、yumでインストールすると、yum updateで(比較的)最新版に自動的に更新してくれるメリットがある。
jabber2にはデータベースが必要なので、mysqlも併せてインストールする。以下のコマンドを実行する。ワイルドカードを使っているので、余計なものもインストールされるかもしれないが、気にしない。
yum install jabber* yum install mysql*
mysqldとjabberdのデーモンが自動で起動するように、ntsysvなどで設定しておく。手動で起動するには以下のコマンドを使う。
/etc/init.d/mysqld start /etc/init.d/jabberd start
続いて、jabberd用のデータベースを構築する。このときmysqldを起動しておくこと。またrootとjabber2のデータベースアクセス用のパスワードを決めてメモしておく。
cd /usr/share/jabberd/
myslqadmin -u root password rootのパスワード
mysql -u root -p
Enter password: rootのパスワード
mysql>\. db-setup.mysql
mysql>GRANT select,insert,delete,update ON jabberd2.*
to jabberd2@localhost IDENTIFIED by 'jabber2のパスワード';
mysql>exit
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
続いて、/etc/jabberd/sm.xmlを編集し、mysqlがデータベースとして使われるようにする。
<storage> <path>/usr/lib/jabberd</path> <driver>mysql</driver> : <mysql> <host>localhost</host> <port>3306</port> <dbname>jabberd2</dbname> <user>jabberd2</user> <pass>jabber2のパスワード</pass>
続いて、/etc/jabberd/c2s.xmlを編集する。
<authreg> <path>/usr/lib/jabberd</path> <module>mysql</module> : <mysql> <host>localhost</host> <port>3306</port> <dbname>jabberd2</dbname> <user>jabberd2</user> <pass>jabber2のパスワード</pass>
jabber2を再起動して、起動されたプロセスを確認する。全部起動できてれば、データベースはうまく設定できているはず。
/etc/init.d/jabberd restart /etc/init.d/jabberd status router (pid 12156) is running... resolver (pid 12189) is running... sm (pid 12222) is running... c2s (pid 12256) is running... s2s (pid 12290) is running...
以上で、「yumでjabber2をインストールする」という目的は達成された。続きは、ここやここで。

その後、FONの普及状況を調べたところ、ものすごい数になっていることがわかった。どのくらい普及しているか体感するため、自分もライナスになってみることにした。
ライナス君(FON基地局を開局しているFONユーザ)は、他のFON基地局を無料で利用でき、さらにライブドアのWiFi局にも無料でつなぐことができる。
固定系キャリア+ライナス軍団で、わがまま放題の移動体キャリアを蹴散らすのだ!

私の場合、Wi-Fiが東海道本線と中央本線の電車の中で利用できれば、iPhone-3Gでなくても、iPod touchで十分おkなんですけどね。誰か、電車のなかで、イーモバつかってFONやってくれませんか?ビルくんでもいいですが…

ATOK2008のライセンスは「個人」に割り当てられるので、同じ「個人」が使うのであれば、なんにでも、何個でもインストールが許されれています(拡大解釈しすぎ?)。で、「ATOK 2008 for Mac + Windows」を購入しました。これからはATOKに統一できます。
ブラウザはFirefoxに統一していますが、超便利プラグインのFoxmarks(ブックマークの一元管理ツール)、Adblock Plus(一元管理可能な広告フィルタ)が、さらに快適にしてくれてます。また、仕事と関係のないドキュメントはGoogle Docsで作ってます。
情報や環境の一元化って、とっても重要な機能ですね。(シンクライアントがベストなのかどうなのかはわかりませんが)
ところで、ATOK2008のユーザ辞書はネットワークで一元管理できないのかな?

iTunes内部のiPhone 2.0 アプリのランキングが、まだまだいい加減だ。なんでこんなのが上位に?とがっかりさせられるのがある。CNET DOWNLOAD.COMとかで、ちゃんとしたランキングしてくれないかな。今のうちに稼いでやろうってなかじのアサマシイものが堂々と混ざっている。
昔マック(System 7のころ)で、ある有料だけど高機能な圧縮ソフトを使っていた。その無料版が日本語化されて、日本版MacOSに標準搭載されることになった。そこまでは別にかまわないんだけど、この無料日本語版がOSのアップグレートで勝手にインストールされて、有料英語版を上塗りしてしまう…
という、ドタバタ話を思い出させる、iPhone 2.0の混沌ぶりです。


iPod touch 2.0 で使っているTwitterクライアントのtwitterrificがすぐ落ちるようになった。無料版だからかな?しかたないので、Twittelatorに乗り換えた。バグとか使いにくいとかでユーザを失うのは悲しいね。気をつけよう。

Flash Line 2.0 のコンテンツはActionScript 2.0でコーディングするが、どうやってFlex 3でコンパイルするのかわからない(そもそもできるのか?)。コンパイルできても、auケータイで動かないものができたりする。で、探し当てたのが、MTASC。なかなかグッドなコンパイラである。
なにしろ、Linuxでコンパイルできるので、viでエディットできたり、コンパイルでできたswfファイルをmakeで直接apache下にコピーできたり、いいこと尽くめ。
MTASCのコンパイルスイッチの設定例は、ここの下のほうに解説されている。makeファイルは以下のようなかんじになる。
hoge.swf: hoge.as
mtasc -swf hoge.swf -main hoge.as -version 7 \
-header 240:240:30 -cp ${MTASK}/std
auケータイのFlash Lite 2.0プレイヤでニコニコ動画がみれるが、1秒1コマのほどんど紙芝居レベルになっている。実際どのへんまでチューニングできるか、ニコニコ動画の仕組みを参考にして試作してみた。
結論だけ書くと、サイズはQCIF(176×144)で、5~6コマ/秒が限界。あと、ニコニコと同じく手回し式となる。すなわち、「使い物にならない」ことがわかった。auのFlash Lite 2.0、制約多すぎ!どうにかして欲しい。
まあ、ActionScriptのいい勉強になったので、個人的には収穫はあった。コアとなるコードだけ公開すると、
private function onKeyDown(){
if(back_state == 0){
back_state = 1;
loader.loadClip("cgi-bin/video", back_video);
}
}
private function onTick():Void{
if(front_state == 1){ // playing
if(tick < 5){
front_video._x -= 176;
tick ++;
}
if(tick >= 5){
front_state = 0; // played
}
}
if(front_state == 0){ // played
if(back_state == 2){ // loaded
front_video._x = 0;
front_video._y = 300;
front_video._visible = false;
{
var tmp:MovieClip;
tmp = front_video;
front_video = back_video;
back_video = tmp;
}
front_video._x = 32;
front_video._y = 0;
tick = 1;
back_state = 0; // empty
front_state = 1; // playing
}
}
}
function onLoadComplete(mc:MovieClip):Void{
if(back_state == 1){
back_state = 2;
}
}
要は、なにかキーを押したら、JPEGファイル(5コマ分の画像が納められている)をダウンロードして、200ミリ秒間隔で表示コマをずらしていくという方式。
複数のパソコンを使っているので、ブックマークの一元化は必須。del.icio.usを使っていたが、いまいち使いにくいのとセキュリティ面に不安があるので(そもそもdel.icio.usは共有が前提になってる)、Foxmarksに切り替えた。FoxmarksはブックマークデータをデフォルトではFoxmarksのサイトに保存するようになっている。
ブックマークは大切な個人の資産なので、そんな危なっかしいところには置きたくない。ということで、WebDAVサーバを立ち上げて、SSLでFoxmarksプラグインからアクセスするようにした。このプラグインにセキュリティホールがないというのを大前提にしてるんだけどね。

iPod touch 2.0でiPhone 2.0用アプリをいろいろダウンロードしてみて、すでにSNS系のクライアントが数多くリリースされているのに驚いた。早速私も利用しているSNS系サービスの、Facebook、MySpace、Twitterのクライアントを試用してみた。
う~んかなり使い易い!モバイルmixiとは雲泥の差だ。mixiはiPhone 2.0のクライアント出す気あるのかな?日本のiPhoneユーザの数を考えるとしばらくないと思うけど、Facebookへ会員が流れてしまうかもよ!そもそもmixiにはマイクロブログ(Twitter)の機能ないし、やる気あるのかな?
ソフトバンク傘下のMySpaceの会員増をねらうチャンスかも。機能的にはmixiの代替にはなりそうもないけど。

iPhoneは持ってないけど、また、当分買う予定もないけど、手持ちのiPod touchでiPhone 2.0 のアプリがエンジョイできるはずなので、早速やってみた。
7月11日にiTunesを7.7に更新すると、iTunes STOREにApp Storeのメニューが追加されていた。TOP PAID APPS堂々1位の「Super Monkey Ball」を早速購入。$9.99也(私のiTunesは論理的に米国にあるように設定してある)
iPod touchをiTunesに繋いでiPod touchへの転送を試みるが、うんともすんとも動かない。調べてみるとiPod touchのファームウェアを2.0にアップグレードしないとだめらしい。こんどは米国アップルサイトで、ファームウエアを購入した。なんと有料だった。$9.95也
とかなんとかやって、やっと、Super Monkey BallがiPod touchで動くようになったとさ。



