発表。
11:00-11:45
Deductive systemによるCプログラムのポインタ解析
千代 英一郎(日立製作所)
最適化のためポインタ解析を効率よく、かつシンプルに実装するという話。 deductiveを関係代数を使って実装するというのが素敵。 なんかすっごい頭よさそうに見える。
11:45-12:30
オブジェクト指向スクリプト言語に適したごみ集め手法
○松本 行弘(ネットワーク応用通信研究所、島根大)、縄手 雅彦(島根大)
私の発表。漢字の名前はひさしぶり。なんか、前の発表に比べると異様にわかりやすくて 申し訳ない。実際の発表は、write barrierによる1bit reference count(というかsharing flag)を使って、 スレッドローカルGCを実装するという話。既存の技術を組み合わせただけなのだが、 全体としては新規性がある(と信じたい)。 ただ、ベースとなった技術の用語をそのまま持ってきたので、 世代別GCでないのに「世代別」と言ったり、 リファレンスカウント法でないのに「リファレンスカウント」と言ったり、 で、下手にGCに知識のある人には替えって分かり難かったかも。
まあ、かなり有利なケースでもGC時間が25%しか削減されないってことで、 期待した性能は出ていない。もうちょっとなんとかならないものか。
12:30-13:30 昼休み
ちょうど来てくださっていた、恩師、佐々先生とお話をする。 お会いするのは15年近くぶりではないかと。 全然変わっておられない。
久野先生と笹田くんとで昼食。 久野先生とはfjなどでのネット上のつきあいは私が学生のころからなので、 もう15年以上になるのだが、実際にお会いしたのはまだ二度目という。 静的型や動的型など面白げな話題について話す。
13:30-14:15
関数型ソフトウェア部品の適用履歴を用いたスクリプティング支援環境
中山 健、○谷沢 智史、Cheng Jachong、野中 貴俊、小林 良岳、前川 守(電通大)
正直、よくわからなかった。非協調状態での部品の流通と評価という話のようなのだが、 その割には「部品」に加えられる制約が厳しいような。 あるいは実態と理想との解離が大きいのかもしれない。
14:15-15:00
美術・工芸教育に適したプログラミング言語
○鍛治 秀紀(多摩美大、筑波大)、久野 靖(筑波大)
久野先生のところからの発表。久野さん自身はずっと昔から静的型派なのだが、 「学生はみな動的型の言語を作るんだよねえ」とのことだった。これもそのひとつ。 発表者は多摩美の講師。日本語プログラミング言語とそのIDEを作ったら、 学生にウケたという話。 が、文法がよかったのか、日本語がよかったのか、あるいはIDEがよかったのか、 その辺がはっきりしないところが惜しい。言語の研究は難しいねえ。 私は論文は実装方面に限定することで逃げているんだけど。
発表後も集まってうだうだと話しているうちに時間切れ。
今日は16:40の飛行機なのでここであきらめて松江に帰る。
大変、ためになった。
ふむ。「米国の大手IT企業数社がオープンソースコミュニティの進展に影響力を行使しすぎている」のだそうだ。これはどういうことなのだろうか。
ECの情報社会/メディア総合理事会のソフトウェア技術担当主任、Jesus Villasanteは、IBMやHewlett-Packard(HP)、Sun Microsystemsなどの大企業は、オープンソースコミュニティが独立した商用製品を開発するのを奨励する代わりに、彼らを下請業者として利用しているだけだと述べた。
「IBMは顧客に『プロプライエタリなソフトウェアとオープンなソフトウェアのどちらがいいですか』と訊ね、(顧客がオープンソースを望んだ場合) 『了解しました。IBMのオープンソースですね』と言っている。彼らの場合は、オープンソースよりも先に、IBMやSunやHPといった社名が出てくる」
よくわからない。「IBMのオープンソース」とはIBMが開発を主導しているオープンソースソフトウェアという意味だろうか。顧客がオープンソースソフトウェアを望んだ場合、IBMの営業がそのようなオープンソースソフトウェアを進めるのは十分合理的だと思う、そのソフトウェアが要求を満たしている限り。他にもっと「よい」ソフトウェアがあるのに、「IBM製品」を勧めるのはどうかと思わないでもないが、営業というのはそういう傾向があるのはいつものことだ。
なにか違うことを言っているのかな。
「これらの企業は、オープンソースコミュニティの潜在力を下請業者として利用している--現在のオープンソースコミュニティは、米国の多国籍企業の下請け状態にある」とVillasanteは付け加えた。
同氏は、オープンソースコミュニティに対し、これら大企業への依存を減らすように呼びかけた。
「米国の多国籍企業の下請け状態」とは、具体的にはどんな状態か。 想像するに、結局は「IBMのもの」と認識されるソフトウェアの改善にコミュニティの努力が吸い取られている、 ということだろうか。が、実際にはそんなことが起きているのだろうか。 あるいは、それによって問題が起きているのか。
もし、「依存を減らす」、つまり、IBMやSUN、HPのような企業がスタートしたプロジェクトへかかわらない
ことをオープンソースコミュニティが選んだとするならば、
これらの企業にとってオープンソースの魅力が減ってしまうことになる。
そうであれば、「米国の多国籍企業」は今までのようにEclipseやOpenOffice.orgのようなソフトウェアを
オープンソース化するという選択をしなくなるだろう。
このような選択で得をするのは、オープンソースコミュニティでも、
ここで名前のあがっている米穀米国の多国籍企業でもなく、
プロプライエタリなソフトウェア企業、たとえばマイクロソフトだろう。
「下請け」という煽情的な言葉で抑圧されているイメージを煽っても、 結局我々の手にする自由が減ってしまってはなんにもならない。 我々はソフトウェアの自由が欲しいのだ。 その見返りに「米国の多国籍企業」が自分のブランドの改善や自らのビジネスに オープンソースを利用したところで、我々はいっこうに気にしない。
「オープンソースコミュニティは、自分たちの存在を真剣に捉え、コミュニティがコミュニティ自身や社会に貢献していることを自覚しなければならない。コミュニティが自らを社会進化の一部であると自覚し、それに影響を与えようとした瞬間から、われわれは正しい方向に動き出すだろう」 (Villasante)
もうちょっと「正しい方向」を具体的に定義してもらわないとなんとも言えないなあ。 でも、ここで表現されていることだけから考えると、 彼の言う「正しい方向」が本当に正しい方向かどうか自信がない。
ということになったそうだ。詳細は以下の通り。
集中授業について 情報学類開設 授業科目名 計算機システム特別講義IA 科目番号 L51 2511 単位数 1単位 標準履修年次 1〜4年次 担当教員 松 本 行 弘 ネットワーク応用通信研究所 特別研究員 授業概要 プログラミング言語の設計と実装について述べる。単な る処理系の話ではなく、新たなプログラミング言語を作る という視点から、プログラミング言語そのものの設計と、 その処理系の実装に必要な技術について解説する。 日程 7月14日(木)10:00〜18:00 7月15日(金)10:00〜18:00 教室 3A203 履修申請 6月9日(木)〜7月6日(水) TWINSで申請すること。 備考 (世話人教員)システム情報工学研究科 新城 靖
2日かあ。ちゃんと準備しなくちゃなあ。
何ヶ月かに一度、Freshmeat.netをチェックして、 目新しい言語がないかと調べてみることにしている。 「言語おたく」としては当然の行為だ。
で、今回見付けたのが、これ。
名前は「きゅー」と読むのだろうか。RubyやPythonより高速だと主張している。
言語として目新しいのは、
文法や実装のあちこちにRubyの影響が見える。が、文法には独自の発展が見られるし、 ソースコードは私のものよりも整理されているようだ。今後の楽しみな言語である。
他にも、Slateとかも興味深い。
中学校に入って吹奏楽部に所属した長女は、 朝は朝練、夜も練習でそれなりに遅くなっている。
今日は土曜日だが、大会があるとかで学校に行ってしまった。
なんだか家族一緒に過ごす時間が減って、お父さんはさみしいぞ(笑)。
「ハッカーズライフ」の原稿。ただ、ネタが決まらない。 『ガラスの天井』、『ハッカー環境問題』、『言語重要』などなど考えるのだが、 いずれも分量と内容の深さで中途半端な気がする。
うーん、とりあえず『ハッカー環境問題』に手を付けてみたんだけど...。
今日は司会なのだ。松江では2度目。まだ緊張しているのだ。 後で妻に「管理者」と「司会者」を言い間違えたよ、と指摘された。
月の第1日曜日は断食証会。 有志が自分の経験を短い時間で語る会なのだが、 クエーカー教徒にも似たような習慣があるそうだ。 200年くらい前に習慣の継承があったのかもしれない。
で、まあ、司会者はまず自分の経験を語るという慣習があるのだが、 これがますます緊張する要素だったりする。 まあ、妻の入院をネタにしてなんとか乗り切ったのだが、 毎回こんなに緊張していて大丈夫なんだろうか。 そのうち直るんだろうか。
今日は子供のクラスでも短いお話を依頼されていて、 どきどきした。わかりやすく簡潔な話を、と思えば思うほど思い付かないものだ。 子供達の前に立つまでなにを話すか考え付かなかったんだけど、 とっさの判断でルカ17:12から。
10人の病気の人がイエスさまに直してもらったけど、お礼を言いにきたのは一人だけでした。 直ったのがあんまりうれしくて、お礼を言うのを忘れてしまったのかもしれません。 みなさんも、周りの人やお父さん、お母さんに親切にしてもらったときには「ありがとう」を忘れないようにしましょう。
とかいうような話。幼稚園児もいたのでこの辺が精一杯か(私の能力が)。
今朝の段階まで『言語重要』に書き改めよう、と考えていたのだが、 いざ原稿に向かうと結局、『ハッカー環境問題』で書くことにした。 「ハッカーは自分の(コンピューティング)環境を自ら改善できる」とかいうような話。
午前中くらいで書きあがったのだが、改めて読み返してみるとちょっと陳腐かな。 『言語重要』は来月に回すことにしよう。これで来月、テーマに悩まなくて済む、かな。
かずひこくんたちが細々猛然*1と作業を開始したようだ。
CMSとなると、ページのリビジョン管理とか、承認フローとかを考えたくなるが、 今回は「Wikiの精神を継承したCMS」ということで、 認証とアクセス制御に特化することを提案する。
では、たとえば承認はどうするかって言うと
という手順を考えている。「コピーを作る」とか「上書きする」という手続きは、 ミスが発生しやすいので、CMSの機能として提供した方が良いかもしれない。
現時点ではHikiの機能追加で実現する予定だが、 そのうちRailsとかでスクラッチで作り出したりして。
*1 開発者本人たちからの指摘により「細々」から「猛然」に訂正します。関係者のみなさんには失礼しました (_ _)
おおっ、プレスが出ている。先日、取材されたって言ってたのはこれか。
ま、そんな感じです。
これを作っている人は純粋に業務としてオープンソースソフトウェアを開発しているので、 オープンソースとしては新しい形に開発スタイルと言えないことは無いだろう。 ま、最初の一歩としては上出来では(自画自賛)。
まだ成長途上だけど、これが広く使われるようなツールになるといいなあ。
Rubyがブロックの終端に採用している「end」はRubyのコードを特徴づけている。 「end」の羅列があるおかげで、ひとめてRubyのプログラムだとわかる。
しかし、endには視覚的にインパクトがありすぎるという欠点がないわけでもない。 すぐ慣れるけど。
で、ちょいと例としてQuのような「;;」を「end」の代わりにする 文法を許してみた。ソースの書き換えは6行。これで
class Foo < Bar def foo(x) p x ;; ;;
のようなソースが書けるようになる。うーん、Rubyに見えないな。
この機能は予告なく無くなる可能性があるので、本気では使わないこと*1。
*1 しまった、April Foolにこの機能を取り込めば良かったな
最近はメールの読み書きに全文検索メーラーmorqを使っているわけだが、 返事を書かなきゃいけないメールをinboxに残しておくとすぐに数百通溜ってしまう。 まあ、処理速度が十分に速いのでそれは別に構わないんだけど、 溜った古いメールにリプライがついたことが発見し難いのが難点だ。 今日も危うく見逃すところだった。
しかし、考えてみればスレッドというものはなにも先頭のメールの日付順に並んでいる必要がある わけではない。Gmailとかはスレッド(conversation)の最後のメールの日付で並んでいる。
そうだよな。そっちがあるべき姿だろう。
というわけでmorqをハック。スレッド中最新のメールの日付でソートするようにした。 これで古いメールにリプライがあればスレッドごと浮かびあがってくるわけだ。 変更したのは、Rubyバックエンドでスレッドごとに最新の日付を保存するように追加した4行と、 ソートの基準を変更した1行だけ。 たった5行でこんなに快適。これこそがハックの醍醐味。
それから昨日の「;;」に対応できるようにruby-mode.elをハックした。 ruby-mode.elはmorqよりもだいぶ「魔術度」が高いので苦労した。 おまけにruby-mode.elに以前からあったバグを今回組み込んでしまったと勘違いして 見当違いなコード変更をしてしまってたし。
ま、楽しかったからいいけど。
特に名を秘すが、某所で時々ある人の日記をチェックしている。 ソフトウェア開発の分野ではそれなりに名の知れた人だ。
しかし、この人の日記はどうにも心に響かない。 というか、なにを言っているのかよく分からないのだ。 なんとなく人工無脳が書いているエントリを読んでいるようだ。
技術的にそれなりに高度な(そして意味もある)ことが書いてあるのに、 そう感じるというのはどういうことだろうか。
「じゃあ、読むなよ」と言われそうだが、 恐いものみたさというか、なんというか。 たまに有益な内容もあるし。
わかりにくい方が高度なことが書いてある印象を与えるのだろうか。 「ソーカル事件」のこともあるし。
あるいは分野を限定して、十分に選別したテキストで学習させると、 それなりにそれなりな日記エントリを合成できるのだろうか。
12日で松江公演は最終日なのであわてて観に行く。 私たちが観に行ったのは、12時30分からの第2回公演だったのだが、タイミング的にちょうど良かったので、 なかなか良い席で見ることができた。
そういえば子供のときにもサーカス観に行ったよな。 あれは木下大サーカスだったか。 最近、こういう古典的な娯楽って少なくなったような。 この種の芸能って後継者問題とかないんだろうか。
ともあれ、約2時間の間、大変楽しめた。 人間のポテンシャルはこんなに高いのか、と感動させられることしきり。 子供たちも喜んでいた。
ただ、私たちの座ったポジションが、 「金網バイク」のすぐ前だったので、末の子はあまりに大きな音にびっくりして 泣きだしてしまった。まあ、7ヶ月の子にはうるさいだけだよなあ。
公演終了後、挨拶をしている人たちを眺めるとかなりの割合で 日本人でない人が混じっていた。そうか、これが国際化か(違)。
冗談はともかく、近い将来日本のあらゆる産業で 他国から人材を「輸入」しないとやっていけない時代がくるのかもしれない。
もう、毎週松江に出席するのは明らかなんだから、わざわざ松江と書くのも意味ないんだが。
朝、電話がかかってきて、「日曜学校の教師が来れなくなったので代わりに教えて」という依頼が。 まあ、なんとかなるでしょう、きっと。
教会へ。聖餐会の話者の割り当てもあるのだった。テーマは「赦し」。 私はあんまり他の人を赦さなくてもいけない思いになったことはないのだが、 赦してもらわなくてはいけないことはたくさんある。 しかも、そういうことに限って忘れてしまいがちだ。 痛みを与えた方はすぐに忘れても、与えられた方はなかなか忘れられない。 安易な「忘却」によって罪のあるまま「忘れてしまう」ことのないように気を付けたい、 とかいうような話。実際に忘れてそうなことがたくさんあるなあ。
日曜学校は「知恵の言葉」について。もちろん、準備はまったくできなかったわけだが、 参加者が助けてくださったおかげで大変有意義な時間となった。 っていうか、私のやったことってみなさんが自分の考えを述べるのを助ける司会役だけ? ま、そういうものかもしれない。
集会終了後、来週結婚するカップルの「ご結婚おめでとうパーティ」がささやかに開かれる。 5年越しの恋が実ったのだそうだ。 ...そういえば、うちも出会ってから結婚までには5年かかってるなあ。
皆にからかわれつつも、幸せそうであった。 末永くお幸せに。
FSFの法律顧問にして、コロンビア大学教授であり、 SFLCの所長でもあるEben Moglenが来日した、という話題。
一番興味深く、私にとって重要なのはここ。
SFLCの直近の重要なタスクとしては,FSFと共同で進めるGPL(GNU General Public License)v.3.0の策定がある。GPLは,Linuxなどが採用しているオープンソースのメジャーなライセンス。現行バージョンのv.2がリリースされたのは1991年で,14年もの間,改定されていない。「当時とは社会的にも技術的にも状況が大きく変わり,見直すべき時期に来た」と Moglen所長は語る。ただ,「今までのGPLの成功をベースにし,混乱をまねくような変更はしない」(Moglen所長)。使用される地域の拡大を背景として「国際性を反映しているか」,携帯電話からスーパーコンピュータまで広い分野で使われるようになったことを背景として「すべての分野をカバーしているか」といった点を確認することになるという。数カ月後をメドに,透明性を確保した策定プロセスをFSFと共同で発表。2006年いっぱいかけて広くディスカッションを行い,2007年始めにGPL v.3.0をリリースする計画である。
GPL 3.0の登場は2007年とな。楽しみに待つことにしよう。
先願主義、異義申し立てなど、「まっとうな」特許システムにしようという法案のようだ。 っていうか、アメリカってまだ先発明主義だったのね。 もうとっくに「世界標準」の先願主義になっていると思っていた。
ただ、異義申し立てはともかく、先願主義は(私の感じている)特許問題とは直接関係ないように思える。 むしろ「先に届け出ちゃった方の勝ち」という先願主義の方が、 一度トラブルになった時に「真の発明者」が救済されない危険がある。 もっとも、先発明主義で本当に救済できるかといわれれば、それもまた疑問なのだが。
いずれにしても、アメリカに比べたらまだマシな日本のシステムでも問題がないわけでない以上、 「特効薬」としての効果は期待できないんでないかねえ。 なにもしないよりは良いことだと思うので、反対はしないけど。
まだ、これから研究会を作って「特許を保有する企業に対し、誰もが必要と認める基盤技術は安い料金で広く開放するよう求める」というような方針なので、いったいどういう風に転ぶのか予想するのは困難だけど、 少なくともソフトウェア特許に問題があると経済産業省が認めた(ように読める)のは朗報ではないかと。
オープンソースソフトウェアを開発しているとする。 公開するとなればライセンスを決める必要がある。 個人的にはGPLを選ぶだろう。 FSFやStallman個人に賛同しているというよりも、 Linusのように実利的な理由からだ。自分の開発した「フリーソフトウェア」がいつまでも「フリーソフトウェア」でありつづけてほしいという望みは、正当なものだと感じる。
しかし、そのソフトウェアがライブラリ的使われかたをするものだと話は別だ。 GPLだとそのライブラリをリンクしたソフトウェアも派生物と見なされるので、 全体にGPLが適用されることになる。 リンクするソフトウェアがGPLと互換性のないライセンスのものだと面倒なことになる。 ライセンスという非技術的な理由でライブラリが使えないのは、 開発者・利用者双方にとって不幸だ。どうせならできるだけ広い範囲の人々に使ってもらいたいというのが人情だし、 プレゼンスの向上などの理由でもその方が望ましい。
LGPLにはそのような制約はないので、たとえばソースを公開しない 独占的ソフトウェアであってもリンクすることはできる。 これは利用者の範囲を広げるためにはありがたい。 しかし、再リンクを許すための条項(6条)がかなり面倒である。
いっそ、LGPLではなく純粋なGPLに「ただし、リンクされたソフトウェアは派生物と見なさない」という例外条項を付けるのはどうか。これはGPLではないが、GPLよりも「より緩い条件」なのでGPLとの互換性は維持される。ライブラリソフトウェアそのものに将来に渡ってGPLが適用されることを保証したいだけなので、リンクするソフトウェアに対してLGPL 6項のような要求を行わない。なんとなく理想的な気が。
ただ、ライセンス問題はややこしいので、 上記のような例外条項が本当に意味を持つのか確信を持つことはできない。
結局、BSDライセンスを選んでしまう、私たちであった。
追記
野首さんから
以前に新部さん、ひろのぶさん、小島さんととも似た話をしたのですが、FSF的自由とプロプライエタリとのいいとこどりは困難だ、というのが結論になってしまいました。
というツッコミをいただいた。ツッコミ欄で返答したのだが、重要な点なので再掲しておく。
私は別に「FSF的自由とプロプライエタリとのいいとこどり」をしたいわけではないつもりです。立場としては、自分(たち)の書いたソースコードについてはいつまでも「FSF的自由」を適用したいが、それをリンクした他人のコードにはそれを要求したくない、というものです。ですから自分たちの「コードを守りたい」気持ちはあるのでBSDライセンスだと不満が残るのです。
それにしても「リンク例外条項付きGPL」は結構いいアイディアのような気がしてきたぞ。
おおげさな表現だが、気持ちは分かる。
Rubyでは、いつのころからか「1.8.3のような各数字はすべて1桁」というルールに統一している。 1.9からは「2桁目が奇数は開発版」というのは止めてしまった。
現在のルールは
かな。もっとも「2桁目が奇数は開発版」のルールがまだ生きているときに発生した1.9シリーズが、 将来の2.0仕様のテストベッドになってしまったので、実際に上記のルールを適用したことがないのだけど。
昔はひどくて
0.93a, 0.03bのような数字の後ろにアルファベットを付けたもの
マイナーな修正でrepackageしたものに適用していた
0.99.4-961224のような日付を付けたもの
バグ修正などは日付で、文法や大きな仕様の変更はバージョン番号で対応していた
のような全然統一されてなかった。ちょっとは学習しているらしい。
原稿書き。今日が〆切なのだ。今月のテーマは「動的な言語とDuck Typing」。
先月、継承の解説のところで一部触れた動的型についてきちんと解説してみようという試み。 先月同様、これもあんまりまとめて解説したことがなかったので、良い機会だ。
とはいうものの、あまり解説されなかったのにはそれなりに理由があったようで、 めちゃめちゃ説明しにくい。結局、FORTRANとLispの対比のような歴史蘊蓄に満ち溢れた「怪作」になった。 これは毎月のことか。
書くのが難しかったので、一時は間に合わないかと思ったが、 最終的にはなんとか間に合った。良かった。
昨年の夏投稿した論文が条件つき採択になったのは4月の話。 5月の末に書き直そうと考えていたが、 妻の入院騒ぎで延期の依頼を出した。 まあ、本当は7月までに出せばよいのだからそんなに慌てることはない、 などと考えているうちにすぐに時間が過ぎてしまった。
自分で決めた〆切が20日なので、なんとか書き上げたい。 で、今日からやっと作業に入る。
査読者からのコメントを読んでいると、 論文を書いた時の考えの浅さがきっちり指摘されて 悲しくなってくる。何度書き直しても満足いかない。 ほんとに20日までに書けるのかな。
書きつづける。何人かの人に書いた論文を見てもらう。 他人の視点で見ると自分では気がつかない問題があるものだ。
何度かコメントをもらううちに、 ようやく真の問題を把握できたような気がする。 しかし、把握できたからといって簡単に直せるわけではないのだ。 ぐすん。
家族と時間が取れなかったので、夕食は外で一緒に食べる。
Groovyも着実に進化している。JSR版では文法が変わったとの話だったが、 今回はじめて調べてみた。結構変わってるのね。
ブロックパラメータが {|x|..} から {x -> ...} になっていた。 これはPerl6((x)->{...})の影響か? これはちょっと気に入らない。 あと、「...」が「..<」になったことも。
それ以外は妥当な変更かなあ。
しかし、MYCOM PCは最近オープンソースソフトウェアのリリースをちゃんとリポートしてくれる、Java系が多いけど。いずれにしても、ありがたいことだ。
朝はワード評議会。
聖餐会の途中、青少年クラスの教師がいないことにやっと気がつく。 あわてて代理で教えることに。 自分の娘や普段毎日聖書を勉強している子供たちが相手なので そんなに緊張したりはしないが、もうちょっと上手に教えられたら良かったなあ。
午後から米子に移動してステーク神権会。 浜松時代(まだ独身のころだ)に子供クラスで教えた子(双子の片方)が 成長して姉妹宣教師として赴任してきていた。 うーむ、成長したものだ。いや、私が歳を取ったのか。
妻と子供たちが父の日のプレゼントをくれる。 ありがたいものだ。
土曜日の時点で完成したように思っていたが、 時間を空けてあらためて見てみるとまだまだ穴があるのに気がつく。 ぎりぎりで変更するのは危険なのだが、放っておくのも気が進まない。
結局夕方までかかってずいぶん書き直す。 土曜日の時点のものとはもはや別物だな。
しかし、文章書きばかりでいやになってきたぞ。
今年前期の未踏採択プロジェクトが発表になった。
Rubyネタがふたつもある。
個人的な注目プロジェクトは以下のもの。
すくなくともアメリカにおいてはIT産業は今後衰退する、という話。
調査会社Gartnerは、最大で15%のIT労働者が2010年までにIT職を辞めると予測している(定年退職および死亡は除く)。退職の理由のほとんどは、「仕事に就けない」「金にならない」「仕事に満足できない」のいずれかだろうという。同じく2010年までに、全世界の技術開発者(プログラマーから、メインフレームやノートPCなどあらゆる機器のメンテナンス要員まで)への需要は30%縮小すると予測されている。
CNNのニュースでも同じ内容を見た。
本当にプログラミング好きでない人には辛い仕事かもしれないし、 それならば(他にもっといい仕事があるなら)そっちに行った方が幸せかもしれない。 プログラミングよりもわりのいい仕事はいくらでもありそうだからなあ。
Rubyist Magazine第7号。ぱちぱちぱち。
こんな内容。
来月は私も書く、予定。
飛行機に乗って東京へ移動。VA Linuxビジネスフォーラム2005に出席するためだ。
のんびり移動していたら最初の方の話は聞けずに、MySQLの話から。
ずっと聞いていたのだけど、テクニカルな話はマーケッティング色が強くてそれほど面白くなかった。 一番面白かったのは、「UFJ銀行のオープンプラットフォーム戦略とLinuxへの取組み」というお話。 最初から最後まで「本気で使うユーザの視点」を押し通していてすがすがしい。 普段、あまり聞くことのない視点だったので目新しかった。
ITmeaidにレポートがある。
その後、懇親会に紛れ込む。おいしいものをほおばりながら、 原稿で御世話になっている人を始めとするITメディア関係者と御挨拶。 上記のレポートを書いた西尾さんが高校の後輩であることも判明。 世間は狭い。
最近、文章ばかり書いていてライターに成り下がっている。 いや、大事な収入源なのだが、でもプログラミングの方が圧倒的に楽しいのに、 全然時間が取れないのだ。
いやいや、時間が取れないのは作らないからだ。 そこで決心した。これから当分1日1ハックを目指そう。
とりあえず今日は、先日レポートがあったRubyのBignumにビット演算のバグがある点について。 どうやら、2の補数表現への変換でoverflowの扱いに間違いがあったようだ。 分かる人には自明なのだろうが、数の扱いが苦手なので、 懇切丁寧に解説したメールをいただいてはじめて理解できたという。
ということは、以前このバグを直そうとしてごちゃごちゃやったのは全て無駄だったということかな。 数学バカがBignumを処理しようというのがそもそも間違いか。
以下のような人々を前に並べた上で勝手に喋らせるセッション。
ひとりだけ名前の表示幅や肩書が長いぞ、というのは置いといて。
で、ITmediaに寄せられた質問に対して、それぞれが勝手なことを言うスタイルだったのだが、 まあ、予想通りぐだぐだと話して終わり。盛り上がったんだか盛り上がらなかったんだか。 あと、聴衆の役に立ったんだか、役に立たなかったんだか。
その場で話されたことの概要はBravoさんがまとめている。
やや、補足するなら、私の主張のうち
ってのが書いてなかったかな。後者は私が「ここだけの話ね」って言ったからかもしれないけど、 ああ言ったのはその場のノリで、別に秘密にする程のことじゃないよね。
で、島根は遠いので、セッションが終わったら講師控え室で支給されたお弁当をいただいて帰路につく。
追記 (2005-06-29)
MYCOM PCで取り上げられている。
「確かにRubyにも(自分の勤務先の)お客さんの要望で入れた機能はある」なんて言ったかなあ。 Rubyじゃなくて「うちが開発しているOSS」というつもりだったんだが。
ITmediaでは20の質問それぞれで20本の記事を書くと西尾さんが息巻いていたが、 本当にできるだろうか。
先日の冗談パッチ(「;;」をendの代わりにするもの)に手を入れて、 「;;」を「end;」の代わりにしてみた。やっぱ「;」を含むんだから、文の区切りでないとな。
ary.collect do |x| x*2;;.each do |x| p x;;
とか気持ち悪すぎ。
あとは、anthyのkyuriバインディングにバグがあったので修正。
帰って家族と夕食を食べてから教会でミーティング。 出張があるから出席できないというつもりだったけど、 間に合うように帰れてしまったので。でも、ちょっとくたびれた。
世の中には10月のRuby Conference (+OOPSLA) のチケットのことを心配している人がいるというのに、 まだ8月のOSCONのチケットさえ手配していない、私。
というのも、O'Reillyがホテルを手配してくれるかどうかが分からなかったので、 手配できなかったのだな。とうとうしびれを切らして確認してみたら、 「メール読み落としてた(spam扱いされたのかな)」とのこと。がーん。
最終確認はできてないが、たぶん以前同様ホテルの手配はお願いできそうなので、 やっと航空券の手配ができる。
と、思ったら
以前、アタリを付けていた楽天トラベルは「サーバーエラー」を繰り返すばかりで まったく役に立たない。どうしたかな。 別の旅行代理店で探してみると、どうも狙っていた「米子(ANA)→中部国際→サンフランシスコ(UA)→ポートランド(UA)」の便は満席になったようだ。まあ、夏休み期間だっていうのにスタートが遅いよなあ。
やっぱ便数の多い成田発着を使うしかないか。羽田と成田が遠すぎてイヤなんだけど。 このままだと土曜日にうちに帰り着けなくて東京泊で、到着は日曜の朝になりそうだし。
昨日の「醜いコード」例
ary.collect do |x| x*2;;.each do |x| p x;;
を見てたら、.で始まるメソッド呼び出しのレシーバは前の式の値であるとするのはどうだろうかと妄想する。 ただ、実際に手を動かすところまではいかなかった。
数年前から旧日銀松江支店跡が「カラコロ工房」という場所になっている。 が、駐車場に不自由する街中はなんとなく足が向かなくて行ったことがなかった。
しかし、最近妻や子供たちがはまっているビーズ細工の材料があるというので、 期末試験の勉強をするという長女以外をつれて出かけてみる。
妻・子はビーズ細工を楽しみ、私はテラスで飲物を飲む。 今日は暑い日だったが思いのほか風が涼しくて快適だった。
あと、旧日銀の金庫を見学した。これは面白い。 いや、ただの超分厚い鉄のトビラだけなんだけど。
昨日問い合わせていた代理店から エア・カナダを使う名古屋便に空きがあるかもしれないとのこと。 スパムに分類されていて発見が遅れた。
セントレアを使ってみたいと思っていたし、乗り換えは楽だし、 空きがあるならそれに越したことはない。月曜に早速問い合わせよう。
しかし、小さい代理店は
の順序なので不安が伴うよなあ。 フランスに行った時もそう思ったが、あの時は無事に行けたけど。
土日は休みにしよう、と思っていたが、 Rubyのprocess.cでdetach_process_watcherがプロセスの終了を検知しても 1秒待っていたのをrb_waitpid()が成功した時点でスレッド終了させるようにした。
また司会だ。今日は前回よりは緊張しなかった。少しずつ慣れてきてるんだろうか。 良いことかどうかはわからないけど。
男の子が女の子の友達を連れてきている。 今日のお話はちょっとむずかしいのが多かったんだけど、 お話の間、いろいろと解説したりしている姿に感心する。 なんだかいつもよりずっと立派に見えるぞ。あ、ちょっと失礼か。
今週も青少年クラスを教える。 教えたいこと、ちゃんと伝わったかなあ。 もうちょっと事前に準備しておくと良かったかもしれない。 いつも、準備しているときには「もう大丈夫」って感じるんだけど、 いざ本番になると(なんとかこなせるものの)ホントに十分だったことは少ないよね。
それは人生においていつものことか。
途中具合が悪くなった人がいて、もうひとりの副監督が病院に連れていく。 結局、ちょっと疲労が溜っただけだとのこと。 頭が痛い、吐き気がするとかいうから、脳梗塞とかそういうのを心配しちゃったよ。 まあ、不幸中の幸いというかなんというか。
先日のOSS Roundupの質問にこんなのがあった。
どこかのブログでオープンソースとキリスト教は相性がよいなどということが書かれていましたが、宗教などとの相関関係を、GNUが宗教だ!といったネタ話でなく、どうお考えですか?
それに対して八田さんは「GNUは宗教です、イヤ、マジで」とか返してた。
私はと言えば、その場では「あんまり関係ないんじゃないですか」なんて返答してたんだけど、 まあ、キリスト教の精神のうちオープンソースの動機と関係がある(ことがある)ものが ないわけじゃない。
たとえば、
という言葉がある。 「受けるよりは与える方がさいわいである」とはオープンソースの生態系を維持している 「動機」を説明しているような気がしないでもない。
私の気持ちを良く説明しているのはこっちかな。 これは「黄金律(golden rule)」と呼ばれることもある有名な言葉だ。
私は、たくさんのソフトウェアのソースコードが自由なライセンスで公開されてほしい。 だから、自分のソフトウェアを自由なライセンスで公開するわけだ。
これには「白銀律(silver rule)」とでも呼ぶべきバリエーションがあって、 それは
人々にしてほしくないと、あなたがたの望むことは、人々にもしてはいけない
である。ソフトウェア特許で訴えられたくない人はソフトウェア特許に手を出してはいけない、 とかいうような感じか。
だから、オープンソースとキリスト教の相性は悪くないと思うよ、うん。
もっとも、これはオープンソースのすべてを説明しない。 金銭のためにオープンソースにかかわる人、 ソフトウェアの自由に関心がなくても仕事としてオープンソースにかかわる人なども いくらでもいる。
そういうことを含めると、一般論としては「やっぱ関係ないんじゃないですか」になってしまうかな。 ま、そういう考えもあるということで。
ぼやぼやしてたら代理店から北海道のチケットが満席だと言われる。 あわててJALのサイトで 「インターネット予約」したらまだ間に合った。
ついでにホテルも予約。
金曜に連絡していたポートランドへのチケットも取れそうだ。
これで一安心。
上記の「北海道」とはこのイベントのことだ。 宮原さんとは古い付き合いだし、なかなか面白げなイベントなので参加させていただくことに。
今年はLLDNに全然参加できなかったりするしね。
で、今日になってようやくプログラムを確認したら、結構もりだくさん。3トラック+展示でとても全部は見れない。まあ、1日で全部やろうってんだからしょうがないか。
北海道のみなさん、どうぞお手柔らかに。
Winnyに寄生するトロイの木馬。
Trojan.Kakkeys is a Trojan horse that attempts to leak sensitive information to a predetermined bulletin board (BBS). The Trojan is written in Ruby and may be distributed via the Winny file-sharing network.
重要なのはこれがRubyで書かれていることだ。 遠からず不埒な使いかたをする奴が出るだろうとは思っていたが。
Google Summer of Code 日本版。いいことではないだろうか。
金があるところはこういう試みをどんどんやってもらいたい。 この中でホンのいくつかでも成果をあげれば元は取れると思うな。
うち(NaCl)もなんかやるべきか。 「夏のRuby」とかどうか。
そのためにはもうちょっとRubyで儲けないとなあ。
朝、旅行代理店から電話があって、昨日「もう取れない」はずだったチケットがとれた、とのこと。 なんだよ、JALで予約しちゃってたよ。ところがツアーで取ったのでキャンセル料が15,000円もかかるとのこと。しかたなく、昨日予約した方のチケットとホテルをキャンセルした。
幸い、キャンセル料は発生しなかったし、合計金額は安くなったし、 ホテルのランクは上がったのだが、 残念なことに泊まる予定のニューオータニ札幌にはインターネット接続が提供されないらしい。 残念。
ポートランド行きのチケットの手配も完了。
松江近辺は渇水だというのに新潟は豪雨だという。 皮肉なものだ。
飯梨川水系は貯水率が5割を切っていて、 旧松江市近辺は給水制限が始まった。 旧玉湯町、旧宍道町は制限する程ではないようだが、 子供達の小学校は水泳は今日までで中止だそうだ。 次女はまだプールの授業がなかったのでふてくされていた。
バランスよく降ってくれればいいのになあ。
今朝の山陰中央新報で読んだのだが、リンクは徳島新聞から。
この記事にある「伸矢ちゃん」は学生時代の知人の息子さんだ。 当人との面識もある。賢そうないい子だった。 彼がお母さんの実家に帰省中、突然行方不明になってからもう16年にもなる。
ご両親をはじめご家族の気持ちを考えるといたたまれない。 が、北朝鮮による拉致の可能性とは想像を越えていた。 考えてみれば、そういう理由でいなくなったと言われた方が自然に思えるくらい 徹底して手がかりがなかったなあ。
いや、可能性が公表されただけで、なんの新情報も出てきていないんだけど。
最近、ちょっと睡眠時間が短かったせいか疲れが残っている。 油断してたら午前中まるまる寝てしまった。社会人としてダメ過ぎ。
morqでメール一覧を表示する際に、同じスレッドに属するメールは、 共通の先祖になるメールがなくても1スレッドとして表示するようにした。 これでin-reply-toかreferencesでスレッドがつながっている限り、 同じ話題は並んで表示される。
また、XFCEのバージョンアップにともない、 いくつかのPanelプラグインなどが動かなくなっていたのも修正した。
xfce4-weather-pluginを使ってみようと思ったが、 山陰にはひとつも観測点がないようだ。山口は下関も山口も宇部もあるのに。
Rubyのバグ修正をいくつか。
本当は1.9の文法をいじろうと思ったのだが、 構想がまとまりきらなかった。
考えていたのは
などだ。しかし、後者はlambdaに相当する新しい文法を考えなければならないようだ。 現在の「|x|」のような形式ではメソッド引数リストと同じ文法を使えない(省略時の値としてbit-or演算子としての「|」がくる可能性があるから)。
なやましいものだ。
私が中学生の頃、技術・家庭科と言えば、 男子が技術科として工作などの技術を、女子が家庭科として裁縫や料理を習うものであった。 しかし、娘に聞くと、今の中学生は男女分け隔てなく同じことを習うようだ。
しかも、技術科の内容のかなりの割合がコンピュータの取り扱い方だったりする。 娘の教科書の巻末の用語集はほとんど「IT用語集」の様相を呈しており、 「コンパイラ言語」とか「バグ」とかの用語が解説されているのを見ると 時代の流れを感じる。