«前の日(03-04) 最新 次の日(03-06)» 追記

Matzにっき


2004年03月05日

_ [Ruby]バグ

面倒なバグが発見される。Procの中からbreakやreturnが実行されたとき、 ジャンプ先が存在しないケースがあるので、その場合にはLocalJumpError例外が発生する。 その例外の発生条件がbreakとreturnで異なっていることに気がついていなかった。

つまり、

def foo1
  Proc.new{break}.call
end

def foo2
  Proc.new{return}.call
end

とあるとき、foo1の方はbreakのジャンプ先であるProc.newの呼び出しが完全に終了しているため、 飛び先が存在しないのでLocalJumpErrorが発生する。しかし、foo2の方はreturnの飛び先である foo2(の終端)がまだ存在しているため、そのままreturnすれば良い。

で、長い時間かかってなんとなくうまく動いているところまで持っていったのだが、 まだよくわからないコードが残っている。リファクタリングしないとな。

_ [METI]第3回高度IT人材早期発掘のあり方検討会

東京に移動。内容を具体的に書くのはまずいような気がするので、 印象とキーワードだけ。必要に応じて妄想してください。

結局事務局の努力により、無難な線にまとまりそう。

プログラミングコンテスト、プロコン、検索にかからない、 自前サイトの必要性、 プレゼンスの改善、インセンティブ、結果のフィードバック、 ノウハウの蓄積ができるように、 プログラム実行を作品として見るか、ソースコードそのものを見るか、 ソースコードレビュー、公開するかどうか、 一点突破主義を認めたい、自己申告制。

セキュリティキャンプ、セキュリティ甲子園への道、 合宿、講義、雑談、学習、次年度のチューター。


2005年03月05日

_ [OSS] オープンソースカンパニーユヒーロ再び

先日、オープンソースカンパニーであるという、 株式会社ユヒーロについてとりあげたら、 ユヒーロ代表であられる伊藤寛之氏が、わざわざブログを始めてまで反応してくださった。

自ら「ユヒーロがオープンソースカンパニーを名乗る資格を有しているかと考えると、私自身も個人的には“NO”である」と認めつつも、「思いつきであるにせよオープンソースカンパニーを名乗ることの本当の気持ちを考えてみると、今まで、そしてこれからもお世話になるであろうオープンソースソフトウェアに少なからず貢献したいという思いがあったことも事実」であり、また、

ユヒーロが真のオープンソースカンパニーを目指すにあたって以下のことを目指していく必要がある。

  1. オープンソースソフトウェアを利用する人たちが少しでも増えるように努力すること。
  2. オープンソースを利用する人たちがより快適に利用できるようにサポートしていくこと。
  3. 自社のソフトウェア「HiTo!」を将来的には、オープンソースとすること。

後日、オープンソースと人について改めて考えてみたい。

と非常に前向きに考えておられる。念のため書き添えておくが、 私はオープンソースをただ利用するだけの企業を軽蔑したりはしない。 が、オープンソースに積極的に貢献しようという気持ちのある人や企業には賞賛を惜しまない。

Welcome to the Open Source World.

Matzにっきは、オープンソースカンパニーとしてさらなるステップを踏みだそうとしている株式会社ユヒーロを引き続き応援します。

_ [OSS] IT業界に根付く神戸情報大学院大のオープンソースカリキュラムとは

オープンソースは(隠されているところがないので)教材としてふさわしいものが多いし、 オープンソースに理解のある優秀な人材を輩出してくれれば、 業界全体がよくなるかもしれない。

こちらも暖かく見守りたい。

_ [特許] EUのソフト特許法案、7日の閣僚会議で承認へ

今日はニュースが多い。

この文面を読む限りでは最悪の展開になったということかしら。

ヨーロッパはソフトウェア特許に関して一進一退を繰り返しつつも、 悪くない動きを見せていたのに、ここで一転、大企業に有利な決定がされたということは、 世界がより住みにくい世界になったということを意味しているような気がする。

将来、引退したらヨーロッパにでも住もうと漠然と思ってたんだけど、 あんまり良くないかなあ。どこかの国が(tax heavenならぬ)patent heavenとか宣言して、 自国内では外国の特許は無効(もちろんWTOにも加盟しない)とかいう動きを見せたら、 ...一発で外交圧力でつぶされそうだな。

_ 「サマータイム」がやってくる!?

日本にも夏時間(DST)を、という話。反対。

Rubyが海外にも使われるようになった2000年頃からしばらく、 毎年春と秋になるとアメリカやヨーロッパから時刻に関するバグレポートがやってきた。 夏/冬時間の切り替わりで一定期間だけずれが生じるというものだ。 で、これがまた面倒なバグでねえ。 あるケース(たとえばアメリカ)で直ったかと思うと、ヨーロッパではうまくいかなかったり。 夏時間のない日本に住んでて今まで本当にしあわせだったと痛感したものだ。

省エネや活動時間の調整は各自で行いましょう。 もう大人なんだから。

_ 情報処理学会第67回全国大会 - 情報の検索・抽出最先端

検索エンジンを開発している後輩(部下)たちには参考になるかも。 ....ならないかも。

_ SAJAX - Simple AJAX Toolkit

AJAXフレームワークを使ったWebサイト開発を支援するツールキット。 現在はPHPのみをサポートしているが、ASP, Perl, Python, Rubyにも移植したいとのこと。

ちょっと見た感じでは、AJAXプログラミングがちょっとラクになるかな、という気はした。 150行弱のPHPコードでここまでできたら上出来か。

もうちょっと洗練する余地はありそうな気もする。

_ [言語] Dynamic Languages Symposium

というものを、OOPSLA 2005と併催するからProgram Committeeとして参加してくれないか、 というメールが来る。名誉なことだから受けたいのだが、 参加できるかもわからないしなあ。ちょっと迷いが。

_ 寒さとお祭り

子供たちが通っているスイミングスクールがある海洋センターが、 小さなお祭りをするということで、遊びに行く。 が、この日は妙に寒くて、雪は降るし、出店とかも中止になったものが多かった。 息子はスーパーボールすくいを本当に楽しみにしていたので、かなりがっかり。 唯一やっていた射的も6発もらってひとつも当たらなかった(最後の一発は私が撃ったのに当たらなかった)ので、 ますますがっかり。相当落ち込んでいた。

とはいうものの、隣のいろり茶屋で食べたお蕎麦はおいしかった。

その他、買い物をいくつか。


2006年03月05日

_ [教会] 迂闊

子供たちを起こして準備させ、いつもよりほんの少しだけ早い時間に教会に出発する。

しかし、途中で私がネクタイをしめていないことに気づく。 どたばたしていたのでしめわすれたのだろう。 さすがにスーツにノーネクタイではかっこうがつかない。 すごすごと引き返す。 結局、普段よりも遅くなった。がっかり。

断食証会。

集会終了後、ふたりほど面接。うちに帰る。


2007年03月05日

_ [OSS] MagicPoint segmentation fault

明日、プレゼンテーションがあるのでそのスライドを準備していたら MagicPointがsegmentation fault。 新しいバージョン(1.12a)をダウンロードしてコンパイルしてみたが やっぱりダメだった。

mgp2psは動くので、明日はとりあえずPDFファイルを作って プレゼンすることにした。

デバッガで実行するとdraw.cのobj_draw()関数で XCreateImage()がNULLを返しているのに、 その内部にアクセスしようとしているから、らしい。

if (obj != NULL) {      /* VFONT exist */
        xim = XCreateImage(display, visual, depth, ZPixmap,
                        0, NULL, width, height,
                        8 << (depth - 1) / 8, 0);
        xim->data = malloc(xim->bytes_per_line * height);

が、追求はここまで。なぜNULLを返すのかわからない。 今まで動いていたスライドでもダメだから、 問題があるのはスライドではなく、おそらくXの設定なんだろうけど。

なにがいけないんだろう。

追記

唯一心当たりのある設定変更であった、/etc/X11/xorg.confの

Section "Extensions"
       Option "Composite" "true"
EndSection

の部分をコメントアウトしたら、ちゃんと動くようになった。 どこがどういう関連を持って動かなかったのかまったく想像もつかないけど。 分かる人が見たら分かるのかなあ。

_ [Ruby] Ruby brightens the NetBeans platform | InfoWorld

NetBeansがRubyをサポートした、という話。 Sunは本気っぽい。

_ [Ruby] マンガで学ぶ♪アリサのネット難解最新用語講座 / デジタルARENA

Rubyが解説されている。しかも、マンガですよ、マンガ。

正直、よくわからないオチであったが、 それは置いておくことにしよう。

_ ベンチャー座|Front Interview アレン・マイナー

ずーっと昔、私は日本オラクルの面接を受けたことがあって*1、アレンとはその時にあったことがある。 ほとんどは仕事の話で、教会の話をひとことふたこと話したような気がする。 あんまり昔なんではっきり覚えてないけど。

*1  で、転職してたら人生変わってたろうなあ


2008年03月05日

_ [OSS] Google Japan Blog: Google Summer of Code 2008 開催

今年もGoogle Summer of Codeがやってきた。 例年RubyCentralが参加しているのだが、 今年はそれに便乗するか、RubyAssociationとしてか、 メンターとして参加しようかなあ。

本当はRuby専門でRubyAssociationが主催すべきなのかもしれないけれど。

で、いずれにしてもどんなテーマが考えられるかなあ。

_ Computerworld - Don't use Emacs, says Java's father

James Goslingが「Emacsは使うな」と言った、という話。

いや、私だって設計が古いEmacsを使い続けたいわけではない。 けれども、世の中にEmacsを置き換えるに足るツールが他に存在しないんだからしょうがない。 今まで使ってない機能が満載のEclipseを紹介してくれても 私にはうれしくない。

とりあえず、「今使ってる機能」を提供してくれる編集環境がほしいだけなんだが。 Emacsのフル機能を使ってるわけじゃないから、

  • (本物の)Emacsキーバインド
  • タイリングウィンドウ
  • 各種編集モード(テキストモードおよびC/Rubyモードを含む)
  • スペルチェック
  • メールの読み書き
  • カスタマイズ性(Emacs Lispじゃなくても可)

くらいあれば。

今まで使ってない機能としては

  • マルチタスク
  • よりよいバックグラウンドタスク
  • ブラウザ
  • リファクタリング機能

とかあれば良いけど、なくても我慢できる。

_ [言語] Rails is the best thing that ever happened to Python | Zen and the Art of Ruby Programming

Railsは(人々の注意をPythonに向けるという意味で)Pythonにとってもっとも良いものとなりえる、 という話。

私としてはRubyが他の言語(LispとかSmalltalkとかPythonとか)の 呼び水になったとしてもそれはそれでよいと思っているのだが、 Railsの連中はどうなのかな。

まあ、それでも他の言語に逃げなくても済むように いろいろな機能を提供し続けることは止めたりはしないけど。

いつか追い越せ、他言語。

_ [Ruby] [#JRUBY-2220] Struct performance is pretty poor - jira.codehaus.org

RubyQuiz #157の結果から、 JRubyにおけるStructのアクセスがMRIより遅い、 というが正式にバグ認定されたという話。

まあ、勇気ある判断である。

ところで、このRubyQuiz #157ベンチマークであるが、 CRubyで試してみたところ、以下のようになった

matz@x61[ruby] ruby -I lib /tmp/157_benchmark.rb

            user     system      total        real

FRANK 24.060000 4.090000 28.150000 ( 28.630580)
JUSTIN 5.560000 0.410000 5.970000 ( 6.440966)
LIONEL 0.460000 0.050000 0.510000 ( 0.525290)
DOUG 2.970000 0.420000 3.390000 ( 3.515856)
PHILIPP 1.330000 0.070000 1.400000 ( 1.476920)
BILL 0.360000 0.030000 0.390000 ( 0.397130)

matz@x61[ruby] ruby1.9 -I lib /tmp/157_benchmark.rb

            user     system      total        real

FRANK 7.800000 0.020000 7.820000 ( 7.931905)
JUSTIN 3.500000 0.020000 3.520000 ( 3.527578)
LIONEL 0.220000 0.000000 0.220000 ( 0.218631)
DOUG 1.730000 0.010000 1.740000 ( 1.764487)
PHILIPP 0.800000 0.000000 0.800000 ( 0.800930)
BILL 0.180000 0.000000 0.180000 ( 0.182412)

ま、とりあえずRuby1.9の方がそれなりに速いってことで一安心。

が、うかうかしてるとJRubyに追いつかれるな。 競争は良いことだ。どきどきするけど。


«前の日(03-04) 最新 次の日(03-06)» 追記