ToDo:
実装眺めてておやと思った。
// don't over write your current stack uint32_t next_stack = (uint32_t)stack_pointer - (c->stack_size + 1000); for (i = 0; i < c->stack_size / 4; i++) { uint32_t* p = (uint32_t*)c->stack; if (prev_stack <= p[i] && p[i] <= cont_stack_bottom) { p[i] -= (prev_stack - next_stack); } } // eax ebx ecx edx esi edi for (i = 0; i < 5; i++) { if (prev_stack <= c->registers[i] && c->registers[i] <= cont_stack_bottom) { c->registers[i] -= (c->registers[i] - next_stack); } }
なんか restore の後はスタックの位置変わるってことか。
printf("func1 : %d %p\n", counter, &counter); int ret = func1(counter + 1); printf("func1 : %d %p\n", counter, &counter);
とかに変えてみるとたしかに変わってる。
うーんどうせ save してるんだから 元の位置覚えておいてそこに書き戻したらダメなんだろうか。
(02:15)
static myjmp_buf registers; static int ret; void cont_restore(Cont* c, int r) { uint32_t i; uint32_t prev_stack = c->registers[7]; register void* stack_pointer asm ("%esp"); // don't over write your current stack //uint32_t next_stack = (uint32_t)stack_pointer - (c->stack_size + 1000); uint32_t next_stack = (uint32_t)c->stack_start; uint32_t diff = c->registers[6] - c->registers[7]; c->registers[7] = next_stack; c->registers[6] = next_stack + diff; memcpy(registers, c->registers, sizeof(registers)); stack_expander((c->stack_size + 1000) / 10); ret = r; //memcpy((uint8_t*)next_stack, c->stack, c->stack_size); __asm__(".loop:\n" "movb (%0), %%eax;\n" "movb %%eax, (%1);\n" "inc %0;\n" "inc %1;\n" "cmp %1, %2;\n" "jne .loop;\n" ::"r"(next_stack), "r"(c->stack), "r"(c->stack+c->stack_size) :"%eax"); mylongjmp(registers, ret); }
(02:44)
http://dis.4chan.org/read/prog/1180084983/
via http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070525#p02
これやりかたがひとつしかないはずの python でやるから面白いって側面もあるなぁ。
(16:17)
Python が嫌いな理由は何がしたいかよくわからんからだった。 やりかたがひとつ、って理念はわかるし それはそれでいいことだと思う(僕の好みではないけど)んだけど、 なんか lambda とかリスト内包とかデコレータとか 少し便利だけどジェネレータとかほど必須感も無いし 制限もあるのにやり方増やす、 ってのは理念的にどうなんだろうなぁという。 だいたい re とか何個あるのかしら。 range と xrange とかもなぁ。
(16:20)
入れて何しようと思ってたんだっけ… かなりフィルタしたいものがあったんだ、なんだっけ… うーんなんだったか…
思い出した! はてなキーワード以外のはてなのリンクを強調したかったんだ。
(16:42)
まず、キーワードだけ、を変える方が他全部を変えるより簡単なのは自明。
ただ w3m だと、強調は簡単だけど弱める表現は無いと言っていいはず。 かといって別に見たくもないキーワードリンクが強調されてるのはうざい。 となると唯一の方法はキーワードリンク消しちゃうくらいだけど、 完全に消えちゃうとそれはそれでなんかね。
とりあえずアンダーラインくらいにしてみた。
(17:17)
一周なんかしなくても運次第でそら通る可能性はある。
既に常駐プロセスがあるPIDは飛ばされるわけで、 ps -auxww とかすれば計画は立てられるはず。 僕がざっと見た限り通る場所は無いと思う。 それに pid 回したければ大量にサブミットするんじゃなくて shell スクリプトで狙った回数プロセス呼んだらいいのに…と思う。
(13:04)
経験上非常に若いPIDはカーネルが予約してる感じなのか、 来ることは無いと思う。 なら調べればいいわけで。
#define RESERVED_PIDS 300
一瞬だった pid.c 。で MAX は 32767 で、 301 や 32767 付近にプロセスは無い。 その時点で一周時に三つ通る可能性はゼロかね。
あれ、ていうか 1 に戻るとしてどういうストーリーなら 通るって計画だったんだろう。
(13:20)
DOSアタックの真の有効性が判明するわけです。 つまりこの PID の配置で無理ならアタックかけて落としてしまえばいい。 落ちてしまえば PID の配置は変わってくれるかもしれないっっ
(13:23)
既に最低2度は落ちてたみたいだわらう。 まず朝 (JST 1:50 付近) に死んでたから手動で起こした。
golf@ux:~$ uptime 04:26:00 up 11:34, 1 user, load average: 0.00, 0.00, 0.00
のはずなのに4時間しか uptime 無いのはおかしい。 見てみるとたしかに隙間できてるし。
06:00:25 {#mazop:mircbot} 51b submits 27B of C for 123, ranking #5 (10000pts). 10:01:32 {#mazop:mircbot} yt submits 120B of BASIC for show the way, ranking #1 (10000pts).
でも submit サバ死んでたら 30分に一度起こすハズなので たまたまアクセスなかった時間もかさなってるってことかな。
(13:29)
どうせ多少の攻撃くらいじゃ HDD 吹っ飛ばない限り 一時的なダウンはいくらでもするけど たぶん勝手に復活するのでガンガンやってもらって問題無いのだけど、 確実に通らないコードをサブミットし続けるとか、 可能性があるとか言うのはあまりエレガントじゃないかなと。
通る気があって、それで単独1位が取れるなら 1万回だろうがやってみてくれって感じだが。
(13:35)
6時間で 20000 アクセスでうち 12000 が submit 。
i@u /var/log/lighttpd> zcat access.log.1.gz | grep '23/May' | grep submit | wc 19382 339426 3403554 i@u /var/log/lighttpd> zcat access.log.1.gz | grep '22/May' | grep submit | wc 6410 132402 1299583 i@u /var/log/lighttpd> zcat access.log.1.gz | grep '21/May' | grep submit | wc 506 11692 112156 i@u /var/log/lighttpd> zcat access.log.1.gz | grep '20/May' | grep submit | wc 596 13012 129077
うひひアクセス数40倍でござるよ!!
(14:01)
http://labs.cybozu.co.jp/blog/takesako/2007/05/fizzbuzz_x86.html
まぁELF102の方が短そうではあるけど、面白げ。
http://golf.shinh.org/p.rb?FizzBuzz#x86
えーと ELF ゴルフは完全にヘッダとして潰れちゃうのが 20バイトか。 命令が飛び飛びになっちゃう効果を考えると 僕の短くすればとりあえず追いつきはするか。
(14:26)
これえらい昔に見てよくわからんかったする気がするなぁ。
http://web.yl.is.s.u-tokyo.ac.jp/kobalab/kadai99/picalc.html
超わかりやすいのか。
(00:57)
http://cvs.m17n.org/~akr/diary/2007-05.html#a2007_05_22_2
各階で番号指定させると、 普通に2台とか3台のエレベータが来てると 誰がどこ行くかサッパリというのもありそうな。
(13:24)
なんか流行ってるらしいとかは見てたんだけど、やっと出所を読んだ。
私から言えますのは PHP は 13B ということくらいでしょうか。
Hello, world!
なんて直感的な言語なんでしょう!
(15:54)
腹おかしくなって忘れてた。
http://shinh.skr.jp/m/?date=20070516#c01
の件はつまり Ozy さんがまさにおっしゃってる通りだと思うのですが 「少なくとも高速コードや省メモリに興味の ある人で能力もありそうな人を見かけたら、 少しでもGolfに興味を持ってもらおうと、 私は必死になります。」 っていうあたりに象徴されるような 勧誘する気まんまんてのが興味深いなーと思った。 ということでしたという後だしじゃんけん。
(16:31)
http://d.hatena.ne.jp/Ozy/20070521#c1179733065
そこをもう一歩進めて、 他の人が読めない→バグが発見されない、 まで行けば正解! なのかは知らない。
(16:41)
これ申し込んだのであった。
http://www.atdot.net/s-prosym2007/
俺なんかが行っていいのかは謎。 ゴルフの話をするらしい。 なにはともあれ奇人変人ショー的に 色んな言語について適当に紹介しまくるだけという予定。
(16:45)
近くにベーグル屋があるとか言ってたなーと思って 行ってみたらえらいうまかった。 ベーグルってこんなうまいものだったのかと。 よく考えたらアメリカって肉とパンの扱いは慣れてるはずなんだから もっとパンに注目すべきだと思った。
(08:52)
なんか、昔感動したことを事象まるごと忘れていて、 再度知った時に感動してから、 ああそういえば昔感動したなと思い出すことが 最近非常によくあったのだけど。
03:15 >i< date>mtv 03:15 {mircbot} つ http://www.pia.co.jp/ 03:15 >i< あれ 03:15 >i< 見事に意味がわからない 03:16 >i< これ誰が入れたんだまったくなぞですね… 03:16 >i< そしてmtvは実装したのにそのコード入ってるマシンが死んだのを思い出しました 03:17 >i< ああデート!! 03:17 >i< 自分で自分のネタに今気付くという
誰が入れたんだって俺に決まってるわけだが。
(19:21)
C++ にもある…と言っていいかは微妙だけど。
#include <ext/numeric> #include <vector> #include <cstdio> using namespace std; int main() { vector<int> v(9); iota(v.begin(), v.end(), 9); for (int i = 0; i < v.size(); i++) { printf("%d\n", v[i]); } }
http://www.sgi.com/tech/stl/iota.html
(13:30)
int main() { int i; const int * cip; int const * icp; int * const ipc; cip = &i; icp = &i; // ipc = &i; // *cip = i; // *icp = i; *ipc = i; }
と書けば簡単で、 つまり const int と int const は同じ意味なので、 ということを書きたかったのだけど、 &argc で初期化したのは色々まぎらわしかったと思った。
(13:38)
http://d.hatena.ne.jp/oraccha/20070519/1179547450
これ聞いてたけど面白かったんですよ。
てかだいたい週4-5くらいで talk 聞いてて、 週1くらいで1個アタリひける感じ。 んで他の面白かったのを適当に探してみるも見当たらず。 有名人以外は外に出にくいのかな。
http://shinh.skr.jp/m/?date=20070505#p01
で Linus 見た時のはあった。 あまり聞いてなかったけどひたすら CVS の悪口言ってた。 DIS り芸ってヤツだろうか。
http://www.youtube.com/watch?v=4XpnKHJAok8
(14:05)
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070519#p01
each がいらないのはすぐわかるはず。 map より 1B 長いじゃん。
で、 inject もいらない。
v=[1,2,3] a=1;v.map{|x|a+=x};a v.inject(1){|a,x|a+x}
ほら 1B 長いじゃん。
それはそうと、 inject は a,x の どっちがどっちかよくわからんくなるプロブレムが。
(14:10)
なんか熱と頭痛がある気がするけど気のせいだろうか。 熱は出るらしいからあっても不思議じゃないというか 昨日無かったのが不思議なのかしら。
あと痛み自体は割にひいてる気がするが筋肉痛がある気がする。 昨日えらい歩きまわったしなぁ。
(05:05)
今日はぐっする寝て起きて薬飲んでまた寝て、 起きてウドン食って電話しようと試みて やりかたがよくわからんと思いつつ寝てしまって、 さっき起きて KFC 行って今というような。
電話はまぁ明日でいいとしよう。 医者に聞くべきこと。
あとなんか二回目起きたあたりで 家に二人ぐらい侵入して謎の工事とかしてたんだけど、 許可なくやるもんなんだなぁという。 なんていうか valet もそうだけど 盗まれないようにできてるのは偉いなぁ。 安全神話日本のペッパーランチは危ないらしいが。
あと KFC でクレジットカードのサインしたら 店員が名前に興味を示してこんな感じかと書いて聞いてきた。 Shin の後が無茶苦茶だったので この後は ichiro だよイチロー知ってるよねと聞いたら 知ってるとのこと。 しかしその後はイチローと呼ばれ続けて シンはどこ行ったのかなぁと疑問だった。 まぁこんな偉大な人扱いされるのなら光栄だね。
http://blog.livedoor.jp/michaelsan/archives/50585805.html
(14:01)
int main(int argc, char* argv[]) { int const * icp = &argc; *icp = argc; }
これは const 性は大丈夫かダメか。
(17:23)
今日について簡潔に書くと、アナル開発をされた。
はらいたいけど会社行かんと相談もできないので会社に。 なんか色々あった後で英語のレッスンで その痛いのはやばいから医者行けと言われて やはりそうかと思って医者に行くことに。 なんか車出してもらって医者に行ったところ 他に行けと言われて車もう行っちまったよと言ったら ちょっとだから歩けとか。 歩いた。えらい遠かった。 着いてからほげほげするとここはアナタの保険効かんとかなんとか。 しゃーないのでまた車来てもらって最初のところに もう一度行くべきだという結論のもと行った。 なんかエマージェンシーとかの枠だとあっさり入れてもらった。
診察第一段はなんか病院のスーパーシステムで 日本人が電話みたいなので同時通訳してくれてとてもすごいと思った。 んで次の人はなんか美人のねーちゃんで今度は英語で。 病気関係の単語とか全然知らないので極めて困った。 pee が小便をするとかそんな意味だと知らなかったので 女医さんにひたすら説明を求めたところ ちんこ持って小便するマネをしてくれた。 その後謎の東洋人による X 線ぽい装置。 最初うまくいったら phase 1 で終わり、それはすぐ終わる、 とか言ってて phase 1 はすぐに終わった。 でうまいこといかんらしく phase 2 に入って、 よくわからんけどハイライトを出すためとかなんとかで ケツと血管から液体を同時注入するとか。 当然ケツは痛いしヘンな感じだし血管から来てる液体も なんか体あっためるとか不審な効能だしで気分は最悪。 そんでケツに棒突っ込まれてたぶん 10分から15分ほど X 線。 やたらこれが last だとか 3 分だとか 5 秒だとか言う人だったが 全然 last は遠かった。 極めて苦しかった。 面白かったのはその東洋人が 「お前の名前なんだ」 「シンイチロー」 「名前の意味はなんだ」 「むずかしい(ていうか米国人に慎みという概念があるのか)けど honest とか」 「面白い。俺の名前は rich って意味だがサッパリ rich じゃないよ HAHAHA! 」 とか、こう露骨な痛み紛らわせ系会話をしてくれたことだった。 彼の持ちネタなんだろうなー。
んでその後入れられた水をドバドバ排出して なんかついでにゲリ&便秘というか便秘でゲリが 詰まってたっぽくてドバドバ出して なんか痛みひいたなーひょっとしてただの便秘ってオチすかー、 とか思ってたらすぐ痛みが戻ってきて安心した。 つか破瓜の痛みが圧勝して忘れてただけくさい。 あとはひたすら待ってた。 「すぐに医者来るから待ってて」〜(30分経過)〜 「そろそろ来るお」〜(20分経過)〜医者登場、など、 全てがそんな感じだった。 途中で入れてもらった鎮痛剤が なんか体が熱くなったり酔ったみたいになったり不思議なものだったが さして痛みはひかないというマジカルドラッグだった。
そんなこんなで結論は結腸憩室炎とかいうのらしい。 なんかたいしたものではなさげだけどとりあえず痛いみたいだ。 たぶん薬飲んでりゃ直るとかなんとか。 みんな心配してくれてありがとうの涙の再会とか 薬回収とかそんなこんなで帰れた。
(17:00)
んでこう思ったのは学校で教えてくれない 下英語は超重要だろうということだった。 headache とかはさすがにわかるわけだが、 おちっこもうんこもわからないよーという話。 不思議なことに anus とか anal とか ass とかは 必要以上に知ってる気がするよねホント不思議です。 ということでここを見てる小中学生は anal とか調べてる暇があればおちっこうんこを調べた方がいいと思う。
(17:03)
前 | 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扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ Ozy [あー、そか。。initプロセスは必ず1なんですね。。。]
_ Ozy [> 狙った回数プロセス呼んだら forkしてある程度はコントロールしてたんけどね。。。 1に戻るというより、2に戻..]
_ shinh [ああなるほど。まぁ上述の通り301に戻るのでダメですね。]
_ Ozy [JST 0:00頃にPIDの状態を調べてみたらもうちょっとで1周しそうだったので連続Submitのスクリプトを走らせ..]
_ shinh [うひひ生々しい殺人回想でステキです。うひひとか楽しみつつちょっと危機感もあるので(出かける前にもやった気がしますが)..]