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

ToDo:


2009-04-04

_ Firefox

fsync を LD_PRELOAD で殺すとどうか、 という話になって殺してみたら結構良くなった気がする。 というか計測してみると fsync に40秒以上かかっていたりする。 ただ fsync しなくなるということは クッキーとかそのへんのデータがぶっこわれて起動しなくなるとかはありそうだから、 .mozilla バックアップはしておいたほうがいいだろうなぁ。

(00:53)

_ TODO

  • TCC
    • chaintest を通す
    • sotest を通す
    • tcc -run をなんとか
    • PLT for 32bit? (これは PIC じゃねーから大変かなぁ…)
  • bfx
  • ada
  • grub
  • マラソンをやれという指令を受けた
  • kevil はなんかたまにデータがおかしい
  • thread fest のコード読む
  • ゴルフ場の Brainfuck
  • ゴルフ場

TCC はなんか Lua が動かねーよということだったので ちょこちょこ修正したら動くようになった。

(03:18)

_ あと

メールを書く。たぶん2つ。

(03:26)

_ あと

  • GPS

(03:45)

_ 常時接続じゃない android で

自分の移動を記録するのに良いアプリはあるのかなぁ。 まあ自分で作ってもいいんだけど…

(16:46)

_ テストが欲しい

ちゃんとありとあらゆるパターンのテストをやるべきだと思うんだよな。 たぶん必要なのは、 lib.c と main.c を用意して、

  • main.c が lib.c の関数を呼ぶ
  • main.c が lib.c の変数を参照する
  • lib.c が main.c の関数を呼ぶ
  • lib.c が main.c の変数を参照する

の4種類がきちんと動いてるか確認した上で、

  • main.c => main.o を GCC / TCC
  • lib.c => lib.o を GCC / TCC
  • lib.o => lib.so を GCC / TCC
  • lib.so + main.o => a.out を GCC / TCC

の16通りのパターンで生成してチェックしたいと思う。 あとおまけとして lib.o main.o から作るケースも欲しいから、 そっちもあわせると 24 通りかねえ。

(17:54)

_ Intolerance by ミク

http://www.nicovideo.jp/watch/sm1273914

いいねえ。 ボーカルってよりはやっぱ楽器なんだよなぁ的な。 ミク製のゲームミュージックとか適当に探してみる。

http://www.nicovideo.jp/watch/sm1254297

http://www.nicovideo.jp/mylist/3531264

akita

(18:42)

_ LD_LIBRARY_PATH を引き継いで gdb を起動

https://developer.mozilla.org/ja/Debugging_Mozilla_on_Linux_FAQ#GDB_.e3.81.ae_.22run.22_.e3.82.84_.22prun.22_.e3.81.8c_.22error_in_loading_shared_libraries.22_.e3.82.92.e5.90.90.e3.81.84.e3.81.a6.e5.a4.b1.e6.95.97.e3.81.97.e3.81.be.e3.81.99.e3.80.82

なんかできねーなーと思ってたんだけど、 SHELL が /bin/zsh なのが悪いぽい。

% LD_LIBRARY_PATH=. SHELL=/bin/sh gdb ./main_gcc_tcc

などで解決

(21:07)

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

_ kosaki [ext3のordered modeはなにせorderedなので、fsyncよりも前に発行された全IOの書き出しを待つ..]

_ shinh [suck by design ですねえ… ext4 とかだと良くなってたりするんでしょうか。それか XFD とか R..]

_ kosaki [Ted Tso 曰くext4にこの問題はないそうです。ただ、アプリ屋さんはあと3年ぐらいはext3を無視するわけには..]

_ shinh [なるほど。 ext4 に移行してデータがなんかおかしくなるかもな確率は低いけどダメージが大きいリスクと、 fsync..]


2009-04-02

_ 熱が

37.6 。 減ったり増えたりを繰り返すなぁとか思ってたけど、 むしろまた積極的に増えてるなぁ。

(00:06)

_ サンドボックス

http://b.hatena.ne.jp/entry/http://blog.livedoor.jp/dankogai/archives/51190474.html

ネットワーク使えちゃうのが仕様、 っていうのは(いやライブラリ使うのが目的だというのはわかるけど) ちょっとそれどうなのよと思うなぁ… 自由に使える DOS の踏み台でしかない気が。

sandbox 自体は system call の回数が出てるし ptrace かな。

(00:09)

_ Brain Search

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

を見て、僕の欲しいものは Brain Search と Room Search であるとか 思ってたら Brain Search の方は 4.1 ネタとして出た。

http://www.google.com/mobile/default/brainsearch.html

(00:18)

_ あと

spysee のあの人は誰なんだというのは長い間疑問だったんだけど、 昨日画像をクリックしてみたら読めない言語のサイトが出てきて、 そこになんか shinh という文字列があったので疑問が解消した。

次の疑問は spysee は言語の検出もしてないんだろうかという。

(00:26)

_ fsync

https://bugzilla.mozilla.org/show_bug.cgi?id=421482

via http://mkosaki.blog46.fc2.com/blog-entry-861.html

そんなもんが悪かったのかー!

人生短いから読んでないけど、 この症状はしょっちゅう見るというか あまりにもどうしようもないので会社では linux の firefox 捨てた。

(01:03)


2009-04-01

_ 趣味は女装

http://spysee.jp/shinh

(12:35)


2009-03-31

_ m32 ruby 1.9.0-1

http://shinh.skr.jp/m/?date=20080525#p03

の時の手順でできないな。

extconf.rb 実行した時に bigdecimal でこける。 なんかよく見ると昔は手元の libruby をリンクしようとしてなかったのだけど、 今はしようとしていて、 CFLAGS の -m32 をひきつがないから、 って感じっぽい。

lib/mkmf.rb がどう CFLAGS を扱っているか… なんてことは深追いする体力もないしやめることに。

(01:10)

_ C++

http://niha.tumblr.com/post/91457096/c

途中で cpp_akira さんは compile time の速度の話、 Cryolite さんは run time の話をしてるような気がするチックな。

compile time 減らす系の最適化は まぁ compiler が知っとくしかないよなぁ。

あとまぁなんにせよそんなところよりは お墨付とかインストールいらないとかの方が 圧倒的に強い気がする。

(19:16)

_ 感想など

http://shinh.skr.jp/h/?HackTheCellPostMortem

なんか集めた方がいいかなーとか思ってたけど、 勝手に上げてくれてる人もいるし、めんどくさいし、 とりあえず適当にリンクとか足しておいた。 足し忘れなどありそうなので なんかある人は足していただけると幸い。

あとなんか感想としてはみんなすごいなぁというのが多くて まぁいつも思うことではあるけど今回は特に思ったなぁ。 比較的属性が共通しててでも違う仕事してる人が 多い感じだったのが良かったなぁと思う。

(20:48)

_ PLT

とりあえず現状で git push 。 今週末くらいにはなんとかしたいね。

今日わかったことは R_X86_64_GOTPCREL というのは shared object で -fPIC な時に必要だということと、 i386 だと rip 相対無いから R_386_GOTPC になるわけだけど、 PC 取ってくるのがあら大変ということを再確認というか

(22:44)

_ 詳しくは

http://d.hatena.ne.jp/yupo5656/20060907/p1

のへんをどうぞ。この手の単語 (R_X86_64_GOTPCREL) は検索で来たりする人がたまにいたりするので… 俺とか俺とか…。

(22:49)

_ C コンパイラツールチェーンから見た x86-64

とかそろそろヨタ話ができそうなくらい どうでもいい知識が溜まってきた気がする。

  • 基本 - あの頃はよかった
    • レジスタいっぱい、無限のメモリ空間
    • さらばx87 / こんにちはSSE
    • long long の実装が自明!
  • code generator
    • 少し不穏な REX プレフィクス
    • あら sizeof(void*) が違うのね
  • ABI地獄
    • 入れ替わる引数
    • あらレジスタどこいったの
    • 可変長引数と向きあう
    • よみがえるx87
  • ELF64
    • RIP相対のありがたさ
    • 広すぎて R_X86_64_PC32 が全然届かない→そうだ PLT を使おう
      • rel => rela
    • 広すぎて R_X86_64_32 がもっと全然届かない→そうだ PIC を吐こう
  • tcc -run
    • 何もかもが届かなすぎる

(23:31)

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

_ intro [PostMortem ありがとうございました!src 置く場所がなかったんで、適当にブログ始めてみましたw&リンク貼..]

_ shinh [おお、わざわざはてな始めてまで感想書いていただいてありがとうございます! こちらこそありがたい話を色々聞けてたのしか..]

_ calgary social media marketing [そのような意味&#..]


2009-03-29

_ hack the cell post mortem の感想

http://shinh.skr.jp/h/?HackTheCellPostMortem

とりあえず、みんな、 「おおこんなこと思いついて俺 SUGEEE って思った瞬間があったけど、 数日経つとなんだ当たり前じゃんねと思い、 kik さんの説明を見るとああ俺はどうしようもなかったんだな…」 と思うというようなあたりの意識を共有できたかと思う。

まあでも kik さんも時間は湯水のごとく使ってるぽいんだよなぁ。 そのへん次回は彼の2倍程度は時間を使うことで対処したいと思う。

といいつつ、 hack the cell は期間が長いから有給取ってないんだよな。 なんていうか、趣味のプログラムに時間を溶かすことが 完全に習慣になっている人間としては、 3ヶ月から数百時間かそこら捻出することは造作もないことなんだよなぁと。 マラソンとか TLE とか ICFPPC くらい短いとそうもいかんわけだけど。

謎めき系

http://0xcc.net/pub/shibuyapm4/0006.html

について

http://www.f13g.com/?blog

の人に説明したところそれはお前のことだろと指摘されました。 件のプレゼンは現物では見てないけど僕の人生の指針となっていて、 これらの類型にはとてもなりたくない気がするので、 なるべく不明な点が無いように書いてみようと思うのであった。

とりあえず、 ^q-^m とかすると メモモードというかメールを書くモードになるのだけど、 これでまず subject を書くのが問題なんだよなぁ。 subject って途中か最後に書くべきもんだよね本来はたぶん。

いやでもね、

http://shinh.skr.jp/m/?date=20060518#p03

によると大々的に公開することに抵抗があるような 私的なメモであるというような位置付けが書いてあるわけだよね。

実際これを書く前の1年くらいは完全にどこからもリンクはってなかったんだけど、 リファラ経由でぐぐる様が来たりしてヒキコモリ体制が崩れていったんだよなたしか。

まあ僕がちゃんと書くことに関してメリットを感じればちゃんと書くかもですが、 あんま感じなければいい加減に書くのでそのへんは適当に。 気になったことについてのコメントとかはしていただけるとすごい嬉しいです。

ああそいえば今日も思ったんだけど、みんな質問しないよなぁ的な。 俺だけわかってなかったら申し訳ないなーとか思ってしまうので みんな聞いてくれるといいのにとか思うよね。 「何言ってるかわからん」とか質問の体をなしてない僕の質問に 丁寧に答えてくれた kik さんには感謝感謝でした。

あとまあ fixstars のみなさんは色々もう感謝感謝としか言いようがない感じでした。 感謝感謝。

(00:23)

_ so => main

8e5:   48 8b 05 6c 03 20 00    mov    0x20036c(%rip),%rax        # 200c58 <_DYNAMIC+0x1c0>
8ec:   8b 00                   mov    (%rax),%eax
8ee:   c9                      leaveq
8ef:   c3                      retq

が正しくて、

75e:   8b 05 9c f8 ff ff       mov    -0x764(%rip),%eax        # 0 <call_gmon_start-0x680>
764:   e9 00 00 00 00          jmpq   769 <var_main+0x40>
769:   c9                      leaveq
76a:   c3                      retq

はまぁ色々おかしい。 やっぱ fPIC 的なのが無いと イマイチだなあ。 まあどうしても一段はませる感じにはなってしまうか

(15:54)


2009-03-28

_ 出身校

http://www.shimamoto-ele04.ed.jp/syokuin_zidou_top/syokuinkousei.htm

ふと目に入ったのだけど、 人数少なくね… 1学年100人くらいはいたように思うのだけど。

(11:51)

_ エグゼリカ

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20090326#p02

出てるのかあ。 買ってみようかなぁと思うけどPS2もテレビも崩壊してるなあ。

(12:27)


2009-03-26

_ 微熱

えらいしんどい。スライドとか作れるかなー

(19:11)

_ 16

http://d.hatena.ne.jp/sugyan/20090326/1238007478

via http://d.hatena.ne.jp/kazuhooku/20090326/1238045916

末尾の空白がイヤなら

@s=("%02X")x16;printf"@s\n"x16,0..255;

で良いと思う。

なんかもちょい縮みそうな気はするけど Perl むつかしいな

(19:39)

_ 汝は人狼なりや

しんどくて思考ができないけど 寝れないので新都社のマンガを適当に見てみる。 面白いの見つけた。

http://puripeni.web.fc2.com/index.html

人狼としてはまぁどうだろう、 実際の名ログとかの方がはるかに面白いという感じだけど、 途中から脈絡もなく踊ったりしてるのが面白すぎる。

(23:10)


2009-03-25

_ なんか

http://longlong.way-nifty.com/blog/2009/03/700-c9db.html

もし良ければ軽く書いていただけるとありがたいかなぁと思います。

僕が最初に60倍ちょい越えの人がやってそうな工夫を 一通り紹介してみようかと思いますので、 基本的な工夫はナシですごい部分だけ書いてもらう感じでどうかな、と。

http://shinh.skr.jp/h/?HackTheCellPostMortem

↑適当にこんな話をしてもらえればいいかなーと 妄想で「何をするか」の欄を更新しておきました。 あと、現場はプロジェクタはあるそうです。

(01:42)

_ ええと…

LLVM勉強会は遅れていって yarv2llvm から。

http://d.hatena.ne.jp/miura1729/20090323/1237779835

大変面白かったんだけど、 なんか色々ヘンにつっこんでしまった気がした。 疑問をすぐ聞いてたら なんかあら探しチックになってしまった感じで申し訳なかった。

Clang はまぁ案外面白いことやってるんだなぁとか思った。 tccparser とかもそうだけど、 C コンパイラライブラリって かなり長い間欲しかった感じがするんだけど、 というかそいうのがしたくて binary 2.0 なんちゃらとかで発表したりしたんだけど、 最近あんま興味ないんだよな。

SWIG生成なんかは超実用的だと思うし、 GCCXML 使った cableswig とか実際にあるわけだけど、 こうなんか現実的になりすぎちゃってねえという無いものねだり感が。 GCC plugin branch vs GCCXML vs Clang vs Doxygen とか オルタナティブも色々ある感じだしねえ。

あと LLVM 自体も類似技術との対決は面白いかも。 LLVM vs C-- vs TCG vs ... とかね。

呑み会は他に外せないのがあったので参加できず

(02:19)

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

_ kodera [ああやっぱり、20人ともなると多少は何かあった方が良いですよね。 簡単にパワポでも用意しときます。すごい部分とか言う..]

_ shinh [ええ、結構時間も長いし、意外と話題も多そうですし、なんか資料的なのはあった方がいいかなぁと。 kik さんには頼んで..]

_ kik [プレゼン形式になってない文書はもうたくさん書いたので 新規で作るのめんどくさいんですが ホワイトボードはありますか?]

_ shinh [あ、はい、あれだけあればあの pdf で十分ではないかと思います。ホワイトボードは…まぁあるんじゃないでしょうかと思..]

_ wo [ホワイトボードはあります]


2009-03-22

_ わーぷ

普通に log(n) 回の行列計算でいけるかなーとか思ったら kik さんが書いてた上に諦めていた。

http://d.hatena.ne.jp/kikx/20090321#1237632002

でぱっと見 kodera さんのがそれ実際にやってる感じに見えるけど、 えーと違うのかな。

http://longlong.way-nifty.com/blog/2009/03/hack-the-cell-0.html

なんか違う気がした。

ああそうか、たぶん、分割数が 4 なら、

  • 0...624, 4*624...5*624, 8*624...9*624, ...
  • 624...2*624, 5*624...6*624, 9*624...10*624, ...
  • 2*624...3*624, 6*624...7*624, 10*624...11*624, ...
  • 3*624...4*624, 7*624...8*624, 11*624...12*624, ...

と担当すればいいって話か。 ただこれは mt の更新行列がそれなりに複雑になっちゃうだろうから、 log(n) べき乗ができるならそっちの方が良さそうだなぁ。

次元の3乗のオーダーを log(n) 回ってそんなに大きくないんじゃないかな… とか思ったけど、 20000次元**3 を 128 並列でできるので、 62ギガ単位の話。 積和命令とかあった気がするし 62G clock でいけるの? よーわからんけど悪くて 124G clock だろう。 8コア使うって前提の話なので、 15G clock か。 今回の mt_kadai のサンプルくらいだと現実的じゃないけど、 もっと激しく大きければ案外いけるくらい?

眠いので根本的に色々まちがっていそうだ。

(03:00)

_ あと

まあこの手のは基本的にはパズルでしかないので cell 自体の経験はあんま関係ないんじゃないかなぁ。

  • bitslice: 思いつき勝負
  • うまく命令数減らす: kikさんは天才
  • アセンブリ: __asm__ を書いたことがあるか、命令スケジューリングをある程度自動化する程度のプログラムを書けるか
  • spu-gcc とうまくつきあう: 基本的には try-and-error しか無い?

あたりがどっちかというとメインだった気がする。 even-odd の量をうまく散らすとかは重要だけど、 命令数たいして多くないから おおまかに把握するのにそんなに時間はかからないしなあ。 命令をうまく使って命令数減らすのも重要っちゃ重要だけど kik さん以外はたくさん減るのは見つけてない感じだよねたぶん。

一方 x86 とか経験がすごい生きそうだよなぁ。 herumi さんに勝てる気とか全然しない。

と書いてみて x86-64 でこいうコンテストとかも 割と面白いかもなーとか思った。 Core 2 Duo あたりで。 僕自信は勝負になる気がしないが。 誰かやらんかな。

(03:15)

_ こう

分割数が 8 として、 num_rand が 8*10**7 だとして、 800 程度進める行列を普通に(log(n)とか考えずに)作るのは たぶん 640000 回ループ回す程度のコストでできて、

  • 0...100, 800...900, 1600...1700, ...
  • 100...200, 900...1000, ...
  • 200...300, ...
  • ...
  • 700...800, ...

とかいう感じで分割すれば、 通常のループを 10**7 回と、 800 進める行列を 10**5 回かける時間で計算できるんじゃないかなぁ。 そしたら 10**7 回のループが律速な感じだから だいたい 8 倍になってる気がするなぁ、 とか思ったけど定かではない。

(03:30)

_ つか

これで8倍になるんだったら SIMD ったら shufb, selb, rotqw* あたりが消えたりするのかな。 というかそれが

http://pc11.2ch.net/test/read.cgi/tech/1232817361/581

が言っていたことか。やっとわかった。

shufb とかも減れば odd も減りそうだけど、どうなんかな。 だとすると SPU 1個でももっとフザけた倍率出たりするのかな?

(03:37)

_ メアド

http://d.hatena.ne.jp/firewood/20090322/1237659723

いいかげんな正規表現がそれなりに有効というのはとても同意… 元の正規表現で実用上一番問題なのはプラスが入ってないこと、かなぁ?

とかはいいとして、

http://blog.livedoor.jp/dankogai/archives/51189905.html

の From: Anonymous <nobody@example.com> を Perl の正規表現ならできる…っていうのは 実物がもしあるんなら見てみたいな。 自分では全然知らんけど、聞きかじった知識を元に考えると大変そうで、 結構とんでもないことになってそう。

(04:27)


2009-03-21

_ うえ

http://twitter.com/pi8027/statuses/1359594979

あまりいい趣味じゃないなぁと思ってしまうので…

(12:35)

_ DSO

とりあえずやらにゃならなさそうなのは、

  • PLT を作る
  • R_X86_64_32 のハンドルがおかしいから GCC の生成したコードから DSO 作れない
  • R_X86_64_32S って何?

あたりか。

(12:51)


2025年
7月
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.shinh(2014-05-24 10:42) 2.団子厨(2014-05-24 10:42) 3.shinh(2014-05-24 10:42)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h