更新日時で差をつけろ

むしろ差をつけられている

全国高専プロコンに参加した #procon29

第29回全国高専プロコン に参加した。阿南高専が主管校。そこの学生さんたちがスタッフとしていろいろ大変だったらしい。

昨年は競技部門だったが、今年は明石高専・課題部門「スマートコンシェルジュ」としてブースに立った。5人チーム。 結論から書くと、受賞はなかった。学生間の相互投票では1位だったが、投票の母数はそんなに多くないはず。

もしかすると他のコンテストにこれを出すかもしれないので、プロダクトの詳細はぼやかして書く。ところで、チームメンバーが思いっきりプロダクトの実装をTwitter上で質問していたので少しヒヤヒヤした。何もなかったのでよかった。おそらく自分がちょっと過敏だっただけ。

予選まで

学内でプロコンの案内が出て、「あーまあ今年はいいかな」と思っていたところで昨年一緒にプロコンに出たM君に誘われた。アイデアはあるらしい。「うーん、それって面白いのか?」と思いつつ手伝うつもりで出ることにした。今思えばこの手伝うつもり、って心構えが無責任さの現れだよなーと思う。もうちょっとしっかり考えておけばよかった。実装は楽しかった。 学内予選があったが、候補が自分たちのチームだけだったのでそのまま予選資料に着手した。たしか実装はほとんどしていなかったと思う。スマートスピーカーを使ったプロダクトだったので、Amazon Echo, Google Homeの比較をしてみたり…という段階だったはず。放課後に研究室に集まって作業の割り振りとか設計の話してた。

予選資料提出の2週間前ぐらいに資料を作り始めた。M君が作ったのをベースに担当の先生のアドバイスを組み込んでいく感じで進めた。文章を考えたり図を作って入れたりするのが面倒だった。定期試験がすぐ後にあって結構焦っていたのを覚えている。急にPCの調子が悪くなって寮の貧弱無線LANに接続できなくなったので学校で作業したんだっけ。なんとかギリギリで提出して、「いやーもっと早くからやっておけばよかった」みたいな話をしていたら通ってた。驚いた。通過ランクはBなので予選では11~20位のどこかということになる。審査員のコメントは(自分は)無視した。

本選まで

この予選資料を基にして実装を進めることになった。つまり予選資料として提出するまでほとんど具体的に設計、というより実装する機能がまとまっていなかった。チームメンバー間の技術レベルに差があったので「一人でやったほうが早い」病に苦しめられた。分担してみるとそんなことなかったんだけれど。

自分は途中で留学したのもあって10月始まってからグオーっと開発した。ソースコード提出が終わってから本選までのコミット数が、予選通過後からソースコード提出前のそれより多い。寮の消灯を伸ばしてもらって開発することもあった。同部屋さんごめんなさいとも思ったが普段冷房で散々な目にあっているのでお互い様である。本当にヤバくて「プロコン行きたくない〜〜〜」とかむちゃくちゃなこと言ってた。ピリピリしてた。

そんなわけで(自分の)累計開発期間は1ヶ月と少し。

出発〜本選1日目

購入しておいたバスチケットを競技部門含めたみんなに配って前日入りした。車内でもLANが使えた。実装しようとPCを開いたら酔った。ホテルの無線LANはまさかの暗号化なしだった。階ごとにルーターが違う方法で設置されていて面白かった。会場にいくと東京高専のオタクが突如現れて怖かった。2人で自撮りした。夕食は中華そばの店に行った。腹が満たされて少し焦りが和らいだ。出た瞬間に雨降ってきてびしょ濡れになった。

結局徹夜した。実装の関所を越えたところだったのでサクサク進んで楽しかった。MONSTERのCUBA LIBREがすごく美味しかった。なんだこれ。

朝は食欲がなかったが体力を使う日だとわかっていたのでそれなりにしっかりホテルの朝食をとった。よくわからないアニメが流れていた。前日に運び込んでいないので、荷物を忘れていないか心配だった。

会場に向かうバスでも「帰りたい〜〜もう無理や〜」と気分だったが、いざブースに立ってみれば幸か不幸か案外マシな反応が得られるものである。一安心した。メンバーのプレゼンもうまくいったらしい。手書きで機械学習アピールをしだすの面白かった。する意味はなかったんじゃないかと思うが。

スマートスピーカーは物理的なインターフェースを少なくするために無線LAN経由で設定を行うが、会場ではいろいろなAPが立てられていて実機を動作させられなかった。仮に設定できていたとしても、会場の騒音ではうまく音声認識ができたとは思えない。あらかじめ予想はしていたがどういう騒音対策をとればよいかわからず何もできなかった。結局当日はAlexa Skill Kitが提供しているスマートスピーカーのシミュレータ上でデモを行った。

あと会場の電気を使っていいよと言われるまでルータで有線LANを構築できなかったのでRaspberry Pi等の設定も遅れた。こうしたトラブルに見舞われて最初の1時間強は展示できなかった。

Twitterで知り合った他の高専の人にも会った。名刺をたくさん交換した。ぐるーっとブースを回ってみたが自ブースが気が気でなくてじっくりとは見ていない。

終わるころには話し疲れて「帰りたい〜〜」って言ってた。学生交流会はいつも通りすごかった。Twitter大事。夕食はカレー。

本選2日目

急遽作ったポスターを貼った。事前にポスター作ってないチームって今思ってもクレイジー。靴下を持っていくのを忘れて靴を直接履いていたら靴擦れしたので途中からブースの外では裸足だった。痛かった。

デモ審査とマニュアル審査があった。まあまあうまくいったが、一部完成度の低さが露見する場面があってつらかった。

冒頭で述べた通りチームの受賞はなかった。詫間強いなー。阿波踊りが思っていた以上に長かった。なんかすごかった。でもやっぱり依然として早く帰りたかった。

その後

バスまで時間を潰す必要があったが、徳島駅前のどこかで作業しようと場所を探したが手持ちのMacのバッテリー残量が3%だったので適当に100均あたりをうろうろした。 バスで隣に座ったメンバーが悔しいと言っていた。そうだねえと言おうとしたが、まあこの作業量なら当然の結果だよなという思いもあったので何も言わなかった。

徳島の街並みはちょっと古いのがよかった。

同日にロボコンの地区大会(?)もあった。明石Aチームが全国進出した。すごい。 翌日になってロボコンの話のあとに「そういえば、」のノリでプロコンの話題を振られるのも、それに対して「ダメだったよー」と返すのもこたえた。


個人でまとめていた反省点は箇条書きでも3700文字ぐらいになっていた。たとえば、技術レベルの差があるのは割り切って、予算あるんだし本でも読んでもらえばよかったんじゃないかなあと思っている(そうすれば当人が暇になることも無力感を覚えることもなかったかもしれない)。何かメンバーが困っている時に直接口で説明すると疲れるし、部屋に来られても集中できないのでまずはSlackで話してもらうようお願いしておいたのはよかった。

Trelloを使ってタスク管理をしてみたが常用していたのは自分だけだった。そういうツールが必要になるレベルにすら全体の作業量が達していなかったのかもしれない。すぐ忘れる性格なので個人的には助かった。

昨年の記事を読み直すかぎり結構つらそうな書き方をしているが(たぶん自戒の意味を込めてきつく書いたような気がする)、それに比べて今年は諦めがついたというか「ないものはない」という考えで落ち着いているように思える。メンバーも高専祭実行委員会・インターン・FE/AP試験で忙しかったし。(ただの言い訳じゃないかという人もいるかもしれないけれど知ったこっちゃないです。学びがあったのでそれで僕は今年はそれでいいと思ってます。)SecHack365でトレーナーの方に教えていただいたこともこの辺に影響を与えていそう。

来年はもうちょっと計画的に進めていきたい。出るかわからないとはいえ。 プロコンに参加した人も運営の人もお疲れ様でした。