北海道の緯度探訪(北緯45度から42度:OSC2023北海道参加に添えて)

昨年のオープンソースカンファレンス北海道(OSC 2024-do)に参加に合わせて、北海道の色々な地を巡りました。
「札幌のついでに稚内紋別襟裳岬?」 ええ、行きますよ。同じ都道府県内ですし。 ・・・嘘言いました。普通やりません。2023年はちょっと魔が差しちゃいました。そんな感じの旅程です。


その中から、北緯45度(東端西端2カ所)、北緯44度付近、北緯43度、北緯42度の地点を訪問または通過した話題を4本、リンクで紹介します。


note.com
note.com
note.com
note.com
note.com




緯度の話題を含む全北海道記録は以下のリンクからどうぞ。
note.com


OSC2023北海道の参加日記はこちらで。
sakaik.hateblo.jp

SmartHRさんがお好み焼きをご馳走してくれるツアーに参加

私の YAPC::Hiroshimaは、まだ終わっていない。

これはなに

 2月に開催された YAPC::Hiroshima で、SmartHRさんの展示ブースにて「お好み焼きのヘラ」を配布していました。
数量限定のこのヘラ。Twitterで「今から配布するよ!」の情報を得て、すっ飛んで貰いに行きました(笑)。ただのヘラじゃありません。SmartHRさんのロゴが入っています! 裏面にはソースで有名なおたふくのロゴも。 ・・・・いや、それも大事なんですが、それと同じくらい大切なのがヘラと一緒に入っている紙です。「お好み焼きを(東京で)ご馳走するよ!券」。 
そんなわけで本日開催されたのが、オフィス見学ツアー&お好み焼き食べ放題ツアー(食べ放題とは行っていないぞこら)でした。

オフィス見学ツアー

 まずは、ビルの17階にあるSmartHRさんのオフィス見学ツアー。もちろん執務室には入ることはできないのですが、とても広い共用スペース。このエリアは写真撮っていいですよ、と言ってもらっていたのですが、どうしても人が入ってしまうので、撮影も遠慮がちに。

天井の明かりが会社のロゴだったのが格好良かったです。

あと、伝説の「インターネットの椅子」(名前あってましたっけ?)

部活動が幅広く行われているということで、囲碁部、将棋部、バド部、スプラ部etc 同じ趣味を持つ人どうしで楽しんでおられるようです。職団戦とかに出られたりするんでしょうか。

いざ焼き焼きに!

見学の後は、お好み焼き屋さんに!
お店の調理も大変そうで、メインディッシュ(?)が出てくるのが遅めだったのですが、ブログではそんなの関係なくまずはすごそうな写真から、でーん、でーん。

昔のPCの話から、イベント運営の難しさやリスク、カンファレンス類へのスポンサーすることの話題など、幅広く盛り上がりました。
IT屋さんって、自分自身で経験できることなんて限られているので、他の多くの経験をしている人との会話を通して更に幅広い情報に触れることができるものです。例えば YAPC::Hiroshima のようなカンファレンスに参加することとか、その延長で今回みたいにお好み焼きを一緒に食べることとか。 そういう活動や行動を後押ししてくれる会社の仕組みがあるなら、それを使わない手はないわけですよ。面倒くさかったり不安だったり怖かったりするかもしれませんが、社外の人と会う機会をつかみ取って欲しいなぁ(そして社外の人と話をするにはあまりにも自分はプロじゃないと気づいちゃうかもしれないけど、それも成長のチャンス)などと、休日にカンファレンスに参加しても代休とかそんな仕組みがない私は思ったのでありました。 イベントや勉強会などがある時「ついて行っていいですか?」のヒトコトを言い出せるか、そんなことがその後の人生を大きく変えたりすることもあるかもしれませんね。(誰に向かって語りかけているんだw まぁ察してください)

隣のテーブルには知り合いが

 横並びだったので気づかなかったのですが、すぐ隣のテーブルに知人がいたことに途中で気づきました。この2テーブル+カウンターくらいの小さいお店なのに、なんたる偶然。
お互い顔を見合わせて「あれっ!?○○さん!」と言い合って笑う感じが、ここ何年も経験していなかった感覚でした(笑)。 PyCon JP 2024 の共同座長様でした。
こんなことあるんですね。

楽しいときは過ぎ往く

 話題があっちこっちに行きながら、つまり みんなの話題の豊富さ幅広さを表しているわけですが、気づけば良い時間。 ボリューミーな「広島の」お好み焼き(要するに焼きそば入り)を食べて満足の時間でした。実は私、今回のYAPCでの広島でお好み焼きを食べていないのです。前夜祭は頭痛でホテルで休んだ後ラーメン食べに行っただけだし、当日は日中から懇親会まで会場に釘付け、懇親会後はすぐに福山に移動してしまったので。。 そんなわけで、本日お好み焼きを食べたことで私の YAPC::Hiroshima もようやく完結したのでありました。

SmartHR さんも最近いろいろなイベントに協賛/支援等していただいてありがとうございます。いくつかのイベントで活躍を拝見していて、すぐに「このイベントに参加したから幾らの効果」と出るものでないのは当然なのですが、確実に知名度や良い印象が拡がって言っているな、と積み重ねの大きさを感じさせてもらっています。 今後もよろしくお願いします!

ゼンリンミュージアムの赤水&忠敬展が最高だった

ことの発端

2023年12月。ゼンリンミュージアムさん(以降敬称略)が、こんなツイートをしていました。


2024年の1月中旬から5月中旬まで「赤水と忠敬を一緒に並べる企画展」をやるぞ、と。これが私のアンテナにピピピッとひっかかったわけです。

以前より少し気になっていたゼンリンミュージアム。小倉にあるこのミュージアムは千葉県在住の私にとって「ちょっと面白そうだから行ってみよう」というには遠すぎました。しかし、赤水と忠敬が揃って待っているなら、モチベーション100倍アップ。さすがにミュージアムのためだけに九州まで行くわけにはいかないので、何かの予定とカップリングできないかと、そこから模索の日々が続きました。

チャンス到来(というか無理矢理作った)

 最初に候補に挙がったのは、1月末の OSC2024-Osaka のついでに訪問するという案でした。かなり本気で旅程を検討して、、、いやちょっと待って。どう考えてもおかしいでしょ。大阪のついでに小倉に寄ってきましたって。前後のスケジュールを確保しにくかったこともあり、ボツとなりました。
 次のチャンスが 2月の YAPC::Hiroshima。もともと参加を迷っていたイベントだったのですが、赤水とセットになるなら行かない理由はないと、急遽参加を決めました(結果として、期待以上に得るものがあり参加して良かったです。そちらの話はリンク先で)。広島のついでに小倉なら、まぁすぐ近くだしアリですよね! アリですよね!? 

小倉到着

 そんなわけで羽田空港にて SNS には「広島にいってきま~す」みたいな事を書いて、降り立ったのは北九州空港(笑)。4時起きで第一便で到着しました。空港から小倉駅へのバスは補助席もほぼ使い切る満席。
小倉駅では、まず入場券を買って5番線へ。 ゼンリンミュージアムがホームにあった旧喫煙ルームを展示スペースとして利用しているということで、どんなものをかを見たかったのでした。

旧喫煙ルームの中を使っているわけではなく造形の外側にポスター展示をしているもので、これから本物のミュージアムに行くのだったら別にわざわざ見なくてもよかったかもしれません(笑)。が、見なかったら見なかったで「ホームにあるっていうアレ、どんなんだったんだろうなぁ」ってずっと言っていたと思うので、自分の性格としては押さえておく必要があるビューポイントでした。

渾身のボケ不発

 「広島に行くよ」と言って羽田を飛び立ってきたので、ひとつボケてやろうと「平和通り」と「平和通駅」の写真を撮ってSNSにアップしたのですが、誰にも気づいてもらえませんでした。説明抜きで(むしろまじめな顔をして)投稿したので「それ広島ちゃう。小倉やん」と突っ込むことが躊躇されたのかもしれません。大不発(笑)。


一級基準点21046

おお、あれがゼンリンミュージアムのある建物だ!と見えてきたあたりで、何やら気になる美しい橋が目に入ったので、少し寄り道。
寄り道の途中で「伊能忠敬 測量200年記念碑」というものをみかけました。



「2001」という名前がつけられた1級基準点です。点番号21046。成果ID 921079。銘板に記された経緯度は、どうやらJGD2000(またはそれ以降)の値のようです。よかった(笑)。

ゼンリンミュージアムに到着

そんなこんなでようやくゼンリンミュージアムに到着です。家を出てから7時間強。
でもここからがまだまだ長いんです。

いざ入館~怒濤の情報インプット

 入館料を支払っていざ入館。 荷物は最初はずっと手持ちしていればいいやと持っていたのだけど、ほどなくして身軽になりたくて、館内のコインロッカーに預けました。絶対そのほうがラク。館内はほとんど写真撮影不可なので、ここからは言葉中心で。
 最初の廊下に掲示されている地図の歴史の数々を、人類のその想像力に嘆息しながらひとつひとつじっくり眺めていると、キュレーターさんに声をかけてもらいました。余談ですが私、館内にいる間ずっとこの「キュレーターさん」という言葉が思い出せずに「サーキュレーターみたいな感じの言葉だったんだけど、なんて言うんだったかなぁ」と悶々としていました。思い出せないんじゃなくて思い出しすぎていた(だいたい合ってた)と気づいたのは小倉を離れる新幹線に乗ってから。
 で、「北側の窓から関門海峡がよく見えるんですよ」「今日は天気が良くて特に景色がいいですね」などと教えてもらい(こちらの景色は写真撮影OK)。

 私はと言えば、ようやく来られた嬉しさと、大昔の地図の歴史を眺め始めた興奮と、これから見るであろう企画展「赤水と忠敬」へのわくわく感から非常にハイテンションになっていて、お話相手ができた嬉しさかも、あれやこれや話しまくっていたように思います。その後1時間以上、比較的空いていた時間帯だったとは言え、まるで専属案内人であるかのようにたくさんのお話を聞かせていただきました。得がたい体験でした。本当にありがとうございました!

「集めた赤水 歩いた伊能」展示室へ

 企画展の展示室に入ります。普通の興味レベルならば「ふぅん」と言いながら一つ一つ軽く眺めて10分程度ですべて通し終わるくらいかもしれませんが、私にとっては「見たかったお宝」が壁じゅうにあるわけです。実際、この展示室で相当な時間を過ごしました。
 さて、私のこれまでの赤水のイメージは、当企画展でもタイトルになっている「集めた赤水」の通り、現地に行きもせずに、人から話を聞いただけで適当にそれっぽく図に落とし込んだ、というものでした。あっちから来た人に聞いたら高い山があるらしいぞ、ほい来た、山を付け足しちゃおう。こっちから来た人に聞いたら、海の方に向かって大きな回り道になってるって話だ、ほい来た、半島を付け足しちゃえ。そんな集まりで、あの「一応もっともらしい日本の形をした地図」ができるんだから、すごいもんだなぁ、そんな風に考えていました。

 とんでもない。

話を聞くと言っても、ただの旅人に聞くだけでなく、当時の有名な学者さんとの多くの付き合いの中で学術的な裏付けを持ったも情報を得たり、それなりに実績があると言われていた天文学書や事典などをもとに情報収集していたとのこと。中でも私が気に入ったのは、地図を描く上で緯度を正確さの基準とした話。 緯度というのは決められた星の見かけ上の高さ(角度)を観測することで得ることができます。 各地域での観測結果を収集することで(今の地名で書くと)「松江は何度、金澤は何度、宇都宮は何度」と分かるので、この点の情報を基準として地図に描きこむことで、より正確な地図へ近づけることができた、という話でした。すごい。

 地図の歴史を辿るときには、自分の得意な緯度をひとつ持っておくと、より楽しめます。私の場合は北緯35度がそれで、江津から大津、伊豆半島を通って安房まで抜けるラインがどれだけ正確に表現されているかを堪能しました。と言いつつ、私も手元に赤水図のレプリカを所持しているにもかかわらず、赤水図では安房が短く、北緯35度線が安房の南海上を通っていることに、今回の会場で見て初めて気づいたのですが。

 そして目玉の、赤水図と伊能図の横並び展示。 赤水図もすごいなぁと思っていたけど、並べてみると伊能図の美しさが一層引き立ちますね。よくもまぁこんな細かいものを全部測量しながら線を引いていったものだと、その膨大な作業量に驚かされるばかりです。

 そうこうしているうちに(ここまでで入館後2時間経過)ガイドツアーの時間になったので、参加して他のお客さんと一緒にお話を聞きました。既に濃厚な説明をたくさん聞かせていただいたあとなので、私にとっては復習のような感じでしたが、改めてひと回り説明を聞いてみて、展示の流れが整理できたような気がします。

 私にとって今までの大きな疑問が「何もないところ(というか事実上は行基図か)からいきなり、あの赤水図が生み出されたわけではなかろう」というものでした。 そんな話をキュレーターさんにしたら、その場でiPadで調べてくれて数分後に「見つかりました!」って教えてくれました。私としては「あぁ、やはり赤水が元にした地図というのはあったのか」と安心して、その聞いた名前は忘れてしまったのですが、いま改めて調べてみたところだと、森幸安による通称「幸安図(日本分野図)」でしたかね。あるいは流宣図というのもあるようで意外と色々な地図が当時あったのかもしれません。 人々がこうして「日本の形」を認識していく過程って、更にもう少し調べたら面白そうだなと思いました。

 同様に、海外から「日本」という国が(地図的な意味で)どのように見えていたかも、常設展示のほうで体感することができて興味深かったです。いくつか描かれている地名に、なぜその地名がそこに描かれることになったのか等と当時の様子に思いを馳せるのは楽しいですね。

楽しい時間はあっという間に過ぎ往く

 夜になるまでに広島に移動する必要があるので、名残惜しさを感じつつ、展示の鑑賞は終了に。 館内には休憩所を兼ねたカフェがあり、そちらでコーヒーとプリンをいただきました。今回伊能図の展示をしていたこともあってか、千葉県のピーナッツのお菓子もあったのですが「いや、私そっちから来たので(笑)」。 むしろそのお菓子、時々買ってお土産に持っていくほうの立場なのでした。

ここまで入館から4時間。気分が高ぶっていたので気づきにくかったのですが、さすがに疲れました。プリンの甘さが安らぎに。

ミュージアムのキュレーターの皆さん、受付/カフェ のみなさん、とても雰囲気良く声をかけてくださって、とても心地よい時間を過ごしました。 
小倉というのはなかなか立ち寄る機会のないエリアなのですが、また興味深い企画展がある時にはスケジュール作って訪問したいです。魅力的な企画展を楽しみにしています!

お買い物も

 同じビルの下の階に、地図にちなんだグッズを作って見ることができるお店と、各種グッズの販売のお店とがあり、帰りに立ち寄りました。カンバッヂを作らせてもらったり、いろんなグッズを買ったり(あまり買う気がなかったのですが、ついついあれもこれもと選んでいるうちに5桁の買い物に・・・ヒエー)しました。写真で紹介したいのですが、ここまで書いてきて疲れてしまったので、気が向いたら後日追記したいと思います。

その後の話

 広島に移動して、YAPC::Hiroshimaの前夜祭に参加する予定だったのですが、ホテルに入った途端に緊張がほどけたのか、睡眠不足+水分不足+立ちっぱなしの3拍子が揃ったこともあって、バタンと。 もう動きたくないくらいの頭痛で、そのまま前夜祭を諦めてホテルでお休みしました。 これに関しては残念だったのですが(楽しそうだな~と思いながらTweet見ていました)、ゼンリンミュージアムでの満足度の高さと、結果としてYAPCも翌日の本体で最高の体験をたくさんできたので、体調を適切に整える時間に使えたことで良かったのかなと思っています。 非常に濃厚で満足度の高い2日間でした。

私のたからものの赤水図

 数年前に何かの拍子に買った赤水図のレプリカ。 今回の展示を見て「版」がいろいろあることを知ったのですが、確認したところ手持ちのレプリカは「寛政3年の第2版」でした。ここまで興味を持ってくると、他の版の赤水図も欲しくなってしまいますね。

さいごに

 あの楽しかった体験を日記に書かなければ、と思いながら、書き始めるまでの気合いを溜めるのに1ヶ月以上もかかってしまいました。書き始めたら案の定指が止まらず、書きながらあの楽しかった時間を思い出しました。
この分野に興味を持ってしまった千葉県民としては当然佐原の伊能忠敬記念館には行ったことがありますし、なんなら利根川越えたところにある間宮林蔵記念館も行ったことがありますが、今回、同じく茨城県内は高萩に赤水記念館(最近名称変更)があると教えてもらったので、今年中には一度訪問できたらいいなと思っています。

追記

 この日記を書いているうちに気分が盛り上がってしまい、以前から気になっていた本を買ってしまいました。
ひとつは「流宣図と赤水図」。赤水図の各版の違いを紹介し、見分け方を提示しているのが面白いです。赤水図に至る歴史上の各種地図についても多く年代入りで紹介しており、一度じっくりと目を通して整理してみたいところであります。
もう一冊は中図(伊能図)の原寸大複製。写真で見ると感覚失いそうですが、「流宣図と赤水図」がちょうどA4サイズなので、伊能図の大きさがわかるでしょうか。伊豆諸島の測量結果やシーボルトが持ち出してメルカトル図法に書き直した日本全図なども掲載されていて、ページをめくるたびにわくわくする本です。さすがに気軽に新品で買えるお値段ではないので中古ですが、十分に状態よく、良い買い物をしました。

写真撮影のために開いたページは「いわき 高萩」のページですがページ下部には『赤水の死没10日後であったので、測量日記に「長久保赤水の出し村なり」と書いています』と説明書きがありました。

PG-Strom v5リリース記念イベントでベンチマーク紹介しました

2024年3月15日に開催された『「GPUを活用したビッグデータ分析基盤を構築しよう」PG-Strom v5リリース記念』イベントでお話をしてきました。
bakusokudb.connpass.com

15分の枠の予定だったのですが、公開された動画を見ると23分あるので、どうやら23分話していたようです(笑)。

PG-Strom

 最近は仕事としてPG-Stromの検証をして、皆さんに使ってもらうためのノウハウを溜めたりしています。 PG-Stromは一部の人からは強い興味関心の対象となっていますが、まだまだ広く知られているとは言えないかな、と思っています。

簡単に書くと

  • PG-Strom は RDBMSです。PostgreSQLの extension として動作します。使い勝手はPostgreSQLそのものです。
  • フツーのRDBMSは処理にCPUだけを使うものが多いですが、PG-StromはGPUのパワーを使います。5000とか8000並列なのでハマる処理は相当速いです。
  • 日本で開発。機会あれば開発者に日本語で疑問点を尋ねたりできます(今回みたいに)。

という感じ。(内部でのデータ転送を少しでも速くする工夫とか、無駄なものを転送に乗せないようにする工夫とか他にも色々仕掛けがあります)

たくさんの参加御礼

 そんなPG-Stromが、昨年末の12月に Version 5 として大幅にバージョンアップしました。一つ前のバージョンが version 3 だったので、約1.7倍!(そこを計算で比較するのは適切ではない)
version 3 で今ひとつイケてなかった仕組みを大量に設計しなおして、より使いやすくより高速になったバージョンです。
そのリリース記念として、初めてこういうイベントを開催しました。 
まぁこんな感じなので、誰も来てくれないんじゃないか、せめて知り合いが2,3人でも来てくれれば、動画公開用の「公開収録」くらいのつもりで話せばいいか、なんて思っていました。

 ところが!ですよ。

蓋を開けてみれば会場に14人(登壇者3名含む)。はじめましての方も、遠くから来てくださった方も、旧知の方では「この人が興味を持ってくれるんだ!嬉しい!」という方も。
ご参加ありがとうございました。

私の発表

 私からは、PG-Strom を用いたスタースキーマベンチマーク(ssb)の結果を紹介しました。 初めて紹介する場だったので、ややssb自体の説明をじっくりとやることにしました。ベンチーマークの性質、データ規模等について理解いただけたのではないかと思います。パフォーマンス測定結果は、PostgreSQLの標準のテーブル(heap)に乗ったままのデータを、PG-Stromを使って、つまりGPUで処理させることでどれくらい変化するのかをお伝えしました。実は、もっと速くする方法があるので、またの機会に紹介したいと思います(Apache Arrowファイルを用いる方法です。Arrowファイルを使っても速くなるものとあまり効果が得られないものがあるので、そんな話も追々)。
 

開発者海外さんの発表

 PG-Stromの歴史を辿りながら PG-Strom v5 の工夫のポイントを紹介してくれました。私が v3 で不満に感じていた部分が v5 で解消されている話などもありました(件数少ない時に、むしろPG-Stromを使わないほうが速かった件など)。GPUの内部をイメージし切れていないので「連続状態のデータとなるように」と言われても未だに分からない部分も多いのですが、ひとつひとつ課題やアイデアの実現などを重ねて、このバージョンができあがったことがよく分かるお話でした。こういう話は(細かいところがわからなくても)聞いていてワクワクしますね。

資料と動画公開

当日の発表動画は、YouTube の『爆速DB「PG-Strom」』チャンネルで公開しています。チャンネル登録してぜひご覧ください。
https://www.youtube.com/@bakusokuDB


私の発表資料は Speakerdeckで公開しています:
speakerdeck.com

今後

 終了後の交流会も、短い時間ながら大変盛り上がりました。大崎の夜は早い(笑)。あと1時間くらいお話したいところでしたね。
PG-Stromの話題に興味を持ってくれる人がたくさん居ることもわかったので、おそらくまた2回目、3回目を開催していくと思います。ぜひまたご参加ください。今回参加叶わなかった方も次回は会場でお会いしましょう!


Speakerdeckで公開したスライドでは画像がツブれている可能性があるので、Star Schema Benchmark のクエリの早見表をこちらにも貼っておきます。実は途中から記述方針を変えたのでよく見ると首尾一貫していない記述方があるのですが、ご愛敬という事で。

「公共交通オープンデータ最前線2024」参加

今年も「公共交通オープンデータ最前線2024」に、参加してきました。今年は3月2日の開催。「3月に入ってから発表準備しよう!」という人には厳しい日程だったかも(笑)。
https://gtfs2024.peatix.com/


昨年(2003年)の参加後にこんなブログを書きました。
sakaik.hateblo.jp
今年も、33講演。幅広いテーマ、幅広いバックエンドを持った登壇者の、たくさんの講演を聞かせていただきました。IT屋さんがガッツリ入るケースも増えてきているなという印象。

路線がないのに扱える GTFS-flex

 今年の新しい話題としては GTFS-flexが印象的でした。GTFSというのは主にバスを中心とした「路線通りに運行している」公共交通を扱うものだと理解していたのですが、GTFS-flex はオンデマンド交通のような路線がないもの(スタートとフィニッシュだけ「その時に」決まるようなものなど)を扱える仕組みだそうです。
セミオンデマンド」とか「フルオンデマンド」とかは明るくないのでよく分かりませんでしたが、面白い事ができそうな予感がしました。

なお、昨年の「新ネタ」でわくわくしたGBFSは、今年は話題を聞きませんでした。どこかに行ってしまったのか、細々と続けているのか。

やはり懇親会

 昨年は(有志でというテイで)ごはんを食べに行きましたが、今年は公式に懇親会が開催されました。
お話したかった方が何人かいて、でも私、顔認識ロジックが貧弱なもので相手を見つけられないものだから、いろんな人に「○○さんって分かります?」とか聞いて回っていました。お世話してくださった皆さんありがとうございました。こういう時に、やっぱり名札があったらいいのになぁと思ったりします。私も、よく自分の名札を持って行くのですが、今回は忘れてしまいました。
狙っていたお相手以外にも、多くの出会いがあり、普段よく顔を出すいわゆる「ホーム」の場も気楽だけど、こういうアウェイ的な場(と言っても随分と知り合いも増えましたが)も楽しいと改めて感じました。

今年こそデータと戯れる時間を

 毎年このイベントに参加(コロナ時は視聴)して、「GTFSデータ楽しそう!やるぞ!」と思うものの、翌日から日常に忙殺されて触れぬままに翌年のイベントを迎える、ということが続いております。GTFSデータリポジトリで手軽にデータを取得できる場を作っていただけていることだし、今年こそ、何かの形になるところまでたどり着けないとしても少しはデータと戯れてみたいです!

OSGeo.JPともぜひ何か

 OSGeo.JP の運営メンバからもたくさん今回のイベントに参加させてもらっていました。懇親会で何やら楽しい話がなされていたようですので、OSGeo+GTFS的な何か(発表会かもしれないし交流会かもしれないし)など開催される流れになったら良いですね。

ますますの発展を!

 基本的に部外者の興味本位、という立ち位置で参加させてもらっているのですが、毎度、紙が減っていくこと、自治体も頑張っていること、新しい発表者が毎年現れてくれることなどを体感しています。一方で、データ作成公開を継続できなかった地域・会社の話も耳にすることもあり、これは残念だなと感じました。「雰囲気で」やっていたところと、「しっかりと意義を理解して」取り組んでいたところの差が出ているのかなという印象です。 継続できない事情はそれぞれだと思うので、そういった出入り自由な雰囲気を持ちつつ、今のように全体としては拡がっていく傾向が今後もますます続いてくれることを願っています。

なお、冒頭の写真は昨年のと似ていますが、ちゃんと今年の開始前に撮影したものです。同じ部屋だから似た絵面になるよね。

MySQLで二乗三乗は^じゃないんだじょう

SQL」は標準化されているとはいえ、特に関数や演算子にはデータベース製品ごとに結構な差異が含まれています。「方言」と呼んだりしますね。
その「方言」のおかげで、うっかりハマったので、紹介するじょう。

計算が合わない!

事の発端は、SELECT句で行っていた少々複雑な計算が、なんか全然違う値を返していることに気づいたこと。式を分解しながら原因を突き止めたところ、累乗の計算で期待と異なる結果を返していることが原因だと分かりました。

何が起きたのか

シンプルな例として「10の三乗」が欲しいとします。まぁ、何も考えずに手を動かすと、このように書きますよね。

mysql> SELECT 10^3;
+------+
| 10^3 |
+------+
|    9 |
+------+

 10の3乗は、9です! ・・・・ってそんなことあるかぁっ!

実はMySQLでは ^ は、ビット演算の演算子なのです。XORです。
MySQL :: MySQL 8.0 リファレンスマニュアル :: 12.13 ビット関数と演算子

ということで 10→1010、3→0011 なので、

1010 XOR 0011 = 1001

(1001←9)
という正しい計算が行われたということですね。 もちろんこの式単独で見ればおかしいことにすぐに気づくのですが、複雑な式の結果が合わない、というところからこの演算子が累乗でないことに気づくまでには結構手間がかかりました。。

MySQLの累乗はパワー

 MySQLで累乗の計算を行うには、POW() (またはPOWER())を使用します。こんな感じ。

mysql> SELECT POW(10,3);
+-----------+
| POW(10,3) |
+-----------+
|      1000 |
+-----------+

なんだか見た目として(慣れないと) 10の3乗を指示した気分になれないですよね。。

PostgreSQL では

PostgreSQLでは「^」で累乗を表します。こっちのほうが多くのプログラム言語で見慣れているので気分良いですね。

pgdb=# SELECT 10^3;
 ?column? 
----------
     1000

追記(2024/03/07正午頃)

 Twitter(現X)で紹介したところ、「プログラム言語で累乗に ^ 使うのって少ないんじゃね?」「OracleMSSQLでもPOWER()だよ。MSSQLでは ^ はXOR」など色々おしえてもらいました。
また、本エントリで多少の違和感を持ちつつ「累乗」と書いていたのですが、私が普段よく使っていた用語は「べき乗(冪乗)」でした。前者は自然数の場合のみ用いられる語とのことです。まぁ「3.14^2」みたいな式を累乗と呼んでも目くじらを立てる人もそうそういないと思いますけど、正確ではなかったな、と。(1000^3 を例にしておいてよかった)
以下のスレにて。

とほほさんにあえてうふふ

2024年2月に参加した YAPC::Hiroshimaで、「あの」とほほさんの講演を聴き、懇親会でお話をする機会を得ました。YAPC参加ブログの中の一部として埋もれさせるには惜しい程の得がたい体験だったので、本エントリに切り出して書く次第。
YAPC::Hiroshima 2024 の参加については以下のエントリにて:
sakaik.hateblo.jp

そんなにすごい人だったの?

 htmlのタグ名、cssの書き方、その他各種言語の基本構文や関数などを検索すると、大概「とほほのWWW入門」に行き当たります。簡潔に、しかし幅広い分野に亘って充実した解説には、何度も助けられました。他の情報源に当たっていたら数時間は解決しなかったであろうものが、とほほさんのサイトで3分で済んだ、みたいな感じ。 辞書のように安定した情報は、さながら「ひとりWikipedia」のようでした。
 技術情報を検索すれば余りに当たり前のように「そこにある」ものだったので、いつのまにか都度感謝をすることを忘れてしまったくらいに生活の中にあるものだったのですが、今回の講演を聞き、お話をする機会を得て、「自分はこんなにも感謝をしていたのか!」ということを認識できて、寧ろ自分でも驚いたくらいです。
 YAPC::Hiroshimaの会場でも、ある程度年齢の行った技術者が軒並み感動していて、その時代をともに歩んで来たわけではないのでそこまでピンと来てはいない若い人たちが「自分の尊敬する先輩がこんなに感動しているなんて!」と感動している「感動の連鎖」を目にしたりして、「若い人たちにこの感動が伝わっているなんて!」と私も更に感動の連鎖に飲み込まれたのでありました。

実在の人として認識したのは5年ほど前

 そんな当たり前に存在した「とほほのWWW入門」ですが、あまり人物感がないというか、「未来から来た自動生成プログラムが、情報をぽんと置いていったんだよ」というまるでサトシナカモトみたいな話があっても信じちゃうくらい、サイト作成者については謎に包まれていました。講演に出てくるわけでもなければ、IT系の交流系イベントでお会いするわけでもない。充実したサイトだけが「そこにある」という、不思議な状態が続いていました。
 この状態に終止符を打ったのが5年ほど前(2017年)。突然、お写真付きでインタビュー記事が公開されました。今は無き HRナビですが現在は以下のサイトで閲覧することができます。
project.gotanda-valley.com

 びっくりしましたね。お姿を拝見できる方だと思ってもいなかったので、当時、何度も何度も読んじゃったことを記憶しています。

講演を聴いて

 ご自身がやってきたことを中心にお話をしてくださいました。コンピュータとの出会い、アイコン重要、同名ハンドルの方との混同による死亡説騒動、シンプルな記述に気を配っていること、IT以外の「とほほ入門」のこと。 
私は結構、人の話を聞いていると途中で飽きちゃうほうなのですが、とほほさんのお話は最後まで引き込まれたままであっという間の時間でした。40-50分くらいでした?
 

懇親会にて

 とほほさんも懇親会に参加されるということで(しかも私は参加できなかったんですが二次会までお付き合いいただいたそうで)、これはぜひともお話しなければ!と意気込んでいたのですが、最初は「そこに "動くとほほさん" がいる」という状態が不思議で不思議で、声をかけられませんでした。これではいかん、と宴も半ばにさしかかった頃、とほほさんの近くのテーブルで他の方とお話しながらスタンバイ。どんな有名な人でも、パーティー全体の中では突然ひとりになる瞬間というものがあるのです。いや別に盛り上がっている輪の中に入っていっても良いのですが、今回はなんとなく一人になった瞬間を狙いたかった気分で(笑)。
 少しすると狙い通りとなったので、ご挨拶に。 昔のテープにセーブしていた頃の話(ピー・ガッガーの話)から、フロッピーディスク談義(私は部品点数も多く分厚い3.5インチは受け入れられずに、薄い5インチのほうが残ると思っていたのですが、とほほさんは 3.5インチが残るとお考えだった、みたいな話とか)、アウトプットするということについて(講演で語られたお話をさらにもう少し)、いろいろお話させていただきました。お話していて改めて分かったのは、とにかく好奇心の塊ということ。 自分の生活や仕事の中で触れた情報をまとめているだけでなく、「なんかネタがあったら教えて!」と、むしろネタを探しに行く姿勢からも、そのように感じました。 みんなとの写真撮影にも気さくに応じてくれたりして、なんだか昔から一緒にコミュニティ活動していた仲間であるかのような錯覚をしてしまったくらい、とてもフレンドリーに接してくださいました。基本的に今回 YAPC::Hiroshimaに参加していた人たちの多くは、とほほさんに対して大スターに接するかのような思いがあったと思うのですが、そんな中にいても極めて自然に振る舞っていて、格好良いなぁと思いました。

 そう。格好良い。文字にしちゃうと陳腐な感じがするのだけど、本当にこれ以外の言葉を当てはめることができない感覚(言葉にすると全部違う気がしてしまう)で、懇親会後に新幹線に乗って福山まで移動して、福山のホテルの窓からライトアップされた福山城を眺めながら「格好良かったなぁ・・・・」と嘆息していたくらいには、ずっとシビれておりました。 お会いできて良かった! また色々な場に出てきていただいて、またお会いしたいものです。

短距離走

 とほほさんとお話をしていて、僭越ながら(勿論厚みも幅も継続性も全然レベルが違うことは承知の上で)自分と考え方が似ている部分があるなぁと感じました。
何かの情報に触れた時に、その周辺情報を含めたある程度のカタマリについて一式を知りたいと思うこと。知ったことを整理してみたいと思うこと。知って面白い内容だったので人に聞いてもらいたい(伝えたい)と思ってしまうこと。結果として(自分も忘れるので)その書き残したことが後の自分にも意外と役に立つこと。
 興味関心のターゲットは、「ある程度のカタマリ」の範囲を(自分ルールで良いので)決められるものであること。どこまでやってもキリがないものではなく、コンプリート可能なものであることが重要です。その道が長いか短いかはそれぞれなので、必ずしも短距離とは言えないのですが、コンプに向かって突っ走る感覚から、私はこれを「短距離走」と呼んでいます。この「短距離走」がお好きなのかなと感じました。 少し大げさな言い方をすると、ひとつのロールモデルに出会えたような気分でした。いいんだ、これで、って。

 ご本人がこれを読まれたら「ぜんぜん違うよ」とお笑いになるかもしれませんが(笑)。

Now

 会から2週間も経ってこの文章を書いていますが(逆に、まだ2週間しか経っていないのかという気分もあります)、思い出しながら、素敵な方とお話できたなぁとニヤニヤしてしまっています(笑)。お話楽しかったです。うふふ。