.古巣の LaVie MX だが、カタログにも APM 未サポートと書いてあるし、 BIOS のメニューにも電源管理の項目が一切無いので、 ACPI オンリーらしいぞよ。 .なんとなく、LOOX も ACPI オンリーっぽいのう。 早く S2-S4 (suspend/hibernation)サポートしないと、 PC-UNIX でノートパソコン使えなくなってしまうがな。 .…なんとなく Linux VM が一番簡単で、UVM はちょっと難しく、 Mach VM は非常に難しい、という気がしてるのだが、嘘かのう。 もっとも、NetBSD の場合は MI に作らにゃならん、 というある種の足枷があるので、FreeBSD より難しいかものう。 あるいは、X 動かしてる時に、ビデオチップの再初期化は誰がやるのか、 ってのを考えだすと夜も寝れないのだが。Win では、ビデオドライバが それをやるんじゃないか、という気がするし、もしそうなら、 それを X でやるにはビデオドライバを kernel に仕込むか、 あるいは X サーバに何かイベントを送ってやらんといけないわけよのう。 |
.帰り。こがさんと、ぬるっと化した SF .さて、最寄駅。 精算機にどっちを先に入れりゃいいのか良くわからんかったのであった。 わたしゃ実装屋なので、素直に実装した場合に一番都合のよい実装方法を 半ば無意識のうちに論理的に考えた結果、 定期を先に入れた方が「フラグが立ってない」ことから、 これが乗り継ぎであることが一目瞭然なので整合性が 取れるという結論に達したわけである。 よって、定期を先に入れようと思ったのだが、機械をみると、 「最初の券を先に入れろ」という有無を言わせぬニュアンスの記述があったので、 釈然としないもののその記述を信用し、ぬるっと SF カードを挿入。 何か表示が怪しげなものの、何かの入力を要求していたので次に定期を挿入。 すると、しばし考え込んだ後(←これ結構不安を感じる)、 ちゃんと SF カードから 160 円だけを引き、 0 円の精算券を返して来た。をを、賢いではないか。 |
.今日買った CD :
.1 だが、これは非常に素晴らしい。 恐らく、今年の Swing Journal の大賞はこれになると思う。 去年のキースジャレットのソロアルバムは、 ちょっと今一つで心配しておったのだが、 これは文句なしにキースジャレットの音でござるよ。 キースジャレットがここまで弾き倒すのも珍しい。 .2 はまだ聞いておらず。 |
.バカ増殖中(笑)。もともとのポストはもちろんのこと、 あれに反応すること自体が net abuse だと思わんといかんぞ。 もっとも、あの ML の存在自体が net abuse 臭いけど(ぉ \ |
.ぎゃははは、HUNTER×HUNTER、 4 ページ目からが下書き原稿でござるよ。 仕事するのがよっぽど嫌なんだろうなぁ。 そんなのアシ君にやらせちゃえばいいのに(笑)。 とりあえず、仕事するのが嫌でも引き受けた以上きっちり仕上げる 鳥山明を見習いましょう(3点)。 .ヒカルの碁は和谷×ヒカル。しげ子ちゃんかわいいぞ(←ダメ人間)。 .…他に読むところ無いんですけど(涙)。 |
.うーむ、iconv でござるか…。 Citrus の目標としては、iconv と locale の mb ⇔ wc まわりの 統合というのがあるのであった。 iconv の処理というのはとどのつまり、
ということなのだけど、この、外部ストリームを parse して分解したりとか、 内部ストリームから外部ストリームを合成したりする作業は、 実は locale の mb ⇔ wc まわりと大した違いはなかったりする。 .しかしながら、世の中にあまたある iconv 実装は CSI になっておらず、 内部ストリームとして UCS4 (つまり 32bit 整数の配列)を 使ってるのが多かったりする。これはダサい。 まあ、glibc みたいに、逆に iconv と locale の mb ⇔ wc まわりを Unicode で統一するというやりかたは、ある意味潔いのだが。 .さて、我々はどうするべきか。もちろん CSI は維持しなければならんのである。 ここで一つ触れておくべきことは、 大抵の外部コードは複数のキャラクタセットを合成したものに なっているという点。 たとえば EUC-JP は ISO-8859-1, JISX0208, JISX0201, JISX0212 から成るし、SJIS は JISX0201 の一部と JISX0208 から成る。 もし、EUC-JP や SJIS から Unicode へ変換する場合、 各文字に対して単純に通し番号を付けて変換しちゃっても悪くはないのだけど、 それは非常にダサいし空間の無駄が大きい方法なので、 普通は各キャラクタセットごとに変換するわけね。 .ところが、この「分解してから変換する」というのが 結構曲者だったりするので、ダサい iconv 実装では 「キャラクタセットごとに分解してから一度 Unicode に変換」 という方法を取る。 こうすると「Unicode キャラクタセット」という単一の キャラクタセットとの間の相互変換に帰着できるから、 問題が単純化するんですな。 そのかわり、Unicode に思いっきり依存してしまうのだけども。 CSI を保つためには、ちゃんと分解したままの状態で変換しないと いけないのだけど、効率を考えると、どういう粒度で分解するのが良いのか、 いまひとつ判然としない。 つまり、上のグラフのフロー制御をどういうふうにやるか、 ということなのだけど、具体的には、「一文字ずつ分解しながら変換」から 「全部分解して一気に変換」までさまざまな方法が考えられる。 一般的に言って前者は遅いし、後者はメモリを食うわけですな。 同じような分解を必要とする X のフォントセットの扱いなんかはこの中道で、 「同じキャラクタセットが続く間をひとまとめにして扱う」という方法を 取っているのだけど、ここでもちろんそういうやりかたをとることもできる。 .さーて、どうしましょうかね。 |
.コアタイム明けに秋葉。購入物:
|
.そうかぁ、おーごしだったのかぁ(謎)。 きっとわざと分るようにやってるんだろうね(笑)。 そもそも金髪の人は、あっち方面で何か言う時は ogochan@以下略 で メール投げてたと思うぞ :-) |
.私の記憶が確かならば 、 perl の sleep には小数が渡せます。 |
.…見かけ上今月の給料が謎の大台に乗る :D。 交通費の支給と、給与体系変更に伴う 9 月分の差分の上乗せが 重なったからだが。今月末にはボーナスもあるし、 非常にコストパフォーマンスが悪い生活をしているはずなのに、 いつのまにか残高も見かけ上謎の大台に乗るのう。 |
.厳密さは求めてません。 .などということを一年くらい前に考えたことがあったので、 今日の帰りのバス内で考えを文書化。 もうちょい完成度を上げてから振ろう。 .脳内ダンプメモ:例: euc-jp から utf8 への変換における構成要素案。
.…とりあえず、so とかそんなもんは使わんで、 たとえば「euc-jp から utf8 決めうち」みたいな プロトタイプでも作るんだろうな。 こういうことをやるために去年の今ごろ dynamic loadable class framework を 作りかけたのだけど、まあそこまで大げさにするまでもないでしょうな。 |
.指数関数ですがな 。 どんな音でも 2 倍するとオクターブ上がるのだから、 オクターブの間の各音は対数を取った時に等間隔になってないと、 どんどんシと次のドの間隔だけが広がってしまいますがな。 具体的には、C * pow(2,n/12) とか表される。 ちなみに、普通は必要な精度でテーブルを作ってしまいますが。 .これは、心理学のウェーバーの法則というやつです。 人間は、いろんな物理的刺激を対数で知覚するように作られてますので、 音程は 2 の対数だし、音の大きさは dB という単位で表すと具合が良い。 こうすることによって、ダイナミックレンジを広く取ってるわけですな。 |
.眠かったのだが、6:30 くらいまでいぢりまわす。 .…Riva128 に付け直しても同じところで落ちるんですけど…。 AGP かのう。ちゃんと 66MHz になるように設定してあるのだけどのう。 ちなみに落ちるのは、 Once more Again で画面が白くフラッシュするところ(←意味明瞭)です。 それとも、インストール法がインチキだから (Win98 入れ直してゲームのレジストリだけ継承した)かのう。 WinMe でも入れようかと思ったら、 「HDD に古い Win が入ってるからアップデート版じゃないとダメよん」 とか言われる。ブッ殺す。ハトビーム(←謎) .とりあえず、帰ったらうちの腐れ Mystique を PCI に挿してみよう…。 .うーん、ATX なミニタワーケースを買って来て、 古いマザーを Win 専用に回すのが一番安いかな…。 今使ってるミドルタワーは、電源容量が大きくて Dual には良いのだ。 ただでさえ本やらキーボードやらがらくたやらで狭い部屋なのに、 どんどんマシンが増えてくんですけど(涙)。 |
.しかし、昨日のプロ野球ニュース見てたらすごかったねぇ。 あからさまな誤審が 2 つもあったよ。 一つは一塁のタイミング。どーみてもセーフ。でもアウト。 もう一つは二塁のタッチ。どーみても追いタッチ。でもアウト。 特に、後者は試合の勝ち負けを左右してたと思うぞ。 .さっさとビデオを導入すれば済む話なのに、 審判神格論みたいな実態が全く伴ってない精神論とか、 「ゲームの流れが妨げられるから」 とか妙な理屈こねてビデオの導入を渋ってるから、 星野監督から「審判はフェアじゃない」とか言われちゃうんだよ。 実際には、たぶんアンフェアなことなんてないんだろうけど、 でもフェアなら信頼性が低くてもいいってわけじゃないぞよ。 見てる方もやってる方も気分悪いと思うぞ。 .こういうのは、がしがしマスコミが叩かなければいけないよ、ホント。 |
.うーむ、どうも私の買った個体が外れだった気がする。 .腐ってる症状 1 :シングル CPU の正しい設定で Win98/Me/FreeBSD を起動、そのままシャットダウンして電源切り、 10 秒後に再度電源を投入すると、けたたましく BEEP 音が鳴って、 BIOS の初期化すらできないことが多い。 数分待つと直るみたい。 .腐ってる症状 2 :シングル CPU の正しい設定で、 Win98+DirectX 7 の Diagnostic の途中で刺さる。 ちなみに、Mystique(PCI), Riva128(AGP), G200(AGP) のどれも 同じ刺さりかたをするので、ビデオカードではない。 .そもそも、Celeron 300A を 300/66 でシングルで動かしても 安定動作しないんだもんなぁ…。 .… BIOS アップデートしてもダメでした。 しゃあないので古いマザーに戻しましたとさ (;_;) |
./2 さん迎撃でふぐ@三浦屋。 うまかったですにゃ。でも、鍋は煮すぎでちょっと失敗風味。 ひつまぶしもうまいにゃー。やっぱり、関西風の香ばしい鰻の方が好みだにゃ。 .その後、ばるさんちで MU-2000 試聴。歌ってますがな。 .帰り。ぬるっと関東を駆使して新大塚→後楽園→武蔵小杉と帰る。 途中後楽園の地下で武蔵小杉行き最終 00:05 を待っていたら、 matsumot さんに出会う。うへー、土曜日のこんな時間までお仕事ですか。 やっぱり 7F は(以下略)。 |
.ほう、そんなに安いのか 。 この動かない ACPI を動かそう、にはもってこいかも…。 |
.壊れる壊れないじゃなくて、安物は動かないことがあるのです :D 。 NIC は最低 5000 円くらい出さないとまともなものは買えません。 5000 円出しても 2114x は避けた方が無難だが。 蟹さんとか VIA Rhine はほんっと安かろう悪かろうで、 パフォーマンスでないし、場合によっては安定動作しないし散々です。 いいつつ、私は VIA Rhine の乗った、一枚 1000 円の赤 NIC を 愛用してたりするが、これとて金さえあれば買い替えたいのは確か。 .今買うなら、秋葉でバルクが比較的安く出回ってる 3c905B-TX か、 fxp なボードのどっちかでしょうな。両方とも 5000 円台中ごろのお値段。 905B はたぶん現品限りの気がするのでお早めに。 3com のボードは、高いけどまずまともに動く。 どうも Solaris for Intel だとダメとかいう噂があるけど、 それはそもそも Solaris for Intel が腐ってるんだから仕方が無い :D .そうえば、蟹さんは $3/chip らしいのう。どおりで 980 円とかで NIC が 作れるわけだ :D |
.インストールしてリブートすると、no /dev/console とかのたまうぞよ。 .ああ、xmisc.tgz が無かったから途中で止まっちゃったのね。I see 。 もいちど CD から起動して MAKEDEV all 。 |
.俺ブースのマシン構成を変えてみる。以下リスト(予定含む):
.この他に、alpha 433MHz な NT マシンやら、K6 166 MHz なテストマシンやら MMX 166MHz なテストマシンやらがいるけど、こいつらは現状維持。 .…これで FreeBSD を私の身の回りから一掃 :-)。 まあ、使ってないものの kotori には入ってるし、 必要に応じて研究用マシンにも入れるだろうが。 .…あ、CVSup どうしよう(←バカ)。runsocks 使うから、 static link 版というわけにもゆかんし… .うーん、Modula-3 を NetBSD で動かすのは、FreeBSD からパクって来ると 実はそんなに難しくないんじゃないか、という気はする。 ブートストラップだけ FreeBSD の m3-boot コンパイラを借りるとして、 多分、一番めんどいのは m3/m3core/src/unix/freebsd-2/ 以下を NetBSD のヘッダに合わせて書き換えることなんじゃないか、という感じ。 .…ま、めんどうくさいから compat-freebsd だな<弱過ぎ .aoi に入ってないもののリスト(括弧は必然性の無いもの): |
.甘いっ、甘すぎるぞ .まあ、あるに越したことはないし、 知らんといざという時に困る知識もあるのだが、 ただ、大抵はそれそのものの知識は無くても、 情報の調べかたさえ知ってれば済んだりするのがお仕事ですな。 |
.テーブルのトータルサイズを最小にするには、UCS2 → ISO-2022 を 1 テーブルで やった方がいいのだが、例えば EUC-JP では C や K より J を優先する、 というような変換をするためには、UCS2 → JISX0208、 UCS2 → KSC、とかを別々にした方がいいね。その方が実装も楽だし。 UCS2 → ISO-2022 を 1 テーブルでやる方法だと、必然的に ISO-2022 系は 一つのエンコーディングスキーム系列として扱うことになるので、 あまりカッコ良くないな、という気がするのであった。 |
.世の中どうせそんなもんだ(←暴言) 。 私は理系モノはだいたい平気だけど、 文系モノになると小学校で習う漢字 1000 字とかすら怪しいし、 そういう意味では大差ない。 .ま、今時、そんなダサい就職試験やってるような企業の方が以下略だよな。 そりゃ、N 社の技術系みたいに算数(not 数学)の試験が出るのも それはそれでアレだけど、 あれは「技術屋としてよっぽど向かない君」を落すための試験だから、 まだ意味があるよ。 .ちなみに A 社は基本的に面接だけで決まるのだが、 新卒中途とも謎の SPI テストみたいなのを受けさせられて、 これがよっぽど酷いと落ちるらしいぞよ。 いずれにしろ A 社は面接を通るのが非常に難しい。 まず一次面接で i 永さんにバシバシ落されるらしいぞよ(ぉ。 …そうえば、今は jin ちゃん面接(a.k.a. 社長面接)ってあるんだろうか。 今は社長乱立状態だから、そろそろ差別化を計って総帥とか名乗ればいいのに(ぉ。 .…4F はいつになったら人が増えるんでしょうか(涙)。 |
.COMPAT_FREEBSD にしたが、動かなくて悩む。 runtime error で落ちる。しかも libm3 。 .該当部分のコードを読む(libm3/src/uid/POSIX/MachineIDPosix.m3): .…おいおい、勘弁してくれよ、 これじゃネットワークインターフェース 11 個で溢れるやんけ (buf の宣言を参照)。これだから PASCAL は(←えらい偏見)。 GENERIC カーネルだと ppp やら tun やら gif やらが認識されるので、 2 枚 NIC を挿してる aoi だと 12 個もインターフェースがあるのであった。 .カーネルを再構築して解決。ちゃんと C で書いてよ… .…でも、何で list.ifc_len/BYTESIZE(struct_ifreq) が 11 超えるんだろうな。 謎だ。 .…原因わかりました。 .まず、SRC Modula-3 の問題点。 根本的に libm3 の上のパートは SIOCGIFCONF の叩き方が 間違ってます。昔は上記の方法で良かったようですが、 おそらく 4.3BSD → 4.4BSD のタイミングで SIOCGIFCONF の セマンティックが変更になっていて、もはや ifreq は固定サイズの レコードとはなっておらず、sockaddr の実際のサイズによって長さが 変化するようです。4.3BSD セマンティックの SIOCGIFCONF は、 COMPAT_43BSD が有効な時だけ、OSIOCGIFCONF として参照することができます。 .で、NetBSD の問題点その 1 。上記の SIOCGIFCONF のセマンティックの変更に netintro(4) が追従してない。もっとも、これは 4.4BSD のせいだと思う。 .NetBSD の問題点その 2 。SIOCGIFCONF のセマンティックを さらに最近変えた形跡がある。sys/net/if.c の 1.69 までは、 SIOCGIFCONF の ifc_len には 「実際にバッファへと格納したバイト数」が戻って来ていたのですが、 1.70 からは「全部の情報を格納するために充分なバイト数」が戻るように なりました。これによって、上のコードが動かなくなったわけですな。 この仕様自体は reasonable だと思うのですが、 こんな incompatible な変更をする時は、ちゃんと番号変えて欲しいなりよ…。 .…さーて、どうしたもんでしょ…。 |