こんにちは、あまねです。
感想や興味のあるトピックについて、ぜひコメントしてください。
人間と科学
Netlifyをやめたこと
先日、#34でUptimeKumaというUptimeRobotクローンの死活監視システムをセルフホストで使い始めたというお話をしました。実は、そのタイミングでNetlifyから提供していたDNSサーバ、Webアプリ、文フリの特設サイトをCloudflareに移していたことにお気付きでしょうか?
dig NS ama.ne.jp
➡*.ns.cloudflare.com
へ- The Color Wheel Clock ➡ Cloudflare Pagesへ
- 文フリ東京32以前の特設サイト ➡ Cloudflare Pagesへ
Netlifyが日本からだと遅いというのは、数年前からよく知られているNetlifyの大きな欠点です。無料プランでは、日本から高速に使えるCDNノードがないというのが主な原因であり、東京のキャッシュサーバを使うためにはエンタープライズ契約を結ぶ必要があります。あまねけ!もこの情報を知った2020年9月頃からFirebase Hostingに移行しており、Netlifyでのホスティングはミラーサイトの予備の1つとして残されているだけでした。
ちなみに、Firebase Hostingに移行する数年前は、あまねけ!をNetlifyから提供しつつCloudflareでプロキシしており、図らずもこの欠点をカバーしていたようなのですが、2018年6月の段階で公式情報を鵜呑みにしてプロキシを切ってしまいました(ここでちゃんと応答速度を計測して記事に残していたらかっこよかったですね)。そのため、2018年~2020年あたりは、なんとなく日本からの読み込みが遅い状況が続いていたようです。
何はともあれ、Netlifyに惰性で載せていた多くのサイトを剥がし、 ama.ne.jp
のDNSもCloudflareに戻すことができました。Netlifyの利点は、JamstackのようなリッチなフロントからAPIをフル活用するための機能であり、単なる静的サイトの配信にはもはやフィットしません。
みなさんも、お使いのホスティングサービスとその用途を再検討してみてはいかがでしょうか。
Slackをやめたこと
Slackが値上げとフリープランの改悪を始めたとき、僕は驚きも焦りも感じませんでした。個人でRSSを読むために使っていたワークスペースはInoreaderに移行して放棄しましたし、所属サークルの変態美少女ふぃろそふぃ。のワークスペースも、半公開のMatrixスペースに活動の場を移して放棄していたからです。
もともと、Slackのフリープランでは最新の10000件のメッセージしか表示できず、アーカイブをエクスポートしない限りは古いメッセージを閲覧できないという制限がありました。私たちが送ったメッセージに制限をかけて、まるで関所で通行料を取るように儲けを生もうというわけです。よくもそんなことを!
これまでフリープランでは、メッセージ数 10,000 件、ストレージ容量 5 GB という制限がありましたが、今後は過去 90 日間のメッセージ履歴とファイルストレージを無制限に利用できるため、チームはいつ上限に達するのか心配する必要はありません。フリープランを活用しているチームでは、ほとんどの場合、制限が 90 日に変わったことでアクセスできるメッセージ履歴が増えるでしょう。過去 90 日間にどれほど Slack を使っていても、その間の履歴には必ずアクセスできます。
どんなに綺麗な言葉で飾ろうとも、これは動きのない矮小なワークスペースをアーカイブに押し流すための洪水でしかありません。10000件の制限が90日の制限に変わったおかげで、何もしなくても向こうから大きな冠木門を携えて通行料を要求できるようになったのですから。
さて、ワークスペースを放棄するときにもちろんアーカイブはエクスポートしていましたが、添付ファイルの類はまだ救い出していませんでした。Slackのエクスポートには、ファイルストレージにアップロードした画像やドキュメントの実体が含まれないのです。
念のため最新のエクスポートを取り直し、メッセージが格納されたJSONを再帰的にパースして https://files.slack.com/...
というURLを取り出す簡単なスクリプトを書きました。URLにはエクスポート固有のトークンが付与されるので、それを使ってもいいでしょう。あとは、URLのリストをスケジューラーに渡してダウンロードを待つだけです。
やはり、私たちは私たちのことを私たちですべきであり、最終的には非中央集権的なシステムの導入に辿り着くはずです。つまり、Slack(あるいはそのUI)を懐かしんでMattermostに移るのはそう悪いことではなくても、この勢いに乗じてDiscordのサーバーを増やすのはいい決断ではありません。言うまでもなく、Discordもまた関所を抱えて私たちを打ちのめしかねない中央集権サービスだからです。
アマネイメージズ
西なぎさには沖からのとても強い風が吹いていました。うねるように濁った海が、右や左から大きな白波を投げつけてはわたしに飛沫を飛ばそうとします。空では美しい雲が目まぐるしく姿を変えているのに、生ぬるい突風が運ぶべたべたしたクリームは雪のように肌に積もって離れません。小さな島の端に続くコンクリートの舗道は、長年こうして潮の気まぐれに晒されたせいで、なめらかな表面のトロウェルが剥がれてすっかりぼろぼろです。
まるで30番の板やすりに座っているような心地の階段に座って海を眺めているわたしも、いつかお尻から順にビブロンが剥がれてこうなってしまうのかもしれません。やっぱり、こんなところまで来るんじゃなかった。海の女神像として観光名所に仕立てられるなら、クリスタル・ビューに寄りかかって全身がキリコガラスになったほうがまだ まし というものです。
ふと左を見ると、水着を着た大勢の男女が東なぎさを引っ張っています。ざらざらのコンクリートにお揃いのビーチサンダルを踏ん張って、エーイエーイとかけ声を合わせて鋼索を引いているのです。東なぎさは西なぎさと同じ形の双子島で、しかし何十年も前からずっと「鳥類専用楽園・人類立入禁止」という黄色い看板が1文字ずつ立てられています。
風の音ですっかりかき消されていましたが、かれらは何度も何度も島を西なぎさに引き寄せようとしているのでした。もう「楽」「園」と「人」「類」という看板は男女の引っ張りに耐えられず根元から引き抜かれ、今は「鳥」の支柱にワイヤーがくくりつけられています。
それからは一瞬でした。東なぎさがいきなり諦めたように海を滑り出し、西なぎさの端にぶつかります。途端に白い壁のような波が何度も足元に押し寄せて、とうとう私の顔に潮の飛沫がかかってしまいました。あぁ、やっぱりわたしは海に呪われて板やすりになってしまうのです。
綱引きの相手を失った鋼索は大蛇のごとく暴れ回り、綱を引いていた人類を前から順番になぎ倒していきます。わたしの身体も宙を舞って、4回転半の末にざり、と頬に嫌な感触が走りました。島全体が大きく揺れて、異常を察知したサイレンがけたたましい音を響かせます。その警報に合わせて、地上に戻る橋が閉じてしまいました。もう、戻れません。
こうして海が終わるのだな、と思いました。