日記 (2007年02月)。
$Id: 200702.php,v 1.52 2007/03/03 06:20:05 isaki Exp $

2007/02/01 (木)
100年後までの地球温暖化の様子をまざまざと見せつける 地球シミュレータ (スーパーコンピュータ) は、 どのくらい地球温暖化に貢献してるんだろう…と しょうもないことを考えてみたり。
地球シミュレータ - Wikipedia

2007/02/02 (金)
松山出張。
呉の海上自衛隊呉史料館に 展示してある退役した本物の潜水艦。 広島→松山の高速船は途中で呉港にも寄るので、そこで船に乗ったまま見れる。

潜水艦の全体像なんてなかなか見ること出来ないからね。 それにしてもでかい。

例えば航海中、どこの軍のものとも知れないこんなのが 自船舶の下をうろちょろしとるわけだからねえ。

それと、その向かい側で建造中と思しき船。 いやあ戦艦大和を造った街だからねえ。

ところで なんかこないだから写真のコントラストが変だと思ったら、 ホワイトバランスが室内用になってたよ…。 カメラのセンス、ゼロ。orz

2007/02/18 追記。 ホワイトバランスを修正した写真に差し替え。

NetBSD/amd64 で、思った以上に LP64 問題続々登場中…。orz
size_t とか time_t とかの隠蔽された型が、 あるアーキテクチャで ぶっちゃけ何ビット整数として定義されているかは、 sys/arch/arch/include/ansi.h と int_types.h を 並べて見ると分かるらしい。
size_t の時もそうだったけど、 環境に依存しないようにと思って、int とか long とかじゃなくて エクセレントに uint64_t とか使ったつもりなのに、 それを表示する printf(3) の書式が int か long かという発想の分類に なってるので、全然意味がなくて悲しい。 uint64_t は i386 だと unsigned long long int なので "%llu"、 amd64 だと unsigned long int なので "%lu"。 uint64_t の値を (unsigned long long) にキャストして "%llu" で 表示すればどちらでもコンパイルは通る。けど unsigned long long が amd64 で何ビット値なのかは実機が今ないので分からない…。 あ、PRIu64 とかいうマクロは知ってるけど、ソース読みづらくなりすぎ。 まだ "%llu" て書いて、値を (unsigned long long) にキャストする ほうがマシ。
今度は time_t。time_t はたぶん全員 32bit 整数として 定義されてると思うんだけど、こいつらの お馬鹿な定義方法はなんとかならんのかなあ。
amd64/include/ansi.h: #define _BSD_TIME_T_    int
i386/include/ansi.h:  #define _BSD_TIME_T_    long
i386 だと int も long も 32bit だから long を使ってて、 amd64 だと long は 64bit で int が 32bit だから int を使ってるのかな。 一段噛ませて
#define _BSD_TIME_T int32_t
って書けないんだっけ?
おまけに struct timeval の tv_sec は time_t と同じ意味なのに long で宣言されてんのねー。 i386 だと time_t も long も 32bit 整数だから問題ないんだけど、 amd64 だと time_t は 32bit で、long は 64bit。 整数として扱ってるうちはまだしも、gettimeofday(3) とかで得た tv.tv_sec を表示するために localtime(3) に渡そうと思うと
localtime(&tv.tv_sec)
になるんだけど、これじゃポインタの型違いってことになって コンパイル通らない。 あー、tv.tv_sec (long 型) を一旦 time_t (32bit) の変数に代入してから localtime(3) に渡すくらいが妥協点かなあ。
あー、void *aux みたいななんでもポインタに int の整数を置いて受け渡してるところがあるや…。 問題になるのは知ってたんだけどつい面倒だから 手抜きしてたのよねえ。

2007/02/03 (土)
恵方巻というのがどうも納得のいかないイベント。 元もと由来はあるようだが、それを必要以上に業界がキャンペーンとして 推し出したところはバレンタインデーやホワイトデーと同じ構造なので、 時が経てばバレンタインデーやホワイトデーと同じくらい年中行事として 受け入れられるのかも知れないけど。

バレンタインデーは元もとなんかの話にひっかけてチョコレート業界が 創り出したもので、ホワイトデーなんかまさにその最たるもので なんの由緒もないところに菓子業界が乗っかってきただけ。 でもこの2つはみんなそれを知っていて年中行事として受け入れるか、 あるいは拒絶するかという行動を取っているから、それはそれで構わない。

恵方巻も同じように海苔業界やスーパー・コンビニ業界が拡販イベントとして、 本来の文化を大きく逸脱して創り出したものだから、 その趣旨を理解した上で乗っかるのなら乗っかってもよいけどね。 業界も巻きずしの宣伝するのと同時に、このイベントはちょっとした由来に 自分たちが乗っかって必要以上に尾びれ背びれをつけてみました、 という経緯も一緒に広報せんといかんよ。

家に USB ジョイスティックがあることに気付いたので早速 Nereid にさしてみる。
slhci_open(addr=0,ep=0,scaddr=1)control Cst req{0,5:GETSTAT,v=2,i=0,l=0} 
transaction(SET0,8->0:0) t=36 i=1<A> st=1<D0,ACK> 
transaction(IN1,0<-0:0) t=14 i=1<A> st=40<NAKD0> Cdn
Cst req{80,6,v=256,i=0,l=8} 
transaction(SET0,8->2:0) t=5000 i=10<SOF> st=d0<STALL,NAK,SETUPD0> 
transaction(IN1,8<-2:0) t=14 i=1<A> st=4<D0,TIMEOUT> 80 06 00 01 00 00 08 00 
transaction(OUT1,0->2:0) t=23 i=1<A> st=4<D0,TIMEOUT> Cdn
Ccl uhub0: device problem, disabling port 1
なんかエラー出た orz。青字が通常のカーネルメッセージね。
今更 Cypress のウェブサイトで SL811HS/T の新しいデータシートを 発見する…。
あー、やっと SL811HS/T のリビジョン情報を見付けた → X68にUSB接続中!。さすが永井さん。 しかし Rev 1.2, 1.3, 1.4, 1.5 それぞれにエラッタとか出てたはずなんだけど、 SL811HS/T はソフトウェアから自分のリビジョンを調べる方法がないって、 あーた、今どきのチップとは思えないな。
slhci(4) は SL811HS/T の下位にあたる SL11H/T のことも若干考慮した作りに なってるつもりだったんだけど、データシート眺めてると SL811HS/T と SL11H/T ではパケットを送出する際の手続きがわりと違ってるのね。 ScanLogic 時代の SL811HS/T の データシート Revision 1.37 の 18ページに書いてあることが今ごろ分かった。 SL811HS/T では PID、デバイスアドレス、エンドポイントはレジスタで 指定するのに対し、SL11H/T はメモリバッファのデータの直前に3バイトの ヘッダ部みたいなのを用意して、そこに PID、デバイスアドレス、エンドポイントと更に CRC も自分で計算してセットしておくのね。 だから SL811HS/T では必要ないはずなのに、そこかしこに CRC の計算方法の 例題が載ってたのねー。ほんと今ごろやっと気付いたよ。 slhci(4) から SL11H/T 関係部分をごっそり省こう。
そろそろおうちの CVS リポジトリから commit log をメールで飛ばさないと 不便になってきたな。

2007/02/04 (日)
あー、レジスタ 0Fh を読むとこのフレーム (1フレームは 1msec) の残り時間が 分かるから、このパケットがフレーム内に収まらなさそうなら、SyncSOF ビットを たてて、このパケットを SOF の後で、つまり次のフレームで送るように スケジューリングさせるって意味か?
しかし、だから動いてるのか動いてないのかいまいち分からんな。
うちにあるこの USB ジョイスティック (ELECOM JC-U1012FBK) はどうやら NAK が返りやすい らしいので、今更ながらトランザクションにリトライの処理を追加してみた。
slhci_open(addr=0,ep=0,scaddr=1)control Cst req{0,5:GETSTAT,v=2,i=0,l=0}
transaction(SET0,8->0:0) t=39 i=1<A> st=1<D0,ACK>
transaction(IN1,0<-0:0) t=14 i=1<A> st=40<NAKD0>
 retry=1 t=14 i=1<A> st=40<NAKD0>
 retry=2 t=22 i=1<A> st=9<D1,ACK> Cdn
Cst req{80,6,v=256,i=0,l=8}
transaction(SET0,8->2:0) t=36 i=1<A> st=1<D0,ACK>
transaction(IN1,8<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=13 i=1<A> st=40<NAKD0>
 retry=2 t=35 i=1<A> st=9<D1,ACK> 12 01 00 01 00 00 00 08
transaction(OUT1,0->2:0) t=22 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=256,i=0,l=18}
transaction(SET0,8->2:0) t=38 i=1<A> st=1<D0,ACK>
transaction(IN1,8<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=12 i=1<A> st=40<NAKD0>
 retry=2 t=35 i=15<SOF,BABBLE,A> st=9<D1,ACK> 12 01 00 01 00 00 00 08
transaction(IN0,8<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=35 i=1<A> st=1<D0,ACK> 41 12 44 50 20 01 01 02
transaction(IN1,2<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=14 i=1<A> st=9<D1,ACK> 00 01
transaction(OUT1,0->2:0) t=22 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=768,i=0,l=2}
transaction(SET0,8->2:0) t=39 i=1<A> st=1<D0,ACK>
transaction(IN1,2<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=13 i=1<A> st=40<NAKD0>
 retry=2 t=25 i=1<A> st=9<D1,ACK> 04 03
transaction(OUT1,0->2:0) t=23 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=768,i=0,l=4}
transaction(SET0,8->2:0) t=36 i=1<A> st=1<D0,ACK>
transaction(IN1,4<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=13 i=1<A> st=40<NAKD0>
 retry=2 t=28 i=1<A> st=9<D1,ACK> 04 03 09 04
transaction(OUT1,0->2:0) t=22 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=769,i=1033,l=2}
transaction(SET0,8->2:0) t=39 i=1<A> st=1<D0,ACK>
transaction(IN1,2<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=13 i=1<A> st=40<NAKD0>
 retry=2 t=24 i=1<A> st=9<D1,ACK> 0E 03
transaction(OUT1,0->2:0) t=22 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=769,i=1033,l=14}
transaction(SET0,8->2:0) t=36 i=1<A> st=1<D0,ACK>
transaction(IN1,8<-2:0) t=12 i=1<A> st=40<NAKD0>
 retry=1 t=13 i=1<A> st=40<NAKD0>
 retry=2 t=35 i=1<A> st=9<D1,ACK> 0E 03 48 00 4F 00 4C 00
transaction(IN0,6<-2:0) t=5000
 retry=1 t=5000
 retry=2 t=5000
 retry=3 t=5000
 retry=4 t=5000
 retry=5 t=5000
 retry=6 t=5000
 retry=7 t=5000
 retry=8 t=5000
 retry=9 t=5000
transaction(OUT1,0->2:0) t=22 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=770,i=1033,l=2}
transaction(SET0,8->2:0) t=36 i=1<A> st=1<D0,ACK>
transaction(IN1,2<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=13 i=1<A> st=40<NAKD0>
 retry=2 t=24 i=1<A> st=9<D1,ACK> 14 03
transaction(OUT1,0->2:0) t=22 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=770,i=1033,l=20}
transaction(SET0,8->2:0) t=36 i=1<A> st=1<D0,ACK>
transaction(IN1,8<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=13 i=1<A> st=40<NAKD0>
 retry=2 t=35 i=1<A> st=9<D1,ACK> 14 03 4A 00 43 00 2D 00
transaction(IN0,8<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=35 i=1<A> st=1<D0,ACK> 55 00 31 00 30 00 31 00
transaction(IN1,4<-2:0) t=12 i=5<BABBLE,A> st=40<NAKD0>
 retry=1 t=28 i=15<SOF,BABBLE,A> st=9<D1,ACK> 32 00 46 00
transaction(OUT1,0->2:0) t=24 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=512,i=0,l=9}
transaction(SET0,8->2:0) t=39 i=1<A> st=1<D0,ACK>
transaction(IN1,8<-2:0) t=13 i=1<A> st=40<NAKD0>
 retry=1 t=13 i=1<A> st=40<NAKD0>
 retry=2 t=5000
 retry=3 t=5000
 retry=4 t=5000
 retry=5 t=5000
 retry=6 t=5000
 retry=7 t=5000
 retry=8 t=5000
 retry=9 t=5000
transaction(OUT1,0->2:0) t=22 i=1<A> st=1<D0,ACK> Cdn
uhub0: port 1, set config at addr 2 failed
Ccl uhub0: device problem, disabling port 1
SLRCtrans SLRCstart ClrPortFeat,v=1,i=1,l=0 SLRCdone
SLRCtrans SLRCstart GetPortStat,v=0,i=1,l=4 SLRCdone
前よりは一歩前進したかな。
おうちにある USB デバイスの動作状況をメモ。
Σ( ゜Д゜) うひょー。レジスタ 00h の SyncSOF ビットは ロースピードモードではセットしちゃだめなんて ScanLogic 時代の古いデータシートには書いてなかったぞ orz。
あ、USB マウスをアタッチする時の不安定感がなくなった感じ。 あ、USB ジョイスティックも一発で見えた。うそん。 そんだけの話?
slhci_open(addr=0,ep=0,scaddr=1)control Cst req{0,5:GETSTAT,v=2,i=0,l=0} 
transaction(SET0,8->0:0) t=36 i=1<A> st=1<D0,ACK> 
transaction(IN1,0<-0:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=13 i=1<A> st=40<NAKD0> 
retry=2 t=22 i=1<A> st=9<D1,ACK> Cdn
t=40<NAKD0> 
retry=1 t=35 i=1<A> st=9<D1,ACK> 00 00 09 21 00 01 21 01 
transaction(IN0,8<-2:0) t=12 i=1<A> st=40<NAKD0> 
retry=1 t=34 i=1<A> st=1<D0,ACK> 22 6B 00 07 05 81 03 08 
transaction(IN1,2<-2:0) t=12 i=1<A> st=40<NAKD0> 
retry=1 t=26 i=1<A> st=9<D1,ACK> 00 0A 
transaction(OUT1,0->2:0) t=22 i=1<A> st=1<D0,ACK> Cdn
Cst req{0,9:GETSTAT,v=1,i=0,l=0} 
transaction(SET0,8->2:0) t=36 i=1<A> st=1<D0,ACK> 
transaction(IN1,0<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=12 i=1<A> st=40<NAKD0> 
retry=2 t=22 i=1<A> st=9<D1,ACK> Cdn
uhidev0 at uhub0 port 1 configuration 1 interface 0Cst req{80,6,v=769,i=1033,l=2} 
transaction(SET0,8->2:0) t=37 i=1<A> st=1<D0,ACK> 
transaction(IN1,2<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=13 i=1<A> st=40<NAKD0> 
retry=2 t=24 i=1<A> st=9<D1,ACK> 0E 03 
transaction(OUT1,0->2:0) t=24 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=769,i=1033,l=14} 
transaction(SET0,8->2:0) t=36 i=1<A> st=1<D0,ACK> 
transaction(IN1,8<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=13 i=1<A> st=40<NAKD0> 
retry=2 t=35 i=1<A> st=9<D1,ACK> 0E 03 48 00 4F 00 4C 00 
transaction(IN0,6<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=33 i=1<A> st=1<D0,ACK> 54 00 45 00 4B 00 
transaction(OUT1,0->2:0) t=22 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=770,i=1033,l=2} 
transaction(SET0,8->2:0) t=37 i=1<A> st=1<D0,ACK> 
transaction(IN1,2<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=12 i=1<A> st=40<NAKD0> 
retry=2 t=24 i=15<SOF,BABBLE,A> st=9<D1,ACK> 14 03 
transaction(OUT1,0->2:0) t=22 i=1<A> st=1<D0,ACK> Cdn
Cst req{80,6,v=770,i=1033,l=20} 
transaction(SET0,8->2:0) t=36 i=1<A> st=1<D0,ACK> 
transaction(IN1,8<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=12 i=1<A> st=40<NAKD0> 
retry=2 t=37 i=1<A> st=9<D1,ACK> 14 03 4A 00 43 00 2D 00 
transaction(IN0,8<-2:0) t=14 i=1<A> st=40<NAKD0> 
retry=1 t=35 i=1<A> st=1<D0,ACK> 55 00 31 00 30 00 31 00 
transaction(IN1,4<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=30 i=1<A> st=9<D1,ACK> 32 00 46 00 
transaction(OUT1,0->2:0) t=22 i=15<SOF,BABBLE,A> st=1<D0,ACK> Cdn

uhidev0: HOLTEK JC-U1012F, rev 1.00/1.20, addr 2, iclass 3/0
Cst req{21,10,v=0,i=0,l=0} 
transaction(SET0,8->2:0) t=36 i=15<SOF,BABBLE,A> st=1<D0,ACK> 
transaction(IN1,0<-2:0) t=12 i=1<A> st=40<NAKD0> 
retry=1 t=13 i=1<A> st=40<NAKD0> 
retry=2 t=22 i=1<A> st=9<D1,ACK> Cdn
Cst req{81,6,v=8704,i=0,l=107} 
transaction(SET0,8->2:0) t=36 i=1<A> st=1<D0,ACK> 
transaction(IN1,8<-2:0) t=12 i=1<A> st=40<NAKD0> 
retry=1 t=13 i=1<A> st=40<NAKD0> 
retry=2 t=35 i=1<A> st=9<D1,ACK> 05 01 09 04 A1 01 A1 02 
transaction(IN0,8<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=38 i=1<A> st=1<D0,ACK> 75 08 95 01 15 00 26 FF 
transaction(IN1,8<-2:0) t=12 i=1<A> st=40<NAKD0> 
retry=1 t=35 i=1<A> st=9<D1,ACK> 00 35 00 46 FF 00 0B 02 
transaction(IN0,8<-2:0) t=12 i=1<A> st=40<NAKD0> 
retry=1 t=37 i=1<A> st=1<D0,ACK> 00 00 FF 09 30 09 31 09 
transaction(IN1,8<-2:0) t=12 i=1<A> st=40<NAKD0> 
retry=1 t=37 i=1<A> st=9<D1,ACK> 32 09 35 15 00 26 FF 00 
transaction(IN0,8<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=35 i=1<A> st=1<D0,ACK> 75 08 95 05 81 02 09 39 
transaction(IN1,8<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=37 i=1<A> st=9<D1,ACK> 15 01 25 08 35 00 46 3B 
transaction(IN0,8<-2:0) t=12 i=1<A> st=40<NAKD0> 
retry=1 t=34 i=1<A> st=1<D0,ACK> 01 65 14 75 04 95 01 81 
transaction(IN1,8<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=35 i=1<A> st=9<D1,ACK> 02 05 09 19 01 29 0C 15 
transaction(IN0,8<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=37 i=1<A> st=1<D0,ACK> 00 25 01 75 01 95 0C 55 
transaction(IN1,8<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=35 i=1<A> st=9<D1,ACK> 00 65 00 81 02 C0 A1 02 
transaction(IN0,8<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=35 i=1<A> st=1<D0,ACK> 75 08 95 07 46 FF 00 26 
transaction(IN1,8<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=35 i=1<A> st=9<D1,ACK> FF 00 0B 02 00 00 FF 91 
transaction(IN0,3<-2:0) t=13 i=1<A> st=40<NAKD0> 
retry=1 t=26 i=1<A> st=1<D0,ACK> 02 C0 C0 
transaction(OUT1,0->2:0) t=22 i=15<SOF,BABBLE,A> st=1<D0,ACK> Cdn
uhid0 at uhidev0: input=7, output=7, feature=0
SLRCtrans SLRCstart GetPortStat,v=0,i=1,l=4 SLRCdone

2007/02/05 (月)
ここ最近の修正での手もとの slhci(4) の動作状況。
接続方法状態
直結FS
直結LS△→○
HUB越えFS
HUB越えLS
転送方式状態
制御転送△→○
割り込み転送
バルク転送×
等時転送×
凡例:
それなりに動いてるっぽい
怪しい。未確認。
×動かない。未着手。

2007/02/07 (水)
永井さんところの 060turboX プロジェクト が断念。 今どき普通にパソコンが買えちゃう以上の値段なんだけども これが高いか安いかとか、 それを買ってどれだけ自分に遊びこなせるのかとか、 何に使うのかとか、そんなこと全く考えず 夢に向かって dive in the sky したつもりで仮予約を させて頂いてたんですが、残念。

Nereid の開発当初、私も少しだけメーリングリストを読ませて 頂いていたので、永井さんやメンバの皆さんの並々ならぬ苦労は ほんの少しばかりだけではありますが肌で感じていました。 Nereid のような素晴らしいハードウェアを創り出す過程における 皆様のパワーは並み大抵ではなく、それを乗り切ってきた 永井さんが今度ばかりは出来ないと仰るのだから、 それはそれは大変なことだったのでしょう。 本当にお疲れ様でした。 製作発表から昨日の断念の発表まで、本当に出来るんだろうかと ずっとわくわくしながら待ってたわけですから、 それはそれで決して無駄ではなく楽しい時間でしたよ。

ついでなので回想モード。 Nereid の最初のバージョンが出たのは 2001年だったはず。 X68000 で USB を使おうと言いながら、 USB のコネクタはついているが、デバイスドライバが存在してないので 「使えないデバイス」が載っているというステキな拡張ボードだった。 ふつうの世界だとそれだけでもシンジラレナ〜イ (C)ヒルマン なのに、 それを本当にみんなでごりごりデバイスドライバ書いて、今では Human68k で USB FDD や USB ジョイスティックなんかが動いているみたい。 NetBSD/x68k の世界でも遅ればせながら徐々に USB デバイスが見えつつある (NetBSD のほうは途中数年間何もしてなかったんだけどね)。 Nereid の試作機を貸して頂いたのが 2001年8月、 うちに届いて初めて Nereid についている USB コネクタを 見た時にはどうなることか想像もつかなかったけど、 あれから 5年半、 本当に X68000 で USB が普通に使える日が近づいてきてる気がする。 改めて、ステキなハードウェアをありがとう。

てな具合なので、次の MFC5475 も早速期待しております。 どんなことになるのか全く分かってないですが、 そんなことはもはや関係なく。

「こんにちは、Mac です。こんにちは、パソコンです。」っていう Mac の CM。 自分も MicroSoft は嫌いだけど、別に Mac 派でもないので、 あの CM はちょっとあからさますぎて引く。 というか負け犬の遠吠えにしか聞こえないから、 やめたほうがいいと思う。 それにしても UNIX と Linux みたいな意味不明の分類が 素人の世界では成立してしまったように、 パソコンと Mac という分類も成立してるのかしらねえ。
再び NetBSD/amd64。 printf(3) の "%q" (もしくは "%ll") は quad_t 型に対応するって manpage に書いてあるけど、 quad_t は <sys/types.h> で int64_t に typedef されて いて、int64_t は arch/arch/include/int_types.h で i386 なら long long int、amd64 なら long int と定義されている。 なので結局 amd64 だと "%q" なのに long int が渡されたといって ワーニングで止まる。 というか、 manpage に「"%q" もしくは "%ll"」と書かれていることがその答えで、 printf(3) の quad_t が long long int と同じ大きさという仮定が もう間違ってる気がする。 ほんとにどうしたもんだかなあ…。
しかし触ったこともないアーキテクチャの実機が手に入る前に コンパイルがあらかた出来てしまう NetBSD ってやっぱりすごいな。

2007/02/08 (木)
シルキーナイト。 今日の一言は「だめだこりゃ」。

2007/02/09 (金)
今日は有休。
メール消化中。FreeBSD の find(1) にはずいぶん昔からあった -delete オプションが NetBSD にもインポートされたらしい。 しかし、-delete オプションなんぞをわざわざ用意しなくても、 シェルのバックティックとか xargs(1) などの既存のツールを 組み合わせることで難なく同じことが達成出来るところが UNIX の よいところのような気もするんだけど、 まああればあったで便利なのも分かるけど。 大学生の頃だったか UNIX 触りたての時分に xargs(1) の使い方が 分かった時にはその無限の可能性に感動すら覚えたもんだったけどねえ。 歳とったかしらん。
NetBSD/i386 とかに cmos(4) 仮想デバイスが出来たっぽい。 CMOS を読み書き出来るらしいんだけど、何か面白いことできないかなあ。
slhci。 あー、まさかとは思ったけど、転送タイプ (制御転送 or 割り込み転送 or ...) によって NAK の意味合いが全部違うのね。というか IN 方向か OUT 方向かに よっても細かく定義されてんのねー。USB spec 1.1 の 8.5章あたり。 少なくともバルク転送での NAK は再送要求だけど、 割り込み転送での NAK は割り込みなしを意味するそうで。 だから再送処理を実装したら、昔動いてたはずの割り込み転送が 動かなくなったのか。 仕様書嫁って感じだけど、まあ仕事でやってるわけじゃないしな。
NetBSD-current。 pkgsrc の colorls を、みんな ls -l を l か ll にエイリアスして 使ってるよね的なノリなのか知らないけど、/bin/l としてインポートして すぐにチャイして、非難轟々気味。 CVS って、一瞬でもディレクトリ掘ると未来永劫チェックアウトの際に一旦 表示されるし、NetBSD は配布セットに一瞬でも載せちゃうと 未来永劫 obsoletes に痕跡が残るからねえ。
うむ、相変わらず USBDI の仕組みが分からん…。

2007/02/10 (土)
newlock2 ブランチがマージされたらしい。 何するもんなのか全然分からんのじゃけど、 当時いいとか悪いとかでさんざん物議を醸し出した SA (Scheduler Activation) の n:m スレッドに代わって 1:1 スレッド使うってことなんかしら。
シルキーナイト。ボケきれずにこっちが滑った感じ(何。 まあスーツは前に仕事でもないのに着てったしな(汗。

2007/02/11 (日)
AMD Geode LX の名前を表示するパッチが netbsd-4 に pull up された模様。
割り込み転送が始まると無限ループになってカーネルから戻ってこない、と 思ってずっと調べてたら、そうじゃなくて 10msec の割り込み転送に デバッグ用の printf 入れてたら X68030/30MHz には重たすぎて 他の処理が全く回らなくなるから無限ループに見えてるだけだったのねん…。 割り込み転送の周期を 2秒おきとかにしてみたら、見事 usbhidaction(4) で USB マウスのボタンを押したイベントが拾えたよ。
X680x0 が遅いっつーよりもデバッグメッセージが多すぎただけだな。 デバッグオプション外すと 10msec 割り込みでも大丈夫げ。
Nereid につないだ USB マウスの右左ボタンで X68030 本体のフロッピーを イジェクトする X680x0 ならではの遊び方。 まずは usbhidaction(1) の設定ファイル。ここでは /root/u.conf て名前にする。
Button:Button_1   1       /usr/bin/eject fd0
Button:Button_2   1       /usr/bin/eject fd1
Button:Button_3   1       /bin/echo "Button 3" > /dev/console
USB マウスを挿して、usbhidaction(1) を実行。
# usbhidaction -c /root/u.conf -f /dev/uhid0
今日までの手元の slhci(4) の動作状況。
接続方法状態
直結FS
直結LS
HUB越えFS△→○
HUB越えLS△→×
転送方式状態
制御転送
割り込み転送△→○
バルク転送×
等時転送×
割り込み転送が動かないと USB HUB の動作が確認できないから△ だったんだけど、USB HUB にフルスピードデバイスを挿しても 動いてるっぽい。ただ相変わらず動作確認する手段がなさすぎなので デバイスとして認識できるかどうかしかまだやってないんだけど。 あと、うちの SL811HS/T が rev1.2 だからかどうか分からないけど、 HUB 越えのロースピードデバイスはやっぱり無理っぽい。
堂本兄弟。しょこたんがヲタク全開トークだったけど、 違和感を感じなかった…。orz

2007/02/12 (月)
お、立花えり子さんの 桑島技研Online が半年ぶりに更新されてる。
SL811HS/T でトランザクション後のステータスレジスタに ACK と一緒に Overflow ビットが立ってたらどうしたらええんじゃろうか。 いくつかのデバイスでこうなるんだけどな。
割り込み転送がそれなりに動いたので、ようやくバルク転送に着手。 つーか割り込み転送だけじゃほとんどのデバイスは動かないね。
NetBSD/x68k (68030/30MHz)で pkgsrc の tcsh をインストールしようと したら、まずその前に必要な pkgtools/digest のビルドに1時間半。 tcsh のビルドがもう1時間半かかってもまだ終わらないのでとうとう あきらめて ^C 押した。続きは来週やろう…。
うーん、バルク転送も一応動いてるように見えるんだけど、 デバイスの反応が思わしくないなあ。 それと、OUT トランザクションの時は DATA0/DATA1 にかかわらず トランザクション後のステータスレジスタを見ると ACK の時でも常に DATA0 になるんだけど、そういうもんなんかしら。 IN トランザクションの時のステータスレジスタは、 送信した DATA0/DATA1 と同じになるんだけどなあ。
昨日の堂本兄弟で久しぶりにエヴァンゲリオンの OP を聞いたので、 触発されてネット上を探してたら「残酷な天使のテーゼ」下川みくに バージョンてのを見つけた。下川みくにて…。 下川みくにには特に思い入れはないんだけど、 個人的には本物バージョンよりも好きかな。

2007/02/13 (火)
2年前に CS でやってたのを録画したまま途中までしか見てなかった 「ママは小学4年生」の続きをなぜか見始める。 しかし本編とサブストーリ(?)編があるうちの本編の回ばかり 録り損ねてるような気がする。 みらいちゃんを学校に連れてきてもいいことになって、その理由について 校長先生が「私から説明しましょう」まで言ったところで録画が 切れてたりする。ある意味天才的。

2007/02/15 (木)
中国新聞サイトの地域ニュース欄に出てた記事。 すぐに消されると思うので無断転載。
PC性能向上技術を共同開発 (中国新聞)
広島大先端物質科学研究科の佐々木守助教授(44)のグループと半導体製造の エルピーダメモリ(東京)は、パソコンのデータ処理性能を5−10倍に高める チップ技術を世界で初めて開発した。米国で開催中の国際固体回路会議で13日、 発表した。3年後にも実用化を目指す。新技術は、集積回路の中でデータ受け 渡しを指示するクロック信号の伝達速度を向上させ、クロック周波数を数十ギガ ヘルツまで引き上げた。
これが引用元と思われる共同通信の記事。無断転載。
IC性能向上に新技術 (共同通信)
 従来より処理能力が高い集積回路(IC)を簡単に低コストで製造できる技術を佐々木守広島大助教授らが14日までに開発した。スーパーコンピューターなどの高性能化が期待できるという。
 ICは多数の演算回路で構成される。現在主流の方式では、演算回路に信号を伝える配線が長いため、到達時間にずれが生じ、消費電力も多い。1秒間に演算できる回数(動作周波数)で表す性能は、単体では、現在最速とされる約4ギガヘルツ程度が限界とされてきた。
 佐々木助教授らは、信号の波形が乱れにくい伝送線路を用いて信号を伝える回路を設計、発熱を抑えた。伝送線路自体を振動させると各演算回路に同じタイミングで信号が伝わる。全体を小型化する方法も工夫した。
 1ミリ4方のチップの実験で12ギガヘルツを記録、消費電力も従来の10分の1以下だった。今後実際に演算回路を登載して実験する。数十ギガヘルツを出すことも可能といい、5年程度で実用化したいという。
で、ググって見つけた国際個体回路会議の 13日発表予定の佐々木助教授の論文の Abstruct。無断転載。
12GHz Low-Area-Overhead Standing-Wave Clock Distribution with Inductively-Loaded and Coupled Technique

M. Sasaki1, M. Shiozaki1, A. Mori1, A. Iwata1, H. Ikeda2
1Hiroshima University, Hiroshima, Japan
2Elpida Memory, Kanagawa, Japan

A clock distribution network using inductively-loaded standing-wave oscillators is designed. Synchronization among oscillators is achieved through magnetic coupling. The 12GHz clock distribution network is prototyped in a 6M 0.18m CMOS technology. A peak-to-peak jitter of 4.7ps is achieved on a 55 mesh structure, with a pitch of 200m. The power consumption is 80mW at 0.9V.

えーっと、まあ新聞記者に専門知識を求めるつもりも今更ないわけだが、 久々にネタとして面白いくらいの伝言ゲームだったので ちょっと載せてみた。 突っ込みどころ満載なので、どっから突っ込んでいいのか分からない。 そもそも漢字間違えてたり(×登載→○搭載)、 「佐々木守助教授」って書くと「ここではきものを」状態だし、 レベル低すぎ。 ちなみに元の論文については、 専門分野でもないし論文のことはよく分からんけど、 Abstruct 見る限り、 オシレータ間の同期を磁気結合でっていうあたりが 面白そうな話かなとは思ったけど。
fxp(4) の載った某メーカの組込み系ボード。 dmesg 見るとあるロットでは Intel PRO/100 M だけど、 別のロットでは i82550 だった。 おいおいロットによって載ってるチップが全然違うのかよ、と 思って調べてみてたら NetBSD の fxp(4) のチップ判別方法と 表示してる名前がいまいちなだけで、どっちも i82551 シリーズ だということが分かったので一安心。 NetBSD の if_fxp_pci.c は直したほうがいいよなー。
シルキーナイト。結局23時前までまったりする。

2007/02/17 (土)
最後のシルキーナイト (19:30〜) に行くはずだったんだけど、 昨日の夜になってえぷ氏から、 しょこたんがシャレオ (広島市内の地下道^H街) に 来るってメールが来たので、急遽ダブルヘッダー決定。 お知らせページ見ると 15時から整理券配布、18時開演なんだけど、 入場順が抽選というように読めるし、人数制限があるのかどうかも 分からないし、そもそもオープンスペースだから 整理券がなくても外野から見ることは出来るはずだし、 よく分からないので 14時半集合にしておいた。
14時すぎの時点ですでに整理券待ちの列が中央広場の内側半周くらい。 客の半分くらいが女の子という普通のアイドルイベントではありえない雰囲気。 14時半頃、握手会希望の列と握手会を希望しない列に分けられる。 15時から整理券の抽選。くじ引きで券を1麻衣引いてそこに入場順が 書かれている。うちは 256番 (ある意味キリ番ゲトー)、友人は 350番くらい。 で、握手会に必要な CD を 16時から即売。 会場が17時なので、整理券を持ってる人は 16:30 には集合しておいてください、 という意味不明なアナウンス。 30分おきに何度も並ばされるのはきついので近くのデオデオに CD を買いに行くとしょこたんの CD だけ売り切れ。 みんな考えることは同じだわな。時間がないのでロッテリアで軽く飯を食って 16時からの CD 即売に並んでたけど、CD の到着が 20分遅れる。 しょこたんは甲子園でイベントやってそれから広島入りするから しょこたんの到着が遅れるという話なら分かるけど CD の到着が遅れるてあーた、どれだけ手際が悪いのかと… 販売を担当してたのはフタバ図書 (ちなみにしょこたんは遅刻せず無事到着した)。 しかも DVD と CD は 1575円と1223円という面倒くさい価格が 最初から分かっているはずなのに、 「つり銭が不足気味なので小銭の用意を…」というアナウンス。 一体どれだけ手際が悪いのかと…。ちなみにフタバ図書 (2回目)。
結局17時から整理券番号順に入場してったけど、段差のないところに 立ち見するので、自分はまだ見える位置だったけど、 隣にいた中高生くらいの背の低い女の子はまず見えなかったはず。 で、一旦会場というロープ内に入ったものの、 整理券がなくても CD さえ買えば握手会に並べると 言い出したので、結局会場外の段差の上から見ることにした。

写真は17時前の会場外周の様子。 写真右側の白い柱の内側が会場。

イベントが始まると 10人くらいのスーツのスタッフが マジな目で撮禁破りの監視に動き出したり、 途中で案の定フラッシュがどっかから焚かれて 急に慌ただしくなったり、 さすがに今をときめく中央のアイドルのイベントは、 地元出身の某地下アイドルのさぶいイベントとは違ってマジやねえ。

イベント終了後の握手会。握手をしたいわけではなくて間近で見たいだけ なんだけども。 握手の際にしょこたんに「ギザカワユス」と言ったら 「ギザウレシス」と言ってくれた。お約束お約束。 それにしてもしょこたんは細かった。

ちなみにこの時点で14時から5時間ほぼ立ちっぱなし。 あと、イベント会場で、しょこたんにハマっていると言ってた シルキーメイドのえこ嬢を目撃したり。

その後続けて、最後のシルキーナイト。 今日は最後の 23時まで本当に客が多くて、あまりまったりできなかった。 ついに明日からホームレス。orz

2007/02/18 (日)
しょこたんブログの昨日のイベント部分。 ちなみに、この後のブログの写真見ると、打ち上げは五エ門だね。
http://yaplog.jp/strawberry2/archive/12121
http://yaplog.jp/strawberry2/archive/12122
http://yaplog.jp/strawberry2/archive/12123
http://yaplog.jp/strawberry2/archive/12124
http://yaplog.jp/strawberry2/archive/12125
先週の話だけど、ホワイトバランスが室内用になってた写真を GIMP で一発で修正できると菅原さんに教えてもらったので 早速やってみる。 GIMP 2.2.10 (for X11) だと、 メニューから「レイヤー → 色 → 自動 → ホワイトバランス」。 GIMP ってほんと何でも出来るのねえ。
NetBSD/x68k (68030/30MHz) で pkgsrc/shells/tcsh のコンパイルの続き。 先週 make configure が終わってソースのコンパイルに入ったばかりの ところでとめたので今日の make install は make build 以降に相当 するはず。で、11時半頃から初めて 15時すぎてやっとインストール完了。 全部で 6時間以上かかったことになる。 今どきのマシンなら1〜2分で終わるのに…。
えーっと、手元の USB デバイスの動作状況。 何一つ動作してないんだけど。
お、デジカメ (Panasonic DMC-FX9) がちょっと反応した。
slhci_open(addr=0,ep=0,CTL)control Cst req{0,5:GETSTAT,v=3,i=0,l=0} 
transaction(SET0,8->0:0) t=4 i=81<D+,A> st=1<D0,ACK> 00 05 03 00 00 00 00 00 
transaction(IN1,0<-0:0) t=2 i=81<D+,A> st=9<D1,ACK> Cdn
ACK> 50 00 07 05 01 02 40 00 
transaction(IN0,8<-3:0) t=4 i=81<D+,A> st=1<D0,ACK> 00 07 05 82 02 40 00 00 
transaction(OUT1,0->3:0) t=3 i=81<D+,A> st=1<D0,ACK> Cdn
Cst req{0,9:GETSTAT,v=1,i=0,l=0} 
transaction(SET0,8->3:0) t=4 i=81<D+,A> st=1<D0,ACK> 00 09 01 00 00 00 00 00 
transaction(IN1,0<-3:0) t=2 i=81<D+,A> st=9<D1,ACK> Cdn
umass0 at uhub1 port 4 configuration 1 interface 0Cst req{80,6,v=769,i=1033,l=2} 
transaction(SET0,8->3:0) t=5 i=81<D+,A> st=1<D0,ACK> short 7<8
retry=1 t=3 i=81<D+,A> st=4<D0,TIMEOUT> Cdn
Cst req{80,6,v=770,i=1033,l=2} 
transaction(SET0,8->3:0) t=5 i=81<D+,A> st=1<D0,ACK> 80 06 02 03 09 04 02 00 
transaction(IN1,2<-3:0) t=3 i=81<D+,A> st=9<D1,ACK> 10 03 
transaction(OUT1,0->3:0) t=3 i=81<D+,A> st=1<D0,ACK> Cdn
Cst req{80,6,v=770,i=1033,l=16} 
transaction(SET0,8->3:0) t=4 i=81<D+,A> st=1<D0,ACK> 80 06 02 03 09 04 10 00 
transaction(IN1,8<-3:0) t=4 i=81<D+,A> st=9<D1,ACK> 10 03 44 00 4D 00 43 00 
transaction(IN0,8<-3:0) t=4 i=81<D+,A> st=1<D0,ACK> 2D 00 46 00 58 00 39 00 
transaction(OUT1,0->3:0) t=3 i=81<D+,A> st=1<D0,ACK> Cdn

umass0: Panasonic (Matsushita) DMC-FX9, rev 1.10/0.10, addr 3
umass0: using SCSI over Bulk-Only
Cst req{a1,254,v=0,i=0,l=1} 
transaction(SET0,8->3:0) t=5 i=81<D+,A> st=1<D0,ACK> A1 FE 00 00 00 00 01 00 
transaction(IN1,1<-3:0) t=3 i=81<D+,A> st=9<D1,ACK> 00 
transaction(OUT1,0->3:0) t=2 i=81<D+,A> st=1<D0,ACK> Cdn
slhci_open(addr=3,ep=1,OUT)bulk slhci_open(addr=3,ep=2,IN)bulk scsibus1 at umass0: 2 targets, 1 lun per target
Bst 
transaction(OUT0,31->3:1) t=9 i=81<D+,A> st=1<D0,ACK> 55 53 42 43 2A 00 00 00 24 00 00 00 80 00 06 12 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 Bst 
transaction(IN0,36<-3:2) t=10 i=81<D+,A> st=1<D0,ACK> 00 80 02 02 1F 00 00 00 4D 41 54 53 48 49 54 41 44 4D 43 2D 46 58 39 20 20 20 20 20 20 20 20 20 30 31 30 30 BBdn st 
transaction(IN1,13<-3:2) t=5 i=81<D+,A> st=9<D1,ACK> 55 53 42 53 2A 00 00 00 00 00 00 00 00 Bdn usbd_start_next: error=0
Bdn sd1 at scsibus1 target 0 lun 0: <MATSHITA, DMC-FX9, 0100> disk removable
Bst 
transaction(OUT1,31->3:1) t=10 i=81<D+,A> st=1<D0,ACK> 55 53 42 43 2B 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Bst 
transaction(IN0,13<-3:2) t=6 i=81<D+,A> st=1<D0,ACK> 55 53 42 53 2B 00 00 00 00 00 00 00 01 BBdn Bdn st 
transaction(OUT0,31->3:1) t=10 i=81<D+,A> st=1<D0,ACK> 55 53 42 43 2C 00 00 00 20 00 00 00 80 00 06 03 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 Bst 
transaction(IN1,32<-3:2) t=6 i=81<D+,A> st=9<D1,ACK> short 18<32
 retry=1 t=5 i=81<D+,A> st=1<D0,ACK> short 13<32
 retry=2 t=1 i=81<D+,A> st=40<NAK,D0> 
 retry=3 t=1 i=81<D+,A> st=40<NAK,D0> 
 retry=4 t=1 i=81<D+,A> st=40<NAK,D0> Cst req{21,255,v=0,i=0,l=0} 
transaction(SET0,8->3:0) t=4 i=81<D+,A> st=1<D0,ACK> 21 FF 00 00 00 00 00 00 
transaction(IN1,0<-3:0) t=2 i=81<D+,A> st=9<D1,ACK> SLdevice_clear_toggle CCdn
st req{2,1,v=0,i=130,l=0} 
transaction(SET0,8->3:0) t=6 i=91<D+,SOF,A> st=1<D0,ACK> 02 01 00 00 82 00 00 00 
transaction(IN1,0<-3:0) t=2 i=81<D+,A> st=9<D1,ACK> SLdevice_clear_toggle CCdn
st req{2,1,v=0,i=1,l=0} 
transaction(SET0,8->3:0) t=4 i=81<D+,A> st=1<D0,ACK> 02 01 00 00 01 00 00 00 
transaction(IN1,0<-3:0) t=2 i=81<D+,A> st=9<D1,ACK> Cdn
Bdn Cst req{21,255,v=0,i=0,l=0} 
transaction(SET0,8->3:0) t=4 i=81<D+,A> st=1<D0,ACK> 21 FF 00 00 00 00 00 00 
transaction(IN1,0<-3:0) t=2 i=81<D+,A> st=9<D1,ACK> SLdevice_clear_toggle CCdn
st req{2,1,v=0,i=130,l=0} 
transaction(SET0,8->3:0) t=4 i=81<D+,A> st=1<D0,ACK> 02 01 00 00 82 00 00 00 
transaction(IN1,0<-3:0) t=2 i=81<D+,A> st=9<D1,ACK> SLdevice_clear_toggle CCdn
st req{2,1,v=0,i=1,l=0} 
transaction(SET0,8->3:0) t=4 i=81<D+,A> st=1<D0,ACK> 02 01 00 00 01 00 00 00 
transaction(IN1,0<-3:0) t=2 i=81<D+,A> st=9<D1,ACK> Cdn
Bdn usbd_start_next: error=0
sd1(umass0:0:0:0): generic HBA error
sd1: drive offline
Bst 
transaction(OUT0,31->3:1) t=10 i=81<D+,A> st=1<D0,ACK> 55 53 42 43 2D 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Bst 
transaction(IN0,13<-3:2) t=5 i=81<D+,A> st=1<D0,ACK> 55 53 42 53 2D 00 00 00 00 00 00 00 00 Bdn Bdn 
transaction(SET0,8->3:0) t=4 i=81<D+,A> st=1<D0,ACK> 02 01 00 00 82 00 00 00 
transaction(IN1,0<-3:0) t=2 i=81<D+,A> st=9<D1,ACK> SLdevice_clear_toggle CCdn
st req{2,1,v=0,i=1,l=0} 
transaction(SET0,8->3:0) t=4 i=81<D+,A> st=1<D0,ACK> 02 01 00 00 01 00 00 00 
transaction(IN1,0<-3:0) t=2 i=81<D+,A> st=9<D1,ACK> Cdn
Bdn usbd_start_next: error=0
sd1(umass0:0:0:0): generic HBA error
sd1: drive offline
Bst 
transaction(OUT0,31->3:1) t=10 i=81<D+,A> st=1<D0,ACK> 55 53 42 43 2D 00 00 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Bst 
transaction(IN0,13<-3:2) t=5 i=81<D+,A> st=1<D0,ACK> 55 53 42 53 2D 00 00 00 00 00 00 00 00 Bdn Bdn 
うーん、惜しい。けどあんまり現役のデジカメでテストしたくないので、 せっかく sd(4) まで見えたのに嬉しさは微妙…。
slhci(4)。アンダーフロー (ACK が立っていて Host Transfer Count Register が 0 以上) がわりとよく起きるんだけど、どうしたらええんじゃ? トグル反転させずに再送依頼しようとしても SL811HS/T が ACK は返しちゃってるから、 デバイス側はもう再送を受け付けてくれなくなってるし。 受け取れなかったんなら ACK 立てなきゃいいだろうに。 受信した長さが足りなくて上位層が再送してくれる時には さすがに数回やってたらだいたい受信できるんだけど、 上位層が再送してくれないところだと、単純にそれだけ 情報がロストしたことになるだけだしなあ。

2007/02/20 (火)
「ママ4」見終えた。 江地さんがなつみの家で作業を始めた回が録画できてなくて 若干経緯が分からなかったものの、それ以降最後のストーリーにつながるところは 全部録画出来てたのが幸いかな。 最終回のみらいちゃんとのお別れのところの、 なつみより前にいずみさんのセリフ、あれは泣くわねえ。

あと2年前に CS で放送が始まった時にも書いたけど、 本放送は1992年で舞台設定も1992年、 みらいちゃんは15年後の2007年から来た設定なので、 それって今年なのよねえ。 もう本放送から15年経つのかー。

あ、アイソクロナス転送を漢字にしたつもりだったんだけど、 同期じゃなくて等時だな。頭悪すぎ orz。 日記は書き換えておこう。
NetBSD の LFS ってどのくらい使えるのかしら。 検索してみても「何もおきない、普通に使える」 「落ちた、ツカエネー」しか出てこないからなあ。

2007/02/21 (水)
えぷ氏と謎下見。
某氏と謎仕事話。

2007/02/22 (木)
朝。(謎
+   +
  ∧_∧  +
 (0゚・∀・)   ワクワクテカテカ
 (0゚∪ ∪ +
 と__)__) +
昼。(何
+   +
  ∧_∧  +
 (0゚・∀・)   ツヤツヤ
 (0゚∪ ∪ +
 と__)__) +
お帰りなさいませ、お嬢様。(違

2007/02/23 (金)
ぽわーーん。(壊
朝からうっとりしててとても仕事にならないので、 残業もほどほどに 3人で集合して、余韻だけで3時間くらい過ごす。
あと何故か帰りはや様に車で送ってもらう。 送ってもらうつっても片道1時間かかるんだけどな。

2007/02/24 (土)
まだ余韻が…。
明日は年に一度の謎集会。今年は3年ぶりくらいに 日本時間の朝9時開始なので ちょっとは起きれるかなーと思ってたら、ヨーロッパ人が 深夜2時スタート (終わるのは 4時くらいになる) ってばっかじゃねーのみたいなことを言い出した模様。 あのなあ、2時間早めてお前らのところを深夜0時スタートにするとこっちは 朝7時なんだよ。真冬の日曜朝7時に起きる身にもなってみろよ (さすがに去年は起きれなかったけど)。 世の中白人だけで回ってるわけじゃないんだぞ。 世界中から同時刻に参加するんだし、みんな同じ職業って訳でもないし、 何曜の何時に設定したって誰かがつらいことぐらい地球儀見たら分かるだろう。 毎年時間をローテートしてったっていいくらいなのに、空気読めよなー。 と言っても謎集会も最初の年は面白かったけど、 翌年から原稿棒読み (棒書き?) っぽくなって 後から出てくるログ見れば十分な感じもしてるんだけど。
メール消化中。VIA C3 の ACE サポート、キターー。 VIA C3 のたぶん Nehemiah 以降 (かな、よく知らんけど) は CPU 命令で AES の暗号化が行える。 OpenBSD では 2年くらい前からすでにサポートしてて、その時に少し 遊んでみたことがあって、当然爆速で動く。 確か Celeron/2.4GHz の普通の PC で OpenSSL で AES するよりも C3(Nehemiah)/667MHz のほうが圧倒的に速かった気がする。 いいなー、何かに使えないかなー。 それ言うと、AMD GeodeLX も CPU が直接 AES をさばけるんだけど、 誰かサポートきぼん。いや使い道はないんだけど。
メール消化中。新 intro(9) がよさげ。
曽田さんから、セキュリティ上の理由で find -delete は find | xargs では代用できないという解説を頂く。 知らなかったのでこれは恥ずかしい。 おまけに1通目はスパム判定されてて気付かなかったので レスが遅れて申し訳ないです。
永井さんに、バンクメモリの母とか呼ばれて、しかも 鎌田さん、立花えり子さんていう偉大な先輩と並べて書かれてて、 かなり場違いでむずがゆい感じ。 それにしても、Nereid のバンクメモリに何したっけかな。 覚えてないなー(汗

2007/02/25 (日)
2時すぎに寝たら、3時半に祖母がさわいでて起こされた。 うーん、年寄りと同居してるとね、よくあるんだけどね。 それはすぐに終わったんだけど、今度は目がさえて 5時半まで寝れず、 仕方がないので DVD を見始めたので(?)寝たのは7時半。 で、謎集会直前の 8時50分に運良く目が覚めたので、 参加してしまう。 えーっと、睡眠時間は合わせて 3時間。 ここ2週間ほどいろんな理由で睡眠時間は少なめ。 それはそうと、今年はせっかく朝9時スタートだから楽なはずだったんだけど、 一人で勝手に33時スタートにしてしまって、ちょっとぐったり。
当然そんな状況で英語なんか読めるわけもなく。 まあそうじゃなくても、どっちみち毎回眠たくて寒い状況には 変わりないのでイントロダクションが終わった頃にはもう読み疲れてるけど。 あと IRC は年に一度しか使わないから、いつも使い方が分からない…。

2007/02/26 (月)
風邪引いた…。orz

2007/02/27 (火)
風邪で有休。Google で市内の内科を検索して出てきた住所を Google Map で調べて、行きやすそうなところへ行ってみる。 そら Google 革命って言われるわなあ。 ただの風邪なのに筋肉注射と点滴という手厚い治療(?)だったで、 明日には治るでしょう。

2007/02/28 (水)
治らんかった…。また有休。orz

井崎のホームページへ戻る
isaki@NetBSD.org