| @雑談

今津

2023 年の出来事

1 月

インターネットについて書いた記事がバズった。

以前から漠然と思っていたこと(ショッピングプラットフォームを使わず、独自のカートシステムで作られているショップのサイトに Google 経由でたどり着けない)を書いたら同意してくれる人がたくさんいた。

自分としては Google だけが問題と言いたかったわけではないが、あとから読み返してみると全部 Google に問題があるように読める。

この記事をきっかけにして Safari のデフォルト検索エンジンを Google から DuckDuckGo に変えた( iPhone 、 Mac とも)。お店の名前で検索したときに検索結果に Google マップが出てこないのが少し不便だが、 Google マップの情報が必要なら Google マップで検索すれば良いだけなのでまぁ慣れてしまった。

ちなみに車で CarPlay 越しに使うカーナビも Google マップから Apple マップに乗り換えた。 CarPlay の便利さについては 4 月に記事を書いている。

2 月

阿蘇草原マラニックに参加した。

中学生の頃に陸上をしていたとき以来のレースっぽいやつ(厳密にはレースではなく、順位を競わないマラニックだった)。これでトレランの面白さに目覚めた。それまでも家の近所を走ったり、たまに山を走ったりしていたが、あくまで登山がメインでランニングは体力向上を目的としていた。阿蘇草原マラニックに参加してから主客が逆転し、ランニングがメインで登山はサブになった。

Running - Saturday, February 4, 2023.jpg

2 月には iPad Air も買っていた。

ハチャメチャ使いにくいと書いているが、ちょっとしたメモ書きには便利。ノートパソコンの代替として使おうとするとやっぱり無理があって、ちゃんとしたフルピッチのキーボードにはかなわない。それよりも図を描いたりしつつ考えをまとめるメモ帳として使うと、紙のメモでは不可能な、一回書いた文字や図をぐるっと囲んで別の位置に移して整理したりといった使い方が可能。これによって新たなアイディアが浮かんでくることもある。 iPad Air 、高かったが買って良かった。ペイディ払いさまさま。

3 月

3 月は五ケ山・脊振クロストレイルというトレランのレースに出場した。マラニックではないちゃんとしたレース。 2 月に一回試走していたが試走でヒザがオワコンになり、ちゃんとゴールできるかとても心配だったがなんとかゴールした。

Running - Sunday, March 12, 2023.jpg

3 月はブログの検索機能を改造して、ショートカットキーから検索窓を開けるようにして、矢印キーで検索結果を選択できるようにした。これがめっちゃ便利。自分のブログで Mac の人気ランチャー Alfred の検索機能を使えるような感じ。

4 月

CarPlay について記事を書いた。

Apple CarPlay は本当によくできている。車の給油ランプが付いたときに「ガソリンスタンドを探しますか?」というプッシュ通知が効いたときには本当に驚いた。とてもよくできている。

4 月にもトレランのレースに出ている。平尾台トレイルランニング。石川弘樹さんと記念撮影させてもらった。

Running - Sunday, April 16, 2023.jpg

5 月

仕事で下関に行ったので朝から下関の街をランニングした。知らない街に行ってランニングすることの面白さを知った。歩きだと時間がかかるし、自転車だと早すぎて通り過ぎてしまうが、ランニングならパッパッと移動できつつ、気になった場所は止まって写真を撮ったりできる。

Running - Monday, May 29, 2023.jpg

ブログでは Apple Watch をトレランに使うための記事を書いた。

純正のワークアウトアプリではトレランに使うのは難しい(ルート案内がない)が、サードパーティーのアプリを使えば Garmin などの専用ウォッチと同等の機能を提供してもらえる。おまけに日常では Apple Pay が使えたり音楽の操作ができたりプッシュ通知を受け取ったりできて専用ウォッチよりも便利な機能も享受できる。 100 マイルレースとなるとさすがにバッテリー切れしてしまいそうだが、そんなに長い距離を走らないのであれば Apple Watch Ultra でトレランできると思う。

6 月

ブログ書いてない。写真を見返してもあまりパッとしない。仕事では「おつかれ山」の刷新に関わっていた。

Running - Sunday, June 11, 2023.jpg

7 月

二つトレランのレースに出た。 7/2 に南阿蘇カルデラトレイル、 7/24 に霧島・えびの高原エクストリームトレイルに参加した。

阿蘇草原マラニックに参加して、普通では立ち入れない牧野を走ることの楽しさを味わったので、南阿蘇カルデラトレイルにも参戦してこのときしか走れない景色を楽しみたいと思った。結構頑張ったつもりだったがタイムは 6 時間超で五ケ山・脊振クロストレイルのときと大差なかった。結構走ってたつもりなのに残念。

Running - Sunday, July 2, 2023.jpg

7/24 に走った霧えびでは獲得標高が少なかったこともあったのか、 6 時間以内でゴールできていた。しかしこのレースは景色が良いところが少なく、ほとんど林道できつかった。それでも一緒に参加した人たちと前日入りで霧島まで移動してピコラナイえびのに泊まったのは修学旅行みたいで楽しかった。えびの高原の雰囲気も阿蘇や久住に似ていて良かった。いつか韓国岳に登りに来たい。

Running - Sunday, July 23, 2023.jpg

7 月はレースのほかに長崎の七高山めぐりトレランもやった。 4 時間くらいで終わるつもりが 5 時間以上かかった。真夏の日中低山トレランはやばかった。七高山めぐりは規定の 1/15 までの間にチャレンジしてみたい。

Running - Sunday, July 16, 2023.jpg

ブログ関係ではサイトがめちゃくちゃ重いことがあるので原因を調べていたら、他サイトの OGP を読み込むための仕組みがスパマーによって悪用されていて、すさまじい数の HTTP リクエストが来ていることが発覚した。クエリパラメーターに URL を渡せば OGP を読み込みに行く機能だったが、 HTML 片を返してその中にオリジナルサイトへのリンクがあるので、足跡を残さずに別サイトへリンクするときの踏み台として乱用されていた。

もしこのブログを AWS などの従量課金系のサーバーで公開していたら多分とんでもない金額を請求されてクラウド破産していた。

8 月

ランニング中に立ち寄った自販機で買ったスコールパイン味がめっちゃうまくてランニングする度に買って飲んでいた。自販機で買うと値段が高いのでスーパーで探すものの、スコールパイン味はケース売りしていないようだった。なのでカルピスのパイン味を買って家で作った炭酸水で割って飲んでいた。パインと乳酸飲料の相性抜群なので良かったらお試しください。

スコールパイン味

下旬に一人で金山に行って野営した。防水の靴を夏に履くと自分の汗がなかなか抜けず逆に足がめっちゃ蒸れることを学んだ。夏は通気性の良い靴の方がよい。渡渉で足が濡れてもすぐ乾くし。

国民宿舎金山

このときの野営では地べたに座ったところ、アリにかまれてめっちゃつらかった。また地面に置いた荷物にも大量にアリが侵入してきて困った。このときの経験からハンモック泊するときはリッジラインを張って荷物は極力吊るすようにした。

9 月

ブログ記事なし。良く走ってはいたようだ。

トレランの用のシューズメーカーの Altra の靴が値上がりしすぎてつらいので 9 月に NIKE のセールでカイガー 9 というトレランシューズを買った。 9500 円くらいだった。 Altra のシューズは安くても 20000 円くらいするのでめっちゃお得。 NIKE のシューズは幅が狭いので足に合わないのだが、カイガーは Altra ほどではないにせよそこそこ幅が広くて 10km 程度のトレランでは問題なかった。

9 月は初めてあたたかい季節に九州脊梁に行った。脊梁はそれまで冬枯れの時期にしか訪れたことがなく、晩夏の脊梁は緑いっぱいで新鮮だった。

Hiking - Saturday, September 9, 2023.jpg

10 月

課金術についての記事を書いて少しバズった。

プログラミングなどの情報に比べて、この手の情報はインターネット上に非常に少ない。やっぱりみんなこの手の情報を必要としていたのだろう。

ちなみに課金手法は正解はない。業種によって様々だ。しかし確実に言えることは、自分がどんな価値を顧客に対して提供して、どういう課金手法だったらお金を払ってもらえるかを突き詰めて考えることだと思う。

10 月は何のレースにも出ていないが、翌月の福岡マラソンに備えてよく走っていた。レースなしで 238km 走っていた。 30km 走を後半に 2 回行っている。キロ 5 分台で 20km 近く走ったのはこれが初めてだったが、これで走りの次元が変わったように思う。キロ 5 分台への恐怖がなくなった。

Running - Monday, October 30, 2023.jpg

11 月

11/12 に福岡マラソンに出場した。初マラソン。もしかしたらサブフォーいけるのではと思っていたが、 6 分オーバーしてしまった。トレランのレースは本番に備えるといっても近所の山を走る位だったが、マラソンは入念に準備をした。インターバル走したり、ロング走したり。準備をして本番に臨む感じは初めての経験で新鮮だった。トレランよりもハイペースで走り続けるのでゴール後の疲労感も異なる。声がかすれるくらいに一生懸命に走ったのは初めてだった。

11 月はトレランのレースにも出た。八幡山岳会カントリーレース。マラソンで完全燃焼したので楽しむつもりで気楽に走ろうと思って出たが、なかなかハードなコースでかなりきつかった。朝、寒かったので厚着してスタートしたところ、昼間は結構気温が上がって厚手の長袖シャツを着ていたため体温調節に苦しんだ。

Running - Sunday, November 26, 2023.jpg

マラソン、トレランレースとイベントが多かったが、子どもから風邪をうつされて 11 月下旬から全然走れなくなってしまった。この体調不良は翌月まで尾を引いた。

12 月

12 月は仕事でグループ位置共有という機能をリリースしたのでいろいろ忙しかった。この機能は残念ながら山をなめるなおじさんクラスターから叩かれて炎上してしまった。「集団行動が前提の登山で離れても良いなどと言うとは何事か、けしからん!」的な反応だった。

Hiking - Friday, December 1, 2023.jpg

仕事は忙しかったが、ハッピーハイカーズの法華院ギャザリングというイベントに参加したり、南阿蘇カルデラトレイルの冬大会にも参加した。

法華院ギャザリングのイベント自体は自分は人見知りなこともあって全くダメだった。坊ガツルでの 12 月の野営はとても寒く、外に置いていたエバニューのウォーターキャリーの中の水が凍っていた。

Hiking - Sunday, December 3, 2023.jpg

南阿蘇カルデラトレイルはこれまでで最長となる 50km のコースにエントリーした。 6:00 の暗い時間にスタートし、 16:00 までにゴールしなければならない。これまで自分は持久力があると思っていたが、 30km を過ぎたあたりでシャリバテしてしまい、 30km ~ 45km くらいはずっと歩いていた。このままでは DNF になると焦りながらなんとか各エイドの関門時刻をギリギリ通過していき、最後にちょっと元気が出てきてなんとか制限時間内にゴールできた。本当にきついレースだった。

きついレースではあったが、この日は寒波が到来していて南阿蘇の標高 1000m ちょいの外輪山は雪が積もり、しかも気温が低いため雪がさらさらのままで、非常に幻想的な景色の中を走ることができた。こういうスノーランも楽しい。

Running - Sunday, December 17, 2023.jpg

2024 年の抱負

2023 年はもう 42 歳にもなるのに何者にもなれない人生だった。親孝行もできていない。何のために生きているのかと自問自答する日々だった。もうこの歳になって人生一発逆転できることはないのはわかってはいるが、 2024 年は両親や故郷に対して恩返しとなる何かをやっていきたい。

具体的にはアプリを作りたいと思っている。アプリ開発の技術的なノウハウは皆無だが、どうやったら人々が欲しがるアプリを作れるかはほんのちょびっとだけその辺の人よりは詳しくなった自負がある。 2024 年中にリリースすることを目標にコツコツ勉強していきたい。

| @Mac/iPhone

ossan.fm playing in Castro, a CarPlay podcast client

(※タイトルは ChatGPT に考えてもらいました)

Apple CarPlay はとてもよくできたサービスだと思うけど、ネットであまり使っている情報を見かけない。自分の観測範囲が狭いだけかもしれないが、デジタルガジェット好きな人が大抵東京近辺に住んでて車を運転する習慣がないからではないかと思っている。なので今日は CarPlay の便利さについて書いてみたい。

自分は 3 年前のハワイ旅行でレンタカーで使った CarPlay に衝撃を受けて車を買い換えることにした。

いまも車の純正カーナビは使っておらず、車を運転するときは CarPlay で Apple マップか Google マップを使っている。ナビゲーションはもちろんのこと、届いたメッセージを読み上げてくれたり、音声入力で返信したり、 Hey Siri できたり、電話をかけたり受けたりできる。もちろん音楽や Podcast も聴ける。運転中に iPhone でしたいようなことが大抵できるようになってる。車に純正で付いてるカーナビだと精々 Bluetooth で iPhone につながってハンズフリー通話したり音楽を再生したりくらいしかできないが、 CarPlay を使うと車が iPhone の外付けデバイス的な感じになる。

CarPlay のなかでも Apple マップがめちゃくちゃよくできてて、例えば休みの日に 11 時からショッピングセンターで予定があったとして(カレンダーに予定と場所の情報が入れてある)、 10 時半に車に乗って iPhone を車につなぐと iPhone にプッシュ通知が来て「ショッピングセンターへのナビゲーションを開始しますか?」と表示される。ようわかっとるやんけと思いながら通知をタップするとナビゲーションが始まる。

運転をしていると交差点が近づいてきたときに Apple Watch が震えて右折しなければならないことを教えてくれる。カーナビで音声ナビゲーションさせることもできるし、音声は出さずに Apple Watch 経由でナビゲーションしてもらうこともできる。 Podcast を聞き入っていたのにナビの音声に邪魔されるということがない。

目的地に着いて駐車場に車を止めると駐車位置が Apple マップ上に反映される。ショッピングセンターの広大な駐車場で自分の車の駐車位置がわからなくなり延々さまようということがなくなる。

うっかりガソリンを入れ忘れていて燃料警告灯が付いてしまった。すると iPhone にプッシュ通知が届いて「ガソリンスタンドを探しますか?」と表示される。通知をタップすると地図上で最寄りのガソリンスタンドが表示される。

このように Apple マップは車とつながることでハチャメチャにユーザーの状況に適した提案をしてくる。めちゃくちゃかゆいところに手が届く感じ。ガソリン切れそうになったときに通知が来たときは便利すぎて正直引いた。

フツーの車が近未来デバイスみたいになったみたいな感じになるので、 CarPlay に対応しているカーナビを搭載している車を持ってる人は今すぐ純正カーナビ使うのやめて CarPlay で Apple マップ使い始めた方がよいし、これから車を買おうとしている人はナビが CarPlay 対応しているかどうかはチェックした方がよい。車がデジタルガジェットの一部になる感覚を味わって欲しい。

| @技術/プログラミング

Rust 製の全文検索システム Tantivy を Ruby から使える Tantiny を導入したことを書いた。

結構手軽に使えるのだがやはり日本語のトークナイズ(形態素解析)ができないのでいまいちなところがあった。 Tantivy には lindera-tantivy というものがあって、 Lindera は kuromoji のポートなので、これを使うと日本語や中国語、韓国語の形態素解析ができる。 Tantiny に導入できないか試してみたが、自分の Rust 力では到底無理だった。

ちなみに関連記事の表示でも日本語の形態素解析は行っている。

MeCab に neologd/mecab-ipadic-neologd を組み合わせてナウな日本語に対応させつつ形態素解析している。

この仕組みを作ってトークナイズは Ruby で自前で行い、 Tantiny および Tantivy にはトークナイズ済みの配列を食わせるだけにした( Tantiny はトークナイズ済みのテキストを受け付けることもできる)。トークナイズを自前で行うことで辞書ファイルで拾いきれないような固有名詞もカバーできる。例えば 山と道 なんかは MeCab と mecab-ipadic-neologd にトークナイズさせると に分割されてしまう。自前のトークナイザーで単語として認識させていている。おかげで「山と道」をちゃんと検索できるようになっている

なお、自前のトークナイザーはこんなコードになっている。

class Tokenizer
  attr_reader :text

  class << self
    def run(text)
      self.new(text).tokenize
    end
  end

  def initialize(text)
    @text = text
  end

  def cleansed_text
    @cleansed_ ||= text.
      gsub(/<.+?>/, '').
      gsub(/!?\[(.+)?\].+?\)/, '\1').
      gsub(%r{(?:```|<code>)(.+?)(?:```|</code>)}m, '\1')
  end

  def words_to_ignore
    @words_to_ignore ||= %w[
      これ こと とき よう そう やつ とこ ところ 用 もの はず みたい たち いま 後 確か 中 気 方
      頃 上 先 点 前 一 内 lt gt ここ なか どこ まま わけ ため 的 それ あと
    ]
  end

  def preserved_words
    @preserved_words ||= %w[
      山と道 ハイキング 縦走 散歩 プログラミング はてブ 鐘撞山 散財 はてなブックマーク はてな
    ]
  end

  def nm
    require 'natto'
    @nm ||= Natto::MeCab.new
  end

  def words
    @words ||= []
  end

  def tokenize
    preserved_words.each do |word|
      words << word if cleansed_text.match?(word)
    end

    nm.parse(cleansed_text) do |n|
      next unless n.feature.match?(/名詞/)
      next if n.feature.match?(/(サ変接続|数)/)
      next if n.surface.match?(/\A([a-z][0-9]|\p{hiragana}|\p{katakana})\Z/i)
      next if words_to_ignore.include?(n.surface)
      words << n.surface
    end

    words
  end
end

preserved_words が手製の辞書だ。 はてなはてブ も辞書登録しておかないと MeCab だとバラバラに分割されてしまって検索できなかった。

難点としては記事更新後に自動でインデックスの更新が行われず、 cron によるバッチ処理でインデックス更新を行っている[1]。なので検索インデックスにデータが反映されるまでにタイムラグがある。 Tantiny でやれれば記事作成・更新時のコールバックとして処理できるのでリアルタイムに変更を検索インデックスに反映させることができるが、個人の日記なのでタイムラグありでも大きな問題にはならない。

本当は Tantiny で lindera-tantivy を使えるようにして Pull Request がカッチョイイのだが、とりあえずは自分は目的が達成できたので満足してしまった。 5 年くらい前から Rust 勉強したいと思っているが、いつまでも経っても Rust を書けるようにはならない。

[1]: mecab-ipadic-neologd を VPS 上でインストールできず(めっちゃメモリを使う)、手元の Mac で Docker コンテナ化して Docker Hub 経由でコンテナイメージを Pull して VPS 上で Docker 経由で動かしている(その辺について書いてる記事: ブログのコンテナ化を試みたけどやめた

| @WWW

以前、以下の記事でこのウェブサイトへのアクセス元 User Agent について書いた。

そのとき Hatena::Russia::Crawler というのが謎だということを書いた。最近のアクセスログを見ても相変わらずこの User Agent からのアクセスが多い。またアクセス頻度も高く、同一の URL に対して何度もアクセスしている。

これはやはりはてなの名を騙った怪しいクローラーなのではないかと思い調べてみた。

まず Hatena::Russia::Crawler という User Agent からのアクセスの IP アドレスを調べてみたところ以下だった。

cat log/access.log | grep 'useragent:Hatena::Russia::Crawler/0.01' | cut -f2 | sort | uniq -c | sort -nr
    434 remote_addr:52.68.0.227
    419 remote_addr:54.249.85.140
    417 remote_addr:54.92.97.59
    379 remote_addr:54.250.227.185

whois してみると AWS で運用されているものであることがわかるが、はてなのものかは断定できない。

もしこの IP からはてなブックマークやはてなアンテナなどの User Agent でのアクセスもあれば Hatena::Russia::Crawler ははてなのクローラーであると断定できるだろう。ということで調べてみたところこんな感じだった。

zcat -f log/access.log* | grep -E 'remote_addr:(52\.68\.0\.227|54\.249\.85\.140|54\.92\.97\.59|54\.250\.227\.185)' | cut -f13,2 | sort | uniq -c | sort -nr
  16687 remote_addr:54.250.227.185      useragent:Hatena::Russia::Crawler/0.01
  16448 remote_addr:54.92.97.59 useragent:Hatena::Russia::Crawler/0.01
  16370 remote_addr:54.249.85.140       useragent:Hatena::Russia::Crawler/0.01
  16272 remote_addr:52.68.0.227 useragent:Hatena::Russia::Crawler/0.01
     73 remote_addr:54.249.85.140       useragent:HatenaBookmark/4.0 (Hatena::Bookmark; Scissors)
     60 remote_addr:54.250.227.185      useragent:HatenaBookmark/4.0 (Hatena::Bookmark; Scissors)
     56 remote_addr:52.68.0.227 useragent:HatenaBookmark/4.0 (Hatena::Bookmark; Scissors)
     50 remote_addr:54.92.97.59 useragent:HatenaBookmark/4.0 (Hatena::Bookmark; Scissors)
     31 remote_addr:54.92.97.59 useragent:Hatena::Fetcher/0.01 (master) Furl/3.13
     31 remote_addr:54.250.227.185      useragent:Hatena::Fetcher/0.01 (master) Furl/3.13
     31 remote_addr:54.249.85.140       useragent:Hatena::Fetcher/0.01 (master) Furl/3.13
     26 remote_addr:52.68.0.227 useragent:Hatena::Fetcher/0.01 (master) Furl/3.13
     19 remote_addr:54.92.97.59 useragent:Hatena::Scissors/0.01
     19 remote_addr:54.250.227.185      useragent:Hatena::Scissors/0.01
     16 remote_addr:52.68.0.227 useragent:Hatena::Scissors/0.01
      9 remote_addr:54.249.85.140       useragent:Hatena::Scissors/0.01

なんと、 IP アドレスで検索してはてなのその他のクローラーもヒットしてしまった。つまり Hatena::Russia::Crawler ははてなのクローラーということだ。

ただしググっても一切情報が出てこない。 Hatena::Russia::Crawler で検索してトップヒットするのは自分のブログだ。

改めて Hatena::Russia::Crawler による直近 30 日間のアクセス状況を調べてみるとこんな感じだ。

zcat -f log/access.log* | grep 'useragent:Hatena::Russia::Crawler/0.01' | cut -f5 | sort | uniq -c | sort -nr
  15697 request_uri:/index.atom
   9913 request_uri:/2022/04/20/integrate-charts-category-with-select-boxs
   9373 request_uri:/2022/05/04/reputation-and-interpretation
   8422 request_uri:/2022/05/11/fly-to-kamikochi-from-fukuoka
   7716 request_uri:/2022/05/16/using-tantivy-over-tantiny
   5906 request_uri:/2022/04/17/quit-using-hey
   5139 request_uri:/2021/12/29/thoughts-on-manga-subscription
   1308 request_uri:/2021/12/13/keep-a-stack-books-whether-reading-them-or-not
    787 request_uri:/2022/06/23/each-entry-title-should-be-marked-up-with-h1
    741 request_uri:/2021/12/13/keep-stack-books-whether-reading-them-or-not
    456 request_uri:/2022/06/24/if-you-feel-apple-musics-recommendation-is-awful
    100 request_uri:/2022/06/14/thoughts-on-hatena-bookmark
     46 request_uri:/2015/12/07/thoughts-on-rural-life
     46 request_uri:/2015/12/02/thoughts-on-t-on-t
     46 request_uri:/2015/12/02/thoughts-on-christmas-song
     45 request_uri:/2019/12/02/stop-drinking-outside-frequently
     16 request_uri:/2020/11/08/where-i-went-in-2019
     11 request_uri:/2015/12/05/omm-writer-music-is-nice-to-listen-to-while-writing
      5 request_uri:/2022/05/04/the-golden-maintenance-week
      2 request_uri:/2022/06/24/
      2 request_uri:/2022/06/24

index.atom はフィードの URL なので除外するとして、特定の記事に対して数千回もアクセスがある。 30 日間で 9000 回ということは一日あたり 300 回だ。 1 時間あたり 12.5 回である。何のためにこんなに高頻度でクローリングしているのだろうか。

とここまで調べたところほかの Bot 系アクセスはどうなのかと改めて User Agent 毎のアクセス数を調べてみたらこんな感じだった。

zcat -f log/access.log* | cut -f13 | sort | uniq -c | sort -nr | head -10
 124894 useragent:Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
  65794 useragent:Hatena::Russia::Crawler/0.01
  58274 useragent:Ruby
  31493 useragent:Mozilla/5.0 (iPhone; CPU iPhone OS 15_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1
  29454 useragent:Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)
  21492 useragent:Tiny Tiny RSS/21.11-7cfc30a (https://tt-rss.org/)
  20351 useragent:Slackbot 1.0 (+https://api.slack.com/robots)
  18765 useragent:Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)
  18395 useragent:Mozilla/5.0 (compatible; MJ12bot/v1.4.8; http://mj12bot.com/)
  17942 useragent:Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

bingbot からのアクセスの方が Hatena::Russia::Crawler からのアクセスの 2 倍近くあった。ただし bingbot は検索エンジンのクローラーらしく、サイト全体をまんべんなくクローリングするような挙動で、特定の URL に一ヶ月間で数千回アクセスするような感じではない。

zcat -f log/access.log* | grep 'useragent:Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)' | cut -f5 | sort | uniq -c | sort -nr | head -25
    571 request_uri:/robots.txt
    352 request_uri:/
    205 request_uri:/category/misc
    160 request_uri:/2007/01/13/732
    156 request_uri:/2005/10/28/129
    150 request_uri:/2009/03/23/1010
    148 request_uri:/category/music
    146 request_uri:/archives
    144 request_uri:/category/www
    143 request_uri:/2016/07/
    143 request_uri:/2009/08/31/1074
    139 request_uri:/2010/07/05/1140
    138 request_uri:/category/photo
    138 request_uri:/2009/02/
    137 request_uri:/2006/09/09/658
    136 request_uri:/tags/netatmo
    136 request_uri:/2010/07/17/1145
    136 request_uri:/2006/07/23/611
    135 request_uri:/2014/03/
    134 request_uri:/?page=32
    134 request_uri:/2007/02/09/747
    133 request_uri:/category/shopping
    133 request_uri:/2021/07/26/how-to-get-to-kamikochi-from-fukuoka
    133 request_uri:/2011/11/03/finally-got-hhkpro2
    132 request_uri:/2006/01/

Hatena::Russia::Crawler は同一 URL に数千回もアクセスして何をしているのだろう? 謎は深まるばかりだ。

| @旅行/散歩

土曜日、午後からスーパーに買い物に行ったが欲しいものがなかったので海まで歩いてみることにした。午前中天気が良くなかったので海にはほとんど人がいなかった。

長垂海岸 長垂海岸

昼飯にお好み焼きを食べ過ぎてお腹が重かったので、ちょっと運動しようと海沿いを歩いて生の松原の方に向かうことにした。

長垂海岸

西福岡病院の前に新しくできた生の松原測候所の脇から砂浜に降りる。生の松原測候所は家具屋とギャラリーとカフェが一体になった建物のようだった。とても景色が良さそうなのでいつかカフェを利用してみたい。

生の松原測候所

生の松原の砂浜を元寇防塁まで歩く。松原は鬱蒼としている。長垂海浜公園の松林に比べると森といった感じで、砂浜を歩いているのにまるで登山に来たかのように森林浴をしながら歩くことができた。歩いている間はずっと Off Topic Podcast を聞いていた。

生の松原

生の松原

元寇防塁に近づくとやたら猫がいた。どうも野良猫のようだ。岩場に生息しているみたい。猫好きの近所の人たちが餌をあげに来ているみたいだ。釣り人もいるので雑魚をもらったりフナムシを捕まえて食べたりしているのかもしれない。

生の松原 元寇防塁

生の松原の端っこまでくると、十郎川の干潟で潮干狩りをしている人たちがいた。おっさんおばさんだけではなく、若者なんかも取りに来ていた。十郎川は結構澱んでいるのでアサリが取れたとしても食べて大丈夫なのかは気になる。

十郎川

壱岐橋は渡らず、下山門の住宅街の中を通り抜けて家に帰ることにした。下山門の住宅街や団地街を通り抜け、いきまつバーガーの前を通りかかった。炭で肉を焼くうまそうな臭いが漂っていたが、売り切れ終いで閉店していた。いきまつバーガーの自動販売機でコカコーラゼロを買って飲んだ。

下山門の住宅街 生の松原の住宅街

住宅街を通り抜け、 202 バイパスを目指す。いきなりバイパスに出ずに、下山門西公園に寄ってみることにした。

下山門西公園

下山門西公園には大きなため池があって、釣りをしている人がいた。公園からはいつも西側から見ている叶岳と飯盛山が見えた。今宿側から見ると雄大に見える叶岳は、東側の生の松原側から見るとなぜかちっぽけな低山に見えてしまった。

下山門西公園から生の松原四丁目の住宅街を歩いてみることにした。公園横の坂を登り切ると福岡市内を一望出来た。遠くには脊振山系が見えた。

生の松原四丁目から見る福岡市内

生の松原四丁目の住宅街はなだらかな斜面に住宅が建ち並んでいて、大学生の頃にポスティングのアルバイトで訪れた金沢文庫の住宅街を思い出した。あのときビラを投函して回った住宅街は駅から遠くて、暑い中坂を登ったり下りたりしてビラを投函して回るのはかなり大変だった。こんなに駅から離れたところに一軒家を建てて、駅まで何十分も歩いたあとに満員の電車に乗って大手町や有楽町に通っているのだろうか。かなり大変な暮らしだろうなと思いながらビラを配った。生の松原四丁目の住宅街からも下山門の駅までは歩いて 30 分くらいかかるだろう。まわりに人は沢山住んでいるのになぜかさみしい感じがする。一駅隣でもっと田舎の自分の家に向かって急いで歩いた。生の松原の住宅街からバイパス沿いに今宿を目指すと途中にラブホテルが二軒ある。場末の風情がある。今度は学生時代に当時住んでいた北馬込から自転車で大井埠頭まで行ったときのことを思いだした。言葉に言い表しようのないさみしさを感じる。

家に辿り着くと、家族は出かけていて家の鍵が閉められていた。うかつにも鍵を持たずに家を出たため中に入れない。庭で帰りを待とうとするが、庭は蚊だらけで 3 分くらいで諦めてアスファルトの道路に避難した。ここならば蚊はいないが、歩道におっさんが一人で立ち尽くし異様な光景だったと思う。家族はなかなか帰って来ず、日が沈むまでのあいだ道路脇に立ち尽くしていた。

この日はゼロシューズのペラペラのサンダルで 13km 歩きくたくたに疲れた。舗装路歩きは足へのダメージが大きい。残念なことにカロリー消費は 780kcal だったがワークアウトが 30 分に届かず Apple Watch のリングはすべて閉じられなかった。

| @雑談

家、若くして建てるとローンの返済が楽だが、購入する前に自分の人生観的なやつを確立しておく必要があると思う。

人生観的なやつとは働き方とか趣味とか何を面白いと思うかなど。借金して都会に 30 坪の土地と家を買ったあとに実は自分はウィンドサーフィン愛好家だったことに気がついて海の近くに住む必要があったとか、家にボードとかマストとかの置き場が必要だったとか、いろんな道具を積み込める巨大な車を停められる駐車場が必要だったと気づくのでは遅い。

〇〇風の建築が良い、的なやつも国内外を旅行してホテル泊や民泊などしてみて知識を蓄えておかないと、フツーの家を買ってしまったあとに実は地中海風の家が良かったことに気がついても覆水盆に返らず状態になってしまう。家を買う直前に付け焼き刃的に建築雑誌などを読んでもなかなか納得のできる家にはならないと思う。

とはいえいろいろ旅行したり、趣味を始めたり出来るような経済的な余裕が出て価値観が定まるのを待つと 40 歳くらいになっていて、そこからローンを組むのは定年後もローンを払い続けるリスクがあってきびしい。

自分の場合は 33 歳で家を買ったが、病気や浪人・留年で社会に出るのが遅かったので家を買ったタイミングでは到底人生観を確立したとは言えない状態だった。家を建てたあとにリモートワークするようになったものの家には仕事部屋がなく、寝室の一角で家族が寝てる横で仕事したりしてるし、キャンプや登山をするようになるとは思っていなかったので家に収納が少なく、キャンプ道具が廊下にあふれていて非常に家が暮らしづらい。家人も最近になってドライフラワーに開眼し、家はドライフラワーだらけで体の置き場がない。家を建てる前にこの辺のことを予見できていたら趣味の部屋や仕事部屋を作ったり収納を多めに作ったり出来たが、家を建てる前はインターネットして休みの日は街歩きして写真でも撮ってればそれで楽しいと思っていたのでこんなことになるとは思っていなかった。

40 歳を過ぎて家を建てても楽々ローンを返せるような高給取りではない人(自分含む)は、人生観の確立と住宅ローンの支払い期間を加味したタイムリミットを天秤にかけてギリギリのところで決断するしかない。その意味で自分は家を建てるのが少し早すぎたと思う。いま若い人にアドバイスするなら、 20 代のうちに旅行したり自分の趣味が何なのか(アウトドアなのか、インドアなのかなど)をよく探求した方がよいと思う。

関連

| @映画/ドラマ/テレビ

テヘラン

Apple TV+ で『テヘラン』を見てる。イスラエルのモサド工作員がイランのテヘランに潜入して作戦に失敗し、イスラエルに戻れなくなったというスパイドラマ。

HOMELAND 見てても思ったけどイラン関係のゴタゴタは基本的に全部モサドが悪い気がする。イスラエルが作ってる番組でもあまり良くは描かれない。少なくとも『テヘラン』を見る限りではイランの革命防衛隊よりもモサドの方がやり方が汚い。

イラン人の俳優が良くて、 HOMELAND にも出てるナヴィド・ネガーバンショーン・トーブがいい味を出してる。ナヴィド・ネガーバンもショーン・トーブも HOMELAND では果てしない悪者という感じで描かれていたが、『テヘラン』では理性的なキャラクターとして登場する。 HOMELAND では見られなかった渋いおっさんの色気を感じる。主人公の女性スパイのビジュアルはあまり好きになれなくて、イラン系のイスラエル人ということなので HOMELAND に出てたナザニン・ボニアディなんかだともっと良かった気がする。イランの人々は男女ともに美形が多い気がする1。日本在住のイラン人女優サヘル・ローズも美人だと思う。

『テヘラン』のドラマ自体はテヘランではなくアテネで撮影されたみたい2だけど、テヘランという街にめっちゃ興味出てきた。街の遠景に雪の積もった山が出てくるシーンが何度かあって、中東といえば暑いところというイメージなんだけど、きっと寒くて乾燥して日本とは全然違う気候の国なんだろうと思う。イランといえば北朝鮮並みに閉ざされた国という印象があるが、ヨーロッパとの関係は悪くなさそうだし、日本とイランの関係も悪いわけではないはずなので、パスポートにイラン入国のスタンプが押されてその後のアメリカ入国時の審査がきびしくなることを覚悟すれば旅行できないわけではなさそう。死ぬまでに一度旅行してみたい。


  1. Quora に「なぜイラン人は美形なのか?」という質問があった
    Why are Iranians so good looking? - Quora 

  2. Where is Tehran Filmed? Apple TV Show Filming Locations