つれづれ日記 2008年12月

予定

毎日


2008年12月31日 (水曜日)

10:12:29 # Life Androidのサウンドってどうなっているんだろう。 リアルタイムDSP処理とかできないかなぁ、と調査。 録音再生のAPIはあるようだけど、直接たたくにはどうしたらよいか? /dev/adspというそれっぽいのがある。 結構癖がありそうな予感。

$ ls -l /dev/adsp
crw-rw---- system   audio    251,   9 2008-12-28 13:12 VDEC_LP_MODE
crw-rw---- system   audio    251,   8 2008-12-28 13:12 VIDEOTASK
crw-rw---- system   audio    251,   7 2008-12-28 13:12 JPEGTASK
crw-rw---- system   audio    251,   6 2008-12-28 13:12 LPMTASK
crw-rw---- system   audio    251,   5 2008-12-28 13:12 QCAMTASK
crw-rw---- system   audio    251,   4 2008-12-28 13:12 VFETASK
crw-rw---- system   audio    251,   3 2008-12-28 13:12 AUDPREPROCTASK
crw-rw---- system   audio    251,   2 2008-12-28 13:12 AUDRECTASK
crw-rw---- system   audio    251,   1 2008-12-28 13:12 AUDPPTASK
crw-rw---- system   audio    251,   0 2008-12-28 13:12 AUDPLAY0TASK
	

17:21:58 # Life Android 開発のためにDebianパッケージではないeclipse をいれてみる。 eclipse 3.4 を探す。たくさん種類があるのでよくわからないのだけどとりあえず java 開発者向けというのを選択してみた。 eclipse-java-ganymede-SR1-linux-gtk-x86_64.tar.gzを取得して展開。

ecasound の 880Hz の metronome の音をとりだす。 ecasound -el:sine_fcac,880,1 -eemb:%1,10000 -efl:2000 -i null -t 0.5 -f 16,1,8000 -o a.wav

22:24:06 # Life 2008年終了のお知らせ。 そろそろ終了します。 今年もいろいろな方にお世話になりました。 来年もまたよろしく。

2008年12月29日 (月曜日)

22:16:50 # Life Yamaha の資料。 ネットワークオーディオについて。 最近調べていた資料。 ネットワーク経由での音声通信として、 Cobranet とEtherSoundという既存のプロトコルが存在するらしい。

23:41:20 # Life リモコンとしてiPod Touch と Android を使いたい。 VNSea Android VNC Viewer というのがあるらしい。 iPod Touch にいれようとしたらjailbreak が必要っぽい。 Android VNC Viewerをとりあえず試す。

サーバ側もいろいろとあって、tightvncserver, vnc4server などのパッケージがある。 ちょっと変なものとしては既存の画面に接続するx11vnc, vino(X11), linuxvnc(console)がある。 あと一癖あるものとして、qemu が VNCサーバになる。 クライアントもvinagre, tightvncviewer, gtkvncviewer, gvncviewer などいろいろある。

類似のプロトコルとしては、RDPやNXがあるので実際どれを使うべきか迷うところ。

vncserver :10 で起動してみたのに接続してみたら、とりあえずつながった。 vncserver -geometry 320x200 :10 くらいかな?

vinoを設定してみた。 簡単にサーバが起動して、動いた。素晴らしい。

しかし、Xの画面はそのまま飛ばすと視認できるような画面の解像度ではないなぁ。 24bpsで転送するとかなり負荷が厳しい。

2008年12月28日 (日曜日)

18:27:12 # Life Android ビルドするための、Debian での java の基本的な設定。 あと根本的な問題として、jdkをいれていなかったのでjavacがなかった。 apt-get install sun-java6-bin sun-java6-jdk で解決。 sudo update-alternatives --config java sudo update-alternatives --config javac で、alternativesを確認。 JAVA_HOMEとかは設定しなくてもなんとなくいけているっぽい?

$ ant 
Buildfile: build.xml

dirs:
     [echo] Creating output directories if needed...

resource-src:
     [echo] Generating R.java / Manifest.java from the resources...

aidl:
     [echo] Compiling aidl files into Java classes...

compile:
    [javac] Compiling 2 source files to /home/dancer/tmp/android/HelloAndroid/bin/classes

dex:
     [echo] Converting compiled files and external libraries into bin/classes.dex...

package-res:

package-res-no-assets:
     [echo] Packaging resources...

debug:
     [echo] Packaging bin/HelloAndroid-debug.apk, and signing it with a debug key...
     [exec] Using keystore: /home/dancer/.android/debug.keystore

BUILD SUCCESSFUL
Total time: 6 seconds

$  unzip -v bin/HelloAndroid-debug.apk
Archive:  bin/HelloAndroid-debug.apk
 Length   Method    Size  Ratio   Date   Time   CRC-32    Name
--------  ------  ------- -----   ----   ----   ------    ----
     696  Defl:N      306  56%  12-28-08 18:32  6e1cba75  res/layout/main.xml
    1244  Defl:N      484  61%  12-28-08 18:32  31169ce1  AndroidManifest.xml
     748  Stored      748   0%  12-28-08 18:32  566dca28  resources.arsc
    1692  Defl:N      845  50%  12-28-08 18:32  7e377064  classes.dex
     327  Defl:N      231  29%  12-28-08 18:32  b7aa5506  META-INF/MANIFEST.MF
     380  Defl:N      263  31%  12-28-08 18:32  160db9b1  META-INF/CERT.SF
     776  Defl:N      602  22%  12-28-08 18:32  42b77e60  META-INF/CERT.RSA
--------          -------  ---                            -------
    5863             3479  41%                            7 files
	

生成物(apk)はadbで実機にインストールできる。

$ adb install bin/HelloAndroid-debug.apk 
* daemon not running. starting it now *
* daemon started successfully *
61 KB/s (4369 bytes in 0.069s)
	pkg: /data/local/tmp/HelloAndroid-debug.apk
Success
	

これで、HelloAndroid テンプレートが実機で動きます。

2008年12月27日 (土曜日)

16:06:46 # Life HelloAndroidを作成してみようとする。 ant パッケージがインストールされていない状態だったので挫折。

$ export PATH=$PATH:/..../android-sdk-linux_x86-1.0_r2/tools/
$ activitycreator --out HelloAndroid com.android.hello.HelloAndroid
$ ant
bash: ant: command not found
	

antパッケージをインストールしてみた。 なんか変なエラーが。

$ ant
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.5.0-gcj-4.3-1.5.0.0/lib/tools.jar
Buildfile: build.xml

BUILD FAILED
/home/dancer/tmp/android/HelloAndroid/build.xml:35: Invalid byte 1 of 1-byte UTF-8 sequence.

Total time: 0 seconds
	

LC_ALL=C にしないとまともにうごかないようだ。 \ が変な文字になっていた。locale が EUC-JP だったからか。

16:41:14 # Life dinstall が一日4回になったのか。 Debian sid のリリースサイクルが12月から一日四回になっていたようです。 いままで一日二回、昔は一日一回。 approx とかのキャッシュの有効時間の設定を変更しないとなぁ。

22:52:58 # Life 今日はLILO Monthly Seminarに参加してきました。 いろいろ話をしましたが、vi を起動した直後に 「i」派、「行番号」派、「j」派、「/」派のどれか、という議論が一番おもしろかったと思います。 会場を提供いただいたグッデイさんありがとうございました。

2008年12月25日 (木曜日)

10:19:38 # Life Android を充電するためにUSBポートにさしてみた。 dmesgを見て気づいたのだがUSBストレージクラスが見えているようだ。 lsusbではVendor Specific Device もあるよう。

[ 2245.678798] usb 7-1: Product: Android Phone
[ 2245.678798] usb 7-1: Manufacturer: HTC
[ 2250.755048] usb-storage: device scan complete
[ 2250.758863] scsi 3:0:0:0: Direct-Access     HTC      Android Phone    0100 PQ: 0 ANSI: 2
	

22:46:54 # Life Debian の busybox binary を android で動かすまでをメモしてみる。 ドキュメントを全く読んでないので何か間違ったことを書いているかも。 adbが動いて接続している前提で。

まず、Debian の busybox-static パッケージの最新の armel 版を探してくる。

$ wget http://ftp.debian.org/debian/pool/main/b/busybox/busybox-static_1.10.2-2_armel.deb
$ dpkg -x busybox-static_1.10.2-2_armel.deb tmp/
$ ls -l tmp/bin/busybox 
-rwxr-xr-x 1 dancer dancer 1621892 2008-09-08 10:36 tmp/bin/busybox

	

まず、Android にファイルを転送する。

$ adb push tmp/bin/busybox /sdcard
926 KB/s (1621892 bytes in 1.709s)
	

adb shell 上で実行。 /sdcard は noexec / fmask などのオプションつきでマウントされているので いじるのが簡単そうな /dev あたりで操作。

$ su
# cat /sdcard/busybox > /dev/busybox
# chmod 0755 /dev/busybox
# /dev/busybox
	

どうやら Debian の static armel バイナリはそれなりにうごくっぽい気配。

2008年12月24日 (水曜日)

08:19:13 # Life Android SDK をいれるために eclipse をインストールしようとしてみる。 Android SDK に必要なのは Eclipse 3.3 か 3.4。 なぜか Debian には3.2 しか入っていない。 3.2しか入っていないということについてはいろいろな人が認識していて、 どうやら432350が該当するバグIDらしい。 3.3 と 3.4 について作業しているというログはあるんだけど結局アップロードはされていなくて、 Andreas Tille がパッケージつくるぞといきまいていますね。 そしてMLを見てみると、 pkg-java-maintainers ML で12月に入ってからすごく活発にいろいろと行われているということがわかった。 Android SDK 自体の RFP (Debian パッケージ作成の依頼)も出ていて459219

2008年12月23日 (火曜日)

13:23:14 # Life apt preferences のドキュメントを探す。 man -k apt で検索してみると、 apt_preferences というマニュアルページがあることが分かる。 testing(lenny)に pin したいときは一番簡単な設定として /etc/apt/preferences ではなく、 apt.conf にAPT::Default-Release "testing";を突っ込んだらよいことがわかるので今回はそれで解決する。 なんかmanpageが変なのでバグをファイル。

13:40:48 # Life git のエンコーディング関連のメモ。 GUIのエンコーディング指定:  デフォルトはロケールのencoding (utf-8ではない?)、 git config の gui.encoding、 gitattribute の encoding アトリビュート。 コミットログのエンコーディング: i18n.commitEncoding、デフォルトは utf-8。 ログの出力: i18n.logOutputEncoding

Windows 関連のメモ。 TortoiseGit が最近出たが、まだ新しいのでこれからどうなるか? gitextentionsというのがすでにあるらしい。 GitCheetah

14:38:27 # Life 気づいたら、flashplugin-nonfree をアップグレードしたら64bit版が利用されるように。 ./libflashplayer-10.0.d21.1.linux-x86_64.so.tar.gz か。

2008年12月22日 (月曜日)

23:19:18 # Life mplayer で MacBookのisight の入力の画面の鏡面を表示する。 mplayer tv:// -vf mirror 。 これでMacOSX で表示されるように鏡面画面が出る。

2008年12月21日 (日曜日)

05:47:04 # Life 東京エリアDebian勉強会報告。 2008年12月20日土曜日に第47回東京エリアDebian勉強会を実施しました。 今回の参加者は 前田耕平さん、 一井崇さん、 やまだたくまさん、 小室文さん、 平澤俊雄さん、 藤沢理聡さん、 じつかたさん、 岩松信洋さん、 小林儀匡さん、 山本浩之さん、 キタハラさん、 日比野啓さん、 id774さん、 やまねひできさん、 でんさん、 でんさんの友人Aさん、 上川x2の 18名でした。

(+
;;資料コピー14人分  
	  -4006
;;会場代
	  -1500
;;勉強会費 x 15
	  +7500
)
1994 の黒字

	

2008年12月17日 (水曜日)

08:19:11 # Life latex beamer. PDF のメタデータをちゃんと追記してくれているような気がします。 文字コードの変換とかどこでやってるんだろう?

$ pdfinfo debianmeetingresume200811-presentation.pdf| iconv -f utf-8 -t euc-jp
Title:          東京エリア Debian 勉強会 - 資料
Subject:        
Keywords:       
Author:         上川 純一 dancer@debian.or.jpIRC nick: dancerj
Creator:        LaTeX with beamer class version 3.07
Producer:       dvipdfmx (20080607)
CreationDate:   Fri Dec 12 08:58:44 2008
Tagged:         no
Pages:          26
Encrypted:      no
Page size:      362.83 x 272.13 pts
File size:      118578 bytes
Optimized:      no
PDF version:    1.4
	

2008年12月14日 (日曜日)

00:08:36 # Life xpdf が日本語表示しないなぁ、と思っていたら。 ttf-japanese-gothic が入っていなかった。 506165を追跡するところまでやって、 結局アップグレードし忘れていたのか。 というおちで。

09:34:00 # Life Git の diff に色をつけて表示。 Planet Debian で Git 関連の小技が話題になっています。 git config の color.ui を auto にすると、出力デバイスに応じてカラー表示してくれます。 ページャで lv を使っているのですが、 lv は -c をつけるとANSIカラーを処理してくれるようになるようなので、 ~/.gitconfig にこんな感じで追加してみました。

[color]
	ui = auto
[core]
	pager = lv -c 
	

11:34:49 # Life sqlite3 を使ってみようかと。 sqlite3 パッケージをインストールして、python-pysqlite2 をインストール。 lennyのバージョンについてドキュメントがおかしいよというバグをファイルしたらsidのバージョンでは 全く違うドキュメントの仕組みになっていた。

2008年12月12日 (金曜日)

08:52:09 # Life iPod Touch でリモコン。 MacBookでのプレゼンテーションリモコン用にちょこっとハック。 MacBookでウェブサーバを立ち上げ、上と下ボタンを用意します。 上ボタンが押されたらXtestでPgUpボタン、 下ボタンが押されたらXtestでPgDnボタンがおさるという挙動をしこんでおきます。 iPod Touch でそのウェブサーバに接続すればあら素敵、リモコンのできあがりです。 MacBook は avahi で接続できるようにしておくと適当な無線環境でもつながるので便利かも。 写真の絵のへちょいのは勘弁してください。 ソースは、 git clone git://git.debian.org/git/tokyodebian/monthly-report.git, utils/ipodtouchremote

2008年12月7日 (日曜日)

11:20:29 # Life jaaa. Jack か alsa の音源の spectrum を解析してくれるツール。 X window で表示させることができる。 試しに歌ってみて自分の声の音程をみてみようかなぁ、と思うと デフォルトの表示だと幅広すぎるので、周波数の表示範囲を0-1kHz くらいにして、 解像度が低くなりすぎるので、遅くなりすぎない程度にbandwidth もある程度狭くする。 で、ドレミファソラシドと歌ってみて周波数分布を目視で確認できたところで満足。

22:05:05 # Life pythonからグラフを作成する。 oooをpythonから制御してみたり、python-pychart(2年くらいメンテナンスされていない?) を使ってみたり、 python-pycha(あまり活発に開発されていない?)を試してみたりしたのですが、あまりしっくりこないので、 その他の方法を探索してみた。 gnuplot 以外の方法を模索してpython のグラフ描画ツールにいきついたので、 gnuplot 以外という条件で。 matplotlibや、 pybld からたどれる Graceとかが気になる。 しかし、Grace のほうが gnuplot より古の香りがするのはなんでだろう。 気を取り直して、python-matplotlibパッケージをとりあえずインストール。

2008年12月5日 (金曜日)

22:29:29 # Life 今日はkeyjnote のコードを読む。 mplayer には slave モードというのがあり、 キーボード入力はうけつけず、stdin から制御するようにできるらしい。 wid を指定して既存のウィンドウにエンベッドすることもできるらしい。 うーむ、便利だ。

2008年12月3日 (水曜日)

08:35:22 # Life 先日話題になった OCaml のポーティング。 ./asmcomp/ 以下にあるようだ。 asmcomp/arm/* 以下に arm 向けのコードがあるようだ。

ocaml-3.10.2$ ls asmcomp/*/ -d 
asmcomp/alpha/	asmcomp/amd64/	asmcomp/arm/  asmcomp/hppa/  asmcomp/i386/  asmcomp/ia64/  asmcomp/m68k/  asmcomp/mips/  asmcomp/power/  asmcomp/sparc/
	

ocaml-javaというjvmで実行するための仕組みもあるっぽい。

2008年12月2日 (火曜日)

00:31:40 # Life 今日はカーネル読書会。 いろいろと話をしましたが、 H比野さんが ocaml を android VM に移植するのと、 advi のコードをデバッグするということが決定したようです。

07:49:40 # Life whizzytex のドキュメント。 3年前に更新したのが最後の古いドキュメントを参照してはまっている人が数人いたようなので、修正。 ptex-binからpinitex が消えているので、"platex -ini"を指定する必要があります。 whizzytex で日本語設定するための from scratch な方法を紹介してあげるのが 親切なのかなぁ。


Junichi Uekawa

$Id: 200812.html.ja,v 1.42 2009/01/17 23:57:50 dancer Exp $