ノート発注した

昨年の今頃 MacBook を買ったのだが、パフォーマンスはともかく、2kg で重過ぎる点と、Debian でも Windows でもない Mac OS X に今から習熟するのが面倒であるという点から一年を待たずに弟に売った。

代替機は 1.1kg の Thinkpad x200s にしようと思っていたのだが、忙しかったり、入院したり、納期が長かったりで発注を躊躇していたら、1.1kg 実現の要である高解像度 LED バックライトの LCDBTO で選択できなくなってしまった。

LCD の供給が改善すれば再開されるそうだが、来年初頭に新機種である x210s の発売を控えている現在、あまり期待できそうもない。US の Lenovo では難なく購入できるようなので個人輸入も検討したのだが、無理に今買うよりも x210s が安くなったらまた考える事にした。

とはいえ、これから寒くなるのにノートがないと困るのでそれなりに軽いものを購入しようと思い検討を始めた。

Atom は論外なので CULV のシングルコアでもよいかと思っていたら Acer の Aspire Timeline AS1410 という製品が、I/O DATA の通販で大体 15%OFF の 5 万円で買えることがわかったので早速発注した。

  • Aspire Timeline AS1410
  • Celeron SU2300(1.2GHz Dual)
  • 1.4kg
  • 8h 動作
  • 1366x768@11.6inch
  • Windows 7 Home Premium

一番の問題は英語キーボードだが、この製品は世界展開しているようなのでそのうちなんとかなるのではと楽観的に考えている。

現時点の CULV 機においてはこの性能でこの価格は他に無いと思う。例えば Dell の Inspiron 11z がデュアルコアになって 5h 長く動いて、5,000 円安くなったら AS1410 と同等である。

10/22 より発送開始なので楽しみである。

最近の動向

最近の動向

Display Link のドライバが公開されたということなので適当な LCD を買ってきた。
http://libdlo.freedesktop.org/wiki/
当初確認したときは libusb 経由の描画だったが、最近どこかで kernel module ドライバを見た。

ずいぶん前に中国から ARM の MID を買ったのだが、忙しいので全く触っていない。sumsung の ARM11 が乗っているので Android を動かしたいのだが。公開されている Android イメージを書いたところ GUI のパフォーマンスに問題はなさそう。
今月の日経 Linux だかに記事が載っていた。
http://japanese.engadget.com/2009/03/18/wvga-ubuntu-smart-q-mid-1-2000/
http://japanese.engadget.com/2009/05/10/7-mid-smartq-7-ubuntu-1-5000/

Androiddocomo の HTC 端末を買おうかと思ったのだが、やはり ARM11 端末は買う気がしないので冬まで待つことにした。

5 月の末から 8 月の上旬までの間、東京から先輩にお越し頂いて某社の石とお友達になっていた。作業中はとても楽しく過ごすことができた。俺のアレ具合も自覚することができたし。先輩にはとても感謝しております。

MITOUJTAG 買った

今更だが light 版ではバウンダリスキャンロジアナしか対応してなかった。(2009/11/18)

MITOUJTAG の light 版が 8 月中限定で安いということで発注してみた。先着 20 名ということで 50,000 円くらいで買えた。
http://www.tokudenkairo.co.jp/jtag/lightv.html

今日届いたのでその辺にあった Spartan3E sample pack のボードと接続してみた。
バウンダリスキャンロジアナは当然ながらあまり速くなかった。ケーブルの tck を 8MHz -> 24MHz に変更してみても特に波形は変化していない気がする。BRAM ロジアナを動かそうと思ったけど時間がなかったのでまた今度試そう。

Xen Server パフォーマンステスト

XenServer とは XenDebian っぽい domain0 を一緒にパッケージ化した Citrix の製品である。少し前まで 50 万円くらいだったが、最近無償化された。XenDesktop という製品と組み合わせると Thinclient 的な運用も可能になるようだ。

以前ベンチマークを取得した ML115 G5 に XenServer 5.0 をインストールし linux-source-2.6.26 をコンパイルしてみた。

  • 物理環境
    • ML115 G5
    • Phenom X4 9850BE @ 2.5GHz
    • DDR2 6400 4GB
    • XenServer 5.0
  • 結果
lenny1:~/linux-2.6-2.6.26$ time make -j16 bzImage
real    1m21.426s
user    4m36.473s
sys     0m32.762s

物理マシンで測定した結果より 4 秒近く速かった。大体物理環境に近いパフォーマンスが出せるという事なのではないだろうか。
gcc って 64bit CPU を考慮したバイナリを吐いてくれるのだろうか。

現在はローカルのディスク上で実行しているのだが、外部のディスクで運用しないとバックアップとかいろいろ面倒そうなので iscsi な SAN を用意したい。あと、 keepalived とか DRBD とかを使った冗長化も。

もっと上手な文章を書きたい

相変らず上手な文章を書けないでいるのだが、昔からみれば多少は改善されてきたと思う。文章の良し悪しには確実に敏感になった。

しかし、日頃は不明確で感覚的なルール(以降、俺ルール)から逸脱しない事だけを考えているので、これといって向上もなく、再現性もなければ、その良否すらわからない。こんな場当たり的な状態で良い文章を書けるはずがないので現状の指針である俺ルールを明確にし、その上に新たな知見を積み上げていく必要があると思う。だが、暗黙かつ感覚的なルールを明確にするのは困難であるので手近な問題を洗い出しそれらを解決していくことからはじめるのはどうだろうか。

現在は以下のような問題点を感じている。

  • 日本語に対する理論的な理解が乏しい。

基本的に何も理解していないので何が良くて何が悪いのかを感覚的にしか判断できない。致命的。

  • 語彙がパターン化している。

単純に語彙が乏しいだけかもしれないが、視野が狭いことが関係しているような気もする。

  • 文章の構成の構築がうまく出来ない。

これは方法論を学べばある程度解決するのではないかと思っている。これまでは構成に応じて文を選択するのではなく、文を元に構成を考える事が多かったのだが、そろそろ限界である。

  • 推敲に抜けがある。

漢字間違いとかは論外なのだが、助詞の連続などはある程度機械的に解決できないだろうか。今度識者に聞く。

  • とにかく記述に時間がかかる。

これは構成を考えずに記述しているからではないだろうか。頻繁に文章の構成を変えるので時間がかかって仕方がない。

  • 俺ルールに束縛されすぎている。

これは俺ルール自体の問題というよりも俺ルールがワンパターンかつ実績豊富であるため、他の形態の文章の記述経験が少なくなり、結果的に俺ルールに縛られることが問題だと思う。

  • いつも硬い文章になってしまう。

鶏と卵の問題なのだが、最近では口調も硬くなってきてたように感じている。これは専門書だけで創作を一切読まないことが影響しているかもしれない。

  • 黒い(漢字、熟語が多すぎる)

あいまい性の排除と言えば聞こえは良いが、それしか書けなくなってしまった。他の文化にふれるとか ? 解決策が思い浮かばない。

  • 文の構成が強引

今思ったのだが、読みにくい文が平気で登場しているのかもしれない。二重否定とか。


少し考えただけでこれだけ挙がる。これらが全てではないだろうが何が問題なのかはっきりしたので今後少しずつ改善していこうと思う。

子供の頃 「人を見るときは話し方と書いた文章を見なさい」と親に言われた事があったが、20 年くらい経った今でもこれは有効な指標であると思う。

egypt と GraphViz で Call Graph を描く

RTL 出力のプリフィックスを修正。数値はインクリメントされるみたい。2010/9/13
コマンドが微妙に間違っていたのを修正した。2010/1/20
-dr の付加について書き換えた。2010/1/20
RTL を吐くオプションについての記述が抜けていたので追加した。 2009/5/10

日頃は GNU Global に html を吐かせて使用しているのだが、たまに Call Graph で見たい場合もある。現在はクロス開発をしているので静的に生成できるものを探したところ egypt が良さそうなので使ってみることにした。

egypt
http://www.gson.org/egypt/
GraphViz
http://www.graphviz.org/

egypt は gcc の RTL(Register Transfer Language) を元に GraphViz の dot ファイルを生成する簡単なスクリプトである。RTL を利用するために Makefile

CC = gcc -dr

として、*.expand ファイルを生成する必要がある。
GraphViz と egypt をインストールして

$ egypt `find ./ -name "*.expand"` | dot -Gsize=100,100 -Grankdir=LR -Tsvg -o callgraph.svg

とすると SVG の Call Graph が生成される。

当然 libc の呼び出しも描かれるが、邪魔な場合は

for i in `find . -name *.expand`
do
    cat $i | sed -e "/printf/d" > $i.mod
done

とかして RTL から libc の関数を削除すればなんとかなる。

Call Graph を見るときは ZgrViewer を使うと拡大/縮小やノードの追跡ができるので比較的便利だと思うが、ノードのハイライトを固定できないなどイマイチな点もある。

ZgrViewer
http://zvtm.sourceforge.net/zgrviewer.html

ここの記述を参考にした。
http://nion.modprobe.de/blog/archives/556-creating-dynamic-function-call-graphs.html