23:42:34 # Life DebianでMacBook の外部ディスプレイを接続して横向けて使ってみた。 横に倒すことのできるモニターを使っているので、久しぶりに xrandr の--rotate オプションを指定してみたのだが、どうも画面描画の負荷が高いのであきらめる。
xrandr --output TMDS-1 --off \ --output LVDS --mode 1280x800 --crtc 1 \ --output VGA --mode 1024x768 --above LVDS --crtc 0 --rotate normal
00:18:31 # Life FFTを使おうと思ったが、複素数とかが出てきたのでいろいろと復習。 最近は C でも complex.h というのをつかうと複素数が普通に使えるようになっていて、 便利になったものですな。 C99 から追加された機能らしい。man 7 complex にマニュアルがあった。
22:41:15 # Life 線形回帰(linear regression)。 weka を使って 過去のDebian勉強会の出席人数とかのデータをとりあえず線形回帰で分析してみた。 事前課題の提出数(prework)と出席者数(attend)の関係は attend = 0.9518 * prework + 5.1781 らしい。 平均5人強事前課題を提出せず、5%くらいの確率で事前課題を提出したのに参加していない、と読むべきか? しかし、毎回事前課題を設定しているわけではないのでこの読み方では正しくない気もする。 他に解析していておもしろいと思ったのは、年度が出席者数の関数で推定できる(毎年すこしづつ増えている)とか、 事後課題(Blogでの感想)の提出者が出席者数よりもどちらかというと事前課題提出者の数で表現できたり。
21:38:20 # Life tinysvm を試そうかなとおもってとりあえず dh_make で cdbs でパッケージを作成してみた。 なんかそれっぽいパッケージができた。
21:27:11 # Life chrootしないでchrootの中のバイナリを強引に実行。 開発用の android 環境にSDカード経由で Debian の chroot を展開してみた。 chroot しようと思ったが、chroot コマンドが無い。 chroot するためだけに static link の busybox とかを用意して chroot を実行するのは面倒。 とりあえず、ld.so は共有ライブラリを必要とするバイナリをロードしてくれる static linkな実行ファイルみたいなもののようなので、 libc.so の場所を教えてあげて、バイナリを実行できるようにしてあげると動くようだ。 これでchroot環境に用意した chroot コマンドを chroot 外部から実行できた。
# LD_LIBRARY_PATH=./lib:./usr/lib ./lib/ld-2.9.so ./usr/sbin/chroot . LD_LIBRARY_PATH=./lib:./usr/lib ./lib/ld-2.9.so ./usr/sbin/chroot . sh-3.2# export PATH=/bin:/usr/bin:/sbin:/usr/sbin
qemubuilder が用意した環境だったので、 ネットワーク環境の設定が qemu用になっていた。 resolv.conf と sources.list を修正して、apt-get が動作。とりあえず今日はここらへんで満足。
しかし、apt-get upgrade して最新の sid にしたら、 apt-get update が bus error に。 このカーネルは bus error をreportするという設定にしてあるような気がする。 Android ではそういう方針で設計してあるようだ。 apt-get が sigbus の状態ではどうしようもないので、とりあえず2、もしくは3に変更して、回避。
sh-3.2# cat /proc/cpu/alignment cat /proc/cpu/alignment User: 10 System: 78 Skipped: 0 Half: 19 Word: 59 DWord: 0 Multi: 0 User faults: 4 (signal) sh-3.2# echo 2 > /proc/cpu/alignment sh-3.2# cat /proc/cpu/alignment cat /proc/cpu/alignment User: 10 System: 78 Skipped: 0 Half: 19 Word: 59 DWord: 0 Multi: 0 User faults: 2 (fixup) sh-3.2#
00:32:43 # Life xmlhttprequest を使っていろいろ遊んでみる。 とりあえず HTML ファイルを読み込んで、もとのHTMLファイルが逐次変更されるのを読み込むというのをやってみた。 変更されているかどうかをチェックしていないので毎回変更がされるという効率の悪い感じから始めてみた。 XMLHttpRequest という名前に騙されてXMLをパースしようとするとハードルが高くなるようで、responseTextを使うとお手軽な感じ。 ということで、javascript入門中です。
21:51:40 # Life 東京エリアDebian勉強会のリポジトリに git push をする際のチェック。 git diff をながめたり、 make check を実行したり、本来だったら いろいろ実行してほしいことがあるので、それを追加したgit push をするためのスクリプトというのを用意してみた。 git の hookで強制しようとしてみたのだが、それだとなんかそれを 回避する方法をいろいろと編み出す人たちがいるので、意識的にプ ロセスを定義するという方向、git push はできるんだけど、このス クリプトを実行したらよりよい感じになるよ、という方向にもって いければと思っての施策。うまくまわるだろうか? monthly-report.git/utils/git-push.sh においてみた。
00:39:59 # Life oprofile を久しぶりにつかってみた。 C++のテンプレートとか使いまくっているコードのプロファイルをとってみると、関数シンボルが何行にもわたるくらいながくなってしまい どこの行で時間がかかっているのかがよくわからないという結果に。
23:26:53 # Life ia32-apt-get というパッケージがあるらしい。 ia32-libs の代わりをしてくれそうな雰囲気が漂っている。 しかし、なんでインストールするときにエントロピーを消費しないといけないのか、よくわからない。
07:22:53 # Life mecab を使ってみる。 mecab-ipadic とか mecab-juman とかとりあえず関係のありそうなパッケージをインストールしてみました。 デフォルトの辞書の文字コードはEUC-JPで、-utf8のついたパッケージをインストールすることでUTF8版が生成される仕組みのようです。 システム全体で alternatives で選択をしていて、現在のlocaleは関係なく インストールされていれば utf8 の辞書が最優先になるようです。
$ sudo update-alternatives --display mecab-dictionary mecab-dictionary -状態は auto。 リンクは現在 /var/lib/mecab/dic/ipadic-utf8 を指しています /var/lib/mecab/dic/juman - 優先度 30 /var/lib/mecab/dic/ipadic - 優先度 70 /var/lib/mecab/dic/ipadic-utf8 - 優先度 80 現在の `最適' バージョンは /var/lib/mecab/dic/ipadic-utf8 です。 $ mecab -d /var/lib/mecab/dic/juman/ -D filename: /var/lib/mecab/dic/juman/sys.dic version: 102 charset: EUC-JP type: 0 size: 516002 left size: 1509 right size: 1509 $ mecab -d /var/lib/mecab/dic/ipadic/ -D filename: /var/lib/mecab/dic/ipadic/sys.dic version: 102 charset: EUC-JP type: 0 size: 392126 left size: 1316 right size: 1316 $ mecab -d /var/lib/mecab/dic/juman/ -O wakati わたしのなまえはなかのです。 わたし の なまえ は なか のです 。 私の名前は中野です。 私 の 名前 は 中野 です 。 $ mecab -d /var/lib/mecab/dic/ipadic/ -O wakati わたしのなまえはなかのです。 わたし の な まえ は なか の です 。 私の名前は中野です。 私 の 名前 は 中野 です 。
$Id: 200907.html.ja,v 1.15 2009/08/02 01:04:50 dancer Exp $