Entries from 2009-01-01 to 1 month

風邪

最近よく風邪ひく。毛布をかぶって寝ていたら大量の汗がでて体温が下がり楽になった。

今日の復習

貧乏人のデイトレ 10割 プロセッサ入出力I/F 0割 BUS 0割 クォータニオン 0割 Disk space management 2割 Hash baesd Indexing 10割 Heap file format 10割 Clustered Index の威力 10割 Relational operation 10割 Buffer management 10割

FFI callback はあとで

FFI のコードを整理しライブラリにまとめた。テストも書いた。当初の目的であった PostgreSQL や MySQL を使えるほどの最小セットは実装できた。 callback の実装をどうしようか散々迷ったが以下の理由から後回しにしようと思う。 実装方法は理解している 今…

Object システムのテスト追加

今さらだが Object のテストを追加した。Fixnum、Charcter、Nil など tag bit を利用して構築されている基礎部分など。 動いて当たり前の部分だが、問題の切り分けに使用したり移植時の負担を減らす狙いがある。おそらく明日の作業に役立つだろう。

今日のギター

適当にじゃらじゃらと。うーむ。盛り上がりに欠ける。録音機材買って1人でハモってみる?

今日の復習

ロボットは辛いと言わない Heap file format 2割 Relatinal Operation 1割 Buffer management 0割 MIPS 命令実現概要 10割 キャッシュの性能と改善 10割

今日の英語 - An Incremental Approach to Compiler Construction その2

速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。今日から別の論文。もしあわないようであればやめる。 トピックセンテンスは {{ }} で囲む シグナルワードは =…

rhs

rhs が何の略か分からずにずっと悩んでいたが解決。right-hand-side 。rhs lhs。

FFI API を考える

make-c-function 相当を手続きで書いたが、Ypsilon のようにマクロのマッチング機能をフルに使った方がきれいに書ける気がしなくもない。 どちらにせよ、いちいち quote するのは面倒なのでマクロで wrap はした方が良さそうだ。(定義はヘッダからコピペす…

わろた

Spinlockと便器 - 笑わないプログラマ。 以前 adaptive lock を知ったときは感動したなと思い出した。

Testing MySQL client on Mosh using FFI API

MySQL クライアント動いた。API はもっと洗練させる予定。 (define libmysqlclient (%ffi-open "libmysqlclient.so.15.0.0")) (define mysql-init (make-c-function libmysqlclient 'void* "mysql_init" '(void*))) (define mysql-real-connect (make-c-func…

今日の復習

僕はロボット。 Hash-based Indexing 2割 WEwLC changng software 10割 2ヶ月ぶりだがしっかり定着 DLLのロード 10割 キャッシュの基礎 10割 ゲート真理値 10割 MIPS命令実現概要 8割 世界一分かりやすい株実践 10割 Magnetic disk 10割 キャッシュの性能と…

Algorithms for Relational Operations - Database Management Systems

Database Management Systemsの12章。 マインドマップから再構成したまとめ Selection clustered index あり => index を読むだけ un-clustered index あり => index + match した tuple の data を read index なし => full scan Projection 特徴1:出力を …

FFI における構造体問題

Scheme から C の関数を呼び出せるとなると MySQL に接続してみたくなる。しかしながら libmysqlclient の mysql_init は MYSQL * STDCALL mysql_init(MYSQL *mysql);と MYSQL 構造体を呼び出し側で割り当てて渡してあげないといけない。(正確には渡すのは…

OSX(gcc) で共有ライブラリを作る

オプションが -shared ではなくて -dynamiclib 。Makefile.am libffitest.so.1.0: ffitest.c gcc -fPIC -c $< gcc -Wl @SHLIB_SO_LDFLAGS@ -o $@ ffitest.o configure.ac case $host in *darwin*) SHLIB_SO_LDFLAGS="-dynamiclib" ;; *) SHLIB_SO_LDFLAGS="-…

時間切れ

ポインタを cast したり符号拡張していたら時間切れ。無念。眠い。

今はもうない

昨年末で終了してしまったMORI LOG ACADEMY。とても残念だが森博嗣らしいと思う。ブログ更新終了も予定通りなのだ。仕事や趣味の計画を立て数年レベルの範囲でほぼその通りに実現してしまうスタイルが僕は好きだ。 彼のブログやエッセイには「これは僕が大人…

void と ByteVector 対応

(let* ([handle (%ffi-open "./libffitest.so.1.0")] [upper (%ffi-lookup handle "my_upper")] [bv (u8-list->bytevector (map char->integer (string->list "hello")))]) (%ffi-call->void upper bv 5) (list->string (map integer->char (bytevector->u8-…

復習システム見直し

色々問題が分かってきたので見直し。さてうまくいくか?。復習ロボットになる。

今日の復習

Extract override call 10割 テストコードが邪魔 10割 アドレッシング 10割 キャッシュの性能と速度改善 5割 キャッシュの基礎 5割

SRFI-97 が Final へ

SRFI 97: SRFI Libraries。

FFI の基礎作り完了

FFI の基礎作りを完了。int hoge(int x) のように引数も戻り値も int の関数を共有ライブラリから呼び出せるようになった。この基礎の上に、戻り値や引数が int 以外の型に対応したものを積み上げていく予定。 基礎以外で残っている難所はコールバック対応。…

FFI 実験中

条件を限定。動いた。 (let* ([handle (%ffi-open "./libffitest.so.1.0")] [sym (%ffi-lookup handle "sub")]) (%ffi-call->int sym 5 -1)) ; => 6

今日の復習

2の補数 10割 キャッシュの基礎 4割 記憶階層の利用 10割 キャッシュの性能と速度改善 5割 Vetex blending & Morphing 10割

今日の英語 - An Incremental Approach to Compiler Construction その1

速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。今日から別の論文。もしあわないようであればやめる。 トピックセンテンスは {{ }} で囲む シグナルワードは =…

パスタランチ

パスタランチ。ゆったりとした余裕のある空間の使い方をする店なので落ち着く。トイレがとてもきれいで好印象。

今日の復習

今日は復習タイムを早めに取りゆっくり休む。 Basic transform 10割 WEwLC あちこち同じコードを変更している 10割 Vertex blending & morphing 5割 キャッシュの基礎 0割 キャッシュの性能と速度改善 0割

今日の英語 - Control flow analysis in scheme その7

速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。まだ読み終わっていないがべつの題材を探そうと思う。後半は式の説明ばかりだ。 トピックセンテンスは {{ }} …

FFI - Foreign Function Interface のしくみまとめ

FFI とは何か? ある言語から他の言語で作られたライブラリを呼び出すしくみの事。 ここでは Scheme から C の関数を呼び出す方法をとり上げる。例えば Scheme から libxml の関数を呼ぶなど。 しくみ 上から順に処理が流れる。 ライブラリのロード 呼び出そ…

Datum Comment のバグ修正

id:SaitoAtushi さんのパッチで (display #;#;1 2 3) なども動くようになりました。ありがとうございます。