Tuesday 31 July 2012

DatagramChannel

java 7 から入った DatagramChannel の select は動かないという結論になりつつある。いろいろやったけどな。

でも、select するより潔く別Thread で read/receive しろよって話はある。そっちの方が速いなんていう論文も。

いやでもさぁ、read/receive したら、そこで停まって終わりだよね。プロセスが終われないっていう問題があるんだよな。まぁ、いいんだけど。

別 Thread で受けて、SynchronizedQueue で通信してやれば良いんだよな。

この辺り、こまごまと実験しないと実装できないのがなぁ。Java の問題でもある。C だったら、問題ないのに。まぁ、C は C でプログラムがなぁ。

Monday 30 July 2012

Weather News Touch

iPhone の定番アプリなんだけど、

* update が悪評

「いきなり(無料)会員登録」させられるってのは、どうなの。しかも、トップページが変な SNS に。あらあらあら。 さらに、GPS の扱いがバグっているらしい。

なんだけど、GPS は iPhone の設定側から切れば良いらしい。これはバグだね。

で、トップ画面をMy CHから登録できて、それを本日の天気にすれば、今までとおんなじに。なるほど。

でもさ、ここまでやってくれるユーザはいないよ。みんな黙って消していると思う。

しかし、そこを乗り越えた有料会員とかがターゲットなんだろうから、無料の天気予報に使っている人たちがどうこう言おうと、あまり関係ないのだろうな。

 * * *

Kobo の方もいろいろ悪評立っている。社長のインタビューがさらに火に油を注いでいるし。でも、iPhone も Kindle も最初はひどかった。ま、長い目で(といっても半年ぐらいか?) 見るかな。

でも、個人的には見送りかな。ソニーリーダーも見送り。Kindle Touch も。

Kindle でもひどいのはひどいので、むしろ編集が重要かも。電子書籍で編集の重要性は高くなっていると思う。

Saturday 28 July 2012

Selector と blocking mode

Java 5 から入った java.nio の機能なんだけど、socket のデータが来ているかどうかを調べようと思うと、Selector と Channel を使う。Unix の select に相当する(実際には kevent ) わけだけど。

でも、何故か、socket を non blocking に設定しないといけない。そうしないと library level で文句を言ってくる。この non blocking は、fcntl の F_SETFL/O_NONBLOCK なはず。

これは、おかしいと思うんだよな。O_NONBLOCK は、read() がデータがないと -1 を返すってやつなはず。select できるかどうかとは関係ないじゃん。

select すればデータは来ていることがわかるけど、どれくらい来ているかまではわからない。なので、read しようとすると block する可能性がある。なので、O_NONBLOCK したい場合があるのはわかる。でも、データがあるなら、1 packet は取りたいはずだよね? block してでも。

僕は普通は、

* 先頭にパケット長を入れておいて、その長さまで読む

という実装になると思う。つうか、ほとんどそうなはず。本当は Datalink 層にそういう機能があるはずだけどさ。

この問題は、TCP か UDP とも独立。

UDP は、本来 packet が受け取れるか受け取れないかどちらかのはずなので、block するはずないんだよね。UDP なら read は、1 packet 読んで戻って来るべきで、1 packet ないなら -1 を返すべきだと思う。でも、そうはならずに、read で指定された長さまで block して読むか、まったく読まないで -1 を返すということになったの? なんで、こんなことになったのか良くわからないです。

O_NONBLOCK をセットすると read で読み足りない場合の処理を書かないといけない(まぁ、書かないといけないんだけど)し、その処理は busy wait になってしまいがち。

Friday 27 July 2012

HDD を消費する

去年、バックアップ用に750GB 3台ぐらい買ったはずだが、今年1TB を4台入れたので、その辺りのがゴロゴロ。

MBP17 も 500GB を 1TB に入れ替え。何に使うかって、VM か動画の持ち歩きとか、そんなものだな。

/dev/disk0s2 931Gi 327Gi 604Gi 36% /

Mountain Lion は入れますけど(OSの授業は、*また*新しいOSかぁ)、まだ入れてません。そういえば、~/Library にゴミが溜まりまくっているらしい。とはいえ、もはや 1GB ととか誤差だしなぁ。

du -sh ~/Library
20G /Users/kono/Library

いや、さすがに20GBは誤差とは言えないか。

昔の250GBなTime Machineとか、G4 Cube に入っていた3.5inch な500GB がスピーカーの重しになっていたりとか。まぁ、いろいろひどい。

Time Capsule もHDを4TBに入れ替えてみましたが、まだ、使い道を見つけられず。二重化するのが良いのかな?

PS3 の250GBも、MBP17 の500GBに入れ替え。PS3 は、もはやゲームはほとんどしないので、こっちも動画のキャッシュかぁ。

昔のHDDって、SATAになって割と読めるよね? BD-R よりも信頼性は高いかも。もっとも、容量が大きい分落ちた時の被害がでかいんだよな。

10 port USB hub を買って、iMac に3台つなげました。

いや、こんなことせずに、ゴミなHDDをZFSで合わせて使うとかが良い気もするが、あまり気が進まず。来年になったら考えようぐらいです。そういう2.5inch x X な筐体がきっと出るよね? それを大学とアパートで二重化するのが良さそうだ。

容量無制限な cloud disk もいくつかあって bitcasa とかも入れてみたんだけど、いまいち使う気が起きません。Desktop に50TBとか表示されるのは確かに面白いけどさ。

Wednesday 25 July 2012

試験

前期の授業は終わり。 まぁ、いろいろあったけど。ちなみに試験はやりません。試験勉強が無駄だとは思わないけど、採点面倒だし。

* 試験勉強するくらいなら課題やれば?

ってなところです。

CCNA な授業の時には、Cisco Network Academy の試験*だけ*でした。これは、覚えゲー的なところがあるんだが、それでも落とすのがいるのは、不思議。実際のCCNAの試験も、そうなんだけど、そっちは「そういう本を買わないとダメ」らしい。なので、やめました。

でも、CNA は一応網羅的なんだよね。なので、落としたのは少し後悔してます。もっとも、学生の知識量がそれで変わったかというと微妙だけど。

高校の数学の勉強とかは問題集ばかりやっていた。そもそも授業がそんな授業だったし。まぁ、手抜きな授業だったな、あれは。でも、結局、問題解くのが一番なことは確か。

でも、受験勉強の時の模擬試験を繰り返し受けるのは面白かった。自分の進歩の度合いがわかるから。範囲の決まった個別試験よりも、そういう総合的な試験の方が僕には向いていたらしいです。

実際の世の中も、総合的な試験の連続みたいなもの。父も「学校を卒業して試験がなくなると思ったら、社会人は毎日試験みたいなものだった」と言っていた。

* 試験の範囲を聞いて、そこだけ勉強する

って、変だと思うだろ? 分野は限定するにしても、さらに狭い範囲に限定した試験とかは

* そんなものは自分でやれ

という感じ。そこを理解したかどうかは課題をやれば自分でわかるはず。

そんなこんな理屈をこねて、試験をさぼるってところか。

Tuesday 24 July 2012

MBP HDD 換装の続き

大学で終わらなかったので、途中で止めて、家で続き。Carbon Copy Cloner は、途中で止めても問題ない。

大学で5時間、家で3時間ぐらいで終わったようです。Copy し終わったのを見ると 321GB。始める前は 342GB。なんか少ないんですけど。だいじょうぶかなぁ。

で、起動ディスクを変えて終わり。というわけで教訓は、

* HDD 換装は Time Machine backup してから

ってことですね。前回の iMac の入れ替えとかを見ると、Time Machine からの復帰の方が高速らしい。Time Machine は、sparse bundle で block 化されているので、入力側のopen の手間が少ないからかな。データコピーで差が出るとは思えないので。

で、気がついたんだけど、

* iPhoto の Database の下には、写真と同じ数のフォルダがあり、そこに2-3の数百byteのファイルが置いてある

ってこと。このコピーに時間がかかる。こういう小さいファイルがたくさんあるのは HFS+ とか rsync は苦手なんだよね。この Database 設計した奴は馬鹿だと思う。iPhoto は sqlite3 も使っていて、この情報は sqlite3 側にもあるんで、何かおかしなことが起きない限り、こういうものが作られることはないはずなんだが。反 sqqlite3 な人がいるか、sqlite3 の backup かなんかか?

写真を4万枚も置いているからいけないって説もあるが。iPhoto 馬鹿だから、全部を iPhoto に置くのは止めるべきだな。iPhoto は Photo Stream / 入力専用にして、メインの管理は別なアプリを使うのが良いと思う。

ただ、問題は乗り換え先に何が良いかということだけど。

Monday 23 July 2012

MBP のHDD換装

昔は良くやってたけど。まさか、500GBで足りないと思うとかないと思ったんだけどさ。でも、ふっと見ると、

/dev/disk1s2 465Gi 342Gi 123Gi 74% /

74%? ありえんし。今HDD やっすいしなぁ。ということで、1TBに入れ替えるんですが、

物理的な入れ替えは楽勝。ネジ外して、HDDを入れ替えるだけ。HDDについているぼっちが硬かったけど。

で、Command R で立ち上げてと思ったら、Time Machine からでないと新規インストールか。まぁ、仕方ないか、どうせ、あとで、Clone すると言ってくるし。と思ったが、

途中で停まる。なんで?

「ネットワークが落ちてる」

ええ? 一応、復帰した見たいだけど、Apple のrestoreなサイトにだけ繋がらない。たぶん、なんかのfilterに引っ掛かったか。え、じゃ restore できないのか。

Tiem Machine からは復帰できそうだが、Time Machine の最後のbackup は6/10らしい。換装してからだと、backup をupdateできないらしい。ぐ。はまったじゃん。

なので、仕方ないので、Carbon Copy Cloner でコピーするかと思ったのだが... いつのまにか有料に?! あ、そうか、recovery partition とかいるのね。というわけで、うざい広告見ながら CCC してます。これで、上がるのかな。

5GB 12分だから、

342/5*12 = 816

Sunday 22 July 2012

天空のリング

複数の人が密に結びついて一つの人格を形成するというと、もちろん「人間以上」なんだけど、あとがきにちょっと出てくるぐらい。あまり期待しなかったんですが、面白かった。

http://amzn.to/NFc8jx


ただ、処女長編なんだよね。なので、少し無理は感じました。短編をつなげると、そうなるということでもあるかな。

終盤に出てくるAIの話とかは面白い(1200イライザとか)が、少し消化不良な感じ。でも、ポッドと呼ばれる集合体の描写は面白い。少しわかりづらいのは、翻訳のせいか、あるいは、もともとわざとそうしているのか。でも、それを我慢すれば入り込めます。

こういう集合体に利点があるかというと僕は疑問だけど。もし、そういう利点があるなら、人は既にそういう方向に進化している気もする。必要以上に発達した言語能力と記号処理能力は、もともとそういうものだし。一度形成した集合体は離散集合を繰り返すような気もする。離別とか初期の選別とかは出てくるので、再構成まで突っ込んで欲しかった気もします。

フェロモンとか接触とかで高速通信できるなら、それはそれで面白い。でも、人間を端末化するのは良いが、そこに通すのはなんだ? UTF-8? Ethernet Packet? 最初は ASCII?

最近、あまり本とかアニメとか見れなかったけど、今週はだいぶ見終わりました。時空刑事ヴェッカーDO2、Fate/Zero。プログラミングも一つ片付けたし。少し調子が戻ったか?

Saturday 21 July 2012

オープンキャンパス当日


例年通り、しょぼい展示なんだけど、今年はディスプレイの数は多い。結構、スムースに動いているし。このディスプレイの右から左にお魚が「いか娘を背景に」走るという趣向らしいです。なんか背景つけろって言ったら、こんなことに。いつものパターンか。

ゲーム班は、Web GL 使った音ゲー。と言っても一人で作業して、一人で発表か。いや、立派。優秀だね。

昼間は、たまにスコールという天気だったけど、後半は晴れまくった。他の展示も、ロボットとか音譜編集とかARっぽいのとか、学生のアンケート集計システムとか、いつものって気もするが良かったんじゃないかな。高校生の人数も結構多かった。

ディスプレイは、3年生が406に置いていたのをそのまま使わせてもらったらしい。運ぶ手間がだいぶ楽になった。ありがと〜

Friday 20 July 2012

サーバ班

学科システム管理がどのように変わっていくかは、僕一人だけで決まるわけではないので、これからが楽しみです。

3年次に学科システムの管理をさせるというあれですが、今年からは、長田さんの希望で「修士に金を払ってやらせる」に。

まぁ、気持ちはわかる。3年次では「何もわかってないし、何もできない」から、結局、自分たち(=先生)でなんとかすることになる。それよりは、修士(=奴隷)にやらせた方が、まだ使えると言うことね。でも、それが僕が一番させたくないことだったりする。金もらっているっていっても所詮学生だからな。

システム管理とかは、修士や博士の逃避に丁度良いんだよね。僕もはまった方だからわかる。でも、Know How が学生に集中するのはダメ。所詮、学生だから。院生や教員が3年次に提案して、3年次ができる範囲で管理するというのが良いというのが僕の狙い。でも、まあ、また院生に戻すのも良いだろう。

システム管理の複雑度を上げるのは簡単なんだが、あまり意味はない。毎年、3年次が習得できる程度が望ましい。なのだが、LDAPをセンタの下請けにしたり、ホストの登録からDNSへ反映させるとか、Edyによる鍵管理とか、そんなものを入れたので、若干、3年次の能力を超えた感じだな。いや、もちろん、ちゃんと作れば管理業務と分離できるのだが、まぁ、難しいよね。

DNSもメールも、管理の手間が上がっていて、うちの規模だと既に厳しいのかも。大したことないといえばそうなんだが。メールは Gmail に移行したので楽にはなったが、危うく、学科のメール自体を落とされそうに。Gmail があるから、smtp server 要らんってわけじゃないんだよ。まったく。

学生が主導権を握れるというのは良いと思うんだよね。そうでないと、東工大とか沖縄高専とかそうだが、

* 使えないネットワークが一番安全

ということになりがち。もっとも、P2P / bittorent とかで、後ろから撃ってくる学生も多い。自由なネットワークを守っているのに、後ろから撃つか。そうか。

でも、システム管理なので、ネットワークの設定とかLinuxの設定とかに気を取られてしまうようだが、本来は、

* 学科の教育研究の Know How や情報の流れを集約する

のが学科システムで、その中心は Web なはず。今は、WordPress だが、そのダサさにはがっかり中です。Mercurial とか RedMine 使えよとも思うが。

もう一つ重要なのは、

* システムのバックアップ

この間もVMの移行の時に「バックアップが読めない」で泣いてたよね? サーバ班は、まず「バックアップのフロー」を確認するべき。システムの信頼性を決めるのは第一義にバックアップだから。

その辺りを押さえて、オープンキャンパス用のポスターを作ってくださいってな、そんな話を金もらっている学生にしてました。じゃぁ、明日のオープンキャンパス頑張ってね。

Thursday 19 July 2012

オープンキャンパスと、オープンソースカンファレンス

どっちも似たようなものだなぁ。オープンキャンパスは土曜日で、OSC Okianawa は9月だが、申し込みは8/6ですか。

オープンキャンパスは、今年は Web GL とあともう一つ出すつもりです。今年は「研究室のパネル作れ」みたいなお達しが。でも、どうも、全部パネル用意して説明員付けると教室が一杯になるらしい。別にデモやるんだから、そっちで表示すれば良いよね。この辺りは、メール読んでるだけだと良くわからん。

OSC は、どうしようかなぁ。どうする? OSC は会場大学にすれば安上がりなのにと、ちょっと思うんだけど。そうだ、ビーチパーティやるならビールサーバ用意してくれと言っておこう。

Wednesday 18 July 2012

X11 を知らない

知ってる方が異常か? Smalltalk 絡みで、Multi Window が流行った時に、MIT で作られた Unix 用の Multi Windows System だけどね。

最初に見たのは X10 だったはず。

Client とWindow Server が、socket で通信するのが特徴。なので、

Windows Server と Client が別なホスト/PC でも良い

今の学生は、それを新鮮に思うのか。VNC とか ssh とかは知っているのだろうけど。

最初の頃は、どのホストからも Window 出し放題だったが、xauth とかができて、いろいろ制御できるようになった。でも、今でも root で入られちゃったらだめだろうな。xauth list が溜まっていることがあるので、気を付けないと。

実際には、Windows Server と Client が別なホストとか、そんなに便利なわけでもなく。ssh tunnel の方が圧縮が効くので WAN だと速いとかも古い話だ。

でも、ゲームが動かないぐらい graphics には弱かった。shared memory とかも後からついたんだけど。今は、それほど遅いとも思わないけどね。

なんだけど、k14 font が好きなので、xterm をまだ使ってます。k14 font を otf に変換して、Terminal.app で使ったこともあるんだが、なんか微妙だた。NEXTSTEP/OPENSTEP 使っていた頃は、Terminal.app で何の問題もなかったんだけどね。Cannon の日本語対応は素晴らしかった。OS X の Terminal.app も、かなり良くなっているんだけど。

まぁ、X11 そろそろやめればとも思うんだけどさ。

Tuesday 17 July 2012

Squeak と Xcode

久しぶりに Xcode 開いたら、ぜんぜん違うのでビビりました。

久しぶりに Squeak開いたら、ぜんぜん違うのでビビりました。

Workspace で、printIt とか doIt すれば良いんだが、あんまり、うまくできない。この辺り、ちゃんと資料作らないとだめだな。

もっとも、今、Squeak をやる意味がどれくらいあるかは微妙なんだけど。でも、歴史的な意味でオブジェクト指向をうんぬんするなら、Squeak 知らないとだめでしょ? だめってほどでもないか。

Xerox Parc が、今のコンピュータ環境のほとんどを発明したのは、ある意味でラッキーだったと思うけど、Smalltalk 80 は、数少ないアンラッキーな部分の一つだった。

とか言いながら、また来年まで先送りしてしまうのか? いま、Squeak やっている人ってどれくらいいるんっだろう? ザウルスで動いたのを見たのが他の人が使っているのを見た最後かなぁ。

Monday 16 July 2012

All in One

あやしいインドのスナック。カレー風味です。かなり辛い。All in One ってなんだよ。

お昼頃の雷が近かった。ベランダに出て、外を見る人が多数。どこに落ちたんだ? 沖電の煙突か?

とか気楽にしていたら、ネットがつながらない。Time Capusle が飛んでる。ランプ点いてないし。しかし、こんなこともあろうかと、予備の Time Capsule があるんだよ。と外して使えたら、なんかランプが点く。気絶していただけか! で、また、元に戻す。すると、iMac がつながらない。おいおい〜 Cable か? ifconfig down/up ではつながらず。少し暗い気分になったが、立ち上げ直したら治りました。こっちも気絶していただけか。ノイズで状態が飛んだか。

Sunday 15 July 2012

やれば簡単なんだが…

なんか、取り掛かれない時がある。他に優先するものがあればは当然だけど。しばらく、手を付けてないと、時間ができても取り掛かれない。

そういう時は、

* とりあえず、何か始める

のが良いらしいです。ちょっと矛盾しているが、やり始めるとやる気が出てくる、人は、そんな風にできているらしい。

なので、

* 簡単にできる部分

を残しておくのが良いね。次は、そこから取り掛かる。OS なら Shortest Job First だ。

SJF は簡単な原則だけど、使わないで損している人は多い。例えば、

* 病院

とか。Shortest Job First にすれば、待ち時間はだいぶ減ると思う。

でも、学生のコードを見ると、文句ばかり出てくるな。でも、ここまで出きてるのは、すごいと言うべきか。プラスに捉えよう。

Saturday 14 July 2012

いじめ

学校は集団だから、一人が攻撃の対象になることは良くある。障害があったり、あるいは単に頭が良かったりする、そんな差を見つけていじめるわけ。差異を良くないものとする圧力があるので、正当化されたりする。

傷つき傷つけあう。人はそういう風にして育っていくものだと思う。いじめられる方だけではく、いじめる方にも傷を残すもの。傷を癒すのは許ししかないと思う。いじめた方は罪を背負うわけだから、それを許す。いじめられた方は傷を負うわけなので、それを許すみたいな感じか。無罪放免とは違うけど、いじめた人を追求していじめるのは、循環論法だと思う。

いじめの裏には差別があるわけだけど、「なんとなく嫌だ」で嫌われている人とかも集団だと出てきてしまう。「そんなの机とか椅子とかと思えばいいじゃないか」みたいなことを研究室の先輩は言っていたが、自分でそれが「根拠のない差別」だと自覚することが重要だと思う。

日本の同調圧力は、むしろ差別の意識化を妨げていることがあって、少しでも違うと直せってことになるが、それはいじめにつながりやすい。人は一人一人違うのであって、その差を受け入れることが大切。それが、あまり、はっきり教えられてないし、差別の社会的制裁もあまりない。それが、いじめの裏にあることだと僕は思う。

嫌韓とか嫌中国とかも僕は差別に過ぎないと思うので、公言するような人は、差別の意識化が足りないのだと思ってます。

そして、差別やいじめを解決するのは犯人の酷しい追求ではなくて、許すことだと思う。違うことを受け入れて許す。その辺りは、中学生の頃に自分で考えることだと思う。それが厨二病だと思うし、かからないといけない病気の一つだと思います。

僕も嫌われることは多いが、偉そうな感じだからか? 嫌う理由はいくらでもあるよね。別に構わないです。女性に「こういうタイプは全然ダメ」とか言われたこともあるな。

Friday 13 July 2012

時空警察ヴェッカー

どうでも良いアイドルものなんだけどね。2006年辺りに録画したらしいです。発掘してみました。

時空警察ヴェッカー 3本
時空警察ヴェッカー DO2 Phase 1-Phose 9.5

なんですが、時空警察ヴェッカーは、割とまとも。あまりタイムパラドックスとか扱わないのも、下手に扱うよりは好感持てる。やるなら、ちゃんとして欲しいし。クロノライナーは、それなりにかっこ良いし、いきなり、クロノライナーの制限とか出てきて「おぉ」って思った。

DO2 では用語がなかなかよろしい。ローレンツホールとかシュバルツシュルトシートとか。カナとメイの対立もシリアスな割にあほらしくて良いです。

でも、それ以外は、なんか、学祭の演劇ですか? みたいな印象でした。DO2のPhase 2,3 とか、ひどい。ひどすぎる。いや、そこまでしか見てないんだけど。後半良くなるのかな。

安物感は「その敵、さっき倒していたよね」から来ているのではないかと思うけど、多少の脚本の矛盾には目をつぶるというか、意図的に矛盾を入れる方針?!

信じられませんが、6月に舞台があったらしい。

http://weckerx.info/

まぁ、ある意味では、そういうのに向いているのかな〜 アイドルの売り方か。

Thursday 12 July 2012

二郎系

通堂に引き続き、琉大北口にできた我流。二種類の店舗があるのね。一方がとんこつで、一方が二郎系だそうです。で二郎系の方に。

前に、あがりのG麺があった時には「背脂抜き、天かす抜きなら、いける」と思ったのだが、知らなかなったので、うっかり「野菜増し」にしちゃったよ。あらら。



スパイシーと書いてありますが「カレー風味」。正確にはカレー粉風味か。つまり、かなりジャンクな感じ。キャベツは炒めてあるのか。生野菜、そんなに好きじゃないのでそれは問題ない。でも、

* 大量に乗っている生玉ねぎ

は、ちょっとなぁ。どっちかって言うと、こっちを炒めて欲しかった。さらに春巻きも頼んでしまったので後悔度高かったです。太麺な麺は良かったかな。

そういえば、何故かツナの小さい塊、酒のつまみとかのが付いてくるけど、あれも若干疑問。

まあ、若者向けのジャンクな遊びだと思えば、そんなものかも。我流は割と変わるところなので、少し経つと良くなる可能性もあるかな〜

Wednesday 11 July 2012

Retina MBP

買ってません。が、学生が既に二人ぐらい買ってる。うらやまし〜

画面の解像度的には、今の17inchより広い。近眼には、広さよりも解像度かもね。

しっぽも見ましたが、ま、こんなものかな。それよりは、CPU 4 つなの。うーん。

薄いのと、15inch で、かばんの選択肢が増えるのが良いかな〜

さて、飯どこにいこうかな。

Tuesday 10 July 2012

百人一首

iPhone アプリでちょっと高いんだけど。浜島書店? 音が切れないのでボリューム絞るしかないが、欠点といえばそれぐらいか。

http://www.hamajima.co.jp/iphone/hyakunin-isshu/

2007年あたりも良くやっていたらしい。

http://seeker-s-eye.blogspot.jp/2007/10/n704i_06.html

100首で7分程度、一枚5秒切るぐらいらしいです。これ以上、速くすることも可能だとは前回練習した時にわかっているんですが… そうすると、単なる反応ゲームになってしまう。いや、もともとそうなんだけど。それより、お手つき多いの何とかしないと。どうしても4枚程度お手つきが。

紫式部の「めぐりあいて」が昔から好きですね。恋の歌が多いが、通い婚だったとは言え、このレベルだと誰とくっついても玉の輿だからな〜 「おもいわび、さてもいのちはあるものを」とかも。

まぁ、最近はお正月の子供付き合いもないので、百人一首をやる機会もないです。

昔から記憶ものは苦手だったが、一つ覚えて、あとはそれから連想なんていう方法もあったらしい。なにか一つ覚えるのは苦手意識から逃れる方法としても良かったかも。

Monday 9 July 2012

Coq

Coq'Art と格闘しているわけなんですが、

Interactive Theorem Proving and Program Development: Coq'Art: The Calculus of Inductive Constructions
http://amzn.com/3642058809

まぁ、いろいろひどくって。まず、Scan な PDf で文字がかすれて g とか読めない。

どうも書いている人は、証明とか基本的なことを説明する気はまったくないらしく、カーリーハワード対応だの、β簡約だの、シーケント代数だの説明なしで出まくり。それは、まぁ、僕は我慢するんだが、肝心の Coq の説明も要領を得ず。

まぁ、そんなものでも問題をやってみれば少しはわかるんだけど、最初に出てくるのは型のチェックの例ばかり。いや、確かに重要なんだろうけど。第三章になってようやっと命題論理の証明が出てくる。そこでも、tactics とかは、いったいなんなのか、その実行はなんなのかとか全然説明がない。うーん。

なので、あまりにひどいので(まぁ、もう少し読む気ではあるんだが)、Twitter で聞いたら、

Certified Programming with Dependent Types
Adam Chlipala
http://adam.chlipala.net/cpdt/cpdt.pdf

というのがあるらしい。

こっちは、いきなり induction とか出てくるので、もっと、さっさと証明しよう的な感じ。こっちも証明論の基本的な説明はなしかぁ。まぁ、いいけどさ。

まぁ、どっちの本でも、大変だよな。プログラミングと証明は本質的には同じものだと思うけど、証明は難しい。だいたい4乗ぐらい難しい気がする。

この手の「プログラミング言語とは、全く別の証明系」ってのも、虚しい気もする。プログラミングのエラーって、だいたいスペルミスとか写し間違いとか、そんなものだよね。アルゴリズムが証明されても、それを C とかに写すのだと、そこでエラーが出てしまう。

Coq は、構文的には Haskell (のインデントがないもの) に近いので、どうせなら Haskell にしてくれと思うけど、なかなかね。

そもそも、証明って何とかいうところからやらないといけないので、述語論理とその証明の入門を Coq でやるような、そういうものが欲しいところだな。

シーケント代数とかは、図式的な証明でわかりやすので、そういうのと組み合わせると良い気がする。カーリハワード対応とかも、そこで説明するのに、そんなに枚数が必要なわけではないし。

これに比べると、モデル検証系の方が楽だよな〜 もっとも、証明系でも手で数十ページの証明を書いていた時期もあったので、それに比べれば、ましかな。

あと、Coq で、様相論理扱うにはどうするんだろう? まぁ、いろいろ方法はあるけど。

Friday 6 July 2012

古いソース

なんか学生が「rogue が」とか言ってたので「やったことあるの?」というと知らないというので、自分ではbinaryを持っているんだけど、EasyPackage に入れるか。

rogue と nethack は、絶望的に古いです。LLVM が、また、いろいろ酷いことするし、64bitになっていたりするから、動かない。あ、jnethack は教育的でないからダメ。

rogue が rogue clone IV が一般的かな? 何故か、public domain rogue という tektoronic の人が書いたソースを持ってます。4.3 BSD なソースコードは現存しないんじゃないかなぁ。

まぁ、でも、一応動くところまで直したんだけど。それでも、やっぱり、たまに落ちるな。nethack は、まだ、良いんだけど、rogue の方がだめだな。

それで、思い出したんだけど、SRAの歌代さんの fep をまだ使っていたのだった。2007 年かなんかに compile したのが最後。そのバイナリは動く。動くんですが、新しくソースからコンパイルすることはできない。

なので、ちょっと力入れて直してみた。だいたい64bitで動くようになったんだけど、

Linux で動かない

そういえば、fep って、sgtty とか使っているゲロゲロな BSD なんだった。Mac OS X は BSD だから動く。Linux は termios で書き直す必要があるんだよ。はぁ。

でも、copyright を見ると、

Copyright (c) 1987, 1988 by Software Research Associates, Inc.
Distribution without fee is allowed as long as all copyright notices
are included.

なのか。1988 だから、24年前かぁ。まだ、動くってのが、むしろすごい。

fep は、まだ、command line interpreter ( ghci とか coqtop とか sicstus とか ) が結構あって、GNU getline でなかったりするので、あると、ちょっと便利。まぁ、Emacs の中から使うとか、screen から使うとかでも良いんだけど。

Wednesday 4 July 2012

水曜日の授業

水曜日って会議の日だったりするらしく、僕には関係ないのだが、16:20 の授業が、17:00 からに。宵型なので問題ないんだけどさ。

全体会議って、メールがある今では単なる無駄で、3-5人のタスクグループに分けて個別に並列ミーティングして結果をメールで共有するので十分だと思うんだけど。それで、もめるなら学科長なり多数決なり取れば良い。でも、人は「だぁだぁ、うだうだ」して「じゃぁ、来週に先送り」ってのが好きなんだよね。お好きにどうぞ。停めませんよ。

http://ie.u-ryukyu.ac.jp/programming3/

と言いつつも、プログラミング3は、今年はあんまり進まず。なんかうだうだ会議ばかりしてる気がする。そういうの嫌いなんだけど。

最初に、

* 一週間でできるものを繰り返し作る

で、Android のアプリとか、Web Service の基本とかやったけど、逆に、

* 作るものが矮小化

してしまった感じ。情報工学科の3年生だよね? 少なくとも目標はぶちあげて欲しいところ。分析力も甘い感じ。技術に関する知識が少ないのは経験もあるが、アンテナの低さもあるかな。まぁ、そういうのを学んでいく場所でもある。

まだ、ちょっと時間あるけど、どういう風になるのかな〜 3月になるまで何作るかうだうだ決まらなかった班とかもいたしな。

本来は、2ヶ月で全員対象だったので、「せこいもの」でも良かったんだけど。僕的には、そっちの方が教育的だとは思う。でも、僕一人で全員面倒見るのはなぁ。なんか、また、うだうだ言ってみるか。会議嫌いなんだけど。もっとも個別の実験はあるので、プログラミング系、Web Service 系のプロジェクトが「情報工学科なのにないってだけか。無理してやらなくても良い説はあるね。

Tuesday 3 July 2012

岩波の代数学

http://www.amazon.co.jp/dp/4000050281

彌永昌吉ですが、この本はなぁ。代数学は他にもいろいろ持ってますが、これは自習書には最悪だったんじゃなかろうか。(集合位相の方もそうなんだけど)

テンソル積の定義の「直積を (x,αy) - α(x,y) とかの線形則に対応した生成元とする部分加群で割る」ってのを在学中には理解できなかったと思う。今だったら、まぁ、そんなものかと思うが。あの頃のテンソル解析入門とかは、そういうのが多かった。数学の中でも代数学は特別な位置にあって、そういう視点から見ると、そういう導入の仕方になるというのはわかるけど、まぁ、それ以外の役には立たない。

一方で、物理や工学の教科書だと、「テンソルとは g_{ij} T^{ij} のように座標変換されるもの」。これだよ。直観的につかめるわけないです。テンソルとは多重線形写像のことだと断言した本を見つけるのは、もっとずっと後だ。と言っても、大学1年だったはずだが。

拡大体とかだと、アルティンがのガロア理論が結構良くて、それを発見したのはずっと後。数学の教科書的な代数学も読んだのだけど、交代積とかが天下りで導入されちゃうので辛かった。アルティンは目標がガロア理論と決まっているので、最初から多項式中心(つまり、代数的拡大)で話が進むので、わかりやすい。それでも、何回か読みなおしたけど。この間、ようやっと有限次拡大は代数的拡大に限るってのを発見したし。彌永昌吉だと「逆は成り立たない」とか他のと混ぜて書いてあるが、それじゃわからんよ。

もっとも、それは僕の限界であって、わかる人にはわかっていたと思われます。

アルティンは問題も多く、解答も丁寧。もっと早く読むべきだったな。

単に証明を追うだけではダメで、証明を追って問題を解いて、しかも、一通りの結論を得るところまで一気に読める力がないとね。彌永昌吉でも、そういう速度で読めば「あぁ、多重線形写像を最初に説明しているのは、同型を示すためなのね」とわかったかも。

だいたい、この手の本は、一通り勉強した後に、最短距離で思い出す索引みたいなものだからなぁ。

Sunday 1 July 2012

ウルトラマンネクサス

37話ぐらいで打ち切りだった、2004年のウルトラマン。ハリウッド版の映画 Ultraman の続きの設定らしいです。

僕は結構面白かったんだが、そもそも僕が面白いと思うようではダメなんだろうな。見なおしてみると、CM がウルトラマンの玩具ばかり。パジャマとか文具とか。景気良かった頃の話だが、話自体は真っ暗。

そもそも地球防衛軍ナイトレイダーが胡散臭くて、出てきたウルトラマンを攻撃したりする。で、ウルトラマンに変身する人が、落ちこぼれ系で、メンヘルな話も。しかも、ネクサス弱いし。まぁ、そういうのが面白いんだけどさ。大人は。

ウルトラマンを撮る構図が非常に低い位置から見上げるとか、巨大な手だけが斜めに立つとか、人の目線になっているものが最初の方では多かった。ウルトラマンのポーズとか決めの仕草とかもスピード感重視で良かった。光の剣とか弓の特撮も効果的だったし。映画の影響で空中戦も。野心的だった。

ナイトレイダーの装備も暗くてリアリティがあって、メカも僕的には良かったな。αβγで合体するあれだし。クロムチェスターっていう名前は「超合金出すぞ」的な感じだが、食玩のできが良かった。

http://www5f.biglobe.ne.jp/~wind_0196/chromechester/chromechester.html

ウルトラマンが弱いかわりに、ナイトレイダーが結構強い。強気な女性隊員とか、弱気な新人隊員とか。ウルトラマンの必殺技をパクるとかもあった。話自体も大外災害にあった地球人の自分自身の選択だったのが最後あたりに(おまけ的に)出てくる。名作だったとは言い難いが、ウルトラマンの中では頑張っていた。

怒涛のような玩具用の装備を消化しながらハードな設定を維持するってのは大変なんだろうな。一方で、怪獣は基本使い回し。僕は、それは面白いと思ったが、子供受けするかどうかは。

打ち切りになった理由は、視聴率と玩具の売れ行きだろうけど、マスコミ批判みたいなのも入ってたからな。幻の回みたいなものあるみたいだが、それほど見たいわけでもないかな。大急ぎでわかりにくいが、一応、話は完結したし。

初代ガンダムも、イデオンも、打ち切り。残念な気もする。完成度は維持して欲しいみたいな。ビジネス優先ばかりでは文化は育たない。逆に、文化優先で大衆から離れてもダメ。

打ち切り後のマックスでは、セブンとかの懐かし怪獣とか昔の俳優を使ったりとかで媚び媚びだったんだけど、なんかどうでも良かったかな。お笑い怪獣みたいなのが出てきたのは覚えている。メビウスとかで、ウルトラの星の設定に戻ってしまったのは、子供向けとしては仕方のないところか。