2009/02/26(木)PCを新調するなら

赤茄子がPCの新調で悩んでるので俺的にも考えてみた。

PCヲタとしては:
  • ファイルサーバを用意する
  • Windows機はちっこくて静かなやつ。 AMD のグラフィック統合チップがいい
というのがいろいろ便利。Intelの統合グラフィックは○んこ。

ノートは個人的な趣味に世間と隔たりがあるので割愛。

学生さんが持ち出しつつ論文とかで本気で文章を打つなら ThinkPad, Sony の B5 ノートが良いんじゃないだろうか。
メインにするのに 5〜6万の NetBook は絶対ダメ。

外に持ち出す事が多いなら Sony Style のワイド保証は安心。高いけど。
保証自体は内容と比べたら安いくらいだけど、直販なので量販店の割引がない価格になって本体価格が高い。


実際の買い換えは2年以上先の予定なので適当。

2009/02/17(火)宗教派閥

某イカのコードを読まされた。帰ろうとした時に呼び止められて。
  • C な人は定数マクロを好む
  • C++ な人は enum や static const で定数を定義する
という宗教論を思い出した。

しかしこれはヒドイコードですね。マジックナンバーガツガツ入ってるし。
とりあえず、コンテンツの鮮度を表す enum 変数をビット演算できる形に定義しなおしたいと強く思った。
if (hoge < 200)... ってナンダヨ。そこはさー、if(hoge & FRESH) ... とかしたいだろ。将来的に FRESH と STALE だけじゃないステータスを追加したくなったらどうするんだよ。
大体 200 とかコードに書くなよ。ステータスコードの 200 OK かと思うだろ。

ていうか無名 enum なの?
関数の返り値をこの型で定義した方がナイスじゃね?
マジックナンバーバリバリなコードなので、そのうちマジックナンバーで値を返すバカが現れるかもよ?enum 型を typedef しとけばそんなバカの出現が防げるよ?

とってもバザールでござーるな体制がよく分かるコードですね。

2009/02/16(月)古い話だけど ZFS boot

Solaris10 10/08 では ZFS ブートができる。
x86 では GRUB が zfs を理解することでブートが可能になってる。

つまり、だ FreeBSD も zfs.ko をモジュールで持つんでなく、
  • zfs をカーネルに組み込む
  • GRUB で loader でなく kernel を直接引っ張りあげる
=> ウマー

ってことにならないだろうか。
特にそんなことを言ってる人を見かけないのでならないんだろう。

2009/02/01(日)件のマザーが飛んだ etc...

ディスクの応答が止まったりと調子の悪そうだったマザーボードが飛んだ。買い換えたマザーで突然死が起きないかしばらく様子を見てみよう。
別にワザと壊したわけじゃないよ?

オンボードのグラフィックを使い始めた。今までグラフィックカードを挿していたのは高性能な描画が欲しかったんではなく、RADEON だと画面がチラついていたのが理由。しかし、原因は変形ディスプレイの Mode Line 設定を間違えていたことらしい。設定を直したらチラつきは消えたので、オンボードのグラフィックで充分になった。
恐ろしきは DVI の規格を超えるデータ量を流し込まれても平然と処理する GeForce の底力よ。
グラフィックカードを外したのでファンも一つ止めたらスゴイ静かになった。

で、FireFox3 で大幅に改善されたはずのパフォーマンスが悪かったり拡大、縮小表示される画像が乱れて表示されていたんだけど、X.rog 7.4 祭りのついでに portupgrade -fa してみたところ、バグも消えてパフォーマンスも良好になった。何がいけなかったのかは不明。ついでに linux エミュレーション関連の ports を掃除したのでこの辺も微妙に影響してるかもしれないし、何かのライブラリに依存するものをリビルドする必要があったのかも知れず。

X.org 7.4 祭り:
dbus, hal が標準になった。moused とのバッティングは解消されたということだが、hal + dbus 環境で moused も動いているとクリックイベントがおかしくなるようだ。クリックがダブルクリックになってるようなので同じイベントが両方から 2個飛んでる?
で、dbus + hal 環境だと USB キーボードが動かない。cannot open /dev/ukbd0 らしい。デバイスファイルのパーミッション変えてみたりしたけど改善ならず。AllowEmptyInput オプションを有効にしても、hal が生きているとうまく行かないようだ。
まだ本腰を入れて調べれば何かわかりそうだけど、とりあえずは dbus, hald を止めて xkb と moused なレガシー環境で使っておくことにする。