Sunday, 10 August 2008

コピペコード

久しぶりに、修士の置いてったFederated LindaのJavaのコードを見てみると、修論発表の直前、最後の最後に入れてもらったサーバの情報を収集する部分のコードがコピペになってる。

デバッグ情報を得るためにパケットを送る部分を、既存のメソッドの再利用で実現しているんだけど、それを、そのメソッドをコピーして、ちょっと名前を変えて、中を少しだけ変えると言うわけ。それほど、多くはないが4-5メソッド位はあるらしい。

おかげで、メソッド同士の間違い探しを散々やるはめに... (自分の眼が、それに特化しているのがわかるのが悲しい... 学生のコピペ課題を見すぎたか...)

そういうことしたくないから、わざわざCの実装からJavaの実装に切替えたんだけどなぁ。かなり、いろいろ指導したつもりだけど、結局、土壇場になると地が出ちゃうという感じですかね。

あ、でも、Eclipse で同じソースを二つのWindowで同時に表示する方法を見つけました。C-X 2 にbindしたいよ... (と、役にたったとプラスに考えよう)

delegateでもinheritanceでも使えば良いんだけど、でも、プロトコル自体が安直なので、そうなってしまっているらしい。プロトコルの設計って、やっぱり、学生の手には負えないらしい。逆に、たこいプロトコルのたこい実装でも*動いている*ところは評価するべきか。

なんだけど、この実装だと、その部分を削除して掃除するところから始めないとだめか... まぁ、でも、4つか5つかだから。

他の部分は割りと良くできる。java.nioのSelectorとHandlerの部分とか。結構、うるさく言ったからなぁ。でも、Interface名とImplement class名に関連のない名前が付いているので、思わずgrepで探しちゃいました。Eclipseで、あるInterfaceを実装しているクラスを検索するなんて言うことも可能なのだろうとは思うんだけど、grepが楽。Java の名前付には英語的なセンスが必須。いや、nativeから見れば、どうせ変なんだろうけど。

でも、もう卒業しちゃったから文句も言えん。あ、でも、自分でハッシュテーブルに入れっぱなしで削除し忘れなんてのも見つけました。ひどい。誰だよ、こんなの書いたの。これじゃGCされないつうの。だから、自分です。ごめんなさい。

別な学生のRemote editorのJavaの実装では、一つのクラスのほとんどのメソッドの先頭に、

 if (lock) { ...

がはさまっているなんてのも見ました。しかもお互いに呼びあってるし。「これって、さっきチェックしたから、ここで同じことをチェックする必要はないよね?」

というか、それは、State Patternを使う方が良いよな〜

でも、vim の方の実装だと同じことをやっていたような記憶もあるな。Cだったら良いのか? C で State Pattern は意外に面倒だからな。

Saturday, 9 August 2008

天下一品

港川の方に寄ってみました。天下一品って、沖縄にはないが「どこにでもあるラーメン屋さん」というイメージが強くて... 実は、東京でも食べたことなかったです。そんなものだよな。

オープンした時の港川の行列ったら、すごい。なんですが、金曜日の夜は、一応、並んでいるんですが軒下に収まっている感じ。最近、スコールがとんでもないので、軒下かどうかは重要。なんだけど、「次の二人樣〜」でいきなり入れました。僕達の前は、全員三人連れだったらしい。

港川のお店はかなり広い。っていうか、店員さんがわさわさなんですけど。沖縄で、この規模は一杯にはならんだろ〜 最初のうちはいいけどさ〜 といっても、店員さんは、そのうち減るんでしょうけど。それにしたがって質が落ちるってのが沖縄パターンでもあるが。

で、学生がこってりで、ぼくはあっさり。でも、なんか量が少ない。風雲並に少ない感じ。僕には丁度良いけど。え、そっちは大盛りなの? それで? 餃子も小さいね。足りない人は二つとってくださいというところか。

iPhone で撮った写真ではありません。iPhoneの写真を自動的にiPhotoに移行して削除するというオプションはないのかな。同期と並行して写真の取込をやっても大丈夫なようではあるけど。

Friday, 8 August 2008

そろそろ学生が本番...

3年生の就活は9月から始まるらしいので、夏休みは遊んでおこうなんていう考えは甘いんですが、まぁ、学生は甘いものだからな。就職で苦労した4年次は3年次に「履歴書書いてみれば良い」とか助言してますが、3年次に書くことなんてほとんどないよ。と言うわけで、3年次は遊んでいるらしいです。

就活に失敗して大学院なんていう技もあるし、それはそれで悪くはないと思う。社会が甘くないことに気づけば少しは頑張る気になるか?

夏休み前に就活が片付いちゃえば、その後は卒論/修論やるしかないので、それはそれで悪くはないです。まぁ、motivationが下がるので最小限しかやらなくなるけどね。

そういうスケジュールなら、それに合わせたカリキュラムにしないといけない。実際、データベースの授業が3年後半だと遅いなんていう説があるらしい。ほげほげ試験に間に合わないとか。教えてもらうっていう姿勢だとだめなんだが、まぁ、お客様だからなぁ〜

しかし、どうして今ごろ4年次に、Emacs のTutorialやれとか、gdb の使い方を教えるとか、ld のオプションのOSによる違いとかをやっているのかは謎だ。例題動きませんとか言うのを見ると、SDL image のinstall時に libjpeg がなかったのでjpegが読めなかっただけとか。毎年のことではあるが。

Thursday, 7 August 2008

安いノートPC

http://pc.watch.impress.co.jp/docs/2008/0805/lenovo.htm
$399

ですか。なんで、こんなに安くなったのかな。もしかすると、Apple からも安いのが出るかも? MacBook で10万切るってのはありそうだ。

MagicPad
http://tinyurl.com/5b34s7

おぉ! iPhone で copy & paste 出来るのか? と思ったら日本語はだめなのね。でも、これを有料ってなんかひどい。しばらく待っていれば、update でcopy & pasteできるようになるんでしょうけど。

2.0.1 でも仮名パッドで入力すると先行入力候補リストのdelayがひどい時がある。あるというか多い。1,2,3 というぐらい。copy & paste もそうだけど、まだまだという感じですね。Root partion を大きくすると良いとかいう話があるみたいだが、2.0.1 の Jail Break は、まだ、出てないですね。

Wednesday, 6 August 2008

Larrabee

http://tinyurl.com/6hp5zj
ついにベールを脱いだIntelのCPU&GPUハイブリッド「Larrabee」

ララビー? 二本のRing busの上に10個のin order CPUって、Cellそっくり。

でも、256kのlocal memory ではなくて 256kのcache だってところが違う。プログラミング的には楽かな〜

と言っても、どうせ、SSEのcache prefetechだとか、メモリ競合を避けるとかで、並列アクセス可能なデータ構造を頑張らないといけないのは、同じでしょう。メインメモリ上の木構造を追いかけるなんてのは、やっちゃいけないんだろうし。

GPGPUよりは楽しそうかな〜

Tuesday, 5 August 2008

Network Academy の先生は試験ただ?!

http://tinyurl.com/6r7qm2

Networking Academy Instructor Exam Fee Waiver Program

とか言う話が〜 あ、でも一回で合格しないとだめらしいです。CCNPの4つもカバーされているらしい。すばらしいです。

4月にBSCI落っこちたばっかりだからな〜 いつ受けるかは謎だ。といって、CCNAもう一回受ける気もしないし。

沖縄は涼しい

夜は冷房止めてだいじょうぶみたい。扇風機は付けてます。つうか、31度ぐらいだと、あまり暑いと感じない身体になったかも。

でも、最近、寝汗ががなぁ... 昼間、歩くと汗びっしょり。結局、大学に置いてある着替えを含めて、1日2回は着替えているので、洗濯の頻度も倍です。洗濯機が乾燥までやってくれるので楽勝です。

外から部屋に入ると、さすがに冷房ないと死にます。水道からはお湯が出て来るし。