« December 2004 | Main | February 2005 »

January 29, 2005

レイトレ動作

新アーキテクチャに移行して、コンパイラ・アセンブラ・シミュレータのバグを1つずつつぶしていってようやくレイトレが動作。何もしなくてもアーキテクチャ変えるだけで速くなったりするあたりにちょっとソフトウェア側の限界を感じたりもしつつ。でもまだまだ速くする余地はいくらでもあるので1つ1つやっつけていこう。

とりあえずリファクタリングを伴う大がかりな移植計画は完了したので、やっとこれで心おきなく試験勉強チューニングができ……あれれ?

| | Comments (0) | TrackBack (0)

January 28, 2005

バッテリがへたってきた

battery-health

X23のバッテリ情報を見てみたら、「バッテリを交換してください」と出た。最近、「残り30%」くらいからいきなり「残り3%」とかにがくんと落ちて「いますぐ作業内容を保存してください」と出ることが多いと思ったら。

ま、長時間バッテリで作業することはほとんどないし、これ以上X23に投資してもしょうがない気がするので放置かな。X23用のバッテリ、一昔前はAmazonで14,000円という破格で買えたのだが、今は値上がりしてしまったようだ。

| | Comments (0) | TrackBack (0)

January 26, 2005

プラネテス終了

NHK教育で放送していたアニメ「プラネテス」が最終回を迎えた。舞台は2075年、数十万の人間が月面都市や宇宙ステーションで暮らし、火星への有人飛行も成功し、今再び木星への有人飛行計画が実現しようとしている時代。そんな時代の宇宙のゴミ「スペースデブリ」の回収屋の話である。

このアニメはfunnyという意味でおもしろかったのはもちろん、いろいろと考えさせられたという点でinterestingでもあった。以下、ネタバレなど全く恐れずに感想。

Continue reading "プラネテス終了"

| | Comments (1) | TrackBack (0)

バグ、バグ、バグ……

コンパイラのリファクタリングをしはじめたところものすごいことになって、簡単なコードも通らないようになってしまった。

数日を費やしてようやくレイトレが動いた!と喜んだのも束の間、あまりにも早い実行終了に不安を覚えながらシミュレータの出力を見ると、真っ白な画像が!はう。

おまけにデバッグのために単体テストをいくつか書いていたら、その途中ではるか上のレイヤーの多相型展開に関するバグを見つけてしまった。レイトレには全く関係ない部分とはいえ、多相型の扱いをウリにしてるだけに目をつぶるのは……それ以前にテストコードがコンパイルできないとデバッグもできないゾ。

| | Comments (0) | TrackBack (0)

January 25, 2005

D&E

C++の設計と進化を購入。想像していたのよりもかなり分厚くて読み応えがありそうな本だ。

冒頭にStroustrup先生書き下ろしの寄稿「2005年のC++」があり、これを読むだけでも買う価値はありそう。この特別寄稿は

  • 「私たちは今どこにいるのか 2005」
  • 「私たちはどこにいたのか 1995-2004」
  • 「私たちはどこに向かうのか 2005-2014」

の3本立てなのだが、はじめの「私たちは今どこにいるのか」を読んだ時点で「残りの2つは本書の内容を読み終えてから読むことを勧める」とのことだったので、後の楽しみに取っておくことにして、まずは本文を読み進めていくことにする。

| | Comments (0) | TrackBack (1)

January 24, 2005

ATOK for Linux導入

taro

買うと決めていた一太郎 for Linuxが届いた。一太郎は早くも使わないような気がしているが、発売記念キャンペーン価格で安かったので購入。

X23には例によってCD-ROMドライブがないのでどうしようかと思案したが、結局昔使っていたSCS外付けのCD-ROMドライブを使うことにした。PCMCIAカードをつっこんだだけでマウント可能になるのはすごい。今のLinuxではこれがあたりまえなのか。

まずはマニュアルに従って一太郎およびATOKのインストールを行った後、Vine users MLの報告に従って
・imelibへのパッチ当て
・.Xresourcesに Emacs*useXim: True を追記
・~/.emacs.elのatokx関連の設定はX WindowのみでUTF-8なんかを使わない限り関係ないようなのでコメントアウト
を行った。

今のところこうしてこの文章もATOKで書いている。Emacsはちょっと問題で、入力や変換はできることはできるのだが、文節区切りを変更しようとして十時キーを操作したりするとその入力がATOKではなくEmacsに捕捉されてしまい、変換モードが終了してしまう。Emacsで使えないと価値半減なので、この点についてはもう少し調べる必要がありそうだ。

これまでLinux上で作業をしても最後に日本語レポートを書くためだけにわざわざWindows上にファイルを送ってそちらでレポート本文を書いたりしていたが、これからはLinux上で不自由なく日本語入力が行える。

Continue reading "ATOK for Linux導入"

| | Comments (1) | TrackBack (0)

January 21, 2005

Mac mini: メモリ増設

hirosumi/によればMac miniをユーザーが分解することもできるらしい。メモリスロットは割と自明な位置にあるっぽいのでユーザーが自分でメモリを増設することも可能か?

と思ったのだが、実はAppleのBTOでメモリ増設を頼んでも別に損をするわけではなく、むしろ得になるかもしれない。1月15日時点でのPC2700 512MBの価格は6,500~といったところ。安心を求めてsamsungのを買おうとか思ったら9,000円である。これに対してAppleのBTOでメモリ512MBを選択すると+8,000円(学割を使った場合)。その価格で確実に動く保証が得られるわけだし余計なリスクを冒さずに済むのだから、Appleに頼んでしまうのがよい気がした。

Continue reading "Mac mini: メモリ増設"

| | Comments (2) | TrackBack (1)

物欲を持てあます

1月も半ばを過ぎてかなり遅れた感があるが、散財人氏に倣って今年の抱負をまとめてみたい。

Continue reading "物欲を持てあます"

| | Comments (0) | TrackBack (2)

January 19, 2005

A380ロールアウト

B747を抜いて世界最大の旅客機となるA380ロールアウトされたようだ。総2階建てというギャグのような機体だ。

記事によれば「試験用に建造していた4機のうちの1機」らしい。初飛行は今春とのこと。新しいモデルの最初の機体は金属疲労等を見るため地上で強烈な負荷試験にかけられるので、4機のうち1機か2機くらいは一度も空を飛ばないままばらばらにされるのだろう。

航空業界はモノが巨大なだけにモデルチェンジはかなりゆっくりで、まだ最新だと感じるB777でさえもう就航から10年経とうとしているので、巨大旅客機としては久々の新顔ということになる。

今のところ日本のエアラインからの発注はなかったと記憶しているのだが、常に発着枠の確保に苦心している日本のエアラインなら導入してもおかしくなさそうだ。とはいえ、日本の空港に入りきるサイズなのかどうかは気にかかるところ。

| | Comments (0) | TrackBack (0)

January 18, 2005

本を買った

久しぶりに生協書籍部へ。目の前なのに、営業時間帯は地下に引きこもってることが多くてなかなか行かないんだよな。

D言語パーフェクトガイド
前からチェックしていたもの。いつのまにかGCCにもD言語コンパイラ(gdc)が入ったらしく、cygwinからもインストールして使うことができる。

マスタリングTCP/IP応用編
ルーティングまわりに関してしっかり書いてありそうな本が一冊欲しいということで買った。「前世紀発行の本は買うな」とネットワークの先生は言っていたが何のその。

計算論
プログラミング言語意味論とラムダ計算の本。言語モデル論の勉強に。

| | Comments (0) | TrackBack (0)

January 17, 2005

今日のspam

spamを整理していたら、"Andrew Chappell"という差出人のspamがあった。Andrew Appelに見えてびっくり。

| | Comments (0) | TrackBack (0)

エスケープ解析による御利益

エスケープ解析って実際のところ何に役立つのかなーと考えてみた。

・エスケープしないことがわかれば動的メモリをヒープでなくスタックに取れる
GCをちゃんと作ることを考えると、この場合はGCの仕事がいらないということだから、パフォーマンス上ちょっと得。ものすごい勢いで確保と解放が繰り返されるような箇所では大いに得。が、CPU実験には大方関係なし。
・自由変数を持つ関数を明示的に引数を渡すように書き換えられる

let x = 2 in
let f y = x + y in
f 3
というコードを、fがエスケープしないことがわかれば
let x = 2 in
let f y x = x + y in
f 3 x
に書き直すことができるのでは?すなわちclosureがいらなくなる。これは大きいかも。しかしながらやはりレイトレに対して関係なし。

コンパイラとしていろいろやりたいこと(言語仕様拡張とかいろんな場合の最適化とか他プラットフォーム移植とか)はあるのだが、どうしてもレイトレに特化した最適化が優先なので他がおろそかになってしまうな…。

| | Comments (0) | TrackBack (0)

January 16, 2005

FF bench orz

ふとやってみたくなってFinal Fantasy Official Benchmark 2を入れてみたら、どうやら最低条件すら満たしていないらしく、「HardwareTnLを認識できませんでした」と出て終了してしまう。まあIntel865G内蔵のチップに期待するなってことか。HardwareTnLってHardware Transformation & Lightningのことか。とするとX23では動くかも!?X31では動いたな。

まあ実際3Dグラフィックスなんて使わんしな。Longhornが出るまではこのままでいいや。しかし最新の3Dカードを必要とするゲーマーなんてきわめて少ないと思うのだが、なんでGPU開発競争はこんなに熱いんだろう。Longhornの登場を最も心待ちにしているのはNVIDIAやATIの中の人に違いない。

| | Comments (3) | TrackBack (0)

boost::variant

ふとC++が猛烈に恋しくなったので、boost::variantのお勉強をしてみることにした。

作ってみたのは簡単な2分木。ソースはvar.cpp。中間ノードにも値入れておけとか、出力がS式とはこれいかにとか、突っ込みどころは満載だがまあお遊びということで。実行するとこんな感じになる。

3
14
15
7
9
-10
2
1
6567
34
^Z
((-10 ((0 1) 2)) ((3 (7 9)) (14 ((15 34) 6567))))

tree型の要素をintに固定してしまっているけど、templateを使って定義すれば任意の要素のtreeが作れるのではないだろうか、多分。出力中の0って何だろう、と思ったのだが、どうやら最初にint_tree_t t;と宣言したところでデフォルトコンストラクタがint型のデフォルト要素0を突っ込むらしい。

ISer的にはML版と対比しながら読むとわかりやすいだろうか。C++ではパターンマッチの部分が「visitor宣言+apply_visitor」で書かれている。

他にも参考にしたところは[cppll:10009]とか。つーかほぼこのソースの丸写し。そしてこのメールのリンク先にあるこれは……そう、まさしくパターンマッチ!うひょー!C++もまだまだ楽しめそうだ。

書いてみて思ったこと。
・visitor適用というスタイルも思ったほど違和感なく書ける。
・パターンマッチみたいにその場に処理を書けないのはやっぱり書きづらい/見づらいかも
・visitorのoperator ()をオーバーロードすることで場合分けを実現してるわけだけど、これはどう見てもstatic typing、すなわちコンパイル時に型が決まってないといけない。でもvariantの中身は実行時にならないとわからない。どうなってるんだ?
・t.which() == 0ならoperator() (t.get<int>())を呼び、t.which() == 1ならoperator() (t.get<pair<int_tree_t, int_tree_t> >())を呼ぶ、というコードがapply_visitorによって生成されるのではないか?そうすればvariantのdynamic性とvisitor適用のstatic性が両立できる。
・実装の詳細がよくわからないので(値か参照か?)効率がどうなのか想像できない
・ヘッダファイル覗いてみるとそこは魑魅魍魎の世界
・再帰のないvariantならint+unionで簡単に想像できるけど再帰がある場合どうなるんでしょうね
・油売ってないでコンパイラ書けよ俺

| | Comments (0) | TrackBack (0)

spamとの闘い

以前@niftyの学習型spamフィルタ「迷惑メールフォルダ」機能を絶賛したのだが、最近この機能の弱点も明らかになってきた。日本語spamに対しては無力なのである。去年の暮れあたりからアダルト系の日本語spamが1日に10通前後来るようになって、どれも毎回同じ文面なのだが一向に学習しない。ちょっとぐぐってみると同じ事で悩んでいる人も多いようだ。

完全に推測でしかないが、ベイジアンフィルタの学習データを単語単位で切り出していて、日本語メールに対しては特に形態素解析等の特別な処理をしていないので、判定・学習が行われないということではないだろうか。単語単位のベイジアンフィルタはそもそも文面が単語に分かれているという英語の性質に大きく依存したものであり、日本語spamに対するフィルタリングにおいてはもう少し工夫をする必要がありそうである。Yashiromann氏xhl氏がベイジアンフィルタの研究をしていたようであるが、その辺(どうした|するつもりだった)のだろうか。xhl氏はn-gram方式か。えっとn-gramってn文字の連接を1つのトークンと見なす方式、ということでいいんだよね?

このようにサーバー側でのフィルタリングも完全ではないし、これまで@nifty以外のアカウントへのspamは垂れ流し状態だったので、Becky!2用spamフィルタプラグインBkASPilを入れてみた。

これは大きく分けて
・オンラインのspamデータベース(発信者IPなど)を元にした判定
・ローカルに学習したベイジアンフィルタを元にした判定
を組み合わせてspam判定を行うもので、特に前者のデータベース判定だけでもほとんどのspamははじける感じである。データベースに対する登録や問い合わせもプラグインが自動でやってくれるので、ユーザーは普通のspamフィルタのようにメールを選択してspamかどうかの判定を与えるだけでよい。後者のベイジアンフィルタについては、試験的ながら日本語メールにも対応しているようである。

しかしながら実際のところ一番困っているspamは@niftyの迷惑メールフォルダをすり抜けるメールだ。@nifty宛のメールはメインのアカウントであるということで、PHSに転送して読めるようにしているのだが、迷惑メールフォルダをすり抜けた時点でPHSにspamも転送されてしまう。「オプション メール放題」にしているので何通来ても金銭的に損をするわけではないのだが、しょっちゅう着信バイブがなるのでうざいことこの上ない。この問題はPC側にBkASPilを入れてもどうにもならないのであり、@niftyが一日も早く日本語spamに対応することを望みたい。

| | Comments (2) | TrackBack (0)

January 15, 2005

センター試験

今日と明日はセンター試験。今年(は|も)弟が受けている。

だからかどうかわからないが、今朝は自分が未だに浪人生をしていて東大を受験しようとしている夢を見た。「やべー東大なんて絶対受からねーよ、っていうか何も勉強してないし、っていうか昔合格した気がしたんだけど何で今また受験しようとしてるんだろう?」と悩みながら焦っているというヘンな夢だった。

| | Comments (0) | TrackBack (0)

January 13, 2005

Mac mini続報

今日も興奮冷めやらずMac miniへの妄想。

そういえばAppleはマシンにも学割が効く。Mac miniも例外ではなくて、いくらか安くなるようである。そのうちみんなで銀座行って見てくるか。いつから展示されるんだろう。

ところでMac miniをサーバーにしたいという論調が./はじめあちこちで聞かれるが、サーバーにするならPentium Mベアボーンあたりにしておけばいいような気もする。Macの魅力はPowerPCの性能もさることながら、やはりMac OS XのGUIにあるわけで、せっかくのGUIを使わないのは勿体ないと思うのだ。

とはいっても、Pentium Mベアボーンを自分で一式組みあげて5万におさめられるかというとかなり厳しそうであり、そういう意味でMac miniは格安小型サーバーとして使うのもまあ理にかなってるのかもしれない。

| | Comments (0) | TrackBack (0)

January 12, 2005

Mac mini

どこでもこの話題で持ちきりだろうが、書かないわけにはいかないのでMac miniの話。

俺は基本的にWindows派で、たまにLinuxを使うことはあっても結局Windowsが居心地がよくて常用しているのであるが、去年3月にECCの端末がiMacになったり、プロセッサ発表でPowerPCを担当したり、PowerPCの性能惹かれたりしているうちに「Macも1台あってもいいかなー」と思うようになった。

しかしMacは昔ほどではないとはいえやはり高いものであり、「なんとなくあってもいいかな」程度の動機ではとても買う気にならないものだったのだ。

がしかし、今日発表されたMac miniは試しに買ってみることも十分可能な価格であり、こりゃもう買うしかないだろう、というわけだ。スペックは確かにPowerMacなんかに比べれば陳腐だが、G4 1.2~1.4GHzといえばPentium M 1.3GHz前後には相当するわけで、日常生活の大半の場面にはまったくもって困らない性能である。メモリの256MBは学科の友人曰く「不可能」らしいので増設する必要がありそうだ。問題があるとすればユーザーによる分解が不可能かきわめて難しい可能性があり、メモリを512MBにする場合にはBTOで純正品を注文しないといけないという点か。しかし512MBなら+\8,000程度で済むらしいのでまあ妥当かと。

今日の地下室はMac miniの話題でもちきり。主な議題は「何個買うか?」ということ。この価格でこのサイズであるから、本棚にずらーっと並べてクラスタなんてことも非現実的ではないだろう。地下室だけで10個近い売上が確定した模様。

現実的な解としては、Mac OS X 10.4 (Tiger)が出て、プリインストールのOSが切り替わってから、というところだろうか。当面は人気高騰で品切れ状態が続きそうな気がするので、一段落して人柱が出そろってから買うのが正解だろう。

しかしながら、特に必要に迫られているわけでもないのに欲しいと思わせてしまうAppleという会社には恐れ入るばかりである。Mac信者は純正品を好む傾向があり、カメラ業界に通じるものを感じさせる。カメラでは純ニコン信者な俺であるが、Macを使ったりしたら完全にAppleに洗脳されて信者と化し、全財産をお布施してしまうのではないかという点が気になって仕方がない。

| | Comments (0) | TrackBack (0)

January 11, 2005

冬休みも終わり

思ったよりは長かった冬休みももう終わり。例年の冬休みと比べると驚異的な真面目っぷりであった気がする。

コンパイラはバグを取って最適化を進めた。サーバーは静音化してディスク容量が増えてミラーリングされた。親知らずを一本抜いた。

が、コンパイラの最適化は数値目標をクリアできなかった。ちょっとはやろうかと思っていた連続系は全くやらなかった。復習でもするかと思っていた講義内容はラムダ計算を除いてなにもせず。

まあそんなものかもね。明日から講義だが、冷静に考えると1日1コマなのでそれほど負担ではない……のだが、早朝10時からという時間帯が実に負担である。とりあえず寝よう。

| | Comments (0) | TrackBack (0)

January 09, 2005

ATOK year

今年はATOKの年である。

俺は昔からATOKユーザーで、PC-9801ではATOK7、その後WindowsマシンでもATOKを使ってきた。最近はMS-IMEも能力的に遜色ないというか、むしろ勝っている部分もありそうだが、細かな"手触り"というのだろうか、微妙な差異が気になってATOKをやめられないでいる。

ATOKはほぼ1年に1回バージョンアップされる。毎回買うのはさすがにばからしいし金が勿体ない。ということで高校生だった頃決めた方針が「2回に1回の割合でバージョンアップする」ということ。1つ飛ばせばそれなりに変化が体感できてシアワセになれそうということである。

これまで
・ATOK12+一太郎9(1998年)
・ATOK14+一太郎11(2001年)
・ATOK16+一太郎13(2003年)
と買ってきており、今年は一太郎2005+ATOK2005を買う年である。一太郎もセットで買っているのは、ATOK単体と一太郎キャンパスキットの値段が変わらなかったり、ATOK単体の発売が一太郎とのセットよりも後だったりするためだ。ワープロには普段OpenOffice.orgのWriterを使っている。

さらに今年はATOK for Linuxの発売といううれしいイベントもあり、これも買わないといけない。

ところでATOKといえば「CPU使用率100%の高負荷下において事実上変換不能なほど重くなる」という有名?な問題があるのだが、どうやらこれは設定で回避できるらしい。プロパティ(環境設定-Ctrl+F12)を開いて[入力補助-特殊]の[入力中の表示を高速化する]のチェックを切ればよいとのこと。ATOK16で試してみたところ、確かに高負荷時にも問題なく入力できるようになった。「表示を高速化する」をoffにしたからといって表示が遅くなるわけでもなく、ぜひ切っておくべきであると思われる。

| | Comments (4) | TrackBack (0)

ケース交換

昨日は丸一日かけてサーバーマシンのケース交換。6年前のマザーボードと現在のケースの組み合わせだけど、フォームファクタはATXで変わってないので問題なかった。リアパネルも、マザーボードがIntel WS440BXという無難なリファレンスボードだったことが幸いしたのか、ケースに付属のものでぴったり。

問題はSlot1用のガイドを固定するためのねじ穴がケースにないこと。当然といえば当然だが。しょうがないので、CPUはスロットに挿しただけでよしとした。頻繁に動かすもんでもないし問題ないかと。

途中、電源を入れてもうんともすんとも言わなくなるという現象に何度か見舞われ冷や汗をかいた。CPUを再装着したときに力を入れすぎてコアを壊した?とかどっかショートした?とかいろいろ考えたが、そのうち機嫌をなおしたらしく正常に動くようになった。こんな怪しげなハードウェアをサーバーにするとは尋常じゃない。

ちなみに本当に壊れていた場合には秋葉に繰り出してSocket370マザー+Celeron 1GHzくらい、とか、Winchester+マザー+DDRメモリなんかを買ってくるという妄想が浮かんでしまった。PentiumMマザーはまだ高すぎるゾ。

ケース交換の結果、最大の音源であった電源が交換され、騒音レベルは劇的に低下。しかし今度は小型高速のCPUファンとか、旧型HDDの高音が耳につく。欲望にはきりがない。

ケース交換後はついでにRAID環境を整えようかとあれこれ試すも、RAIDカードは認識するもののRAIDを構成後にブートを試みるとOSの起動に失敗するという具合でうまくいなかった。軽くぐぐった感じでは、同様のRAIDカードを使うのはかなり面倒っぽいので、半分諦めモード。せっかく同容量の新品ディスクが2つあるので、ソフトウェアRAIDに挑戦してみるか?

しかし、ヘンな格好でずっと作業していたからと言って翌日筋肉痛に見舞われる俺はどうなんだ……。

| | Comments (0) | TrackBack (0)

January 08, 2005

1年ぶりの

1月7日は世界Scheme dayだったので、ひたすらScheme。

この課題、「λ計算のシミュレータをSchemeで実装せよ」というもの。要はbeta-reduction(と必要によってはalpha-conversion)を書け、というだけのことなのだが、Schemeでという地獄のような言語指定がついていたためにそれはもう地獄絵図。

まずはcygwinにGuileを導入して、scheme-modeはMeadowに最初から入っているようだからそれを使って。run-schemeなるモードが便利だよとのことなので試してみる。確かに便利だ。

Schemeなんて1年前に課題を出して以来全くさわっていないので、忘却の彼方。懐かしきScheme演習のページに非常にお世話になった。当時意味不明だったquoteの意味だとか、call-by-valueとかcall-by-nameといった事柄も今ならわかる。

関数型プログラミングはこのところOCamlで日常的にやっているので割と素直に書けた。が、やはり型がないのは怖い。OCamlであれば「この箇所にはこの型しか来ない」とコンパイラが強制してくれるのだが、Schemeでは渡ってきた引数がリストなのか?シンボルなのか?それともリストのリスト?と自分で延々とチェックしなければならない。

あとライブラリの貧弱さと謎さも気になった。リスト関係の関数も、mapなんかは最初からあるようだが、findがないとか。slibというライブラリにいろいろ入っているらしい、ということはぐぐったら出てきたもののいまいち使い方がわからんし処理系によってまちまちのご様子。むー。

ちなみに実装したものはalpha変換とbeta変換。alpha変換は当初やらないつもりだったけど、どうもうまくいかないので実装してしまった。「alpha変換は最初に1回だけやっておけばよい」なんて誰か言っていたが、ウソばっかりだった。beta変換後に再度alpha変換を適用するようにしたら無事factが動作。しかしながら今そうしないとダメになる実例を考えようと思ったが浮かばなかった。ともかくその点を指摘してくれたO倉に感謝。

そんなわけで課題は大半の時間をSchemeの環境構築・復習・調査に費やす有様。OCamlならvariant型1つ定義して終わりなのにー。「fact 2」が「3」と返ってくる新発見などをなんとか乗り越えてようやくレポートを書き終えたのが深夜0時。終電1つ前でぎりぎり帰宅。今になって思うと、beta変換の適用順に関する考察をもうちょっと書けばよかったのかな。計数工学科のスライドを見てみたけどいまいちよくわからん。正規形にたどりつけるかどうかは結局評価順によるのかよらないのか。評価順によらない、というのがChurch-Rosserの定理の主張?

今回わかったことは、Schemeはやはり何のためにあるのかよくわからないということ、OCamlはやはりすばらしいということ、世の中にはScheme愛好家が結構いるらしいということ(ぐぐると感触でわかる)、そしてS式は実は入力しやすいのではないかということだ。

unnoがOCaml版にも挑戦したらしいが、式の入力が面倒らしい。確かにコンストラクタをいちいち書かないといけないので面倒くさそうだ。S式は原始的なだけに括弧だけ書いていけばよいので、入力の手間は他の表現に比べて少ないと言える。ただし括弧だらけのS式をすらすら読めるのは変態Schemerくらいなので、一般的には書き捨てのテストデータ、つまり今回の課題のような分野に特化して用いると吉なのではないだろうか。

しかし、この歳になってSchemeをやるとは思わなかったな…。

| | Comments (3) | TrackBack (0)

January 06, 2005

年始の散財

休みでなんとなく時間があるとあれこれ買い物をしてしまうのは悪い癖だ。年が明けてから買った物。

プラネテスのO.S.T.2に至っては目当ての曲が1に入ってないと勘違いして買ってしまったら実は1に入っていたことが発覚というオチで、救いようがない。

1月はいくつかソフトも買わないといけないから少し節制しないといけないはずなのだが……。

| | Comments (0) | TrackBack (0)

January 05, 2005

マックホルツ彗星

DSC_5062年末年始にかけてマックホルツ彗星(C2004/Q2)が見頃だ。

ということを今日思い出したので、天気もいいので外に出てみた。我が家は2階がルーフバルコニーになっており、遠出せずともある程度の範囲の空はそこから見ることができる。

4等級ということなので肉眼では無理と思い、まずは双眼鏡で確認。うーんあると言われればあるけどかなり微妙だよなー。人間の眼は当てにならないので、写真にとってみることにする。

ということで撮ったのがこれ。中央の星の集まりがすばる、その左下にぼーっと見える光の点がマックホルツ彗星である。Nikon D100 / Ai Nikkor 50mm F1.8S / 絞り2.8 / ISO800 / 2005年1月5日22:07:03より10秒露光 / ノイズリダクションあり / Nikon Caputure 4にてコントラスト調整、トリミング。

追記:ここを読むようなアレゲな人は既に見てそうだけど、slashdot.jpに記事が載ったのでリンク。

| | Comments (1) | TrackBack (2)

流血の惨事

そんなわけで、10月頃から歯医者に通ってちまちまと虫歯を削っていたのだが、冬休みを利用して一本抜くことにした。

普段の虫歯治療のときは麻酔一本なのに今回は5本か6本くらい打ったりしてかなり物々しかったが、その分全く痛みはなかった。何をしてるか想像すると気持ち悪くなりそうだったので、コンパイラのことを考えて過ごすことにした。

抜歯自体は某班長のように実験台にされることもなくすんなり終わったのだが、その後が大変そうだ。家に帰ってきた今もちょろちょろと出血が続いてるし、麻酔が切れてくるに従って徐々に鈍い痛みが感じられるようになってきた。あうー

| | Comments (0) | TrackBack (0)

OTL

新命令を追加してみて、性能を見るためにシミュレータ上で実行してみると、途中でヘンなメモリ領域にアクセスしたと言われて落ちてしまう…。

林崎氏は無事実行できてると言うし、コンパイラもシミュレータもアセンブラも同じリビジョンのはずだし、おかしいな……と思って昨夜は寝たのだが、今朝ツール類を入れているbinディレクトリを確かめたところ、新シミュレータをビルドしたもののbinにコピーしていなかったという罠でした……。

| | Comments (0) | TrackBack (0)

January 04, 2005

緊急事態!?

なんかX23のハードディスクがやばげである。「ファイルが壊れています。CHKDSKしてください」みたいなメッセージがでたのでchkdskをスケジューリングして再起動してみると、鬼のようなエラーメッセージが……。

最近悪いことした覚えはないぞ、と。

破損が最近作成したファイル付近に集中しているのも気になる。幸いサークルのWeb関連のデータで、既にサーバー上にアップしてあったのでそこから書き戻すだけで復旧できたが。

ところでNTFSって破損したファイルはきれいに消えてしまうのか。チェック時には「このファイルがおかしい」ってログが出てくるが、イベントビューワで見たときのログにはなぜかその情報が入っていない。そういうわけで、実際にどのファイルが被害にあったのか確かめるすべはない。困ったものだ。

| | Comments (0) | TrackBack (0)

January 01, 2005

Happy New Year!

明けましておめでとうございます。
今年もどうぞよろしくお願いいたします。

今年のイベント予想
3月 CPU実験で優勝!(するといいな)
4月 ついに4年生か
8月 院試ガクガク・研究室配属
以降 卒論卒論……

人生楽はできない仕様になっているようですね。

| | Comments (0) | TrackBack (0)

« December 2004 | Main | February 2005 »