ぴょこりんクラスタ 夏の大ハッカソン(仮)を振り返る
前置き
この記事はカレーのち ぴょこりんクラスタ Advent Calendar 2018 - Adventarのために書かれたものです。ちなみにこのACが何なのかについては、ぴょこりんクラスタ Advent Calendar is 何? - ぴょこりんブログが詳しいです。
本文
1.はじまり
それは夏のことであった。
A「今年もPクラスタアドベントカレンダーやるんだよね?」
P「うん」
B「今年も書くネタが足りなくて困りそう」
P「なら、みんなで夏の大ハッカソンして圧倒的成果を出せばいいのでは?」
みんな「よし、そうしよう」
といった感じで、暗黙の了解が生まれた*2。
2.企画
が、皆さん*3多忙を極めており、気がつくと9月。
このままでは企画が流れてしまい、私はまたクソ記事を量産してしまう*4焦りから、日程調整を開始。結果、4名で10月に開催することになった。
個人的に考えたポイント。
- 会の設計
どうせ開発するだけでしょ?というスタンスだったが、意外と色々なスタンスや用語が存在することがわかってきた。開発合宿、ハッカソン、もくもく会なるものがありそうで、
開発合宿:泊りがけで開発する会
ハッカソン:決められた時間・テーマで、チームや個人でものを作り、発表する会
もくもく会:個人でやりたいことをきめて、もくもくとやる会
くらいのものだとわかった[要出典]。
会の趣旨を考えると、もくもく会くらいかという話になり、もくもく会となった。各自やることを考えてきた上で、
1日目
朝:やることの発表@貸会議室
昼:開発@貸会議室
(移動
夜:開発+温泉@宿
2日目
朝:発表準備+発表@宿
となった。改めて振り返るとテーマはなかったものの、結局みんな成果物について発表していたのでやっぱりハッカソンだった気がする(???)。
- 場所
開発合宿付きのプランを選べばよいのかな?と思ったが、4名だと厳しい*5場合が多く、普通に宿を選ぶこととした。気にしたのは以下。
無線LAN:温泉旅館系だと無線LANが整ってない可能性があり、その辺の実績は気にした。経験則より、さすがに無線LANが存在しないところはなくなってきたが、品質が気になることがある。(ひどい場合、一晩まるでつながらないことがあった)とはいえ、ネットでの評判をみるくらいしかできることはないのですが。
部屋の広さ:4名の場合、宿の会議室はなかなか借りられず(最低人数を満たさないor人数割りで高すぎ)、部屋に閉じこもることになる。狭いとつらいかも。
といった感じ。
3.本番
皆さんの圧倒的成果は、きっと後日発表されるでしょう。私の感じたメリット。
衆人環視の効能:私は一人でいると徹頭徹尾だらける人間なので、周りに自らを律せる人間が揃っているのは大事。ちょっとでも泣き言言うと容赦なくみんな煽ってくるので、作業がんばれました。みんなすごいなあ。(なお準備がgdgdで、久しぶりに「かー3時間しか寝てねーわつれーわー」をやった)
集中できる環境:部屋が洋室+和室+寝室という広々構成だったので、ストレスを感じることなく作業できた。
温泉:大浴場みたいな殺風景な感じだったけど、のびのび入れてよかった。
まあ、会の趣旨上、参加者間のインタラクションがなかったのはしょうがない気もするが、なんかあるとよかったかも。
4。おわりに
やっていきましょう。あとこの会の正式名称はなんだったのだろう。
タイトルでネタばらしをしない(リバイバル)
前置き
この記事はカレーのち ぴょこりんクラスタ Advent Calendar 2018 - Adventarのために書かれたものです。
ちなみにこのACが何なのかについては、ぴょこりんクラスタ Advent Calendar is 何? - ぴょこりんブログが詳しいです。
前置きその2
ぴょこりんをフィーチャーするということを念頭に置きました。
本文
玉ねぎです。やっていきます。
フードプロセッサは甘え。
どこからどうみてもみじん切り(つらい)
やりました。
肉をやっていきます。(ボウルは甘え。なお存在しない模様)
整いました。
焼きます。
???
???
はんばーぐ featuring ぴょっこりん
(ref. カレーのち ぴょこりんクラスタ Advent Calendar 2018 - Adventarのアイコン)
あとがき
- ハンバーグ2つ焼いた理由は?
- 髪の毛部分を作るつもりだったが、仕込みの手間にやられて断念した。
- 日頃料理しない私にとって、仕込みが絶望的に大変だった。
- あのアイコンは斜め向きなので、ちょっと作りに困った。
- 作るものはメイド喫茶のメニューを参考にして決めました。
北陸旅行
夏休みに旅行した。
コンセプト
鉄道成分多め。UFOと温泉とご飯(のはずだった)。
メモ
1日め
2日め
- 時間がありそうなので、兼六園へ。素直に香林坊の方に宿とっとけばよかった。
- 無料開放中。よきかなよきかな。
- そのまま金沢城公園へ。
- 香林坊からバス乗ろうと思ったが、やっぱり金沢駅まで歩ききってしまった。
- 七尾線で羽咋(コスモアイル羽咋)→和倉温泉に…と思ったら、なんと七尾線が大雨で運休に。
- 16時和倉温泉→氷見のバス(わくライナー)が最終であり、14時くらいまでは動かないとのアナウンスあり、なくなく見切る。
- 三セクをたどって、高岡から回ることに。
- こっちも危険っぽかったが、徐行運転あるも、なんとかセーフ。
- 高岡。空いた時間でなにするか考える。明日乗るつもりだった城端線も運休。。
- しょうがないので海王丸を見に行く。万葉線でのんびり。当然終点まで行く客は私だけ。。
- 幸いにも雨は小ぶりであった。新湊大橋も雄大。
- あまり時間もなく、引き返して氷見線に。
- 氷見。宿が遠いんだ。。バスも期待できず2kmくらい歩いてしまった。
- 番屋街で飯くおうと思ったら、店ほとんどしまってるし・・・何故だ・・・。
- 適当に寿司とか買って(泣)ホテルで食べる。
3日め
備考
- 天気!!!天気!!!!
最近プロコンではまったこと:スタック領域
前置き
最近プロコンではまったことをメモる。
本文
普段の環境として、MinGW GCC+Eclipse CDTでC++を使っている。
D - Mixing Experimentを解こうとしていたら、スタックオーバーフローらしき変な戻り値が返ってきて終了する。配列外アクセスとかを疑うが、そのような場所も見つからず。途方にくれてとりあえずsubmitしてみると、普通にサーバ上では動いているっぽく、悩む。
色々と調べるうち、DP用の配列(ざっくり50×500×500くらい)に対してスタック領域が足りてないのでは?という疑念を持つ。試しにstatic宣言してみると普通に動いた。なるほど。
毎回staticでヒープ確保しにいくのも嫌なので、
www.eclipse.org
これを参考にスタック領域を増やす。まあ。
ボードゲームをしました
はじめに
海外赴任中の友人が日本に帰ってきたので、ボードゲームをしました。
総評
過半数は自分の趣味で買っていったゲームでしたが、メンバーに好評で良かった。
ルールもそんなに難しくなく、気軽に楽しむのにちょうどよいバランスのゲームが揃っていたかなあ。
「テストプレイなんてしてないよ」が一番プレイ時間長かった気がする。
(もう少し重いゲームもやってみたい気もするけど、時間が限られる中で遊べるゲームの数が減ってしまうジレンマ)
メモ(前半のみ)
- ギリギリカレー
鍋に具を追加していって、ちょうどよいタイミングでゲットするゲーム。
具にバランス値(コスト)、旨味値(ポイント)が設定されており、鍋のリミットを超えない範囲で具を入れていく。鍋の情報はほぼ開示されていない(最初に少しだけチェックできる)。自分がチェックした鍋を無難にしようとすると、みんなによってたかって具を放り込まれたりする。具等の効果がよくできており(例えば、りんごとはちみつが同数存在するとバランスはすべて0になる 等)、楽しめた。
- シャドウレイダーズ
正体隠匿しながら、相手陣営を全滅させるゲーム。
各キャラには特殊能力があり、個性がでる。例えば、探偵カードといって正体に関する情報が得られるカードがあるのだが、それに嘘をついてよい 等。ドキュメント(能力効果の説明文・説明書のFAQ)が丁寧で、困りそうな点がきちんとフォローされていたのがよかった。装備だったり、運だったりで、2対1くらいだとひっくり返ってしまう可能性が高いように思えた。
- 死ぬまでにピラミッド
大きくて美しいピラミッドを作るゲーム。
親相当の人が人数+1個のサイコロを振り、ピラミッドの部品を仕入れる。親から順に部品を取っていき、取り終わったら親が移動して続ける。ある特定部品が切れたら終了。得点計算が直感的にわかりずらく、「この変な形のピラミッド、私のきれいなピラミッドと同点なの」みたいなことが起きる。
5個書くのはしんどいので、またこんど。
*1:人望がないので5人で遊ぶのが大体困難
東北を彷徨う
GWに旅行した。
コンセプト
東北でまったり自然を巡る旅。
旅程
1日め:東京→気仙沼→大船渡
2日め:大船渡→遠野
3日め:遠野→仙台→東京
メモ
1日め
- GWの終わりの方で出発(GW最後2日+GW最後-1日*1を利用)
- 一ノ関まで新幹線。意外と近い。はやぶさとやまびこだと30分位違う。
- 一ノ関から大船渡線。外が大雨だったので焦る。
- 気仙沼。晴れてて助かった。
- 駅前で自転車を借りる。最後の1台だったとのことでセーフ。
- 海の市へ。昼食をくおうと思ったが、GW中ともあり、さすがにまだ混んでる。
- 一回リアス・アーク美術館まで行ってから帰ってこようかとも思ったが、さすがに回り道すぎるという理由で並ぶ。
- まぐろ丼を食べた。私の馬鹿舌では良し悪しはわからんがおいしかった。
- あと外の屋台で焼き牡蠣を食べたのだが、非常に好きだった。大きくて肉厚。
- 気合を入れてリアス・アーク美術館まで自転車であがる。
- 一般展・震災記録展をみる。被災した方から見た支援への考え方とか、そういったものが記録として残してあるのが、記憶に残った。
- 気仙沼駅に戻る。
- BRTで大船渡へ。専用レーンに入るとちょっと感動。
- 如実に道が新しくなっている所があり、逆に震災の影響を感じる。
- これに限らず、まだまだ道路工事をしている場所が大量にあった。
- ホテル着。大変きれい。
- 近くのキャッセン大船渡でご飯を食べる。
- スーパーを冷やかしに行く。
- 寝る。
2日め
3日め
- ほぼ帰るだけ。新花巻で乗り換え。
- せっかくなので仙台によって、牛タンを食べる。
- 帰る。終わり。
*1:月曜日を意味する。最後とは・・・みたいな雰囲気をだしたかった
典型的アルゴリズムについて(2)
前置き
プロコンの典型アルゴリズムに関する記事(第2回)を書く。
取り上げるもの
変数について全探索をすること。(bit全探索とかいうのでしょうか?)計算量は当然変数の数に対して指数オーダなので、大規模な問には使えない。
例えば下記が例題となる。
No.43 野球の試合 - yukicoder
総当たりリーグ戦が途中まで終わっている状況で、残りの試合が終わったとき、指定のチームが最高何位になれるかを求める。これはまだ試合していない所について、勝敗の組み合わせを全通り試せばOK。
サンプル
for (int i = 0;i < (1 << M);i++){ for (int j = M-1; j>=0 ;j--){ if(i >> j & 1){ } } }
M個の変数についてこれで探索できる。初めてみた時はちょっと面食らった。
は、長さのbit列に対応する。例えばとしたとき、は0から3となり、bit表記するとそれぞれとなる。これはすなわち2変数のとりうる組み合わせを列挙している。
は、左から順にbitが1であるかを判断している。
例題の場合
#252912 No.43 野球の試合 - yukicoder
先の例題はこんな風にとける。順位を計算する所の書き方がしっくりきていないが、リーグ戦で未試合の部分を見つけて、勝敗について全探索する。