ToDo:
まともなリファラチェッカ無いのは恐ろしいことだよ…!
http://www.kt.rim.or.jp/~kbk/zakkicho/zakkicho18.html#D20061214-1
VC だとこんななるのかー。 実はこのへん気になることがいっぱいなので今度調べる。
トランポリンは実行時に生成しないと言わない… のだろうか。 僕は実行時に作るヤツしか見たことないけど、 よくわからんな。 Binary Hacks の用語集を見ると… 載ってねえ!くそめ!! いやでもまぁ索引からひくとまぁ そんな感じのことが。
うーむトランポリンは jmp 装置を持ち運んでる印象なんだろうな、 というわけでそれはジャンプ台とか呼びたいような気がするけど これも今度調べる。
うーんしかし ; Line 8 の一行下の ??_9@$BA@AE とそのあとの ??_0@$BA@AE が微妙に違うのだけど まぁこれはきっとタイポと予想するとして、 うーんアセンブリレベルでは… の後の HTML が </p になってますよ! とかいうのもまぁいいとして。
よし俺は(HTMLソースを)見たぞ! 二つ目は [eax+4] になってるのね。 例えば (void*)&C::vf が GCC に怒られるあたり、 たぶん C++ の仕様的に仮想関数ポインタが valid なアドレスである必要は無いと予想するんだけど (これも調べる)、 わざわざスタブ作る理由はなんかなぁ。
(04:18)
(05:02)
i@u ~/wrk/binspect> la Code.class -rw-r--r-- 1 i 267 2006-12-20 06:31 Code.class
こんなもんかねえ
(06:33)
http://game10.2ch.net/test/read.cgi/gameama/1101264040/587
たしかに ygg とかでなんかコンパイルできない気がしてならない。 修正するかー
(06:42)
ss56092@ux103 ~/golf> ls -l a.out ~/golf 20:26 -rwx------ 1 ss56092 student 268 2006-12-20 20:26 a.out* ss56092@ux103 ~/golf> ./a.out ~/golf 20:26 Hello, world!
(20:27)
レッドを読むために(またそんなんか) イブニングを読んでみるになんか結構他も面白い気がした。
変態コードの部分を見るために Perl Ultimate なんとかを見た。 割と微妙なのが多いかなぁという印象だった。 まぁ面白かったけど。
で、 Perl 実用プログラミングかなんかを見た。 こっちの方が面白かったかもしれない。 でも要は Acme がすごいという情報以上でもないかもしれない。 あと Perl もリーダーいじる系のがあるのね。
(10:02)
どこにって感じだが。
それはともかく、なんか全部 L ってついてるけど、 1バイトの方の命令使ってくれてるのかなぁと気になった
http://d.hatena.ne.jp/oraccha/20061210/1165757647
(10:50)
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20061114#p01
http://d.hatena.ne.jp/shotaro_tsuji/20061219/1166458799
上のは前見たことあるなぁ。 Mach-O はまた今度やろうやろう
(10:59)
ss56092@ux103 ~> as macho.s -o macho.o && ./textex macho.o a.out && chmod 755 a.out ss56092@ux103 ~> ./a.out ~ 11:04 zsh: malformed Mach-o file: ./a.out ss56092@ux103 ~> ls -l a.out ~ 11:04 -rwxr-xr-x 1 ss56092 student 495 2006-12-19 11:04 a.out*
おやー???サイズ違うのがまずもって不審である
(11:07)
サービス屋が提供すべき API は push pop 的なものじゃなくて、 何かイベントがあったらこの URL にこの引数で報告する、っていうような API かもなぁとか。
ブログ更新したらどっかに ping てのが あるみたいだけど、 あれの汎用版みたいな。
(12:22)
i@u ~/wrk/binhacks> gcc ascii_golf.s i@u ~/wrk/binhacks> strings a.out /lib/ld-linux.so.2 __gmon_start__ libc.so.6 _IO_stdin_used __libc_start_main GLIBC_2.0 PTRh QVh$ `j X$@P[PYPPPPX4.4 PZUX, P^XH,=P_)~(X3F()8)8@)8@@)8)8@PYX@@@@CQBaGHello, world! [^_]
(12:26)
卵焼きを作った。 油多めで作るとおいしくできるのさーと 思ったら入れすぎた。 油の中を卵が泳ぐ。
まぁ蒸発したら普通に焼けて、 ちょっと揚げ気味な部分もあったりしつつ、 焼けた後に油ちょいと捨てて喰ったらおいしかった。 やはりよくかきまぜたのが勝因でしょう。
高コレトリスコストロール
(12:29)
ASCIIだけで画像ファイル作ってこそ ASCIIアートだよなとかブクマーク見ておもた。
http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/shinichiro_h/20061219%231166489566
(12:44)
浜地の浜が違うのであった。
http://www.phys.s.u-tokyo.ac.jp/whatnew/kyo/shuuron.htm
英文タイトル無い人っているけど、 しゅーろんて英語じゃないとダメじゃなかったのかな
(16:50)
http://d.hatena.ne.jp/hasegawayosuke/20061219/p1
あるのかー。 作るのはそんなに難しくないよな。 なんか適当にエンコードして、 デコーダ先頭にくっつけてそのままエンコードした先に フォールスルーさせりゃいいんだよねたぶん。
にしてもすらしゅどてどしてた。 さとゆさんぱわー。
(16:56)
(00:39)
http://blog.japan.cnet.com/kenn/archives/003431.html
via http://blog.livedoor.jp/dankogai/archives/50716491.html
そういえばセンセは レスポンスの速度が何故あんなに速いのか、 と気にしてたみたいだ。 ハッシュとか転置インデックスがほげほげとか説明した。 んでページランクがほげほげとかは全然興味ないみたいだった。
(02:37)
http://lispuser.net/memo/lisp/2006-03-30-23-58.html
前も見たけどメモ。
括弧の無い SRFI ってあったと思うんだけどどこだっけなぁ。
(04:23)
http://www.google.co.jp/search?q=%E3%81%A9%E3%81%86%E3%81%A7%E3%82%82%E3%81%84%E3%81%84&lr=lang_ja
下の方見てみると、
関連検索: 本当はどうでもいい男 どうでもいい山 crazyさゆどうでもいい日記 どうでもいいニュース どうでもいい話 どうでもいい疑問
誰がそんな検索するねん…
(05:57)
ちなみに call 使わないで。
typedef struct frame { struct frame *next; void **ret; } frame; void f() { frame *ebp = (frame *)__builtin_frame_address(0); printf("ebp = %p\n", ebp); void **ret = (void **)ebp->ret; printf("ret = %p\n", ret); void **rel = (void **)*(ret-1); printf("rel = %p\n", rel); printf("main = %p\n", (int)ret+(int)rel); } int main() { f(); frame *ebp = (frame *)__builtin_frame_address(0); printf("ebp = %p\n", ebp); void **ret = (void **)ebp->ret; printf("ret = %p\n", ret); void **rel = (void **)*(ret-1); printf("rel = %p\n", rel); printf("main = %p\n", (int)ret+(int)rel); return 0; }
main の方はなんか違うんだな。 めんどくさいのう。
i@u ~/wrk/binhacks> ./a.out ebp = 0xbf828948 ret = 0x80483dd rel = 0xffffff77 main = 0x8048354 ebp = 0xbf828974 ret = 0xbf8289e8 rel = 0x80482b0 main = 0xc7870c98
(07:22)
movl 8(%ebp), %esi
でオケ。 他環境でもこうなってるのかしら。
さっきのでうまくいかん理由は
call *8(%ebp)
で main に飛んできてるからだった。
(07:51)
http://www.jeannettevejarano.com/games/tower-defence.html
via http://d.hatena.ne.jp/otsune/20061218/TowerDefence
(07:59)
http://d.hatena.ne.jp/alohakun/20061217#c1166421511
なんかローダじゃなくて静的リンクって話ですよね。 私はむしろなんでできないのかが結構不思議だと思ってました。 ツールチェーン作る時ってたぶん、 コンパイラ作る→ .a 的な .lib を作れるようにする→ .a 的な .lib から .def だの import ライブラリ作れるようにする→ .dll 作れるようにする→ (おまけとして) .dll から .def だの .lib をひっこ抜けるようにする、 みたいな流れで作るからかなぁ。
こっちは普通に GNU toolchain ならできるわけで…
i@un ~/test> cat a.c void a() { puts("Hello"); } i@un ~/test> cat b.c void a(); void main() { a(); } i@un ~/test> gcc -o a.so a.c -shared i@un ~/test> gcc b.c a.so -o b b.c: In function 'main': b.c:2: 警告: return type of 'main' is not 'int' i@un ~/test> LD_LIBRARY_PATH=. ./b Hello
なんつーかこのへんってバッドノウハウの山なんだよなぁ。 概念的には別に難しくもなんともないのに、 人為的に難しくされてる感じ。
GNU toolchain
i@u ~> file /usr/lib/libc.so /usr/lib/libc.so: ASCII C program text
Windows 一般
Cygwin/MinGW
OMF (Borland)
OMF (Digitalmars)
COFF (VC)
Mach-O
総括
(17:28)
(17:48)
binutils は全部のバイナリ読めるのをビルドしておくとべんり。
i@uk:/data/backup/usr/local/stow/binutils-2.16/bin$ ls -lh total 29M -rwxr-xr-x 1 root root 2.0M Oct 25 2005 addr2line -rwxr-xr-x 1 root root 2.0M Oct 25 2005 ar -rwxr-xr-x 1 root root 2.7M Oct 25 2005 as -rwxr-xr-x 1 root root 2.0M Oct 25 2005 c++filt -rwxr-xr-x 1 root root 2.3M Oct 25 2005 gprof -rwxr-xr-x 1 root root 2.7M Oct 25 2005 ld -rwxr-xr-x 1 root root 2.0M Oct 25 2005 nm -rwxr-xr-x 1 root root 2.4M Oct 25 2005 objcopy -rwxr-xr-x 1 root root 2.6M Oct 25 2005 objdump -rwxr-xr-x 1 root root 2.0M Oct 25 2005 ranlib -rwxr-xr-x 1 root root 410K Oct 25 2005 readelf -rwxr-xr-x 1 root root 1.9M Oct 25 2005 size -rwxr-xr-x 1 root root 1.9M Oct 25 2005 strings -rwxr-xr-x 1 root root 2.4M Oct 25 2005 strip
ただデカいのはともかく、 起動がえらい遅いので日用にはならぬー
(17:52)
僕が今までで一番面白かったのは ○○さんでぐぐったら、 ○○さんの日記サイトが、
○○さん - [ このページを訳す BETA ]
的に採用されていたというか。
つまりなんというか、 自分の日記の title を○○さんにしてるのか! と思ったらぐぐるマジックだったというか。
(06:54)
http://www.cave.co.jp/gcommerce/2006fes/index.html
via http://garakuta.homelinux.org/~nosuke/diary/diary.html?y=2006&m=12&d=15&n=1#15-1
25-29 帰省とか。ありえんかなぁ。
(06:56)
hamaji@www491 ~> ./hello_small ELF binary type "0" not known. zsh: abort ./hello_small
おおお情報多いなすばらしい
(06:58)
hamaji@www491 ~> ls -l hello_freebsd -rwxr-xr-x 1 hamaji users 93 Dec 16 07:51 hello_freebsd* hamaji@www491 ~> ./hello_freebsd Hello world!
後は命令埋めるだけかねえ
(07:53)
http://sourceforge.net/docman/display_doc.php?docid=10472&group_id=1
ステータス一覧がここで見れるのか。
あとマニュアル
http://sourceforge.net/docman/display_doc.php?docid=762&group_id=1#specific_host_access
compile farm
(09:30)
大人気気味。
http://homepage1.nifty.com/herumi/diary/latest.html#15
http://d.hatena.ne.jp/y-hamigaki/20061215#1166193310
woさんえらい。
(10:20)
enquete ってスペルむずかしいのう。
http://slashdot.jp/developers/article.pl?sid=06/12/14/1233207
敢えてアンケート作ったら面白くねえかなぁ。
あなたは Ruby を…
知ってる&(5点|4点|3点|2点|1点) | 少し&(5点|4点|3点|2点|1点) | 知らない
の11択くらいで各言語について聞く。 したら勝手にグラフはできるはず。
(04:03)
いやおれはうん、 C++ 愛してるっ! 5点つけたいんだ。でも、でもやっぱりねっあれがそれであれがこれでこれこれ でやっぱり2点くらいかも、いやだめだ! Ruby もねっ、なんか…なんか違うんだよ1点とかつけてやりたいけど、 チクショウ悔しいけどよくできてるんだうわあああん 決められNEEEEEEEEEEeeeee
みたいな頭の悪い層がどうしようもないことだ
(04:05)
やってるひまあああああ
あるかな
ないかな
しりとりと言えば、
web
binary
なので次は y からスタートです。 僕の予想は ytqwerty 2.0 です。 その次も ytqwerty だと思います。
どうでもE
(04:10)
ttp://www.atdot.net/~ko1/img/2006/DSCF2252.JPG
via http://www.atdot.net/~ko1/diary/200612.html#d14
(20:49)
今日の話で、 やっぱ既にあるんだなーと思った。
echo Hello | cat@host1 > file@host2
って話。
名前空間がどうこう言ってたのは、 この @... の部分を省略とかこう、 できないとインストールとかをシームレスに、 とかはキツいなぁとかなんとか。
(21:28)
http://d.hatena.ne.jp/arn/20050214#p1
via http://page.freett.com/shelarcy/log/2006/diary_12.html#mistrust_econophysics
(00:43)
ふらたんが言ってたこと。
irb(main):001:0> def/a;p a;end;:x/1 1 => nil
だけど、
i@un ~> ruby -e 'def/a;p a;end;:x/1' -e:1: private method `/' called for :x:Symbol (NoMethodError)
で、
i@un ~> ruby -e 'public;def/a;p a;end;:x/1' 1
なら動く。 つまり irb は private にするのが正しいかもねえという。 ただゴルフ的にはむしろ逆で目。 method_missing が手軽に書ける目にひかれたわー
(15:15)
1st kinaba 51 Ruby 10,000 (v13) 2nd flagitious 52 Ruby 9,807 (v26) 3rd shinh 52 Ruby 9,807 (v14)
縮む気しねえええ
(15:20)
(15:33)
http://arcadestg.jpn.org/wiki/wiki.cgi?page=%C5%EC%B5%FE%C5%D4%2823%B6%E8%29
これはべんり
via http://www5.ocn.ne.jp/~yoc/gra.html#20061213
(17:32)
http://mkosaki.blog46.fc2.com/blog-entry-288.html
久々に面白画像キターと思ったら前もこれ見たような気がするよ! さみしい!
(22:43)
http://www.namikilab.tuat.ac.jp/~sasada/diary/200505.html#d10
eval 無いとかマジック…と思ったら lave だった。
(03:34)
http://www.rubyinside.com/advent2006/2-erubis.html
via http://www.rubyinside.com/advent2006/
(03:37)
昔はこういうのも
19:49 <codegolf> zeriod submits 1B of Php for Paint By Numbers, ranking 1st (10000pts) in Php and 1st (10000pts) overall.
これはバグでした
(05:08)
http://d.hatena.ne.jp/Cryolite/20061210#c1165857299
そして書き下す作業は面白くないと思うんだよなぁ。 少なくとも僕には面白くない
(05:51)
i@um ~/test> cat cont.cc #include <vector> #include <ext/slist> #include <list> #include <set> #include <ext/hash_set> using namespace std; using namespace __gnu_cxx; int main() { typedef vector<int> v; typedef slist<int> sl; typedef list<int> l; typedef set<int> s; typedef hash_set<int> hs; printf("%d %d %d %d %d\n", sizeof(v), sizeof(sl), sizeof(l), sizeof(s), sizeof(hs)); } i@um ~/test> g++ cont.cc i@um ~/test> ./a.out 12 4 8 24 20
(11:21)
1st flagitious 52 Ruby 10,000 (v26) 2nd shinh 52 Ruby 10,000 (v14) 3rd kinaba 55 Ruby 9,454 (v11)
さて…
(12:18)
むずかしいっていうけど、 あせんぶりとかわかってたらそんなにむずかしくない部分も 多いんじゃないかなぁとか思う今日このごろ。
こんぱいらのきもちになって考えれば自明な部分も多いような…
で、そいうことが Write Great Code 2 のイントロに 書いてなくて少し残念。 「この本を読めばアセンブリの雰囲気がわかるので、 コンパイラの気持ちになれるので、 普段から高速なコードを選択できるようになります」 だと動機が弱い気がして。 コンパイラの気持ちになれば なぜ特に C/C++ がこの言語仕様になってるかもわかる、 ってのも重要な点だと思うんだよなぁ。
たとえばわかりやすいとこでは C で if あれば switch いらないじゃん break キモい、みたいな話とか、 mst さんがキモいとおっしゃってた C++ の初期化リストとか。 キモいものをわざわざ入れてる理由がわかるなんて素敵なことじゃない。
(15:52)
_ Sxersvwm [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]
true_return_type.d(30): static assert (is(long == long)) is false
こんなステキなメッセージもらったことない
(00:52)
http://garakuta.homelinux.org/~nosuke/diary/diary.html?y=2006&m=12&d=10&n=1#10-1
mjsk
(04:37)
#!/usr/bin/env ruby t=ARGV.shift pid = fork do exec(*ARGV) end t.to_i.times do if (!File.exists?("/proc/#{pid}")) exit end sleep(1) end Process.kill(:INT, pid)
ありがちだけど、指定した時間が経過したら子プロセスを 殺して終了する物体をいいかげんに書いた。 普通に Unix コマンドにあった気がするけど覚えてない
(06:45)
エンディングにいっしきさんの名前があって おおーと思った。
それはそれとして初プレイしたけどよくわからず。 自機はえーてのと、 敵が突然どぱっと弾うってるかぼんやりしてるかの どっちかというのは、 つまりなんというか、 シューティングというよりリンクだとかドルアーガだとか、 ああいう感覚に近いのかもしれんなぁ。 盾で守りつつ剣でぶしゃー。
盾シュー作りたいな。
(07:56)
(08:18)
http://www-06.ibm.com/jp/developerworks/java/051021/j_j-pg09205.shtml
ほえー。全然途中までしか読んでないんだけど MOP て method_missing のことなんかいな?
(09:41)
_ Kim [Thanks for this <a href='https://wepurpleit.com/top-twice-..]
前 | 2024年 11月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ shotaro_tsuji [すいません、Mach-Oのやつですが逆スラッシュが疑問符に化けてました。 Safariで編集するとこうなる事をすっか..]
_ shinh [おお、ありがとうございます。とりあえずちょっといじってみたら358Bまでは減りました。もうちょっと減らしてみてからな..]