最近、子供が図書館で借りてきた本に、 the Mysterious Affair at Styles (『スタイルズ荘の怪事件』)を子供むけに翻案した絵本というのがあった。それで久々にポアロのことが色々気になってきた。スタイルズ荘も未読だったので英語で改めて読むということをしている。 さて子供に読み聞かせたりしているうちに、この名探偵の名前をどう発音したらいいかということがよくわからなくなってきた。日本では一般的にはエルキュール・ポアロという表記で知られていると思う(ポワロかもしれない)。ポアロはフランス語話者のベルギー人なので、自身の発音に則するとすればhは当然発音せず、カタカナにすればエルキュールに近い発音になることだろうとは思う(ところでポアロの名前が Hercule だというのも、ごく最近になるまで知らなかったというか考えたことがなかったように思う。ヘラクレスに対応するローマ神話の神様の名前から来ているということで、それで名探偵の小男というのがギャップな名前だったわけですね)。でもクリスティはイギリスの人だし原書は元々英語で書かれている。英語圏の読者たちがポアロをどのように呼んでいたかというのは、そうした設定に対して忠実であるとは必ずしも言えるわけでもない。 ちなみに絵本には発音ガイドが載っていて、めちゃくちゃhを発音する普通の英語発音であった。でもそれじゃ雰囲気でないと思うんだよなぁ。 一方軽くググってみたところ Oxford Learner’s Dictionary ではhは無音ということが示された。Googleの発音ガイドはhを発音するが、下に出てくるAI Overviewではhを無音とする情報、というふうにもなっている。 というわけで調べれば調べるほど訳がわからないのであった。でもまぁアメリカ人的にはどっちでもいいのかもしれない。 イギリス人的には知らんけど……。 他の音声的情報源といえば、ドラマ版がありそうではある。デヴィッド・スーシェが演じてたアレ。私も子供の頃は大好きでよくみてました。もちろん自分が観てたのは熊倉一雄の吹き替え版だけども今の自分なら英語で観ればドラマ内の発音はわかるはずだ。もっともエピソードたくさんあるしそんなにHerculeの方は呼ばれていた気がしないが……とYoutubeで検索してみたところ、ありがたいことに「ポアロが自分の名前を呼んでるシーン集」という動画があった。自分ではやっぱりエルキュールと発音しているな。 ただ自分でというならベルギー人という設定なのでそれはまあ当然という気もする(それにしても……改めて聞くとデヴィッド・スーシェの発音ではrの発音が全くフランス語ぽくない)。どちらかというと周囲の英語話者キャラクターたちがどう呼んでいたかもみたい気がするがそっちはよくわからない(Mr. PoirotとかMonsieurとか呼ばれていてなかなかファーストネームが呼ばれない)。もちろんドラマ内の描写は、当時や現代の英語話者の読者が彼をどう呼んでいるか、ということはあまり含意しない気もしないでもない。 でもまぁやっぱり自分はhを発音しないエルキュール的な発音で行きたいな、と思いました。それで通じるのか知らんけど。
ドッジボールが日本国内と国外で全然違う
去年のことだが、会社のオフサイトイベントに行ったら余興の一環としてランダムに組まされたチームでいろんなタスクをやるというよくある遊びがあった。で、タスクの一つがドッジボール。 日本で育ったオタク・インドア・運動苦手勢は全員同じ気持ちがあると思うがドッジボールには何一つとしていい思い出がない。できれば一生関わることなく生きていたいし、まあ大人になれば関わるようなことはまずない。そういえば、かつてGoogle東京で働いていた時にも会社イベントでドッジボールやろうかみたいな話が出たことがあったが、一部のソフトウェアエンジニアたちからの強い意向により取りやめになったということがあったことも思い出す。 そんなわけでドッジボールか……とちょっと嫌な気持ちになったが、まあみんな大人だし俺も大人なので適当にこなそう、と素知らぬ顔で参加した。そしたらルールが結構違っており、そしてやってみたら結構楽しかった。まあ自分は全く活躍しなかったけど、それはそれ、これはこれ。大まかなルールは一緒なのに、細かな違いでこんなに変わるものかと感心したのであった。 あとで軽く調べてみたところによると、日本のドッジボールは日本で独自に発展・進化して成立していった独自ルールであるようだ。 ここを読むような人は知らないことはないと思うけど、日本のドッジボールのルールというのは次のようなものだろう。 2チームに分かれてボールを投げ合う。一方のチームの誰かが手で投げたボールに当てられたらその人は退場。どちらか一方のチームが全員退場したらそのチームの負け。 長方形のコートを2つに分け、各チームがそれぞれ自分のエリア(内野)内にとどまる。退場した人は「外野」と呼ばれ、敵チームエリアの外側に行く。 ボールは1個、バレーボールやサッカーボールのようなものを使う 誰にも当たらずエリアの外に出たボールは外野が拾い、敵チームへの攻撃に使う ボールを当てられても地面に落ちる前に拾えればセーフ 自分が体験したドッジボールは、その後にウィキペディアなどで見るとアメリカなどで一般的なルールのようだった。大きな違いは、 ボールが複数、大体チームの人数分ぐらいある(9vs9だとボール9個ということ) ボールは中が空気の軽くて小さなボールを使う。大体ソフトボールくらいの大きさのやつ(utility ballという) スタート時点で、ボールは自陣と敵陣を分ける線上に配置されている。スタート時点ではチームは全員外で待機し、スタートと同時に走ってボールを拾いに行く 外野は自陣の奥に待機し、敵を攻撃したりできない 投げられたボールをキャッチできると敗者復活で、外野から一人戻れる といったところであった。大きな違いは「ボールの数」「ボールの大きさ・硬さ」「外野が攻撃できない」だ。 日本のドッジボールはボールが一つしかないので、強い人がいるとその人がボールを占有して攻撃し続けるサイクルになりやすい。それ以外の自分みたいな人は基本的には標的であり、いかにうまく避けるかしかやることがない。でも避けてもボールはそのまま外野に流れてまた攻撃されるだけだし何も面白くない。ボールは結構硬くてあたれば割と痛い。総じて体格が良くて運動の得意な子がそれ以外をひたすら攻撃し続けるだけの競技だと思う。 ボールが複数あると展開はスピーディになるし、どちらかの攻撃というだけではない複雑な展開が行われる。誰を狙おうかなとのんびりしている余裕はないというかボールを持って振りかぶってるやつなんて狙われてしまう。ボールはやや小ぶりで柔らかく、当たっても痛くない。そもそもスピードが乗せづらい。後ろの外野は味方なので、うまく避けれれば自分にボールが供給され攻撃側になるチャンスも多い。ボールが増えるだけでこんなに変わるものかと感心するくらい全然違うスポーツであった。 もちろん、自陣最後の一人になったら狙われまくったりしてあまりいい気はしないだろうし、どんなボールでも(特に子供なら)当たったら痛くていやな気持ちにはなろう。それにこのルールだと敗者復活は結構稀な現象な気がして、ゲーム序盤で当てられてしまって退場したら後は玉拾いぐらいしかやることがないという話はある。あと何にしても体を使うので運動そのものがいやならいやだとは思う。 けど総じてこちらのドッジボールの方が余興むきだし子供同士の遊びにも向いているように感じた(もちろんcompetitiveな世界ではまた違った話ではあるのだろうとは思うのだけど)。というか日本ではなんであんな硬いボールでドッジボールやってるんだろうか。っていうのはそれが一番学校で常備されているからだろうけど、さすがにやめた方がいいのでは、と思うのだけど。 ともあれ、同じ単語でもこんなにも違いがあるものかと結構驚いたのだったし、そもそもこんなにルールが違うものが同じ名前で何の説明もなく併存しているのに結構ビビったのであった。ドッジボールやろうぜ、と言われてイメージする風景が違いすぎる。今から思えば、Google東京であっても日本育ちの人ばかりではなく、当時提案されていたドッジボールはこういうアメリカっぽいやつだったのかもしれない。だとしたら悪いことをしたかな……とまでは思わないけど、不幸な行き違いというか誤解というか、そういう何かではあったのかもしれない。まさかこんなものの中身が違うとか、思わないよね。
芝刈りする動画を見てる
最近よく YouTube で lawn mowing の動画をみている。多分いろいろ類似のチャンネルがあると思うけど自分がよくみているのは SB Mowing というやつ。自分の近隣ではちゃめちゃに伸び切った芝生(とか)のあるうちに行って、「Youtubeで動画をやってるから、タダで刈ってあげるよ」といって交渉して、刈って、掃除して、何もかもきれいにしてしまう。 どうも人類というのは「メチャクチャで乱雑なものがきれいに整頓されるのを眺める」というのが好きなんではないか。こういう芝刈りとかの他にも、排水溝の詰まりを取り除くやつとか、そういうのも微妙な人気を博していたりする。そういえば自分は以前には、伸びすぎた家畜のひづめをきっちりと削って、問題があったらそれを治すという削蹄系の動画をよく見ていたけど、あれも似たようなものだと思う。他にも絨毯の清掃、家のリモデル、そう言った動画が無数にあってそれなりに人気を博しているようだ。 ……「人類」は主語でかすぎた。でもまあそういうのを見たいという気持ちのある人はそれなりにいる、とは言っていいと思う。例えば自分の見てるこのチャンネルも何百万人というフォロアーがいて、芝刈りしてるだけの30分ほどの動画も何百万人という人が見ていたりする。などと他人事風にいうまでもなく自分もたまにだが見ている。よく考えるとなんとも不思議な世界である。 まあそれだけの話なんだけど、そういう無償の芝刈り奉仕活動を眺めていくうちに、なんというか不思議な気持ちが芽生えてきた。 この SB Mowing という会社(なのかどうなのか)が今でも普通に芝刈り・ガーデニング業をやってるのかはよくわからないが、少なくとも動画で取り上げるネタはいつも完全にタダというか、家主側は何も払わなくてもいいようになっている。動画によっては、お金がほとんどなくて体の自由も聞きづらい老人の家だったり、もう空き家になって何年も経つような家も多い。というか、動画のネタになるようなとんでもないぐらい伸び放題になっている家というのはそういう訳ありのところが多いからではあるだろうが、そういうところの芝を整えてあげるというのは結構な地域貢献になっているんではないだろうか。景観の話だけじゃなく、虫とかの発生源になってたりすることもあるだろうし。 で、そんなことを無償でやっていて偉い、という気持ちはもちろんあるけれど、でも考えてみれば実際には彼にはYouTubeから動画の広告収入という形で労働代が賄われているという話でもある。いや現実には動画スポンサーがいたりグッズ販売とかも手掛けていたりするので広告収入だけってことではないのだけれど、あれだけ嫌われている広告が巡り巡って地域貢献につながっているっていうところに不思議な感覚を覚えるのだ。 まぁ実際のところ私はPremium入ってるんで広告を見ているわけではないし、自分がこういうのを見てることというのを広告収入とか言っていいのかどうかもよくわかんないんですけど。
AI Browser hype
OpenAI がブラウザを出すらしいという話が盛り上がっているが、実際のところどうなんだろう? みんなブラウザにそんなAI機能欲しい? ここ2週間くらい Dia というブラウザを使っているが、けっきょくAI機能はほとんど触ってない。 このブラウザでは、今見てるページについていろいろ質問できたり、テキストボックスに(そのコンテキストに合わせた)文章生成できたり、new tab page がチャットUIと統合されていて検索する代わりにいろいろ質問・チャットできる。最後のやつでは色んなWebページを閲覧して “deep research” っぽいこともできたりするし、今開いているタブを参照していろいろできたりする。 けど、普段のウェブブラウジングでそんなことあんまりやらないんだよな。私用のMacで用途が限定されているというのはあるが、見てるページを要約して欲しいことってそんなにあるのだろうか。全くないとは思わないけど、たまにだったら別タブで好みのLLMのページを開いてコピペしても大した手間でもないような気がしてしまう。テキスト生成も同様で、インストール初日に生成してもらったことがあるがその後一度も使っていない。 検索で色んなページを見られるのは使い出がありそうに思えるんだけど、でもまぁ各社のLLMで “deep research” 機能を使うのと比べて何が違うのかというと……違いはあるといえばあるだろうがそんな大きな差がある気がしないのだよね。 Arc Max ところでそういえば Dia の前身である Arc ブラウザには Arc Max というブランディングのAI機能が搭載されていた。Arc MaxはLLMの機能を使ってブラウザのよくある機能をほどよくアシストする機能で自分はなかなかよかったと思っていた。具体的には、 ブックマーク時にページタイトルを内容に即して書き換える機能 ページ内検索と統合され、曖昧に検索したりページ内の内容に質問できる機能 リンクをマウスカーソルでホバーするとリンク先のページを閲覧して要約し、要約をポップアップで表示してくれる機能 最後のやつとか、 Hacker News みたいなリンクがいろいろある中でいちいちクリックしなくてもどんな内容か(人々の反応がどんなであるか)を教えてくれて結構便利に使っていた。 Diaにはこういう機能が全然ないんだよな(タブの中身に基づいて質問したりする機能はあるけど)。なんだか残念。チャットUIを前面に出してくるのはわかりやすいが、こういうふうにさりげなくアシストする機能としてAIを使う方が未来があるしブラウザにAIを統合するという意味では正しい進化だと思うのだけど。 Dia skills そういえば上で言及してなかった機能として Dia には「スキル」という機能があった。なんらかの固定プロンプトを盛り込むことで特定のよくある作業を自動化するもので、かつLLMがいるので自動化といっても自然言語でやることを書けばいい、みたいなものだ。例えば「The VergeとEngadgetとTechCrunchを見て今日のトップニュースを教えてください」みたいな「スキル」を自分で設定して、それを呼び出せばいい。 これ全然使ってなかったのを思い出したので、まさにこのテックニュースのスキルを作ってみたのだけど……うーん、まあ悪くはない。がしかしブラウザに盛り込んであって嬉しいものなのかもよくわからなくなってしまった。そういうエージェントツールがあればいいんではないか? それこそ paywall でブロックされたニュースメディアとかもブラウザなら読めるから、という話はないでもないだろうけれども、どうにもモニョモニョした気持ちになる。ブラウザを作っている会社がだしたのでブラウザになっていますという以上の何かなのかはまだよくわからない。 AIブラウザはハイプか? というわけで「AIブラウザ」っていかにも the next big thing っぽさがあるテーマなのだけど、そこまで便利なのかというのには疑問を感じてしまっている。 Google Chrome も gemini を乗っけてくることになっているが、これも宣伝されている感じだと Dia と同程度かややしょぼいぐらいの統合度であり、そこまでよく使うものにはならなさそうという気がしてしまうのだ。 と、今のところは思っているのだけど、それを覆すような上手い機能を OpenAI が盛り込んでくれてこの流れを乗っ取ってくれるんじゃないか、というのを期待している。
Publish to Fediverse
新規記事を公開したら Bluesky と Fediverse (自分で立ててるpleromaサーバ)の両方に投稿をするように設定しようとしていて、 Bluesky の方は既存の github actions でうまくいったことが確認できたが、 Fediverse の方がどうも動いていない。 アクション自体は成功していて internal server error というレスポンスになっているのが謎。サーバ側にもログが来ていない。サーバが狂っていた可能性もあるけど面倒だし、このアクション自体は5年前に書かれて以降ほぼ何もされていないようだし……と思ったので自分で作ることにしたというか coding AI に作ってもらうことにした。 gemini-CLI に依頼したところ、サクッと curl 経由でポストするというアクションを実行を作ってくれた。 curl のフラグの挙動がよくわからなくて微調整をしたけど、多分動いていると思うのでひとまず完了: https://github.com/jmuk/fediverse-post さて動くでしょうか。乞うご期待。 https://ap.jmuk.org/notice/AvyxwkmQ113UdKPfaC 動いた! よかったよかった。
Publish Bluesky / fediverse 2
前回の記事はgithub workflowが狂ってて動作していなかったみたいなので、もう一度記事を投稿してみるテスト。こういう言い回し懐かしいな。 (追記)Blueskyは成功したっぽい https://bsky.app/profile/jmuk.org/post/3ltgqbig3ob2h 一方、Fediverseはうまくいってない。が理由がよくわからない。 “Internal Server Error” とだけ表示が出てアクション自体はなぜか成功している。
Publish Bluesky and fediverse
記事を公開するたびに、BlueskyとFediverseに記事を投稿する仕組みをgithub actionsとして入れてみた。その動作確認のための記事公開。
Wordpressのアーカイブ
移行するので Wordpress.com でホストしている旧ブログをアーカイブすることにした。 https://www.jmuk.org/wp.jmuk.org/ 以下に保存している。うまく保存されてるのかはよくわからないけど。 さて、アーカイブをどうやるかだけど、せっかくなので(当時Sonnet 3.5だった)Claude Codeにお願いしてみた。張り切って Python スクリプトをガンガン書いていく。方式としてはWordPressのAPIに沿ってコンテンツをJSONでダウンロードしてからHTMLを生成していくようだ。え、何だそれ? いやいやそんなことしたらテーマとかわからなくなっちゃうじゃん、みたいなことを言うとなるほどそうですねといってHTMLの生成を工夫し始めてきた。月ごとインデックスとかどうするつもりなのかわからんけどこれはダメだなーという印象。 それでしばらく放置していたがこないだ重い腰を上げて再開するにあたり、まっさらなレポジトリでgemini-CLIに聞いてみた。するといきなり wget コマンドでやりましょう、実行していい? みたいなことを聞いてきて考え方が違うなと感じた。wgetだと微妙な面もあるんじゃないかという気がするが、面倒だったので(フラグはdepthの設定などをちょっといじって)実行させた。取りこぼしがあるのかもしれないけど、もう面倒なのでこれでいいということにした。 アーカイブとして保存するにあたりちょっとトリッキーだったのは、画像などでクエリパラメータ付きのデータがそのままファイルとして保存されてしまうところ。ファイル名から適切な拡張子が選ばれず、Content-Typeを推定できない可能性がある部分が残ってしまう。ただそうなるパターンは数が少なそうだったので適当なヒューリスティクスで誤魔化した。それで旧サイトからリダイレクションを設定してアーカイブ完了、ということに。 それにしても、割と最近になって移行したと思ってたのだけど、なんと10年以上くらいこのサイトでブログやってたらしい。アーカイブされた記事をいろいろ眺めたりしていて昔の記事や画像を眺めるとこの10年という変遷が思い出されてなんとも趣深い。まぁ自分にとってだけの話なのですが。
My First Post
ブログを Hugo に移行してみることにした。 Static Site Generatorベースのブログシステムって実は使ったことがない。 Hugo、だいぶ歴史のあるプロジェクトという認識だけど、Static blog Generatorとしてはいまだに現役なのだな。というか Jekyll も全然現役なのだね。 せっかくなので新しくてカッコ良さそうな他の何かにしてもいいかなとちょっとだけ調べてみたのだけど、例えば Astro は自分向きではないなと思った。良い点はあると思うけど、ブログとしての作りがシンプルすぎる気がする。そんなに長く、たくさんの記事をホストするためのものという感じがない。チュートリアルを読んでみると、無のウェブサイトからページを色々作っていって、それから自分でJSでロジックを書いてページ一覧を作ったりしているのだけど、いやそういうの再発明したくないから。別に。できのいいやつを使わせてくれよ、って思ってしまった。それでチュートリアルではカバーされていないけどブログテンプレートというのもあったのでそれも試してみたところ、そういう諸々が全部テンプレートに入ってはいる。でも例えばトップページには全部のポストが並んでしまうようだった。ページネーションとかしないの? そういうところがキモなのでは?? と思うのだけどね……。タグとかはあまり使わない予定だし、どうも自分の用途には向いてなさそうだなと思った。 他のもちょっとだけ軽くチュートリアルを見てみたりしたが、やっぱり自分向きではない気がした。なのでとりあえず今はこれで行こうと思う。Markdownでエディタで書くのはどちらかというと自分はかったるいと思う派なのだが、やろうと思えば github をWebブラウザで開いて編集とかできるので、一旦仕組みを作ってしまえばあとはそれほど負担ではなさそうという気がする。 ところで、Static Site Generator を使うということは色々諦めるということではある。例えばコメント機能をつけるのは難しい。まぁ昨今のブログでコメントとか滅多にあるものではないから必須ではないといえばないのだけど、あるとちょっとだけ嬉しいとは思っている。どうしたものだろう。一つには Disqus みたいなサービスを利用するというのはあるが、 Disqus ってまだあったんですね……というぐらいの盛り下がりぶりではなかろうか。もう一つはソーシャルなサービス(例えばBluesky)のポストを監視してコメント扱いして出すようなプラグインを作るのはどうか、などと一瞬だけ思ったけど、結構スパムし放題になってしまいそうでそういうのの対策は面倒くさい。などと考えるに、自分で検索して閲覧するぐらいで十分なのではという気がしてきた。 Bluesky ならカスタムフィードを作っておけば閲覧は容易であるし。まぁそもそもそんなに反応とかあるかというと、別にないわけですけど。 もう一つ ActivityPub サポートがない。今はすごく必須という気はしないけど個人的にはあると嬉しい。だがそのためになんらかのブログエンジンを使いたいかというと……そんなことはないよな。 て考えてみると、結局のところ新しい投稿があったらそのことを自分の ActivityPubのフィードにAPI経由で投稿するというアクションを作ってやればそれでいいのではないか、という気がしている。そういうのを作るのは結構かったるいのではないかと思っていたが、既存のアクションもあるし、そういうのを組み合わせるのはcodingagentの得意とするところで、サクッと作れてしまった。さてどうなりますか。