しばらく音沙汰がなかったsoftware patent MLにまたメールが流れるようになった。 松田さんの「現実的な対応」についても理解が浸透してきたようだ。
私も何通かメールを書いたけど、今ふりかえるとなんだかとんちんかんなことも書いている。
現時点での私の考えをまとめると
これでアメリカで「日本やヨーロッパが活用しているソフトがうちでは使えないのは特許のせいだ」 というケースが数多く見られるようになれば、世間の味方も変わるかも、という考え。 当然アメリカ政府は「うちと同様の基準を導入しろ」との圧力をかけるだろうから、 各国の政治がどう動くかにかかっていることになる。 自分で書いてても甘すぎるような気がするけど、希望ゼロではないと信じたい。
これと、松田さんの提案である「インターネット公知」と「危険な特許データベース」を組み合わせたものが、 オープンソース(フリーソフトウェア)界のできる精一杯かなあ。
追記
「オープンソース(フリーソフトウェア)界のできる精一杯」は正確には 「特許を持たないオープンソース(フリーソフトウェア)開発者のできる精一杯」と した方が良さそうです。
早朝4時に「破水したかも」と起こされる。 さっそく妻を病院につれていく。
玄関を出たら、ちょうど正面に満月が輝いていた。
妻を病院に送っていって、pomで調べると
matz@x31[~] pom 2004102804 Thu 2004 Oct 28 04:00:00 (JST): The Moon was Full
だそうだ。そういえば、「出産は満月に多い」と聞いたことがある。
うちの子で調べてみると、長女は新月(5% full)だったが、次女はほぼ満月(98% full)、 長男はちょっと足りない(67% full)だった。サンプル数が少なすぎるが、 なんとなく満月に近い傾向はあるような気がする。
pomはThe Epoch(1970-01-01 00:00 UTC)以前は計算できないようで、 自分の産まれた時は計算できなかった。年寄り。
後でアルゴリズムを調べてRubyで計算してみよう。
追記
pomのソースをベースにハックしてみた。
# Copyright (c) 1989, 1993 # The Regents of the University of California. All rights reserved. require 'time' EPOCH_MINUS_1970=(20 * 365 + 5 - 1) # 20 years, 5 leaps, back 1 day to Jan 0 EPSILONg=279.403303 # solar ecliptic long at EPOCH RHOg=282.768422 # solar ecliptic long of perigee at EPOCH ECCEN=0.016713 # solar orbit eccentricity LZERO=318.351648 # lunar mean long at EPOCH Pzero=36.340410 # lunar mean long of perigee at EPOCH Nzero=318.510107 # lunar mean long of node at EPOCH include Math def potm(days) n = 360 * days / 365.242191 n = adj360(n) msol = n + EPSILONg - RHOg msol = adj360(msol) ec = 360 / PI * ECCEN * sin(dtor(msol)) lambdasol = n + ec + EPSILONg lambdasol = adj360(lambdasol) l = 13.1763966 * days + LZERO l = adj360(l); mm = l - (0.1114041 * days) - Pzero mm = adj360(mm); nm = Nzero - (0.0529539 * days) nm = adj360(nm); ev = 1.2739 * sin(dtor(2*(l - lambdasol) - mm)) ac = 0.1858 * sin(dtor(msol)) a3 = 0.37 * sin(dtor(msol)) mmprime = mm + ev - ac - a3 ec = 6.2886 * sin(dtor(mmprime)) a4 = 0.214 * sin(dtor(2 * mmprime)) lprime = l + ev + ec - ac + a4 v = 0.6583 * sin(dtor(2 * (lprime - lambdasol))) ldprime = lprime + v d = ldprime - lambdasol return(50.0 * (1 - cos(dtor(d)))) end def dtor(deg) deg * Math::PI / 180 end def adj360(deg) loop do if (deg < 0) deg += 360; elsif (deg > 360) deg -= 360; else return deg end end end tmpt = (ARGV[0] ? Time.parse(ARGV[0]) : Time.now).to_i days = (tmpt - EPOCH_MINUS_1970 * 86400) / 86400.0 printf "%1.0f%% full\n", potm(days) + 0.5
これによると私の誕生日は94% full、妻の誕生日は32% fullのようだ。 もうちょっとサンプルを取らないと本当に多いかどうかは断定できないが、 6人中3人が満月近くというのは結構偏っている印象がある。
追記
多いのは大潮の時だそうだ。 大潮だと新月の時も含むからうちの場合4/6になる。 日記巡回してみても確かにそんな感じだな。
追記
ライセンス表示が抜けていた。Ruby版もBSDライセンスに従う。 pom.cにはオリジナルBSDが記述されていたが、修正BSDライセンスを適用してかまわない。
15時42分に産まれました。女の子。2826g。 母子ともに健康そうです。
オフィスにいると妻からメールが届く。 最近(OSS貢献者賞でもらったPCで)メールを使えるようになったのだ。
「具合が悪いから帰って」
おおっ。打ち合わせもそこそこに帰宅。せっかく末娘の誕生日なのにね。
一歳になりました。母親が具合が悪いのだが、娘は関係なし。
妻が、「ほんとうにひどくなる前に焼いた」というケーキに 姉たちが飾り付け。クリームを塗ってフルーツを乗せて、ケーキ完成。
食事後、貪るようにケーキをひときれ(1/8)食べる娘。 なんでも食べるようになったなあ。
しかし、この子は年齢よりも発育が早いような気がする。 上の子たちは、一歳になる前に走ったり、歌ったり、踊ったりしなかったように思うのだが。
ステーク青少年神殿参入で長女は福岡へ。 初めての経験だが、緊張しているのは親の方だったりして。 本人は平気な顔をしている。
二歳になった。今まで一番おしゃべりな子だが、 まだ指で2は作れない。チョキは意外に難しいようだ。
ハロウィーンというのは、万聖節(All Saintes Day)の前の日の夜 という意味で、古くからの言い伝えによると 地獄の釜の蓋が開くとか、魔女が集会を行うとか言われている。 要するにキリスト教以前の神話との融合によって発生したお祭り なのだが、おばけが多く登場するなど、 イースターやクリスマスよりも古い様相を残しているような気がする。
ま、そんなことはどうでもよくて、 ただ楽しむためだけに集まってたりする。 仮装とゲームとお菓子と歌と。
妻が責任者(の一人)だったこともあって、 準備段階からいろいろと参加したのだが、 参加した人たち(特に子供たち)が結構楽しんでくれたようなので よかった、よかった。準備に参加してくれた人たちに感謝。
ところで、ひとりめちゃめちゃ気合いの入った仮装をして、 みんなが遊んでいる間もひとりでたたずんでいる人がいたのだが、 彼女には楽しんでもらえたのかなあ。 そんなに不愉快そうではなかったが(ちょっとYuguiさんに似てた)。
今日の仮装大賞は彼女に。
プログラミング言語SNOBOLとIconの主要開発者である Ralph Griswoldがなくなったとのニュースが流れる。
そろそろ第1世代の言語設計者の訃報を聞くようになったなあ。 Kristen Nygaard (Simula)や、Konrad Zuse (Plankalkül) は既に鬼籍に入っている。
僕らはいったい第何世代くらいなんだろう? 2? 3?
ここ1ヶ月くらい「何歳?」と聞くと「10月28日で3歳になります」と かわいい声で繰り返していた末娘が、とうとう3歳になった。
で、いざ、10月28日が来たらどう答えるのか、楽しみにしていた。 2歳から3歳に変わる時期というのは、年齢に対する自覚が微妙な年齢である。 0歳から1歳や、1歳から2歳の時はまだ「年齢」という自覚が薄くて 誕生日ということもよくわからないし、 4歳以降は年齢の仕組みも理解していることが多い。
で、末娘の3歳はどうかというと、 「何歳?」と尋ねると
「10月28日で3歳に...なりました」
と切り替えした。おおっ。
あぁ、なんて 親馬鹿モードなエントリ。