泊り明けで仕事するものの、今一つ効率上がらず。 上の人に早く帰って寝ることを勧められたので、 19:30 終業。
このところの無茶が祟って朝起きられず、午後から出社。 出社したはいいけど頭痛がする。
仕事の状況はただでさえ絶望的スケジュールなのに、 freeze したはずの仕様に変更が入ってくるし...。
今晩も会社に泊り。 自宅に帰って寝てしまうと起きて会社に出てこれそうもないので止むなし。
当初、休日出勤の予定だったが、体がもたないので休みにした。
ということで、一日寝て過ごす。
起床は 06:00。 昨晩は取手行きの最終に乗って、天王台からタクシーで家についたのは 02:00 ちょっと前だったんだけどなぁ...。
現地作業で八王子。朝10時から作業開始ということで、 07:00 前に家を出る。むちゃくちゃ眠い。
サーバ側トラブルで作業にならず。 やむなく昼前に作業を切り上げ、帰社。 作成が終ってない部分の仕上げ作業。 でも、睡眠不足で能率上がらず。
自社にて修正・テスト。
1999/10/11 に cdrdao の作者、 Andreas Mueller 氏から 「xcdrdao から SCSI のスキャンと cdrdao のコントロールするコード加えたけど OS 依存の部分だし、FreeBSD の環境ないから試して」 というメールが来ていたことに今日になってから気付く。
ここんとこむちゃくちゃ忙しくて英語のメールは読んでなかった...。不覚。
早く返事書かなきゃ...と思いつつ、時間が取れず
気力がなくて放置しておく。
現地、八王子にて調整・テスト等。 10:00 現地入り、21:00 過ぎまで。
帰宅は成田行き終電。
ここ数ヵ月は全然メンテしていなかったけど、 Libretto の PCM 機能を FreeBSD で使うための設定について書いたページを 読んだ人から感謝と報告のメールを頂いた。
忘れないうちに返事しなくちゃ...と思いつつ、時間が取れず
気力がなくて放置しておく。
体がもたないので、休日出勤をやめて自宅療養。
cdrdao をちょっと build するだけでも build してみようと思い、 まずは gtk-- の up grade。 数日前に gtk-- の port が1.0.3 に update されているのでこれを使おうとする。
が、MASTER_SITE にもなぜか 1.0.3 はない。 止むなく 1.0.2 を使うことにして、port の修正。 send-pr すべきかなぁ。
gtk-- の準備ができたので cdrdao 1.1.3.pre.9 を build 。
Mueller 氏によると gcc 2.95 でも問題なく compile できるよ、 とのことなので env CC=gcc295 CXX=g++295 sh ./configure して gmake。 が、程なくエラーでストップ。
ちょっと考えて、pccts を最新版に入れ替えて再試行。 今度は問題なく動く。
ふむ。 xcdrdao から SCSI bus scan して CD-R ドライブをきちんと見つけてる。 toc file とデータファイルを用意しといて simulate 。 cdrdao をうまく起動は出来ているものの、pipe による xcdrdao - cdrdao の通信があまりうまくいっていないらしく、 進行状況を示すはずのウィンドウの progress bar は働かず。
...といったことを Muller 氏にフィードバックする。
朝から休日出勤。成田行きの終電の一本前で帰宅。
xcdrao/cdrdao の件で Mueller 氏からお返事があった。 さすがに 1 週間経ったあとだけにあちらでもさらに手を入れているらしい。
大きな変更としては、cdparanoia の DAE library を使って read-cd コマンドで CD-DA のイメージデータも同時に読み出せる ようになったこと。 但し、CD-DA のみなので mixed CD についてはデータトラックを 別途読み出す必要はある。
あまり時間がないので取り敢えずブツを fetch するだけ fetch しておく。
日曜日に会社で修正したものをもって行き、八王子にて調整・テスト等。 10:30 現地入り、20:00 まで。
会社の勤務票は 15 日締めだったのを思い出し、 現地作業から一旦会社に戻って勤務時間を集計。
うーん、やっぱり残業時間が 100 時間超えてる。
帰宅後 cdrdao-1.1.3.pre10 を build。 あっさりモノができたので、即テスト。
% cdrdao read-cd --device 1,6,0 test.toc
おお、なんか data.bin
なんてファイルが出来てる。
--datafile
オプション使えばファイル名が指定出来るらしい。
とりあえず cdaplay に data.bin を食わせてみるとノイズが出る。 bigendian なのね。 cdrdao で焼く時にそのまま焼ける形式なので当然か。
Byte swap するオプションあったっけかなー、と調べるも、 そんなものやっぱり実装してない。 取り敢えず sox で byte swap しつつ演奏してみる。
% sox -t raw -r 44100 -s -w -x -c 2 data.bin \ -t raw -r 44100 -s -w -c 2 - | cdaplay
おお、きちんと鳴る。 明日の移動時間にでも byte swap 実装することにしよう。
仕事は八王子現地作業。 不覚にも Libretto 持ってくの忘れて移動時間プログラミングできず。
cdaplay をいじろうかな、と思ったけど、ちょっとだけ考えて xcdrdao の音周りのコードを眺める。 で、xdao/SoundIF-linux.cc を xdao/SoundIF-freebsd.cc にコピーして作業開始。 ざっと見て特別なことやっていないようだったので、 ヘッダファイルの位置を書き換える。
s/<linux\/soundcard\.h>/<machine\/soundcard.h>/
で、FreeBSD の場合には SoundIF-freebsd.cc を使うように configure を 書き換えて、sh ./configure && gmake 。
をや?
SNDCTL_DSP_CHANNELS
が未定義だって ?
ということで /usr/include/machine/soundcard.h
を眺めて
s/SNDCTL_DSP_CHANNELS/SNDCTL_DSP_STEREO/ して、再び make。
今度は通ったので、即実行。 toc file をオープンして play。 ぽちっとな。
あ、うまく鳴ってる。よしよし。 ...と満足して寝る。
自社でドキュメント書き。 終電で帰宅。
江洲さん が 音関係のプログラムを Linux から FreeBSD に porting するときのノウハウのメモを起こして下さるということで、 参考のため、xcdrdao の SoundIF-linux.cc と SoundIF-freebsd.cc との差分を送ることになってたので、 ちょこっと作業。
まずは公開されている cdrdao-1.1.2 の xdao/SoundIF-linux.cc と cdrdao-1.1.3.pre10 の差分を取ろうと ports collection を使って make extract ...。 あれ? なんで gtk-- つくろうとするんだ...。 って、LIB_DEPEND のチェックが厳密で gtk-- の port の upgrade でライブラリのバージョン番号が変わったからか。 まぁ、すぐに cdrdao のリリースがあるだろうからその時にまとめて send-pr すればいいか。
で、江洲さんに patch を送った後、 思い立って gtk+ と gtk-- の update。 gtk---1.0.3 の port で fetch できなかったのは配布場所が変わってたからのようで、 すでに fix されているようだ。
ああっと、glib も update しなきゃいけないのか。 ということで、gtk+ に depend してる gimp も pkg_delete して 一通り作り直す。
今日も仕事はドキュメント書き...。 っていうか、表埋めるためにひたすらコピー & ペースト。 こんなの、データファイルを parse して CSV で吐けばおしまいなのに...。
あまり時間がないから、parser 書くのは保留...。
今日の仕事もコピー & ペースとなドキュメント書き。 こういう作業を一日中繰り返して 3 日目にして腱鞘炎の気配。
キーボードの左手だけじゃなくて、マウス持つ右手も痛い...。
ということで、無理をせずとっとと帰ることにする。 18:00 終業。
秋葉のぷらっとホームに寄って Walnut Creek CDROM の FreeBSD 3.3-RELEASE の CDROM を購入。
やっぱり土曜日は起きたら午後。13:00 起床。
明日は DEBUG 主催の第一回小インストール大会。 私は 3.3R+PAO の ftp サーバを担当している。
で、3.3R の配布物はすでに用意してあるので PAO のページから辿って ftp://daemon.jp.freebsd.org/pub/FreeBSD-jp/PAO/ 以下から関係のファイルを取ってくる。
余力があれば、階下の 3.1-stable なマシンにインストールの リハーサルをしておきたかったけど、疲れが溜ってたので寝る。
今日は筑波で DEBUG 主催の第一回 FreeBSD 小インストール大会。 9:00 から会場で準備ということで 8:00 に飯島さん宅に行くことになっている。 が、PAO のブートフロッピー作り忘れてたので作ってたり いろいろ荷物の準備をしてたら 7:50 を過ぎてた...。
飯島さん宅からは飯島さんの後輩の車で会場へ。 出発後まもなく、飯島さんのお子さんから携帯に電話。 んー、パパさん(意味不明)
会場に着いたらすでに東京方面組が着いている...。 何時に出発したんだ?
...ということで、準備に入る。 今回和室ということで、座卓を長方形に並べてハブを真ん中に 置いて...って、テーブルタップ持って来たのは一人だけ...。 しかたなく買い出し組が買い出しに。
そうこうするうちになんとかネットワークが動き出したのでサーバの設定。 ftp サーバはオッケーだったけど、DHCP サーバが上がらない。 仕方がないので固定 IP を割り振って使うことに。 が、紙ベースで IP アドレス管理。 そういえば、人員確認もよくわからない状態だったっけ。
どたばたしてるうちに開始時間の 10:00 に。え、会長挨拶? 聞いてないよぉ。 いや、忙しくてどういうこと喋ればいいか全然考えてなかったから...。 で、なんか酷いことを言ってしまったようですが、もう記憶の彼方。
A の B から取材ということで編集長が朝からいらっしゃる。 取り敢えず挨拶だけ。 結局取材記事ということじゃなくて、 イベント担当の山下さんがページをもらって原稿を 書くということで決まったようだ。
ということで、詳しいことは山下さんの記事を見てもらうことにして、 ここでは全体的視野は省いて自分中心 view で :-)
ポツポツとインストールが始まると...。 ftp サーバのディレクトリ構成が通知されてなかった :-) 紙に書いて...張る所がない...ので鴨居にぶら下げ。
オリジナルの ftp サーバの構成に合わせてディレクトリを掘ったけど、 これが不評。 ディレクトリが深いから当然か。 DNS サーバ立ち上げて配布元のサーバの名前を騙れば楽なんだけど、 今回はそこまでやらなかったので浅いディレクトリに symbolic link を作成。
packages が欲しいという声が上がったので ftp サーバで packages の準備。
参加者から pc card ether カードが pccardd で認識してくれない、 という問題でヘルプを頼まれるが、結局私には原因判らず。 どうやら、pccard.conf の書式の違いだったらしい...。 しかし、他の人のノート PC のキーボードって本気で打てない...。 配列の問題じゃなくて、薬指・小指のキーの位置がどうしてもずれる。
気がつくと 16:30 。ということで撤収。
インストール大会の後は食事会。幹事は小林さん。 18:00 からの予約ということだったけど、 すぐに店に入れるということでポツポツと移動。
幹事が乾杯の音頭とったあと自己紹介など。 いろいろあったような気もするけど何も覚えてないぞ。
お開き後、日曜夜ということもあって、特に二次会等もなく解散。 小林さんにうちまで送ってもらう。
会の反省を呼びかけるメールを書くことになってたので、書いて送る。 さすがに疲れてたのでとっとと寝る。
未だ終らないドキュメント書き。 腕の痛みがますます激しくなる中、休み休み作業。 22:30 まで。
なんとなく、CD-ROM が付いてるマシンでフロッピーまたは CD-ROM で立ち上げて即インストール大会用サーバになるようなものが あると便利かな、とちょっとだけ考えてみる。
最初に見つけた NIC に固定 IP アドレス振って、DHCP サーバ、 DNS サーバを立ち上げて CD-ROM を anonymous ftp サーバの /pub に mount して...ができるもの。
NIC と CD-ROM のドライバのどれが認識されたかさえ判れば あとはなんとかなりそう。
相変わらずドキュメント書き。
SSL 使うの自宅じゃ面倒なので、会社から登録。 1200 人超えてるのか。早期登録割引の駆け込みが多かったのかな。
22:00 に切り上げ。でも終電。
寝る直前のメールチェックで cdrdao-1.1.3 リリースを知る。 作者の Muller 氏が引っ越しで暫く the Internet に アクセスできないかもしれないということで緊急リリースされたらしい。
腕から背中にかけての痛みがやっぱり気になるので病院へ。 やっぱり、手の酷使が原因で、使わなければ直る、とのこと。 ううう、困った。 仕事になりそうもないので結局会社も休むことにした。
会社休んで、手を使うと苦痛な状態だというのに早速 update する。 xcdrdao の playback patch も入れてしまう。 Muller 氏には事後の報告になってしまうなぁ...。
腕の痛みで仕事進まず。19:00 終業。
Ruby 本を探すも見付からず。 CD 屋で「ふわり」(林原めぐみ)を発見、購入。
今日は腕の痛みが特に激しく、 仕事になりそうもないので思い切って休みをとってしまう。 でも、手を使うだけで痛いので丸一日寝てるだけ。
思い出して xcdrdao の FreeBSD の playback patch を Muller 氏に送る。
日中寝てたのが災いして眠れず。 腕の痛みもそれほど酷くはなくなったので、ついついいろいろ作業してしまう。
どうも CD-R が焼けないのは CD-R ドライブが熱くなってるのが 原因のような気がするので電源を切ってしばらく冷やすことにする。 で、眠くなって来たので28:00 前に就寝。
何故か 7:00 ちょっと前に目覚める。 十分冷めた CD-R で「ふわり」を焼いてみる。 案の定焼ける。やっぱり熱が原因か。
DEBUG のインストール大会用 DNS サーバと DHCP サーバの 設定に興じる。
メインマシンも久しぶりに make world。 が、make installworld 中に panic。 reboot して fsck 後もう一度 make installworld するもまたも panic。
で、自分自身が panic してしまい、いろいろミスって fixit CD-ROM が必要な自体に...。
結局 2 時間以上かけてなんとか復旧。
なんとなく枕元にあった UNIX USER 誌 1999 年 10 月号のゲーム特集を見て、 sxsame の FreeBSD ports をつくりはじめる。 send-pr するつもりはあまりないので、そこそこのところで打ち切る。
sxsame に続いて altris の port を作ろうと手を出しはじめる。 いろいろとクセがあって時間がかかりそう。
flathill さんの友人も sxsame の port を作ってるということで 対抗意識で(笑) 更に手を入れる。
手を出し始めるといろいろ気になってかなり時間をかけてしまった。