そうこうしている間に、協力会社に打ち合わせにいかなければいけない時間が到着。慌てて出発。打ち合わせを終わらせて、帰社したのは結局予定を1時間上回る22時であった。
ずがびーん
* トラブルはいきなりやって来る
ううう、この日記更新中に、nviが落ちました。しかもコアダンプ(涙) しかもコアダンプ後にttyが道連れになるおまけ付き。しょうがないので、telnetのコマンドモードでcloseして再open。が、日記データの格納されたファイルの長さが0byteになっている!!
…………か、悲しすぎる。すかさず vi -rでリカバリをかけようとするが、リカバリ対象のファイルがないといわれてしまう。しくしく。
* より事態は深刻に
/usr/tmp の中を確認し、編集中の日記データのリカバリファイルらしき物は見つけるが、バイナリファイルのため、そのまま抜き出すわけにはいかない。途方にくれていたとき、よく考えたら、nviを使っていることに気がつき、nvi -rと指示してみる。すると、しっかりファイルは復活したが、日本語部がちゃんと表示されない。実は私の使っている環境には、日本語化されているnviと、そうでないnviがインストールされていて、前者がpath上前にあったのでそちらが起動したらしい。(普段はaliasで起動しているのであんまり意識していなかった)どうせ、EUCを表示できずに16進表示しているだけだろうとかってに思い込み、そのままセーブする。今度は日本語化nviで開くと……。見事に化けたままであった。よくよく見ると、日本語部分はEUCコードではなく、謎の内部コードらしい物
になっていて、1文字あたり3byteと全体的に増えていることが判明。つまり復旧に失敗したことになる。
* あきらめきれずに
普通ならここで断念なのだが、なににせ、朝からちょこちょこ更新していって、バックアップも何もない状態なので、あきらめるにあきらめきれない。で、なんとか内部コードからEUCに変換しようと試みる。まず、日本語化nviのマニュアルを探す。が、見つからない(涙)いっそのことソースを解析しちゃろうかとも思ったが、なににせバイナリインストールしてるので、ソースがない。しょうがないので、hex dumpとって、なんらかの演算をすることでEUC化できないか、考えてみる。ビットを立ててみたり、下4bitを比べてみたり……。うまくいかないのであきらめかけていた時、よくよく見たら、0x8aを前置し、その後にJISコードで2byte
っていう単純な形になっている、ということに遅ればせながら気がつく。内部コードがEUCベースだっていう思い込みが敗因だった(笑)で、すかさず「Hex dumpを読み、0x8aだったら、それを読み飛ばした上で、次の2byteの最上位ビットを立てて出力*2。そうでなければそのまま出力」というperlスクリプトを作成。復旧に成功。ココまで約3時間。(涙)
開発品質計画書
今のプロジェクトの開発品質計画書の作成。基本的にひな型をカスタマイズするだけなんだけど、変更する項目が多くて大変。
障害対応
1つ前に設計したシステムの二ヶ所目の本番展開の状況と、一ヶ所目の展開場所での障害について、保守担当の後輩と打ち合わせ。本番展開対応は特に問題もなく終わったとのこと。障害については、状況についていくつか聞き取りをする必要があると判断。顧客への電話聞き取りを指示。
商談
なんか、昔作ったシステムの機能強化の内示が発注元からある。でも、いま私はちょっと動けない気がするので、どうしたものか。一応上司に報告だけしとく。日程は後日調整。
昼食
レストラン森永のお弁当。今日はハンバーグ弁当を買った。可もなく不可もなく。
うーむ
いきなり夕方に打ち合わせが2件も入ってしまった。19時に協力会社へ行って、21時に本社へ戻って見積の聞き取り。当日アポは厳しいなり。
出社
風呂にはいって8:10自宅を出発。バスがすでに来ていたので走る。8:18行徳発の東西線に乗る。ぎりぎりセーフで出社。
起床
目覚ましがなって6時に起床。でも眠いので7時に再設定してメールチェックのみして二度寝。
7時に起床して、お風呂をためながらメールの返事をふにふにと書く。が、MLに登録してある自分のアドレスが間違っていたので跳ね返ってくる(涙)再設定して再投稿。
天気
はれ