朝はゆっくりと。
夜は焼肉。
肉を噛み切るのが大変なのです。
DVのクリーニングテープを買いにアキバへ。
クリーニングテープだけだと1,000円ぐらいするので、うーん、と考えた後にセットの奴を買ってみた。 @P AUDIOJACK-USBは、にわかuaudio野郎ということで購入。
ELSAのビデオカードは実家のPC用。PCIバスのビデオカードは異常に高くて高性能なものと異常に安くて使いものにならないものの両極端になってしまっているので、それなりに動くもので安いものを探していたのでした。
実家PCは、WMVファイルの再生がどうにもダメで、きっとオンボードのオマケビデオチップがいけないのだろうと思っているわけなんだけど。実は、CPUパワー不足なのかも。Celeron700MHzでは厳しいのかなぁ。
そういえば、Atherosな無線LANカードを探そうと思っていたのだけれど、どれがどれやらさっぱりわからず、退散してしまった。今見ると、Coregaのa/b/g対応のやつがAtherosらしいなぁ。
あっさり認識、さっくり動作。
ちなみに、NetBSD/i386 2.0G (20040830-UTC) でmpg123によるMP3ファイルの再生にて確認。
dmesgの結果。
uaudio0 at uhub2 port 2 configuration 1 interface 0: C-Media INC. USB Audio, rev 1.10/0.10, addr 2 uaudio0: audio rev 1.00 audio1 at uaudio0: full duplex, independent
audioctlの結果。
tokuda@cube{102}> audioctl -d /dev/audio1 -a name=USB audio version= config=uaudio encodings=ulinear:8*,mulaw:8*,alaw:8*,slinear:8*,slinear_le:16,ulinear_le:16*,slinear_be:16*,ulinear_be:16* properties=full_duplex,independent full_duplex=0 fullduplex=0 blocksize=11760 hiwat=5 lowat=3 monitor_gain=0 mode=play play.rate=8000 play.channels=1 play.precision=8 play.encoding=mulaw play.gain=159 play.balance=32 play.port=0x0 play.avail_ports=0x0 play.seek=0 play.samples=0 play.eof=0 play.pause=0 play.error=0 play.waiting=0 play.open=1 play.active=0 play.buffer_size=65536 record.rate=8000 record.channels=1 record.precision=8 record.encoding=mulaw record.gain=127 record.balance=32 record.port=0x0 record.avail_ports=0x0 record.seek=0 record.samples=0 record.eof=0 record.pause=0 record.error=0 record.waiting=0 record.open=0 record.active=0 record.buffer_size=65536 record.errors=0
mixerctlの結果。
tokuda@cube{106}> mixerctl -d /dev/mixer1 -a outputs.mute=off outputs.fea13-i1-mute=off outputs.master=159 outputs.fea13-i1-master=159
夜から熱が。うーむ。いかんな。
いってきた。
メガドライブを引っ張り出して遊ぶ。
以前遊んだ時には起動しなかったバトルガレッガはCDを水で洗って汚れをおとしたら動作したぞ。
うーむ。名作だ。全然うまくないけれど。
ストリートファイターコレクションもいいねぇ。スーパーストIIってサターンで遊べたんだっけか。こいつも出来いいよなぁ。
ストゼロもひさしぶり。なぜかBGMがならないぞ。なつかしい。アドンで遊んでみたり。楽しいなぁ。しっかし、よくできてるよなぁ。空中ガードとかガードキャンセルとかあったよなぁ。
天地を喰らうIIもひさしぶり。っていうか、全部久しぶりだよな。
こいつもBGMが鳴らない。ふと、接続ケーブルをぐりぐりすると音が鳴るようになった。ほんとかな...
ダライアス外伝。うーむ、いいゲームだなぁ。やっぱり連射パットなしだと苦しいですねぇ。昔は、連射パットなしでクジラを倒したんですけど。イソギンチャクで死んだらダメでしょ。うむ。
ワンダー3。あれ? 起動しませんよ。
うーむ、もう一回バトルガレッガやるかー、と思ったらやっぱり起動しない。
うーむ、壊れたか...
っていうか、全部のゲームが起動できなくなっちゃったよ。
なんか、CD-ROMの読み込みに失敗しているようで、たまに成功した場合でも次の読み込みで失敗するらしく、挙げ句のはてにはCDの回転が止まってしまう。
うーむ、寿命なのかなぁ。悲しいなぁ。一生遊べるゲームばっかりなのに。ハードが死んでしまうなんて。
中古を買うしかないのだろうか... 中古っつってもデカイしなぁ。
ネオファミみたいな互換品が出てくれないだろうか。
悲しい。
熱はだいぶ収まった。
とりあえず、微熱、って感じかも。
ratを動かそうと粘ってみる。
ratをNBUG CDからバイナリで持ってきて動作確認。うーん、名前リストに自分だけ表示される場合と複数人が表示されることがあるな。rootで起動した時は複数人で表示されることが多いような気がする。
あと、DTCPのトンネル接続先を別のところにしてみる。
DTCP自体がぶちぶちと切れるなぁ。やっぱしAir-H"ではつらいのか。例によってxcgroupはガンガン切れるのだけど。
大事をとっておやすみ。
かなり調子が良いので、ちかくの公園まで自転車を飛ばして散歩に出かける。
ひとしきり遊んで、帰ってきてシャワーを浴びて昼寝。
王道ですな。
中継の準備を考えてみた。
予備も含めて、こんなにあるのか...
午前中から午後にかけてのんびりとすごす。
都営新宿線、都営浅草線、JR東海道線と乗り継いで横浜方面に電車で出かける。天気予報では雨だという話だったが、なんとか持ちこたえたようだ。
クリーニングから帰ってきたばかりのスーツは、暑さでぐっしょりになってしまう。
会場までの道のりは、数年前には毎日歩いていた。ビック、ヨドバシを横目に見ながら東急ハンズやゲーセンを通り過ぎる。大きな通りに出てラーメン屋の吉村屋と横浜屋を確認する。懐かしい。
交差点を渡り、PCを開いて会場の場所を確認する。どうやら間違いないようだ。
会場につくと、署名と写真撮影。ビンゴのカードと祝福用のクラッカーを受け取る。撮影した写真にはメッセージを書いてアルバムに各自が戻すらしい。 会場の中にはBSD関係者が数人。顔を見るなり「今日は、やるんですか。」と中継をほのめかす発言を受ける。ここで黙ってはいられないだろう。挨拶もほどほどに中継の準備を開始することに。
PCを開いてSuspendから復帰、PPP実行、dtcpclientでWIDE方面にDTCPトンネルを張る。
事前準備でのDTCPトンネルは、ほとんどFeel6を使っていた。しかし、今回は以前WIDE方面のDTCPトンネルを用意していただいた経緯があるのでそちらを使うことに決めていた。事前準備ではFeel6のほうがトンネルの安定度は高かった。一方、WIDE方面はしばしば接続が切断されてしまう事象が見られた。
安定度も重要だが、XCAST6的にはWIDE方面にぶら下がっていたほうが他に迷惑をかけにくいのではないかと思い、そちらを使うことにしたのである (バケツリレーの途中にAir-H"がいるのは最悪だろうから)。
ともかくping6 xmeet.xcast.jpで接続確認する。問題ないようだ。
xcast6.shを実行して、ff05::10へのルーティングを設定する。ping6x xmeet.xcast.jpで接続確認。こちらも問題ないようだ。
つぎにxcgroupだがテスト用のtest-xcastで接続するか、12th-midnightで接続するか迷う。
w3m "http://xmeet.xcast.jp/cgi-bin/xcgroupsrv.cgi?group=text-xcast?cmd=show"を実行して、接続している人の確認を行なう。どうやら、こちらには誰もいないようだ。
やはり正式向けの12th-midnightに接続しているのかな? と考え、12th-midnightで接続している人の確認を行なうとこれまた誰もいない。
がーん、だれも見てくれないじゃないか。会場で、誰もいませんよと魂の叫びをぶちまける。今回は経験豊富な名古屋方面に頼ることもできないし。
昨日まではtest-xcastには少なくとも2名程度の接続があったため、こちらのコマンドがおかしいのかもしれないと疑う。もしくは、回線がAir-H"であるがゆえに、なんらかの障害が起こっているのかもしれない。
今週はテストでAir-H"での接続テストをそれなりに実施したが、接続不良の原因のほとんどは回線と自分のポカミスであった。
また、今回のXCAST6 kernelは安定していた。安定したXCAST6 kernelといえばNetBSD1.6ベースが一般的であろう。しかし、今回は実機の関係から-currentに名古屋方面で公開されたパッチを当てて構築したkernelを使用した (20040908-UTCのソース)。問題が発生するとすれば、vicやratのアプリケーション固有の問題かネットワークが原因であることが多かった (xcgroupがタイムアウトする、ratで複数人接続しているにもかかわらず自分しか表示されないなど)。
そこで、おそらく接続しているであろうSさん (This is my STYLE. でおなじみ) に連絡をとろうと試みる。
まずは、IRCでreichaのCBUGなチャネルでSさんに呼びかける。しばらくしても反応がないので電話してみようと考える。
幸いにして会場にはCBUGの面々が多数出席していたので、Sさんの電話番号を教えてもらう。しかし、電話してみても連絡がつかない。
この中継についての広報が足りなかったことを後悔する。といっても、Air-H"によるナローバンドな環境からの参加はMidnight XCAST Meetingの趣旨にはそぐわないため、積極的な広報はふさわしくないように感じたからなのだけれど...
新郎新婦の登場までは少し時間があるのだが、ドリンクは提供されいてるのでビールを一杯いただく。着慣れないスーツを着ていたので、会場に到着するまでにずいぶんと汗をかいて喉が渇いている。そんな時のビールは格別だ。サッポロクラッシックという単語が頭をよぎる。しかし、中継はまだまだ... である。
悔やんでいても仕方がないということで、あれこれ試しているうちにtest-xcastに一人参加者がいることに気づく。さっそくtest-xcastで中継を開始である。
中継を開始する前に会場でのUSBカメラの動作テストをする。今回は二台のUSBカメラを持参している。会場は薄暗いため一台目のMiniCam2で表示されたのはまっくらな画面である。輝度が足らないのであろう。これでは、使いものにならない。
次に、二台目のOV511+なInfoCamを使用する。先ほどよりは明るい画面である。しかも、OV511+は吹き出し君のプラグインで輝度やコントラストの調整が可能である。この機能を利用しない手はない、ということで輝度を最大に設定する。劇的に輝度が向上するわけではないが、あるとないではゼンゼン違う。これで、絵のほうはバッチリである。
ちなみに、vicにはXCAST6なパッチを当てているのでOV511+は対応している。しかし、吹き出し君のほうが機能も豊富で何といっても楽しい。むしろ積極的に使用すべきだろうと思う。
実は、セルフパワーなUSB HUBに複数のUSBカメラをぶら下げて吹きだし君の表示の切替えテストも完了していたので、ぜひ複数カメラ中継をやりたかった。しかし、電源が手近にないことから会場内にケーブルを這わせなければならない。会場が暗いため歩行者が足を引っかけて転倒するなどの可能性があり、極めて危険であるため断念した。今後の課題としたい。
そして、ついに新郎新婦が登場である。皆がクラッカーを鳴らす。会場が一気に活気に満ちあふれる。
中継はそっちのけで写真をとったり拍手をする。う〜ん。いいねぇ。幸せビームが全開だよ。
新郎の挨拶で場が少し和む。緊張しているのがこちらにまで伝わるようだ。
乾杯の挨拶とともにパーティは盛り上がりの度合を増していった。
test-xcastとはいえ中継は開始したのでノートPCを新郎新婦に近い位置に設置し、一息ついてビールをいただく。新郎側の参加者には格好の酒の肴になっているようだ。
新郎新婦の前には入れ替わり立ち替わり参加者が。数人の順番待ちを経て、左手にノートPC、右手にUSBカメラを持った怪しげな格好で挨拶させてもらいにいく。
新郎からは「ありがとうございます」という言葉を頂戴する。これが「来てくれてありがとう」なのか「中継してくれてありがとう」なのか。きっと両方なのだろう。幸せビームを真正面から浴びてしまっては、洒落た会話の一つも思いつかず、中継に関する状況を少し報告して挨拶とさせていただいた。
今考えると、新婦からしてみれば実にわけのわからない参加者に見えたことだろう。
中継準備ばかりしていたので、料理がずいぶんなくなっており淋しい思いをする。けっこう準備してきたつもりだったのだが。ビールがおいしく、ビールをしこたま飲む。
しばらくして、12th-midnightのグループを見てみる。おぉ、数人接続しているぞ、ということでxcgroupを12th-midnightに変更する。すると、みるみるうちにvicにミーティング参加者が表示されるではないか。まず、とびこんできたのはデーモンくんの画像。そして、親子二人がPCに向かっている画像。
まさしく、今のWedding Partyを中継しているのだ。
IRCでも見えているらしいという反応をもらってすっかり嬉しくなってしまった。いや〜、よかったなぁ。
IRCのCBUGはチャネルでミーティングで使うIRCサーバを教えてもらい接続する。最初から、このサーバ名を聞いておけば良かったと後悔する。やはり調整不足である。
会場ではビンゴが始まる。
どんどんと数字がコールされる。しかし、自分の手元にはもらったはずのビンゴカードが見当たらない。中継の準備にかまけてカードを紛失してしまったようだ。
ビンゴカードは3×3のマスになっているため、ビンゴしやすくなっている。カードを探しているうちに、一人目のビンゴが出てしまった。iPod miniは... などと悲しんでいる暇もなくカードを探しまくる。
やっと見つけたカード。しかし、これが開かないのなんの。周りからはどんどんビンゴの声、声、声。あまりに開かないため周りの人に助け船を出してもらったりするものの、ちっともビンゴにならない。
中継している人間は冴えない一方で、中継のほうは安定しているようだ。接続している人も徐々に増えてきている。吹き出し君でビンゴ開催中である旨をスーパーで表示する。スーパー機能も非常に便利である。
自分のビンゴは泥沼に突入し、見るに見かねたKさんからすでにビンゴ済みのカードを回してもらう。しかし、平たくいえばインチキなので気が引けてしまう。しばらくたってから前に出て賞品をもらう。
司会の方からひとことマイクで喋る機会をもらったので祝福のメッセージを喋る。そして、酒の勢いも手伝ってXCAST6中継についても喋ってしまう。それなりにウケていたようだ。
「このパーティは、北は北海道から南は東京までインターネットをつうじて全国に中継されています」という感じのセリフを喋ったのだけれど、東京は調布だから西だよね、とつっこみを受けてしまう。まぁ、セリフ回しの耳あたりの良さ重視ということで。
ビンゴも無事に終了し、会場の盛り上がりは増すばかり。USBカメラの前に新郎新婦を呼んでみたり、カメラを手で持って好き勝手に中継したりと良いオモチャになっている様子。
安心していたら、vicがクラッシュしたとの報告を受ける。うーん、これまでvicがクラッシュすることはなかったんだけどなぁと思いつつvicを起動しなおした。
すると、vicのウィンドウに出るわ出るわ。これまで見たことがないくらいのたくさんの参加者の画像が。おそらく、参加者が増えたことによってvicがクラッシュしてしまったのだろう。32kbpsの限界なのかもしれない。
「パケット一つも無駄にできぬ」との思いから、IRCなどは終了させる。まぁ、気休め程度なんだろうけど。
その後、もう一度vicがクラッシュする。念のためDTCPトンネルなどの確認をしていて、ふと、おかしなことに気づく。
なんと、内蔵NICのrtk0に対してIPv6アドレスが振られているではないか。本来ならば、ppp0に振るべきなのに。
そこで、ふと、昨日の接続テストの最後の最後でLAN環境でテストをしていたことを思い出す。うーむ、またもやポカミスだ。急いで、/usr/pkg/etc/dtcpclient.scriptのPrefix Delegationの設定部分を修正する。
などとバタバタしていると司会の方から素晴らしい発言が。
「それでは、インターネットのほうはどうでしょうか〜」
うわー。いきなりマイク向けられても困りますよ。っていうか、障害発生中なんで「どうでしょうか〜」といわれるとキビシー。シドロモドロになりながら、いまはトラブル発生である旨をテクニカルタームを織り混ぜて返答し、煙に巻こうと試みる。
煙に巻いたかと思いきや、「インターネットからの反応はいかがですか?」という次の質問を頂戴する。
こんな大事な時に限って、頼みの綱のvicはクラッシュしているし、IRCクライアントは終了しているからログも見られないし、そもそも、障害発生までビール飲んでいたのでミーティングの状況は把握していないという大ピンチ状態に。
しかしまぁ、序盤のIRCの感触では好意的に受け入れられていたようだったし、その後もクレームらしいものは貰っていないので、きっと皆で祝福してくれているのだろうと思い、「ただいまアクシデントが発生しておりますが、インターネットからは祝福のメッセージが多数届いております」といった回答でなんとか乗り切ることができた。
二次会も最後の挨拶となり、盛り上がりも最高潮といったところ。
そんな中、「ピー」という聞き慣れた音が。
これは、PCのバッテリが切れかかっている合図の音である。急いでPCに近付き、バッテリ残量を確認する。どうやら、あと数分程度なら大丈夫そうである。
フィナーレという言葉がふさわしい、この記念すべき瞬間でshutdownなどと打てるものか。もちろん中継は続行である。この電池切れるまで、中継してくれよう。
よくよく考えてみると、この時点で「ナローバンドでの接続は趣旨にそぐわないから迷惑かけない程度に中継」という当初の基本方針は頭からすっかり消え去っていたようだ。まさに酔っ払いのなせる技である。
しかし、鳴り響く「ピー」の対策をしなければならない。すばやく中継グッズからヘッドフォンを取り出し、PCのヘッドフォンジャックに差し込む。ローテクだが、ほとんど音を殺すことができる。実は、電車で良く使うテクニックである (MP3プレイヤのヘッドフォンを外してPCに差し込むのだ)。
無事に最後の挨拶まで中継できたので胸をなでおろす。そのあともしばらく中継したあとPCをshutdownし、ひとりだけ荷物の多い酔っ払いが中継資材の撤収作業をバタバタと行なう。
そして、会場の入口で新郎新婦と挨拶を交わし、ハーブティーをいただいて、外に出る。
しばらく、外で話をしたあと三次会会場へ向かう。
三次会ともなれば、自分もかなり酔っ払っており、新郎新婦もこれまでほとんど食事ができなかった関係から、かなり単なるCBUGの宴会である (新郎側)。
それはそれで、新郎新婦の素顔が見られて良かったと思う。
三次会のスナップ写真をあとから見ると、かなりほほえましい光景が写っていた。
二次会で料理を食べられなかった反動もあって、ピザなどをもりもり食べる。そして、飽きもせずビールをしこたま飲む。
そして、三次会もおひらきに。ここで新郎新婦とはさようなら。おつかれさまでした。
帰路につくかと思いきや、四次会に突入する。
もはや、酔っ払ってどうしようもない状態で宴会を続ける。というか、何を話していたか良く覚えていない。
披露宴から出席していた人が二人ほどいたのだけれど、良く考えるとすさまじいスタミナですな。
11:30に閉店する店だったので、終電ぎりぎりにお開きにしてくれる親切設計。
しかし、終電ぎりぎりすぎなので一部の人は帰れなくなるという事態に。しかも、横須賀線に乗らずに東海道線に乗っていれば間に合ったという申し訳ないことになってしまう。
自分も、真の終電で帰路についたのでありました。
結論。
できたこと、できなかったことなど。
べし、べからず。
吹き出し君の機能追加案 (かなり身勝手に書いてみる)。
どこに出かけるわけでもなく、平凡な日曜日をすごす。
とりあえず、2並び。
起きなさすぎ。
月曜だけど荷物が少なくて良かった。と思ったら、ノートを忘れていた。
いちごヨーグルトはおいしいらしい。
おにぎりよりも卵焼きのほうがいいみたい。
というか、もうすこし早く起きるように。
SHLIB_LINK問題が解決したとの報告をうけて、ひさしぶりに手をつけている。
mpc860のほうはmpc860-040704.tar.gzと少し古いため、20040925-UTCなソースではdev/wdc_obus.cでエラーになってしまう。
ということで、20040821-UTCで試すことにした。
/export/t/20040821/mpc860/bin/powerpc--netbsd-gcc -O2 -pipe -Werror -Wreturn-type -Wpointer-arith -Wno-uninitialized -Wno-main -Wno-format-zero-length -msoft-float -fno-zero-initialized-in-bss -ffreestanding -I. -I/export/s/20040821/src/sys/arch -I/export/s/20040821/src/sys -nostdinc -Dopenblocks -DDIAGNOSTIC -DMAXUSERS=16 -D_KERNEL -D_KERNEL_OPT -Dmpc860 -c /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:46: error: field `wdc_channel' has incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c: In function `wdc_obus_attach': /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:92: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:92: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:94: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:94: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:95: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:95: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:101: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:101: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:102: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:103: warning: passing arg 1 of `wdc_init_shadow_regs' from incompatible pointer type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:117: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:117: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:121: error: structure has no member named `PIO_cap' /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:122: error: `WDC_CAPABILITY_DATA16' undeclared (first use in this function) /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:122: error: (Each undeclared identifier is reported only once /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:122: error: for each function it appears in.) /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:124: error: structure has no member named `channels' /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:125: error: structure has no member named `nchannels' /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:127: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:128: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:129: error: dereferencing pointer to incomplete type /export/s/20040821/src/sys/arch/mpc860/dev/wdc_obus.c:131: warning: passing arg 1 of `wdcattach' from incompatible pointer type *** Failed target: wdc_obus.o
メールはこちらへ...[BSD小僧 (tokuda @(at) tokuda .(dot) net)]
この日記は、GNSを使用して作成されています。