ウォンツテック

そでやまのーと

2008-01-01から1年間の記事一覧

正規表現ライブラリ

昔書いた正規表現パーサ(DFA型)をsodexに移殖。ユーザーランドで使えます。 regex.c これでsodex上でインタープリターでも書こうかと思ったけど文字クラスとか括弧'('自体を扱えなかったりするので全く使い物にならない罠orz

 減量

去年8月からの目標値であった8kg減にほぼ成功。 でも実は2年前くらいからだと10kgは太ってたので(汗)さらに2kgは減量しようかと。 やっぱ開発者にとって体調管理とモチベーション管理は重要だよね。

パラダイムシフト

最近たまに考える事があります。 情報学のパラダイムシフトってそろそろ起こるんじゃないだろうかと。 情報学という分野が誕生して60年、過去の学問の近代化に比べて学問としての情報量の拡散率は高く、最先端の研究をするにしても数年で到達でき、学習して…

実機

USB FDDを買ってきたので久々に実機でsodexを動かしてみる。が動かない。 そういえば8セクタ以上の読み込みが失敗していたような(汁

ジュンク堂

新宿でジュンク堂寄ってきたらつい本を数冊買ってしまいました。圏論による論理学―高階論理とトポス清水 義夫 Amazonで詳しく見る by G-Toolsまともに読む気ゼロ。1回気になったジャンルは買わないと気がすまないし、 無性に読みたくなったとき即座に読める…

ちょっと練習問題を解く

入門Haskellを読みつつモナドの記述があまりに少ないので以下のサイトの「自分自身を出力するプログラム」に書いてあるmonadの数学的定義を読んでみるけど定義5までで死亡。ちゃんと理解するなら圏論の本買ってこないとだめぽ。 http://www.ipsj.or.jp/07edi…

 サーバーが復活したのでインタープリター公開

schemeもどき

甘くない件について

会社の2ハッカーの一人がHaskellハカソンに出るというのを聞いて触発されちょっとHaskell本を読みはじめましたが、、シンタックスシュガーが全然甘くねーーー。orz でもperlとかと違って意味のある書き方だから慣れれば読みやすいのかな?ghciで実験普通っぽい定…

scheme処理系もどき

とりあえず再帰は出来るようにしました。scopeがおかしかったのでParseクラスのスタックとして書き直し。あとlambdaっぽいのも出来るようにしときました。 (define (func a) (lambda (x) (+ a x))) ((func 3) 5) とか (define (fib n) (if (< n 3) 1 (+ (fib…

会社の人に処理系見てもらったら以下のを書いてもらった (define (#f) (= 1 0)) (define (#t) (= 1 1)) (define (<= a b) (if (< a b) (#t) (if (= a b) (#t) (#f)))) #tとか#fとかコアに、 すばらしいです。

処理系

JSでscheme処理系もどきを書こうと思ったけどdefine出来るネスト可な四則演算しか書けなかったorz.. 今週末気が向いたらフィボナッチが動くくらいはがんばるかな。 今回のだと下記くらいしかできない (define a 3) (define b 2) (+ a (+ b 1) (/ 4 2) (+ 3 (…

gaucheのrfbライブラリで簡単に描画出来ると言う事でちょっと遊んでみる。ブロックが落ちて回転させたりしようとするけど、、やっぱスレッドとかtimerをちゃんと実装しないとだめぽ。あとdownloopでエラー吐いてるけど何のエラーかわからない。。stackがオー…

会社のえらい人に家でFedora使ってると言ったら「だっせーーー」と笑われてしまいました。 くやしさのあまり歯茎が血まみれになってしまったので近い内Gentooに乗り換えます。

HateFS 2 (はてなFS)

HateFS (はてなFS) ※注意 日記を勝手に上書きするので実験する場合はテスト用アカウントでお願いします※ 一昨日の続きを書きました。はてな日記は抽象化して1日分の日記をただの1ファイルとして扱いました。日付は「idate」という「inode」のような役割をさ…

HateFS

ちょっとRubyとはてな日記ではてなFileSystemでも作ってみようかと思ったのですが、Ruby(とそのライブラリ)が便利すぎてFSのバイナリをいじるまでに至りませんでした。 はてなのログイン認証にWWW::Mechanize、HTMLの解析にHpricot、ファイルシステム部分…

OS作成 - NIC編

ようやくNICのsend部分がうまくいきました。ne2000上のバッファRAMのアドレスの割り当てがまずかったようです。これがおかしくてDMA書き込みが出来ていなかった模様。 テストでsource mac addressを[1.2.3.4.5.6]に、destination mac addressを[ff.ff.ff.ff.…

不可解な現象に遭遇

いつも通りsodexをqemuから立ち上げようと $ sudo qemu -fda bin/fsboot.bin -net nic -net tap,ifname=my-tap とした所、何故だかext2ファイルシステムの初期化の所で止まって先に進まずqemuが固まる。。 そういや昨日ちょっとnic回り書き換えたなぁと思いs…

復旧

前回の実験で起動しなくなったメイン開発機を復旧しようと思い http://openlab.jp/puppylinux/ からpuppy linuxを拾ってきてUSBメモリに http://linux.hakaede.com/Entry/3/ の方法で設定します。 これで起動出来たのでさて復旧だとディスクをマウントしてみ…

 Linuxカーネルの開発環境

Linuxのソースはtarballを拾ってくれば簡単に読めるのに肝心のカーネルをいじろうと思うと開発環境構築の日本語ドキュメントも少なくちょっと大変ですよね? という事でqemuを使った簡単Linuxカーネル開発環境の構築手法を載せておきます。(僕の開発PCはこ…

grub

ちょっとLinuxのスケジューラをいじろうかと思い、qemuを使ったLinuxカーネルの開発環境構築の実験中にメイン開発ノートPCのMBRを書き換えてしまった模様。。 再起動したら「GRUB 」という文字列が出力されて固まってます。僕も固まりましたorz Linuxカーネ…