ToDo:
は、してなかった。
http://blog-search.yahoo.co.jp/search?p=%A5%B4%A5%EB%A5%D5&cop=
http://sf.livedoor.com/search?q=%A5%B4%A5%EB%A5%D5&sf=update_date
(04:44)
http://golf.shinh.org/p.rb?e#Befunge
下の Minus のエントリと比較するに、 同じ方法で圧縮してるんかな。
Minus ってマイナスしか無いわけだが。
(05:04)
--- js.c- 2007-02-20 06:10:02.000000000 +0900 +++ js.c 2007-02-20 06:11:21.000000000 +0900 @@ -653,9 +653,10 @@ /* * Turn buf into a JSString. Note that buflength includes the trailing null - * character. + * character when readline ends with newline. */ - str = JS_NewString(cx, buf, buflength - 1); + if (gotlength > 0) buflength--; + str = JS_NewString(cx, buf, buflength); if (!str) { JS_free(cx, buf); return JS_FALSE;
(06:11)
https://bugzilla.mozilla.org/show_bug.cgi?id=355827
そうでもないみたいだ。 ってかこれは別にバグじゃないんじゃないのか。
ああ、と思ったけどこれはひどい。 ていうか delete blank line とかどう解くの。
しかも UNCONFIRMED の略が UNCO って! 確認してやれよ! どう見てもこれじゃ困るじゃん! UNCO-! SM! UNCO-!
こんなもんマトモなプログラム言語じゃないなぁ…
(06:28)
は readline 持ってないみたいだな。
まぁこれ当てるだけじゃんねぇ。
https://bugzilla.mozilla.org/attachment.cgi?id=241533
しかし全然 specially に扱ってねえしな。 UNCO!
(06:45)
普通に考えると動的リンクだろうと思ったけど、 もしライセンス内できちんと書いてないのであれば、 たしかになんか微妙なかんじだなぁ。
http://d.hatena.ne.jp/KouMikage/20070214#p1
(07:31)
+ ++ +++ ++++ +++++ ++++++ +++++++ ++++++++ +++++++++ ++++++++++ +++++++++++ ++++++++++++ +++++++++++++ ++++++++++++++ +++[->+++++<]>
27とかくらいだと、
+++[->+++++++++<]> ++++[->+++++++<]>- +++++[->+++++<]>++
の方が
+++[->+++<]>[-<+++>]<
よりいいわけだ。興味深いな。
64でもまだ。
++++++++[->++++++++<]> ++++[->++++<]>[-<++++>]<
125だと…
+++++++++++[->+++++++++++<]>++++ +++++[->+++++<]>[-<+++++>]<
121作る時点で既に負けている。
(08:48)
きた。
タッチパッドは手がつるな。
とりあえず Xcode 入れればいいのかのう。
にしても最初から 17GB とか消費してあるんだなぁ。
Ubuntu つっこんで /home 30GB / 20GB とすると OSX になんぼも HDD のこらん。
ってか /home とか共有できた方が もちろんいいんだろうけどどうするのがベターなのかな。
まぁしばらく OSX で遊びつつ考えよう。
(10:42)
Ruby/SDL を見てみる。 今のところ ctor => main のてっぺん書き換え、っていう libGPL 殺法が一番良さげに思えるという。 あるいは ptrace かね。 mprotect はあるみたい。 ptrace もなんか man が出る。
あとは D の方。 とりあえず片っ端からゆにばーさるばいなり作るのを目標で。 なるべく downloadable なものを利用して作れると良い。
あと tekezo さん works で遊ぶ。
このくらいで飽きるだろう。
(11:52)
http://d.hatena.ne.jp/ytqwerty/20070218#p1
を見てゴルフ場無制限使用会員権をお祝いに! とか書こうと思って忘れてたんだけど、 既に来ておられた。さすがに Ada でかいなー。
(12:15)
def finishLaunchNantoka puts '> finishLaunchNantoka' callcc {|$c2| $c.call } $c3 = true puts '< finishLaunchNantoka' end def _SDLMain_main puts '> SDLMain_main' finishLaunchNantoka puts '< SDLMain_main' end def _Init_sdl puts '> Init_sdl' callcc {|$c| _SDLMain_main } if $c3 exit end puts '< Init_sdl' end _Init_sdl puts 'hutsu-ni SDL' $c2.call
要はこんな感じのを libruby で書けばいいのかな
(13:56)
extern(C)int gets();void main(){for(;gets;)printf("%s ",gets);}
一個目のテストケースは通るのだが。 ところで gets の戻り値を long にするとサバが停止する。 帰ったら考える。
(14:41)
普段から憎いような。
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070220#p01
久々に使うと必ず rec 忘れるんですよね。 しかし間違い発見しやすくなるのかぁ。
普段から憎い部分ほどゴルフ的にも嫌いというのはつまりそれは ゴルフ的にアレなところが僕の嫌いな部分ということですね はいそれはなかなか。
とりあえず OCaml は akr さんのハフマン符号がどうこうの精神を 読むべきだと思うんだよな。あと D もそんな感じ。 Haskell はわかってる。 Ruby はもっとわかってる。 Perl はたまに異様にわかっててツンデレ。
(18:24)
js.c 。
/* * Turn buf into a JSString. Note that buflength includes the trailing null * character. */ str = JS_NewString(cx, buf, buflength - 1); if (!str) { JS_free(cx, buf); return JS_FALSE; }
で、 jsscan.c では、
buf[i] = '\0'; return i;
とかやってる。 つまり js.c はコメントからして間違っている。
パッチは瞬時に書けるけど検証とか色々考えるとめんどいか。 最新版でもなおってみたいなので 暇な時にでも Nightly とか見てからパッチ投げるかぁ。
(00:09)
http://d.hatena.ne.jp/w_o/20070218#p3
忍耐力は、他同様、人それぞれだと思う… さっぱりついていない典型例がここに。 あと今に至るまで勉強は単なる趣味なので 受験とかあんまり我慢でも無かったんだよなーという。 英語つまらんから気張らしに物理やるとかそういう。
正確な文書はまさにそうで、 例えばレキシカルスコープという単語を見るとびくっとする。 未だに意味がよくわからない。 {} のことかな。
ということで斜め読み。
http://www.geocities.jp/m_hiroi/func/smlnj04.html
なんとなくわかったような。 Ruby の最近の議論はダイナミックにしようとしてるのかな。
一方一応専門としている物理の方は、 と、言えると良いのだけど、 むしろこっちの方がヤバいって勢いで専門用語が使えない。 「ユニタリ変換のエクスポネントって何ですか ハミルトニアンのことですか? そうならそう書けドアホ」 とか言われていじめられたり、 「それただ○○ってだけだよね」 とか言われて、○○の意味がサパーリわからなくて 「あー、それ」とか適当にゴマかす人生なわけだ。
というわけで
くらいじゃないかとか思うのでした。
あと難しい問題も色々あやしいと思うけど、 出会ってる人もたくさんいるのでまぁそうかもなーという。
(02:36)
Haskell の表現力の強さは本物だなぁと思う。 正直 OCaml はダメだコレという感の記述力の無さだ。 OCaml の大嫌いな部分である string_of_int だとか print_int だとか *. だとか そのへんがモロに影響する。 強い型付けのために…という言い訳は、 Haskell やら GCaml なんか考えると言い訳になってないかなぁ。
でも OCaml は久々に触っても割と書けるのは良いなぁ。
うーむ Haskell 強い。なんか見直すものがあるな。 ハスなんとかとか言ってごめんよ。
http://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20070217#c01
ふとお前の言語選ぶ基準はゴルフかと自問する。
ちなみに僕の e.rb はこんな。あと 8B は実に遠い
a=2*v=10**?d a+=v/=$.+=1while 0<v p a+36
(03:11)
最近こう書けると知った。
nil+1rescue p$! raise'str'rescue puts$!
これ結構短いんだよなぁ。 今までの問題で適用できたのもあったのかもしれない… が、今さら見返すとかはなんていうか無理だ。
(03:47)
理由として、結構頑張って書いてもクソみたいな クオリティだったりすることがある。 それで楽しさが減らされちゃってるてのを考えると、 慣れるとこれも楽しいものなのかもしれない、とか思うんだけど。
もうちょい文章書くの慣れたらもう一度考えてみると良い。
(04:11)
http://park7.wakwak.com/~blackbox/#dd2007-02-18_01-50-17
そもそもテストサバは ネットワークから断絶されてる(はず)なので、 example.com は誰かアクセスできるバグ見っけたら 記録出してみて下さい、っていう趣旨のものです。 というかアクセスできたら Ruby は
open'open-uri' $><<open('http://example.com/').read
とかで終わりなので。
(05:22)
http://golf.shinh.org/p.rb?All+Expressions#Ruby
最適化しまくったところ通った。 元のコードは何Bくらいだったっけという感じだ。
(08:31)
せっせと考えたけど1文字読み取って 1文字吐くくらいのプログラムしかできないのであった。
動きみないと死ねるので、 インタプリタ書いておられたなーと思って 眺めてみるもなかなか大変そうで死ねる。 たぶん d の実装が大変なんだよね。
http://d.hatena.ne.jp/oto-oto-oto/20061226/1167145829
(14:43)
http://muffin.cias.osakafu-u.ac.jp/~matumoto/cgi-bin/xt.cgi?prog/lua
via http://d.hatena.ne.jp/epics/20070201/p1
(22:39)
ていうテクニクがたくさんあるな。 全然 Perl 脳になってないなぁ。
http://www.nmt.ne.jp/~ysas/diary/?200702b&to=200702191#200702191
とりあえず -lp 使ってないのはひどい。 寝てるとしか言えない。
(23:08)
http://d.hatena.ne.jp/Ozy/20070217#p1
僕はこの手のコード見てうひひと思うのは好きなのだけど、 にはさんがインチキするかしないかで四苦八苦とか してるのを考えると、 確率的な方法は潰せるなら潰した方がいいのかもなぁという。
うん。というわけで、ですね。 getpid のカウントを取るとか、 まぁそいうのはアリっちゃアリなんだが、 まぁめどい。
でもとりあえず
echo 0 > /proc/sys/kernel/randomize_va_space
しといた。
うーんめんどいから各自適当に shinh(cheat) とかで 対応していただければ。
あーでもシステムコールのフックはちゃんとやりたいなぁ。
(07:09)
http://golf.shinh.org/p.rb?show+the+way#Ruby
これしか無いよなーというチートをしてたら 当然のようにフラたんとバイナリサイズが同じで面白い。 でも 7B も負けてるなぁ
差が2Bになった
まぁマジメにも解こうよという
(07:23)
プロセス落ちてたのは、 大量の出力があるスクリプトが submit されたからっぽい。 プロセス自体がメモリバカ喰いするとかは すぐ殺されるので問題無いのだけど、 親に大量の出力が来て親が死ぬと終わる、という。 まぁプロセス起動する部分の回りを for i in `seq 1 1000` とかでかこっておいた。
で、この場合、
o = stdout.read
とかでメモリがものすごいことになって死ぬわけだ。 そらそうだ。
んで、
o = stdout.read(10000) e = stderr.read(10000)
とかでいいだろーと思ったんだけど、 なぜか stderr.read(10000) の方が帰ってこなくなった。 stderr に内容がある場合は大丈夫。 あとタイムアウトじゃない場合も大丈夫。 ふーむ IO まわりはわけがわからない。
まぁプロセス死んだ場合は自動再起動するようにしたので、 帰って来ない場合はメモリオーバーで死んでくれた方が ありがたい。よって o = stdout.read で放置しよう。
あ、正解です! むしろバグ発見ありがとうございますというか、 全体的にいいかげんなシステムですいませんという。 ちなみに Ruby だと少々頑張っても プロセス止めるくらいの stdout を送るのは できないみたいだったので、 Erlang の方が速いのではないかという謎の予測が。
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070218#p03
(21:58)
いい問題次々考えるなぁ。
http://golf.shinh.org/p.rb?Booklet+Printing
こういうのは Ozy さんが鬼のように 得意という気がするがどうだろう。
俺が出したのって hello とチート伝説 echo と、 冗談でしかない example_com と 42 だけ。 42 は SF ジョーク言えるなんて 俺もハカーの仲間入りじゃね? とか調子乗ってたけど eban さんに自分の甘さを認識させられた。
(22:26)
_ niha [帰ったらまあまともに縮めます。まだ縮むし。帰るの遅いけど。]
_ kosaki [ゴルフ場に限って言えばシステムコールのフックをまじめにやる必要は全然ないんじゃない? 単純にmmapとかgetpid..]
_ shinh [ええ、 LD_PRELOAD でいいというのは、ほとんどの場合正解だと思うのですが、 C や GAS なんかでは、イ..]
_ jijixi [こちらこそ、楽しい遊び場を提供していただいて、ありがとうございます :-) ところで、その後ちょっと調べてみたところ..]
_ Injovjhq [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]
http://www.atmarkit.co.jp/fsecurity/rensai/rootkit03/rootkit02.html
を見てたんだけど、 これのまんまパクリなんじゃないかとか思った。
http://www.csg.is.titech.ac.jp/~kourai/memo/linux_kernel.html
(04:41)
syscall_table.S ってのがあるみたいだというあたりで…
http://kerneltrap.org/node/5802
要するにオマエはバカだと言われているようだ
つまりなんつーかですね。 システムコールなんか Ruby で呼んでもたぶんデカいわけで、 GCC 一派だけ strace でしばりかけて、 他は .so でしばってもいいんじゃね、という
(05:45)
体だりーので予定していたアップデートの類いはちっともしてない!
だりーだりー!
とりあえず Minus はあのフラたんが esoterisのこと50% ゴルフのこと50%とか 考えて作ったに違いない -= しか演算が無い ヘンな言語なので試すといいよ!
特徴はループがむっちゃ書きにくいこと!
aaaioac4 とかで無限ループ echo だ!
a-=a; // a を 0 に a-=i; // a に入力(i) o-=a; // a を出力(o) c-=4; // 4個戻る(cはプログラムカウンタ)
あとは止める方法考えるんだお! ちなみに o-=i だと負数吐きやがる!
(06:32)
ねぼけて目覚ましが鳴ってるのを PCが鳴ってるんだと思って なぜか Ctrl+Alt+Del った。 結果再起動してくれた。 んで xen 上げなおすのとかねぼけててこずった。
アホというかなんというか
(15:33)
こんな綺麗なコードが最短なわけないね。
これはたぶん面白い問題な気がするなぁ。
http://golf.shinh.org/p.rb?multi_key+sort#Ruby
(18:15)
http://gusmachine.blog49.fc2.com/blog-category-2.html
D は、
class C { int i; this() { int i; // 合法 { int i; // 非合法 } } }
のはず。
1. コンストラクタとsetterでは、セットする変数と同じ型の引数を受 け取り、引数の名前はフィールドの名前と同じになることがある。 同じであってもよい。
どの言語の話なんだろう。
#include <stdio.h> struct C { int i; C(int i) { i=i; } void print() { printf("%d\n", i); } }; int main() { C c(1); c.print(); }
こんなのは当然 C++ だとダメなので、 this->i = i; とかするんだろうか。 いや C++ なら C(int i) : i(i) {} でいいんだけど。 パイソン子なのかな。 まぁ僕はメンバが i_ になってるか、 引数が i0 になってるか、が慣用化されてるなぁ。
まぁ
2. フィールドを参照する際にいちいち読みにいってほしくないとき、 ローカルにキャッシュとしてフィールドの値をおいておくことがあ る。この名前は同じになる。
これがあるので、 D が一つ目が合法なのは 全然正しく感じる。
んで関数内のブロック内の隠蔽はなー。 あ、ちなみに
class C { int i; this() { int i; void delegate() d = delegate void() { int i; }; } }
は合法みたいだ。
んで関数内のブロック内の隠蔽は 禁止しておいた方が妥当な気がするけど、 俺は結構やりたいなーとかいう。
int main() { SDL_Surface* s = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE); // 長い時をへて if (hoge) { int s = 1; }
とかをしばられるのがなー。 いや行儀悪いんだけど書き散らかしコードだから許してよーという。
(15:52)
http://www.digitalmars.com/d/function.html#interpretation
思ったより適用範囲が広い。 これ入力固定の BF インタプリタくらいなら動く?
(16:02)
http://alohakun.blog7.fc2.com/blog-category-5.html
よく使う機械語命令長くらいなら最近は覚えた…と思いつつ、
i;a[] = {4, 9, 2, 3, 8, 6, 3, 2, 1, 3, 5, 7, -0x80000000, 0x7FFFFFFF}; main(){ qsort(a,sizeof(a)/4,4,"YXZ\x83\xec\f\213\0+\x2\303"); for(;i<sizeof(a)/4;i++) printf("%d ", a[i]); puts(""); }
もろに sub じゃダメってケースだった…
% ./a.out 1 2 2 3 3 3 4 5 6 7 8 9 2147483647 -2147483648
まぁ
irb(main):001:0> disasm("\x55\xb9\x01\x00\x00\x00\x89\xe5\x8b\x45\x0c\x8b\x10\xb\x45\x08\x39\x10\x7f\x07\x0f\x9d\xc0\x0f\xb6\xc8\x49\x5d\x89\xc8\xc3") /tmp/irb_disasm1672.0: ファイル形式 binary セクション .data の逆アセンブル: 0000000000000000 <.data>: 0: 55 push %ebp 1: b9 01 00 00 00 mov $0x1,%ecx 6: 89 e5 mov %esp,%ebp 8: 8b 45 0c mov 0xc(%ebp),%eax b: 8b 10 mov (%eax),%edx d: 8b 45 08 mov 0x8(%ebp),%eax 10: 39 10 cmp %edx,(%eax) 12: 7f 07 jg 0x1b 14: 0f 9d c0 setge %al 17: 0f b6 c8 movzbl %al,%ecx 1a: 49 dec %ecx 1b: 5d pop %ebp 1c: 89 c8 mov %ecx,%eax 1e: c3 ret => nil
これはちょっと見ただけで ECX のクリアは xor %ecx, %ecx; inc %ecx; に決まってるでしょ! このオバカ GCC ! とかいう感じなのでまぁいいか。 そもそもスタックフレーム作るなとか。 omit-framepointer つけといたらバイナリ長減ったりするのかな。
あと前から気になってたのですが第四引数でわ。
(16:28)
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070216#p02
ls /bin /usr/bin などを送り込んで 確認していただくと良いかもです。
あと「読みやすく」は私の場合 「読みやすく書かなければならない」という 束縛から解放される喜びが大きいなぁ。
あと経由して思い出したように Smalltalk メモ
http://www.gnu.org/software/smalltalk/gst-manual/gst_42.html#SEC102
(17:50)
終わりそうもない。
s='!\"\#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~' s.scan(/./) do |a| s.scan(/./) do |b| s.scan(/./) do |c| s.scan(/./) do |d| s.scan(/./) do |e| begin p = a+b+c+d+e puts p fork do eval(p) end rescue end end end end end end
Ruby segv を探そうかと思ったのであった
(20:45)
どれも難しいなぁ。まぁ Minus は入れると決まればカンタンだ。 2DとBALANCEはどう考えても無理だ。
あと純然たるマシンコードサイズを競う場として、 スタックとレジスタが全部クリアされた状態で始まる ヤツもあってもいいかもしれないな。
(20:59)
最近風邪をたしなんでいるという感じである。 もうちょっとマジメに原因に取り組む必要があると思う。
やめてお兄ちゃんそれ以上ゴルフしたらっ…!って感じだな。 あと部屋のホコリゴルフをしたら健康に良さそう。
(00:14)
http://pitecan.com/Puzzle/Predict/janken.html
via http://yowaken.dip.jp/tdiary/20070215.html#p01
じゃんけんゲームのネタバレ。
たぶん Firefox なら勝てるんじゃないかな
戦績: 50勝 0敗 0分け 計算機の手 あなたの手 勝敗 グー パー ◯ チョキ グー ◯ グー パー ◯ パー チョキ ◯ チョキ グー ◯ グー パー ◯ グー パー ◯ パー チョキ ◯ パー チョキ ◯ パー チョキ ◯ グー パー ◯ チョキ グー ◯ チョキ グー ◯ チョキ グー ◯ パー チョキ ◯ チョキ グー ◯ チョキ グー ◯ パー チョキ ◯ パー チョキ ◯ グー パー ◯ パー チョキ ◯ パー チョキ ◯ グー パー ◯ パー チョキ ◯ グー パー ◯ グー パー ◯ パー チョキ ◯ グー パー ◯ チョキ グー ◯ パー チョキ ◯ パー チョキ ◯ チョキ グー ◯ パー チョキ ◯ グー パー ◯ チョキ グー ◯ パー チョキ ◯ グー パー ◯ パー チョキ ◯ グー パー ◯ チョキ グー ◯ グー パー ◯ グー パー ◯ グー パー ◯ グー パー ◯ チョキ グー ◯ チョキ グー ◯ パー チョキ ◯ パー チョキ ◯ チョキ グー ◯ グー パー ◯
(04:41)
いくらなんでも実行遅すぎやろと思うんだが 何が悪いんだろう。
strace かなーと思ったけど ゼンサバ上で strace かまして実行しても あんまり速度変わってなくて、 0.25秒くらいで終わる。 open4が悪いか、なんらかの俺のミスか…
(05:17)
やっぱ strace が重かった。 そうだよなー。 フィルタするシステムコールを選択的に 選ぶとかできないからかなぁ。 見てみると wait4 とかが重いらしい。 うーんそいうもんなのかね…
てゆーか -f オプションが遅い。 で、 man 見ると fork を追うって話で、 別に fork なんて追って欲しくは無くて、 やって欲しいのは execve で trace やめるのをやめろ、と。
(06:06)
なんかクーポンがあったので、 この危険そうな物体を食べてみることに。 最初の半分くらいはフツーにうまいじゃんねと思いながら喰ってたけど、 途中からこれはキツいなと思いなおした。
そもそも甘くて腹に溜まるものが得意でない。
(10:27)
http://golf.shinh.org/p.rb?delete+blank+lines#OCaml
\('-')/
型推論をゴマかすのが OCamlゴルフのコツな気がしたのであった
(11:41)
http://www002.upp.so-net.ne.jp/mamewo/ml.html
http://ocaml.jp/archive/ocaml-manual-3.06-ja/libref/
リファレンスじゅーよー。
(13:03)
http://www.zegapain.net/glossary/index.html
http://mania.sakura.ne.jp/zegapain/index.php?量子サーバと幻体
(16:44)
パーサがなんか Perl チックだよなぁ
# let f x y=();; val f : 'a -> 'b -> unit = <fun> # f 1l1l;; - : unit = () #
Haskell もこんなもんだっけか。
(19:19)
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070215#p03
は、なんか長い間やってるうちにできてくるような。 私の場合 Ruby は大丈夫だけど Perl は一々試してみないとダメで、 OCaml とかはもう根本的にほげほげ、って感じですね。
ゴルフの才能って要は体力とか暇じゃないかとかいう。
99 は CodeGolf の時からわかってたことですが、 案外アルゴリズム勝負で、 言語によって全然最適な方法が違うので面白かったりという。
僕は一箇所 if then else 使ってるなー。 このへんがダメになるから設計がよろしくないのは なんとなくわかってたけど書き直すのが億劫。
(22:46)
true&recursive(i+1)||()=print_string"hoge"
こんな感じで。
(23:15)
irb(main):001:0> disasm("\x58\x5a\x59\x31\xdb\x31\xc0\xb0\x04\x80\x31\x20\x34\x07\x89\xc5\xcd\x80\x30\xd3\x95\x85\xed\x75\xf0") /tmp/irb_disasm22831.0: ファイル形式 binary セクション .data の逆アセンブル: 0000000000000000 <.data>: 0: 58 pop %eax 1: 5a pop %edx 2: 59 pop %ecx 3: 31 db xor %ebx,%ebx 5: 31 c0 xor %eax,%eax 7: b0 04 mov $0x4,%al 9: 80 31 20 xorb $0x20,(%ecx) c: 34 07 xor $0x7,%al e: 89 c5 mov %eax,%ebp 10: cd 80 int $0x80 12: 30 d3 xor %dl,%bl 14: 95 xchg %eax,%ebp 15: 85 ed test %ebp,%ebp 17: 75 f0 jne 0x9
なんかすごいコードだなーデバッガで終わんとわからん。
これだから k* は。
でもたぶん短くなりそうな
とりあえずレジスタの初期化部分はうちの環境に依存すれば 短くなりそうな。 つーのは EDX 最初から 1 入ってやがるみたいだから pop EAX; pop EAX とかで始めれば xor EAX, EAX は いらんような。 あと地道に pop するより popa しちゃうと レジスタが割と綺麗になるという悲惨なワザがあるとか。
zlib もそうだけどバイナリ埋め込みは 他ランキングも用意したいなー。 これはこれですごいのに、混じることによって 双方の評価が適切にしにくくなる気がする。 Python と Ruby を共通の点数評価に乗せるような感じ。
(09:50)
という諺がアメリカにある、という夢を見た。
アメリカのバスはガンガンぶつかるということを指して、 バス客もそんな感じなら車の仲間入りさ (このへん夢だけに意味がわからん) とかいう話を聞きながら、 日本ではオカマ掘るって言うよなーとか 思いながら聞いていたのであった。
(10:12)
プレフィクスかと思い込んでたら違うのだった
#define GENERIC_NOP1 ".byte 0x90\n" #define GENERIC_NOP2 ".byte 0x89,0xf6\n" #define GENERIC_NOP3 ".byte 0x8d,0x76,0x00\n" #define GENERIC_NOP4 ".byte 0x8d,0x74,0x26,0x00\n" #define GENERIC_NOP5 GENERIC_NOP1 GENERIC_NOP4 #define GENERIC_NOP6 ".byte 0x8d,0xb6,0x00,0x00,0x00,0x00\n" #define GENERIC_NOP7 ".byte 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00\n" #define GENERIC_NOP8 GENERIC_NOP1 GENERIC_NOP7
nop, mov, lea, lea, xxx, lea, lea 5B はホントに無いのかな。
(13:22)
実装より英語書いてるのがうざくなって途中でやる気失せた。
つまりバイナリのサイズはデフォで公開、 あとなんかシンボルゴルフとかした場合は、 名前変えてかつ statistics を公開すれば Alnum無いんだぜーとかアピールできるよ、と。
(14:41)
< HTTP/1.1 417 Expectation Failed < Connection: close < Content-Length: 0 < Date: Wed, 14 Feb 2007 13:17:56 GMT < Server: lighttpd/1.4.13
なんだこれは!
(22:18)
わらた
http://www.kmonos.net/wlog/70.html#_1759070214
それはともかく、これ見て思い出したので各言語や Sample input へのリンクを追加しておきました。
あと all expression タイムアウトで通らないなーという 悲しさが私の近況
(22:48)
http://golf.shinh.org/p.rb?delete+last+line
うーん。 sed は x の 1Byte だぜ! と思ったんだけど leading new line があるんだなー
(01:33)
http://jarp.does.notwork.org/diary/200702b.html#200702121
mawk と gawk はだーいぶ違うらしい。 AWK勉強したいと思ってることだし、 どうせならアグレシッブなのをってことで xgawk を入れてみようかなと思う。 x ついてるのに意味があるのかは知らないけど。
拡張子は何にしようか。 ベタベタに xgawk とかでいいんかな
(01:57)
http://slashdot.jp/hardware/comments.pl?sid=351126&cid=1108658
このへんが一名を除いてすごくまともだ。 何事だ。
(08:45)
まとめておく
&は敵位置 x+80*y 。ただし敵の.がこっちに直結。 ~は敵の踏んでるチップ(使えない)? ,は得点。
戦略
A. 攻める
A1. <>^v を置く
v < >>>>>>>>>
> ^
端から伸ばしていってこの形で直撃すると即死
A2. pを置く
スタックアンダーフローで死んでもらう
A3. ~を置く
スタックオーバーフローで死んでもらう
A4. |を置く
スタックなり方向なりのハイブリッド。
A5. ?を置く
<>^vよりはいいかも
D. 守る
D1. 中心で
>v>v>v<v<v<v< v>v>v>v<v<v<v >v>>>>>>>v<v< v>^ vv<v >^^<<<<<<<<^< ^>^>^>^<^<^<^ >^>^>^<^<^<^<
こういう形が固いかなぁ。
D2. 敵陣で
敵陣を一部書き換えてぐるぐる
D3. 自己書き換え移動
移動式既知
I. 侵入
I1. シンプルなの
> v
隙間に ^ とか置かれてたら死亡なのでたぶんだめ
I2. ちゃんと道作るの
> v >>>>>v v ^ < v
ビクトリーロードを。 遅いかな。
(11:43)
そういや第四層に。
なんというか第三層はトントン拍子で進んで、 こういうバランスの取り方とかはホントうまいなぁ。
レベルは38くらいだったとおもう。 ブシドーだけ25とかそんなの。
(12:36)
http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0702.html#D20070213-8
参加しませう ^-^-^-^-^-^-^-^-^-^-^-^-^-^
(19:56)
http://d.hatena.ne.jp/odz/20070212/1171345311
via http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0702.html#D20070213-4
たしかにこれはひどい。
とかいうどうでもいい話はどうでもよくて。
困ったな。なにがだめなんだろう。 a がマイナスおっきな数で b がプラスおっきな数の場合、 負が帰らないといけないのに オーバーフローで正になってしまう、と。
にゃるほど。 でも if 文が使いたくないという気持ちは 大変よくわかるのであるのであった。
return (a>b)-(a<b);
とかは反則負けとして、なんか無いものかなー。
隣同士の比較は諦める ('-')!
return (a-b>>2)+(a>>1)-(b>>1);
論外。
int r=((unsigned int)((a^b)&INT_MIN))>>31; return !r*(a-b)+(a>>1)*r-(b>>1)*r;
うまくいってる気がするけどわからん。 なんにせよ * とか使った時点で負けぽい。 俺こういうのの才能ホント無いなぁ。
(21:41)
http://www.nmt.ne.jp/~ysas/diary/?200702a&to=200702102#200702102
なんか前のなんとかセミナ〜で 「P!=NPはほげほげという方法では 証明できないということが証明できる」 みたいな話があって、 そのほげほげは普通の証明なら そのほげほげを満たすだろーという ものであって (よくわかってなかったけど あんまりややこしくないとかそんな)、 うあーこれじゃあ絶望的じゃーんみたいな話の後で、 人間の脳味噌で証明できない問題の クラスとかあるんじゃないかとか、 宇宙の全粒子の情報を使っても証明が書き記せない 命題はどうしようとかそんな話が出て面白かったのを思い出した。
(22:08)
素数判定くらいはできる子なんですが…
i@u ~/wrk/ag> echo | sed -f prime.sed NN NNN NNNNN NNNNNNN NNNNNNNNNNN NNNNNNNNNNNNN NNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
これに1分かかってちゃなぁ。 ほんとなんでこんなに遅いんだ
(23:47)
_ LCS submitter [悩んでる人が多いみたいなので、この情報を伝える手段は何か欲しいですね。 今のLCSの問題文に上のプログラム定義をつけ..]
_ yshl [名前の欄に書いた < や > がそのまま出力されてしまうようです。エスケープ処理をお願いします。]
_ shinh [あーはい。一応対処しておきました。ぶっちゃけそのへんはものごっついいかげんというかいまいちマジメにやる気が起きなくて..]
_ bero [むむ:ちょい古いけど反応 D言語のcompareがコレで大昔に言ったけどスルーされた 今みたらさすがに直ってる・・..]
_ Imuzjkyk [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]
固定出力の Web サーバを書いた→ u3で走らせた(nohup忘れた)→ ルータの設定変えるのに手こずった→ なんか同じ設定が二つ書いてあったりとか→ 気にせずあわててでかけた→ この時nohup忘れたのでWebサーバ死去(アホ)→ 帰った→すぐおねむ→ 起きた→ ルータの設定壊れててアドレス変換修正できない→ プロバイダの設定やりなおし→ ルータの設定むずかしい
とかそんな
(08:20)
ltが
│1 │tybalt89│46 │0.2996│07/02/12 08:25:17 │ │2 │shinh │51 │0.2173│07/02/12 08:16:14 │ │3 │ySas │52 │0.1663│07/02/11 01:34:34 │
suge-
(08:30)
http://www.kozupon.com/lighttpd/
http://goww.blogspot.com/2006/07/phplighttpd-lighttpd-fastcgi-php.html
(20:29)
http://d.shinh.org/svn/toy/lang/Readme
俺も compile time Befunge 書くよ!
ホントは compiler time x86 emulator がいいんだけど!
(21:11)
_ shinh [> sumimさん こちらこそ遊んでいただいてありがとうございます。過度のゴルフは古くから家庭崩壊の元となっていた..]
_ konn [あーなるほどそうすればもっと早いですね……ビット演算は奥が深そうだ。 えーとそれで、多分型宣言がないと怒られるのは..]
_ shinh [例えばこんな感じでうまくいかないから悲しいなぁという。 i@u ~/test/hs> cat bits.hs im..]
_ konn [あーなるほど。確かにそれだとどの 1 だかわからないので型宣言つけてやる必要がありますね。何かHaskellは妙に頭..]
_ shinh [なんかNumまわりだけインチキしてるから頭いいとかじゃなかったでしたっけ。まぁ復帰したら色々教えてください。]
うーむ sed すごい
http://jarp.does.notwork.org/diary/200702a.html#200702102
それはそうと改行1個とかわかりにくいですし、 sed なら *NOTHING* でも改行入れる、っていう処理しようかと思います
というかもう入れた。
(03:45)
バード二人のうち片方がどうしようもなくいらない。 戦闘の最初のターンに前衛で防御とかしてるカスである。
ホーリーギフトLv10になったら覚えるスキルが 無くなったので酒場に放置して新しい子を入れよう。
ブシドーに萌えキャラがいたのでこの子にしよう。 使い勝手が悪いらしいので良い良い。
カースメーカーもあやしげで良さげなんだけど。 いつ仲間になるんだろう。
(06:20)
エンジニアの知ってるメンタルモデルを 押しつけると大変ユーザビリティの良くないものになるので、 ユーザのメンタルモデルにあわせなさい、 として誰のためのデザインに載ってて、 例として冷蔵庫は上の温度と下の温度が設定できるのが正しくて、 冷やす総量と上下の配分を設定できるのはおかしい、と。
コンピュータでもそれは基本的にもちろん正しいんだけど、 でも敢えて技術者ベッタリで作られると 内部構造に思いを馳せる機会にはなるんだよなぁという。
というわけでやたら奥深くにある Windows の IP の設定画面は
(11:04)
前 | 2024年 12月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
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 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ ySas [BefungeとMinusのeですが、発想は同じかもしれません。たぶん、実際の値は違うと思いますが。あと、私のeは実..]
_ YT [会員権ありがとうございます〜。入会記念に好き勝手言い残しておきます。 まずそのAdaですが、コンパイルオプションに-..]
_ shinh [ご意見ありがとうございますです。-gnat05は加えてみたつもりです(未確認)。そのあたりは追加言語候補としてまた今..]
_ YT [-gnat05確認しました。ありがとうございますー。(ゴルフはしてたくせに)レスが遅くなってすみません。 歓迎会とい..]
_ shinh [レスなどいつでも良いですはい遅延評価とかそのへんで。上でも答えましたがおいわいはぜひ参加させてくださいませませ。]