| @ブログ

今宿二宮神社の藤棚

このサイトは Amazon の Product Advertising API を利用して小銭を稼がせてもらっている(毎月 300 円くらいインターネットの恩沢がある)。去年も 5 月頃に記事を書いているのだが、 30 日間で一個もこのブログ経由で商品が売れなかったので Product Advertising API の利用が制限されてしまった。

Product Advertising API は 2020 年の春に Version 5 への移行が義務づけられ、 30 日間で一回も商品を売れなかったサイトは API の利用ができなくなってしまうのだった。

春は入学や就職、引越の準備で忙しくて誰もこのような泡沫ブログを読んだりしないのだろうか。春は買い物する機会自体は多いと思うので、買い物していないわけではなく、趣味性の高い商品のアフィリエイトが踏まれにくくなるのかもしれない。

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

松浦福島初崎海岸のドクロのような岩

Mac の Homebrew のライブラリ群を久しぶりにアップデートした。 tmux と fish のバージョンを上げたら tmux が動かなくなってめっちゃ焦った。いろんなものを同時にバージョンアップするとどっちに原因があるのかわからなくて困る。結局、 brew reinstall tmux で事なきを得た。

次に VPS の Ubuntu のバージョンが古くなっていたのでアップグレードした。ついでにいろいろ気になってたところ(ログローテートがうまく動いていないところとか Nginx の設定ファイルの配置など)を直して回った。

OS のアップグレードに伴って Ruby の再インストールが必要になり、 Ruby 再インストール後にアプリケーションを deploy しようとすると mimemagic gem が yank されていたりでライブラリのアップデートが必要になった( MimeMagic は脆弱性があって Mercel に変更しないといけなかったが、変え忘れていたところがあった)。これによって引きずられるように gem のアップデートが必要になり、うっかり capistrano3-puma を v5 系にしたところ、 puma の起動ができなくて困った。どうも puma の v5 ではデーモン化オプションが削除されているようで、 capistrano で puma を再起動させたりはできないようだった。いろいろ面倒くさそうなので capistrano3-puma も puma も v4 系に固定して凌いだ。

Archives ページの npm パッケージも古くなってたので、 React や React Router 、 Webpack 、 Babel など各種ライブラリのバージョンを上げた。 React Router の v5 系から v6 系へのアップデートは結構大変だった。以下を読みながらやった。

withRouter などは React Router から機能が消えるのでそれをラップする関数を自分で書いてコンポーネントに mixin するような感じだった。以前に比べたらマイルドになっているとはいえ、 JavaScript 界隈はアップデートについて行くのが厳しい。

職業プログラマーじゃなくなったので開発環境の維持管理などがおろそかになりがちだし、 Vim やシェルのショートカットを忘れてしまうことがある。 Vim やシェルの操作は特殊技能のようなものなので忘れるともったいない。たまに触って忘れないようにしておきたい。

そういえば温かくなって庭の雑草が伸びてきたので庭の草むしりもやった。ゴールデンメンテナンスウィークだ

| @登山/ランニング

浮嶽 大岩展望台

4/2 ~ 4/4 で脊振山系全山縦走に挑戦した。福岡の西端の十坊山から佐賀の基山まで二泊三日で歩いた。総歩行距離は 72km 、累積獲得標高は 5500m 。 20km 以上歩き、 1500m 以上登るのを三日間繰り返す。泊まりはハンモック + タープで、食料の補給はなし、水は湧水や沢で補給しつつ歩き通した。

自分は体力がなく歩くのがとても遅くて、全山縦走のことを知ったときにはとても自分に踏破できるとは思ってなかった。実際、 2 年前の夏に脊振山から金山までのセクションハイクをしたときにはバスに乗り遅れるし散々な有様だった。

4 年前にも十坊山から二丈岳までを歩く糸島四座縦走に挑戦して失敗している。

UL (ウルトラライト)メーカーの軽量な登山用品を買い集めながら歩くのが遅いどん亀という矛盾した雑魚だったのだが、 2021 年はジョギングを開始して徐々に体力をつけ、長めの縦走もこなした。4年前に途中で撤退した糸島四座縦走も比較的楽に達成した。

ちゃんと歩けた勝因と改善点をまとめてみた。

勝因

  • 荷物は軽く
    • 服はメリノウールにして余計な着替えは持たなかった
      • メリノウールは汗をかいても匂わない、化繊の服はひどい匂いを漂わせるので着替えが必要になる
    • カメラも持っていくことを諦めたので iPhone で撮った写真しかない
  • ちゃんとした昼飯を食わない
    • 基本的に昼間の食事は行動食のみ
    • 絶景ポイントで休憩して山飯作ったりコーヒー飲むとかやらない
    • 時間を節約でき、荷物も減らすことができる
  • 塩味の行動食
    • 日中、ちゃんとした飯を食わない代わりに塩味の行動食があると良い
      • 具体的にはカルパスや魚肉ソーセージ
    • コストコのアドベンチャーミックス(塩味のミックスナッツ + ドライフルーツ)もよかった
  • アミノバイタルゴールド
    • 現代の仙豆
    • めっちゃ疲れてても翌日足がパンパンにはならない(少なくとも午前中は)
    • 一日一本飲んでたが二、三本飲んでもよいみたいなのでもっとたくさん飲めばもっと楽だったかも
  • 山と道 MINI2
    • メッシュポケットがスーパー便利
      • 暑くなって脱いだ服をしまう
      • 行動食をつっこんでおく
      • 水場で浄水器をさっと取り出して浄水する
  • KATADYN Be Free (浄水器)
    • どこの水もサクッと浄水できるとわかっていたので大量に水を持って歩かずに済んだ(必要に応じて沢水などを浄水して調達すれば良い)
  • Black Diamond Distance Z (トレッキングポール)
    • 軽量なアルミポールを初めて買った
    • 脚の負荷をだいぶ軽減してくれたと思う
    • 荷物が多いので左右のふらつきを抑制して安全に歩けた

改善点

  • カロリー
    • カロリー計算した上で行動食を準備できてなかった
    • 持参したウィーダーインゼリーはプロテインやビタミンなどを重視した低糖質のやつでカロリーが少なくエネルギー源としてふさわしくなかった
    • 安くて甘くて体に悪そうなやつをもっと持ってくるべきだった(どらやき、ようかん、惣菜パン、イカフライなど)
  • サイズの合ってない靴
    • Altra Olympus 4 はちょいとデカめでサイズが合っておらず、下りで靴の中で足が動いて辛かった
  • メリノウールの靴下
    • これまでメリノウールの靴下で足が蒸れると感じたことはなかったが、 Injinji の五本指ソックスと履き比べてみて蒸れを感じてしまった
  • かさばるレインウェア
    • 低山のレインウェアとして雪山でも使えるハードシェルを持って行くのはかさばって良くない
    • レインウェアとウィンドシェルで機能がかぶるものを二つ持つのも邪魔
    • 省スペースでレインウェアとウィンドシェルの両方の役割を果たす雨具が必要
      • 山と道の UL All-Weather Hoody を買った

装備

  • 帽子
    • Milestone メッシュキャップ
  • Tシャツ
    • icebreaker メリノウールTシャツ
    • Smartwool Everyday Exploration T Shirt (予備)
  • 行動着
    • 山と道 Merino Hoody
  • ウィンドシェル
    • Patagonia Houdini Jacket
  • パンツ
    • WORKMAN メリノウールパンツ × 2 ( 1 枚予備)
  • ズボン
    • 山と道 Light 5-Pocket Shorts
  • 靴下
    • OS1ST FS4 PLANTAR FASCIITIS SOCKS
    • Injinji Trail SP TIE-DYE
    • Point 6 Hiking Lt Mini × 2 ( 1 足予備)
    • Altra Olympus 4
  • トレッキングポール
    • Black Diamond Distance Z
  • ザック
    • 山と道 MINI2
  • 防寒着
    • Patagonia Nano Puff Jacket
    • Mountain Equipment パウダーパンツ
    • EXPED ダウンソック
  • レインウェア
    • ARC'TERYX Alpha SL
    • Patagonia トレントシェルパンツ
  • クッカー
    • EVERNEW Ti 570 Cup
  • バーナー
    • EVERNEW チタンアルコールストーブ
    • VARGO Titanium Hexagon Wood Stove
  • ハンモック
    • AXESQUIN ウキグモ Light
    • AXESQUIN モグ 350
  • タープ
    • EXPED Hammock Trekking Tarp
  • ライト
    • Petzl Tikka
    • Ledlenser ML4
  • モバイルバッテリー
    • Anker PowerCore Essential 20000 PD

コロナ禍で飲み会に行かなくなって浮いた金でアウトドアギア買いまくったのが生きた感じの縦走だった。なかでもベストを挙げるとすると山と道 MINI2 だろう。

山と道総帥の夏目さんが書いている MINI2 の制作ノート 2021 年版がとてもよい。

山と道設立当初は、「耐久性や強度よりも軽量性が大事」と思っていました。1回のULハイクが人生を変えるかもしれない可能性を秘めていると信じているからです。

しかし、たくさんの方々にMINI2を送りだしていくと、みんな上手く使えているだろうか、壊れていないだろうかと、心配も積もるようになりました。できれば安心して長く使ってもらいたい。UL原理主義的であった自分の物作りの考え方も少しずつ変化してきているのかもしれません。

そして2017年に、山と道HLCで日本全国を旅して色々な方々と出会い、気がついたことがありました。僕が考えているようなULハイカーは、日本中を探しても実はほとんどいなかったのです。

ULハイカーのための道具作りをしてきた自分は誰に向けて作っていたのか? 自分の思いは独りよがりだったのか? あらためて自分が作る道具と向き合うきっかけとなりました。

MINI2 | 山と道 U.L. HIKE & BACKPACKING

この文章は首がもげるほど頷きながら読んだ。アプリやウェブサービスの開発に携わってる人なら似たような経験をしたことがあるのではないだろうか。

実際に縦走で初めて使った MINI2 は軽いながらも頑丈な作りで木の枝で何度も擦ったがダメージがなかったし、メッシュポケットはとにかく便利だった。暑くなって脱いだ服をガサツにメッシュポケットに突っ込み、寒くなったらさっと取り出して着て、腹が減ったら行動食をパッと取り出して食べる。ハードな山行を支えてもらったし、今回の UL ハイクで人生が変わった(少なくとも登山人生の一つの目標を成し遂げた)。

山と道の短パンを初めて買ったのは 2017 年の 3 月で、それから登山アプリの会社に入って登山をするようになり、昼飯に 120 円のチキンカツとインスタントそばを食べて浮かせた金で山と道の製品を買ってきた。 UL ギアを身につけながら歩くのがめっちゃ遅いしロングハイクもしたことがなかったのだが、今回やっと、自分で考えて可能な限り荷物を削り、誰かに荷物を持ってもらったりすることなく、途中で補給を受けることもなく、 70km 以上の縦走路を歩き通すことができた。ようやく UL ギアが様になるハイカーになれたのではないかと思っている。

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

Archives ページでチャートのカテゴリー選択とセレクトボックスのカテゴリー選択が連動していなかったのを統合して連動するようにした。以前、やり方がわからなくてチャートのカテゴリーのレジェンドをクリックしたときにクリックされたカテゴリーをチャートから非表示にしつつ色をグレーアウトさせるのもできるようになった。どのカテゴリーの記事をいつ頃どのくらい書いていたかがわかるようになってめっちゃ便利。

Archives ページは React で作っていて、チャートとセレクトボックスでそれぞれに別々にカテゴリー一覧を API から取得していたのを一本化し、非表示とするカテゴリーも同じ state として管理するようにした。こういうのがサクッとしかも高速にできて React は便利。 jQuery でやるのは大変だった。

| @散財

Linksys Atlas Pro 6 MX5502-JP

いまの家(木造二階建て)に引っ越したときに WiFi ルーターをいいのにした。 Apple の AirMac Extreme (IEEE 802.11ac = 5GHz 帯に対応してる)を買った。 Kaizen Platform 時代にリモートワークしてたときは不満はなかったのだが、経年劣化してきたのか、家にものが増えて電波が届きにくくなったのか、最近は Zoom でミーティングしているときに調子が悪くなることがたびたびあったし、風呂場や寝室で iPhone で Netflix やアマプラビを見ているときに「モバイルネットワーク通信を利用します」という警告が出たりしてわずらわしかったので新しいルーターに変えてみることにした。

ルーターが一階にしかなく、二階の端っこの仕事スペースに電波が届きにくいのが原因ではないかと思い、メッシュネットワークに対応したものを買ってみることにした。また WiFi 6 というのもバズワードでよく耳にするので WiFi 6 + メッシュネットワークの条件に合致し、アンテナがいっぱい出てない厳つくないものにしようと思っていた。友だちが Linksys や TP Link が良いと言っていたのと、 Google Nest WiFi も良さそうだったのでこれらから選ぶことにした。

Google Nest WiFi が Google Home 機能も付いていて良さそうだったが、 Google Home 機能は拡張ポイントの方にしか付いていないようだった。うちはリビングにプロバイダーのターミナル端末があるので、リビングにルーターを置かないといけない。となるとリビングで Google Home 機能が使えず不便だ。二階の廊下で OK Google できても意味がない。またメッシュネットワークには対応していないようである。ということで候補から外れてしまった。

次に検討したのが TP Link の Deco だ。値段も手頃で良さそうだったのだが、どうしても見た目が好きになれなかったので見送ることにした。

最後に残ったのが Linksys だ。 Linksys のルーターは Apple の AirMac Extreme に外観が近いのが良かった。 Apple Store でも取り扱いがあって、 AirMac Extreme の後継的なポジションのようだ。 WiFi 6 とメッシュネットワークの条件を満たすもので一番値段が手頃なのが Atlas Pro 6 の MX5502-JP という機種だった。結論からいうと自分は良く下調べをせずに買ってしまって失敗した。

Linksys のこのシリーズは外観が同じで品番違いのものがたくさんあって選ぶのが難しい。よく分からないので値段重視で選んだところ見事に失敗してしまった。メッシュネットワークを構築するときには周波数帯クラスがトライバンドのものが良いようだが、自分が選んだ MX5502-JP はデュアルバンドだった。ルーター間の通信で一つ周波数帯を使うので、三つの周波数帯を使えるトライバンドの方が良いようだった。

加えてどうも仕事用に会社から貸与されている MacBook Pro 2020 と相性が悪いようで、ルーターの近くで人がうろうろしたりすると 5GHz 帯から 2.4GHz 帯に切り替わって転送レートが急に 144 Mbps に落ちたりする(私物の iMac 5K 2017 モデルでは起こらない)。わざわざ二階にもルーターを置いているのに遠い一階のリビングルームのルーターに 2.4GHz 帯で接続しているようだ。普通にネットしてる分には問題ないが、 Zoom ミーティング中だと途切れ途切れになったりする。これは厳しい…。

Linksys の同じデザインで WiFi 6 + トライバンド対応のものは急に高くなる。メッシュを組むために二個セットを買うと 70000 円くらいしてしまう…。 MX5502-JP 二個セットでも 3 万円近くして結構思い切って買ったのだが、ルーターに 7 万円出せるほどのお金はない。

そもそも手持ちの Mac や iPhone が WiFi 6 対応していないのだから、 WiFi 6 対応を要件に含めるべきではなかったのかもしれない。 WiFi 6 非対応でトライバンドのルーターなら二個セットで 2 万円ちょいで買えたりする。正直こっちを検討すべきだったのかも知れない。

世の中のほとんどの人は 5 千円くらいのルーター使ってると思うし、奮発して 1 万円くらい出せば自宅でも快適にインターネットができて仕事にも支障がない世の中になってほしい。

| @WWW

一昔前までインターネットは常に見えるものだった。 Web 1.0 の個人テキストサイトや Web 2.0 のユーザー参加型ウェブサービスでも、ベーシック認証がかけてあったり非公開コンテンツというものもあったがこれらは例外的な存在で、インターネットでは目立つこと、オープンであること、また他者の注目を引くことが善だったしメインストリームの価値観だった(少なくとも自分はそう認識していた)。しかしその構図が崩れようとしている。インターネットがみんなのものになったからだ。

多くの人はインターネットで自分の情報をさらけ出したいなんて思っていない。これまでブログが下火になってきた理由を考察することが何度かあった。手軽に個人が情報発信できる Twitter や Instagram のような SNS が登場してきたからだと思っていた。かつてブログを書いていた人が書かなくなってきた理由としてはその通りだと思う。しかしスマートフォン時代になってからインターネット活動を始めたような人達(イノベーター理論のグラフで言うと Late Majority 以降の人達)はそもそもブログを書くということは選択肢に入らなかったはずで、こういう人達が増えてきたことで相対的にブログ執筆人口が減ってしまったと考えられる。

File:DiffusionOfInnovation.png CC BY 2.5

インターネットでは誰もが情報発信できると言われた。しかしできることと実際にやることの間には大きな壁がある。仕事で関わっているサービスでは、ユーザーが作成したコンテンツを公開するかどうかはユーザー自身が選べる仕様となっている。コンテンツを公開するユーザーが増えるほどネットワーク効果が働くし、 Google の評価が高くなり SEO 上のメリットもあるのでコンテンツ公開率を上げようと努めてきた。しかし頑張ってもコンテンツ公開率はある程度のところで頭打ちとなってしまった。この結果から二つの仮説が考えられる。公開を促す努力が足りないか、そもそも誰もコンテンツを公開しようとは思っていないか、ということだ。実は最近まで後者の観点が抜けていた。というのはインターネットでは誰しもコンテンツを公開すべきだ、という先入観があったからだ。

ここ数年での成長が著しい Netflix や Spotify でユーザーはコンテンツの公開を求められることはほとんどない。 Twitter や Facebook 、 Instagram などの CGM では基本的にはコンテンツを公開することが求められたのとは対照的だ。 Netflix や Spotify でユーザーはコンテンツを消費するだけでよいのだ。消費の仕方を Netflix や Spotify は観察し、この傾向のユーザーにはこういうコンテンツがおすすめだというアルゴリズムを洗練させていく。ハチャメチャに優れた推薦アルゴリズムにより、ユーザーは自分にマッチした未知のコンテンツに出会うことができ、益々サービスの利用を深めていく。ひたすら受動的にコンテンツを受容し続ければよいだけだ。

コンテンツの投稿・公開を求められる Twitter や Instagram でも、実は見る専( ROM )の割合が高まってきているのではないかと推測する。 以下の記事によると、 Twitter の投稿の 97% が 25% のユーザーによって行われたものだったそうだ。

さらに驚くことに、 Reply や Retweet を差し引くと投稿されるコンテンツの 18% のみがオリジナルの投稿ということらしい。やはりコンテンツを作る人の割合というのは非常に小さく、ほとんどの人はインターネット上のコンテンツを消費しているだけなのだ。

インターネットの初期時代からインターネットにどっぷり浸かってきたインターネット老人の我々のような世代がウェブサービスを設計すると、ついつい人々はインターネットで自己表現をしたいのだという前提で考えがちだ。しかしあとの方になってからインターネットを使い始めた人々にとっては、インターネットとは自分から情報を差し出す場ではなく、情報を摂取する場なのだ。買い物をしたり、動画を見たり、音楽を聞いたりしているだけだ。自分でウェブサイトを持ってブログを作ったりしている我々は、今日のインターネットにおいて決してマジョリティではない。

受動的にインターネットを使うだけの人に、 1990 年代の終わりに我々インターネット老人が感じたのと同じような興奮や感動を与えられるのだろうか。多分、発想を転換しないと難しいだろう。我々が面白がったインターネットと彼らが欲しているインターネットは別のものなのだ。ただ受動的に使っているだけでより便利になり、快適になっていくインターネットをどうやって作っていくかが見えないインターネットの時代のテーマになると思う。

| @Mac/iPhone

脊振山山頂の避難小屋

Google Photos の無料利用に制限が入るようになって写真のバックアップはやめていたのだけど、他の人と登山に行ったときの写真の共有にはやはり Google Photos が便利だし、検索が優れているのでお金を払って使うことにした。しかし Google Drive のバックアップ機能がちゃんと動いてくれなくて、 Photos.app の写真が全然バックアップされない。構成は以下。

  • Intel iMac 5K
  • Google Drive バージョン: 53.0.11.0 (Intel)
  • Photos.app で使うシステム写真ライブラリは外付けの 2TB SSD

Google Drive アプリを再インストールしたり、 Google Drive アプリの Google アカウントの接続を解除して再ログインしたりするとバックアップされることもあるが必ずそうなるとは限らないし、写真を追加する度にアプリの再インストールをするのはハチャメチャに面倒くさい。

ユーザーフォーラムを見ると、どうも外付けのドライブにフォトライブラリを配置しているとバックアップがうまくいかないようだ。昨年の 10 月から起きている問題だけどまだ解消されていない。多くの Mac ユーザーの嘆きの投稿を見ることができる↓

加入していた Google One (ストレージ追加プラン)は 100GB で月額 250 円のプランだ。節約画質でのバックアップなのでこれで十分こと足りるのだけど、肝心のバックアップができないのでニッチもサッチもいかない。

Apple の iCloud Photos であれば完璧に写真がバックアップされそうだが、 iCloud Photos の方は節約バックアップ的な思想ではなく、逆に iCloud 側にマスターデータを置いてクライアントの Mac 側に画質をおさえたコピーを保存するやり方だ( Mac 側にオリジナルを残すこともできる)。それだとデータを人質に取られる感じだし、 2TB の月額 1300 円のプランに入らないといけない。データの同期のために毎月 1300 円払うのは厳しいのでためらってしまうし、そもそもやりたい他の人との写真共有時には結局 Google Photos を経由させる必要があっていまいちやりたいことが実現できない。自分はシンプルに以下のことがやりたい。

  • iPhone や一眼カメラで撮影して母艦の Mac に取り込んだ写真をいつでも iPhone で見られるようにしたい(オフラインのときは見られなくても構わない)
  • 母艦 Mac の Photos.app ライブラリの写真を必要に応じてほかの人に共有したい
  • 季節や場所、写っているものの名前で目当ての写真を探せるようにしたい

前も書いたことがあるが、写真の検索や自動分類は Google Photos の方が優れている(写ってる対象の識別精度が高い)。 Apple Photos はローカルでその判定をやっているので精度が低いようだ。

なので不安はあったのだが、 Google Photos の同期のされなさにイライラしてしまって Google One から iCloud+ の 2TB プランに乗り換えて iCloud Photos を利用することにしてみた。するとこれまでフォトストリーム経由で最新の 1000 件のみが同期対象だったのが全ての写真が同期されるようになった。写真の追加だけでなく削除も同期される。複数の Mac で写真を管理してると写真が重複しがちなので、削除が同期されるのは地味に嬉しい。また、 iPhone からでも標準の写真アプリで 10 年前に撮った写真を見られるのはスーパー便利だ。このために毎月 1300 円払っても惜しくないかもしれない。

いまは手放したゴルフ 2 の勇姿をいつでも拝める