今更セキュリティ・キャンプ全国大会2018(Cコンパイラ自作ゼミ)参加記
この記事は 静大情報LT大会(IT) Advent Calendar 2018 18日目の記事です. とても今更感のある内容ですが,アドベントカレンダーのおかげで今更公開する口実ができたので公開します.
2018/08/14-18に開催されていたセキュリティ・キャンプ全国大会2018でCコンパイラ自作ゼミに参加しました. 参加記とは言っても,もはや記憶が薄れているのでツイートと共に振り返ります.
TL;DR
セキュリティ・キャンプはいいぞ.興味があって参加権を持っている人は躊躇せずに応募しよう.
キャンプ参加前
まさか通るとは思っていなかったので通過したという実感がなかなか沸かなかったですね.
ダメ元で応募したセキュリティ・キャンプ全国大会ですが,参加候補者として選考を通過したとのメールが.まさか通ると思っていなかったので,状況が飲み込めていません...#seccamp
— さのぴー (@san0py) 2018年6月14日
会場で凄い人々に会えるんだろうなぁという期待感7割、それに引きかえ自分はちょいちょい興味のあることに触れた程度だなあという不安3割といった心境
— さのぴー (@san0py) 2018年8月13日
キャンプ1日目
みんな写真撮ってるやつ
— さのぴー (@san0py) 2018年8月14日
昼食でいきなりプロの方と会話。これがセキュキャンか…すごい!
— さのぴー (@san0py) 2018年8月14日
キャンプ2〜3日目
ひたすら開発してました.ラップトップに加えて外付けキーボード持ち込んでる人がいたり,違ったOSやエディタで開発してたりで宗教が出てて面白かったです.
一日中PCに向き合ってコードを書くの、Supercomputing Contestを思い出す
— さのぴー (@san0py) 2018年8月15日
がっつりプログラムを書くときはEmacsを使って、Terminal上で小さい編集したいときはVimって使い分けをいつもしているのですが、そんな感じで開発していたらチューターの方々に驚かれた。確かにコンテキストスイッチの発生は避けられないので普通ではないのかなあ
— さのぴー (@san0py) 2018年8月17日
キャンプ4日目
キャンプ4日目は専門講義の最終日で,集中開発コースの中で成果発表を行いました.その際の資料はこちらです. speakerdeck.com
キャンプ最終日
Ruiさんからソフトウェア開発について学んだりコードのレビューを頂いただけでも信じられんって気持ちなのに、そのあとRuiさんと焼肉を食べお酒を飲んでいたって夢でも見てるのかなって気持ちです
— さのぴー (@san0py) 2018年8月18日
キャンプ終了後
実装したコンパイラのバグを取ったり...
自作Cコンパイラ、2週間程悩んでいたバグ(自作Cコンパイラで生成したナップサック問題を解くプログラムの実行ファイルが微妙にバグる)がやっと修正できた。とてもつらい2週間だった。https://t.co/F4j0HQ2v7s
— さのぴー (@san0py) 2018年8月30日
学内LTで知見を発表したりしました. speakerdeck.com
バグについては,C言語についての理解が深まりそうなものだったのでいずれ記事にしたいと思ってます.
セキュリティ・キャンプに興味を持っている人へ
セキュリティ・キャンプの存在は自分が高校生だった頃に,教員に「こういうものがあるぞ.参加してみたら?応募課題大変だけど.」みたいな感じで紹介されたことがきっかけで知り,その頃から興味は持っていました. けれども,「セキュリティ・キャンプの参加者はすごい人たちばかりで,自分が応募してもどうせ無理だろう」と思っており応募することなく参加することを諦めていました(こういう人結構居るんじゃないでしょうか). 大学に進んでからも同じことを考えて参加を諦め,気づけば学部4年セキュリティ・キャンプに参加することができる最後のチャンスとなったことに気づきました. 「最後のチャンスだし応募しようかな」という気持ちが少し湧いておりましたが,当初は「どうせ無理...」という気持ちの方が圧倒的に大きく,それだけのモチベーションでは応募までは至っていなかったでしょう.
自分が参加した「Cコンパイラを自作してみよう!」コースの存在を知ったのは Turing Complete FM という講師のRui Ueyamaさんがパーソナリティを務めるポッドキャストでした. いくつかのエピソードでRuiさんがセキュリティ・キャンプで講師をされることを宣伝されていたので,Ruiさんのような著名なエンジニアの方から学びを得られるということに大きな魅力を感じました.しかしまだ「どうせ無理...」の感情とのせめぎ合いで応募に躊躇しておりました.
16. プログラムの静的検証、システムズプログラミングの論文 の回ではRuiさんがセキュリティ・キャンプの宣伝と共に, 「自分は応募するレベルに達していないんじゃないかって考える人が居るらしいけど,それを考えるのは選ぶ側だから考える必要がない」といったことを話されていました.自分はこの言葉に大きく後押しされて,応募に至り,最終的にセキュリティ・キャンプに参加することができました.
ですから,もしセキュリティ・キャンプに興味を持っているけど躊躇している方が居たら,「参加するレベルに達しているか判断するのは選ぶ側だ」と自分に言い聞かせて是非応募して欲しいと思います.
ちなみに,17. Gauche Schemeの基本デザインの選択理由、オブジェクトデータベース、浮動小数点数の落とし穴 の回で語られている川合史朗さんのオーディションの心構えの話にもかなり後押しされたので,何かに応募しようか迷っている人が居たら是非聴いて後押しされるといいと思います.