2007-06-01から1ヶ月間の記事一覧

遠回りの1年を振り返る

OSを作りはじめて1年になる。この1年を振り返ってみたい。 葛藤 OSを作りはじめて1年。この1年間ずっとひとつの葛藤がある。「遠回りなんじゃないか・・・」今は「基本を学びたい」という思いからSICPを読んでいる。かなり遠回りである。「遠回りが正しい道…

切り紙遊び

開く瞬間がメチャクチャ楽しい!折って、切って、開いてつくる やさしい切り紙 (池田書店の切り紙シリーズ)作者: 矢口加奈子出版社/メーカー: 池田書店発売日: 2007/02/01メディア: 単行本購入: 1人 クリック: 13回この商品を含むブログ (21件) を見る再帰的…

SICPを読む(24) 1.2.3(3) 局所変数let

やっと「変数」という物が登場しました。letの書式は (let binds body) もうちょっと詳しく書くと (let ((var exp) (var exp) ...) body) letの中に囲まれた文が、変数の有効範囲になる。lambdaのシンタックスシュガーなので、非常にわかりづらい。 では、コ…

SICPを読む(23) 1.3.2(2) ラムダについて

Schemeは怪しげな新興宗教に近いと思う今日この頃です。Schemeを操る人々には何かが憑いている。何かが知りたいので、僕も入信しちゃいますよ。・・・ガクガク震えながら怪しげな新興宗教「λ教」の扉を開いた。 って事で、λについて調べた。 まず、意味不明…

2桁掛け算の暗算が出来るようになった!!

2桁掛け算の暗算が出来るようになりました。僕の脳のスタックは1個だ。だから、この方法は無理。 78 * 96 = (7 * 9) * 100 + ((9 * 8) + (7 * 6)) * 10 + (8 * 6) = 6300 + (720 + 420) + 48 = 6300 + 1140 + 48 = 7488途中の計算、 ((9 * 8) + (7 * 6)) * 1…

1桁*2桁で脳の計算スタックの拡張

インド数学ドリルより。「インド人は2桁の掛け算を暗算でこなすことが出来る」しかし、かなり訓練が必要ということがわかってきた。 78 * 96 の計算をするときは、 70 8 +-----+-+ 90| | | | | | +-----+-+ 6 | | | +-----+-+頭の中に、こんな図を浮かべる。…

Linuxでよく出てくるけど、よくわからない単語メモ。

Linuxでよく出てくるけど、よくわからない単語をメモっておきます。 invoke (神に)祈る。(精霊を)呼び出す。派生して、(アプリケーションを)起動する。(関数を)呼び出す。例) zsh invoked Firefox. zshはFirefoxを呼び出した。invoke main function. main関…

Fedora6にJava1.6をインストール

結構面倒だったのでメモ。 ダウンロード Java SE Downloadsから、jdk-6u1-linux-i586-rpm.binをダウンロード。 インストール # sh jdk-6u1-linux-i586-rpm.bin/usr/java/jdk1.6.0_01/以下にインストールされる。 パスの設定 僕はzsh使いなので、~/.zshenvに…

九九が出来ない。

インド数学ドリルをやっていて気づいたこと。「九九が出来ない」2桁どころか1桁でヤバい箇所が!!えっと、えっと・・・。ちょっと凹んだ。 20年間九九の暗記を放置し続けた自分に反省です。九九を覚え直した。100ます計算で速度も倍速になったので、凄く良い…

SICPを読む(22) 1.3.2(1) グレゴリー・ライプニッツの公式について

1.3.1で、π/4を求めたけど、グレゴリー・ライプニッツの公式について詳しく調べていなかったので、ちゃんと調べようと思う。 まずは、人物を探ろう。 ゴットフリート・ライプニッツ - Wikipedia モナド論、微積分法、微積分記号の考案、論理計算の創始 ジェ…

お絵描き中

なんか無性に絵が描きたくなったので、お絵描き中です。が・・・自分の立体感の無さに驚いた。サイコロを転がした絵が描けない!!正面からは難なく描けるが、軸を回転させると頭がついてこない。2軸、3軸と回転させると更にムズい。しばらく炎のサイコロ特訓…

SICPを読む(21) 問題1.29 - 1.32

しばらく間が空いてしまった。 問題1.29 Simpsonの公式の前に、台形公式で解いてみた。 (define (integral f a b dx) (define (add-dx x) (+ dx x)) (define (term n) (+ (f n) (f (+ n dx)))) (* (sum term a add-dx (- b (/ dx 2))) dx 0.5)) (integral (l…

買った本。

アセンブリ本以外に買った本たち。脳をきたえる インド数学ドリル 入門編作者: 高橋清一,ニヤンタ・デシュパンデ出版社/メーカー: 日東書院本社発売日: 2007/03/31メディア: 大型本 クリック: 13回この商品を含むブログ (6件) を見る2桁掛け算の本。コラムが…

Hello,SIMD World!!

GCC

x86アセンブラ言語入門を買ったので、早速SIMDを体験したいと思います。いくぞ128ビットな世界へ〜。Pentium4以上、gasは最新版をお使い下さいませ。 hello.s .data .align 16 m128: .long 0x12,0x34,0x56,0x78 .text .global main main: movapd m128,%xmm7 …

グレイトなアセンブリ本を見つけた!

Amazonを徘徊していたら良さげな本があったので思わずクリックしてしまった。届いてみたらとんでもない良書だった!!x86アセンブラ入門―PC/ATなどで使われている80x86のアセンブラを習得 (TECHI―Processor)作者: 大貫広幸出版社/メーカー: CQ出版発売日: 2006…

vimGdbを入れてみた。

Vim

vim+gdbを入れてみた。激しく便利。vimGdb install参考にしたのは、 Wolf & Kiss - Vimgdb インストールと使用法。 A FreeBSD GIMPer vimGdbをいれる。 .vimrcの設定。 慣れるのにちょっと時間がかかるけど、gdbを立ち上げたまま作業出来るのでらくちん。ち…

VimでGASのシンタックスハイライト

Vim

僕がGASプログラミングするときはasmx86_64.vimを愛用してます。ダウンロード数200ちょっとと激しくマイナーですが、64ビットアセンブリ、C言語マクロ等にも対応していて超高機能です。asmx86_64 - Syntax highlighting for x86_64 asm including gcc prepro…

ライフハック中。

今月から残業が激しく増えた。疲れが溜ってやる気なし。更に追い撃ち、住民税23万。更にやる気なし。こんな状況を打破するには・・・ライフハックでしょ!今週は2つのライフハックを実行した。 ストレッチ 整理・整頓 ストレッチ 疲れが溜った所を見つけるの…

セグメントレジスタのメモ。

Mona本読んでて気になった所。セグメント・・・。ちと理解が足らない所なのでセグメントレジスタについてまとめておこう。まず、セグメントレジスタの特徴。 16ビット時代の遺産。サイズは16ビット。 メモリを1Mバイトに拡張するための苦肉の策。 OS作る人以…

Mona本

今日は買い物に出かけたけど、何も買わずに帰ってきてしまった・・・。何も買わなかったけど、積読書Mona本を一気に読んだ。MONA―2ちゃんねる発祥の手作りOS作者: ひげぽん出版社/メーカー: 毎日コミュニケーションズ発売日: 2005/04メディア: 単行本 クリッ…

VimでSchemeするときのインデント設定メモ。

どうもSchemeのインデント設定がおかしいので、見直してた。インデントが1スペースになってしまう原因は、Cインデントだった。相性が悪い。 set nocindent Cインデントはオフにしておこう set lisp lispモードオン(filetype indent on,filetype plugin onの…

SICPを読む(19) 1.3.1 積分を理解した

今まで積分なんてチンプンカンプンだった。積分は公式を当てはめるだけで、何をやってるのかよくわかってなかった。 大学に入ったら、数学ばっかり。積分が理解できなくて、授業は上の空。何を言っているのかわからない。落ちこぼれた。中退した。それから数…

SICPを読む(20) 1.3.1(2) 区分求積法による積分

さて、昨日のアレだ。アレ。なんか難しく書いてあるけど、簡単だった。積分は面積だ。まず、のグラフを描こう。面積を計れ。・・・。 * * ** ** *** ***** ******** +------+ 0 1紙面の関係上にはなってない。"分割してたしざん"これこそが積分だった。 * * …

SICPを読む(18) 1.3 シグマ

今日から3節に入ります。SICPは節を進めるごとに急激にレベルを上げます。挫折しそう。 シグマ 数学は変な記号いっぱい使うから嫌いだ・・・。でも、難しくはない。"たしざん"ついでに、コレ"かけざん"「小学生でもわかる言葉を使え!!」抽象の概念。抽象は物…

SICPを読む(17) 問題1.24 - 1.28 randomが・・・。

MzSchemeのrandomはINT_MAXの範囲でしか使えない。 random: expects argument of type <exact integer in [1, 2147483647]>; given 10000000006intの制限越えちゃってますよ・・・と。 問題1.24 仕方ないので、テスト回数を増やして対応する。 (define (timed-prime-fast-test n times) (newlin</exact>…

レジスタのダンプ

無性にOS作りたくなってきたので、ちょっとボクノスいじり。(一応、OS自作ブログだし・・・)とりあえす、レジスタのダンプを作ることにしました。これが無いとデバッグ出来ないので。まずはaxのダンプ。 print_hex: pusha mov $4,%cx mov %ax,%dx 1: cmp $0,…

たらいまわし関数

買ってからずっと読んでいなかった本なんですが、読んでみたらスゲーおもろい。C言語による最新アルゴリズム事典 (ソフトウェアテクノロジー)作者: 奥村晴彦出版社/メーカー: 技術評論社発売日: 1991/03/01メディア: 単行本購入: 20人 クリック: 396回この商…

SICPを読む(16) 問題1.21 - 1.23 Schemeは案外早い。

どうやら、現代のPCはかなり性能がいいらしい。 問題1.21 (smalltest-divisor 19) ; 19 (smalltest-divisor 199) ; 199 (smalltest-divisor 1999) ; 1999 (smalltest-divisor 19999) ; 7 簡単! 問題1.22 テスト時間を計る問題。MzSchemeにはruntimeが無いの…

SICPを読む(15) 1.2.6 素数の探索

いにしえの古代より素数の探索が行われてきた。僕も先人に習い、素数の探索を行おうと思う。 力ずくで まずは、一番単純な素数の探索方法。それは・・・割り切れるかどうか1個づつ試す。終端はなので、探索回数もという力業。 ; 平方 (define (square x) (* …

Schemeの練習に。

腹が減ったのでコンビニへ行ったら、Schemeの練習に最適な本を発見した。頭がいい人のカンタン計算術―知ってると、すぐに役立ち、超便利! (KAWADE夢文庫)作者: 人生の達人研究会出版社/メーカー: 河出書房新社発売日: 2007/04メディア: 文庫この商品を含むブ…