ToDo:
なんか明日昼12:30から夜6:30からとかです。
http://shinh.skr.jp/m/?date=20081117#p01
codegolf.com に参加してた方は今からでもどうぞ。 夜の方はゴルフやったことあれば適当に6:30からの部にどうぞ。
メールいただけるとかコメントしていただくとかすれば適当に対処します
(20:58)
日曜あたりからしょぼしょぼ縮めて、
という感じだった。
(21:02)
pascal, range, switch は時間のムダ感が強すぎるので、 total, beer の悔いを無くす方向で。特に total かなぁ。
(21:39)
http://d.hatena.ne.jp/authorNari/20081203/1228267905
ああ Boehm GC はそれやってるんだなぁ。 それで緩和はすると思うっていうか 件のスレッドにそれは書いてあったように思う。 でもたぶん真に問題なのはそこじゃなくて、 スタックの底〜SP の間に valid な VALUE が残っちゃったまんまでイヤーンという話だと思います。
TODO: あの話はかなり感動したのでこんどなんかかく
(00:55)
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/37248
の議論を IRC で見てて、最初にぱっと思ったのは
def make_pure_enumrator(e) def e.inspect "#<Enumerator::#{to_a.inspect}>" end e end class Array alias orig_each each def each make_pure_enumrator(orig_each) end end p [1,2,3].each
みたいな感じのを、 Array の中身を include 一発でできるんじゃないかなぁ、 と思ったのだけど、やっぱできないような気がして、 書いてみたらやっぱりできなかった。 できるのかもしれんが。 まぁ Ruby むつかしい気味ではある。
あとこれ Ruby 1.8 で動かんね。
(01:02)
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/20149
このスレッドが面白いなぁとか思ってたんだけど誰も反応してないから、 まぁ日頃から GC に慣れ親しんでる人には常識なのかなぁとか思ってたんだけど、 なんか matz さんが反応した。 月曜に色々聞いた感じでは GC フェチには常識的な感じではあるみたいだ
(02:29)
ttp://shinh.skr.jp/t/tree.gif
http://d.hatena.ne.jp/miura1729/20081202/1228227760
を使ってみた。素敵だなあ。
ttp://shinh.skr.jp/t/081202_2358.jpg
まぁでもこっちの方が読みやすいよね!!
(02:47)
http://d.hatena.ne.jp/miura1729/20081130/1228033970
via http://practical-scheme.net/wiliki/wiliki.cgi?Shiro
あまり問題は把握してないしグラフがうんぬんとかはよくわかってないけど、 このウサギ大量作戦だと
こんな感じで木?を作ると
(define (gen-line n c) (if (> n 0) (cons (gen-line (- n 1) c) c) c)) (print (gen-line 3 1)) (define (gen-tree-aux n m) (if (> n 0) (let ((c (gen-tree-aux (- n 1) m))) (cons (gen-line m c) c)) (gen-line m 1))) (define (gen-tree n) (gen-tree-aux n n)) (define (run n) (if (> n 0) (let () (run (- n 1)) (no-cycle? (gen-tree n)) (print cnt) (set! cnt 0)))) (run 25)
N^2 のサイズの木?に対して指数ぽい挙動になるような。
なんか勘違いしてそうだけど…
(00:24)
ホント改悪ですよね(ゴル略的な観点で)!
でまぁマジメに 1.8 に String#ord 入れて欲しいなぁ… てか String#getbyte とかあるのかそっちも入れて欲しい。
(02:05)
http://redmine.ruby-lang.org/issues/show/809
一念発起してアカウントを作った。
メール投げるよりこっちの方がいいのかな。 メールよりめんどいけど。 なんていうかこう残るものは close したくなる気がするし。 insns.def のコメントもこっちにコピペしたろか。
(22:50)
stage すっとばすオプションあったよなあ
../configure --prefix=/usr/local/stow/gcc-4.3.0 --disable-nls --enable-languages=c --disable-stage1-languages
とかでいいんだっけか。
たしか直近ではあろはさんとこで見た気がするので、 とか書いとけば教えてもらえるんだきっと…!
(23:38)
configure --prefix=/usr/local/stow/gcc-4.3.0 --disable-nls --enable-languages=c --disable-bootstrap --disable-multilib --enable-checking=all
あたりで。
http://gcc.gnu.org/wiki/MiddleEndLispTranslator
に書いてあった。
(23:42)
まぁ rand は無いってのはそうだと思う。
http://blog.bugyo.tk/lyrical/2008/11/cdiv-1.html
#include <stdio.h> #include <stdlib.h> int main(int argc) { int i, j, sum = 0; int x = rand()%3+3; int y = argc + 10; for (i=0; i<10000000; i++) { for (j=0; j<10; j++) { #if 1 div_t d; d = div(x, y); sum += d.quot; sum += d.rem; #else sum += x / y; sum += x % y; #endif x++; y++; } } printf("%d\n", sum); return 0; }
とかでやってみた。
./a.out 0.83s user 0.00s system 97% cpu 0.845 total ./a.out 0.61s user 0.02s system 95% cpu 0.661 total
で div 使わない方の勝ちだった。 アセンブリ見た感じ div は関数呼んじゃってるなぁ 除算はきちんと一回になってるし。
まぁ除算きちんと最適化できるのに div なんてレアなものを builtin にする意味ないって感じかなぁ。
一応 gcc/builtins.c 見ても div ぽいのは無かった。
あとベンチマークの後は妥当ぽいか確認する手段として、 クロック数を概算してみるとかいいと思う。 1秒程度かかってるんならループ1回に数百クロックくらいかかってる感じで、 除算だけでそれはちょっと無いよなぁみたいなそういう。
(00:43)
くらいならいじったことあるなあ。 あれは苦痛に満ち満ちていた。
http://www.kt.rim.or.jp/%7ekbk/zakkicho/08/zakkicho0811c.html#D20081127-6
それはそうとまさに構造体のダンプのために こいうもの作った過去があるわけですが
http://d.hatena.ne.jp/shinichiro_h/20051230#1135939355
今も動くかは知らぬー
うむ 64bit linux では動かん。 今度なおすかなあ。
(05:48)
GCC ML で目に入った
http://gcc.gnu.org/ml/gcc/2008-11/msg00357.html
こいうのはちょっと面白い話かなぁと思う。
(21:48)
そして twitter で色々コメントをいただいたのであった。
http://twitter.com/kinaba/status/1023511153
わざわざ [shinh] とか書いていただいたのに
http://search.twitter.com/search?q=shinh+-from%3Amircbot
にかかってないなんて、いやあ不思議だなあ! それはそうと、 tumblr は本当にコピペだけであることが ほとんどっぽい感じなので無視してるんだけど、 そうでもないのかな…
http://twitter.com/kashiwa/status/1022925121
全エントリに tinyurl 作ってリスト作っておくってのはいいかも知れないなぁ。 でも作ったアドレス群を全部検索するのは大変ではないですか。 過去への言及とかも見たいので…
http://twitter.com/yanbe/status/1022879570
http://twitter.com/yanbe/status/1022885159
そうそう shinh.skr.jp を含む全 tiny URL リストとか取れるといいんですけどねえ。 正直なところ実装するの大変そうだけど。
どう見ても有意義な発言をしているのであった。
http://twitter.com/natsutan/statuses/1023579256
twitter がそこにワンホップして redirect とかしてくれたらなぁとか思わないでもないですが、まぁキツいよなあ。
そうそう、片っ端から follow して TwitterIRCGateway で流れてきた ログを適当に検索する、っていうのも割といいんだけど、 今度は IRC の方に permalink 流れて来ないという問題があったりとかそういう。
つか twitter も google とかでいいのかも。
などなど
(00:11)
たまに思うのは、なんというか自分の思考法を 相手もしてると思うのはいかんなぁというアレ。 英語で全部細かく説明すると大変そうだし、 長くなるとミスが積もって余計混乱しそうだ、 とか考えて、 この程度言えば後は想像で補ってくれるだろうみたいな想定を勝手において 省略した説明をするのは良くないことが多い気がする。
しかし細かい説明をしようとして途中で あーアレねみたいに話遮られたりすると リズム的にかなり辛いという言い訳も。
自分の思考法を押しつける系で言うと、 「今日」を漢字に分解して now day とか もっとひどいと now sun とか言ってみるとか、 そういうことやる人をたまに見る気がして、 まぁ程度差の問題で自分も似たようなことやってる気がするなぁと。
あでも now day 的なヤツは単に機械翻訳使ったってだけかも
そんなこんな
(00:22)
i@u4 ~/test > cat short_cast.c #include <stdio.h> int main() { int var1 = 0x1020304; *(short *)&var1 = 0x0809; printf("var1=%x\n", var1); }; i@u4 ~/test > gcc short_cast.c&&./a.out var1=1020809 i@u4 ~/test > gcc -O2 short_cast.c&&./a.out var1=1020304 i@u4 ~/test > gcc -O2 -fno-strict-aliasing short_cast.c&&./a.out var1=1020809
割とカンタンに起きるんだなあ
(22:30)
struct structa1 { int f1; int f2; }; struct structa1 s1; s1.f1 = 1; s1.f2 = 2; t = 3; printf("hoge: %d %d %d\n", s1.f1, s1.f1, t); printf("hoge: %d %d %d\n", s1.f1, s1.f2, t); printf("hoge: %d %d %d\n", s1.f2, s1.f1, t); printf("hoge: %d %d %d\n", s1.f2, s1.f2, t);
で
hoge: 1 1 3 hoge: 1 2 2 hoge: 2 1 2 hoge: 2 2 2
となる理由を述べよ。
(01:44)
http://shinh.skr.jp/m/?date=20081126#c02
今さっき思いついたんですが、 お忙しい方とか codegolf.com に参加してない方も 夜だけ参加とかどうでしょうか的な。
(23:56)
_ tako [面白そうなので再現してみたかったのですが、できませんでした(gcc,4.1.2,4.2.4)。差し支えなければ詳しい..]
_ kodera [なるほど。浮動小数点数をFPUレジスタ渡しする様なアーキテクチャだと、型間違えると普通に起こりえちゃうバグなんですが..]
_ kodera [あれ、なんか嘘書いたかも。t の値が固定で連続実行してたら、 型違いで値がおかしくなっても変動する事は無さそうですね..]
_ kodera [自信無くなったので確認したら、やっぱり嘘じゃなかったみたいです。うーむ。]
_ shinh [> tako さん まぎらわしいこと書いてすいません。手元で TCC いじって遊んでて起きたバグを書いただけなので..]
amd64-gcc だと、 16B 以下のサイズだと RDI と RSI に乗せて、 それ以上だったら x86 同様スタックに乗せるっぽい。
色々疑問はあるのでどっかで ABI 調べた方がいい
(08:31)
http://gcc.fyxm.net/summit/2003/Porting%20gcc%20to%20the%20amd64.pdf
むーややこしそう
(08:35)
telnet www.google.com 80 とかして HTTP の実験してたら timeout して、
HEAD http://www.google.com/ HTTP/1.0
なんちゃらとかをペーストして telnet は切れちゃったけど return 押したら、なんかレスポンスが来てびびったのだった。
正体は libwww-perl パッケージらしい。 /usr/bin/HEAD とか一通りそろってるのであった…
(21:11)
文句なく大改悪と言っていい。 w3m ユーザにとっては。 やまあ w3m ユーザでこれでいいって人もいるかもだが…
うーんキツいなー。 また mod_filter でいじるか…
つか web 時代だし、 RSS とか見ればいいのではないかな? とか思って RSS 見てみたけど
http://b.hatena.ne.jp/entrylist?sort=eid&url=http%3A%2F%2Fd.hatena.ne.jp%2Fshinichiro_h%2F&mode=rss
これが user 数入ってないんだなぁ。 JSON とかでエントリごとに中身取ってくる API はあるけど、 一覧して見たいわけで、何度も数問いあわせるのはイマイチだよなあ。
http://b.hatena.ne.jp/entry/json/http://d.hatena.ne.jp/shinichiro_h/
うーむ html いじるのが一番マシそうやね…
ついでに俺と web
でまたはてぶの新着エントリーページが間延びして見にくくなって、うむむー。
一応、上記はこう、僕が書いたものについてフィードバックもらえた時はなるべく見たいなぁという観点だけについて書いたので、文句言ってるサービスもまぁそれなりにいい面があるとかはまぁ理解してるかと思う。それぞれそれなりに楽しんだりはしてるし。ああでも twitter はさっさと滅んで欲しいかもしれない。
いや、みんな twitter に意味のある情報を書きすぎだと思うんだよな。 permalink から前後の文脈を辿れない、 1 permalink あたりにサイズ制限のあるメディアとか、何か意味ある情報書く場としてはアレすぎると思うんだが。「起きたー」とかつぶやくだけならいいのに。
てかたぶん探せば d.hatena.ne.jp/shinichiro_h と shinh.skr.jp を含む URL にリンクした twitter のコメントを一覧表示させる素敵サービスがあるのではないか
(23:00)
前 | 2025年 1月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
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扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ kik [今から寝るので遅刻する可能性大です。]