セキュリティ&プログラミングキャンプ2010にいってきた その2

いってまいりましたので, 詳細をば.

まず12日は寮より出撃. なんか台風らしいとのことで指定席をとってあった新幹線を一本早いものへ変更. いまさらながら, 大きな荷物のために自転車へ乗れないことに気付く. しかし駅へは同級生へ送ってもらえました. 感謝!

まぁ東京駅までは順調に. 案外新幹線は空いてましたね. 自由席でも普通に座れるくらいには. 新幹線ホームから京葉線ホームまでの移動がかなりの距離. 動く歩道があった. 行きは乗らなかったけれど. こんでてひどかったし. そしてホームへ着くとそこには各駅停車が. そのまま乗れたけれど一本遅い快速へ乗ろうとあえて座る. だがしかし強風のせいで前に追い着かず.結局20分の遅刻で会場入り.

昼食のあとは, 開講式. 経済産業省の方が電車で遅れて挨拶に間に合わず. めずらしいこともあるもんだね. 式のようすから, この行事に対する力のいれようが感じられた. 今思い返すと, それに報いることができるかまだ自信はない.

オリエンテーリングのあと共通講義. これもまた熱さというか, 思い入れを感じました(特に吉岡さん). それほどまでに背水の陣なのかともおもったけれど. それと特別講義と題して首藤さんより人生論を語っていただきました. すごい. 宇宙空手の人とも違うすごさでした.

二日目の午前は組別共通授業. オープンソースやコードリーディング, デバッギング, コンピュータアーキテクチャなど.
午後にはコース別に. はじめはgitのつかいかた. Rubyの公式リポジトリSubversionなのですが, キャンプではローカルに存在するマシン上のgitリポジトリに対してコミットなどを行ないました. そのあとRubyの使い方とソフトウェアアーキテクチャ, ディレクトリ構造などについて学びました.

色々ありすぎて時系列に合せて思い出せなくなってるのであとはてきとーに.

拡張ライブラリの作りかたや, コミュニティ構造, 高速化手法など. 高速化はしないほうがいいが結論でしたが. あとは可読性とのトレードオフとか. ソフトウェアの説明には絵を描こうとか. 段階的な具体化, 抽象化.

事前に仕込まれたバグのバグ取り大会もありましたね. 講師の方々曰く簡単なバグといわれても, .[ch]でないファイルに書かれていたというオチに苦しめられた人多数でした.

Pythonの言語仕様について議論しているPEPでの提案を枕に, 言語設計について議論会がありました. 文字列はmutableであるべきかimmutableであるべきか, スコープはレキシカルかダイナミックか, 整数同士の除算の挙動とか. まとめとしては歴史(を|に)学ぶということ, コミュニケーションを(何語であっても)取ろうということでした. 解決策や意見があったとき, 言語の壁によって阻まれてはもったいないしね.
http://www.slideshare.net/nishio/ss-5019563

組別の後半では, 各自が選んだ課題に取り組む時間が取られました. 実際に行われた課題を列挙しておきます.

  • Rubyの動作の視覚化
  • Little Quilt言語の処理系実装 (関数のネストにもクロージャにも無名関数にも対応! あと再帰があれば...)
  • Rubyの高速化に挑戦 (GCにプリフェッチを入れてみた. たしか2%くらいの高速化)
  • Ruby構文の追加 (後置条件文にcase whenを追加, ハッシュの区切りの改行への対応)
  • Rubyのバグ取り

わたしが挑戦したのはRubyのバグ取り. 成果物はこちら
http://redmine.ruby-lang.org/issues/show/3696

そののちの合同成果発表会ではプログラミング言語組の代表で発表させていただきました.

そのためにのちの本の奪取戦では優先権をいただきました. 戦果は次のとおり.

並行コンピューティング技法 ―実践マルチコア/マルチスレッドプログラミング

並行コンピューティング技法 ―実践マルチコア/マルチスレッドプログラミング

こちらは坂井さんにサインもいただきました

C言語によるオブジェクト指向プログラミング入門

C言語によるオブジェクト指向プログラミング入門

かえりの電車では兄とニアミスしたくらいしかイベントはなかったので略.

たのしかったです. まとめると. かなり体力を消耗します. 日程が日程なのと内容の厚さに. 体調は万全にして参加しましょう. 来ても参加できないんじゃ悲しいですからね. 一部分でも儲けものといえますが.

とりあえずひとことだけ

参加できて興味があるなら申し込むといいよ!
人に向けてドキュメントを書くということは 自信の考えを整理することにもつながるしね. 申し込み書を書くだけでも効果があります(笑