観察日記 2010-05-18

ruby-changes と ruby-cvs への参加方法について追記したよ Contribution RubyKaigi で募集している contribution を列挙するのはどうかなあ ライブラリのメンテナと、プラットフォームメンテナと、チケットの整理をする人と、 redmine 自体のメンテナと、C …

観察日記 2010-05-17

今回は卜部さんの backport 用スクリプトや git の話題がメインです。ので、コミッタではない人にはおもしろくないかもしれません。 backport 用スクリプト なるせたんなるせたん はいはいはい どうせスクリプトでbackportするなら、俺みたいに元ネタのリビ…

観察日記 2010-05-14

間が開きましたがぼくは元気です。今回はスレッドネタとWindowsでのデバッグと、ライブラリデザインの相談風景(ext/etc?)です。RubyではWindows愛にあふれた方の参加を待っています!とかそんな Thread#priority いやー、本当にスレッドって素晴らしいですね…

観察日記 2010-04-16

chunky bacon そーか、whyがいないから、Ruby会議のイラストは募集になったんだ。 実はうちの家内から毎年気持ち悪いと不評だったんだよな。 まぁクセは強い 意味がわかんなかった。 絵の。 chunky bacon! chunky bacon! 意味は? 意味がわかんない例 もしか…

Ruby 開発者のための git 講座 - ChangeLog 編

git

不定期連載の git 講座ですが、今日は Ruby を開発する人のための tips っぽいです。 git-merge-changelog Ruby で git を使ってローカルで開発していると、ChangeLog が毎回衝突して面倒です。ChangeLog の 衝突なんて冒頭でしか起きないのだから、それ専用…

観察日記 2010-04-07

4 月になったのでうささんが %ruby に帰ってきました。 Ruby 1.9.2 Release Plan http://redmine.ruby-lang.org/wiki/ruby-19/ReleasePlan。予定通り feature freeze されました。 Rubyのコミッターになりました@kosaki そういえば、ささだ先生にAckをもらっ…

円記号問題とウェブブラウザ

起源 円記号問題の始まりは1960年代にまで遡ります。1967 年に文字コード最初の国際規格である ISO R 646 が制定されましたが、その規格では 0x5C をはじめとして一部の文字が置き換え可能になっていました。アメリカの制定した ASCII では 0x5C に対して RE…

観察日記 2010-03-26

miniruby とは minirubyが壊れているときにencodingのところでこけるのはよくない 実はいままで聞けなかったのだが minirubyってなんぞ Rubyをビルドする際にはRubyのスクリプトを走らせる部分がいくつかありまして、 例えばextconf.rbとかエンコーディング…

観察日記 2010-03-18

Redmine for Ruby のメンテナ redmineのメンテ権限はもう手放すぞー! 時間が出来たときまでに誰かが拾わなかったらまた拾うけど。 ruby用redmineの保守は誰かやる気がある人がいたら、もうパッチ無しには口は出さないのでshugoさんと相談して好きにしてくれ…

たった一つの冴えた NAN の作り方

http://www.kt.rim.or.jp/~kbk/zakkicho/10/zakkicho1003b.html#D20100311-2 http://www.hi-matic.org/diary/index.cgi?20100312#12-1 あたりの話題。で、いきなりタイトル否定すると、「たった一つ」はたぶんありませんな。どこで聞いたか忘れたけど、「ポ…

観察日記 2010-03-10

絵文字エンコーディング mame さんが [ruby-dev:40582] Re: [Feature #2833] 絵文字エンコーディングの提案 高速化してくれたので、絵文字系エンコーディングが入りました。なお、UTF8-Google は入っていません。Encode::JP::Mobile のように、docomo/au 機…

観察日記 2010-03-08

続String.buffer ついにベンチマーク なんで彼らはパッチも書かず、ベンチマークも取らないんだろうと話していたら、ついにベンチマークが。 そして、ついに完結!? [ruby-core:28541] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffe…

観察日記 2010-03-03

openssl OpenSSL はバージョン間のソースコード互換性がひどい発、「OpenSSLのコードの汚さに「サルが書いたコードだ」との批判」経由、代替がないことを嘆く。(gnutls とか CryptoAPI とかあるけど、ねぇ) 続Array#select! matz が態度を軟化させ、結局 r26…

観察日記 2010-03-02

リリーススケジュール 明日には Yugui さんからのリリーススケジュールメールがあると信じている リリーススケジュールこないなー…… DL.strdup の意図は何か DL.strdup("\0"*1024) が 単にmalloc(strlen(str)+1) してるので、1バイトバッファを つくるので…

log(3) と 1ulp

log(3.0) は 1.0986122886681096913952452369225 くらいの値になるはずです (Windows 付録の電卓調べ)。これがC言語の log(3) で log(3) した場合、double に丸められるので、実際の値は 1.0986122886681098 になります。言い換えると、だいたい 0x1.193ea7a…

観察日記 2010-02-26

ちょっと忙しいので概略だけ。 Rubyの例外と博物学 「Ruby の例外クラスは分類が粗すぎる or 細かすぎる - まめめも」という話。 RubySpec mameさんが作業していた、Ruby 1.9.2 RubySpecサポート計画がとりあえず Debian について達成された。[ruby-dev:4048…

「プログラマのための文字コード技術入門」書評

珍しく書評です。まだ書きかけなんですが、完成を待つと忘れそうなのでとりあえず。断片的に見た感じとして、現在ある文字コード本では最高峰なんじゃないでしょうか。人に勧める文字コード本としては*1、長らく文字コード超研究がベストだったと思うのです…

観察日記 2010-02-22

Math モジュール仕様の方針 It is good to decide the policy of Math. Please choice: 1) Math is still just a wrapper of libm 2) Math is (aims to be) platform-independent math module (though it is very similar to libm's API) I choose #2. I als…

観察日記 2010-02-18

EDOM と ERANGE EDOM とか ERANGE とかに思想の違いがあることは一応わかったんだけど 現実問題としてそれらを区別する意味ってあるんかいな 思想じゃなくて歴史的事情なんでは >nurseerror->ERANGEなので必ずしもそうではなかったりも pole error はそうで…

観察日記 2010-02-17

Float の仕様 Ruby の Float は C の double 型のラッパーなのだが、C の double 型の定義は隅の方は曖昧になっていると言う話。 C の double 型ってどの程度の事が保証されてたっけー。 1未満0より大きい値が表現できる 残念ながら Float って spec に耐え…

観察日記 2010-02-16

Here comes a new committer! mrkn さんがコミッタになりました。「bigdecimalの修正もお願いしますね。」 mvm comes to github http://github.com/nobu/ruby {hermit_} nobu's ruby at mvm - GitHub [text/html; charset=utf-8] ビルドする拡張ライブラリを…

DragonFly BSD

DragonFly BSD にも先日の「NetBSD 5.0 における pthread と fork」と同種の問題があるように見えたので、master版を入れてみる。そのついでに、初期設定メモを書き残しておこうと思う。 インストール ISO のダウンロードは CD Images からできる。インスト…

観察日記 2010-02-12

BigDecimal 精度の話題が続く。JavaのBigDecimalスケールが有効数字と違うという話など。その後精度を気にしない場合の話や10進の話になって発散。結局、ユースケースがわからないとなんともいえないよねといういつものところに落ち着く。 Early return opti…

観察日記 2010-02-09

NetBSDにかまけていてサボっていましたが、まぁぼちぼち。 make clean (mame) make clean してもえらいいろいろ残るな (mame) parse.c とか prelude.c とか (eban) parse.cはtarballでいしょに配布してるので消すわけにはいかない (mame) tarball のパッケー…

NetBSD 5.0 における pthread と fork

概要 NetBSD 5.0 において、複数の pthread が生きている状態で fork するとおかしくなる。 再現 再現プログラムではfork前に一度3つのpthreadを作り、その後1つ殺して lwpid 1 と 3 が残っている。この状態で3からforkすると子では3が残り、これにlwpid 1が…

スレッドのスタック領域情報の取得

Unix 系でもそれぞれ異なるので調べた。スタックオーバーフローのハンドリング (Stack Overflow Handling) Linux manpage pthread_getattr_np(3) header #define _GNU_SOURCE pthread.h API int pthread_getattr_np(pthread_t thread, pthread_attr_t *attr)…

観察日記 2010-02-03

RubySpecの人に怒られた あまりに頭の悪いミスなのでぐうの音も出ない。 library/socket/tcpserver/gets_spec.rb で止まる Thread.new { sleep } TCPServer.new(0).gets mameさんが追跡中 FreeBSDでGC中にSEGV e = [1,2,3].each 10000.times { e = [e].each …

観察日記 2010-02-01

RubySpecのバグの潰し方 (mame) http://regional.rubykaigi.org/tokyo03 豪華講師陣だな (hermit_) 東京Ruby会議03 - Regional RubyKaigi [text/html; charset=utf-8] (ko1_ndk) mameさん講師やればいいのに (mame) 話すことないし (ko1_ndk) RubySpecのバグ…

観察日記 2010-01-29

CRubyコーディング規約 革命の日々! 80文字は短すぎる 「空気を読め」というのが規約 ext は歴史的経緯によるカオス 一応misc/ruby-style.elがあるが…… うちの.vimrcでは set ts=8 sw=4 cinoptions=:2=2t0 noexpandtabと設定されているようです。 投げてみ…

観察日記 2010-01-28

Windowsを忘れないでいただきたい 23:22 (kosaki) 今のrubyってビルドオプションに-fPIEついてない気がするけど意図的? 23:23 (unak) -fPIEとは 23:24 (kosaki) gccのオプションで実行アドレスがランダムかされる 23:24 (kosaki) コンパイルオプションつけ…