卒論発表

何の因果か知らんが発表が最後の最後やったんで、それまで他の人のを聞いたりタイムキーパーしたりして疲労が溜まりまくり。その影響か緊張してるようなしてないような変なテンションで発表した。
発表自体はスライドを結構みっちり作ったんで変に困ることはなかったが、発表技術としては可もなく不可もなくってところ。質疑で類似研究がありそうとか聞き捨てならないことを呟かれたりしたが、まぁなんか疲れたから今日はもういいや。
とにかく、疲れた…。

卒論提出

この期に及んで概要を修正したりしながら、なんとか平和に提出完了。研究室の他のメンバを待ってたんでギリギリに提出に行ったが、その時に会った他の研究室の知り合い達は「勿論泊まりだよ」とか「今朝結果が出たよ」とかまぁ、やっぱ皆ギリギリらしい。漏れ聞こえてきたところによると結果を白紙(ダミー)で出して後で差し替えるので今から頑張りますな人も居るとかなんとか…。

卒論書いた

ちょっと前に書き終わってたけど、概要について先生とか先輩からツッコミを貰ってた部分を修正して、全体も一通り読み直して誤字脱字とかも直したつもり。つーか昨日それは終わらせる筈やったんやけど、某DQ3のプレイ日記を読みだしてしまったのが運の尽き。半分徹夜で読んでしまった…。
とりあえず、そろそろ発表のほうもちゃんと考えな…。遊んでる場合ちゃうんやけど、どうしても現実逃避してしまうこの癖をなんとかせんといかん。

ネットワーク停止/悪夢再び?

今朝、起きて作業用Wikiにちょっと書き込んでたりしてたら、いきなりサーバに繋がらなくなった。mailもsshも何も繋がらない。急いで有馬に居る担当の人に連絡を取ったが、内部からもアクセスできず、サーバは見たところ(ハード的な)異常はなく、内部の人はインターネットにアクセスできるとのこと。つまりサーバのネットワークが切れている…。もう一連の過去悪夢しか思い出せないが、とりあえず再起動してもらったら無事復帰した。
急いでlogを確認したら、messagesに

 NETDEV WATCHDOG: eth0: transmit timed out

とかいうのが残ってた。やっぱネットワークカードか…。暗い気持で駄目元で検索してみたら、なんと似たような例が引っかかった!なんで前は見つからんかったんやろう…?

どうもe1000ドライバでTSOがonだとよくない、とかいう未確認情報だが、おそらくほぼ同じ症状なのでethtoolをインストールしてtsoを切った。これで安定してくれ!

とりあえず今のところ再発はしてへんが、前は半日越しくらいで再発したこともあったから油断はできん。が、多分大丈夫な予感。

劇場版 どうぶつの森

どうぶつの森 [DVD]
ちょっと前に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を渡すと文字にアクセス可能( = で代入もできる)
    • ("hoge" 0) で #\h が返ってくる
    • (= ("hoge" 2) #\m) で"home"になる
  • (table) ってやるとハッシュテーブルができる
    • 適用可能オブジェクトなので、keyを適用するとvalueが出る
    • 勿論そこに = で値を設定する
  • 1変数関数をブロックとして楽に書けるようになっている
    • [+ _ 10] で10を足す関数
  • リストをpush,popでスタックとして扱える
  • マクロ定義のとき、w/uniqで楽にgensymができる

あたりか。とにかくOn Lispに書いてあったようなことを楽にするために、CLのガワを(色々要素を取り入れて)作り直したというところやろうから、これは本人は使うわなぁ。そういうわけなのでマクロ関係はほぼCLそのまま。

個人的には汎変数を軸にうまく値の代入が表現されていて、中でも適用可能オブジェクトがうまくハマっているあたりに感動した。確かにLisp系言語って代入関係が弱い*1印象があったが、これはかなり補強されたと言っていいんじゃなかろうか。まぁ、他はぶっちゃけ名前の問題とかマクロの問題なので、そのあたりはかなり好みが分かれそう。俺は許容範囲やけど、一般的な用語から逸脱した短縮はしてるからなぁ。(make-hash-table)が長過ぎるのは理解できるが、(table)って…。やはり可読性は犠牲になってるなぁ。

*1:弱いというかぞんざいというか、汚い、低レベルなことをしないとできない感じ