415208121X
作者のオーソン・スコット・カードはうちの教会の会員だ。 以前から知ってはいたが、実は彼のほかの著書は読んだことがない。 『4150107467』、『41501088464150108854』など有名なのに。 私のSF離れはかなり深刻だったらしい。
以前に高橋(maki)さんからいただいた本を帰りの飛行機の中で読み返した。 前にも少し書いたが、この本は私にとって特別な本となった。
なにが特別かというと、まず第一に主人公の立場が私に相当近いことだ。
で、物語ではその家族の日常が丹念に描かれる。
他の人がどう読むかはわからないが、私にとってはごく細かいところまで共感できる日常だ。 そこに(あまり自分の内面を出さない)私なら他人には絶対に語らないような心理描写が織り込まれる。 本質とは関係ないが1983年頃のコンピュータ事情というのも懐かしい。
だから、この本は、時間や国こそ違うものの内面的には私のコピーについて語っているように感じてしまった。 自分の内面が、まったくの第三者によって描写できるほど普遍的なものであった ということに正直驚きを感じる。
この本のほとんどの部分はそうした日常の描写だ。 「消えた少年たち」というタイトルに表現される、ごくわずかな「非日常」はラストになるまで発展しない。 この日常に共感できない人はこの本をどう読むのだろう。
読んだ後は「消えてしまった少年たち」に対する切なさ、失われてしまった家族への思いが残った。 私自身も家族を失った経験があるだけにその切なさは一層である。 「悲しさ」ではなく「切なさ」。「絶望」ではなく「喪失感」。
また会える、そう堅く信じていても喪失感と切なさは消えないものだ。
ストーリーの流れはスティーブン・キングを思い出させるような気がするが、 考えてみると私はキングの本はまだ一冊も読んでいないのだった。
*1 うちの教会(末日聖徒イエス・キリスト教会、通称モルモン教会)の会員は自分たちのことをよく「末日聖徒」と呼ぶ。
教会からの勧めもあって、月曜の夜には家族全員が集まって「家庭の夕べ」と呼ばれる集まりをしている。
まだ子供は小さいと言っても、学校の宿題やら見たいテレビやら、それぞれ勝手にやりたいことがあるので、 なかなか全員揃うのは難しいので、良い機会ではある。 もっともうちの場合はそれとは別に朝食と夕食はできる限り一緒に食べるというルールもあるのだが。
今日は息子が昨日教会で聞いた話を紹介してくれた。「贖い」について勉強したのだそうだ。
それから、アメリカで買ってきた「Panda Monium」なるカードゲームで遊んだ。 対象年齢6歳以上と書いてあったのだが、息子にはちょっと難しかったようだ。 少々訓練が必要かも。
あっという間に次の〆切が来る。原稿書きが本職の人はもっと大変だろうなあ。
9月号のテーマは「tDiary」。 なんかtDiaryの特徴と紹介とか、tdiary-mode.elの改造とか、全然Rubyじゃない話ばかりなんですけど。
まあ、いいか。
今回の記事の対象はtDiary 2.0なんだけど、実際に私が使っているのは1.5.5(改造版)だったりするので、 原稿を書いてから確認したら、2.0では当てはまらないこととかが何箇所かあった。あぶない、あぶない。
というわけで、本番。
何度も不安に思っていた通り、朝から夕方までずっとというのはかなりしんどい。 学生たちも(一部を除くと)興味があるんだかないんだか。
しかし、午後、レポートを書いてもらったのだが、 ほとんどの人がごくまじめなレポートを書いていたのに感動した。 私が学生のときにはそんなにまじめに対応できてなかったような。
何時間にもおよぶので喋った内容は自分でも覚えていないんだが、 とりあえず用意したスライドはここ。 実に80枚もある。が、再利用したものも多い。さすがにゼロから書けないっすよ。
なんかCOBOLのサンプルプログラムに間違いがあると指摘があったのだが、 COBOLわからないので判断できないよぉ。すいません。
「プログラミング言語の良さ」とか、結構抽象的な話ばかりだった昨日とは 打って変わって実装の話に突入。結構楽しかった。学生さんはどう感じたのかな。
今日の話は
などなど。ゴミ集めの解説には、実際に学生さんにオブジェクトになってもらい、 リファレンスカウントしたり、マークしたり、スイープしたり、 コピーしたり、世代別スキャンしたりしてみた。 Java使ってて、漠然とGCについて聞いたことがあった人でも 実際にどうやって回収しているのか、初めて目で見てわかった人もいたようだ。 レポートでは「GC手法の名前はもう忘れてしまいましたが、実際の動きは一生忘れません」とか 書いてる人もいた。キミ、忘れるの早すぎ。でも、ありがとね。
やってる方も面白かった。
スライドはこちら。 「実演」の部分が学生さんに実際にGCしてもらった部分。
なかなかmalloc(3)が失敗する瞬間にお目にかかることはないので、 ついエラーチェックを怠りがちになる。そんな怠慢を強制的にあぶり出してくれるためのツール。おくじさんによる。
Rubyはちゃんとチェックしてる、つもりだったが、 実際には表題のページで「ダメな例」としてあがっている(泣)。
調べてみると、利用しているハッシュ表の実装(st.c)がチェックしてなかった。 だめじゃん。st.cが使っているmalloc()をチェック付き(必要に応じてGCもする) ruby_xmalloc()に置換。あと、win32.cとwince.cにそれぞれ未チェックの場所があった。 うーむ、こういうのって一箇所ダメならダメだからなあ。
JRubyでRubiniusのバイトコードを実行する、という話。 フィボナッチ数の計算でMRI(Matz's Ruby Interpreter)より30%高速だとか。
フィボナッチ数の計算がどれだけ意味があるかは未知数だが、 まあ、限定された局面でも私のインタプリタよりも高速だと言うのは それなりにすごいことだと思う。
ところで、JRubyはこないだYARVのバイトコードも実行可能だったような 気がするんだけど、なんなんだろうね、このパワーは。
Cはしばしば「高級アセンブラ」とか「移植性のある低級言語」と呼ばれて CPUをそのまま操作できるような気がするけど、 一昔前に一世を風靡した高級言語マシン(たとえばLispマシン)では、 Cの実行モデルをエミュレートするのはそれはそれは大変なことである、という話。
つい、日常的によく接する環境が普遍的だと考えてしまうけど、 そのような「狭い世界の常識」が通用しない世界はいくらでもあるということ。
もっとも、最近ではアーキテクチャの寡占化が進んで、 そういう意味での多様性は減ってきているけどね。 なんか、どのCPUもx86っぽいし。
でも、制約が厳しい時代こそそれを乗り越えようと多様化が進む傾向があるから、 ハードウェア技術の進歩によって多様性が減った現状から、 物理法則の限界に苦しむようになる未来では、 また多様性が増加するかもしれない。
それはそれで面白い時代だと思う。
WikiっぽいインタフェースによるGUIレイアウト定義。
Wikiっていうよりも Perlのformatを連想させる。 Rubyでボタンオブジェクトなどを生成していくよりは、 GUIの定義が簡単かもしれない。
「あなたがもし新しい言語をデザインするならなにを入れる?」という質問。
「新しい言語なんて作っちゃいけない」というものもあれば、 「高速GC」とかのような実装よりのものとか、 「型推論付きのオプショナルな静的型」という気持ちはわかるが無茶な希望とか、 さまざまである。
昨年のJAOOにおけるGlenn Vanderburgの発表。 英語だし時間も長い(55分)もあるので見るのも大変だが、 「Rubyの良さ」について真摯に語ってくれている。
リンク先はページを開くといきなりビデオが始まるので注意。
スライドとビデオがシンクロしているのが素晴らしい。 どうやってこういうの作るんだろう?
昨日、実家の母が床に落ちてた新聞広告を踏んで転倒。 脊椎を傷めて入院したと父から電話。
さっそく息子を連れて病院へ。 他の子供たちはいろいろと都合が悪かったのだ。
口は達者だが腰が痛くて起き上がることもできないのだそうだ。 そういえば、つい先日、妻も同じ状況で転んでいた。 転び方が良かったのか彼女はほとんど被害がなかったけど。 足元には注意したい。
X61のパームレストがあまりに熱くなるので、 右手の手のひらから手首の辺りにかけて低温火傷になったようだ(マジで)。 アザみたいになってる。
先週、原稿の〆切が立て続いて、長い間PCに向かってタイプしていたからだろうか。
よりによって右手を置く部分が一番熱いんだものな。Thinkpad。 なんらかの嫌がらせだろうか。Lenovo。
謝罪と賠償を要求する。...というのは冗談としても、 なんらかの対策を立てないとな。 どうするのが良いだろうか。
PCに触らない
というわけにもいかないな。職業上
USBファンで冷やす
すでにやっているがあまり効果はないみたい
なにか熱を遮断するものを置く
手近なものは使い心地が悪く、すぐ忘れる
熱伝導性の高いもの(導体テープ?)で熱を分散させる
良いものがあるだろうか。
うーむ。