Entries from 2006-05-01 to 1 month

コードを書かなかった

家に帰ってからコードを一行も書かなかった。

Isolation

夜に家の近くの大きな階段を上がりながら、Isolationを聴きました。 We're afraid of everyone Afraid of the sun Isolation The sun will never disappear But the world may not have many years Isolation いつか自分で演奏して歌ってみたい。

関数型言語の勉強にSICPを読もう - (45) 3章 - 標準部品化力、オブジェクトおよび状態 (181-185ページ)

問題3.41 Benの心配は杞憂である。 直列化しない場合、例えば withdraw の中で balance が set! される前後の間に、balanceを取得できるようになってしまうが読み取りだけなので問題ない。 問題3.42 安全であると思う。 ツッコミ募集。 問題3.43 直列変換器…

アンテナ?

プール

気づいたら1ヶ月ぶりのプール。 もっと通わないとだめよ。 1000m。500mまでくらいはFileSystemの設計についてあれこれ考えていたが、酸素が足りなくなったので考えられなくなった。

関数型言語の勉強にSICPを読もう - (44) 3章 - 標準部品化力、オブジェクトおよび状態 (175-180ページ)

3.4並列性:時が本質的 読む前の想像では atomicな処理とか semaphore とか、dead lock などの話であると予想。 このあたりはMonaで必要に迫られて結構勉強したから得意なはず。 問題3.38 Perter, Paul, Maryの共同口座だそうです。 Puff the Magic Dragonを…

関数型言語の勉強にSICPを読もう - (43) 3章 - 標準部品化力、オブジェクトおよび状態 (167-175ページ)

3.3.5 制約の拡散 制約の拡散のポイントは以下の通り。 登場人物は2人 コネクタと制約(constraint) コネクタは1つ以上の制約をリストとして持っている(1つ以上の制約と接続されている)制約は自分が接続しているコネクタの値が変更したときに呼ばれる手続きを…

SICPの解答をのせていただいた

OSS WEB|SICP|ex-3.23うれしい!

STL map/pairあたりではまる

C++

こ絶対正しいとを書いているはずなのにがーっとエラーがでまくった。 ずっと悩んでいたが #include <string>を忘れているだけだった(泣</string>

VnodeCacher

vnodeをlookupするときに使用する VnodeCacher を書いた。 試験実装なので、std::mapで実装。 ついでにテストも書いたのできっとバグもないはず。 明日は ISO9660にlookupを実装して vnode の alloc とかかな。 時間が取れれば。

毒牙

C++のコードを書いていて cacher_ = VnodeCacher->new;とかしてしまった。 identitiyが脅かされつつある。これはまずい。

iPod Updaterで音量制限を設定した

http://www.apple.com/jp/ipod/download/から 「iPod Updater 2006-03-23」をダウンロード。 インストールして iPod nano のソフトウェアを更新した。 iPod nanoで最大音量を設定できるようになって超便利。 そんなに大きな音で聞くと耳が悪くなりますよ。っ…

各地で vim -y が猛威をふるっています

vim

とりあえず vim -y を知らない人はもぐりです。 技術者なら一度は vim -y を使ってから vim を使い始めましょう。 なお終了できないなどの苦情は一切受け付けません。 id:rikoタンはすごい人だ。 追記 vim -y のキーバインドすげーよ。

パス補完のやつ何だっけ?

zshで m/e/f/s [Tab] とかやると mona/experimental/file_server/src に展開してくれるやつがあるんだけど、これをEmacsのfind-fileでやる elisp をどこかで見たことがあると思うんだけど。 検索しても見つからない。

Joel on Softwareを読んでかぶれた奥さんの言葉

Joel on Softwareを3/4ほど読み終わってかぶれてきた奥さんとの会話。 画面を覗き込みながら 奥:「ねぇ。それEmacsってやつ?」 ひげ:「うん」 奥:「Emacsって無料(タダ)?」 ひげ:「うん」 奥:「でもEmacsって難しいんでしょ?だから私は v ? v?で良いや」 ひ…

コーディングや設計で難所に出くわした時にすること

仕事や趣味でコードを書いているとき、設計をしているときに難所に出くわすことがあります。 そんなときに僕が意識的に心がけていることを紹介します。 もっと良い方法があったらぜひ教えてください。→皆様。 難所に出くわす前に「もうすぐ難所だな」と気づ…

高セキュリティ機能を実現する次世代OS環境が開発されるらしい

OS

5/23に内閣官房情報セキュリティセンター(NISC)から 「高セキュリティ機能を実現する次世代OS環境の開発実施について」という文書が発表されています。 OS開発者として興味があったので読んでみました。 まず大きく3点。 平成18年度科学技術振興調整費の重…

関数型言語の勉強にSICPを読もう - (42) 3章 - 標準部品化力、オブジェクトおよび状態 (163-166ページ)

ぼやき SICPを見ながら、コードを打ち込んだのですが一箇所「 ( 」の対応をミスっていて3日間くらい全然進みませんでした。 でもそのおかげで、コードを舐めるように眺めたので構造が理解できました。 本をさらっと読んで動かしただけではここまでの理解は得…

Mona方針会議@osdev-j

参加者: Gaku/Yas/okuoku/higepon 敬称略 RamFS実装の前にSolaris Internal 564ページのvfs/vnodeインターフェースをfile_serverに導入するのはどうか? h RamFSが先でもかまわないがあり G Posixインターフェースを知る上でも必要 o あり Y まるっきり同じよ…

作業ログ

1.細かい作業 2.大方針や設計 に半々くらい時間をかけるのが正解だと思うんだけど、細かい作業で終わってしまった。 後付けで、どんどんテストコードを足していくといろいろ設計の不味い部分が見えてきた。 FileSystem Managerが役割が少ないくせにとても汚…

file_serverのテストを書く

汚い絵だけども情報共有がしやすくなった。タブレット買って正解だった。 そんなわけで、MonAPIのインターフェースは変えずに、赤で描かれている部分のリファクタリング&コードの追加をするのでテストコードをcppunitで書き始めました。 Linuxに移植できた…

関数型言語の勉強にSICPを読もう - (41) 3章 - 小休止 はじめての実用(?)スクリプト

id:higepon:20060518:1147942020を改造して、Gaucheではじめての実用(?)スクリプトを書いてみました。 ↓こんな感じで使います。 gosh replace.scm sample.txt "^(hogehoge.+)$" "#\\1"#!/usr/bin/env gosh (use file.util) (define (main args) (define (rep…

多摩川

自転車で多摩川へ。

Monaのfile_serverがLinuxで動いた

ここ1ヶ月くらいやっていたことが実を結んだ!。 file_serverを起動して colinux% ./file_server clientを実行すると ./fsclient . .. APPS PROCESS.BIN SERVERS T5LZMA.EXEfile_serverの管理下にあるISO9660ファイルシステムのディレクトリ列挙ができた。 c…

bind: Address already in use ソケットの再利用

socketを開いて、bindしてacceptして closeした直後に、同一 port を bindしたところ bind: Address already in useというエラーになった。 socketの close ミスかと思ってデバッグしても原因が分からず、いろいろ検索していたら分かった。 デフォルトの動作…

共有メモリエミュレート

Monaのfile_serverを Linux で動かすために共有メモリのエミュレートを実装する。 Linuxの共有メモリについて調べる shmgetで割り当て shmatでリニアアドレス取得とか shmdtで解除。引数はidかと思いきやリニアドレス

奥さんがJoel On Softwareを読みはじめた

奥さんがJoel on Softwareを読みはじめた。 技術者が欲しかったら「ハッカーと画家」と「Joel on Software」をとりあえず読んで、プログラマの心理をある程度理解すればいいだけなのかもしれないw を読んで、プログラマの妻としてプログラマの心理を理解す…

デーモンって何?

自分は全然Linuxに詳しくないんですが、ふとデーモンの定義が気になったのでいろいろ調べました。 なんとなくイメージとして 常駐している 特定のなんたらハンドラを実装している なんたらスクリプトでなんたらできなければいけない 実行ユーザーがなんたら …

関数型言語の勉強にSICPを読もう - (40) 3章 - 標準部品化力、オブジェクトおよび状態 (156-163ページ)

待ちに待っていたデジタル回路のシミュレーション。 オラ、何だかワクワクしてきたぞ! 問題3.24-27 略。 問題3.28 and とほぼ同じ。 今の段階では add-action の実装が見えないので or-action-procedure が2回呼ばれておかしくなるんじゃないかと心配。 と…

file_server現状まとめ

あらすじ 仮想メモリ実装するのが楽しそう RAMディスクの実装が必要だ file_serverに手を入れよう file_serverをリファクタリングしたくなってきた file_serverをLinuxで動かせるようになると効率がかなり上がる file_serverのコードは大体動くようになった …