ネットワーク停止/悪夢再び?
今朝、起きて作業用Wikiにちょっと書き込んでたりしてたら、いきなりサーバに繋がらなくなった。mailもsshも何も繋がらない。急いで有馬に居る担当の人に連絡を取ったが、内部からもアクセスできず、サーバは見たところ(ハード的な)異常はなく、内部の人はインターネットにアクセスできるとのこと。つまりサーバのネットワークが切れている…。もう一連の過去の悪夢しか思い出せないが、とりあえず再起動してもらったら無事復帰した。
急いでlogを確認したら、messagesに
NETDEV WATCHDOG: eth0: transmit timed out
とかいうのが残ってた。やっぱネットワークカードか…。暗い気持で駄目元で検索してみたら、なんと似たような例が引っかかった!なんで前は見つからんかったんやろう…?
- http://supli.x0.com/archives/2005/10/netdev_watchdog.html
- http://pierre.vg/x/modules/wordpress/index.php?p=126
どうもe1000ドライバでTSOがonだとよくない、とかいう未確認情報だが、おそらくほぼ同じ症状なのでethtoolをインストールしてtsoを切った。これで安定してくれ!
とりあえず今のところ再発はしてへんが、前は半日越しくらいで再発したこともあったから油断はできん。が、多分大丈夫な予感。
劇場版 どうぶつの森
ちょっと前にWOWOWでやってたのを見て面白かったので、定例会合でもう一度見た。やっぱり面白い。
基本的には子供向けなんやが、演出がいい。友情とか夢とかがテーマで、割とべとつきそうな所がありそうなんやが非常にさっぱり演出していて好み。キャラクタは非常にデフォルメされていて一見コミカルに動きそうで、実際コミカルに動くこともあるんやが、その実普段の演技はかなり渋い動かしかたをしている。画面構成や色味もなかなか渋かったり、音楽もボサノバがキーになってたりして渋い。全体にそこはかとなく漂う渋さが心地良い。
話は四季の4部構成で、春の出会い、夏の冒険、秋の別れ、冬の邂逅とそれぞれでまとまっていて、1時間半でも飽きさせない。個人的には秋が好き。ビアンカさんが子供向けアニメとは思えない程渋かったりする。
ほぼ同じスタッフによる、たまごっちの映画はまだ見てへんが、そのうちDVDが出たりしたら見る予定。
Arc
ようやく出た例の言語。とりあえず未完成なんだけど使えるレベルになったので公開したということらしい。なんというか、非常にPaul Grahamらしい言語になっていて納得した。On Lispを読んだ人ならすぐピンとくる。
ざっとチュートリアル見た感じだと、Common Lispのエッセンスを持ちつつ文法を全部マクロで書き直したような印象。根本的にはCLだと思えば間違いないが、
- 名前はわかりやすくできるだけ簡潔に、よく使うもの程短く
- 自明な括弧を省く
- 述語関数の否定形はnotを付ければいい
といったどこかで聞いたようなポリシーがひしひしと感じられる言語デザイン。lambda は確かに使用頻度に対して長いなぁ、と思ってたので fn になって良い感じ。
他に気になった点は、
- 変数の代入オペレータが = とされ、これが実質setfなので自然に汎変数が使えるようになっている
- (= (car '(1 2 3)) 10) で'(10 2 3)になる
- (1変数)関数合成が関数名を : で繋ぐだけで実現できる
- odd:car で、carに適用した結果をoddに渡す関数
- 文字列が適用可能オブジェクトで、indexを渡すと文字にアクセス可能( = で代入もできる)
- (table) ってやるとハッシュテーブルができる
- 適用可能オブジェクトなので、keyを適用するとvalueが出る
- 勿論そこに = で値を設定する
- 1変数関数をブロックとして楽に書けるようになっている
- [+ _ 10] で10を足す関数
- リストをpush,popでスタックとして扱える
- マクロ定義のとき、w/uniqで楽にgensymができる
あたりか。とにかくOn Lispに書いてあったようなことを楽にするために、CLのガワを(色々要素を取り入れて)作り直したというところやろうから、これは本人は使うわなぁ。そういうわけなのでマクロ関係はほぼCLそのまま。
個人的には汎変数を軸にうまく値の代入が表現されていて、中でも適用可能オブジェクトがうまくハマっているあたりに感動した。確かにLisp系言語って代入関係が弱い*1印象があったが、これはかなり補強されたと言っていいんじゃなかろうか。まぁ、他はぶっちゃけ名前の問題とかマクロの問題なので、そのあたりはかなり好みが分かれそう。俺は許容範囲やけど、一般的な用語から逸脱した短縮はしてるからなぁ。(make-hash-table)が長過ぎるのは理解できるが、(table)って…。やはり可読性は犠牲になってるなぁ。
*1:弱いというかぞんざいというか、汚い、低レベルなことをしないとできない感じ