朝日新聞の記事によると 経済産業省はこの夏「ハッカーの甲子園」を開くのだそうだ。
で、そのハッカーの甲子園では
全国の高校生、専門学校生の20チームが、お互いのサーバーに侵入する腕前を競い合う。優勝者はコンピューター研究で有数の米カーネギーメロン大やダートマス大に留学させる計画
だそうだ。
ここで疑問がある。この「ハッカー」はいわゆるハッカーなのだろうか。 つまり、我々が言うところの「ハック」するところのプログラマである「ハッカー」、 あるいは言葉を変えれば「ハッカーはクラッカーではない」の「ハッカー」なのか、 それとも、最近指摘するのもあきらめそうなマスコミ用語としての「ハッカー」、 すなわちシステム侵入者としての「ハッカー」なのか。
このハッカー甲子園(正式名称は「第1回セキュリティー甲子園」らしい)の競技内容がシステム侵入である以上、 この「ハッカー」は「クラッカー」と同義でシステム侵入者の意味であることが推測できる。
ところが、一方、 朝日新聞の当該記事には、
〈ハッカー〉日本ではネットワークからコンピューターシステムに不正侵入して、サイバーテロやデータ改ざんなどの犯罪を引き起こすような悪い意味で使われるが、本来は寝食を忘れてソフト開発などに没頭する人を指す。基本ソフト(OS)のリナックスやインターネット閲覧ソフトなど、常識を破る革新的な開発は、こうしたハッカーが担ってきた。
とあり、経産省もこの大会の目的として
大会を通じて優秀な人材を集め、英才教育を受けさせることで、ソフトウエア産業の国際競争力をつけるねらいだ。
を掲げているらしいので、集めたい人材は「破壊活動に長けた人物」ではなく、「優秀なソフトウェア開発者」としてのハッカーのようにも思われる。
これは一体どういうことなのだろうか。
「ハッカー」と「クラッカー」が混同されているのは周知の事実だが、 そのねじれが生んだ偶然のいたずらなのだろうか。 あるいは、高いシステム侵入能力を持つ人間は、情報を集め、 実践する能力と知識の故に優秀なソフトウェア開発者になれると考えたのか(スクリプトキディーは優秀な開発者にはなれそうにないけど)。
はたして、システム侵入能力の高い人物は、ソフトウェア開発において「優秀な人材」たりえるのだろうか。
いや、待てよ。
という流れが考えられないだろうか。なんとっ、恐るべしニッポン、恐るべし経産省っ。
いやいや、考えすぎに違いない。
年に一度の支部大会。いろいろなことがあったが、ほとんど略。
印象に残ったお話、2題。
私の知人の会社に、SI屋が営業に来た。 ひょんなはずみからRubyの話になり、 知人は「Rubyのまつもとなら知り合いだ」と言う。 営業は「えー、雲の上の人なのに」と驚く。
私は死んでるのか。
もうひとつ。
別の知人(教会では上司にあたる人)の本職は、日本刀の研ぎ師である。
彼は独立する前、7年間師匠について修行したそうだ。 が、この師匠、7年間ちっとも仕事を見せてくれない。 どういうふうに研ぐのか教えてもくれない。 ただ、自分の作品を見せに行くと、「ここは良い、ここはダメ、こっちはまあまあ」と評価だけはしてくれる。 おかげで自分で工夫を編み出す必要があり、えらい苦労したのだそうだ。
7年の修行が終わる時、ひとつだけ「ここはこうするんだ」と奥義(?)を教えてもらえた。 それは5分だった。
...7年で5分かあ。
しかし、自分で創意工夫して学んだことは忘れないので、 これはこれで良かったのだと思う、とのこと。
ソフトウェア業界でも同じやり方で伝授するというのはどうだろう。 7年は修行。師匠の仕事は見せない。 プログラムをもってくると「ここは良い、ここはダメ、こっちはまあまあ」と評価だけ。 自分で創意工夫する。
あ、オープンソースじゃ師匠の仕事がいくらでも見えちゃうな。
オープンソース、ダメじゃん(苦笑)。
妻の具合はなかなかよくならないので自宅作業。 とはいえ、子供のお守りもあったりして、実質的にほとんど仕事できないから、 会社的には休みと同じだな。
午後、妻は病院に行く。いくらなんでも長引きすぎだから。
その後、いつまでたっても帰ってこないなあ、と思ってたら電話がかかってきて 「入院」だそうだ。そうか。出産以外では初めての入院ということになるなあ。
で、急遽身の回りのものを取りそろえて病院に。近いのがまださいわいか。 まあ、単なる肺炎で心配することはないのだけれど、 弱いながらも感染の危険があることと*1、休息を取る必要があるということで。病院側も事情を理解してくれて、できるだけ早く退院できるように取り計らいます、ということだった。
ということで、今日からいきなり生後6ヶ月の娘の面倒を見ることになる。 とりあえず家事ひととりはできるつもりだけど、末娘は 今まで母乳のみで育ててきたのに、大丈夫かいな。夜はちゃんと寝るのかな。
*1 でも、今日まで一緒にいた家族には「感染の危険」は今さらだけど
ある程度名前が「売れてしまった」せいか、最近、仕事の依頼が多い。
まあ、「原稿書いてください」くらいなら、分量がたいしたことなければ ほいほい受けてしまうのだが、なかには躊躇するものもある。
たとえば、O'Reilly Networkから来た以下のようなもの。
200行くらいのプログラムをサカナに「コードの美しさ」について語ってください。 2000ワードくらい(もちろん英語で)。
ここまでなら、どうということはない。しかし、次の部分を読んで驚愕した。
他にも何人かに頼んでいます。 すでに引き受けてくださった人にはBrian Kernighan, Guy Steele, Diomidis Spinellisなどがいます。あなたも引き受けてくださるとありがたいのですが
えーと、こんな有名人の中でなにをしろ、と。
日経Linux 7月号初校を校正。 今回は39行もオーバーしたので削るのに奔走する。 しかし、いつもながら、日経の編集の人はプロの仕事をするなあ。
「カズオ」ってのは数独のことなんだね。 数独についてはRubyQuizのネタにもなっていて、 少し知ってはいたんだけど、こんなに注目されていると走らなかった。
で、ルールは知ってても遊んだことはなかったので、実際にやってみる。 ksudokuをインストールして遊んでみると....これは面白いわ。 あっという間に時間が過ぎてしまう。
Ruby2では、引数リストについて修正を加えようと思う。
具体的な変更点は以下の通り。
つまり、
def foo(a,b=1,*c,d) p [a,b,c,d] end a1=[9,8,7] a2=[6,5,4] foo(1,2,*a1,3,*a4,5) # => [1,2,[9,8,7,3,6,5,4],5]
という感じ。
ただ、問題が二つ。
取り掛かる前には「やればすぐ」と思ったのだが、 特にyaccが難物で、全然進まない。
子供に最初にプログラムさせるという話になると、 まずテーマに選ばれるのは、キャラクタを動かす、図形を描く、そして、ゲームくらいだろう。 しかし、それは適切ではないかも、という話。
Hackety Hackでは、ゲーム以外の手段でプログラムを学ぶ。 それはゲームのプログラミングは難し過ぎるから(_whyによれば)。
確かにそうかもしれない。私でもゲーム(でも難しいからBASICの頃の古典的キャラクタゲーム)を 題材に選びそうだものな。
弾さんによる 「Matzさんでさえ言及した様子がない」新言語Xtalの紹介。
うーむ、実はこっそりブログでの開発状況を観察し 密かに愛でていたのに。
個人的な経験から言えば、言語仕様がある程度安定するまでは 人の意見を聞かず、自分が「これ」と思うところを追求した方が 最終的に良い物ができる可能性が高まると思っているので(独り善がりになる危険性も高まるんだけど)、あまり人に知られない方が良いんじゃないかなあ、と思っていたのだ。
が、弾さんのところみたいな大手からリンクされたんじゃ もう隠しておく意味はなくなったな。
個人的にはXtalは
など面白いところがたくさんあると思う。
でも、メジャーになるには冒険しすぎかもしれないと思ってしまうのは 私が年を取って安定指向になってきたせいかしら?
いや、別にメジャーにならなくても全然問題ないんだろうけどね。
最悪のケースを想定することでより良い見積もりが出せる、という話。
まあ、単純に「見積もって」と言われたら、 こんな作業が必要そうだから、と思いついたものを積み上げて見積もるわけだが、 ソフトウェアの場合、「必要そうな作業」は恐らく本当に必要な作業のごく一部に過ぎない。 「最悪のケースを想定して」と言われると 最悪のケースを想定するためにいろいろな状況を考慮する必要があるわけで、 より多くの状況を考慮することでより正確な見積もりが出せるということなのだろう。
考えてみれば当然のことだが、見積もりは悲観的に。
個人的には、(〆切のある)仕事でソフトウェア開発の見積もりを行う時には、 普通に(特に悲観的でなく)見積もった時間に1.5から2.5までの係数を掛けることにしている。 最初はかなり罪悪感があったが、最終的にはいつもちょうどいいか、ほんのちょっと余るくらいで 収まるので、こんなものかな、と思っている。
この方法を実践するまでは、いつも見積もりばかり甘くていつも火の車だった。 健康を壊しかねない。
Railsに関するGeek Sessions。 今回のテーマはスケーラビリティ。
レポートを読むだけでも面白そうなネタが満載であることがわかる。 こういう交流も重要なんだろうなあ。
もうちょっと詳しいレポートは「geekSessions I: Ruby on Rails: To Scale or Not to Scale」に。
This work is licensed under a Creative Commons License.