chigichan24のお気持ち表明

おきもちを表明している

高専プロコン競技部門のオンライン非公式練習場を作りました #procon37

こんにちは高専のOBのchigichan24です。普段はぬくぬくとぱそこんをしています。

さて、今年の高専プロコン競技部門、「ヘキサうどん」をテーマにした対抗戦をご覧になりましたか?

www.procon.gr.jp

簡潔にまとめると複数人で情報を共有する要素もありながらも、基本的には各チームでスコアを高めていくいつもの高専プロコンっぽい競技です。せっかくなのでオンラインの練習場を作ってみました。毎時0分・15分・30分・45分 にランダムに問題が作成され、本番とほぼ同様の10チームが常に参加した競技を再現できます。

procon37arena.online

APIの設計は基本的に公式に公開されている回答システム・簡易版の回答用サーバーに準拠したつもりです。つまり、用意しているプログラムの向き先だけ https://procon37arena.online を向けてもらえれば動くはずです。もし実装ミスっているぜということがありましたらご連絡ください。 forms.gle

このブログでは主に使い方について紹介します。

使い方

同様の内容は一応 https://procon37arena.online/arena/guide にもありますが、もう少しグラフィカルで丁寧に書きます。

ユーザー登録

まずは、登録をしてください。パスワードは忘れるものなので常にメール認証の方式にしています。

ログイン画面

ここで有効なメールアドレスを入力すると、以下のようなメールが届きます。まだ実績が少なく迷惑メールフォルダに入ることも多いので、そこだけはご不便かけます。このリンクをタップすることでログインできます。

届いたメール画面

マイページ的な画面では、最初の一回だけtokenの情報が見れたり、過去の戦績が見れたり、表示名を変えたりできます。

マイページ

試合への参加

試合に参加するには、およそ3分前からtokenを使用して /settings などをGETしてください。サーバーは403を返しますが、メッセージにはそれっぽいものをいれています。成功していればその後試合情報が降ってくるはずなので、根気よく(適切なintervalで)開始時刻前後にもGETを投げてください。

参加表明した後の様子

参加表明に成功するとおそらく登録済みのところの数字がインクリメントされるはずです。ここは表現もっといい感じにできると思うので時間があれば改善します。

その後の流れは本番と同様です。最初のフェーズでは /agent にPOSTしてエージェント種別決定を行い、それ以降は / に対して試合状態のためにGETしたり、行動計画提出のためにPOSTしたりしてゲームを進めてください。

試合中にはこのような表記になります。

試合中と表示されている

また、試合の詳細のページに行くと盤面や、どういう盤面設定なのかが確認できます。

試合中の表示

リアルタイムに提出を反映はさせてません。これも余力があればやります。

一連の流れが終わるとぬるっと試合が終わり、自分でページ遷移することで結果が表示されます。

順位表

一応それっぽいプレイバック機能もつけました。

プレイバックできる。再生停止ボタンなどがある。

他にも色々ローカルで後から試せるように同じ盤面の再現のjsonなども吐き出す機能をつけてます。

試合設定をjsonでも見れる

免責

こちらはただ自分が作ったソルバーを動かしたいというお気持ちと現役の競技参加者にも役に立てばいいなの気持ちで作ったので、実装の正当性は保証できません。

いや、保証しているつもりではあるんですが、あくまでも非公式、この練習場でうまく動いたからといって過信しすぎないでください。

また、データを吹き飛ばさないようには努力しますが不手際で飛ばしてしまった際には本当にごめんなさい。

ということで

本選まで僅かな時間ですが、ここからが実装の本番だと思うので(?)有意義に活用してもらえると嬉しく思います。あらためて、何かありましたらフォームを通してご連絡ください。

forms.gle

procon37arena.online

DroidKaigi 2026でどうしても登壇したかった #DroidKaigi

DroidKaigiへの大感謝を伝えるポエムです。

今年開催されたDroidKaigi 2026 Day1 のポスターセッションは「数年滞っていたダークモード対応をおよそ2週間で完了させる」というタイトルで、Day3 のセッションは「AndroidでHDRメディアを「壊さずに」扱う」というタイトルでそれぞれ登壇しました。最近取り組んだ、後回しにしていた課題をAIの力でブーストするプロセスや、昨今Android Developersでよくでてくるが結局何者なんだとなりがちなHDRについてそれぞれ話す機会をいただきありがとうございました。

speakerdeck.com speakerdeck.com

ポスターの方はおそらく初めての取り組みだと思うのですが、イメージ的には長ーくAsk The Speakerの時間が続いている感覚で、参加者の方と密にコミュニケーションを取りながら双方向に情報交換できている感じがありました。個人的にはこっちもこっちですごい楽しいなと思いました。

久しぶりのDroidKaigiでの登壇

本当に久しぶりでした。過去3度採択され、1度目はコロナでなくなってしまい資料のみ公開、2度目はオンラインでの登壇、3度目は現地で発表という色んなスタイルを経験したものの、最後の登壇も2022年と、もうとてもとても昔でした。

いわゆる技術系のカンファレンスに初めて参加したのがDroidKaigiで、このコミュニティ周辺に育てていただいたという思いもあり、なるべく登壇という形で恩返ししたいとずっと思いながら定期的にCfSを出していました。

登壇という形へのこだわり

自分と同世代の多くがコミュニティへの貢献の仕方をスタッフとなることや、新たなカンファレンスを作ること、他の媒体を経由した技術発信という別の様々な形で技術コミュニティを大きくしながら前に進め盛り上げていく中、自分はそれはできなかったです。

なぜ登壇にこだわり続けたのか、それは初めて参加したDroidKaigi 2018の中で明確に記憶に残っている3つのセッションのようなプレゼンを同じ場で自分も提供する側になりたいという極めて個人的な動機でした。

当時衝撃を受けたセッションは以下の3つです。

speakerdeck.com speakerdeck.com speakerdeck.com

これらは言語化するなら発表者が専門性を持つトピックの中で、

  • 油断していると理解が行間から落ちるような話
  • 世界で急速に整い始めた最新の動向と実際の経験に基づくアプローチの話
  • 抽象化と具体化を行ったり来たりすることで理解が進む話
  • 意識しないと気にもならない裏側をとにかく深ぼる話

のような性質の話をなるべく広い範囲のレベルの方が聞けるようなアプローチでプレゼンしている人だと思いました。同じことを自分がすることで過去に自分が感化されたように、また誰かを感化させることができるのではないか?と思いこのDroidKaigiという場での登壇には思い入れとこだわりがありました。

本当に話したいことは何なのか?

ある時期はCfSを書く時点で上で挙げたような性質の部分が頭からぽっかり外れ、「プレゼンスを上げたい」だとか「とにかくうまくいったことを話したい」だとか「多くの人と議論したい」だとかそういう部分が全面に出てしまうことが多かった気がします。 今年はこれを意識的に排除し、自分が興味を強く持つ話のなかで上で挙げた4つの性質を複数満たすものはなんだろうと考えながらCfSを書きました。 注意していただきたいのはこれはDroidKaigi側の決めた基準ではなく、あくまでも自分の心が動くためのものです。

その結果、自分も本当に話したくて、参加した方もきっと聞きたいと思えるものがありがたいことに採択され、そして高いモチベーションのまま準備できたと思っています。

AIがいい感じに情報をまとめてくれる現代においても登壇し続けたいか?

なにか人の心を動かし続けられると自分が盲信する限り、登壇にチャレンジしたいと思います。やっぱりその場に参加することでしか上がらない熱量みたいなのはあると思っていて、それを作る側でありたいと思います。

来年は流石に何も話したいこと浮かばないだろうなと毎年思うんですが、CfSの時期になるとCfSを3つに抑えるにはどうしようと悩んでいる時間のほうが長いのでまた出し続けるんだと思います。

おわりに

ということでDroidKaigi 2026参加できて楽しかったです。

改めて、スタッフの皆さん、登壇者の皆さん、企業の皆さん、そして参加者の皆さんありがとうございました。

2025年振り返り

去年書いたなぁと思ったので、今年も書く。目的は反省を文字に起こし、文字情報として脳に入れることで来年に活かすため。

総括は、もっとコーディングをちゃんとしたほうがいい。

chigichan24.hatenablog.com

おしごと

  • ほんまか?と未だに疑っている部分も多分にあるが、転職活動を通して自分の強みみたいな部分がわかった。
  • 求められる役割が変化した。以前よりも単体の問題の複雑性は低いが、見なければならない範囲、考慮しなければ行けない事象、そしてスクラップ&ビルドや短期的解決では解消しきらない問題を扱うことが増えた。ソフトスキル....
  • コーディング速度が落ちている。歳のせいにしたくないがあまりにもコンテキストスイッチにかかる時間の増加と気合で書き切る力みたいな部分に問題がある。注意力も散漫になっている。単にアウトプット不足?
  • AIツールは個人としては比較的使えているが、それを広い範囲に適用するように昇華するということができていない。
  • Android以外の技術への理解度が低すぎる。
  • レスポンス早く返信するのはいいが、日本語が(英語ももちろん)破綻しているので、脳を垂れ流さずちゃんと整形することをする必要がある。

おうち

  • 部屋の掃除問題を仕組みに昇華できておらず、良くない。
  • 部屋暑すぎ、寒すぎ問題。
  • おしごとが以前よりも相対的に凪状態になったので、家の人となにかできる時間が格段に増えた。
  • 掃除ロボットがイップスに3度ほどなって、ステーションから出たのにすぐに戻る状況になっていた。これを再現性のある方法で解消できた。
  • 肉体的、精神的、金銭的に大変ではあるが、家族で飛行機に複数回乗れた。

趣味・個人の活動

  • 趣味でコーディングする時間が有給消化中・プレゼン資料作成中以外ほとんど作れていない。良くない。
  • 技術アウトプットの質の向上と英語での発信が必要。量は正直今の生活スタイルだとこれが限界値。
  • noteに一時期趣味について綴れたことはよかった。継続的にできていないのが課題。
  • インプットは程よくできているが、コードでのアウトプットがないのが課題なのでこれはもうそろそろ向き合いたい。考えていることはいっぱいあるのでそれをコードで表現するときがきている。
  • パソコンカタカタ以外の趣味がなくて割と会話のきっかけを困らせてしまう問題。なんか人が聞いていて楽しい趣味を探したい。

その他

  • 雪山で死にかけた。運転技術向上と車の動作原理の理解向上を日々図っていきたい。
  • 去年のほうが漫才ライブ見ていた気がする。
  • 家でもスプリントを回して、ちゃんとバックログアイテム・タスクに分解して、振り返りをしながら不確実性に向き合いながら前に進んで生きたいと思っていたが、道半ば。
  • 体重が、もうそろそろ一番上の桁の数字が変わりそうなのでそれが怖い。