トップ «前10日分 最新 次10日分» 追記

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|07|08|09|

ToDo:


2010-04-21

_ twitter

http://www.atmarkit.co.jp/news/201004/19/twitter.html

なんか意外と普通だなぁ。

twitter って planet wide にはなってるのかな。 キャッシュはそこらに適当にあるけど データ自体はアメリカだけーというのを予想。

http://q.hatena.ne.jp/1256635527

このへんを見るに

  • fan out されたポストはリングバッファ的な空間に
    • これは最近のつぶやき数*フォロワー数な感じのオーダーで大きくなるのでユーザごとの空間は狭め
    • ここが TL のページ数の限界は 40 ってのを決めてる感じかなぁ
  • リングバッファの量越えると時系列のパーティションに切られた空間を見ていく
    • こっちもどっかの時点で捨てられて行ってる
    • ここで一人のつぶやきは 3200 残す感じで
    • つーことはこっちは TL とかには使わないってことかね
  • データは元々あったシンプルなつぶやきIDをキーかつパーティションに使ってる DB に残ってるので permalink は残る

とかかなー

(08:40)

_

あ、普通ってのは fan out あたりの話を読んだ感想。 時系列のパーティションとかはなるほどなーと思った。

ユーザごとにパーティション切ってるとして こう一緒の TL によく出てくるソーシャルグラフの距離が 近い人は同じパーティションに行きやすい かっこいい分散データ構造があって…とか妄想したけど fan out 的なことしていいならそんなことする必要ないなーと

(08:46)

_ 並列処理

なんか会社入った時に、 ビルドとかデータ生成とかの待ち時間とか結構長いとかいう文脈で、 仕事の方を並列にするといいとか聞いて感心して、 実際3並列くらいまでは結構やれるような感じがしてる気がする。

つまりたぶんシングルコアで HT が入ってて、 後は IO 待ちとかあるから make -j は 見えてる CPU の数 + 1 くらいにするから… とかいう感じで 3 並列くらいなんだろうか。

で問題はちょっと最近 3 じゃ効かない感じがしていて、 どうにも頭がぼんやりしてる日の作業効率が悪い気がする。

今日はそれなりによかったのでメモっておこう

(22:31)

_ メモ

  • flexbox がネストしてる件 (1)

最初は 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 つ必要か。 修正はこれどうなるんだろうね

  • yen sign

とりあえず一番問題なコピペは land

gtk の test failure は修正した。単に gtk が悪い

chromium-win は謎。 transform でおかしくなってるあたり明らかに僕が悪そうだけど、うーん。 あ、 capitalize や変更が起きないケースでも試してみた方がよさげ (0)

あとは

    • font based transcoding (3)
    • for all japanese encodings (2)
    • find (4)

あたり

  • <button> の default padding (2)

修正は一瞬だけど議論が必要なので早く考えた方がいい

個人的には修正したくない、が

するとしたら -webkit-focus-inner もやる必要があるんだろうなあ…

  • setPrinting

待ち

png の方を調整するくらいなら今でもできるが (2)

  • margin rendering (2)

実装は大変そうだけど、考えるのはとりあえず早めにやれると良い

  • new-run-webkit-tests (2)

せっかくいじったんだからテスト書くといい

  • calc (5)

絶賛放置されている

  • glog (2)

絶賛放置されている

プライオリティつけてみたが (2) ばっかでどうしようもない。 (2) くらいは GW までとかに終わってるといいんだけど

(22:49)


2010-04-18

_ てすと

てすと

(02:47)

_ leaks

ひさしぶりに 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)

本日のツッコミ(全2件) [ツッコミを入れる]

_ naruse [gc.cの以下で解放されてませんか case T_REGEXP: if (RANY(ob..]

_ shinh [ああそこなんですね。なんか僕の記憶が確かなら tmpreg なら必ず onig_free するようにいじった場合も、..]


2010-04-17

_ 日本なう

なんか今回はビジネスクラスというのに乗ってみた。 実際サービスはいいと思う…というか 10万単位の金払ってるんだからこれくらい 全員にやってもいいんじゃねーとか思った。

僕の感覚では 20 万程度という差額の価値はどこにも無くて、 そうなってくると会社に払わせるとしても 貧乏症的にはちょっと微妙な感じではあるなーという感じだった。

帰りになんか火山がどうこうでどっかの線が止まってるらしいとか聞いたんだけど、 実際 kmizu さんが被害にあっていた… がんばってください

http://twitter.com/kmizu/status/12284574428

今回のメインの出張理由は webkit contributor meeting とかいうのに行くことだったのだけど、 まぁそれについてはまたなんか書いてもいい気もする… けど普段から webkit な感じな人でもないと無価値な感じの話な気がする。 JS engine くらいかなぁ。

_ screen

http://niha28.blogspot.com/2010/04/screen.html

みたかんじ screen-devel でいいんじゃないでしょうかと思いました。

http://lists.gnu.org/archive/html/screen-devel/2010-04/threads.html

GNU ってある程度以上長いパッチは書面送る必要あるらしいけど 今でもそういうのあるのかな

_ amazon.com

http://www.amazon.com/gp/product/B00342PJ5M/

が欲しいなーと思ったけど海外発送できないみたいだ。

向こうにいる間に買っときゃ良かったか。

日本で売ってるものに比べて

  • 4セル=>6セル
  • 英語配列
  • Windows 7 professional
  • RAM 2GB=>3GB

というメリットがあるみたいだ

_ gc_book_tkb

面白そうなのがあったみたいだ。

http://atnd.org/events/3616

次は日本で!!

_ URLバー

http://code.google.com/p/chromium/issues/detail?id=41467

楽しいことになってるみたいだ。

たぶん http:// が無くなってすごくうれしいという人はいないだろうし、 無くなってむかついてる人ばかりがこのバグを見つけるわけで、 となるとわざわざ味方してくれる人とかいなくて大変そうだなー

RFC 3986 に違反してると言ってる人は URLバーに日本語ある場合に %-encode されてない 文字列が出てるのもダメなのかなぁ。

X のコピーはたしかにこれ問題だな。 まぁすぐに直せるだろうけど

本日のツッコミ(全2件) [ツッコミを入れる]

_ rui [買っときましょうかそれ。]

_ shinh [ありがとうございます。でもあきらかに輸送が手間なのでいいです。]


2010-04-16

_ capital

次に覚えるべきはこれかなー

http://www.sporcle.com/games/worldcapitals.php


2010-04-15

_ ゴルフ場で発見されたバグ

らしい。

http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=27339

(23:27)


2010-04-14

_ SDL

なんかビデオプロトコルとしての SDL (つまり X 的な意味で) はうまくいく感じがしないなぁというのは 漠然とずっとあったのだけど、 まぁ要は canvas みたいな API にしてれば良かったんだろうなぁ。

具体的には

  • 線をひくとか丸をかく、拡大とか回転とかいう API は必要
  • SDL_Surface::pixels は露出させちゃいけない。 SDL_LockSurface が pixels 返すとかで良かったんじゃないかなぁ

の2点あたりかなぁと

SWSURFACE はメモリから VRAM への転送だけやってやれば とりあえず遅くとも動く…というのは素晴らしいので、 ビデオドライバ書く時の共通インフラとしてそのへんがあるのは問題ないとおもう。

(14:40)

_ <meta charset>

http://github.com/shinh/w3m/commit/5e5c4fe9082b1019ab72a11cfb3428f096e61abc

なんとなく実装した

(15:12)


2010-04-12

_ screen

相変わらず 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

よくわからないけど…

なにを作ってるかわからないのでよくわからないし、 何もかも覚えてないしそれ以前にそもそも端末とかよくわかってないけど、

  • setsid したら tty との関係って切れちゃうんじゃ
  • -icanon は zsh が戻しちゃうという話を聞いた(がまぁ screen 的なレイヤなら関係なさげ)

後者はすぐ試せて

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)

_ x100e

なんでまた 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 万かあ。やすいなあ。

  • AMD Turion というのはなんかモバイルのほげほげで Core 2 Duo 程度のものと思えばいいようだ
  • Windows 7 使ってみたかった
    • でも coLinux が大変みたいだ、でも Virtual PC がデフォで使えるらしいから問題ないのかな
    • RoN は 7 でも動くらしいから問題ないと思われる
  • なにやら GPU が良いのは良い
  • メモリ多いのは正義
  • たぶん 1.5kg くらい?

解像度はもうちょっと高さ欲しいなぁ。

(21:25)

_ Edge 13''

と思ったらこっちの方がだいぶやすいなぁ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
  • CPU はちょっと安い方だけどまぁどうでもいい
  • Windows 7 Home は Virtual PC 使えるんだっけ
  • 64bit というのはどうなんだろう
  • 128MB って書いてあるってことはグラフィックチップはちょいしょぼい版かね
  • 2GB から増やせない。ただスロットは空いてる
  • 6セル→4セル

(22:06)

本日のツッコミ(全1件) [ツッコミを入れる]

_ niha [ls とか狂ったのは new = orig みたいなことをしてなかったためでした。setsid() は全然関係なかっ..]


2010-04-11

_ ケータイ鬼ごっこ

http://sns.hamatch.jp/bbs/bbs_list.php?root_key=50557&bbs_id=668

なんか知らないけど名前からして面白そう

(23:16)

_ codegolf.com

本当に死んでる気がする。

これは第二回追悼をやってもいいかもしれない。 一周忌でも可

(23:18)


2010-04-10

_ WebKit2

WebKit2 という名前から想像されるほど過激なものではないようだ。

(13:54)


2010-04-08

_ quine.modanshogi

http://d.hatena.ne.jp/ku-ma-me/20100407/p2

やられた! と思ったけど strict じゃないのかー。 それならまぁたぶん書けると思う。 なんかしょぼしょぼ strict でできないかーと色々考えてたけど 大変そうすぎて大変である。

まぁ ferNANDo よりは簡単な気がするんで id:kikx さんがやっちゃいそう。 というか ferNANDo はなんでできてるか理解できてない。

僕の ModanShogi への意見はラベルがださすぎるくらいかなぁ。 何手目、って情報をラベルにしちゃっていいんじゃないかな、大変になるけど。

あと右とか左に意味があってもいいと思うんだよね。 なんか無駄にデラックスな命令がいいと思う。 「と」と歩の意味を入れ変えておいて、 右があれば X より右のレジスタ全部に Y の値を四則演算するとかにして ベクトル命令サポート済み! とかそういうどうでもいい感じの。 龍と馬は pusha と popa みたいに大量に出し入れすればいいと思う。 飛と角は王と入れ変えておいたら 大量出力命令にできていいんじゃないかな。

命令と駒の割当ては言われてみるとそうかなー。 どういう命令セットだと将棋がらみになるかな?

あとゴルフ場的な見地で言うと 入力が無いのと strict 必須じゃないのが不満かな。 その二つがあれば迷わず入れる。

_ Super Nand Time

http://plapla.tk/s/dm/snt/

も入れたいけど英語のドキュメントが無いのと 配布パッケージにサンプルが入ってないのがむぐぐなんですよね。 やっておねがい☆って言ったけどやってくれない :(

_ Queue machine

エイプリルフールで思い出して色々考えてたのが 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 です! というのもアリだと思う。 想像するに崩壊しか見えないが

本日のツッコミ(全6件) [ツッコミを入れる]

Before...

_ 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
1.naruse(2014-05-24 05:33) 2.kosaki(2014-05-24 05:33) 3.shinh(2014-05-24 05:33)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h