Entries from 2009-08-01 to 1 month
構造体に padding がある状態で、構造体に jmp するとプロセスが死ぬ。ということに気づかずハマった。 nop で padding してくれればいいのに。
オブジェクト共有 0割 プロセッサ入出力 I/F 10割 Material mapping 10割 キャッシュの基礎 8割 WEwLC tools 10割 8月も終わりか。9月分の復習カードの取り出しとソートをしよう。
gcc には __LOCAL_SIZE とか naked がないので全てインラインアセンブラで書くのは無理だ。 as さん使うか。
OOSC クラス 10割 Basic Transform 10割 プロセッサ入出力 I/F 0割 Web tier 10割
GCC のインラインアセンブリ拡張の AMD64 用は、まだないっぽい。引数に使われる R9 などに簡単にアクセスできたら楽なのに。 Machine Constraints - Using the GNU Compiler Collection (GCC)
int returnCallback(int (*func) (void)) { return func(); } (let () (define libffitest (open-shared-library "./libffitest.so.1.0")) (define returnCallback (c-function libffitest int returnCallback void*)) (let ([callback (make-c-callback 'in…
DB Magnetic Disk 10割 Value Objects 10割 Web Tier 0割
寝返りでベッドに頭を打ったり、はさまったりすると危ないので全周ベッドガード ひよこを購入。 ベビー用品は近所の薬局よりも、楽天で買った方が安かったりする。 例えばミルクは 明治ほほえみ850gは楽天で買うと近所のどの薬局よりも安い。(2個以上買う…
C/C++ 関係なかった。uIP のビルドには -fpack-struct オプションが付いてた。 Makefile をコピペしたので気づいていなかった。 これのせいで uip_conns[index] へのアクセスがおかしくなってた。
operator new をクラスの static メンバ関数にすると、そのクラスを new するときに使われるらしい。 FFI callback で実行可能属性のメモリ上に構造体を new するのに使ってみた。placement new より便利。
Test Harness でクラスをインスタンス化できない 10割 モジュール性 10割 Projection 10割
extern "C" しているんだけど struct uip_conn のサイズが違う。何か見落としていないかもう一度チェックしよう。
ひげ太が生後2ヶ月24日で寝返りをした。妻の機転により動画も撮れた。おめでとう! 普通は4〜5ヶ月頃らしい。
/* int return3() { return 3; } */ #ifdef ARCH_IA32 ASSERT_TRUE(mem.push(0x55)); // push %ebp ASSERT_TRUE(mem.push(0x89)); // mov %esp,%ebp ASSERT_TRUE(mem.push(0xe5)); ASSERT_TRUE(mem.push(0x83)); // sub $0x8,%esp ASSERT_TRUE(mem.push(0xec…
OOSC モジュール性 7割 Projection 0割 データで決まるプログラミング構造 10割
./configure で jinterface をオフには出来ないので java とか javac をリネームしておいて ./configure し直すと良い。 apt-get remove gcj でも可(使っていなければ) あれ? disable-jinterface あるのか?
find-name-dired 。
家の開発用 ThinkPad X60(Ubuntu)。 FPKakeibo600 、nanpeidai.sh とかが生々しい。あ。spon 進めないと。 3d-data.scm VTune eijirou info project_create.pl vtune-work4 AdobeReader.desktop a.out firefox.sh intel psyntax.scm xf86-input-evdev Change…
FFI callback とは何か? Scheme の手続きを C のコールバック関数として渡す事の出来る仕組み。 着目する点 マーシャシリングを「誰が、いつ、どのように」やっているか API Ypsilon callback 関数を引数に持つ、C 関数を Scheme から利用する際に callback…
モジュール性 6割 以下10割 記憶の階層の利用 Smart UI Antipattern マインドマップの作り方
珠玉のプログラミングの3章。 日付周りのコードを書いたことがなかったので勉強になった。 3.7.1 税率と境界値を配列に格納すればコンパクトに。 3.7.2 問題が曖昧な気がする。コード参照。 3.7.3 コード参照。 3.7.4 アルゴリズムは以下のサイトを参考にし…
Mona の uIP が落ちる場所を調べていったところ ++(uip_connr->nrtx); の前後で全然関係ない、uip_appdata ポインタが壊れる。 なんだこれは。
psyntax-system-macros に core-macro として let を追加 psyntax-system-macros から (let (macro . let)) を削除 build.ss に buile-let, build-named-let 追加 expander.ss core-macro-transformer に let 追加 expander.ss に let-transformer 追加 ポイ…
OOSC オブジェクトを抽象的に見るには OOSC 総称型 DDD Entities 月
let/named-let がそれぞれ、lambda, letrec に展開されてしまうのだが、展開せずにバックエンドに渡す方法を模索中。
Erlang 分散プログラム 10割 DDD entities 6割
背景 Erlang の分散ノードのデモや、テストをしたい。デモをする環境によってはネットワークにつながらない場合もあるので、すべてローカルで完結させたい。 というような環境を作ります。 環境 VirtualBox ホスト: Mac OSX ゲスト: Ubuntu 9.04 AMD64 手順 …
いくつかベンチマークをとっていて気づいたこと。 R5RS モード(-5オプションで起動)では十分速いが、R6RS モードでは遅いものがある。 psyntax ではコードを変換してバックエンドに渡すのだが、そこで効率的でないコードになっているのかもしれない。 psyn…
日々成長している、ひげ太の進化ぶりに驚かされる毎日。 夜8時間寝ることがある 人形が上から、ぶら下がっているおもちゃを一心不乱にたたきまくる 父母を見つけて「ニコッと」笑う 「ひとりよりふたりがいいさ、ふたりよりさんにんがいいー」の歌に喜ぶ 「…
光 10割 OOSC クラス10割