Matsuriハッカソンに潜入!成果発表は4時間超え。Matsuri」が11月3日~4日の2日間、福岡で開催された。PHP開発者が全国から集まり、夜通し開発して腕を競うハッカソンでは、今年も数多くの成果が生み出された。参加者100人以上の熱い想いをレポートする。Matsuriは、今回で3回目となる日本最大級のハッカソンイベント。過去2回は東京・大阪で開催され、どちらも100名近くの開発者(PHPが中心だがそれに限らない)が集まった。多くの参加者が夜通し開発を行うというにわかには信じがたい催しだ。ハッカソン(Hackathon:Hack-a-thon)とは、HackとMarathonを合わせた言葉で、その名の通り、開発者が集まって長時間(1日中)ハックをして楽しむイベントのことをいう。Matsuriのように毎年100人近くの参加者を集めて行われるのは極めて稀である。毎年2日間にわたって行われ、1日目はCakePHPやSymfonyといったフレームワークのコアデベロッパーをゲストに招いてカンファレンスやワークショップを行い、2日目にハッカソンの成果をLT(ライトニングトーク)形式で発表し合うのが通例だ。参加者はいつ開発をするのだろうか。答えは、カンファレンスの合間と、カンファレンスのない夜中、ということになる。3回目の開催となる2012年は福岡での開催。北は北海道、南は沖縄、そして西はイギリス(!)から、過去最多の総勢110名以上が参加した。主催者と一部のスポンサーより豪華な景品が贈られる。miniをはじめペンタブレットやスターバックスカードなどなど多くの景品が並べられた。注目はハッカソンとは別建てで行われたCodeIQ賞。リクルートキャリアが運営するエンジニアの実務スキルを評価するサイトCodeIQ(https://codeiq.jp/)の冠が付いた賞だ。先立って公開された事前問題と、当日発表されたCodeIQ賞の問題の二つがCodeIQのサイトを通じて出題された。事前問題に挑戦した参加者に対し、リクルートキャリアのスタッフからRedBullやお酒・コーラなどの差し入れが配られただけではなく、CodeIQ賞の問題の成績上位者にはAmazonギフトカード1万円分が贈られるということで70人以上の挑戦者が現れた。ちなみにCodeIQ賞の問題の一部を紹介すると、Q1:「PHP祭り2日目の会場地点での、日の出の時刻は何時何分何秒でしょう?」Q3:「PHPの組み込み関数を一つ、挙げてください」ただしQ1はPHPを使って解くという制限付き(なんとPHPには日の出時刻を導く組み込み関数が用意されていてそれを使って解く必要がある)。2文字の関数piを挙げた参加者は多かったが残念ながらこの解答では0点。知識だけでは高得点を得られない、ゲーム性が高い問題も出題されたようだ。ハッカソンの息抜きともいえるCodeIQ賞は、他の各賞と併せて翌日発表された。Matsuri」という謎のイベント。昨年は忍者に扮した謎のスタッフが夜な夜なLTを行い、時間オーバーすると(おもちゃの刀で)斬られるというイベントが盛況だった。今年は「アン・リーダブルコード選手権」というイベントが実施された。何が行われるかわからないままハッカソンの手を休め、わらわらと集まる参加者達。現れたのは、覆面をかぶったその名も“レガシーズ”(おそらくレガシーコードから来ているのだと思われる)の6人。LTする内容はなんと「読みづらいコード」。誰が一番読みづらい(保守性の低い)コードを提示できるのかというコンテストだった。読みづらいだけではなく、より笑えるコードを面白おかしくプレゼンして得点を競うという何とも酔狂な、いや深夜にふさわしいイベントだった。残念ながらプライバシーの問題があり多くは語れないが、どの発表も会場から笑いの絶えないものばかり。それでいてそのようなレガシーなコードを憎んでいるかというとそうではなく、あくまで楽しんでいるというところがPHP開発者らしかった。気付いたら終電を逃していたという福岡県内の参加者がいる中、夜が更けていっても、多くの参加者は夜通し開発を続けていたのが印象的だった。レガシーズ合計4時間、47人による大LT大会2日目。朝10時から希望者によるLT大会が始まった。Matsuriの名物の一つ。今年は過去最多47人のエントリーがあった。LT大会では、一人3分程度の持ち時間で、誰が最も有意義な開発をしたかを発表する。中には3分では収まらずドラを盛大に鳴らされて打ち切られたり、ネタに走って会場を沸かせたりと、非常に多彩なLTが次々と行われていった。エントリーし損ねたという東京からの参加者は、ほかの人の発表を見ながら「発表すればよかった」と後悔しきり。毎年こういう参加者が何人もいるらしい。Matsuriに参加して発表しないというのは、福岡まで行ってラーメンを食べずに帰ってくるようなものかもしれない(?)。入れ替わる間に採点する。miniなどの豪華な景品が贈呈される。Mapsのように見ることができるアプリだ。スマートフォンの小さな画面も、複数並べることで大きな画面と同様に利用できるというアイデアに、参加者から感嘆の声がひときわ大きく上がった。櫻川氏自身もスマートフォンの画面を小さいと感じており、何か大きく目立つものをつくろうと思ったことが、今回の作品のきっかけになったとのこと。今回は地元開催ということもあり、Fusic社からは複数の参加者がいたが、どの作品も個性的であったため、同社が「変わった会社」と思われてしまったのではないか、と笑いながら話してくれた。行う開発は眠さとの戦いだったが、発表時に「おぉーすごい。」という歓声が聞こえた時は、苦労した分うれしかったそう。miniを手に入れることができ、大変ご満悦の同氏。実は福岡から大阪に遠征した昨年のハッカソンでもiPadを持ち帰ってきたため、2年連続で受賞したことに、ご家族はとてもびっくりされたらしい。来年も参加し3連覇を狙っているとのことなので、阻止をたくらむ参加者は、入念な準備が必要と思われる。ちなみに同氏はCodeIQ賞も次点を受賞。日の出問題の関数は、会社で話題になったことがあったとのこと。変わった会社(?)の面目躍如といったところだ。次に高得点を獲得し、ワイヤレスポータブルスピーカー「JAMBOX」をゲットしたのは、「超strtotime()」(http://strtoti.me/)を制作した増永玲(@msng)氏(「頭ん中」http://www.msng.info/)。)も正規化して年月日や、unixtimeをJSONで返すもの。発表では、日付のバリデーションができるところや、存在しない日付の場合はnoticeが変えるところを実演し、その便利さに会場を湧かせていた。アプリとして」つくったものが多少「ネタアプリと思われた」ことに、本人は不満なところもある様子。ハッカソンでは時間が限られるため、以前つくったクラスを活用した作品を制作している。いうのも、夜になってコードを書くか、ラーメンを食べに行くか迷った末、ラーメンを食べに行ってしまったことも関係しているらしい。JAMBOXは実物を見てそのかわいさに「これ欲しい」と思っていた増永氏。来年の意気込みを問われると「はい。今度はギョウザもつけたいと思います」と語って笑わせてくれた。続いてWacomペンタブレット「Bamboo」を獲得したのは、「クラウド監視くん」を制作したニフティの五月女雄一(@ysaotome)氏。マルチプラットフォーム(ニフティクラウド、AWS、Azure)に対応したIaaS監視アプリで、一般的に監視メニューとして高級品な「電話連絡」を自動化することを目的とした実用重視の本格的な作品。対象クラウドの電源管理や、スペック変更など一通りの運用業務に対応しているだけではなく、監視対象のサーバに異常が発生すると、電話がかかってきて対応方法を選ぶ。各社ベンダーのSDKを真面目に触る時間をつくりたいと思っていた五月女氏。以前から興味のあった電話がかけられるAPI「boundio」と組み合わせたとのこと。触るCakePHP2系でつくり始めたが、思うようにいかなかったため、深夜2時にFuelPHPで書き直したのだそう。なんとか動くものがつくれたが、LTでは実演した「検証用にわざとサーバ電源を落下させ、障害を発生させる機能」がウケていた。悔いが残るのは、障害発生後の電話受け答えまで見せられなかったこと。電話で「対象サーバの詳細情報を確認する」「対象サーバを再起動する」「障害を無視する」といった操作を見せたかったと語る五月女氏。来年、リベンジしてもらいたい。ZEROのポータブルソーラー発電機「NOMAD7」を獲得したのは、「CSVHub」という作品を制作したFusic小山健一郎(@k1LoW)氏。一般的なCSVのフォーマットの順番などをノンプログラマでも変換できるWebサービスで、同氏が公開しているCakePHPのプラグイン「Yacsv」を拡張してつくられている。開発のきっかけは、自身やほかの社員がクライアントから「出力されるCSVのフォーマットを、うちのシステムに合わせて」と言われることが多く、どうにか解決したいと思っていたから。業務系の真面目なWebサービスだったのでLTでの反応は薄いと思いきや、歓声が上がるなど、反応も上々だった。CakePHP?」(http://www.isitcake.com/)という作品。WebサービスがCakePHPでできているかを調べるサービスで、URLを入力するとCakePHPで動作しているかどうかがわかる。CakePHPデフォルトの設定やファイルをそのまま放置しているサービスが意外と多いと感じていて、同氏がつくっているものを含めてチェックするサービスをつくったとのこと。「Webサービスをリリースする際は設定変更や不要ファイルがないかチェックしてみて下さい」と語るのは、すでに公開されているので誰でも簡単に利用できるから。運営スタッフとしてやるべきことも多く、あまり開発に集中できる時間は多くなかったそうだが、隙間の時間で一気につくったとのこと。「つくりが荒くても、とにかくリリースして発表するのが大事!」とハッカソンの心得も教えてくれた。CakePHPユーザーから好反応だったが、仕組みは単純なので、別のフレームワーク用があっても面白いとのこと。他のフレームワークに携わっている方もつくってほしいところだ。会場が第1回東京、第2回大阪、第3回福岡と移ってきているため、次は北の大地で行われるのではないかと某スタッフは予想している。実は、会場は特に相談して決めているわけではないが、「何となく」次はどこでやるかというのが決まるのだそうだ。予定では次回の開催は2013年の夏~秋頃とのこと。毎年どこで行われても全国からPHP好きが集まるこのイベント。次回の開催地はどうなるのだろうか。Matsuriを体験してほしい。コンサルティング会社、ヤフーなどを経て、2007年にダイレクトサーチジャパンを創業。CakePHPを使ったWebサイト・Webアプリケーション開発事業を行う。現在、コワーキングスペース茅場町を設立準備中。7(MA7)で「Tech総研賞」受賞。女子会...東日本大震災から3年。応じて優遇」などは募集条件でよく見る言葉。Tech総研リクルートグループサイトへ。