ToDo:
たのしかったです
(00:23)
http://xxx.lanl.gov/abs/quant-ph/0611156
http://mixi.jp/view_bbs.pl?id=12447257&comment_count=4&comm_id=42608
暇な時読む系
(00:28)
プレゼンする時、 話者付近は電気消すことが多い。 すると写真とかは青系の色になるし、 たぶん見てる人もちょいと青系に見えてるはず。 となると青系の資料作るのは愚かで、 たぶんうすい黄色とかそっち系の色 (俗に言うWeb2.0色)の方がいい気がした。 今度機会があったらためしてみやう
あと誰もWeb2.0色なんて言ってない
(02:07)
発送済み商品の合計(Amazon.co.jp) 14 \31,750 \1,417 発送済み商品の合計(マーケットプレイス) 2 \5,828 \189 発送済み商品合計 16 \37,578 \1,606 返品数合計 0 \0 \0 返金合計 0 \0 \0 紹介料合計 16 \37,578 \1,606
こんな感じだったみたいです。 ちょうどアマゾンの 1500円チケットもらえる感じみたい。 うち Binary Hacks が 1000円くらい。 なんかどなたか知らんですがありがとうございます。
まぁでももういらんです。 1500 の剰余は換金できないので 他のところでアフィられて下さい。
(03:12)
i@u ~> ls /proc/sys/fs/binfmt_misc cli hello python2.4 register status i@u ~> sudo rm /proc/sys/fs/binfmt_misc/hello rm: cannot remove `/proc/sys/fs/binfmt_misc/hello': Operation not permitted
後戻り不能インターフェース。 これうっかり ELF の magic の挙動変えたらおもしろいよね。
と思ったら消せるみたいだ。
i@u ~> sudo sh -c 'echo -1 > /proc/sys/fs/binfmt_misc/hello' i@u ~> ./hello.exe zsh: exec format error: ./hello.exe
(03:20)
http://www.atmarkit.co.jp/fdotnet/special/powershell02/powershell02_01.html
前聞いたのはこれかぁ。 なんか面白そうだなぁ。
まぁ例のごとくひどいわけだがー
http://slashdot.jp/article.pl?sid=06/11/15/2331202
(11:57)
次からECS
どうでもいいけど例外ほげほげには イマイチ興味が持てないのであった。 たぶんゲームだと main 囲うくらいしか使わないのが 適切だからじゃないかな。 いやいずれにしても例外から本当に復帰しなければならないような シーンがあんまり無いというか。
前書きがカッコよかった。 exportと国会議事堂と国会議事堂の共通点は何か!?
1 vector
いきなり常識レベル
2 sprintf
「strstream が良く見える」感性は理解できない。 個人的には lexical_cast > sprintf > snprintf >> sstream > strstream くらいな気がする。
4 std:: の引数の数の実装依存
知らなかった。 どっかで見ていたかもしれないけど。 いずれにせよ気にしないと思った
5 汎用性十分か。
たぶん簡単。あんまり印象に残らない
7 関数テンプレートを特殊化するな
本能的にしてなかったていうか、 std::mem_fun とかのイディオムが 染み込みすぎてるなバイトで染み付いた。 ちゃんと理由が言語化してあったのは良かったし、 C++ のアレさがよくわかってよい
8 template friend
まさしく2000年くらいのバイトでいろいろやったなぁと懐しく。 まぁこれもC++のアレなところが見えまくりで良い。 結論は全部 public ということでよろしかったでしょうか。
(13:10)
http://blog.linux.org.tw/~jserv/archives/001728.html
見っけたー。
最小 hello にも言及しておられるみたいだ。
http://blog.linux.org.tw/~jserv/archives/001762.html
http://d.hatena.ne.jp/kikx/20061111
もし REFERER で来られたらわかるようにリンクはっとこ
(18:11)
CPU上のコアの数は2年で倍増する
36年ほどで 1MCore とかになるはずです。
50年もすれば CPU 演習で 100MCore CPU とか作ってるんでしょう
(19:21)
自分読むquineはむっちゃ簡単ですね…
i@u ~/wrk/binhacks> la quine_small -rwxr-xr-x 1 i 56 2006-11-16 22:41 quine_small* i@u ~/wrk/binhacks> diff =(./quine_small) quine_small
さらにエグいパターンがあればいいんだけど
(22:42)
と言わず任意の実行ファイル的に 56B が限界に見える…
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss ss ss mm mm mm mm *7 ** ** ** ** ** ** **
は実行までは行けるんだけど、
e_phoff が 0x14 => p_vaddr が 0x14 => p_offset が 0x14 => e_entry が 0x14 っていう制約で、 phdr の初っ端であるところの 01 00 でコケる気がする。
さて。 p_vaddr が 0x14 => p_offset が 0x14 は本当に絶対必要な条件なのだろうか…
(23:59)
http://knagano.seesaa.net/article/10112354.html
http://firewood.txt-nifty.com/bbc/2005/12/introduction_to.html
(02:17)
http://d.hatena.ne.jp/oto-oto-oto/20061114/1163524011
WA がヒントでした
とかこうなんていうかつまり
http://shinh.skr.jp/m/?date=20061107#p26
をはやくやらないと
(03:19)
こまるなあ、まじで
http://d.hatena.ne.jp/w_o/20061114#p2
> アセ
この push 命令は 68 02 00 03 00 とかそんなんが入ってるわけですが。
> 15分
僕も終わるとは思えません。 なんせ b2con よりでかい。
i@u ~/wrk/b2con> wc b2con.hiki 422 749 7449 b2con.hiki i@u ~/wrk/b2con> wc ../binhacks/fsij.txt 805 1166 10121 ../binhacks/fsij.txt
どどどうしよう
でなんかつまりこのメール投げたら コメントに投稿しつつこっちにも 残るようなシステムが欲しいと言ってるわけですよ。 でそれをまぁ今度作ると
ていうかトラバってその用途に使うんじゃとか
あとなんていうか僕プレゼンとか あんましたことないわけで
時系列全然覚えてなくてびびった
あとなんかとりあえず寝る努力を
(04:11)
(04:16)
(04:38)
(07:41)
http://www.jmuk.org/d/?path=2006/11/14#d14t01
僕なら tr かな
irb(main):002:0> 'abcdefghijklmnopqrstuvwxyz'.tr'kaze','' => "bcdfghijlmnopqrstuvwxy"
(08:28)
http://d.hatena.ne.jp/higepon/20061114/1163517868
http://d.hatena.ne.jp/shinichiro_h/20060829#1156830996
ついでに cc1 を自分で呼び出す練習
i@u ~/test> gcc not_reached.c -Wall not_reached.c: In function 'main': not_reached.c:6: warning: control reaches end of non-void function i@u ~/test> cpp -CC not_reached.c | /usr/lib/gcc/i486-linux-gnu/4.1.2/cc1 -quiet -Wall - not_reached.c: In function 'main': not_reached.c:6: warning: control reaches end of non-void function i@u ~/test> cat not_reached.c | /usr/lib/gcc/i486-linux-gnu/4.1.2/cc1 -quiet -Wall - <stdin>: In function 'main': <stdin>:6: warning: control reaches end of non-void function
うーんどう見ても cc1 は cpp 持ってやがるな
i@u ~/test> /usr/lib/gcc/i486-linux-gnu/4.1.2/cc1 --help |wc 1067 6246 68786
すごい読みごたえありますね!
(11:04)
i@u ~/test> cpp -CC not_reached.c | /usr/lib/gcc/i486-linux-gnu/4.1.2/cc1 -quiet -Wall -fpreprocessed - not_reached.c: In function 'main': not_reached.c:6: warning: control reaches end of non-void function i@u ~/test> cat not_reached.c | /usr/lib/gcc/i486-linux-gnu/4.1.2/cc1 -quiet -Wall -fpreprocessed - <stdin>:1: error: stray '#' in program <stdin>:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token <stdin>: In function 'main': <stdin>:4: warning: implicit declaration of function 'my_exit' <stdin>:6: warning: control reaches end of non-void function
(11:05)
について思うのは、 これは本当にすごいものだなと思うんだけど、 本当にこれ限界なのかなとかそういう。 エレガントに詰まりすぎてるというかなんというか。 ただ俺じゃあ全然手が出ないんだよなぁ。 今日は repne scasb とか書こうとして 簡単には書けなかった。
とりあえず intel のドキュメントは印刷すること
(02:44)
浜地です。 その件につきましては、今週中になんとかします。 # できれば明日中には…
浜地です。 その件につきましては、今週中になんとかします。 ;; できれば明日中には…
浜地です。 その件につきましては、今週中になんとかします。 (* できれば明日中には… *)
>+++++++[<------->-]<------.++++.>+++[<--->-]<-.>+++[<++++>-]<.>++++++[<------->-]<-.>+++++[<+++++++>-]<.>+++++[<------->-]<.>++++[<+++++>-]<+.>++++[<------>-]<.++.>++++++++++[<++++++++++>-]<+++..>++++++++++[<---------->-]<--.>+++++[<+++++>-]<.>+++++[<----->-]<.>++++++[<+++++++>-]<.>++++[<----->-]<---.>+++++++[<++++++++>-]<.>++++++++[<--------->-]<---.>++++++[<++++++>-]<+++.>++++++[<------>-]<---.>+++++[<++++++>-]<++.>+++++[<------>-]<--.>+++[<+++>-]<.>+++[<--->-]<.>+++++++[<++++++++>-]<++.>+++++++[<-------->-]<--.>++++[<++++>-]<+++.>++++[<---->-]<---.>+++++[<++++++>-]<++++.>+++++[<------>-]<----.>++++++[<+++++++>-]<+.>++++++[<------->-]<----.+.>++++[<++++++>-]<.>++++[<----->-]<---.>+++++[<+++++>-]<+.>++[<---->-]<.>+++[<++++>-]<++.>+++++[<+++++++>-]<.>++++++++[<-------->-]<--.>++++++[<++++++>-]<+++.>++++++[<------>-]<---.>++++++[<++++++>-]<++.>++++++[<------>-]<--.>++++++++[<+++++++++>-]<+++++++.>++++++++[<--------->-]<-------.>++++++[<++++++>-]<.>++++++[<------>-]<.>++[<+++>-! ]<+.>++[<--->-]<-.>++++[<++++>-]<+++.>++++[<---->-]<---.>+++++++[<++++++++>-]<++.>+++++++[<-------->-]<--.>++++[<+++++>-]<+.>++++[<------>-]<.++.>++++++++++[<++++++++++>-]<+++..できれば明日中には…
(03:47)
http://blog.livedoor.jp/dqnplus/archives/850456.html
354の人がすてき。 この人見るとなんとも思ってなかった 転売人が悪い子に見えてくる
(05:58)
普通に SCEI 大丈夫なんか
http://www.nikkansports.com/general/p-gn-tp0-20061112-115959.html
(06:26)
http://www.atdot.net/~ko1/diary/200611.html#d14
メソッドディスパッチじゃなくて 「Ruby の高級な機能」が重いってのは勉強になった。
引数も括弧もないから…とかの例を読んで、 Language Shootout と最下位と引き換えに Code Golf 最上位ならいいじゃない…とか。
ていうか僕の経験では YARV むっちゃはやいんだけど
(12:42)
(17:10)
渋谷ブックファーストで売り切れてるそうなんですが。
http://bsoup.skr.jp/slide/?date=20061114#p01
しかしそういえば生協書籍部には普通に平積みになってた。
(22:13)
http://d.hatena.ne.jp/w_o/20061112#p3
なんか相当に恣意的な例なような。 これ restricted つけようが何しようが 本質的にコンパイラが何しても最適化不能… じゃないのかな。
(01:36)
なぜなら絶対に副作用があるから。
もっとキワどい例ないのかな。 malloc の方は例としてわかりやすいんだけど。
つまり、 本質的に消せるのにコンパイラには消せない ムダなコードの方が適切なんじゃないかなぁみたいな
(01:45)
つーわけで ukai さんと wo さんのオマケで喋ることになりました。 内容は ELF Golf のはずですが プレゼンツール作ってる有様では 何が起きるかどきどき。
(03:01)
116B の綺麗なコード
BITS 32 org 0x00000000 db 0x7F, "ELF" ; e_ident db 1,1,1,0 dd 0,0 dw 2 ; e_type dw 3 ; e_machine dd 1 ; e_version dd _start ; e_entry dd phdr - $$ ; e_phoff dd 0 ; e_shoff dd 0 ; e_flags dw 52 ; e_ehsize dw 32 ; e_phentsize dw 1 ; e_phnum dw 0 ; e_shentsize dw 0 ; e_shnum dw 0 ; e_shstrndx phdr: dd 1 ; p_type dd 0 ; p_offset dd $$ ; p_vaddr dd 0 ; p_paddr dd filesize ; p_filesz dd filesize ; p_memsz dd 7 ; p_flags dd 0 ; p_align hello: db "Hello world!", 10 _start: lea EAX, [EDI+4] ; write = 4 inc EBX ; stdout = 1 mov ECX, hello lea EDX, [EDI+13] ; strlen = 13 int 0x80 xchg EAX, EBX ; exit = 1 xor EBX, EBX ; exit(0) int 0x80 filesize equ $ - $$
(07:34)
BITS 32 org 0x00000000 db 0x7F, "ELF" ; e_ident db 1,1,1,0 dd 0,0 dw 2 ; e_type dw 3 ; e_machine dd 1 ; e_version dd _start ; e_entry dd phdr - $$ ; e_phoff dd 0 ; e_shoff dd 0 ; e_flags dw 52 ; e_ehsize dw 32 ; e_phentsize dw 1 ; e_phnum dw 0 ; e_shentsize dw 0 ; e_shnum dw 0 ; e_shstrndx phdr: dd 1 ; p_type dd 0 ; p_offset dd $$ ; p_vaddr dd 0 ; p_paddr dd filesize ; p_filesz dd filesize ; p_memsz dd 7 ; p_flags dd 0 ; p_align hello: db "Hello world!", 10 _start: mov AL, 4 ; write = 4 inc EBX ; stdout = 1 mov CL, hello mov DL, 13 ; strlen = 13 int 0x80 xchg EAX, EBX ; exit = 1 xor EBX, EBX ; exit(0) int 0x80 filesize equ $ - $$
58B を解読してて、 16bit レジスタへの命令を忘れてた マヌケさというか x86 への愛の足りなさに ほげほげとか思いつつ
(09:12)
apt-get というツールがあって、
apt-get install パッケージ名
でインストールするわけだけど、 このパッケージ名にカンで名前を入れて あってるとすごく嬉しい。
だからどうしたと
(19:22)
http://mixi.jp/view_bbs.pl?id=907603&comment_count=16&comm_id=42608
http://plaza.rakuten.co.jp/superman81/
EPR光子対がカギらしい
(20:32)
2800 と 2403 通した。
メモリンク
http://acm.pku.edu.cn/JudgeOnline/status?result=0&user_id=shinh
http://acm.pku.edu.cn/JudgeOnline/status?result=0&user_id=tyos
差分楽に取れねえかなぁ。
(23:48)
http://www.youtube.com/watch?v=rTJhUAwD8Bo
via http://yowaken.dip.jp/tdiary/20061112.html#p02
うーんDSのはこいう回転法則なんだなぁ…
(06:03)
生きていてもいいですかとか わりと微妙なアルバムに思うのだけど…
http://music.hatelabo.jp/track/%E4%B8%AD%E5%B3%B6%E3%81%BF%E3%82%86%E3%81%8D/
まぁネタかなぁ
(07:49)
http://d.hatena.ne.jp/tkng/20061110/1163187966#c
http://www.atdot.net/~ko1/diary/200611.html#d12
おもしろそー
(17:02)
(19:19)
(19:27)
59Bとかできちゃうんだねぇ… 文字列が壊れてるのは fall through の最中に戻すだけで どうせ末尾についてるに違いない。
よって
んー
なんか末尾に入れるとすると、 46B目から詰めはじめたとすると60Bいっちゃうじゃん。
実行時に H 作ってるんかなぁ…
(00:54)
http://acm.pku.edu.cn/JudgeOnline/problem?id=2800
がさっぱり解けない。
TLE 出るならわかるが WA つーのは。
(02:45)
http://0xcc.net/binhacks/quiz.html
問題作らずに自分で楽しんでどうする。
INT_MIN と INT_MAX 見間違えた
それ以外はスタック増加方向と シグナル/スレッドセーフまちがえた。
(03:26)
org 0x00200000 と org 0 では全然 p_*sz への constraint が違う。 0 だとむっちゃきびしい。 まぁ kik さんとこ見てだいたい把握した気はする。
あしたがあるさもうあしただが
(06:14)
http://d.hatena.ne.jp/kikx/20061111
とりあえずうちでも動きましたよーあたりまえですが。
もうちょい自分で考えるかなぁ と思ったけど こりゃー自分で作れる気がしないにゃー というのとオーバーラップの位置考えるのがめんどいので見よかな。
うん見よう。
そこか昨日そこしかないかなぁと 思って寝たんだったけど あんだけヒントもらっちゃそらわかる感。 で、 He まで混じってるので、 こりゃすげえ。 自分でできる感じ全くしねええええええええええ
x86 つーか任意の機械語全然知らんなぁ…
(15:52)
---------- / \ / REST \ / IN \ / PEACE \ / \ | shinh | | | | yaruki nai | | dakara shinda | | | | | | 2006 | *| * * * | * _________)/\\_//(\/(/\)/\//\/|_)_______ Goodbye shinh the yaruki nai zeeeeee...
(16:29)
def rip(name,skill, res1, res2) <<END <pre> ---------- / \\ / REST \\ / IN \\ / PEACE \\ / \\ |#{name.center(18)}| | | |#{res1.center(18)}| |#{res2.center(18)}| | | | | | 2006 | *| * * * | * _________)/\\\\_//(\\/(/\\)/\\//\\/|_)_______ Goodbye #{name} the #{skill}... </pre> END end
2006 で固定つーのも僕の時はもう進まない、みたいな
(16:32)
\ と \ の区別がないなんて、 そんなかわいそうな環境だったら \ 高 \ 安とかどっちも区別つかねー て感じですか。 なんてかわいそうな。
上の文章はウソです。 ぜんぶ \ です
(16:35)
http://mixi.jp/view_community.pl?id=275305
via http://www.jmuk.org/d/?path=2006/11/09#d09t02
(01:52)
1st tybalt89 56 Perl 10,000 (v2) 2nd kinaba 67 Perl 8,358 (v11)
来たみたいですね…
(02:20)
なんせまずオーバーラップのしかたからしてたぶん違う。
一番短いアレは
BITS 32 org 0 db 0x7f, "ELF" ; e_ident phdr: dd 1 ; p_type dd 0 ; p_offset dd 0 ; p_vaddr dw 2 ; e_type ; p_paddr dw 3 ; e_machine dd filesize ; e_version ; p_filesz dd filesize ; e_entry ; p_memsz dd phdr ; e_phoff ; p_flags dd 0 ; e_shoff ; p_align dd 0 ; e_flags dw 0 ; e_shsize dw 32 ; e_phentsize dw 1 ; e_phnum dw 0,0,0 filesize equ $ - $$
これが原形。 これはすごい綺麗に重なってるけど、 e_phoff と p_flags がうまくいかんのだよね。 パーミッションがあわん
(05:18)
i@u ~/wrk/binhacks> nasm tiny.asm i@u ~/wrk/binhacks> la tiny -rwxr-xr-x 1 i 64 2006-11-10 05:22 tiny* i@u ~/wrk/binhacks> ./tiny zsh: no such file or directory: ./tiny
(05:22)
i@u ~/wrk/binhacks> ./hello73 Hello world i@u ~/wrk/binhacks> la hello73 -rwxr-xr-x 1 i 70 2006-11-10 05:47 hello73*
(05:48)
愛が足りないですね…
i@u ~/wrk/binhacks> nasm hello73.asm i@u ~/wrk/binhacks> la hello73 -rwxr-xr-x 1 i 65 2006-11-10 07:16 hello73* i@u ~/wrk/binhacks> ./hello73 Hello world
(07:16)
繰り返しになるけどそもそも現行方針は64Bが打ち止めなわけで。
(07:23)
http://d.hatena.ne.jp/kikx/20061110#1163114535
irb(main):005:0> 52-6+14 => 60
どこに Hello, world!\n 入ってるねん。 あとまぁ 1B ずつずらすのは考えたんですけど、 前考えた時はどこにも入らんという結論だったのと、 今回はすぐ頭が痛くなって日和ってますた…
(14:23)
ヘッダの意味を勘違いしてるみたいだ。 有力候補は p_offset とか p_filesz 。
図をぱくらせてもらって考えてた。 s はでかい値だとダメで上の2つは 0 じゃないとダメだったはず…
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
ここから 2B は同じくダメ。
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
次の 1B もそう。あ、 p_offset もだめな気が。
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
次の 2B もそう。
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
これしばらく続く。
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
これもちょいと続くよ
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
しばらく続いて、
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
これも続いて、結局、
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 7f 45 4c 46 ** ** ** ** ** ** ** ** ** ** ** ** 02 00 03 00 ** ** ** ** SS SS SS SS PP 00 00 00 ** ** ** ** ** ** ** ** ** ** 20 00 01 00 ** ** ** ** ** ** 01 00 00 00 oo oo oo oo VV VV VV VV ** ** ** ** ss ss 00 00 mm mm mm mm *7 ** ** ** ** ** ** **
これじゃあ64Bが限界。
まぁどっかに勘違いがあるなり
(15:01)
http://d.hatena.ne.jp/kikx/20061110#1163148475
どこが普通やねんと…!
にしてもどこで止まってるんだろう。 kernel オプションとかだとすると p_flags 以外で止まるか止まらんか差があるってのもアレだなぁ。 strace してやるとだいたいどこで止まったかは 予想がつくものですが。
うちだと
とかだった気がします。 いや全然覚えてないぞ…!
なんにせよそのサイズで ヘッダに命令埋めつくしたのはすごいです…
(17:58)
76B はどこでも動くんだけど。
i@u ~> uname -a Linux u 2.6.17-10-generic #2 SMP Fri Oct 13 18:45:35 UTC 2006 i686 GNU/Linux
これが作業環境。
i@u3 ~/t> uname -a Linux u3 2.6.7-1-386 #1 Thu Jul 8 05:08:04 EDT 2004 i686 GNU/Linux i@u3 ~/t> la hello73 -rwxr-xr-x 1 i 65 2006-11-10 18:01 hello73* i@u3 ~/t> ./hello73 zsh: killed ./hello73
ぎゃー 65B のヤツが動かない。 65B のヤツは p_filesz と p_memsz に侵食してるから、 そこの制約が厳しいんだろうなぁ。
i@u3 ~/t> la ./hello72 -rwxr-xr-x 1 i 72 2006-11-10 18:00 ./hello72* i@u3 ~/t> ./hello72 Hello world
侵食してない 72B はオッケ。
i@un ~/t> uname -a Linux un 2.6.15.4 #1 SMP Mon Feb 27 17:28:54 JST 2006 i686 i686 i386 GNU/Linux i@un ~/t> ./hello73 Hello world i@un ~/t> ./hello72 Hello world
どっちもオケ。しかし hello73 が 65B という罠がひどい。
cf.sf.jp にて。
shinh@cf-x86-linux:~/t$ uname -a Linux cf-x86-linux 2.4.29-blade #1 2005年 3月 22日 火曜日 18:17:12 JST i686 GNU/Linux shinh@cf-x86-linux:~/t$ ./hello73 Hello world shinh@cf-x86-linux:~/t$ ./hello72 Hello world
どっちも動く。俺の誕生日にカーネルビルドするとはやるな。
cf.sf.jp
shinh@cf-amd64-linux:~/t> uname -a Linux cf-amd64-linux 2.4.21-297-smp #1 SMP Sat Jul 23 00:45:13 UTC 2005 x86_64 x86_64 x86_64 GNU/Linux shinh@cf-amd64-linux:~/t> ./hello72 Hello world shinh@cf-amd64-linux:~/t> ./hello73 Hello world
Opteron のマシンらしいね
sf.net のシェルサーバ
[shinh@sc8-pr-shell1]~/t% uname -a Linux sc8-pr-shell1.sourceforge.net 2.6.17.6 #1 SMP Sat Jul 15 16:00:03 PDT 2006 i686 i686 i386 GNU/Linux [shinh@sc8-pr-shell1]~/t% ./hello72 Hello world [shinh@sc8-pr-shell1]~/t% ./hello73 Hello world
-bash-3.00$ uname -a Linux shell.cf.sourceforge.net 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 00:17:26 CDT 2006 i686 i686 i386 GNU/Linux -bash-3.00$ ./hello72 Hello world -bash-3.00$ ./hello73 Hello world
shinh@x86-linux1:~/t$ uname -a Linux x86-linux1 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux shinh@x86-linux1:~/t$ ./hello72 Hello world shinh@x86-linux1:~/t$ ./hello73 Hello world
shinh@x86-linux2:~/t$ uname -a Linux x86-linux2.cf.sourceforge.net 2.6.10-1.771_FC2smp #1 SMP Mon Mar 28 01:10:51 EST 2005 i686 i686 i386 GNU/Linux shinh@x86-linux2:~/t$ ./hello72 Hello world shinh@x86-linux2:~/t$ ./hello73 Hello world
shinh@amd64-linux1:~/t$ uname -a Linux amd64-linux1.sourceforge.net 2.6.9-1.667smp #1 SMP Tue Nov 2 15:09:11 EST 2004 x86_64 x86_64 x86_64 GNU/Linux shinh@amd64-linux1:~/t$ ./hello76 Segmentation fault shinh@amd64-linux1:~/t$ ./hello73 Hello world Segmentation fault shinh@amd64-linux1:~/t$ ./hello72
72Bの方が帰ってこないよ!
全部どっかしらで問題出てるし。 というか 65B のヤツ_だけ_が動く64bit環境ってなにがおきてるの。
ちなみにすげーてきとうにぶっこんだファイル
(18:20)
第一回くやしさまぎらわせ大会
プギャー
1st shinh 82 Ruby 10,000 (v32) 2nd kinaba 83 Perl 9,879 (v16) 3rd kik 83 Ruby 9,879 (v23)
プギャー
2nd primo 50 Ruby 9,200 (v23) 3rd shinh 50 Ruby 9,200 (v17) 4th queball 51 Ruby 9,019 (v3) 5th kik 51 Ruby 9,019 (v5) 6th mame 51 Ruby 9,019 (v2)
とか書くと瞬時に逆転されそうで怖いのであった
(18:40)
ということは、一定ポータブルって条件を入れたら、 64B の Hello world (!,無し) が最短になる可能性が高いんだろうか。 そのくらいの難易度の争いじゃないと 歯牙にもかからん予感…
Debian でコケてた 65B hello73 は、
i@u3 ~/t> readelf -l hello73 readelf: エラー: Unable to read in 0x4b9 bytes of section headers readelf: エラー: Unable to read in 0x972000 bytes of section headers Elf ファイルタイプは EXEC (実行可能ファイル) です エントリポイント 0x20002e 1 個のプログラムヘッダ、始点オフセット 32 Program Headers: タイプ オフセット 仮想Addr 物理Addr FileSiz MemSiz Flg Align LOAD 0x000000 0x00200000 0x04b90001 0x02000 0xd578d01 WE 0xeb9380cd
この MemSiz がでかすぎる模様。
というわけでぶっちゃけこんなのはすぐ調整できる つーか lea 入れかえるだけだった。
; hello65.asm BITS 32 org 0x00200000 db 0x7F, "ELF" ; e_ident hello: db "Hello world", 0xa dw 2 ; e_type dw 3 ; e_machine exit: xor EBX, EBX ; e_version int 0x80 dd _start ; e_entry dd phdr - $$ ; e_phoff phdr: dd 1 ; e_shoff ; p_type dd 0 ; e_flags ; p_offset dd $$ ; e_ehsize ; p_vaddr ; e_phentsize dw 1 ; e_phnum ; p_paddr _start: mov ECX, 0x00200004 add [ECX], AL lea EAX, [EDI+4] inc EBX lea EDX, [EDI+0xd] int 0x80 xchg EBX, EAX jmp exit
とりあえず今晩はこれを 64B にしよう。
(19:07)
うわさどおり短い問題だ。
i@u ~/wrk/golf> ./golf.rb queen.rb 173 test 1: SUCCESS! 0.000000 0.000000 0.016667 ( 0.017802) test 2: SUCCESS! 0.000000 0.000000 0.016667 ( 0.018432) test 3: SUCCESS! 0.000000 0.000000 0.033333 ( 0.016652) test 4: SUCCESS! 0.000000 0.000000 0.033333 ( 0.016837) 173
(22:58)
_ Jeucrjbg [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]
NASMも触れんとなぁ、ということで Hello world! 76B を移植。 さらにゴルフしよう
; hello76.asm BITS 32 org 0x00000000 db 0x7F, "ELF" ; e_ident db "Hello world!" dw 2 ; e_type dw 3 ; e_machine _start: mov byte [EDI+0x10], 0xa ; e_version ; set "\n" dd _start ; e_entry ; fall through! dd phdr - $$ ; e_phoff lea EDX, [ECX+0xd] ; e_shoff lea EAX, [ECX+0x4] ; e_flags mov ECX, EAX jmp short label1 ; e_ehsize dw 32 ; e_phentsize phdr: dd 1 ; e_phnum ; p_type ; e_shentsize dd 0 ; e_shnum ; p_offset ; e_shstrndx dd 0 ; p_vaddr label1: inc EBX ; p_paddr jmp short label2 db 0 dd 76 ; p_filesz dd 76 ; p_memsz db 0xff ; p_flags label2: int 0x80 xchg EBX, EAX xor EBX, EBX ; p_align int 0x80 filesize equ $ - $$
(05:37)
このアプローチは賢いなぁとは思ったけど、 "Hello world" のある位置が 0x00200000 とかになっちゃって、 これがうっとうしいんだよなぁ…
さっきの Hello world は EAX(writeシステムコール) と ECX(4Byte目にHello worldが置いてある) が 一致してる、とかそういうのが美しいんだけど
; hello.asm BITS 32 org 0x00200000 db 0x7F, "ELF" ; e_ident db "Hello world", 0xa dw 2 ; e_type dw 3 ; e_machine ;_start: jmp short label1 ; e_version ; dw 0 dd 1 ; e_version dd _start ; e_entry dd phdr - $$ ; e_phoff phdr: dd 1 ; e_shoff ; p_type dd 0 ; e_flags ; p_offset dd $$ ; e_ehsize ; p_vaddr ; e_phentsize dw 1 ; e_phnum ; p_paddr dw 0 ; e_shentsize dd filesize ; e_shnum ; p_filesz ; e_shstrndx dd filesize ; p_memsz ; db 0xff dd 5 ; p_flags dd 0x1000 ; p_align ; _start: xor eax, eax ; inc eax ; int 0x80 ;_start: mov byte [EDI+0x10], 0xa ; p_flags _start: mov ECX, 0x00200000 ; p_align lea EDX, [EDI+0xd] ; p_align lea EAX, [EDI+0x4] lea ECX, [ECX+0x4] inc EBX int 0x80 xchg EBX, EAX xor EBX, EBX int 0x80 filesize equ $ - $$
コメント無茶苦茶やな。
(06:14)
さっきのは 88B
うーん ! は無いしなんかなぁ。 x86 って文字列コピー命令とかあったと思うけど、 あのへん使うと完全に 76B にはならん気がするなぁ。
あと綺麗に重なりすぎてて fall through できないのも美しくないよなぁ。
(06:19)
; hello.asm BITS 32 org 0x00200000 db 0x7F, "ELF" ; e_ident db "Hello world", 0xa dw 2 ; e_type dw 3 ; e_machine exit: xor EBX, EBX ; e_version int 0x80 dd _start ; e_entry dd phdr - $$ ; e_phoff phdr: dd 1 ; e_shoff ; p_type dd 0 ; e_flags ; p_offset dd $$ ; e_ehsize ; p_vaddr ; e_phentsize dw 1 ; e_phnum ; p_paddr dw 0 ; e_shentsize dd filesize ; e_shnum ; p_filesz ; e_shstrndx dd filesize ; p_memsz _start: inc ECX shl ECX, 21 lea EDX, [EDI+0xd] lea EAX, [EDI+0x4] add ECX, EAX inc EBX int 0x80 xchg EBX, EAX jmp exit filesize equ $ - $$
とりあえず普通にやると exit 0 するコードはこんなとこかな
(06:42)
(06:48)
末尾の ! にこだわるとすると、 うーんうまく e_type, e_machine が fall through できなくて、
BITS 32 org 0x00200000 db 0x7F, "ELF" ; e_ident _start: inc EBX mov ECX, hello lea EDX, [EDI+0xd] inc EAX jmp short label1 dw 2 ; e_type dw 3 ; e_machine label1: ; e_version inc EAX inc EAX jmp short label2 dd _start ; e_entry dd phdr - $$ ; e_phoff phdr: dd 1 ; e_shoff ; p_type dd 0 ; e_flags ; p_offset dd $$ ; e_ehsize ; p_vaddr ; e_phentsize dw 1 ; e_phnum ; p_paddr dw 0 ; e_shentsize dd filesize ; e_shnum ; p_filesz ; e_shstrndx dd filesize ; p_memsz db 0xff label2: inc EAX int 0x80 hello: db "Hello world!", 0x0a filesize equ $ - $$
で 73B 。これはセグる。 exit させたきゃもう3B。さらに1Bで正常終了に。 まぁ 76B 越えると意味がない。
末尾の ! にこだわらないなら
BITS 32 org 0x00200000 db 0x7F, "ELF" ; e_ident db "Hello world", 0xa dw 2 ; e_type dw 3 ; e_machine _start: ; e_version inc ECX inc EAX jmp short main dd _start ; e_entry dd phdr - $$ ; e_phoff phdr: dd 1 ; e_shoff ; p_type dd 0 ; e_flags ; p_offset dd $$ ; e_ehsize ; p_vaddr ; e_phentsize dw 1 ; e_phnum ; p_paddr dw 0 ; e_shentsize dd filesize ; e_shnum ; p_filesz ; e_shstrndx dd filesize ; p_memsz main: shl ECX, 21 lea EDX, [EDI+0xd] lea EBX, [EDI+0x4] add ECX, EBX sys: xchg EBX, EAX int 0x80 jmp short sys filesize equ $ - $$
の 72B あたりが、 exit 13 になっちゃうけど、一応。
exit 0 にすると、 73B になった。
BITS 32 org 0x00200000 db 0x7F, "ELF" ; e_ident db "Hello world", 0xa dw 2 ; e_type dw 3 ; e_machine exit: xor EBX, EBX ; e_version int 0x80 dd _start ; e_entry dd phdr - $$ ; e_phoff phdr: dd 1 ; e_shoff ; p_type dd 0 ; e_flags ; p_offset dd $$ ; e_ehsize ; p_vaddr ; e_phentsize dw 1 ; e_phnum ; p_paddr dw 0 ; e_shentsize dd filesize ; e_shnum ; p_filesz ; e_shstrndx dd filesize ; p_memsz _start: lea EDX, [EDI+0xd] lea EAX, [EDI+0x4] mov ECX, 0x00200004 inc EBX int 0x80 xchg EBX, EAX jmp exit filesize equ $ - $$
いずれにせよもっと命令を ヘッダに紛れこませればもうちょい削れる気がする…
(08:44)
2634.jp でアクセスを、っていう広告があったわけだけど、 promise.jp でも行けるんなら それでいいんじゃ、みたいなことを思ったのですが。
うーん俺プロミス→promiseは変換できるけど、 プロミス→2634はちょっと変換できないんだよ。 うーん。 どっちが全日本人、というか 金借りる側の人層にはわかりやすいんだろう…
たぶん puromisu.jp を取るといいと思うんだ。 と思ったら取ってあった。 さすが
(16:38)
例えばこの空間のてっぺんに、 私はここ1週間は自殺する予定の無いことを明記します、 最終確認日(○月○日)みたいなのを 手軽に更新できるように置いておけば、 事故か殺人の時に自殺だと誤認される リスクが減るとか。
あまりにどうでもいいリスクだった…!
(16:40)
やるべきことを書き出すといいらしい
とかはどうでもいいとして、
mail のあれはやりたいけど まず Apache 2.2 が欲しいんだよな…
どうでもいいけど昨日の Hello は readelf は SEGV するのに 実行はできるんだよ。
あと Ubuntu はウブンツーじゃないよ。 ユバントゥーだよ。 昨日全く通じなかった俺が言うんだから間違いない
(18:25)
以下のようなことに使われる予定です!
なんでそんな個人的なチャンネルに「さそい」って書いたんだろう
IRCだと消せないわけだ
(19:43)
http://d.hatena.ne.jp/kikx/20061109#1163073252
うへー。 ていうか file コマンドの出力がやけに短いんだけど そういう file コマンドなのやら ELF ヘッダがおかしいのやら… でも ELF ヘッダの e_type と e_machine はいると思うし…
あとそもそも今のやりかただと 限界までコードとヘッダ混ぜても64Bなんだ…
うんつーことは overlap のしかたからして違うんか。
(23:56)
要するにスパムボットはリクエスト投げてみて、 成功してなかったら ちまたによくあるチェックボックスしてね☆系との イタチゴッコ用であるところのアレで 適当に値入れてみてるんかな。
暇潰しに。
よくわかる偏差値
受験のことはあまり覚えてない気味なんだけど、 偏差値という概念は大好きだったので覚えています。
ので負数は邪魔)
たしか 20 かけて100足したのに相当するのが IQ?
まぁ第一義どうでもいい(本当に心底どうでもいい)
(01:07)
偏差値はあんまり10000越えたりとかはしないと思う。 そうじゃないとドラゴンボールみたいになっちゃうよ
i@u ~/wrk/golf> cat heikin.rb s=t=0 d=$<.map{|v|s+=v.to_i} s/=@n=d.size d.map{|v|t+=(v-s)**2} d.map{|v|p 50+10*(v-s)/Math.sqrt(t/@n)} i@u ~/wrk/golf> ruby heikin.rb 20 30 40 47.2943310962553 55.4113378074894 66.2340134224682
どうしよう。まだ全然違うよ
(01:09)
(01:14)
すぐ追いつかれるだろうな
3rd shinh 50 Ruby 9,200 (v17) 4th queball 51 Ruby 9,019 (v3) 5th kik 51 Ruby 9,019 (v5) 6th mame 51 Ruby 9,019 (v2)
ヘタすると抜かれる気がする
(03:43)
17th niha 71 Ruby 9,154 (v5) 18th shinh 73 Ruby 8,904 (v11)
これでやるきあっぷ ('-')v
(04:52)
(14:24)
http://yowaken.dip.jp/tdiary/20061108.html#p01
これで落ちるのか勉強になるな。 明日から使っていけるテクニークだ
i@un ~> ruby -e '($...$.).map{|[][$.+=$.]|}' -e:1: [BUG] Segmentation fault ruby 1.8.4 (2005-12-24) [i386-linux] zsh: abort ruby -e '($...$.).map{|[][$.+=$.]|}'
これじゃ遠く及ばないなぁ。 3H26B
(17:56)
http://alohakun.blog7.fc2.com/blog-category-7.html
たしか竜が1巻の最初の方で言ってたセリフです。
三段論法から、すぐに
という結論が導けますね。 すばらしいことです
(03:16)
http://yaplog.jp/mjc/archive/46
「…無職です。親の遺産でくらしています」
らしい。
どうでもいいけどあの「働いたら負けだと思っている」 とか言ってた人も、とてもこう強気というか、 自信まんまんだったのがすばらしいのであって、 自己嫌悪などを伴うニートは あまりよろしくないように思います。 なかなか凡人にはマネできませんが。
ニートでありながらヤクザに説教を垂れるような、 そんな
(03:20)
(03:49)
なんか献本もう来てるんかな。 俺来てませんがなにか。
どうでもいいけど こう有名ブロガーのみなさまに配って 宣伝させる計画というのがありましたが、 有名ブロガーのみなさまにはどのくらいで オマエにやるぞって連絡がいってるのだろうか。 予約とかしちゃうとアレなわけで、 そのへん気になる。
と書いておけば、みたいな
(04:25)
(04:35)
i@u3 ~> sudo fdisk -l /dev/hda Disk /dev/hda: 20.0 GB, 20003880960 bytes 255 heads, 63 sectors/track, 2432 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 637 5116671 c W95 FAT32 (LBA) /dev/hda2 2047 2432 3100545 eb BeOS fs /dev/hda3 638 2046 11317792+ f W95 Ext'd (LBA) /dev/hda5 638 880 1951866 83 Linux /dev/hda6 881 892 96358+ 82 Linux swap / Solaris /dev/hda7 893 1622 5863693+ 83 Linux
WinMe と Be 消せば Xen 余裕で入るよね…
(04:51)
http://sourceforge.net/mailarchive/forum.php?thread_id=8936174&forum_id=298
(05:08)
面白そうだから欲しいなぁ…と思ったけど 破産が見えてる以上セーブ気味なんだよなぁという。
まぁ買っちゃってもいい気はする。うんきっといい。
というメソッドはどうだろう
(05:37)
(07:03)
1st kinaba 71 Ruby 10,000 (v8) 2nd flagitious 71 Ruby 10,000 (v15) 3rd terjek 71 Perl 10,000 (v5) 4th shinh 71 Ruby 10,000 (v14) 5th kik 72 Ruby 9,861 (v5) 6th niha 72 Ruby 9,861 (v24)
(08:08)
s 78 n はるか下 s 78 n 75 s 78 n 74 s 74 n 74 s 73 n 74 s 73 n 72 s 72 n 72 s 71 n 72 ←今ここ
スタ〜トはこのへん
http://shinh.skr.jp/m/?date=20061024#p01
(08:16)
1st kik 70 Ruby 10,000 (v8) 2nd kinaba 71 Ruby 9,859 (v8) 3rd flagitious 71 Ruby 9,859 (v15) 4th terjek 71 Perl 9,859 (v5) 5th shinh 71 Ruby 9,859 (v14)
なんですって
(12:43)
(12:44)
http://shinh.skr.jp/m/?date=20061107#p20
というかなんで k2 をこんなに遅く配置したんだろう。
1st kik 70 Ruby 10,000 (v8) 2nd kinaba 70 Perl 10,000 (v9)
まぁさすがは、 「ゴルフで高得点をおさめるにはどうすればいいでしょう!?」 という悩みに、 「名前を k で始まるように改名するといいよ」 と返されるだけのことはあるというか
(16:09)
ぱらぱら見たけど、 特に深い感慨も無いのであった。 索引長いなというか。 みんな好き勝手線引いてたからな。
一つ感慨深かったのは、 バイナリアンという単語が見えたことかな。 他でも書いたような気もするけど、 あれってたぶん僕発の造語なんだよね。
b2con の話で、他に候補いますかという質問に対して、
うーん、あまりお友達いないので、特にバイナリアンと なるとちょっと思いつかないですね…
となんとなく使った (2005/11/06 20:14) のが、 たぶん最初なんじゃないだろうかと。 その後なんか高林さんが 「バイナリアンと呼ぶらしいです」などと ML に流した後みんな普通に使ってたというような。 お、なんかちょうどだいたい1年前だね。
とまぁ、将来バイナリアンという単語が普及しまくって 子供の夢にクラスの3割くらいが ばいなリあんって書くくらいになったら 孫に自慢するため書いておいた。
個人的には語感のよくわからなさが わりと好きだったりします。 ところで Rubyist というのは 仮に Ruby マンセーだったとしても ちっとも名乗る気が起きないくらい かっこ悪い呼称な気がしてるんだけど、 まぁバイナリアンとかも ハタから見るとキモいかもしれない… というようなことを考えずに、 Rubyist の方が Rubyist を自称する、 そういう文化をなんとなく 気にいってないのかもしれない。
なんかしらの呼称を自称するのが そもそもあまり好きでないとか。 そうそう VIPPER ってのもきらい。
まぁなんにせよ尊称的な意味あいが強い感じだし、 お〜れ〜はバイナリア〜ンガ〜キだいしょ〜、 とか言う機会は無いだろう。
なんかだらだら書くということは感慨深いのだろー
(16:40)
ツッコミ欄よりここに書く敷居が低いのは、 Emacs でメール投げるだけっていうのが コメントのしかたを探すよりはるかに 僕にとってラクだからなんだけど、 まぁ作ってみよう
(16:56)
i@um ~/test/java> cat initializer.java public class initializer { public static initializer i = new initializer(); public initializer() { System.out.println("Hello world!"); } } i@um ~/test/java> /usr/java/j2sdk1.4.1_07/bin/javac initializer.java i@um ~/test/java> /usr/java/j2sdk1.4.1_07/bin/java initializer Hello world! Exception in thread "main" java.lang.NoSuchMethodError: main
おーホントだ。んで…
i@um ~/test/java> cat initializer.java public class initializer { public static initializer i = new initializer(); public initializer() { System.out.println("Hello world!"); System.exit(0); } } i@um ~/test/java> /usr/java/j2sdk1.4.1_07/bin/javac initializer.java i@um ~/test/java> /usr/java/j2sdk1.4.1_07/bin/java initializer Hello world!
おー
(21:48)
(22:02)
i@um ~/test/java> cat initializer.java class base { public static base i = new base(); public base() { System.out.println("Hello world @base!"); // System.exit(0); } } public class initializer extends base { public static initializer i = new initializer(); public initializer() { System.out.println("Hello world!"); // System.exit(0); } } i@um ~/test/java> /usr/java/j2sdk1.4.1_07/bin/javac initializer.java i@um ~/test/java> /usr/java/j2sdk1.4.1_07/bin/java initializer Hello world @base! Hello world @base! Hello world! Exception in thread "main" java.lang.NoSuchMethodError: main
(22:05)
http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/shinichiro_h/20061107%231162835826
のノリがなかなか良ろしくてうれしかったです
(22:23)
1st shinh 82 Ruby 10,000 (v32) 2nd kinaba 83 Perl 9,879 (v16) 3rd kik 83 Ruby 9,879 (v23) 4th mame 83 Ruby 9,879 (v14)
(23:17)
_ あろは [全然有名じゃないしバイナリアンでもない僕のところにも献本話がきたぐらいなので、けっこう広範囲に話が行ってそうな気がし..]
_ shinh [わーいあろはさんがつれた。 「と書いておけば、みたいな」 は中が省略されていて省略された内容は、「もしあろはさん..]
_ kosaki [つまり、まとめると。 オイラに献本の話が来ているのは - shinh さんにkosakiは読者とは認めら..]
_ shinh [なんですってー。直接面識が無いのにこんなわけのわからない電波メモを見てるようなヒ…知識欲の旺盛な方が他にいらっしゃる..]
_ Gus [うほ、実験乙でございます。>java w/o main 実はやるの忘れてました。]
前 | 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扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ niha [前の書き方が限界ぽかったので大きく書き方を替えました。まあ頑張って追い抜きます。踏台ですから。 ボクのことは気にしな..]