ToDo:
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 実はやるの忘れてました。]
http://d.hatena.ne.jp/MDA/20061105/1162652671
途中の法律文体2Dシューの定義が全く意味が 腑に落ちなくてわらった。
よくわからんけど分類は1-Bにかなりよった2-Bかなぁ。 商業商品の成し遂げたことってのはやっぱすごいわけでのう
(00:58)
ずっとなんていうか、 Io とか C 式スレとか見て ぼんやり考えてたことに自分的ななんかがあったかもしれないような。
んーと S 式ってあって (func arg1 arg2 arg3) って形式は 色々便利っていうのはもちろんで、 これがまんま構文木な以上これ以上にシンプルな 形式はそうそう無いんかねということで まぁそれはいいとして。 でも僕は Io の形式っていうか、 構文木にすると (obj func (arg1 arg2 arg3)) てなるんじゃないかな、 こんな形式になんとなく魅力を感じてて、 数時間だけ Ruby で書いてみたりしたわけだけど、 まぁこれってややこしくしてるだけだよね これもS式に含まれるよねと言われればその通りで、 まぁそれでもわざわざ機能を限定する理由は、 えーなんだっけとか考えてたんだけど。
でなんだハッシュだハッシュ。 スコープとかオブジェクトしこーだとかは とにかくあれはハッシュなのでハッシュったらハッシュで。 Lua とか BeanShell がなんとかとか。 で、まぁ、リストで記述された、 ハッシュをいじることに特化した言語、 というふうに考えると、 Io 形式のメリットが見えてくるのかなぁとか 突然思ったのだけど。
まぁ頭悪いから作ってみないとわからん。
あと Proc#[] が今不意になんか。 まぁやってみる気が湧いてきた。
(01:14)
バカだから書きたいことを全部書き忘れている。
まぁ書かなくてもいいことだけど。
http://rainer.blog7.fc2.com/blog-entry-40.html
Cg を一瞬見たくらいしか 高レベルなシェーダを見た経験が無い 僕の感覚だけど、 3D 部をスクリプトで出すっていうのは、 かなり面白いんじゃないかなぁとぼんやり。 アセンブラのシェーダがあって それを高レベル化したけど その高レベル化って本当にほんの少しの高レベル化であって なんかかなりプリミティブだよなぁとか思って、 もうちょい抽象化進めても最適化できるコンパイラとかも 今のコンパイラの SIMD への頑張りぷりとか見て ちと厳しいのかなぁとか素人考えで思って、 んでほっといてハードウェアの方が 今のペースで進化しちゃえば とりあえず簡単に書けて結果が間違ってなきゃ 遅くてもいいおー的な スクリプト言語のノリはかなり需要が出そうな…みたいな。
うおー完全に素人考えの妄想だ。 あと元コメントとあんまり関係ない
(01:45)
SQL についてと逆のこと言ってないかと思った。
SQL もあれはアセンブラなんだ…というのは 何度かあちこちで言ってる気がするけど、 アセンブラなんだからコンパイラで作るべきであって スクリプト言語で O/R マッパーとかそれ何、 遅くね?みたいな。
どっちも最近湧いてきたアセンブラで、 それぞれの生まれてきた文化の違いから 違った方向から進化してるとか
性質もだーいぶちがうねー ^-^-^-^-^
(01:47)
manpages-dev とかそんなんにあったみたいです。 ばじゃい。 協賛: tekezo 師匠。
あとなんか auto-apt がすごいいいものだと理解。 FC の時は DVD マウントして rpm -qilp *.rpm > longinfo とかしてから longinfo を大切に保管してそれを見てパッケージ選んでたんだけど、 auto-apt は既に /var/cache/auto-apt とかにそれを置いてくれてる。
(14:34)
mircbot の色が見えるようになってたのはまぁいいんだけど、 その色が黒とかで全く見えなかったのでこのへん見て修正。
http://d.hatena.ne.jp/hirose31/20060824/1156400991
こんな約束がちゃんとあるんだなぁ。 RFCにはなってないんだろうな。
http://www.mirc.co.uk/help/color.txt
(23:45)
してなかった。 ひどかとね。
んでなんか、前のフォントの方が 14pt の場合は良かったんじゃないかなぁとか 思っちゃうのですが。
もうなんか節穴すぎてなんもわからん。 なんもわからんつーのは AA かかってるか否かもわからん。 Emacs のフォントも今変わったような一緒なような。 うーむむ…
(01:06)
なんかたぶん設定できた。 いやできてないけど飽きた。 とりあえず端末サイズが 12 でも 14 でも 日本語出ているのはおおいなる進化だ。 チンポから石が出る並の進化だと思う。
一応元ネタをはっておけば kids goo も許してくれるだろう。
たぶん絶対許してくれない。
んでなんか14のフォントがどう見ても Emacs と違うんだな。 なんか節穴で見ても違う。 ものごっつ違和感あるけどまぁいいか… なんせ Emacs でなんていうフォントが使われているのか わかっていないのだから…!
綺麗なフォントとか選んでる暇があったら 自分の目を慣らした方がはるかに速い。
なにしたっけ。
mlterm は --enable-optimize-redrawing はしない。 xcore を使う。 たぶん14はshinonomeで12はmplusになってる…と思う。知らん。
というわけで残った問題点
ぶっちゃけどれもフェータルだと思う。
(01:31)
よし 7x14 & K14 の SDL 用のフォントを作ろうじゃないか…
(01:45)
12pt のフォントも k12 というのになった。
DEC_SPECIAL = 10,mplus_j10r-iso;12,mplus_j12r-iso; ISO8859_1=14,7x14;10,mplus_j10r-iso;11,mplus_f10r;12,6x12;13,6x13;10,6x10;6,4x6 JISX0201_ROMAN=14,k14;10,mplus_j10r-jisx;12,k12; JISX0201_KATA=14,k14;10,mplus_j10r-jisx;12,k12; JISX0208_1983=14,k14;10,-mplus-gothic-medium-r-normal--10-100-75-75-c-100-jisx0208.1983-0;12,k12; JISX0208_1990=14,k14;10,mplus_j10r;12,k12;
まんぞく
(01:49)
pty 6 本もいらない。 inittab どこいったねん。
起動時に apache 動いてない。 起動時に cmigemo-server 動いてない。
cmigemo は rc.local に書いた。
inittab はんーどうも /etc/event.d か。
へー
i@u /etc/event.d> sudo mv tty5 /tmp i@u /etc/event.d> sudo mv tty6 /tmp
雑さには定評がある
(02:24)
http://yowaken.dip.jp/tdiary/20061105.html#p01
を見て俺も cipher ちょっと見るか…と思って見た瞬間に 1B 縮んだ。 なんかあんまり深く考えてもうまくいかん時はいかないような。
(03:24)
SDL_pad で SDL_joystick を乗っとろうと考えた。 なんかを preload させて、 SDL_joystick の関数を使う SDL_pad を使って SDL_joystick の関数を乗っとる、 の、は、できない。 なぜなら SDL_pad は乗っとった関数を呼んじゃうから。
えーとどうすっぺ。
(06:21)
(06:24)
woさんとスパムのたたかいが。 ここの経験上、ひらがな混じってなきゃ弾く、 は相当に強いフィルタになる。 で、はてなでこれやりたいよなぁという話。 いや簡単なんだけどね、 どうせなら他の人が利用できる形に できたらいいかなぁと思うものの、 それを考えるとちっとも手が動かない
(17:21)
から w コマンドが作れるとかびっくり〜
http://0xcc.net/blog/archives/000141.html
なんか Unix は本当にアーキテクチャ宇宙飛行士だのう。
RubyFS とかでやるとどうかね。 オブジェクトの更新時刻を覚えてるとか嬉しいのかって感じだが。
ファイルの更新時刻ってのは要するに 検索と make のためにある情報だろうたぶん。
まず検索だけど、障害が起きた→ 2日前くらいらしい→2日前以降に更新されたオブジェクト一覧を find で作成→えーとそれが何が嬉しいの? って感じでとっても役に立たなくていいかもしれない。
make の方は普通に Observer パターンみたいなのが 面白いかもしれないね。 update 通知いらないというのはなかなか。
ていうか /dev/input/event 監視デーモンは 前から作ろうと思って作ってないなぁ。
とりあえず /dev/input/event と言えば われらが Nunocky サマ。
http://www2s.biglobe.ne.jp/~nunokawa/wiki.cgi?page=%2Fdev%2Finput%2Fevent%A4%C7%CD%B7%A4%D6
(18:01)
http://d.hatena.ne.jp/ajiyoshi/20060502/p2
すごいところで議論があるんだなぁ。
EXEファイルより圧倒的にインストールの敷居が軽いから… って話かー。
ソース読めってよりは能力的な可能性と 配布元の信頼性の評価をーみたいな話、 だ、と、なんか EXE と一緒じゃないかなぁ。
(20:18)
http://rainer.blog7.fc2.com/blog-entry-40.html#comment
スクリプトと同じくコードとか作ったものの公開とかも 出すのはめんどくせーけど出しちゃえば 楽しかったりどうでもよかったりはするというような。
思いかえすにどうでもよいことが結構多いので どうでもいいかもしれない
とか書くと何が言いたいかわからんという
(20:21)
sawfish は自分では使ってなかったけど良いものだったような。
設定ファイルは Scheme 、ただしその設定は たいていは GUI で行える、という。
うーんやりたいことキューがそろそろ。
論文がやったほうがいいことでしかない理由は、 まぁ卒業しなくてもなんとかなるよね…というような。 ホントになんとかなるか試してみる略とか。
(03:06)
にある。その位置は /usr/share/aclocal/pkg.m4
あー
わかった。 aclocal 実行すればいいのか。 謎実行ファイル aclocal の謎が解けた気がした。
(21:45)
(22:10)
前 | 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扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ RoowElimi [<a href=http://www.atomic.yoyo.pl/czity-do-cs/cheaty-do-cs..]
_ Obsembelf [Zapewniamy szybki, profesjonalny i niezawodny serwis. <a h..]
_ TelmNelifAime [Zapewniamy szybki, profesjonalny i niezawodny serwis. <a h..]