| < 2007年3月 > | ||||||
|---|---|---|---|---|---|---|
| 25 | 26 | 27 | 28 | 1 | 2 | 3 |
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
次の月: 2007年4月
| < 2007年3月 > | ||||||
|---|---|---|---|---|---|---|
| 25 | 26 | 27 | 28 | 1 | 2 | 3 |
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
MacBook 上で Windows XP を使ってると、時々なんの前触れもなく Ethernet が切断されることが。
症状としては Ethernet のケーブルを一度引っこ抜いてすぐに挿したときと同じで、TCP 層のセッションなんかは落ちて、すぐタスクトレイに「ローカルエリア接続 に接続しました」の表示が。
UDP とかはどーでもいいものの、TCP は一瞬でも切れると困るので、ちょっと細工を。
Windows の PPTP (Windows に限らないと思いますが) は、この TCP が落ちるような切断においても維持されるので、これを利用。DHCP サーバに違うサブネットの IP を配らせて、デフォルトゲートウェイを無効化(ルータのアドレスを指定しないように)すれば OK。
通信が全部 PPTP 経由になって若干の遅れは出るものの、目的は達成。電子レンジで無線が切れるような環境でも使えるかも。
ちなみに、dhcpd で、ある 1 つの物理インターフェースについて 2 つ以上のサブネットの IP アドレスを配布する場合、普通にやると Interface xxx matches mutiple shared networks って怒られる。この場合、shared-network でくくらないとダメなので注意。
shared-network my-network-name {
subnet 192.168.0.0 netmask 255.255.255.0 {
...
}
subnet 192.168.1.0 netmask 255.255.255.0 {
...
}
}
ちょっと前から rcssserver3d っていうのを luna の上で動かそうと必死になってる訳ですが、やっと今日動きました。
大会直前での急な仕様変更、依存ライブラリの多さなどなど、いろいろ言いたいことはありますが、まぁ、とりあえず動き始めたので良しとします。
留意した点は以下の通り。正しいとは限らないので注意。
しかし、ウィンドウはアクティブにならないし、agentspark を呼ぶと応答がなくなってお亡くなりに。キーボードも効かないし…。しょんぼり。
ちなみにエージェントプログラムの内容についてはさっぱりです。先輩、がんばれ!(ぇ
ちょっと luna に openSuSE を突っ込みたくて、パーティションを切りなおそうと思ったんですよ。で、Bootcamp はパーティションの内容を壊さずにサイズを変えたりいろいろやってるので、これを自分でできないかと思ったら、diskutil を使えば同じことができるらしいのですよ。
で、まぁ、ここに書いてるくらいなんで当たり前ですが、失敗したわけですよ。
まず、パーティションの切り方。Boot Camp か OS X 10.4.8 か知りませんが、diskutil っていうツールがあります。(Boot Camp は diskutil を使わずに直接 DiskManagement フレームワークを叩いているようなので、いくら ps とかしても見えないようですが。)
diskutil resizeVolume /dev/disk0s2 30G とかすると、disk0s2 パーティションのサイズが 30GB になったり、縮小の場合にはさらに後ろに JHFS+ "new partition" 15GB とか付ければ、その分新しいパーティションを作ることができるわけです。
で、やってみたら、Resizing encountered error Invalid argument (22) とか出やがるのですよ。しかし Boot Camp を呼べばあっさり切ってくれる。なんなんだ。
でまぁ、わざわざ Windows XP も MacOS X も吹っ飛ばして、クリーンインストールしても状況は変わらず。ちょっとブチ切れて延々 diskutil を叩きまくったら…。
30000000000B って指定すると通る。30G って入れると蹴られる。ぉぃぉぃ。
結果を diskutil list /dev/disk0 ってして見てみると、ちゃんと 30GB の領域に縮んでる。新規のパーティションも問題なく作成できてる。というか、1GB=1,000,000,000byte な計算してるのね。
そんなわけで、現在 openSuSE 10.2 のインストール中です。
ちなみになんで SuSE かというと、rcssserver3d っていう腐ったサーバソフトがほかの Unix 系システムでぜーんぜんマトモに動かないからです。まったくもって腹立たしい。
今日は特に書くことなし。あ、この前書いたパイプの処理は、fcntl に F_DUPFD 渡してもいいけど、dup っていう素敵関数があるのでそれでもいいっぽい。気がする。未確認です(ぇ
安定してます。…嘘です、大嘘です。
時折朝はマトモな時間に起きられるものの、昼過ぎから夕方とかにかけて眠くて眠くて。うっかり眠ると、数時間は起きないし…。
今朝は溜め込んでた新聞をまとめて捨てて、部屋が少し広く。明日は掃除だ〜♪
いくつか開発メモ。
…どう見ても、空いている一番若い fd から割り当てられてるような気がするんですが、これを前提にしてコードを書いていいものか…。documented なら安心できるんだけどなぁ。
それと、若い番号から〜ってことだから、STDIN_FILENO が 0 で、STDOUT_FILENO が 1 で、ってことが大切で、しかしこの定数マクロを使うとそのことが見えなくなり、だからといって定数をそのまま書くのはちょっとなぁ…。
今日は一日、延々と Magic: the Gathering のシールドと怪しいフォーマットを延々とやってました。実に楽しい。頭が悪い(ぇ
さて、軽く開発のお話を。FS は、なにぶん私が PowerPC アセンブラコードで書いた部分が多いもので、すぐには Intel ネイティブとはいかない。ただ、MacOS 10.4.x のせいかなんか知らないけど、ディスプレイプラグインが軒並み死んでるので、これだけは直そうと思う。
使いやすい PC が 2 つになったから、開発速度は少しは上がるはず。wisp と serenia はディスプレイを切り替えて使っていたので、びみょーに片方ばかり使ってしまってよくなかった。私は結構ゲームが好きなので、面白そうなゲームがあると、つい延々と遊び続ける。そして、そのゲームの動かないマシンとその上での開発が見事に放置。よくないですネ。
その点、ノート PC はディスプレイ付きだから安心。私の場合、椅子をくるっと 90 度回転すればいいだけな環境だし。
ちなみに liveice の改修が面倒になってきたので、自力で代わりのサーバプログラム書き中。さて、これもいつまで続くやら。なんだかちょっと、実行中(と書いてある)のプロセスが多い気がしますが…(汗
ちょっと実家に3泊4日で帰ってたら、3/1 の深夜からついさっきまで、ずーっと落ちてました。関係者の方々、スミマセン…。
えー、原因は今後も調査し続けますが、現時点では不明です。おそらくは2つの WAN 側ルータのうち 1 つが暴走したか、もしくはルートハブの死亡と思われますが、どちらもログに残るようなモノがないので特定できていません。
落ちたときから、あぁ、モデム死んだかな…って思ってましたが、全然見当違いだった模様。モデム再起動しないで直りましたしね…。
ダイアルアップ PPP サーバを構築しておいた luna は、もう引退させちゃったので、外から入れず困った困った。やっぱり、ふつーのインターネット回線以外から入れるようにしておきたいですね。
あと、モデムを監視してアホになったら自動で再起動させるとかもしたいんですが、電源を落とさないとダメな今回のような障害には無力。ちょっと工作すればできなくはないですが、AC 100V を扱うような電子工作は怖いのでやりたくないです。
ところで、新しい MacBook は元気です。余ってた WinXP Home を突っ込んでなんでもできる万能な子になってます。
んで、名前は luna になりました。luna は数週間に引退したふる〜い PowerMac G4 の名前です。MacOS と WinXP の両方が動き、かつ購入動機がちょっとアレなもんで、当時 MacOS 9 + Virtual PC な環境だったりした PMG4 とかぶらせて。
開発に関してはまだまだ先延ばし。書きたいことがたくさんあって困る。