今年(2022年)の6月に日本に帰国して早3ヶ月以上になるのでここ数ヶ月でやってきたことをまとめておこうと思う。夏休みは基本的に遊び呆けていたのでこれから書き残すことはほとんど9月以降のものになる。
CCC運営(夏休み~9月中旬)
2020年の起案時から関わっていたCode for Japanが母体のCivictech Challenge Cup U-22に今年も運営スタッフとして参加した。帰国時にはすでにエントリーを締め切り、参加者内で勉強会を進めていくフェーズだったので中盤からの参加になったが、去年一昨年で若干要領が掴めてきたことと他のスタッフが死ぬ程稼働してくれたので初年度ほどあたふたせずに進められた。とはいえこれまでの手順にそのまま倣えば良いというわけでもなく、例えば今年は例年に比べて初心者の割合が多かったのでそれを踏まえた勉強会やイベントの準備が必要になった。慣れてきたといってもまだ3年目で、なおかつ今までの知見をあまりドキュメントに残してこなかったこともあってデジャヴみたいな苦労や作業をしたことも多かったので、来年度のキックオフまでに自分の頭にしかない知見のドキュメント化をしていきたい。
今年のCCCは例年より若干早めのスケジュールを組んでいて、8月末に作品提出を締め切ったのち一次審査を挟んで9月17日に最終審査会を開いた。例年通りファイナリストはオンライン参加で審査員数名とスタッフがオフラインで集まった。僕は裏方として字幕配信や会場の対応などを担当していたが、司会進行を務めるスタッフたちを見ていると、2年前に右も左も分からないアドリブ耐性ゼロの状態で司会進行をしたことを思い出して少し懐かしい感じがした。今年の司会進行スタッフは2年前の僕の何十倍も念入りに原稿を書き、流れを確認していたこともあって、完璧なタイムキープで最終審査会は終了した。アドリブで質問を拾ったり、間が空いたらすかさず誰かに話を振るといった対応力はもちろん、事前に僕を含めた裏方にタスクを分担していく事前準備の用意周到さには脱帽だった。来年のキックオフとかで「僕らでタスク分担できるのならPM(八谷)要らなくないですか」的なことを言われないかだけが心配である。
Code for Japan Summit セッション収録(9月初旬)
毎年Code for Japanが開催しているシビックテックイベント、Code for Japan Summitのセッションを1枠もらい、Code for Japanの武貞さんと福岡大の森田さんと「シチズンサイエンス×シビックテック」というテーマでパネルトークをしてきた。シチズンサイエンスというのは、大学などに所属して研究をするいわゆる研究者ではない市民がデータ収集、分析を行い、独自に、もしくは職業研究者と協力して研究を進める取り組みのことである。説明するのは簡単だし「シチズンサイエンスやろーぜ!」と言うのも簡単だが、実際には様々な問題が浮かび上がってきており、それがシビックテックに割と共通しているというのが面白いところであった。
例えば、現在のシチズンサイエンスで主流となっているのが、市民が収集したデータを大学の研究者が大学の設備を用いて解析するという形態である。日本各地からのデータ収集など研究者1人ではできない作業を市民に協力を求めて研究を共に進めるといえば聞こえは良いが、穿った見方をすれば「市民が手となり足となり研究者に奉仕している」という言い方もできる。つまり研究者側は大学の設備を使うなどある程度所属先からのサポートを受けている一方で、市民側はタダ働きをしており、この差はフェアじゃなくない?という問題である。この隷属的側面はシビックテックにも共通している。すなわち、シビックテックプロジェクトはその特性からOSSで開発されることが多いが、そのコントリビューターに正当な対価が支払われることは稀である、という問題である。僕なんかはCode for JapanのエンジニアとしてOSSプロジェクトに関わっているので正当な対価をもらって開発しているが、自然発生的に開発が始まったシビックテックプロジェクトでそういった報酬体制が整うことはほぼない。最近だとDev Protocolなどを用いてOSSコントリビューターに正当な対価を支払おうという取り組みも進んではいるが、現状のシビックテックにおいて大きな課題であることには間違いない。
他にも共通する課題の話や、シビックテックとシチズンサイエンスの融合みたいな話もしているので興味があればこちらのセッションを見てほしい。
免許講習(9月中旬~)
満を持しての免許講習である。元々留学前に取ってしまおうと思っていたのだが、なかなかやる気が出ず、帰国後の夏休みもとうとうやる気が出ず、家族に尻を叩かれるようにして小山ドライビングスクールの門を叩いてやっと申し込みに成功した。詳しくは説明しないが知り合いがそのスクールに関わりのある人で、彼の紹介で申し込みに行ったところ裏からぞろぞろと営業部長やら係長やら次長やらが名刺を渡してきてどう対応して良いか分からなかった。そもそも一回免許を取ったら金輪際関わらないであろう、つまり太客が存在しないビジネスでこんな待遇をされてもこちらが困るだけである。スクール側が勝手にスケジュールを組んでくれたり、アウディで教習できたり、何回試験ミスっても追加料金がかからなかったりするオプションもつけてもらったのですごく得した気分にはなったが、アウディでの教習に関しては、ウィンカーの位置は違うしサイドブレーキはバーじゃなくてボタンだし本免で不利になりそうな要素しかないのでやめておけば良かったと最近教習が始まって後悔しているところである。それはともかくキャンセル待ちとか予約機とかいう概念を体験しないまま免許が取れるのはラッキーなことなので、どうにか社会適合者っぽくスムーズに免許を取りたいところではある。
セキュキャン(オンライン)(9月23日)
IPAが主催するセキュリティ・ミニキャンプ in 山梨に参加してきた。in 山梨と言いつつ参加者は全員オンラインだった。元々知り合いのy-chanからブロックチェーンの講義を受け、Bitcoinのブロック構造やトランザクションの構造などを学んだ。講義はy-chanが実装したブロックチェーンを軸に進んでいて、Bitcoin Coreとかのコードをいきなり読もうとして撃沈した僕にとっては、シンプルなブロックチェーンの実装を読めるのはかなり幸せだった。y-chanがSecHack365で取り組んでいたAtomic Swapの話も聞けて大満足の1日だった。
認知症フレンドリーテックハッカソン(9月24、25日)
セキュキャンが終わるや否や大急ぎで羽田空港に向かい、23日のうちに福岡に早入りして参加したのが認知症フレンドリーテックハッカソンである。これが僕にとって2回目のハッカソンで、今回はSGGのようかんと一緒に現地参加で2日間開発をした。
認知症の母親を持つ参加者と僕ら2人でチームを組んで作ったのはNFCを用いた整理整頓ツールで、ようかんの得意分野であるLIFF周りと僕がよく触っているProject Fugu系のAPIをくっつけたものを開発した。認知症患者は空間認知能力の衰えから整理整頓が難しくなる傾向にある。そこで、服や小物一つ一つにNFCシールを貼り、各シールに「それは何か、いつ買ったか、どこにしまうべきか」などの情報を紐づけておくことでスマホをかざすだけで全ての情報が分かるという仕組みを実装したのである。ノンテックのユーザーにも親和性の高いLINEログイン周りはようかんに任せて、僕はProject Fuguの一つであるWeb NFC APIを使ってNFCシールから情報を取ってくる部分の実装を担当した。また、認知症患者に限らず高齢者は文字情報より音声情報の方が楽に吸収できるということを考えて、シールから取得したデータを読み上げる昨日も実装した。Web NFC APIの方は実装自体はそこまで難しくなく、Chrome on Androidにしか対応していないのでわざわざ天神駅前でPixel4aを買ってくるなど札束で解決できるところをすれば問題はなかったのだが、読み上げ機能がなかなか曲者であった。
当初GCPのText-to-Speech APIを検討していたのだが、認証情報をリポジトリ内にJSONで保存するという謎仕様が嫌で、標準のWeb Speech APIを利用することにした。Web Speech APIであれば課金の心配もないかつある程度のクオリティも保証されているので完璧だったのだが、LIFFブラウザ(Android Webviewに準拠)が対応していないことと、Safariでもなぜか上手く動かなかったことを受けて結局Text-to-Speech APIに出戻りすることになったのである。JSONで認証情報を持つというのがこの上なく嫌だったので、中のプロパティを全て環境変数に入れてどうにかするなどの策も考えたが、どのみちハッカソン中しか人の目に触れないプロジェクトなのでそのままリポジトリをPrivateにした。最終的に成果発表の2時間ほど前に読み上げ機能が実装完了したので体裁を整える暇はなかったが、2日間のプロトタイプとしては期待以上の出来になったのでかなり嬉しかった。結局Protopedia賞なるものを受賞できたので今後もこのツールをアップデートして実際に使われる段階までもっていきたいと考えている。
土曜から日曜にかけてのハッカソンで、月曜朝から通常通り高校があるのでほとんど福岡を堪能することはできなかったが、土曜の夜に立ち寄った屋台のもつ鍋は至高であった。東京でもつ鍋を食べたことがないから何でも美味しく感じるというのが正直なところだが、祭りでもないのに日常的に屋台が出ていたり、東京よりあからさまに夜の街な天神を歩き回るのはすごく新鮮だった。もっと時間がある時にまたゆっくり観光したい。
おわり
とりあえず10月中も免許講習は続くのでとにかく学科で寝ないように気をつけたい。
最近の開発のモチベーションについてもこれから語ろうかと考えたが、それはまた別の記事で書こうかと思う。では。