ToDo:
http://www.atmarkit.co.jp/news/201004/19/twitter.html
なんか意外と普通だなぁ。
twitter って planet wide にはなってるのかな。 キャッシュはそこらに適当にあるけど データ自体はアメリカだけーというのを予想。
http://q.hatena.ne.jp/1256635527
このへんを見るに
とかかなー
(08:40)
あ、普通ってのは fan out あたりの話を読んだ感想。 時系列のパーティションとかはなるほどなーと思った。
ユーザごとにパーティション切ってるとして こう一緒の TL によく出てくるソーシャルグラフの距離が 近い人は同じパーティションに行きやすい かっこいい分散データ構造があって…とか妄想したけど fan out 的なことしていいならそんなことする必要ないなーと
(08:46)
なんか会社入った時に、 ビルドとかデータ生成とかの待ち時間とか結構長いとかいう文脈で、 仕事の方を並列にするといいとか聞いて感心して、 実際3並列くらいまでは結構やれるような感じがしてる気がする。
つまりたぶんシングルコアで HT が入ってて、 後は IO 待ちとかあるから make -j は 見えてる CPU の数 + 1 くらいにするから… とかいう感じで 3 並列くらいなんだろうか。
で問題はちょっと最近 3 じゃ効かない感じがしていて、 どうにも頭がぼんやりしてる日の作業効率が悪い気がする。
今日はそれなりによかったのでメモっておこう
(22:31)
最初は double-layout から来る double-repaint が腐ってる問題と 同じような話かなーと思ったけど違うか。
異常
layer at (0,0) size 785x600 RenderBlock {HTML} at (0,0) size 785x600 RenderFlexibleBox {BODY} at (0,0) size 785x600 RenderFlexibleBox {DIV} at (0,0) size 785x600 layer at (0,0) size 785x1620 scrollWidth 770 RenderBlock {DIV} at (0,0) size 785x1620 RenderText {#text} at (0,0) size 752x1620
正常
layer at (0,0) size 785x1620 RenderBlock {HTML} at (0,0) size 785x600 RenderBody {BODY} at (0,0) size 785x600 RenderBlock {DIV} at (0,0) size 785x1620 layer at (0,0) size 785x1620 RenderBlock {DIV} at (0,0) size 785x1620 RenderText {#text} at (0,0) size 776x1620
つまり外側の DIV が flexbox なので body にあわせて縮んでしまっている。
つか 2 重じゃなくてもこれ起きたりしないかなーと思ったけど やっぱ 2 つ必要か。 修正はこれどうなるんだろうね
とりあえず一番問題なコピペは land
gtk の test failure は修正した。単に gtk が悪い
chromium-win は謎。 transform でおかしくなってるあたり明らかに僕が悪そうだけど、うーん。 あ、 capitalize や変更が起きないケースでも試してみた方がよさげ (0)
あとは
あたり
修正は一瞬だけど議論が必要なので早く考えた方がいい
個人的には修正したくない、が
するとしたら -webkit-focus-inner もやる必要があるんだろうなあ…
待ち
png の方を調整するくらいなら今でもできるが (2)
実装は大変そうだけど、考えるのはとりあえず早めにやれると良い
せっかくいじったんだからテスト書くといい
絶賛放置されている
絶賛放置されている
プライオリティつけてみたが (2) ばっかでどうしようもない。 (2) くらいは GW までとかに終わってるといいんだけど
(22:49)
ひさしぶりに ruby を rmemcheck にかけてみた… 対象は test/ruby で。
これは昔リークゼロにできてたようなそうでもなかったような。 もはや記憶になくて、記憶にないのは良くないので とりあえずここに記録を残して置いてみよう。
http://shinh.skr.jp/t/leaks.txt
特に何もしないプログラムでも Init_VM と Init_sym で リークが検知されるけど、 まぁこれは問題ないんじゃないかな。 前者は INSTRUCTION_NAMES とかで 後者は register_symid とか。 なんかでもこれ leaks.txt には書いてないな謎。
ていうか発生個所が単体で走らせると結構 leaks.txt と違ったりして謎。
とりあえず test_m17n_comb.rb は何かがおかしそうだ。
==19285== 39,982 (32,480 direct, 7,502 indirect) bytes in 70 blocks are definitely lost in loss record 63 of 68 ==19285== Ruby /usr/local/lib/ruby/1.9.1/minitest/unit.rb:176 ==19285== at 0x4C255D3: malloc (mc_replace_strmem.c:1127) ==19285== by 0x49737D: onig_new (regcomp.c:5600) ==19285== by 0x489D4C: rb_reg_prepare_re (re.c:1259) ==19285== by 0x489F4F: T.591 (re.c:1318) ==19285== by 0x48A724: rb_reg_match (re.c:2703) ==19285== by 0x512496: vm_call_method (vm_insnhelper.c:377) ==19285== by 0x513B85: vm_exec_core (insns.def:1002) ==19285== by 0x5183F8: vm_exec (vm.c:1133) ==19285== by 0x5199B5: rb_yield (vm.c:586) ==19285== by 0x52A954: rb_ary_each (array.c:1413) ==19285== by 0x512496: vm_call_method (vm_insnhelper.c:377) ==19285== by 0x513B85: vm_exec_core (insns.def:1002)
これは re.c の
if (tmpreg) { if (RREGEXP(re)->usecnt) { onig_free(reg); } else { onig_free(RREGEXP(re)->ptr); RREGEXP(re)->ptr = reg; } }
を適当に
if (tmpreg) { onig_free(reg); }
とかにしたら消えた気がする。 しかし RREGEXP(re)->ptr はそもそも解放されてないような気がするのが謎で謎。
とりあえず最小テストケース
d = "foobar" d.force_encoding("EUC-JP") /./ =~ d
というあたりで飽きた
(03:06)
なんか今回はビジネスクラスというのに乗ってみた。 実際サービスはいいと思う…というか 10万単位の金払ってるんだからこれくらい 全員にやってもいいんじゃねーとか思った。
僕の感覚では 20 万程度という差額の価値はどこにも無くて、 そうなってくると会社に払わせるとしても 貧乏症的にはちょっと微妙な感じではあるなーという感じだった。
帰りになんか火山がどうこうでどっかの線が止まってるらしいとか聞いたんだけど、 実際 kmizu さんが被害にあっていた… がんばってください
http://twitter.com/kmizu/status/12284574428
今回のメインの出張理由は webkit contributor meeting とかいうのに行くことだったのだけど、 まぁそれについてはまたなんか書いてもいい気もする… けど普段から webkit な感じな人でもないと無価値な感じの話な気がする。 JS engine くらいかなぁ。
http://niha28.blogspot.com/2010/04/screen.html
みたかんじ screen-devel でいいんじゃないでしょうかと思いました。
http://lists.gnu.org/archive/html/screen-devel/2010-04/threads.html
GNU ってある程度以上長いパッチは書面送る必要あるらしいけど 今でもそういうのあるのかな
http://www.amazon.com/gp/product/B00342PJ5M/
が欲しいなーと思ったけど海外発送できないみたいだ。
向こうにいる間に買っときゃ良かったか。
日本で売ってるものに比べて
というメリットがあるみたいだ
http://code.google.com/p/chromium/issues/detail?id=41467
楽しいことになってるみたいだ。
たぶん http:// が無くなってすごくうれしいという人はいないだろうし、 無くなってむかついてる人ばかりがこのバグを見つけるわけで、 となるとわざわざ味方してくれる人とかいなくて大変そうだなー
RFC 3986 に違反してると言ってる人は URLバーに日本語ある場合に %-encode されてない 文字列が出てるのもダメなのかなぁ。
X のコピーはたしかにこれ問題だな。 まぁすぐに直せるだろうけど
なんかビデオプロトコルとしての SDL (つまり X 的な意味で) はうまくいく感じがしないなぁというのは 漠然とずっとあったのだけど、 まぁ要は canvas みたいな API にしてれば良かったんだろうなぁ。
具体的には
の2点あたりかなぁと
SWSURFACE はメモリから VRAM への転送だけやってやれば とりあえず遅くとも動く…というのは素晴らしいので、 ビデオドライバ書く時の共通インフラとしてそのへんがあるのは問題ないとおもう。
(14:40)
http://github.com/shinh/w3m/commit/5e5c4fe9082b1019ab72a11cfb3428f096e61abc
なんとなく実装した
(15:12)
相変わらず grep ビリティの低いコードだにゃーとメモ。
process.c の case RC_ESCAPE: のところから SetEscape を呼んでるようだ。
なんかこの時点で…というかずいぶん早い段階で ^T とかが変換されてる気がするな気のせいかな。
やっぱそうだな。 process.c の Parse
else if (delim != '\'' && *p == '^' && p[1]) { p++; *pp++ = *p == '?' ? '\177' : *p & 0x1f; }
と、このへんでこの手の設定は端末でやればいいか…とか思った。
(03:02)
栓抜き入ってるかなーと思ったが入ってなかった。
http://www.youtube.com/watch?v=CPLb3wBlTyw
を見てしばし挑戦。 そろそろ開けれそうな手応えを感じてきたけど、 腕がつかれた上に紙も枯渇した。
関連動画を見て歯をちょっとチャレンジしてコツがつかめなかったのでやめ。 二の腕でもできるらしいができる気配がない。 女性は胸でもいいらしい。すごい。
http://www.youtube.com/watch?v=V85wleqv8zI
まあ結局机の角で開けたよ。うまい。これかな
http://www.yoshidawines.com/product/120
(12:36)
http://niha28.blogspot.com/2010/04/blog-post_5401.html
よくわからないけど…
なにを作ってるかわからないのでよくわからないし、 何もかも覚えてないしそれ以前にそもそも端末とかよくわかってないけど、
後者はすぐ試せて
i@uco ~> stty -icanon && stty -a | grep canon isig -icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt i@uco ~> stty -a | grep canon isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
とか。
reset とか stty sane って何やってるのかなーと strace してみた。
reset は terminfo 読んで、標準出力と標準エラーに対して ioctl 呼んで、何やら escape sequence を write しまくってという感じぽい。
一方 ioctl の方は標準入力に対して 5 回程度 ioctl 読んでるだけ。
と、このへんまで書いてて気付いたんだけど、 にはさんはこう入力いじってて ls の出力とか出力っぽいとこが 変わってるのはヘンな気が
(13:50)
なんでまた Thinkpad なの…という感じだけど。
AMD Turion Neo X2 L625 Windows 7 Professional 32 11.6型HD液晶(1366x768) AMD M780G with ATI Radeon HD 3200 graphics 4GB PC2-5300 DDR2 250GB 5400rpm 6セルバッテリ Bluetooth ThinkPad b/g/n
で 8 万かあ。やすいなあ。
解像度はもうちょっと高さ欲しいなぁ。
(21:25)
と思ったらこっちの方がだいぶやすいなぁ5万か。
AMD Athlon Neo X2 L325 Windows 7 Home Premium 64 13.3型 (1366x768) ATI Radeon HD 3200 graphics 128MB 2GB DDR2 SDRAM 250GB 5400rpm 4セルバッテリ Bluetooth ThinkPad b/g/n
(22:06)
http://sns.hamatch.jp/bbs/bbs_list.php?root_key=50557&bbs_id=668
なんか知らないけど名前からして面白そう
(23:16)
http://d.hatena.ne.jp/ku-ma-me/20100407/p2
やられた! と思ったけど strict じゃないのかー。 それならまぁたぶん書けると思う。 なんかしょぼしょぼ strict でできないかーと色々考えてたけど 大変そうすぎて大変である。
まぁ ferNANDo よりは簡単な気がするんで id:kikx さんがやっちゃいそう。 というか ferNANDo はなんでできてるか理解できてない。
僕の ModanShogi への意見はラベルがださすぎるくらいかなぁ。 何手目、って情報をラベルにしちゃっていいんじゃないかな、大変になるけど。
あと右とか左に意味があってもいいと思うんだよね。 なんか無駄にデラックスな命令がいいと思う。 「と」と歩の意味を入れ変えておいて、 右があれば X より右のレジスタ全部に Y の値を四則演算するとかにして ベクトル命令サポート済み! とかそういうどうでもいい感じの。 龍と馬は pusha と popa みたいに大量に出し入れすればいいと思う。 飛と角は王と入れ変えておいたら 大量出力命令にできていいんじゃないかな。
命令と駒の割当ては言われてみるとそうかなー。 どういう命令セットだと将棋がらみになるかな?
あとゴルフ場的な見地で言うと 入力が無いのと strict 必須じゃないのが不満かな。 その二つがあれば迷わず入れる。
も入れたいけど英語のドキュメントが無いのと 配布パッケージにサンプルが入ってないのがむぐぐなんですよね。 やっておねがい☆って言ったけどやってくれない :(
エイプリルフールで思い出して色々考えてたのが stack じゃなくて queue がベースになってる言語で、 思い出したのはもちろん
http://www.kmonos.net/wlog/84.html#_0401080401
のことで。
いなばさんのコレの気に入らないことは、 f() が g() を呼んだ時に g に即座に入っちゃうことだと思う。 僕の感覚では f() は g() をコールキューに積むだけ積んで、 f() が終わった後に g() を呼んで欲しい気がする。
つまりこうタスクキューしか無いというかそういう。 普通の関数呼び出しみたいなことをしたければ g(f_tsuzuki_func) みたいな感じで。 これを CPS っていうんですかね。
あるいはキューにこだわらないならば、 タスクキューに積まれたものの実行順を保証しないことにすると、 並列フレンドリーになって良いと思う。 順序保証したい時はチャンネルのやりとりで… とか要は go 付きでしか関数呼び出しできない Go みたいな感じになると思う。
で例のごとく esolangs.org のどうでもいい言語群を見てみると、 こういうカテゴリーがあったりする。
http://esolangs.org/wiki/Category:Queue-based
ざーと眺めた感じでは、
あたりはもうちょっとゆっくり見る価値がありそうな気配を感じたけど、 気のせいかもしれない。
あとはネタ方向に走るなら stack VM も register VM ももう古い! これからは queue VM です! というのもアリだと思う。 想像するに崩壊しか見えないが
_ mootoh [ああ、うちの子も queue VM ですねそういえば。 ]
_ shinh [あータスクばらまく方 (Mol) は queue になるですか。なんか単なる足し算とかはどうなるんですかね。そいうの..]
_ yhara [あと FIFOL http://www.iijlab.net/~ew/fifol.html がキューですね。]
_ shinh [おおなんか(明らかにまともなプログラム書けなさそうという意味で)もろにいい感じですが処理系とか無いんですね…]
_ shinh [おおあるんですねありがとうございます。 http://route477.net/d/?date=20100418#..]
前 | 2025年 9月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
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扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ naruse [gc.cの以下で解放されてませんか case T_REGEXP: if (RANY(ob..]
_ shinh [ああそこなんですね。なんか僕の記憶が確かなら tmpreg なら必ず onig_free するようにいじった場合も、..]