«前の日(09-18) 最新 次の日(09-20)» 追記

Matzにっき


2003年09月19日

_ 準備

ふたつめの原稿も無事しあげたが、完成したのが朝4時だったため、 午前中はまるまる寝てしまう。もったいない。

で、残るはJAOOのプレゼンの準備なのだが、 いっこうに進まない。まあ、まだもうちょっと時間があるのでなんとかなるかな。 なるんじゃないかな。なるといい..な。

_ [家族]姪

妹の子が泊まりに来る。異様に元気のいい子なのだが、ひとばん無事に過ごせるかしら。

_ [特許]ソフトウェア特許ML

高林くんが始めたソフトウェア特許MLに参加する。

なんか、自分が如何にいいかげんな知識しかないかを再確認する。 もうちょっと調べないといけないかなあ。

  • 特許の(本来の)目的とは。
  • 特許が保護するものはなにか。アイディアか、発明か。アイディアと発明は違うか。
  • 日本でソフトウェア特許が成立するのは、現状のほうに照らして合理的な理由があるのか、 それとも「運用でカバー」というものか。
  • 特許がないとどんなことで困るか。要らないんじゃないのか。
  • 特許があるとどんなことが嬉しいのか。

現時点での私の意見は「特許なんてない方が良い」なんだけど、現実的ではなさそう。

_ [特許]懸念の表明

読んだものの記録」において、 ソフトウェア特許の議論について懸念が 表明されている。

非常にまずい

今までのパターンどおり、ソフトウェア特許は悪です。period。で終わる可能性が高い。口上にきわめて問題がある。バランスが取れた議論が出来そうにない。

(中略)

ただ、これ(自分の発明はすべて公共なもの、という崇高な思想)を全面的にソフトウェアに適用したとき、あまり嬉しくない社会が待っているとしたらどうか? 少なくとも我々は資本主義の世界に生きていて、少なくとも特許という社会制度は社会制度は100年以上も有効な(ここでは実効性があると言う意味)システムとして機能して来たのだ。すくなくとも、特許がソフトウェアに対して、どのような取り扱いをしてきたのかぐらいの調査と、その資料は、口上に入れて欲しかった。その上で、ソフトウェアに対しての特許制度を否定するというのであるならば、よかったのであるが。

himiさんの懸念はある意味もっともだ。

しかし、口上にそれが必要とまでは思わない。 口上にそこまでの準備を要求するのなら、気軽に議論をはじめられないと思う。

それはともかく、 私としても「ソフトウェア特許は悪です。period」という単純な結論は希望しない。 現時点では、ほかの多くのフリーソフトウェア関係者と同様、特許、特にソフトウェア特許に関して否定的な印象を持っている(というか、特許が過去100年以上存続したのは厳然たる事実としても、その間ずっと有効であったかどうかということには疑問を持っているのだが)。

しかし、私の知識が足りないための思いこみや誤解の可能性は排除せずにいたいと思うのだ。

よって、「特許がソフトウェアに対して、どのような取り扱いをしてきたのか」という情報は常に大歓迎だ。

ところで、「自分が開発したソフトウェアでゲットリッチ」という希望に対して 特許は本当に有効に働くのだろうか。

あるいは「自分の発明でゲットリッチ」という希望に対してはどうだろうか。

_ [特許]himiさんの反応

上記のように気軽に書いたらご本人に反応していただいた。読まれてるって怖いわ。

私が、この話で、口上というか導入を気にするのは、プロパテント、アンチパテントの括りに入れられるのがとっても怖いということも、理由の一つに挙げられます。実際、高林さんの文章は、誰がどう見ても、アンチパテントの枠内に入れられてしまうと思います。

その意味でも、ここで何らかの有益な議論を起こしたいのならば、なおさら特許自身の事前調査が必要だと思います。

えーと、たぶん私とhimiさんでは「議論」という単語に期待しているレベルが違います。

himiさんの議論は、賛成側・反対側ともに十分な知識をもって、 どうあるべきか、今後どうしたらよいかを「議論する」というレベルだと思います。 実に実りあるレベルで最終的にはそうあるべきだと思います。

しかし、私が言ってる「議論」はそういう知識の収集や情報の提示も含めたやりとりを考えています。 だからきっかけになりさえすれば、口上そのものは中立である必要を感じてませんでした。 レベルが低くてすみません。

「そんなのは議論じゃない」、「先人の考察を無視する気か」というお叱りを受けそうですが、 この機会に人々の関心を集め、情報を集積したいと考えています。

というか、私自身が「そもそも特許とは」という知見を形成したいという魂胆が透けてみえてますね。

ちなみに、100年以上有効であったというのは、usefulの意味ではありません。 U.S.で特許法が成立したのは1790年にさかのぼり、その間、ずっとeffectiveであったことはそれほど疑わしい事実ではないと思います。もちろん、 usefulであったかどうかには疑義がたくさんあると思います。

あと、effectiveとusefulの対比については、私、英語が苦手で*1よくわからなかったのですが、usefulが「役立つ」だとすると、 「有益ではなかったかもしれないが、特許制度そのものは100年以上成立し続けてきた」という意味ですか?

ああ、「実効性」ってそういう意味でしたか。 いかん、日本語もちゃんと読解できないらしい。

こんなに効率が悪いのにもかかわらず、企業が特許取得に投資する理由はなんなのか? このことはよくよく考えてみる必要がある。

それが私の一番知りたいところなんです。これが理解できれば、私にも特許の意義が理解できると思います。

*1 なのに来週英語でプレゼンするんだから、まったく


2004年09月19日

_ [教会]松江

ひさびさの松江。普段通り。いや、ちょっと疲れてたか。

帰ってから3時間も昼寝してしまった。


2005年09月19日

_ [教会] 活動

鹿島町にある深田公園で教会の活動。

途中道を間違えて原子力発電所に辿り着いてしまう。 そう、深田公園は原子力発電所の敷地内にあるのだ。 しかし、外側から見るだけでも原発ってめちゃめちゃかっこいい。 エンジニア魂を動かすものがある。

私個人としては原子力発電に全面的に賛成というわけではないけれども、 賛成でない理由はそれが原子力だから、というわけではなくて、 最終処分の方法が決まってなかったり、 ある程度のリスクがあるのに、それを隠そうとする電力会社の態度にある。

まあ、それはさておき。

着いたらいきなりバッテリーがあがる。今まで走っていたのに。 しばらく前に(あまりにも疲れていて)うっかりヘッドライトを付けたまま運転席で寝入ってしまったことがあって、それのせいかバッテリーがダメになりかかってたらしい。

とりあえずブースターケーブルを使い知人の車につないでエンジンをかける。

あとは子供やほかの教会の人たちと楽しい時間を過ごす。


2006年09月19日

_ fontconfig

先日来の問題は要するに今までよりも積極的に埋め込みビットマップフォントを使うようになった ということらしい。で、ビットマップフォントとアウトラインフォントでウェイトが ずいぶん違うのが気持ち悪い(ボールド好き)。

などとぐちぐち言っていたが、どのXMLファイルを設定したらよいのか途方に暮れていたら、 武藤さんのところに ヒント(というか解答そのもの)が。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
 <match target="font" >
  <edit mode="assign" name="embeddedbitmap">
   <bool>false</bool>
  </edit>
 </match>
</fontconfig>

こいつを.fonts.confに入れて元通り(ちょっと違うような気もするけど)。

_ StGIT

先日断念したQuiltをGITをバックエンドとして実装したもの。 これはいい。Quiltではできなかった以下のことができる

  • うっかりパッチセットを作り忘れてても後から対応できる
  • upstreamとのマージを明示的に行うコマンドがある
  • マージした結果、空になったパッチセットを自動で削除できる
  • 矛盾解消を行うコマンドを設定可能

これを使えば、ネットにつながらない時でも自由にハックして、 その結果を(パッチセットごとに名前を付けて)保存できる。 また、ネットにつながった時に、upstreamとマージして、 パッチセットごとにコミットできる。

StGITの導入方法は以下の通り。

  • .gitを導入する。私は以前にtailorで インポートしていた.gitを使ったけど、gitを直接使ってimportしても良いだろう
  • stg initコマンドを実行

ローカルで編集する場合には(個別の修正ごとに)

  • stg newでパッチセットを作る
  • 編集が終ったらstg refreshでチェックイン

upstreamからマージするためには

  • stg pop -aで全パッチセットを一回取り除く
  • stg newでマージ用パッチセットを作る
  • cvs updateで取り込んでくる
  • stg refresh
  • stg commit

upstreamにコミットするためには

  • stg pushでパッチを当てる
  • コンフリクトがあれば(Rubyの場合、ChangeLogが絶対コンフリクトする)、編集
  • cvs ci -m ...
  • stg refresh
  • stg commit

で、これだとちょっと手順が繁雑なので以下の三つのシェルスクリプトを作った。

stgnew
パッチセットの名前を考えるのが面倒な時に時刻からパッチセット名を作りstg newするスクリプト
stgpull
upstreamからマージする一連の手続きを一度に行うスクリプト
stgpush
手元の変更をupstreamにコミットするスクリプト。ChangeLogのdiffからcvs logを抽出する機能付き。

各スクリプトの実装は宿題とする...なんてね。反響が大きければ公開しよう。 それぞれ小さなスクリプト(stgnew4行、stgpull13行、stgpush28行)だけどね。

_ [Ruby] Symbol as String (2)

で、StGITのおかげでRubyをハックしたい気持ちが増大した。

で、今回はStringのサブクラスとなったSymbolについて。 いろいろな選択肢があり得たのだが、さんざん考えた結果、

  • SymbolはStringのサブクラス
  • Hash的にはSymbolとStringは同一視される(互換性については申し訳ない)
  • Symbol#hashおよびSymbol#eql?はSymbolに対して高速に実行されるように最適化
  • Symbolに対する操作の結果はString。これはSmalltalkでもそうであった。

とした。 全体にSqueakの動作に近づいたことになるのかなあ。


2007年09月19日

_ [Ruby] REMIX'07

マイクロソフトのイベント。 なぜか招待されている。

ITProでレポートされている。このレポートには「研究テーマとして研究」というよくわからないフレーズがあるが、 私が発言したものではない、念のため。

しかし、日本で一番マイクロソフト製品を使っていないエンジニアであろう 私に講演を依頼するとは、マイクロソフトもなにを考えているのだろうか、 と思ったのだが、これはこれで面白い企画だろうと思って参加した。

内容的には「Rubyとエンタープライズ」とかいうような ここの所よくしゃべっている内容だけに新規性は無かったと思う。 その辺を期待した人には申し訳ない。 むしろ、ModelingForumの方が新しい内容があったかも。

個人的に良かったのは、講演前に控え室で、次のセッションの話者である (DLRの責任者でJohn Lamのボスである)Mahesh Prakriyaと話ができたこと。 個人的にデモまでしてくれた。

些細なことではあるが

C#やPythonの文字列はimmutableだし、逆にRubyの文字列はmutableだけど DLRではその辺どうするの>

と聞いてみた。答えは

まだ決まってない。IronRubyはまだとりあえず動くレベルで決まってないことは多い。 おそらくはmutableな文字列とimmutableな文字列の両方を用意するんじゃないだろうか

とのこと。

その他、いろいろな話(IronRubyやDRLのゴールとか、マイクロソフトで働くこととか)を 聞いたのだが、たぶんなんでもかんでもブログに書いてはいけないのだと思う。

とても楽しかった。

_ [Ruby] プログラミング言語「Ruby」の資格認定試験を開始

というわけで、世間で噂(?)の認定試験の詳細がとうとう発表になった。 問題はまだ完成してないけど。

Ruby認定制度とは

Rubyベースのシステムを設計、開発、運用するエンジニア、Rubyでシステム提案を行うコンサルタント、Rubyを教える講師などを対象とした認定試験制度です。

認定者は、Ruby技術者としての技術力を公正に評価され、高い水準のRubyによるシステム開発能力を持つことを認定されます。 この認定によりRubyベースでシステム開発を行ううえで必要な基礎的な知識と応用力をもつことをアピールすることができます。 試験の合格者は、Rubyアソシエーションにより『Ruby Association Certified Ruby Programmer』として認定されます。

試験の目的

  • Rubyの学習・教育において、到達目標となるような技術レベルの基準を示す
  • Ruby技術者が技術力を確認し、他者にアピールする基準を示す
  • 企業などのRuby技術者の採用(雇用及び開発委託)に際しての判断の基準を示す

認定試験の概要

Ruby技術者認定試験は、Rubyアソシエーションにより委託されたCTCが、受験者のRuby技術者としての技術力を公正に評価するために実施します。開発業務においてRubyを使用するための幅広い技術力を計ることができます。

Ruby Association Certified Ruby Programmer認定資格は、今後複数レベルのスキルに対応して認定することを想定しています。

認定試験合格者には、Rubyアソシエーションが発行する認定証が交付されます。

試験実施要項

  • 試験時間 : 90分 14:00−15:30予定(13:00受付開始)
  • 試験内容 : 第1回〜第3回(ペーパー試験)、選択式、出題数50問
  • 費  用 : ¥15,750
  • 第1回試験: 2007年10月27日(土) 松江会場:テルサ松江
    〒690-0003 松江市朝日町478-18(JR松江駅前)
    ※募集期間:2007年9月20日(木)9:00〜10月19日(金)12:00申込締切
  • 第2回試験: 2007年12月1日(土)東京・松江の2会場で開催(予定)
  • 第3回試験: 2008年1月19日(土)東京・松江の2会場で開催(予定)
  • 申し込み : 次のホームページよりお申し込みください。  http://www.school.ctc-g.co.jp/ruby/rubycertify

あ、そうそう。第1回の試験は松江会場でしか行われません。 また、初回を記念して、Rubyアソシエーション理事長から舞台挨拶があります。

_ [Ruby] [Think IT] 楽をする為ならどんな苦労も厭わない!

MySQL Users Conference会場でThinkITのインタビューを受けた時のもの。

っていうか、ビデオメッセージとかめちゃ恥ずかしいんですけど。 自分がしゃべってるのを聞くと落ち込む。こんな甲高い変な口調でしゃべってるんだねえ。 ああ、やだやだ。


«前の日(09-18) 最新 次の日(09-20)» 追記