おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2009年03月20日(Fri) 山頂がまっしろ [長年日記]

(1) Communication (2) Simplicity (3) Flexiblity

角谷HTML化計画で目にしてから読みたかった『Implementation Patterns』(amazon.com) をやっと読み終わったよ。

僕がコードを書くときに、意識していたことと意識していなかったことがはっきりと言葉になって書かれていて納得することしきり。特に、「Three values that are consistent with excellence in programming are communication, simplicity, and flexiblity. (中略) The best programs offer many options for future extension, contain no extraneous elements, and are easy to read and understand.」(p.10) というのは何度も復唱したいと思った。

母語がRubyな僕に残念なのは、具体的なパターンになるとあんまりしっくり来ないものがあったことかな。Interfaceとか言われても想像しかできない。ベンチマーク用の簡単なフレームワークについて解説してあるAppendix AでだいぶJavaの勉強をさせてもらったのだけれど、たぶん要になるcomputTotalTime()の定義が見つけられなかった。そのうちまた探す。

これで、机の上に積み上がってるプログラミング関係の本は12冊に。どうしたもんだか。

てのひらにやさしいキーボード

このところ、仕事の合い間あいまに、新しく来たDell Latitude E4200の設定を続けている。 このマシン、なんだか疲れるんだよなあ、と思ってまず思い当たるのはタチパッド。 Linuxで自動的に設定された状態では、 タップして左クリックすることはできないのだけれど 右端のスクロールする領域は生きているという中途半端な状態になっていて、 けっこうとまどう。 でも、しばらくターミナルで作業をしてからてのひらを見てわかった。 MacBookと同じく、てのひらに厳しい設計になってるんだ。

左がE4200、右がX1

これまで使っているLatitude X1はキーピッチがすこおしだけ小さいものの非常にタイプのしやすいマシンで気に入っていた。E4200と比べてみると、上の写真*1のように、筐体の手前が薄く、さらに大きな面取りがしてあることに気づいた。

左がMacBook Pro、右がX1

ちなみにMacBookはもっとひどい。これで文章を書くとてのひらに赤いすじが付くよ。

左がHappy Hacking Keyboard、右がX1

Happy Hacking Keyboardはもちろんもっと分厚いけれど、てのひらに当たる場所には何もないので問題はない。

さて。Latitude X1にはハードディスクが山の上で使えない、という最大の弱点があったこともあって、E4200を導入したわけだけれど、どうしようかしらん。角のところちょおっと削ってもいい?

*1 ショッカー隊員は大きさの比較のために置いて…

[memo] Makefileの依存性を可視化する

makeをするとなぜか走ってほしくないターゲットが走る。 どうしてもそのターゲットへの依存性を見つけられないので、 graphvizで可視化できないか試してみた。

ちょっと調べてみると、Perlのgvmakeが使えるようだ。

というわけで次はCPANからのパッケージのインストール方法。 すみません。こんなことも知らないんです。 man perlから辿って、man perlmodinstall。ってあれ? 普通のtar ballをダウンロードして、perl Makefile.PLするのか。

Makefile-Graphviz-0.18からDownloadのリンクを辿って、ダウンロード、展開して、

依存パッケージがあるんだ。一般ユーザーでビルドしたくないので順番にやろう。

Test::More。えーと。perl-Test-Simpleかな?と思ったら、これはMomonga(まだ4)謹製パッケージがあるようだ。

次、GraphViz。これはPerlのbindingってことよね?

Makefile::Parserはrpmにはなってないみたい。

Makefile-Parser-0.211よりDownload、展開。

先は長い。 List::MoreUtilsはperl-List-MoreUtilsで、 Class::Accessor::Fastはperl-Class-Accessorで、 File::Slurpはperl-File-Slurpで、 Class::Triggerはperl-Class-Triggerでいいだろうか? perl-Class-Triggerは古かった。

IPC::Run3。perl-IPC-Runは入ってるから別のものが要るんだろう。 Makefile::DOMもRPMとしては、無い。

Class-Trigger-0.13。

しょんぼり。perl-IO-stringyを入れてみる。おっけー。

次、IPC::Run3。perl Makefile.PLで何か警告が出て、make testでskipされたテストがあったが、あまり気にせず、make install。

Makefile::DOM。Params::UtilとCloneが要ると。どちらもRPMとしてインストールできた。ありがとう、Momongaのみんな。

えーと、次、Makefile::Parserに戻る。make testに時間がかかるが、無事pass。

最後にMakefile::GraphViz。skipされたテストはあったけどinstall。

これでどうやって使うかというと、 man gvmakeより、ソースツリーのトップでgvmakeを実行すればいいみたい。

しょぼん。あれ、下記は通った。

いや、みーんなPHONYに依存しなくっても :)

もっとgvmakeのmanページを読むとmakesimpleを最初にするべきと。

…ってなんにも無いファイルにするのはどうかと思うよ。 じゃあincludeを適宜処理してくれることを願って、

だめじゃん。

いや、includeの分は自分でエディタで処理してみよう。…でできたのがこれ。元の大きさは6541 x 7111ピクセル。どうやって見ようか。

gvmakeの結果
本日のツッコミ(全2件) [ツッコミを入れる]
> kou (2009年03月20日(Fri) 18:24)

ショッカーすごい便利!

> zunda (2009年03月21日(Sat) 00:38)

しょうかー、こういう使い方もあったんだー!


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>