締め切り迫る
次の締め切りは、さ来週の月曜日。品質管理部がテストをするのに、今週の金曜日までに、大体のものは作らないといけないそうだ。全部で8項目あるが、出来るのは2項目だろう。先々週やった古い骨格モデルを次世代機にも使いたいと仰る南のほうのユーザーのための作業は、優先度が下がった。やっぱり目の前のユーザーのサポートが先だろうということらしい。売り上げも4倍ぐらいあるからね。色々なデータの構造を自動で補正する機能を入れることになった。こんな最下層の演算子にそんな贅沢なことさせてていいのかな、と思いつつ、コード追加。骨格をくるくる回して姿勢を一定に保ったり、位置情報を固定して、回転情報だけ操作したり。変換マトリクスとクオタニオン間の変換処理の誤差が大きすぎて標準ライブラリに頼れないので、自分でなんとかしなければならない。AIモジュールがこの誤差を含めてデータとして使っているので、きっと後で何か起こるな、これは。でも数値解析処理にこの誤差は、冗談のように大きすぎる。せめて10進数で3桁ぐらいの精度は欲しいな。
交差点のグリル
パーツショップの店員が、自信満々に、このCPUにはこれだ!と言っていたにも関わらず、結局Socket478用マザーボードABIT SG-72は、CeleronDをサポートしていないということだった。きっとBIOSをバージョンアップすれば動いたりするんだろうけど。手持ちに古めのSocket478CPUは無い。あるけど動いているPCから外したくない。ASUS P4VP-MXだとすんなり動いたので、交換してもらう。このマザーボード、某ショップの使用者レポートによると、安いかわりに不安定とか、音がろくでもないとか、悪評盛りだくさんだ。またもや、トラブルに巻き込まれる予感。後で調べたら、このASUSのボード、ABITのより1500円も安いじゃないか。しかも、ABITの最新バージョンのボードは、CeleronDを標準でサポートしている。サポートしていないバージョンはBIOSを変えてもだめだ。もうあの店にはいかないと決意したいところだが、あそこは結構レアものを置いているので、ちょっといたい。
Cube PCを組み立てる
先週、近所の店でリビングに置けるほど小さいけど安いケースはないか聞いたところ。AntecのAriaが一番安いということで購入。今日組み立ててみる。メモリは動いているAthlonXP機から流用。これは8年ほど前買ったMicron機のケースに入っていたもの。マザーボードは、ABIT SG-72。CPUは、CeleronD 2.4G。最も安い組み合わせだ。WirelessLANボードを付けて、リビングで色々楽しもうという訳である。ハードディスクは、手持ちの2台で160GB。夢は広がるばかり。このAria、色々金具が入っているんだけど、説明がほとんど無く、ここでじっくり考えさせられた。マザーボードを入れてからCPUを入れようとすると標準のファンが付けられない。CPUを付けてからマザーボードを入れようとすると、下の取り付け金具にマザーボードがこすられてかなり危険。PCIカードを一枚いれようとすると、PCIスロットのねじをいちいち全部外さないとまともには入らない、というお馬鹿な仕様になっている。ハードディスクの電源は、ねじを外してハードディスクをいったん取り外さないと付けたり外したりできない。Cubeケースの組み立ては、こういうことを楽しまなきゃいけないんだ、と自分に言い聞かせる。5時間かけてじっくり組み立てた。電源を入れる。CPUファンと電源ファンが回る。しかし、ハードディスクが動いていないし、画面になにも出て来ない。最近のボードはすぐ動くのでなめていた。周辺ボードを全て抜き、ハードディスクも抜き。電源とパワースイッチ、リセットスイッチ、キーボード、CRTだけつないで起動。そうだ初心に戻らねば。全く何も出ない。新品のAMD-K5で煙が出て以来のショックだ。返品しよう。
大体うまくいってるのでは
演算子のパラメータ、つまり引数では無くて、演算内容を修飾するものなんだけど、これ無しには演算出来ないと困るので、自動設定機能も活かしておいたら、うまく動いてくいれない。ここは将来無くなる部分だと思って適当作ったのが災いしている。結局、パラメータエディタでパラメータを必ず設定すれば動くということにして、今週の作業を終えることにする。このパラメータが巨大なのは、何か設計を間違えているのではとは思うが、他と仕様を合わせたほうが目立たないのでこのままでいく。当然、パラメータを非公式なフォーマットで読み込む機能も見えないように盛り込んでおいた。仕様の追加変更時のテストにはこれが武器なる。これは、QAチームが行う正式のテストでは当然使われない。まだ、メモリ解放時の問題が残っているが、メモリ関連のところはエンドユーザーがそれぞれ好きに定義するので、メモリ解放を必ずしてもらうということになりそうだ。ここだけ他の演算子と仕様が違ってしまうのは、どうかと思うが、すでに初期化が存在するというだけで、他と違うのだからしかたないか。