美味しいざる蕎麦が食べたい
今日は驚くほどたいしたことができなかった。南の方のお客さんへの対応は、ショーンが会社に来てからということで、こっちのほうの大口のお客さんの対応を始めた。マイケルは先週土曜日に来て続きの作業をやると言っていたけど、結局何もやっていなかった。できるだけ放置して自分でやってもらうようにしたが、進まないので横に座って様子を見る。だらだらやっているともう昼になる。ランチに出て行ったので、デバッガを起動して中身を見てみるとデータ設定が中で食い違っていることを発見。データ生成だけ任したのに。データの生成し直しを待っているよりも、こっちのプログラムで矛盾をはねのけるようにしたほうが早いので、こちらで無理矢理押さえ込むことにする。ランタイムコードに無駄なデータ領域や処理が残ることになるのが気がかりだ。並行してショーンと相談して、他のツールに頼らなくてもランタイムのデータが生成できるようにした。さらにそれに並行して、ブライアンに助けてもらい、大口のお客さん向け改造を進めた。お客さんの反応待ちという状況までこぎつけた。エディタを改造しろとか、余分な操作を減らせとか、操作ミスしたらリカバリしろとか、色々言われるが。そんなこと全部してたら、リリースが遅れるだけなので、剥きだしなっているエンジンに色々付けて、問題があったら無視するようにした。とりあえずやたらと頑丈だけど、その代わり周辺の問題に気が付くのに少し時間がかかるだろう。ということを同時一斉に一人でやっていたら、突然、マッハGOGOGOの剛人形が目の前に置かれる。これは、開発ブランチに好きに自分の成果をアップ出来るという権利を与えられたという印だ。いまそれを置くなよと言いたくなるのであった。
肩まで湯につかりたい
今週はあまり仕事がすすまなかった。今回のリリースから外れた部分をやっていると、メモリ管理に関する元々の操作手順に問題があることが分かり、色々修正がかかったのでそれへの対応に追われた。というか追われているポーズを取った。でもメモリ領域の廃品回収処理への対応が問題で、そこは棚上げ。一番売り上げの多いお客さんのサポートが入ったので、始める。取りあえずエンジンに近いランタイム部分の実装を終えると、テストデータは別に必要だと言われる。ということは全部作り直さないと行けないと言うことか。で作業を始めると、今度は南のお客さんのための作業が入った。来週できるだけ早くリリースして欲しいとのこと。演算子の初期化の受け口がどこにも無いので、遅延評価処理で嫌々ながら初期化処理を行っていたが、ローダーがメモリ内にセットするから心配するな、と言われ、一気に削除。そのすぐ後、やっぱり一部セットできないと言われ、また遅延処理を復活させる。このお客さんのテストデータも別途作成必要だ。来週ちゃんとテストデータ手にはいるのかな。テストの当てがはっきりせずに、コードを書くのは嫌だなあ。
牛丼食べたい
インクリメンタルなマトリクスのブレンドっていったい。いつどのようにブレンド係数が変わるかわからないというわけだ。マトリクスの回転要素とかスケールとかいったいどのように考えているのかなんて言ってられないので、安全策として、クオタニオンに全部変換して片づけようと思っていた。すると、突然微分処理をブレンド機能を使って行うユーザーもいるようで、それもできない。結局、最も乱暴な方法で処理することにした。終端処理を担当する関数群を見てみると、結局クオタニオンもここでハッキングしてなんとか話を納めようとしている。ここで同じようにハックして最終処理を押し込む。ここまでたどり着いたユーザーは、ある程度使えるかもしれないマトリクスが得られるわけだ。これのテスト方法を皆に聞くと二転三転、そうこうしているうちにバグや、忘れていた処理を見つけた。結局締め切り20分オーバーでコードを統合。その後皆がどんどん修正を入れてこっちのコードが動かなくなるので、結局帰れたのは8時だった。