MySQLのGIS機能2024

 このエントリは、RDBMS-GIS(地理情報・位置情報) Advent Calendar 2024 の1日目です。「RDBMS-GIS Advent Calendar」では今年も参加者を熱烈募集中です。「はじめて触ってみた」という内容も熱烈歓迎ですので、この機会にお使いのRDBMSでぜひ地理情報の操作に挑戦してみませんか。


 さて。このエントリはMySQL の Spatial機能(GIS機能)、2024年の進化のまとめです。MySQLは臨時のリリースがない限りは通常、3ヶ月に一度、年4回のアップデート・バージョンが公開されるので、年4回のMySQL 8.0シリーズのリリースについて書けば良さそうなものですが、今年は LTSと Innovation Releaseに分かれたほか、8.0系と8.4系もあるので、盛りだくさんになりました。 バージョン番号は盛りだくさんですが、GIS機能の進化はどうでしょうか。

リリースノートから、この1年の進化を見てみましょう。

MySQL 8.0シリーズ

MySQL 8.0.36 (1月)

 "spatial"関連の修正事項なし

MySQL 8.0.37 (4月)

 "spatial"関連の修正事項なし 

MySQL 8.0.38 (7月)

 SRIDを持つ列を含む空間インデックス関連の不具合が修正されました。空間インデックスが空でありインデックスが有効に使われない事象と、FORCE INDEXで強制的に使おうとすると "unplanned exit" が発生する事象でした。

MySQL 8.0.39 (7月)

 (8001個以上のテーブルがある時にMySQLが立ち上がらなくなるという不具合に対する緊急リリースであるため、その他の機能についてはほとんど修正なし)

MySQL 8.0.40 (10月)

 "spatial"関連の修正事項なし 

MySQL 8.4 LTSシリーズ

LTSシリーズは基本的に追加機能とかは行われないことになっているので、Spatial関連の新機能についてもそもそも期待薄。

MySQL 8.4.0 LTS(4月)

 "spatial"関連の修正事項なし 

MySQL 8.4.1 LTS (7月)

 MySQL 8.0.38 と同様の空間インデックス関連の不具合修正。

MySQL 8.4.2 LTS (7月)

 (MySQL 8.0.39と同様、緊急リリースのため、他の機能については修正なし)

MySQL 8.4.3 LTS (10月)

 "spatial"関連の修正事項なし 

MySQL Innovation Releases

MySQL 8.3.0 Innovation (1月)

 グループレプリケーションの group_replication_set_as_primary() が、新しいプライマリが選出される前に DDLとDCLの完了を待つようになった。このDDLの中にはCREATE SPATIAL REFERENCE SYSTEM文と DROP SPATIAL REFERENCE SYSTEMが含まれているので、一応GIS機能に影響のある修正ということで。

MySQL 9.0.0 Innovation (7月)

 MySQL 8.0.38と同様の空間インデックス関連不具合修正。

MySQL 9.0.1 Innovation (7月)

 (MySQL 8.0.39と同様、緊急リリースのため、他の機能については修正なし)

MySQL 9.1.0 Innovation (10月)

 "spatial"関連の修正事項なし 


まとめ

 全体を通してみると MySQL 2024年の進化は、空間インデックス関連の不具合が修正された、の1点だけと言えそうです。ちょっと遅々としている感じがありますね。関数の数が多ければ良いというものでもありませんがひとつの指標としてST_*関数を見てみると、PostGISは300個近く、対するMySQLは100個弱ということで大きく差が開いています。
 ひとにMySQLGIS機能を勧めたときに「PostGISでできるアレ、MySQLでできないんですね」として採用を見送られるのは(せっかく一瞬こっちを向いてくれたのに)非常に勿体なく寂しいので、少しずつでも対応関数を増やしていってもらいたいものです。Boost::Geometryへの呼び出し口を作るだけじゃないの?と思っているのですが、そんなに簡単な話でもないのかな?
 2025年のMySQL GIS機能に期待したいと思います。

OSC2024愛媛に参加

2024年11月16日に松山市で開催された オープンソースカンファレンス2024愛媛(OSC2024 Ehime)に参加してきました。
event.ospn.jp


 日本各地で開催されているOSCですが、愛媛での開催は実に12年ぶり。もともと四国に於いては「OSC四国」として四県持ち回りで開催することにしていたと聞いたことがありますが、コロナ期を挟んでなかなか再開出来ない状況だったようです。久々の四国開催。会場は愛媛大学
 今回も日本MySQLユーザ会(MyNA)として参加してきました。いつもどおりブース展示とセミナーひと枠です。

MySQL ユーザ会のセミナー

 今年ずっと、MySQLの最新情報、とくに大きく変わったバージョン体系(リリース方針)について説明しました。大きく頷いて聞いてくださったりと、とてもお話しやすい会場でした。ありがとうございます。
 最近、持ち時間に対して資料を詰め込みすぎることが多く、駆け足で説明する習慣が付いてしまっていたのですが、この資料はゆったり喋って良い作りだったことを忘れていて、超特急で話して30分くらいで終わってしまいました。失敗(持ち時間は45分)。
 残り時間、とみたさん作成の MySQL Parameters を実演しながら最新版の変更点などを紹介させてもらいました。これはこれで、じっくりお話できる場ではしっかり紹介したかったものなので、私は結果としてよかったと思っているのですが、予定外の対応だったこともあって見ている方はどうだったかな。。無理矢理時間埋めるために、つまらない話を始めたと思われていなければ良いのですが・・・・。

MySQL Parameters:
https://mysql-params.tmtms.net/

発表資料:
speakerdeck.com




MySQLユーザ会のブース

 狭いながらも楽しいブース(本当に狭かった(笑))をやってきました。

 午前のセミナーの中で案内したこともあってか、いつもよりもブースでお話してくれる人が多かった気がします。展示していた書籍も見ていただいたり、見た結果気に入ってその場で(オンラインで)注文してくださったりした方もいました。ありがとうございます。
ブースでは、最近開催したセミナーの発表資料をスライドショーで流していたのですが、足を止めて眺める人も多く、懇親会でも「あのスライドにあった件だけど」と話題を振ってくれる人もいて、展示した甲斐がありました。

懇親会とか前夜祭とか

 いっぱいお話できて楽しかったです! というのは大前提として、その中で実は体調が絶不調だったこともあってテンション低かったり後ろ向きだったり(もう帰りたい、とか)いろいろ周りの皆さんにはごめんなさい。実は朦朧と、というほどではないけれど、上の空というかぼーっとした感じというか、そんな感じで参加していました。
 それでも楽しめちゃうのは、コミュニティの持つ場の力というのはすごいものだなと感じます。大学の(しかも同じ学類の)後輩にあたる方に出会えて懐かしい場所の話に花が咲いたり、少し私が知っている知識と経験のお話が役に立ったといっていただけたり、充実した時間でした。

全体の印象

 全国各地のOSC、それぞれに独特の雰囲気というものがあるのですが、今回の愛媛は特に強い熱気を感じました。「今年もいつもどおりやるかぁ」という感じではない、「久々に俺たちやったるぞ!!!」という運営側の勢い、滅多に開催されないイベントが開催される物珍しさ(なんたって12年ぶりですから)、そういったものが重なって、ある意味、初期のOSCのような力強さを感じてとても心地が良かったです。

前後の日程は

 行きにはちょっと面白い特急列車、帰りの日には佐田岬のほうへと訪問していました。松山城にも行きました。そのへんの話はのちほど時間が取れるときに noteのほうに書きたいと思います。

追記:note書きました。アンパンマン列車に乗ったり佐田岬に行ったりしました。本エントリと合わせてご笑覧いただけましたら。
note.com

FOSS4G 2024 Japan に参加しました

2024年11月9日と10日に開催された FOSS4G 2024 Japan に参加してきました。

www.osgeo.jp

FOSS4G Japan とは

 ジオ系OSSのイベント FOSS4G というイベントが世界中で、そして日本でも何カ所かで開催されています。”FOSS4G"という名前自体は一般名詞のようなもので、色々な人がそれぞれ自由に開催できるのですが*1、その中で OSGeo日本支部(OSGeo.JP)が主催する年1回の大規模大会が FOSS4G Japan です。去年は福井で、コロナ前には新潟で開催したりしています。

Day 1 ハンズオンデイ

 あまりじっくりとハンズオンを受けることは、実は私はあまりないのですが、今回は @shi-works さんが講師という事で受講させてもらうことにしました。データ操作の部分に注目してジオ系と接しているので、ビジュアライズ部分がとても苦手なのです。 Twitter(X)上でいつも、目に付いたデータを片っ端からビジュアライズしている(ように見える)shi-worksさん(勝手に通称 shi- さん=しーさん=と呼んでいます(笑))に教われる機会など滅多にないので、この機会に!と飛びつきました。

 ハンズオンというと、入力するために時間を取られたり(それも貴重な体験のための時間でもあるのですが)、その打ち間違いでのバグ探しに時間を取られたり(これも貴重な体験なのですが)という部分でどうしても時間密度が薄くなってしまうのですが、shi-さんの講座は予めワンセットになった動作するファイル群が7つほど用意され、それを部分的にコピペしながら(言い換えると部分的に有効にしながら)、そのコードによる効果を確認していくというスタイルでした。いいな、これ。私の実習系セミナーでも使わせてもらおう(笑)。
 そんな感じで、細かいコードの意味とかは分からないけど「これくらいのこんな感じのコードでこんなことができる」ことを一通り駆け足で体験し、濃厚な3時間を過ごしたのでした。細かいコードは後から見れば良い。

 それにしても、3Dデータは高さの概念、、というか、データのゼロメートルの概念がそれぞれで、難しいですね。実際に自分が使うデータを決めてしまえば、それについて一旦理解しておけば良いのですが、あれもこれも教えてもらったので、そのまちまちの仕様が印象に残りました。

Day 2 コアデイ

 コアデイというのはようするにセミナーデイです。応募してくれた人になるべくお話してもらおうとの考えから(学校での開催なので部屋はあるから)、結局4トラックでの開催に。すごい。
 私も(OSGeo.JPの団体会員でもある日本仮想化技術(株)さんの枠として)ひとつお話をさせていただきました。仕事として検証作業を続けている 「爆速DB Powered by PG-Strom」について、地理空間情報データの扱い、列指向Arrowファイルの扱い、登記所備付地図データの複雑なクエリ の3本立てをみっちり15分に詰め込みました。全体として駆け足の説明になりましたが「GPUパワーのデータベース」の面白さが伝わったかなという感触を、壇上からも感じておりました。終了後にも何人の方にお声がけいただき、追加で説明させていただいたりして、ここ最近の私の発表の中ではかなり「反応が良い」ものとなり、たいへんありがとうございました。

定期的にやっている「爆速DB "PG-Strom" 勉強会」、次回は12月16日に渋谷での開催を予定しています(Apache Arrowの話題です)。ぜひお越しください。(このブログを書いている時点ではまだ参加申込み始まっていませんが、以下のURLからイベント参照可能になる予定なのでチェックしていただけましたら)
https://bakusokudb.connpass.com/

[11/12 17:00追記] 12月16日の勉強会申込みページが公開されました!
bakusokudb.connpass.com



 今回の発表資料は以下の場所で公開しています。
speakerdeck.com

 
 他の皆さんの発表も大変興味深いものが多く、今回のテーマである「飛び出せ」つまり3Dデータに関するもの、みんな大好き登記所備付地図データのことなどのお話を聞かせてもらいました。FOSS4Gってジオ系つまり地理情報に関すること、という事しか言っていないので、範囲は非常に広い。データの収集、取得から格納、加工、分析、ビジュアライズ。データの種類自体も測量データからPOI、点群データまで様々。 自分のよく知らない分野のお話も聞かせてもらいつつ、私としてはデータをあれこれいじりまわす部分について特にもっと触れていきたいなとの意識を新たにしました。
 最後のパネルディスカッションの枠は、もうちょっとパネリストの皆さんどうしが絡むような仕掛けが欲しかったなとは感じました。6人の登壇者がそれぞれ短く語るのが集まっただけで「ディスカッション」要素がほとんどなかったのが、惜しまれます*2。 それでもひとりひとりにじっくり語ってもらえるという部分では、それぞれのお話は非常に面白かったです。

懇親会

 またやってしまいましたよ、最初にお寿司を3つくらい食べた後、あちこちでお喋りしていて全然ごはんを食べないやつ。まぁごはん取りに行くよりお話したいという意思で、ほぼ意図的にやっている部分はあるのですが(笑)。 そんな感じなので、いろいろな方と再会したり初めてだったりとお話をさせていただく貴重な時間になりました。 居た人とのお話はとても楽しかったのですが、遠く(特に関東以外)からお越しの方で月曜休めないから、と参加せずに帰られた方も少なからずいて、この点だけを見ると、土日開催よりも、金曜はハンズオン、土曜にセミナー形式という形にするメリットも大きいのかなとも感じました。

まとめ

 数年前に初めて岡山だったか名古屋だったか(どちらが先か覚えていない)の関連イベントに初めて参加して以降、界隈の皆さんにいつもとても親切にしていただいています。ジオ系あたたかい。今回もこんな「専門外」の私ではありますが、会場で何人もの方に声をかけていただいたり、積もる話をしたり、(普通なら専門外すぎて居場所がないのに)自分の「居場所」のように感じさせられる暖かさがあります。ありがたい。
 それぞれが、重なっているような重なっていないような経験と知識を持つ人が沢山集まるこういう場、大切にしていきたいですね。この大きなイベントの運営に関わられた皆さんに感謝申し上げます(私も運営委員という立場ではありますが、今回のイベントに関してはほぼ戦力外でした)。そして発表された皆さん、参加されたみなさんにも大きな感謝を!


追記:「PG-Stromに向かない処理とは」

 私のセミナー発表の質疑にて「PG-Stromが速いことは分かった。逆に、向かないのはどういうところかを聞きたい」という質問をいただきました。限られた時間で回答をひねり出そうとして「向いているところ以外は向いていないんです」とか「向かないような処理の場合は実行計画でGPUではなくCPUを使うことを選択してくれるので大丈夫です」のような、答えになっているんだかなっていないんだか分からない説明になってしまいました(本人は一生懸命だったのですがw)。
 改めて開発者含めてチーム内でも軽いディスカッションしてみて、求められていたものに近づきそうな感じが得られたのでここで説明させていただきます。3つあります。
 まず「ある程度の規模(セミナーでも説明したような)のデータに対してストレージの読込やGPU並列処理で高速化するものなので、データ量が少ない場合は、あまり効果が得られない」というもの。 それから「GPUは同じ処理を同時並行でできることで高速を得られるものなので、色々な人が同時大量に色々なクエリを実行するもの(OLTP)での効果よりはOLAP的な使い方で効果を得られる」こと。そしてクエリ処理全体の中でのGPUの役割という視点から「PostgreSQLのエクステンションなので、CPUで最終処理をして結果を返す。GPUの役割はその最終処理に渡す結果を大きく絞り込むこと(射影や集約)とも言える。なので、そもそも絞り込めない(減らない)ものは、GPU-CPUのやりとりのコストが大きくなりがち」といったあたりです。
 これを、さらっとあの場で返せたら良かったのですが(たぶん格好も良かったw)、後日となりましたがこちらで説明追加とさせていただきます。良い質問いただいて、ありがとうございました!
 



*1:といいつつ、だいたい同じものに興味を持っている狭い世界ですので開催主体が異なってもだいたいお互い知っている人同士だったりします

*2:だから「パネリスト」ではなく「パネラー」という変な言葉を使ったのかなと想像してしまったり(笑)←たぶん関係ない

OSC2024 Tokyo/Fallに参加してきました

2024年10月26日に、東京は浅草で開催された、オープンソースカンファレンス2024東京・秋(OSC2024 Tokyo/Fall)に、日本MySQLユーザ会(MyNA)としてブース出展してきました。

event.ospn.jp

各地のOSCに参加していますが、やはり東京開催は格段に出展コミュニティが多いですね。
会場到着して急いで設営して、知り合いのブースに挨拶回りをしていたら既にお昼を大きく過ぎていました(途中で一度、自ブースに戻って色々やっていた時間も含みますが)。それでも、いっぺんに久々の方々も含めて再会できるこの場は貴重でありがたいものです。

 その後はMySQLのブース(と、時々OSGeo.JPのブース)で来場された方に説明したりしていましたが、熱心に興味を持って質問をしてくださる方も多かったので、出展した甲斐を感じました。今回のことが(うちのブースだけでなくてもどこかのブースでの話が)きっかけになって、何か新しい事を始める人が出たら、嬉しいですね。






 私の方もだんだん、OSCの出展に時間を取ることが難しくなってきています。日本MySQLユーザ会ではブースのお手伝い(あるいは積極的に出展)してくれる人を募集しているので、希望する方は連絡ください。(Twitter(X)やBlueskyの ハッシュタグ #mysql_jp をご利用ください)

OSC2024 Nagaoka参加

2024年10月12日に新潟県長岡市で開催された オープンソースカンファレンス2024長岡(OSC2024 Nagaoka)に参加してきました。

ospn.connpass.com


行きは新幹線を使わずに、上野駅から5時間半をかけて、帰りは新幹線で上野までたったの1.5時間。新幹線速いですね。
(このへんの話は後ほど noteのほうに)


日本MySQLユーザ会としてブース出展とセミナーひと枠を担当しました。
長岡技科大の学生さんもたくさん参加してくれていて、セミナーは3トラックあるうちの基本的に学生さん向けを意識したトラックを聴講する学生さんが大半の中、私のセミナーのほうにも数人が来てくれていました。彼らは懇親会にも参加してくれたのでその姿勢、きっとこれからも色々と活動の幅を拡げて、そのうちまた別のイベントなどで会うこともあるかもしれません。その際は(覚えていたら)「あのとき参加していた学生です」と声をかけてください(笑)。

ブースは、いつもどおりまったりと。 最近のOSCでの当ブースの傾向として、利用中で何か新たな情報を求めている人よりも、DBMSと縁がないけれども「これは何?」と興味をもってくれた人に説明することが多くなったかな、と感じています。使ってる人は大概の情報はネットで手に入るようになったからだと解釈しておきましょうか。
ブースもいつも人手不足なので、一緒にMySQLユーザ会のブースのお手伝いをしてみたい方は連絡ください(大概、Twitter(X)のハッシュタグ #mysql_jp で案内しています)。


懇親会は、OSC新潟(広義)恒例の、腕によりをかけて選定してくださった日本酒に囲まれて。こっちがおいしい、こっちはこんな味だとか言いながら飲みますが、新潟のお酒はどれも清潔感があって私好みです。といいつつ今回の一番のお気に入りは鶴齢かな。ごく自然にするするっと入っていきます。


前夜祭を含めて、オモテナシたくさんいただき、楽しいOSC長岡参加でした。ありがとうございました。


セミナーでの発表資料は、以下で公開しています。公開用に作業している最中に、トビラの日付「2024」の4が消えてしまいましたが、メインタイトルから2024であると推測していただけましたら。
speakerdeck.com

PG-Strom勉強会でPostGIS入門を語ってきました

2024/10/07 に開催された「第4回 爆速DB Posered by PG-Strom」勉強会にて、地理情報の基本として PostGIS入門のお話をしてきました。

bakusokudb.connpass.com



PG-Stromは GPUパワーを活用して高速にデータの抽出集計等の処理を行える分析基盤です。地理情報データ(GIS)にも一部対応していて、PostGISのジオメトリデータどうしの包含関係や交叉状態の判定、抽出などを高速に行うことができます。

というのを前置きとして、
今回の勉強会ではほとんどPG-Stromに関係なく、まずは「データベース(PostGIS)で地理情報を扱うというのはどういうことか、何を知っている必要があるのか」という基礎のお話をさせていただきました。

speakerdeck.com


海外さんからは、実際にPG-StromでどのようにGPUを活用しているのか、どんな工夫があるのかなどのお話を聞かせていただきました。
www.docswell.com

YAPC::Hakodate 2024に参加して函館(と道南)を堪能した話(前編)

2024年10月5日に函館のはこだて未来大学で開催された YAPC::Hakodate 2024 に参加してきました。
yapcjapan.org

全行程概要

 木曜日のお昼の便で函館入り。元々金曜の朝イチで行くつもりだったけど、飛行機の安いプランが売り切れ。木曜だと1.5万円以上安くなるので、それなら前の日から宿泊するのでいいじゃないか!と木曜日の函館入りになった次第。夜食と朝食で奮発することを計算に入れてなかったので結局安かったのかどうかよくわからない状態になったけど、ただの移動の費用がグルメ体験に化けたのでオッケーとします。
 金曜は朝から道南巡り(「道南どうなん?」プロジェクト)。ざっくり書くと、函館-木古内-知内-千代の富士-北海道最南端-松前江差-厚沢部-森-砂原-大沼-函館 を巡りながら色々眺めてきました(メインは基準点めぐり)。このへんの話は別途 noteに書きます。18時近くに函館に戻ってきたので、前夜祭会場には19時過ぎに到着。ラーメン屋に行ったりしました。
 土曜はYAPC本体と懇親会。後述。日曜日にゆったり寝て、新函館北斗に移動して新幹線で帰ってきました。

前夜祭

 そんなわけで夕方から開催されていた前夜祭会場に19時過ぎに到着。お寿司とやきとりとピザがあるとのことでおなかを空かせたまま突入したところ、こんな遅い時間には既に全て売り切れ。ビールもらいました!(これも追加でご用意いただいていたそうでありがとうございます)
 聞けたら良いなぁと思っていた おぎじゅんさんたちの座談会が、ちょうど始まったところでラッキーでした。お題は「必ず来る未来?IT業界での50代をどう過ごす?」
歳を重ねてできることとできなくなること。できなくなった原因を取り除いてできるようにする意識(と行動)。 ざっくりこんな話題に大きく頷きました。

「やらないことを決める」

 ほんとこれ、そのとおりだなぁと。
ちょっとやってみたくなることが沢山あって、つい手をだしてしまうのです。そして今までは結構その大半をこなしてきた(あるいは少しやってみて満足してきた)。でもできなくなるんですよね、歳を重ねると。
 できない理由は純粋に脳の力と体力、という面もあるのですが、そもそも「やってみたくなること」の量が、歳を重ねると爆発的に増えてくるのも原因だと考えています。たとえば最初に3つの事に興味を持ってやってみたとするでしょう? そのうち2つへの関心が残って、それぞれから派生する話題3つずつ計6個に興味を持つ。その中から3つが残り、、のように多くの場合、既に自分が持っている体験に対して新たな刺激が与えられた時に関心が「生えてくる」ものなので、意識的に整理したりストップかけたりしないと大変なことになるわけです。でも、この「やらないことをきめる」という枝刈りを適切にしないと、つまり本来可能性があったところを刈ってしまうと伸びるべき経験が伸びない。「やらない」と決めるのもまた、結構大変なのです。
 それでもその世界を見てみたくて少しだけ手を出してみることもあるけど、以前ほど深いところにたどり着く前に「だいたいわかった」と言ってやめる必要があることも多く、半端な知識ばかりが増えていくなぁと思う今日このごろ。
 

「2029年問題」

 私は知らなかったのですが、高校で「情報」が必修科目になった最初の高校生が社会人になるのが2029年とのこと。先輩社会人達が習っていないことを、当たり前に授業の中で習得した(あるいは少なくとも「触れてきた」)社会人が誕生するのです。村井先生も執筆陣に加わっている教科書で勉強した高校生が社会人になるのです。期待でもあり、組織の中で明らかに知識の下剋上が発生することになることで生まれる混沌への不安と。どうなりますかね。

「計画的偶発性」

 3人が口を揃えて言っていたコレ。言っていることにも 実際にやられてきた事に対しても首を500回ほど大きく縦に振ったくらい共感なのですが、率直に言うと言葉がキライ(笑)。 「計画的」って何? 起こる「かもしれない」ものに対して「計画」と名付けちゃうの? あなたの「計画」ってその程度のものなの? そんな人に「計画を立てましょう」とか言われた日には大笑いするしかないでしょ! と、そんなお気持ちになるのです。 
 もちろんクルムボルツ先生が悪いのではなく、日本語への訳として選ばれた言葉が悪いなぁと。 planを辞書で引くと、動詞としては「計画」のほかに「もくろむ」とか「するつもり」とか「見越す」などの意味が載っているので、日本語の「計画」よりも実現可能性が高くないシーンで使える言葉なのかなと感じました。「偶発性を見込む(見込まれた偶発性)」とか「偶発性が発現するようもくろむ(もくろまれた偶発性)」のような表現だと、「計画的」よりは本来の内容に則した言い回しになるんじゃないかな。
 ある意味(部分的には)、「犬も歩けば棒に当たる(の良い意味に転用されたほう)」とか「種まき」などの、昔から使われてる言葉で語ればいいじゃん、と思わなくもない。おぎじゅんさんが「僕は無計画的偶発性理論」と言ったのは、このように「計画」という言葉に違和感があったからでは?と想像しました。

 色々書いたのでまとめると、ステージ上で語られた「偶然に助けられたというシーンが多い。でもその偶然に出会えるような場所にちゃんと居る(≒種を蒔いている)」という言葉は、肌感覚としてそのとおりだよなぁと思った次第です。種まきでも罠を仕掛けておくでも釣り針を垂らしておくでも足で稼ぐでもいいので、そういった「結果をたぐりよせる」ような行動を、ごく自然に採ってきた方達なのだなぁと、お話を聞きながら感じました。

 全体通して、とても良いお話を聞かせてもらったし、自分の思っていた(けれど確証のない部分もあった)内容と一致することも多かったし、素晴らしい座談会でした。ありがとうございました。


前夜祭後に市電で函館駅に戻る

 前夜祭会場は函館駅からは少し距離があります。何人かで声を掛け合える人たちはタクシーで戻った人も多かったようですが、市電で戻る人も多く。 本数少ない市電に多くの人が行列しましたが、あんなに並んでいた人たちがやや窮屈ながら全員車両に収容されました。市電って意外と中が広いのですね。 混んだ車両の中では、とある出展者のグループ(の中のひとり)が大きなリュックを背負ったままで、揺れるたびにガンガンぶつかってきて「周り見てねーなー」と微笑ましかったです。「あなたが周りを見ていなくても、周りはまたあなたを見ているのです」という有名なことばがありますので(ない)。 
 車内を観察していると、車内はいくつかのグループと多くのヒトリモンたちから成っており、ヒトリモンsの中のひとりとして、YAPC本体が終わった後はみんな、来た時よりも少しでもお話できる仲間が増えているといいなぁと願いました。



夜のお食事1

 おなかペコペコなので、一旦宿に荷物を置いて身軽になってから、ひとりラーメンに。
真ん中についたてがあって4人+4人が向かい合って座るタイプのカウンター席。4人連れが座っていたので反対側に着席。座ってみたら目の前に座っている人は「Get The Perl」Tシャツだし、着丼待ちの間にTwitterを見ていたら一番左の人(かむぱねるらさんでした!)と目の前のTシャツの人(おがたさんでした!)のラーメン写真ツイートを発見しちゃったし。確証を得たので声をかけりゃいいのに、内気な私はとりあえずメンション(笑)。見てくれてる感じがないので(なにその野鳥観察みたいなの。まず声かけろよ>自分)、先に食べ終わった私、出がけに勇気を出して声をかけてご挨拶させていただきました。一般参加者ではなく運営にご尽力くださっていた皆さんでした。直前まで現地で前日準備をしてくださっていたとのことで、お世話になりました!!!



夜のお食事2

 Twitterを眺めていたら、知っている人が近くで「まだ席あるよ」と書いていたので連絡して混ぜてもらいました。

 考えてみたら、この席に混ぜてもらっていることが不思議な出来事の積み重なりで、まさに「計画的偶発性」の例として面白いんじゃないかな、と思うので、少し語りますね。

 遡ること4年ちょっと。 コロナ直前の2020年の2月に Geospatial Hackers Programというハッカソンに参加しました。
sakaik.hateblo.jp
ハッカソンに積極的に参加していたわけでもないので、なぜこれに参加しようと思ったのかは今となっては思い出せませんが、なにかピンと来るものがあったのでしょう。とにかく名古屋まで行って参加しました(他の地域の開催もあり、福井や沖縄に行く手もあったのですが、名古屋を選んだのもまた偶然)。
 その場で組んだ4人のチームは優秀な成績を収め「全国大会」へと出場しましたが、特に何かを一緒に継続するわけでもなく、その後はSNSで緩く繋がる程度でした。

 数年経って、アフターコロナで様々なイベントが再開される中、何故か RubyKaigiに参加しました。Ruby書いてないのに。松本に行きたかったというモチベーションに導かれて初めて参加した RubyKaigi の某社ブースで声をかけてくれたのが、ハッカソンでチーム仲間だった(しかもその時は学生さんだった)やぎじんさん。 広い会場で、私が参加するなんてどこにも書いていないのによく気づいて声をかけてくれたなぁと、この再会だけでも「ありえないくらいの偶然」といえる出来事でした。
 その際、ご同僚の方とも一緒にお昼ごはんを食べに行くことになった、そのご同僚が、上でツイートを引用した やんまーさん。
sakaik.hateblo.jp


 そして今回、やんまーさんが YAPC::Hakodateに参加されていて、↑のツイートに至る、という流れでした。 ジオ系イベントで名古屋に行ったことに始まり、Rubyのイベントで松本に行き、Perlのイベントで函館に行く。どれもたまたま参加したもので、そこでの出来事が次に繋がっていくという不思議なご縁の連鎖でした。(こういうことって実はたまに結構ある)



 そんなわけで、ラーメンだけ食べて部屋に戻っていたかもしれない私が函館の楽しい夜を過ごすことができたのも、いわゆる計画的偶発性のおかげ。クルムボルツ先生に感謝です(関係ない)。
 混ぜていただいてありがとうございました! 「五稜(お酒)」おいしかったですね!

斯くして前日の夜は更けにけり

 Twitter(X)を見ていると、とても元気な集団が夜中まで楽しそうにしている様子が流れてきたり、前夜祭会場から載せてくれたタクシーの運転手さんが飲み会に参加してくれたという楽しそうな話があったり、各グループ盛り上がっていたようでした。楽しそうなイベントでとても良い。
 私は朝からの300kmを超えるドライブの疲れもあり、おとなしくお部屋に戻って休みました。楽しい一日でした。


という文章を9割方、イベント終了後3日くらいのうちに書いていたのですが、最後に仕上げるための時間がずーーっと取れずに下書きのままま眠っていました。前日までの話で力尽きた感じではありますが、これ以上寝かすのも何なので、いったんここで投稿することにします。