/var/log/hdk.log

2007 年 3 月上旬


01 (木)

%1 実験実験

結構忙しいです。 するだけでも大変だけど、 バグが見つかってなおしながらだからねぇ。

sock_no_sendpage というのは、 普通の sendmsg を呼ぶらしい。 単にエラーを返してるだけかと思って、 適当に -EINVAL とか返してたら、sendfile が 動かないでやんの。

%2 スーパーパズルボブル

WX310SA 付属のゲーム。Round mode で 30 万点くらい 行けるようになった。 色の区別は難しいが、 ぷよぷよ系のに比べたら時間制限が緩いので、 画面を見る角度を変えたりすることでなんとかなる。 種類がわかってないとまず無理だけどな。

%3 きょうは

映画の日だけど、 結局みにいかなかったよ。

研究室の複合機が謎のエラーを出して止まった。 しかも再起動しても改善されない。 保守の人にエラーコードを伝えると、 これはハードディスクのエラーらしい。 そんなのが入ってたのか!

いつもの保守の人がきて、復旧。 たぶん fsck みたいなことをやったんだと思うが、 ボタンをいくつか同時押しみたいなのをぱぱっとやって、 管理画面みたいなのが出てきてた。 エラーコードの意味とか、管理画面の操作とか、 さすがに中の人じゃないとわからなさそう。 と思ったけど、エラーコード E000602 で検索すると出るね...

それで、明日ディスクを交換してくれるらしい。 そのときに再インストールが必要で時間がかかるらしい。 ディスクもごく普通の日立とかの 40GB 程度の ATA の HDD だし、 これはパソコンか? (^^;

2007/03/01 のコメントを読む・書く


02 (金)

%1 unicode(7)

Manpage of UNICODE より...

UCS は他規格の文字集合の文字を全て含んでいる。さらに、 双方向の互換性 (round-trip compatibility) を保証する。例えば他の符号から UCS に変換しさらに元の符号に変換したとしても、何の情報も失なわれないように変換テーブルを作成することができる。

そんな変換テーブルがあったら教えてほしいもんだ。 世の中で使われてる Unicode は、例えば ISO-2022-KR のひらがなや 記号の一部と ISO-2022-JP のそれを 区別しないし、CJK 用の文字幅を使っていると、例えば ロシア文字が全角になってしまいロシア語の文を表示すると横長に出てしまう。

%2 複合機

研究室の複合機。2 時間くらいかかってハードディスク交換されました。 再インストールというよりは、 バックアップしてから交換してリストアをしたらしいです。 ディスク壊れてたら無理だけど、 時間がかかったもののエラーなく読み出せたそうで。SONY の ノートパソコンを直接つないでなんかやってました。

%3 LGPL

GNU GPL はそれなりにまじめに読んだけど、GNU LGPL はあんまり まじめに読んだことない。 ちょっと調べたところによると、 リバースエンジニアリングを禁止してはならない、みたいな 条項があるらしい。

MAME は非商用利用のみか。んー。

2007/03/02 のコメントを読む・書く


03 (土)

%1 今日も迷って

地図見て、 ここで曲がってあとまっすぐ行けばいいんだなと思って、 実際に行くと、 曲がる場所を間違えているのに気づかずうろうろし、 方角がわからなくなり、全然違うところに出てる。 よくあることだ。 ほんと方向感覚ないな。

%2 BASIC

Gambas というのがあるらしい。ports に あったので入れてみたが、KDE 関連のライブラリの構築に 時間かかった。 簡単にいうと Visual Basic みたいなものだ。 いまいちなのは、Xinerama 環境がまるで想定されていないような挙動か。 ディスプレイふたつ横に並べてる環境だが、 ど真ん中に出されるウィンドウはまっぷたつだし、 両端に出るウィンドウもどうかと思う。 あと、ちょっと試してただけなのに SEGV で落ちたのはなんでだろ。

HBasic というのもあるらしいんだが、ports になかったので試してない。

Mono 1.2.3 は Visual Basic と同じ言語が使えるらしいのだが、 デザイナがないといまいちじゃね。

Yabasic は CUI ならシンプルで魅力的だが shell 命令ないのか。 一応名前付きパイプの入出力はできた。

2007/03/03 のコメントを読む・書く


04 (日)

%1 PowerBook

PowerBook って左右の Shift, Command か区別されないのね。Linux の 場合どちらも左側のキーとして認識されてるから、右側のは入力できないもんだと 思ってた。しかし偶然、発見してしまった。デフォルト状態の Linux 上の XFree86 の 場合以下のようになる。

なんで発見したかというと Eject キー、すなわち Meta_R を KTerm での 貼り付けキーにしてあって (Insert キーがないので不便だからね)、 たまたま押した fn + Command キーで貼り付けが実行されたからであった。 いろいろ試してみると、fn + return が enter なのは 知ってたが、fn + enter も謎のキー (シンボル無し) が 割り当てられているようだ。

%2 Perl の Curses.pm を使ってみるテスト

たいしたことはないのだが、日本語情報少なすぎ。

use Curses;

initscr;
cbreak;
noecho;
$win = new Curses;
$win->keypad(1);
$win->addstr(10, 10, 'foo');
$win->move(1,1);
$win->refresh;
while(1) {
        $a = $win->getch();
        last if ($a eq "\e");
        $win->attron(A_REVERSE);
        $win->addstr(11, 10, sprintf("%s     ", $a));
        $win->attroff(A_REVERSE);
        $win->addstr(12, 10, sprintf("0x%x   ", ord(substr($a,0,1))));
        $win->addstr(13, 10, sprintf("0x%x   ", ord(substr($a,1,1))));
        $win->addstr(14, 10, sprintf("0x%x   ", ord(substr($a,2,1))));
        $win->addstr(15, 10, sprintf("0x%x   ", ord(substr($a,3,1))));
        $win->refresh;
}
endwin;

うむ。地味に便利そうだ。 時代は curses。KTerm のキーパッドのテンキーや Home, End キーが まともに検出されず、エスケープシーケンスが流れてくるのはご愛敬。 と思ったんだけど Home キーが ESC キーのコードしか出さないんだけど! なんなの KTerm!! (FreeBSD の KTerm だけの問題か...)

ちなみに Ruby にも Python にもあるらしい。Perl ってあんまり 好きじゃないのに、Perl, Ruby, Python の中では一番使えるように なってしまった言語かも知れない。Perl 大好きな人にはとうていかなわないが。

%3 SQLite

ってやっぱり便利そうだね。 ただ、型の概念とかほとんどないみたいなんで、 他の SQL でも動くように書こうと思ったらかなり注意が必要か。

INSERT の結果シーケンス番号が何になったかを調べるってのは 結構 SQL の実装によってやり方が違うようで、SQLite は rowid を 使うやり方。Oracle もそうなのかな。PostgreSQL は似たような oid というのが あったが PostgreSQL 8.1 以降はデフォルトでは oid がつかないそうだ。 なんだそりゃ。PostgreSQL でバージョンに依存せず使えるのは CREATE SEQUENCE って やつか。しかしこれは SQLite にはない。

%4 1. 円周率が 3.05 より大きいことを証明せよ。

こたえ見てしまってからいろいろ言うのもなんだけど、 もっと簡単にできるんじゃないかと思っていろいろ考えてみるんだけど、 たぶん自分だったら面積で解こうとして つまづくんじゃないかと思った。八角形だと面積では 2.8 程度に なってしまう。十六角形にすれば 3.06 程度になって一応大丈夫らしい。 が、十六角形の面積を手計算で求めるのって大変そう。

ほかには、x^2 + y^2 = 1 の式を変形して頑張って積分すれば、とか、 テイラー展開で近似すれば、とか、 ってそれは大学一年で習った解析学じゃないか? 大学入試でそれはないよな。

公式とかそういうのはあんまり覚えてないのもあるけれど、 やっぱり数学は楽しいね。

2007/03/04 のコメントを読む・書く


05 (月)

%1 あったかい

春ですね。

うちでごろごろしながら実験やってたら意外とはかどった。 このままマターリ夜まで... と思ったら先生からミーティングのメールが。

こういうの良さそうだよね。 でもなぁ、腕を上げてると腕が痛くなるもんなんだがなぁ。

%2 VMware Server

久しぶりに VMware 製品触ってみたが、 確実にエミュレーションしてるデバイスの数なんかは増えてるのだが、 妙に時計が不安定だったり (clock=pit noapic nolapic 等設定しても まだなんか変だったような)、 ちょっと重いような感じがしたり、 こんなだったかな。 まあ軽い感じのところもあったし VMware Tools 入れればいいのかも。 無料になったのは大きな変化。 ベンチマークしちゃいけないあたりは 3.3 あたりから相変わらず。

でも正直なところ、VirtualBox すげぇ。 デバイス数が増えると OS の起動時間は延びるはずだから、 仮想環境としてはデバイス数は少ないにこしたことないのかもしれない。 と、思ってみた。

2007/03/05 のコメントを読む・書く


06 (火)

%1 ホームセンター

山新グランステージに行くには、 東光台経由が早い? 信号に引っかかる率が少なそうな気がしたが たいしてかわらないかな。 研究学園駅の横を通ったほうが早いかな。 ま、今日は棚卸しとかで休みだったわけだがw

ホーマックがちょっと模様替えというか、 中の配置がかわってた。

%2 なか卯

いつの間にか松屋みたいな食券タイプになってた。 前は違ったよね?

%3 今日は

いつも静かな誕生日コミュがちょっとだけ盛り上がってる一日。

2007/03/06 のコメントを読む・書く


07 (水)

%1 誕生日 0x18 030 ( ^ω^) ブーン

だからといって何か特別なことがあるわけでもないのだが。

ケーキくらい食べたいな...

歯石除去。 歯医者さんのおすすめ歯ブラシは、GUM か BUTLER。 歯医者さんのおすすめはみがきは、なんでもいいです。 歯医者さんのおすすめ歯医者さんは、筑波大を退職した先生がやっている某所。

%2 おと

大人には聞こえない音/聴力検査FLASH (Mosquito Sound)。とりあえず、Linux 用の Flash プラグイン (か、 それが使ってる音声出力用の何か) は標本化周波数が 22.05kHz とからしく、 明らかに高い音が高い音になっていない。 そこで下のほうにある MP3 を試したのだが、 これまた 20,000Hz を超えているはずの音が余裕で聞こえるぞ。 これはおかしい。

どうやら、この前取り付けたサウンドカード CMI8738-4CHPCI か、 それ用の FreeBSD のドライバのどちらかが、しょぼいらしい。 オンボードのだと (ノイズはあるものの) ちゃんと 20,000Hz 以上は 聞こえなくなった。 しかし、18,794Hz 付近は聞こえる。 おかし... くはないのか? 昔 PC-9801RA で似たようなことを試したが、 この結果はたいして変わらん。 いや、前より良い気がする。 前は内蔵のスピーカーでビープ音で試してたから、18,000Hz 付近は ボリュームを限界まで上げて耳を近づけてやっと聞こえるくらいだったが、 ヘッドフォンと PCM 音源ではかなりの余裕を持って出力できているのだろう。

下はうちの (もらい物の) スピーカー + サブウーファーだと 50Hz 以下は 聞こえてこなかったが、ヘッドフォン (ATH-AD300) だと 40Hz あたりから なんとか聞こえる。30Hz あたりはなんとなく鳴ってるような気はするが よくわからない。25Hz は全くわからなかった。

%3 研究室ねとわく

ゼミの時間に絶不調な研究室のネットワーク。 調べてみると、PacketiX クライアントの keepalive の 送信先サーバが落ちてたことにより NAT テーブルがあふれる例の現象。 しかも誰が使ってるのか知らんが PacketiX クライアントが何個もあるからたちが悪い。 あれって、PacketiX サーバとクライアントの間のプロトコルに keepalive が 組み込んであればいいはずなのだが、 トンネルの外にも keepalive の TCP_SYN を投げまくる 大迷惑仕様がデフォルトになっているのは、 「楽しいから」とかいうくだらない理由だという。真偽のほどは定かでない。(が、少なくとも VPN 接続をひとつも確立していない時に 無駄パケットを投げ続けることのまともな理由はひとつもない。)

まあそれはともかく、そのままでは使い物にならないから、 とりあえず NAT やってるヤマハのルータでパケット落とそうとしたが やり方がよくわからないので、ip route 130.158.6.56 gateway 127.0.0.1 などという 設定を書き込んでごまかした。(これで keepalive へのパケットは No route to host と なって NAT に影響を与えなくなった。)

もうひとつは NoArpPolling も true に設定しようね。 これは、Windows のファイアウォールの設定しようねとか、 無線 LAN に WPA の設定しようねとか、OS をインストールしたら とりあえずいらないサービスは止めておこうねとか、 その程度のレベルの話だね。 必要になったら false にすりゃいいでしょ。

とかなんとか、使ってもいないソフトに対していろいろと文句を言うわけですが、 大学のネットワークなんて緩いもんでしょうねぇ。 情報系の学生は、ある程度のレベルの専門家集団になるわけだから、 いいんでしょうけど。 社会一般でこういうソフトの評価は当然厳しいよねぇ。 そういえば Hamachi や OpenVPN を使ってる人もいるけどそっちは全くトラブってないな。 これがクオリティの違いか。

2007/03/07 のコメントを読む・書く


08 (木)

%1 DHMO (Dihydrogen Monoxide) に反対しよう

ワラタ

%2 Xen

Xen の SMP をオフにするには nosmp。Domain 0 および Domain U は SMP サポート オフでコンパイルできる。

vif が適当に振られていて不便だと思っていたが、vifname というので 設定できるようだ。xmdomain.cfg は python スクリプトで解釈されるようだ。

%3 VirtualBox OSE

Windows XP ゲストで「標準 PC」になっていたのを、ACPI のやつに かえられないかと試行錯誤したが、BSoD になるばかりでうまくいかなかった。 対応しているはずなんだけどなぁ。

2007/03/08 のコメントを読む・書く


09 (金)

%1 実験実験

うー。 まだまだ書き換えないといけねーのか。

2007/03/09 のコメントを読む・書く


Powered by Tomsoft Diary System 1.7.4

/var/log/hdk.log コメント一覧

トップ / 日記索引 / 日記 (2007 年 3 月上旬)

Hideki EIRAKU