Entries from 2006-06-01 to 1 month

flexを試す

字句解析・構文解析もしたことのない私ですが、 flex を下調べ。 man をななめ読み後 flex test.l gcc lex.yy.c -lfl ldd a.out linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x4671b000) /lib/ld-linux.so.2 (0x46703000) …

自分用のEmacs Lispを書く

なんだか無性に、Emacs Lispを書きたくなったのでネタを探して書いてみた。 練習 まずは練習。 指定した正規表現にマッチする後が、現在開いているバッファにいくつあるか数え上げる。 re-search-forwardの使い方を学んだ mapではなく mapcarなのね 手続きを…

関数型言語の勉強にSICPを読もう - (56) 4章 - 超言語的抽象(220ページ) C++でSchemeインタプリタを作ろう4

begin beginは、Schemeよりも簡単に書いた。 actionを vectorで保持して、eval時には evalSequenceするだけ。 手続き 「手続き作用はいずれでもない任意の合成式である」と書いてあっていいたい事は分かるのだけれど、C++でどう書いてよいか分からない。 き…

テスト難航中

FileServerとClientのテストが通ったり通らなかったりで、原因究明に難航中。 頭とコードが、同じところをぐるぐる廻っている良くない状況なのでとりあえずクールダウン。 テストのたびに状態が変わるといえば、プロセス間通信部分くらいだけどそのあたりか…

関数型言語の勉強にSICPを読もう - (55) 4章 - 超言語的抽象(218-219ページ) C++でSchemeインタプリタを作ろう3

さらっと流して書いていますが、実は設計にはとても時間がかかってる。 なにぶん初めてなので行ったり戻ったりがあるので。 self->evaluating? number, stringのとき true if (exp->type() == Object::NUMBER || exp->type() == Object::STRING) { return tr…

sai

ペイントツール sai(http://systemax.jp/sai/) で今考えていることを絵にしたんだけど、試用期間が終了していて保存できなかった(涙

京極新刊だってさ。

* 京極堂シリーズ最新刊 速報第1弾京極夏彦著『邪魅の雫』完成!「講談社ノベルス」より今夏発売速報第2弾は7月15日発表(06月28日)

これやばい

馬鹿にするなかれ。 Amazonのレビューにあるようにもやもやが晴れます。 サンバルカン、ダイナマン、チェンジマン。 いったい自分は何歳なんだろうかと思うけど、聞くと思い出すんだよなぁ。 こういう分野は同僚の OさんとかTさんが得意なんだけど。今日はい…

関数型言語の勉強にSICPを読もう - (54) 4章 - 超言語的抽象(217ページ) C++でSchemeインタプリタを作ろう2

eval-if if を評価します。 ここは言語の奥を見るようで楽しいのですが true / false の定義って何?ということを立ち止まって考えることができます。 metacircular であれば、両方の真偽値をあわせるのが良いでしょう。 今回は以下のように実装しました。 bo…

テストを書く

cppunitでがりがりテストを書く。 だいぶ終盤にさしかかってきた。 FATは誰かが書いてくれることを祈っている。Gakuさんとか!

Migemoがうまく動かない件 - 解決

手元のcoLinuxのEmacs + Migemoが C-s で検索するときに固まる問題でずっと悩んでいたのですがやっと解決。 migemoがプロセスとして常駐しているんですが、その標準出力をacceptする timeout 時間をデフォルト5msec から 80msecにすればよいです。 (setq mig…

ftpでprompt Interactive mode off

最近 ftp をコマンドラインで使うことも少なくなってきて、よく忘れるのでメモ。 prompt Interactive mode off とすれば mget のときに y/n とか聞かれない。

関数型言語の勉強にSICPを読もう - (53) 4章 - 超言語的抽象(216ページ) C++でSchemeインタプリタを作ろう1

4章では Scheme の上に Schemeインタプリタを作る過程でいろいろなものを学んでいきます。 このように、被実装言語と実装言語が同じなことを metacircular というらしいのですが、読んでいるだけでドキドキしてきます。 実際4章を読み進めていくと、とても面…

どうやら

ひげを生やすか、名前にひげが入っていると流行るらしい。

キャスト

C++

id:hideokiが C++ はキャストが何種類もあって、ふがふがとか言っていたのをきっかけに C++ のキャストを復習した。 それにしても全然使ってないなぁ。。 ここを読めば分かります。 C++の新しいキャスト

プログラミング入門書

駅前の本屋に行き、プログラミング入門書を漁っていたのですが、なんとRubyの本が1冊もない。 そのわりにはC言語の本がたくさん並んでいたり、C++のマニアックな本が置いてあったりとかなり謎のバランスの品揃えです。 某T君が「あそこの本屋は品揃え悪いっ…

mountを実装

mountを実装した。 今ある仕組みをフル活用して、Vnode Cacheに mount用のdummyのVnodeを埋め込むことにした。 良く考えればこれはリンクをサポートしたことになる。 すごくね?(誰かの口調を真似てみた)

M-x compile

開発時にM-x compileを常用しているのですが以下2点が不満でした。 デフォルトコマンドが make -k であること。デフォルトは make にしたい ミニバッファのコマンドヒストリーがEmacsを起動するたびにリセットすること。 今日、やっと重い腰をあげて調べてみ…

努力する才能とか

いくら才能があっても、思い上がって努力をしなければ人に認められるような成果は出せない。 本当にすごいのは努力を続けられる人だ。その努力を続けられる才能を持った人が本当の天才だ。 とかってよく聞きます。 この話は大体あっていて、強く反対するもの…

Monaのシェルの一部を Emacs キーバインドに

デバッグが進まない理由がわかった。MonaのプロンプトでCtrl+Pを連打してしまうためだ。2006-06-14 (水) 23:00:04 このような声を聞いていたので、超Quick Hackで Ctrl-pで一つ前のみHistoryを辿れる Ctrl-hでバックスペースと同じ効果 を入れてみました。 s…

ProcessFileSystem

ProcessFileSystemの実装が終わった。 Vnodeフレームワーク(?)が割としっかりしているのですぐに実装できた。 readdirすると プロセス一覧が取得できる。 ファイルを読むと pid とかが分かる という作りにしてみた。 あとは mount とかその辺りだな。まだア…

関数型言語の勉強にSICPを読もう - (52) 4章 - 超言語的抽象(213-217ページ) - apply

apply 実装の肝は apply と env のあたりだということに気づく。 (define (apply procedure arguments) (cond ((primitive-procedure? procedure) (apply-primitive-procedure procedure arguments)) ((compound-procedure? procedure) (eval-sequence (proc…

ビルドエラー

mona/coreがビルドエラーになっているのに気づいた。 最近は mona/experimentalばかりをいじっていたので気づくのが遅れてしまった。 完全にLinuxでビルドできるようにして、毎日監視したほうがよさそうだ。 そうすれば遅くとも翌日には気づくので、ビルドエ…

Vnode進捗

Vnodeフレームワーク(?)とそれを利用したコンクリートFSのISO9660FileSystemの実装が終わった。 テストも通った。 次はVFSフレームワーク周り(mountとか)を実装しなければいけないんだけど、擬似的なファイルシステムを1つ作って mount したりすれば実装上の…

進捗

4章は着実に読んでおりますが、あれこれ試行錯誤しているので日記が書けていません。 今しばらくお待ちください。(誰に言っているんだろう。)

きたないコード

コードを追加したり、新規に書くときに、「このコードはきれいに書けそうにない。」とか「きれいに書くのは手間がかかる」という理由で挫折したりストレスを感じることがある。という自分を発見した。 これは ひげぽんは自分がきれいだと思うコードしか書か…

首の皮一枚

PK止めた川口えらい。 さてこれから気楽にブラジル戦観戦

client testと readdir

新しい ISO9660FileSystemがopen/read/closeのテストが通った。 その勢いで readdir を実装しようと思ったがいろいろとモヤモヤとする部分があり失速したので以下のメモを残し秘密プロジェクトに取り掛かる。 Entryにdirectory flagを付ける ISO9660FileSyst…

Microsoftの人たち

Microsoftの人たちは後方互換性にとても神経を使う。 企業として当然だし、それが今までの成功の鍵のひとつだと思うし、それは否定しない。 でも、一度「ごめんなさい。互換性は一切気にせずとか作っちゃいました」ってやって欲しいな。

21エモン再放送!

http://www.tv-asahi-channel.com/anime/02.html今月29日から21エモン再放送ですよ。 早速予約録画設定をせねば。