トップ «前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|

ToDo:


2010-01-10

_ WebKit

だらだら書いてみたわけだけど、 同じようなことを GCC とか Emacs とか Xen とか Qemu とか valgrind とか なんでもいいけどまぁ他のプロジェクトであるといいなぁ。

(05:10)

_ stat

stat が遅いということがあって、 長い間こんな ls を使っていた。 要は 2回 ls をして、最初の ls で 500 エントリ以上あると判明したら 色つけたりをやめる。 stat が 500 回とか当時のマシンでは相当キツかったから。 LS は vanilla ls ね。

ls () {
 if [ `LS -B $@ >/dev/stdout >&/dev/null | wc -l ` -le 500 ] ; then
  LS -F --color -B $@
 else
  LS -B $@
 fi
}

今時こんなもん意味あるんだろうか… そもそも dirent の d_type 見てくれたりしてくれんの? ということで strace してみる。 すると見事に stat 呼んでない。 coreutils の ls.c も適当に読んだところ、 たぶん DT_UNKNOWN とかじゃなければ基本 stat 呼ばない気がする。 よってこんなハックもういらない。

どうでもいいけど ls.c のこの if 文は力作すぎる

 if (command_line_arg
     || format_needs_stat
     /* When coloring a directory (we may know the type from
        direct.d_type), we have to stat it in order to indicate
        sticky and/or other-writable attributes.  */
     || (type == directory && print_with_color)
     /* When dereferencing symlinks, the inode and type must come from
        stat, but readdir provides the inode and type of lstat.  */
     || ((print_inode || format_needs_type)
         && (type == symbolic_link || type == unknown)
         && (dereference == DEREF_ALWAYS
             || (command_line_arg && dereference != DEREF_NEVER)
             || color_symlink_as_referent || check_symlink_color))
     /* Command line dereferences are already taken care of by the above
        assertion that the inode number is not yet known.  */
     || (print_inode && inode == NOT_AN_INODE_NUMBER)
     || (format_needs_type
         && (type == unknown || command_line_arg
             /* --indicator-style=classify (aka -F)
                requires that we stat each regular file
                to see if it's executable.  */
             || (type == normal && (indicator_style == classify
                                    /* This is so that --color ends up
                                       highlighting files with these mode
                                       bits set even when options like -F are
                                       not specified.  Note we do a redundant
                                       stat in the very unlikely case where
                                       C_CAP is set but not the others. */
                                    || (print_with_color
                                        && (is_colored (C_EXEC)
                                            || is_colored (C_SETUID)
                                            || is_colored (C_SETGID)
                                            || is_colored (C_CAP)))
                                    )))))
   {

でまぁ NFS なんだけど、 NFS だと結構 DT_UNKNOWN がかえってくるみたいだ。 一見して一回 stat したら cache されて その情報で d_type 埋めてる、って感じかなぁ。 となると worst case で stat 呼びまくるのはさけがたい感じなのかなぁ…

一番うざいのは zsh & nfs でたまに補完がすごい遅いという話で、 zsh はどうも d_type とか気にせず stat 呼びまくってるっぽいんだよなぁ。 コードちょっと読んだけどイマイチよくわからず。 NFS で最悪状況でのパフォーマンスが良くならんとわかったのもあってやる気失せてきた

(22:38)

_

LS -B $@ >/dev/stdout >&/dev/null

ってなんだろう。なんで

LS -B $@ 2>/dev/null

じゃないんだろうか。 まぁ書いたの10年くらい前だろうし shell のシの字くらいもわかってなかったのかもしれず

(22:40)

_ 文字化け

charset セットしてくれてないサイトで WebKit は化けるんだけど、 まぁいいかげん detection ぽいの作ろうと。 どうやればいいのかよくわからんかったのだけど、 とりあえず以下のを Chrome key に読ませたら動いた。 とりあえず牧野先生のところとその他もろもろでそれなりに動くから良しとする。

var CHARSETS = ["Shift_JIS", "EUC-JP", "UTF-8", "ISO-2022-JP"];
var currentCharset = document.charset;
var bestText = '';
var bestScore = 20000;
var bestCharset = currentCharset;

for (var i = 0; CHARSETS[i]; i++) {
  var charset = CHARSETS[i];
  if (charset == currentCharset)
    continue;

  var http = new XMLHttpRequest();
  http.overrideMimeType("text/html; charset=" + charset);
  http.open("GET", location.href, false);
  http.send();

  var text = http.responseText;
  var last = text.length;
  if (last > 10000) last = 10000;
  var bakeCount = 0;
  for (var j = 0; j < last; j++) {
    if (text.charCodeAt(j) == 65533)
      bakeCount++;
  }
  console.log(charset + ": " + bakeCount);

  if (bakeCount == 0) {
    document.body.innerHTML = text;
    document.charset = charset;
    return;
  } else if (bestScore > bakeCount) {
    bestScore = bakeCount;
    bestText = text;
    bestCharset = charset;
  }
}
document.body.innerHTML = bestText;
document.charset = bestCharset;

(23:31)


2010-01-09

_ アンビグラム

http://d.hatena.ne.jp/KeisukeNakano/20100109/1231593647

すごいなー

  • うかんむりがトラ
  • その下 T はタイガース?
  • 田のところがトラ
  • その下の点々はトラでもとらでも読めるかんじかな
    • 点々の左っかわの下のハネは何?
  • ふりがなは上から読んでも下から読んでもとら

(17:06)

_ 汝の馬鹿を愛せよ

http://slashdot.jp/~taro-nishino/journal/497528

これは OSS とかそいうのでは重要な話なんだろうなぁ。 OSS やってたけどつらくなったと言う人は こっち系の話をすることがあるように思って、 そういうのはこの話的には失敗と言えるのかもしれないなぁ。 しかしまぁこういうコミュニケーションを 最初に試みる役目はあんまりしたくないよなぁ…

特に英語はありえん

(17:12)

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

_ reputation management online [&#12381;&#12398;&#12424;&#12358;&#12394;&#24847;&#21619;&#..]


2010-01-08

_ インフルエンザ

かかったらしい。 木曜にしんどくなって 木曜朝の時点で 38 度ちょい。 まぁこのくらいなら熱は慣れててなんてことないけど そうは言ってもしんどいので休む。 バファリン飲んでたけど昼頃とかもどんどんしんどくなっていって 夕方頃には 39 度近くに。

しゃーないので病院に行ったところ、 たぶんインフルエンザだろうと言われつつ検査の結果は陰性。 ただ発熱後24時間以内とかは見つからんもんらしいので それ結局検査の意味あるんかいな…という。 まぁたぶんインフルエンザなのでそう仮定して薬飲むかいということで タミフルとかそのへんをもらう。

夜くらいはまだ熱は増えて深夜の段階で 39.3 。 解熱剤飲んでて 39 度出てるとかやばいなーとか思った。

朝5時くらいには 38.6 とかでだいぶマシに。 そこから飯喰って薬飲んで寝て飯喰って薬飲んで今に至るわけだけど、 37.5 とかでもうすっかり元気。

医者にタミフル飲んでラクになったらインフルエンザだよーと 言われたのでもうほとんど間違いなくそうなんだと思う。 一応病院で検査しなおしてもらって確定させてもいいと思うんだけど、 しかしもう9割方状況証拠あるような状態で病院行って 他の人にうつしたら申し訳ないし まぁラクになっているのでこのまま寝ててもいいかなあ… 他の妙な病気の可能性を消せるってくらいしかメリットないし。

潜伏期間平均2日らしいし新幹線でうつされたんだろうなー。

(21:09)


2009-12-28

_ ぐおお

regression を直したと主張するコミットが chromium のテストを21個壊していたので revert したら webkit のテストが2個壊れてしまったので、 revert が revert されるという微妙に恥ずかしいことに。 最初のコミットした人が休暇中で事情が聞けなかったとか 不幸な事情もあるので言い訳もできるけど、 基本的には完全に僕のミスだなー

なんてこった

(00:07)

_ Mac コネタ集

http://news4vip.livedoor.biz/archives/51433953.html

普通に便利なのが多いなあ特に Ctrl+Opt+Cmd+8 (ウソ)

(03:01)

_ ボードゲーム

ここしばらくやってなかったのだけど、 なんかレアなところから別件で二日連続でお誘いいただいたのでいろいろやった。

はじめてやったもので面白かったのはキングスバーグとドメモかな。 キングスバーグはダメプレイだったけど5人中3位くらいから 最後の最後に6面ダイスで1が出れば勝てる状況になんかなって 1が出て勝ったのが面白かった。 ルールだいたい把握したので次はダメプレイじゃなくできそうなのでまたやりたいな。 ドメモは面白いけど単純すぎて、 全員が慣れてきて状況判断ができるようになっちゃうと 運ゲーになっちゃう感じかもしれない。

あとはやったことあるヤツではスコットランドヤードで MrX やって勝てたのが良かった。 高速進行ということで警官側は割と雑な感じだったのだけど、 それでも行動がだいたい読まれていてある程度の決め打ちがほぼ当たっていて、 大変キツかったけど追いつめられてからのバクチに勝てたので逃げれた。 13時にダブル残せたらそりゃいいけど、 18時まで耐えればだいたいなんとかなるわけで 3,8でダブル使っちゃう展開でも悪くはないなーと思った。 ブラックも18までに全部使っていいね。

(03:49)

_ 俺様が C++0x working draft の…

http://twitter.com/Cryolite/status/6912722284

これは普通に開催されてほしいな

(03:50)


2009-12-23

_ かわせさん

http://shinh.skr.jp/m/?date=20091213#p05

このへんの挑発に乗ってくれたりしたので ぽこぽこ記録を潰してくれて、 さらにそれを潰しかえしたりする状態になって、 とても理想的に近い状態になってくれたのだけど、 ひたすらやっていたら腕がいたい。 しょうがないのでなぜかそのへんに転がっていた湿布をはる。

(04:16)


2009-12-21

_ splay tree

なんかこれよくわからんのは、 なんで一回でルートまで持っていっちゃうのかなーということ。 参照されるたびに splay を 1 step だけやるとかの方が 直感的に(本当に完全に直感だけど)平均的に速そうなイメージがあるのだけど。

ちゃんと調べたらどっかに書いてあるんだろうけど

(01:11)

_ .pro

http://yhara2.blogspot.com/2009/10/pro.html

golfer.pro とか取って Java で import pro.golfer.saru とかやりたいなーとか思ったけど 取られていた

(01:12)

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

_ kinaba [償却時間計算量(最悪な操作列が来た時の平均計算量)を O(log(n)) にしたかったからじゃないかと思ってました。..]

_ shinh [あーなるほど。えーとでもすぷれー木をバランスが一番とれてない状態にするのって大変そうな気がするんですが、えーとそうな..]

_ kinaba [Wikipediaとかにありますが、小さい方から順番に1個1個アクセスしていくと一番崩れた状態になります。わりとよく..]

_ shinh [あーなるほど。 root まで持ってく splay を前提に小さい方から順番にアクセスしていくと悲惨な状態になるのは..]


2009-12-20

_ 1分切り

とりあえずクリアタイムが1分切ってないステージは 相当遅いはずなので適当にアップデートしてまわる。 めんどかったのは

  • F51右 => 4:01.91 どうでもいいところだけどギリギリでつらかった。たぶん最初のリフトで一個先のに乗れるんだろうけど
  • F42 => 4:06.15 ここのタイムアタックは不毛でたのしい。ロスを全部殺せば 4:20 くらいは僕でも出るかなぁ。

F49上とかF51左はできる気がしない。 あとF58とかはどうしようもない感があるけど 最初だけ奇跡的にうまくいけばなんとかなるのかなぁ。

(15:29)

_ SEGVとセキュリチーホール

http://twitter.com/mametter/status/6847358362

密接な関係にあるのはそうなんだろうけど、 具体的に今時の shellcode が何がどうなってるかとか 知らないからどの程度危険なのかとかよくわからんので気になる。

Safari ならいくつか現行で落とせるバグを把握してるんだけど、 そのうちいくつくらいが実際に邪悪なことに使えるのかな

(16:16)


2009-12-18

_ 3年ごしの宿題2

終わった! ついでに色々整理した。 トップページに 257 個 <li> が並んでるサイトってどうかと思うよ! w3m user の僕は便利なんだけどねえ。

さて2つ目は version 情報とか。 これは update で変わりうるので、 直接実行サーバに聞くべき情報なんですよね…

(01:05)


2009-12-17

_ 3年ごしの宿題1

http://d.hatena.ne.jp/shinichiro_h/20070129#1170022534

2年だと思ったら3年だった…

いいかげんユーザごとの統計が欲しい。 さて何が欲しいか!

  • 全言語にわたった全ユーザの単純合計点ランキング
  • 各言語に関して全ユーザの単純合計点ランキング

ユーザのページはなんか JS でできてるからまぁあれでいいか… 良くないかもしれんが…

じゃあとりあえずこの2つか。

(22:59)


2009-12-16

_ 148/148

昨日のりはマシだけど まぁ休める日に休んどかんと回復する気配がないということで 会社休んで適当に build sheriff とかやりつつ F57 終了。

上は簡単だと主張してたけど7回くらいは上で死んだね。 まぁでもクリアタイム45分程度だったので まぁわりとさっくりだった。

リュック取ってないとかひどいなーと思いつつ F49 やったら奇跡が起きて一回で渡れた。 他のステージにも4つくらい取り残しリュックがあったことに 驚いたけどまぁ全回収。

ついでにイカと戦ってたら全捕獲できたので コレクション系のは全部そろった。 イカは F40 で戦うべきのようだった。 3回目出現時に自分に即座に当たってくるイカがいなくて、 出現個所にルアー連打で2匹程度回収できるパターンを なんでもいいから作ればやりやすいみたいだった。

(23:09)


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
1.tekezo(2014-05-24 03:52) 2.shinh(2014-05-24 03:52) 3.tekezo(2014-05-24 03:52)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h