I have tried FriendFeed yesterday. That is said as the next monster coming from SXSW.

friendfeed_com_settings_recommended.png

I have got the impression that it is almost meta-twitter. It is like to Soup.io. So to say it is better Soup.io that is enabling us to import the friendship network from other services.

At any rate, I recommend you to create an account if you care about your identity of nickname even if you have no plan to use this service.

Incidentally, my friendfeed ID is genki. My page is here. Feel free to subscribe it :-)

posted by Png takiuchi on Sat 15 Mar 2008 at 13:27

Twitterのtrack機能を使っていくつかのキーワードをtrackしているのですが、 昨晩、急に「ruby」を含む通知が激増したので、なんだろうと思って調べてみました。 その原因はこれでした。

StrawPoll-Tiny polls in 140 characters or less

strawpollnow_com.png

Twitterを使った投票サービスが、PHP vs Rubyで投票をやっていたようです。 なるほどねぇ。

posted by Png genki on Sat 15 Mar 2008 at 12:50

Railsアプリを書いてる場合はあまり関係ないですが、 セグメンテーションエラー(SEGV)などに遭遇した場合に、 原因を調査する方法を紹介します。

まずは、coreを吐かせるためにulimitの設定をします。

   1  % ulimit -c
   2  0
   3  % ulimit -c unlimited
   4  % ulimit -c
   5  unlimited

ulimit -cが0になっている場合は、coreを吐かないので、 適当な値を設定するか、unlimitedにします。

あとは、プログラムを実行してランタイムエラーを引き起こし、 coreファイルを出力させます。

   1  % ./command
   2  zsh: segmentation fault (core dumped)  ./command

さて、今度はgdbの出番です。 gdbは対話型のデバッガです。 以下のように、gdbにオプションを指定して起動します。

   1  % gdb ./command --core=./core
   2  
   3   .. snip ..
   4  
   5  Core was generated by `./command'.
   6  Program terminated with signal 11, Segmentation fault.
   7  #0  0x08048a43 in vec_sub (a=0x804e248, b=0xbfa9e720) at vec.c:124
   8  124         const __m128 t_vec5 = (*a) ;
   9  (gdb) 

すると、上記のように対話セッションが開始されます。 あとは、表示された内容や、gdbのコマンドを使って原因を解析すればOKです。 例えば上記の出力の例では、aのアドレスが16バイト境界に乗っていないのが 原因であることが推察できます。

ソースコードが手元にある場合は、gccに-gオプションをつけてコンパイル することで、lコマンドによって以下のようにエラーが発生した場所の周辺の ソースコードを見たりすることができるようになります。

   1  (gdb) l
   2  119         return t_vec3 ;
   3  120     }
   4  121
   5  122     __m128 vec_sub (const __m128 * a, const __m128 * b)
   6  123     {
   7  124         const __m128 t_vec5 = (*a) ;
   8  125         const __m128 t_vec4 = (*b) ;
   9  126         const __m128 t_vec6  =  _mm_sub_ps( t_vec5 ,  t_vec4  ) ;
  10  127         return t_vec6 ;
  11  128     }

gdbを終了する場合は、qコマンドを実行します。

posted by Png genki on Sat 15 Mar 2008 at 00:30
Contents
Can FriendFeed act as meta-twitter?
StrawPoll: Twitterによる投票サービス
ダンプされたcoreを元にエラー原因を解析する方法
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
KingofSmack: Here also good reads for this mobile applicatio... '14-5
Spencer: You don't have to re-compile it, this version w... '14-4
staiano: Any chance we can get a recompile for 10.9? '14-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ