K.Sasada's Home Page

Diary - 2006 September

研究日記

長月

_30(Sat)

やっと帝都。

_29(Fri)

うーむ、ヤバイ。


http://www.shudo.net/diary/2006sep.html#20060928 http://kwmr.vox.com/library/post/%E5%A2%97%E4%BA%95%E3%81%95%E3%82%93-apple-%E3%81%B8.html

うはー、マジっすか! うわー。

インタビュー出来てよかった。紹介してくださったたださん、ありがとうございました。

ううむ、いつまでも10Fに居ると思ったら大間違いだ。


ううん、俺何してるんだろう。悲しくなってくる。

なんというか、とりあえず勉強しよう。


るびまのインタビューって、何なんだろうな。それが面白い、むしろそこしか読んでませんが面白い、とかそういう話をよく聞くんだけど。じゃぁ、それがアクセスを大量に集める優良コンテンツかというと、そういうわけでもない(そういうものであれば、他の商業媒体がやってるよな)。

だから、ニッチでるびまくらいしかやっていなくて、見る人は見る、というようなものなんだろうなぁ。

健全に回していく方法って無いのかしらん。

今はやっぱり不健全だよ。


第一食堂というところで飯を食ったんだが、すげえ量があってよかった。いいなぁ、東大生。


そういえば chad のインド本を買った。スゲー、chad カッコイイ!


スラドの記事からるびまのインタビューをちょっと読み返してみたんだけど、やっぱり面白いなぁ。全然覚えていないよ(ぉ。

で、

ささだ
言語設計者として、最も気を配っていることはなんですか?
まつもと
腐った仕様を入れないこと。

に笑ってしまった。

_28(Thu)

Rails 本はたくさんあるけど、ほんと何を買えばいいんでしょうか...。


ハムーをデフォルトオフにしておくか。


youryou というファイル名を見て、your you ってどういう意味だろうと悩んだら要領のことだった。


なんというか、また直前だよ。自転車操業だよ。ヤバイ。超ヤバイ。

TODO 管理とか出来てない。全然出来てない。考え直さないと。

_27(Wed)

来年度以降の職が決まりました。

というか、同じようなところだけど...。給料据え置きだけど、この立地は嬉しいからなぁ。

_なかお(Thu Sep 28 19:01:52 JST 2006)

 おめでとうございます♪

_26(Tue)

うーーーむ。Symbol の挙動はやっぱり納得いかない。Symbol じゃなくて、別の名前にしたら納得できるような気がするけど。


大堀先生にサイン貰った。

SML#勉強しようかな。


日記や Wiki を subversion バックエンドで管理できないか考えてみる。履歴管理にCVSなどはあるけれど、やりたいのは、co して手元でエディタで変更してciすると、ウェブ上でも更新されているようなやつ。


http://www.kyosyokuinzaidan.jp/jigyo/j05dantai.html

こんなものが!!

_向井(Tue Sep 26 13:06:38 JST 2006)

 いま私の日記は subversion で管理してますよ。フックスクリプトでwebページの生成をキックしています。でも、やってみたら思ったより便利じゃありませんでした。Wikiならもっと便利かもしれませんが、日記って基本的に最新のものしかいじりませんからバージョン管理の意味があんまりない感じです。

_ささだ(Tue Sep 26 13:37:29 JST 2006)

 この日記のウェブインターフェースで、誤操作で消しちゃうことが時々あるので、それをなんとかしたいんですよねぇ。

_25(Mon)

a(b(x=c()), x)

と書いたら、x なんてシラネーと言われた。左のほうに宣言があるのに! 許せん!

というわけで、バグじゃないかと主張します。いかがでしょうか。


file = ARGV.shift; eval(File.read(file), nil, file)

meta circular interpreterです。

... 嘘です。ゴメンナサイ。


あぁ、死にそう。


よくよくプログラムを見てみると、休憩時間がないのな...。そんなに議論すること無いような...。

まぁ、苦労は買ってでもしろっていうしな。苦労しよう。

_なかだ(Wed Sep 27 13:02:21 JST 2006)

 yarvの? > シラネー

_24(Sun)

http://d.hatena.ne.jp/buyobuyo/20040720 知らんかった。この「間違えた意味」をそのまま覚えていた。


液晶のスタンドが立たなくなった orz ということで、スタンドを外して立てかけて利用。なんとも間抜けな...。


というわけで、X が何時までも使えないのはいけないかなぁ、と思い、Ubuntu を入れてみる。早速解像度などではまる>LCDの設定をMonitorにきちんと設定することで回避

samba 経由のファイルを XMMS に D&D してみるも、反応せず。うむむ。他のオーディオプレイヤに(ローカルの)ファイルを食わせても、なぜか再生できない。ううむ。


やっぱり、普段使うのは Windows がいいのかなぁ。


いい加減、realforce はでかいなぁ、と思って余っていた HHKL2 を使ってみたんだけど、やっぱりしょぼいなぁ。

_ksm(Sun Sep 24 09:04:56 JST 2006)

 言い訳ってわけでもないけど『「ラジカルな〜」にも記載されている。』ってもなぁ(微妙

_nishio(Sun Sep 24 12:33:07 JST 2006)

 僕編み上げる方の説明をここで初めて見ました。最初に読んだ説明が運良く嘘つき男爵の方だったのかなぁ

_おびなた(Sun Sep 24 21:49:54 JST 2006)

 そういえば、編み上げの方の話を聞いていましたが、時間と共に記憶が変化して嘘つき男爵の方の認識でいました。

_ksm(Wed Sep 27 11:06:45 JST 2006)

 Ruby本412ページ

_23(Sat)

Kernel 読書会というのに初めて参加した。glibc の malloc/free のアルゴリズムについて、大変わかりやすい説明をしていただいて、とても参考になった。

ところで、ヘッダってあんなに確保する領域にべったりくっつけるものなんだろうか。


キャッシュ効率をよくするため、free したばかりのポインタをためておいて、malloc 時によく使う、という話。GC で free を連発する Ruby のような言語処理系(いや、文字列とか Hash とかで、多分 free たくさんしてると思うんだけど)では、不利になるんじゃないかなぁ、とか、なんとか。


マルチスレッド対応にする話とかも、楽しかった。


飲み会は、知った人ばかりで固まってた感じがしたのでさっさと抜けてきてしまった。弱いなあ。


やっと召喚獣呼べた、が、なんかシステムがまだよくわからないな。


spam がやっぱりきてしまったので、なんとかならないか考えてみる。とりあえずハムーチェックボックスを付けるのか。

_22(Fri)

プレゼントの応募が凄い勢いで来てる。お前ら、なんで便りを書かないんだと子一時間。

というわけで、抽選時には便りをくれなかった人は除外しよう。


とすると、きっと怒られる。

えーと、まだ便りは募集しています。遅れたと思った人はください。


仮想化実装技術勉強会 (3) で知った。

http://web.yl.is.s.u-tokyo.ac.jp/~kaneda/tvmm/

読んでみよう。

_21(Thu)

夏休みは結局 FF12 で終わった。

目を休めたかったんだどなぁ。

_20(Wed)

Rubyist Magazine 0016

二周年乙。

_ちむ(Fri Sep 22 02:05:42 JST 2006)

 スラドに記事が出てましたね おめでとうございます

_ささだ(Fri Sep 22 12:28:02 JST 2006)

 垂れ込んだのは私だけど....。ありがとうございます。

_19(Tue)

で、今日明日と夏休みなんだんが、普段とやっていることが変わらない。

... 毎日が夏休みだったのか!

_18(Mon)

若手の会、無事終わりました。皆様いろいろありがとうございました。また来年もよろしくお願いします。

で、幹事引退できた。


そして早めに切り上げて帰ってきたら、(略)。orz


悲しすぎて、すぐに寝てしまったら、13時間くらい寝たような気がする。

_17(Sun)

http://journal.mycom.co.jp/articles/2006/09/16/radiant2/

RoRベースであるため構築が簡単で、ちょっとしたブログシステムであれば10分もあればシステムができるというすぐれものだ。

... RoR だと構築が簡単なのか。


なんか最近イベントで喋ってないな。なんか機会ないかな。

_m(Sun Sep 17 20:05:21 JST 2006)

 コロキウム...

_みずしま(Mon Sep 18 09:49:07 JST 2006)

 笹田先生!

_16(Sat)

若手の会。


飲みすぎて途中退場。気持ち悪い。

_15(Fri)

定期健康診断を受けるためにわざわざ本郷まで行ったんだが、問診票を忘れた orz

ダメすぎる。


RubyConf 航空券を手配。4人分46万円なり。破産するのでお早めに振り込んでください。


眠らせていた G5 を使う。うーん、Mac 難しい。

とりあえず Fink 入れて sshd を上げたら、なんかもうふつうの UNIX な気もするが...。

_14(Thu)

なんか、初動が遅い。

  • RubyConf ホテル取れなかった。
  • 若手の会、バス取れなかった。

後者は日本国内だからなんとかなるが、前者はどうしよう。


IRC で泣きついたら drbrain がホテルの部屋取ってくれた。ラッキー! ありがたいなぁ。


おくじさんのご尊顔を拝しに 11F まで講演を聴きに行く。流れるようなプレゼン、よどみの無い質疑応答が凄まじかった。

世の中にはこんな人も居るんだなぁ。凹むなあ。


大規模開発にRubyが向かない理由とか聞きたかったな。

あと、PythonなどのOSSプロダクトを使ってそこまでクリティカルな要件に対して品質が保証できるのかどうか、とか。

場違いな気がして聞けなかったけど。


いや、大変興味深い話を聞きました。ほとんど宇宙語だったけど。

うーむ、うちの職場でも喋ってもらいたい。


共済手帳有料化、とかいう知らせが着たんだけど、そもそも共済手帳ってなんだ?

_yoosee(Sat Sep 16 12:53:41 JST 2006)

OSSプロダクトを使ってそこまでクリティカルな要件に対して品質が保証できるのかどうか

問題はOSSかどうかじゃなくて、限界性能付近までの挙動把握がきっちりできているかどうかじゃないのかな。プロプラで品質保証があったとしても、実際にその品質があらゆる状況で発揮されるかどうかはまた別問題なケースが多々あるわけで。

_13(Wed)

Ruby のメソッド呼び出しの遅さって,メソッド探索はあんまり関係ないんだよね....前処理多すぎっていうか.最適化でその辺を解決できるんだろうか.


Ruby 関連組織の運営体制について。

  • www-admin ML : www.ruby-lang.org の管理全般
  • security ML : セキュリティの受け皿?

... 他を知らない。


日本Rubyの会について。

  • rubyの会ML: 参加するとRubyの会入会したことになるML。人探し中心
  • rubyの会CoreML: 一応役員という人たちが入るML。今後どーしよっかーとか話している。
_とおる。(Wed Sep 13 22:45:12 JST 2006)

 日本 Ruby の会って、Ruby 暦 1 ヶ月くらいのぼくでも入れますか?

_ささだ(Wed Sep 13 23:06:20 JST 2006)

 Ruby関連の支援をしたい! という人なら誰でも入れますよ。「支援してほしい!」という人が入るところではないので注意。

_12(Tue)

というか,略称なんていらんだろ.


現実逃避に ruby-lang.org のアカウントもらっちゃった.


頭じゃなくて肩がすんげーだるくなってきた.寒い.


実は,ruby-lang は前のデザインのほうが好きなんだけど....こういうことを言う奴がいるからダサいとか言われるんだよな.すみません.


終わったーーーーー.いろんなことが.

これでたくさん寝れるぞ!(来年から家で寝てる生活だったらどうしよう orz orz orz)

_みずしま(Wed Sep 13 05:58:45 JST 2006)

 お疲れ様です。

_11(Mon)

今の段階だと、YARVのコードを把握してるのは俺だけのような気がするけど。そんな難しいものでもないから、読むのはそんなにつらくないんじゃないかな。


そういえば、頭痛はなんとなく治ってる気がします。多分。


あと、YARV が Ruby Alternative としてリリースされたとして、誰も使わないと思うけどな。ちょっと現実的に考えてみれば。

... YARV がマージされるのは現実的に考えてどうなんだろう orz


あと,卜部君が何もしていない,という意見をちらちら見るけど,rubybugs のメンテをこつこつとしているのはいったい誰だと思っているのかな.


う,やっぱり頭痛いかも.


ドキュメントって書いてないに等しいような気がするな.がらっと変えたところとか,更新していないし.


そういえば,なんで電子メールって段落の最初に「 」(全角スペース)入れないんだろう.そういう慣習? いや,この日記にもいれて無いけどさ.

なんとなく,メールだと段落最初に空白を入れるという癖が付いてるんだけど,そういう人を他に見たことが無い.

_みずしま(Tue Sep 12 03:34:35 JST 2006)

 Java-House MLのアーカイブを検索してみたところ、ちらほらと見つかりました。> 段落最初の空白

_きむら(Tue Sep 12 09:41:50 JST 2006)

 よくわかるYARVコードとか書いてください

_arton(Tue Sep 12 09:52:41 JST 2006)

 YARHG!

_10(Sun)

時計を見たら 4:44 だった。うわー。


pthread_mutex_lock(&lock);
body;
pthread_mutex_unlock(&lock);

って書くのウザイから、マクロで定義して

#define LOCK_RANGE(lock, body) do {\
  pthread_mutex_lock(lock); {\
  body; \
  } pthread_mutex_unlock(lock); \
} while (0)

LOCK_RANGE(&lock, {
  body;
});

と書くんだけど、RANGE という表現は多分、ぜんぜんここには合わないんだろうと思う。さて、なんてマクロ名がいいんでしょうか。


現実逃避に『アキハバラ@DEEP』を読む。

んー、これは、あれかな。なんというか。なんかいろいろと話を聞いて妄想しすぎちゃった話? せめてダイビルの位置くらい把握しておけよ。というかこんな女の子(ry

_ksm(Sun Sep 10 08:47:49 JST 2006)

 クリティカルセクション、エクスクルーシブブロック、とか?

_ささだ(Sun Sep 10 10:43:28 JST 2006)

 追加しておくと,利用するロックがいくつか種類がある(fine grain lock,giant lock,etc)ので,それらにも流用できる名前がいいなぁ,と思うのです.「こっからここまではxxx」というのがいいなぁと思うのですが,語彙がなくて....

_kou(Sun Sep 10 11:15:39 JST 2006)

 Scheme風にWITH_LOCKとかはどうでしょう.

_ささだ(Sun Sep 10 13:09:14 JST 2006)

 ああ、なるほど!>WITH_ 他の意見も募集中。

_みずしま(Sun Sep 10 16:43:45 JST 2006)

 LOCK_WITHINはどうでしょう。

_ささだ(Sun Sep 10 18:35:26 JST 2006)

 何由来だろう.

_みずしま(Sun Sep 10 18:55:54 JST 2006)

 何由来というわけでも無いのですが、「〜の中で」だと、withinがあってるかなと。

_なかお(Sun Sep 10 21:42:38 JST 2006)

 SCOPE_ はどうでしょう

_maeda(Mon Sep 11 12:19:55 JST 2006)

 SYNCHRONIZEDとか。

_9(Sat)

シンボルの話を考えると,p(:xyz+"abc")やp("abc"+:xyz)が何を返すかどうかが気になりますね.


職場に来たら,秋葉原駅前で自民党なんとかの街頭演説みたいなことをしていてうるさい!


なんか最近目が見えなくなってきた.やばいなー.

ちょっとこれは,夏休みをとらなくては(夏休み中もハックしてるんだろうな,ダメだ).

_8(Fri)

:foo が 'foo' と同じハッシュのキーとなる、というのは、nil.to_s が "nil" になることなんかよりも、絶望的にあり得ないことだと思うんだけど。

と思っている人は案外少ないらしい。


競合がおこっているときは(それも比較的長いときは)pthread_spin_lock の性能は大変悪い。

というわけで、pthread_spin_trylock を使うようにしてみた。

ということは、pthread_mutex_trylock でも良かったのかなあ。

試してみたら、pthread_mutex_trylock のほうが、やっぱり遅かった。


#include <errno.h>
#define native_fg_lock(lock) do {\
    int r = pthread_spin_trylock(lock); \
    while (r == EBUSY) { \
	sched_yield(); \
	r = pthread_spin_trylock(lock); \
    } \
    if (r != 0) { rb_bug("native_fg_lock"); } \
} while (0)

こんな感じ。

まぁ、ぜんぜん fine grain じゃなかったってことだろうなぁ。


近かったのでhttp://shibuyajs.org/articles/2006/08/28/development-environment-conferenceへ行って来た.

svk の conflict 問題,pull 時に解決できる,とのことだったので,きっと私の使い方が悪いんだろうなぁ,と.

secondlifeさんには,もっと HTMLHelp をアピールして欲しかった.


しかし,デジハリの中ってあんなふうになってたんだなぁ.いいなぁ,広い部屋.

_咳(Fri Sep 08 22:18:32 JST 2006)

 じゃあ私も少数派だ。

_sshi(Fri Sep 08 23:50:58 JST 2006)

 ぼくも少数派に入れてください。

_ささだ(Sat Sep 09 02:15:18 JST 2006)

 声を上げないとこのままになっちゃうらしいですよ!

_nishio(Sat Sep 09 04:36:01 JST 2006)

 よくわからないなりに「ありえなさげ」と思ってますけど、そもそもなんでシンボルが必要なのかがよくわかりません。

_なひ(Sat Sep 09 08:17:55 JST 2006)

 咳さんが「何故」を言わないのは何故? 大規模ぽい。

_咳(Sun Sep 10 00:51:59 JST 2006)

 Rubyに求めるものが違うっていう多様性を認めるべきなのかなあと思ったから。変更したいっていうのと変更されたら困るっていうのは同時には満たせないだろうねえ。

_7(Thu)

頭が頭痛でとても痛い。


頭が痛くて眠れない。本格的にヤバイ。


ので、なんとなく先日の tee を考えいてたところ、簡単だということに気づく。

module Tee
  def self.included mod
    mod.module_eval{
      alias write_without_tee write
      alias write write_for_tee
    }
  end

  def tee *outs
    @__tee_outs__ = [] unless defined? @__tee_outs__
    @__tee_outs__.concat outs
  end
    
  def write_for_tee *args
    write_without_tee(*args)

    @__tee_outs__ = [] unless defined? @__tee_outs__
    @__tee_outs__.each{|out|
      if out.respond_to? :write_without_tee
        out.write_without_tee(*args)
      else
        out.write(*args)
      end
    }
  end
end

if $0 == __FILE__
  class IO
    include Tee
  end
  
  STDOUT.tee STDERR
  puts 'foo'
end

write メソッドによって出力するクラス全般でこのモジュールを include してあげると良い。


ちょこっと眠れたけど、頭は依然痛い。


そういえば、先日 Gauche の HTMLHelp を更新しました。バージョン番号付いてないの。使っている世界で3人くらいの人、どうぞご活用ください。

_ma2(Thu Sep 07 09:37:49 JST 2006)

 頭痛は放置せずに病院に行ったほうがいいと言いますよ。お気をつけて。

_ささだ(Thu Sep 07 19:42:16 JST 2006)

 そうですか。風邪の前兆だと思うのですが、もしやばそうなら病院行きます。

_きむら(Fri Sep 08 02:10:46 JST 2006)

 頭痛はいろんな原因が考えられるので、特に長引くようなら医者の診察を受けるにこしたことはないです。まあ我慢できないほどの痛みがあれば即座に救急車呼んでいるとは思いますが。くれぐれもご自愛ください。

_6(Wed)

:foo が 'foo' と同じハッシュのキーとなる、というのは、nil.to_s が "nil" になることなんかよりも、絶望的にあり得ないことだと思うんだけど。


http://www.atdot.net/~ko1/diary/vote.cgi?mode=show&no=100

初心者票が伸びませんねぇ。

_もろはし(Fri Sep 08 09:16:39 JST 2006)

 RailsChatとかに貼ると人が増えるかも。>初心者票。  いまみたら「したい]5票は超えてますね。

_5(Tue)

GC のための同期アルゴリズムをやっと固める。多分これでいいのかしら。

しかしなぁ。こんなことなら pthread_kill でシグナルハンドラ中でやればよかった。GC 処理全てが signal handler 中でやっても安全かどうか、イマイチわからなかったというのがあったので。

うーむ、要らないコストを背負い込んでしまったかなぁ。


StringValue() が String オブジェクトだった場合、dup を返すようにしたら驚きますかね? しかも frozen な。


久々に、駅のコンビニが空いてる時間に帰れるかも(11時には閉まっちゃうんですよね)。

_名無しさん(Wed Sep 06 00:04:49 JST 2006)

 うー、マルチスレッドプログラム中でシグナルハンドラを使わない方がいいかもです。。。

_ささだ(Wed Sep 06 00:33:08 JST 2006)

 ふつーのアプリケーションと違い、言語処理系はそうは言っていられないのです。

_名無しさん(Wed Sep 06 12:53:57 JST 2006)

 やっぱsigwaitだけじゃだめすか

_ささだ(Wed Sep 06 18:13:08 JST 2006)

 うーん、管理スレッドをそういう実装にしてしまうのはアリかもなぁ。

_名無しさん(Thu Sep 07 12:57:41 JST 2006)

 NetBSDとかはシグナルハンドラがあやしい動きをする時があるので、気になってますー おせっかいすいません

_ささだ(Thu Sep 07 19:14:17 JST 2006)

 他の環境も色々いやデスヨねえ。

_4(Mon)

終電一個前に乗って帰るとき、綺麗に日に焼けた若い女の子が、途中の駅から乗ってきた。おー、焼けてる、と思ったんだけど、そういえば、夏だったんだねぇ。

とか思っていたら、休日に終電近く(職場からです、一応)で帰っている自分が無性にむなしくなってきた。

今年も、夏は過ぎていた。


「るびまのおかげで〜」という話は聞くけど、「だからるびまに〜」という話はめったに無い。まぁ、そうだよな。

俺も、Linuxのおかげで色々便利にさせてもらってるけど、Linuxに、とくにコミットはしていないし。

その上で、どんなふうにやっていくのか。


なんか、gdb では見れないエラー。

ptrace: No such process.
[Switching to Thread 1083734320 (LWP 26773)]
Cannot remove breakpoints because program is no longer writable.
It might be running in another process.
Further execution is probably impossible.
0x0000003263606490 in start_thread () from /lib64/libpthread.so.0
(gdb) bt
#0  0x0000003263606490 in start_thread () from /lib64/libpthread.so.0
Error accessing memory address 0x40987230: No such process.

なんだこりゃー。Ruby レベルでのプログラムは走り終わっているような感じなんだが。ここはどうやってデバッグすればいいのかなあ。


FIT2006イベント企画「これからが面白いプロセッサアーキテクチャ」の

14:15-14:30 「コアの数なんてどうでもいい」
五島 正裕(東京大学)

が、聴きたい、聴きたい、聴きたい! (でも行けない)。


valgrind で、未初期化領域へのアクセスについて警告が出ているんだけど、それが何者へのアクセスだかわからない罠(GC時に出るので)。


SEGV のシグナルハンドラ中に while(1); と書いても止まってくれない(強制的に、誰かが止めている感じ)。しかも、その際、プロセス終了コードとして 0 を返すらしい。

はて、誰がこんなことしてるんだろう。

と思ったんだけど、SEGV を起こしているのがプロセス終了間際だからなのかも。


不思議なバグは、とりあえず pthread_spinlock_t の初期化の問題だったようだ。

しかし、test-all 中にも同じようなバグが起こる。不思議。


と思ったら、やっぱりまだ同じバグが orz 死にそう。


(gdb) bt
#0  0x0000003262d2f4f5 in raise () from /lib64/libc.so.6
#1  0x0000003262d30e40 in abort () from /lib64/libc.so.6
#2  0x0000003262d66a6b in __libc_message () from /lib64/libc.so.6
#3  0x0000003262d6f6fd in _int_realloc () from /lib64/libc.so.6
#4  0x0000003262d7010c in realloc () from /lib64/libc.so.6
#5  0x000000000041e1b4 in ruby_xrealloc (ptr=0x677be0, size=33691) at ../parallel/gc.c:298

なんで realloc が死ぬのー。malloc, realloc, free の周りはロックで囲んでるんだけどな。

_yoosee(Mon Sep 04 13:03:25 JST 2006)

 「るびまのおかげで彼女が出来ました」とかあるかなー

_3(Sun)

ちまたでは NilClass#to_s について議論が盛り上がっていますが、そんなことよりもまつもとさんがこっそりと(こっそりじゃないけど)コミットしているのが大変気になる。

  • 短い String の埋め込み
  • 短い Array の埋め込み
  • Symbol が String の subclass に
  • Symbol が GC 対象に

Symbol と ID の関係はどうなるんだろう。関係なし?

3番目の話は、to_sなんかよりも、よっぽど重大だと思うんだがなぁ。互換性以外(いや、だから互換性関係はみんな敏感なんだけれども)。


というか、並列Rubyにとって、嫌がら (ry


test-all で SEGV するのは、きっとすぐに直してくれるだろう。


この辺について議論したいような気がするが、きっと場違いな感じ。


$ ./ruby -ve 'p :a=="a"'
ruby 1.9.0 (2006-09-03) [x86_64-linux]
true

これはあんまりじゃないでしょうか。


いつも電気がついている UDX に、ほとんど明かりがついていない。おー。


gdb へ渡すコマンドのメモ。

b debug_breakpoint
run
if $_exitcode == 0
	quit
end
  • debug_breakpoint という関数を break point に。
  • 走らせる
  • もし終了コードが 0 だったら終了、そうじゃなかったら、そこで停止

実行中に SEGV 発生だったりすると、$_exitcode は void とやらだそうで、比較失敗になってしまう。まぁ、止まるからいいんだが、ちょっと気持ち悪い。しかし、条件式で void かどうかを知る方法がわからなかったので放置。

_znz(Sun Sep 03 23:14:44 JST 2006)

run p $_exitcode if !$_exitcode quit end でいけるみたいです。

_ささだ(Mon Sep 04 04:19:22 JST 2006)

 ありがとうございます。! は試したつもりだったのが、試してなかったようで。

_まつもと(Mon Sep 04 04:42:50 JST 2006)

 SymbolはGC対象になりませんよ。グローバルテーブルから参照されてますから。って、そういう意味じゃない?

_ささだ(Mon Sep 04 12:02:47 JST 2006)

 あれ? s=:s; loop{s=s.succ} しても、メモリ消費が増えなかったので、GCされているんだとばかり。

_まつもと(Tue Sep 05 00:30:05 JST 2006)

 実はSymbolを加工したものはStringなのですよ。反則?

_ささだ(Tue Sep 05 08:23:21 JST 2006)

 それは気づきませんでした。仕様としては、他に類を見ないので、多分ダメな気がするんですが。

_2(Sat)

夜中まで研究を続けているわけですが。

小迫さんからのご指摘のとおり、static なものがあったので、そいつをthread localで取れるようにしました。すると、ちゃんと台数効果が出るようになりました。よかったよかった。でも、構造体を無理矢理ぶち込んでしまったので、ソースが汚い。どうしようかな。


それから、エルザ最強だと思う。


途中、バックトレースが出てきて吹いた。それようのインターフェースが出てきた。えらい。そして、内容を見てみると、納得できるものだった。想像通りのものというか。やっぱそうやるよなぁ、みたいな。


しかし、バックトレースを客に見せるのはアリなのか?


今日を金曜日だと思っていた...。


30秒って何。


参考にさせてもらって、kakaku.com を見てみたら、DS Lite が売っていた、という情報を見たので、くさいのを我慢して、ACM ICPC のTシャツを着て、という罰ゲームのような格好でビルの高いところへ登ってみるも、完売。4時間前の情報じゃ古いんだねえ。


評価のために、仕方なく続けているんですが、やっとドリフトの意味がわかった。


yarv のベンチマークがどうの、というページを見たらフランス語。読めるか!


いろいろイベントとかがあって楽しそう(今日だけで、4個?)だけど、てんぱっていて全然いけない。ガガーン。

_青木(Sat Sep 02 04:35:44 JST 2006)

 おれんとこでもバックトレース出たよ! 3 時間くらいぶっつづけでやってたら NoMemoryError が。ところでみんなのゴーストが速すぎて俺にはついていけません

_ささだ(Sat Sep 02 11:37:44 JST 2006)

 俺のときは .pak から読み込み中にエラーになったらしい。みんなのゴーストって何? ウェブランキングとかをつなげると、ゴーストもダウンロードしたりするんだろうか。

_青木(Sat Sep 02 18:10:17 JST 2006)

 そう > ゴースト

_きむら(Sat Sep 02 18:21:11 JST 2006)

 本日家の近く(つっても15分歩く)の店で黒Lite入荷という情報があったのですが、寝坊して出遅れorz。黒以外なら来週も入るみたいですけど?

_みずしま(Sat Sep 02 21:46:59 JST 2006)

 バックトレースとかNoMemoryErrorとかなかなか楽しそうですね。私も評価のために購入してみました。

_ma2(Sun Sep 03 00:02:49 JST 2006)

 DSliteは自作スクリプトでamazonやらトイザラスやらを監視して見つけました。大きな店なら定期敵地入荷するので早起きすれば買えるみたいですけど。

_むらまさ(Sun Sep 03 20:13:29 JST 2006)

 有楽町のビックカメラは、毎週日曜日の15時ぐらいに入荷してるっぽいです。それ以降に店で粘ってると買えると思います。

_1(Fri)

まずいなー。寒気がして体ふらふら。


http://slashdot.jp/comments.pl?sid=330607&cid=1008960

よほど未踏に恨みがあるのか...。 プレゼンスが弱いということなんだろうか。


http://www.xml.com/pub/a/2006/01/11/from-microsoft-to-openoffice.html

大変参考になる。


chm を少し更新。同期ボタンの付け方がわからなかったんだけど、やっとつけた。


調査のために、しょうがなく、遺憾ながら、Ruby を使ったプロダクトを購入した。はじめて通販でソフトウェアを買ってしまった。


上記ページを参考に、OOo でD&Dで ppt -> pdf 変換が出来た。OOo 素晴らしい。


FF3 が欲しいんだけど、DS Lite が売っていない。どうやったら秋葉原で買えるのか、詳しい人がいれば教えてください。


大変不思議なことに、並列に走らせると oniguruma の正規表現マッチが遅い。なんでだろう。

... というか、並列実行に対応していない? んー? わからん。


マッチ処理に時間がかかると、きちんと台数効果(2個だけど)が出ている。マッチがさっさと終わる場合に、かなり、3倍くらい遅くなるんだが、はてなんで?

_みずしま(Fri Sep 01 17:25:50 JST 2006)

 確かに大変遺憾ですね >Rubyを使った某プロダクト

_IKeJI(Fri Sep 01 17:26:33 JST 2006)

 大変遺憾ながら、笑ってしまいました。

_斎藤ただし(Fri Sep 01 20:38:28 JST 2006)

 自分も大変遺憾ながら(ry  DSは自分の場合、カカクコムのくちこみを見つつ粘って量販店で買いました。おそらく秋葉でも地方と同様、周期的な入荷があるのではないでしょうか。 # ACばかりですみません

Sasada Koichi / sasada@namikilab.tuat.ac.jp
$Date: 2003/04/28 10:27:51 $