私もRubyを作りはじめて10年、ときどきイヤなこともありましたが、 基本的に楽しいので続けてこられました。Rubyが広く使われるようになって、 「使っています」、「最近勉強を始めました」などと言われることも増えましたし、 海外を含めたくさんの人から「すばらしい言語をありがとう」とも言われました。
それはそれで満足していたのですが、 今日になってgreenteaさんから お中元が届きました。驚きです。
長生きはするもんです。ありがとうございました。
追記: greeneaさんの名前が間違ってました(nが落ちてた)。どうもすいません。
追記2: ああっ、だからgreenteaさんだってば。
以前も話題にした経済省による「セキュリティ甲子園」だが、 インターネットWatchの記事によると
しかし開催発表後、セキュリティ技術の不正利用の側面を強調した理解や、犯罪の誘発を懸念する受け止め方がなされるなど、イベント実施に対して懸念が存在する状況であると主催者側が判断。これに対して、「本来の趣旨について誤解が生じかねない状況のまま競技会を開催することは、高校生等を対象とすることに鑑みても望ましくない」との判断に至り、開催の1年間延長を決定したという。
ということで延期が決定したらしい。
いろんな意味で期待していた身としてはちょっと残念。しかし、告知には
来年度の実施に当たっては、例えば、与えられた制約条件の中で最高の性能を発揮するプログラムをオープンソースで開発するコンテストなど、技術の悪用が強調されにくいような形で若く有為な才能を発掘するスキームとなるよう、政府・大学・研究機関・民間の専門家による検討を改めて行っていくことと致します。
とあるので、むしろ良い方向への変化が期待できる。1年後を楽しみにしたい。
しかし、経済省、最近フットワークが軽いな。良いことだ。
松江出席。転出していった友人が出張のついでということで訪ねてくる。懐かしい。
娘と面接。少々話した後、囲碁とオセロを一局ずつ。 しかし、囲碁はルールを完璧に忘れてるぞ。整地はどうやってやるんだっけか。
年に一度の健康診断。実は前回予約の日をすっぽかしてしまったので、 今日は忘れないでくださいと念を押されていたのだった。 今年は「当たり年」なので胃カメラを飲むことになってるし。
で、いろいろと待たされながらも、
などなどをこなす。いやあ、疲れた。
最近の胃カメラは鼻から入れるんだねえ。 珍しい経験をした。
やや脂肪肝気味と指摘された以外は健康であった。 自家製フォアグラかぁ。
分散バージョン管理の続き。
実際に試してみることにする。
まず、svk。VCPを使ったCVSとの同期はpserverにしか対応していないような気がするため、断念。 Perlモジュールを大量にインストールする必要があるのがやや面倒という 理由もあるが、使えるのなら躊躇しない。もしかして最新版ではできるとかいう話なら、 喜んで乗るのだが。
次に、gitを試す。gitにはgit-cvsimportとgit-cvsexportcommitというコマンドがあり、 CVSとのコミットのやりとりができるそうだ。 で、git-cvsimportでRuby HEADを取り込んでみたが、 ゼロからインポートするのに7時間かかった。 ちょっと遅すぎ。マニュアルにはgit-cvsimportはインクリメンタルにインポートできる と書いてあるのだが、その実態は全体のrlogを取り、 再コミットすれば各コミットのハッシュ値が同じだから二重登録はされない、 というもののようだ。とにかくインポートに時間がかかる。 個人的なニーズとしてはオンラインになるごとにインポート・エクスポートをしたいわけ だから、これではあまり使えなさそう。
この時点ではgit-cvsexportcommitまでは試せず。
それから、tailorを試す。 tailorは各種バージョン管理システム間でデータのやりとりを行うツール。 全部はとてもできないので試したのは
まず、どれにも共通していえるのはRubyのCVSリポジトリは大きすぎるということ。 1.8ブランチのような小さなものでは問題なくCVSからインポートできたけど、 HEADのような大きなものではどれもエラーになってしまう。 仕方がないので日付を指定して最近の履歴だけに限定すれば取り込める。
tailorの問題は、エクスポートである。 「CVSからのインポート」は誰もがやりたいことだろうから、 わりとすんなり(それでも規模の点で面倒だったが)進んだが、 「CVSへのエクスポート」はどれもうまくいかない。
svnは謎のエラーが発生するし(日付を指定するとtailorが内部的に呼び出すcvsのコマンドライン引数が間違っててチェックインできない)、 gitに至ってはtailor内部のPythonメソッド呼び出しの引数の数から間違っていて、 このコードは絶対にまともに動いたことが一度もないのは明らかという感じ。 とりあえずあまりにも明白なバグは修正したが、それでもまだまだ動かない。 バグ満載の気配。
まだ、monotoneは試していないんだけど、 CVSからのインポートはサポートしていても、エクスポートはサポートしていないから tailorのmonotone対応がうまく動いてくれるかどうか、ってところだが、 svn, gitの対応具合を見ると結構怪しそう。
あと、darcsか。tailorはもともとdarcsのツールだそうだから、 実は期待できるのかも。後で試してみるか。
ところで、tailorのgit対応が出したエラーを見てて気付いたんだけど、 Pythonって
>>> class Foo: ... def foo(self, a, b): ... print a, b ... >>> foo=Foo() >>> foo.foo(1,2,3) Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: foo() takes exactly 3 arguments (4 given)
ってエラーを出すのね。3つしか引数渡してないのになんで4 givenなんだ とか思っちゃった。ちょっと考えればレシーバが引数として渡されるから ひとつ増えるのは分かるんだけど、Rubyに慣れた身としてはだいぶ驚いた。
普段なら採用面接を担当してる前田くんが 外せない用事があったということで、私ともう一人で採用の技術者面接を受け持つ。
で、FizzBuzzにヒントを得て紙の上に簡単なプログラムを書くという問題を 2問ほどやってもらう。緊張したのかちょっと的外れな解答もあったけど、 さすがに全然プログラムができないってことはなさそう。
っていうか、日本での面接で全然プログラムできないプログラマ候補に出会ったことないんだけど、 それはやっぱりエンジニアの地位が高いアメリカ固有の事情なのだろうか。
日本でのエンジニアの地位なら、できるフリをして潜り込む動機がないものね(自虐的)。
いずれにしても、わずかな時間で人を判断できるだけの情報を集めるのは 難しいものだ。書類での情報と実際会って得られる情報はまた違うし、 そのいずれもが「本当の人となり」を表しているとは限らない。
難しいものだ。いずれにしても、もっと人が欲しいなあ。
というイベントが開催されるそうだ。
プログラマーの挑戦が世界を変える
ハッカーの流儀がメインストリームになる
のだそうだ。本当かな。
まあ、いずれにしても著名人たちの話が聞けるのは貴重な機会であろう。 定員が限られてるみたいだけど。70名は少なすぎるなあ。
私はちょうど同じ日にX-Devに呼ばれてるから 顔を出すくらいはできるかもしれない。
Unicodeに間違いがあるって知ってた?
まあ、9万以上も文字があれば間違いがあるのも無理はないかもしれない。 しかし、どのような経緯でこんな間違いがまぎれ込んだのか、 むしろ、その辺が知りたい気もする。