行きは追い風、帰りは向かい風でしんどいランニングだった。ただし、帰りを向かい風にするのはトレーニングとしては正解な気がする。

行きは追い風、帰りは向かい風でしんどいランニングだった。ただし、帰りを向かい風にするのはトレーニングとしては正解な気がする。

サムギョプサルを補充。

ヘルメットがファッションアイテムとして日常的に使われる日は遠くないと思っているけどなかなか流行らない。
Mastodonインスタンスのdestroyが完了した。これで料金はかからないはず。
メモ: Mastodonをローカル環境で立ち上げる手順。
1. git clone git@github.com:mastodon/mastodon.git
2. cd mastodon
3. docker compose -f .devcontainer/compose.yaml build --no-cache
4. docker compose -f .devcontainer/compose.yaml up -d
5. docker compose -f .devcontainer/compose.yaml exec app bin/setup
6. docker compose -f .devcontainer/compose.yaml exec app bin/dev
これでデータがない状態でアプリが起動する。
五郎八|菊水酒造|にごり酒
新潟のお土産。「ごろはち」と読むらしい。濃厚で甘い。それでいてアルコール度数は21度とけっこう強い。飲み過ぎに注意。

久々の20kmラン。河川敷では凧が空を舞っていて年始を感じた。

link以外のMarkdown構文を無効化するremarkプラグインを作成した。
# test
や
- test1
- test2
みたいな文字列がheadingやlistに変換されなくなる。やっていることはシンプルで、変換記号の前に`\`を追加しているだけ。
確かに、この感覚はある。ただ、言語化できてはいない。
AIで理想の髪型を生成し、その画像を美容室で見せてオーダーする、という方法は使えそう。
重い腰を上げて、Mastodonインスタンスのクローズ作業を進めることにした。最終的には、Mastodon上の投稿データをこのmemoサイトへ移行したいと考えている。
そのための前段階として、まずはエクスポート済みのデータを参照できる形で、Mastodonをローカル環境で起動できるようにしたい。理想的には、エクスポートした投稿を別のMastodonインスタンスへインポートする方法が最良だが、調査の結果、それは現実的に不可能だった。
そこで方針を切り替え、エクスポートした投稿データをもとに、スクリプトまたはAIエージェントを使って、このmemoサイトへ直接インポートする形で移行を行う予定。
誰か悪いのかを言いあてて どうすればいいかを書きたてて
評論家やカウンセラーは米を買う
迷える子羊は彼らほど賢い者はいないと思う
あとをついてさえ行けば なんとかなると思う
見えることとそれができることは 別ものだよと米を買う
中島みゆき『時刻表』
座右の銘「Just Do It」
Xのような不特定多数が参加できるSNSをやらない理由として、適切な分量のコンテキストを提供することが難しい(できないわけではないと思うが)という点がある。背景情報を理解していない人との会話は成り立たないし、自分が他の人の投稿を見た時も同様。それで不要なエネルギーを消費してしまうのは忍びないので見ることすらしていない。代わりに自作のメモ用フィードを作ったわけだが、タイムラインを育てていける感じが面白い(アルゴリズムに育てられるタイムラインとは全く別物)。割と自分だけのフィードを育てることに喜びを感じている人も多い印象なので、そういった人には自作するのがおすすめ。
iPhoneのカメラってアスペクト比3:2は選べないのか。いつも一眼レフで撮る時は3:2だから、4:3ではどこか間延びした写真が撮れてしまう。面倒だけどトリミングしなきゃだね。
OGP imageにLGTM画像と同じ画像を設定した。
年末年始恒例の桃鉄をした。2位の状態で最終年(8年目)の3月にカジノで大当たりして逆転したと思いきや、次のターンでベビキュラーカードを使われて逆転負けした。今までで一番盛り上がった桃鉄だった。
git checkout --orphan xxxで過去のコミット履歴を一切引き継がない新しいブランチが作成できる。
Pale Ale|Sierra Nevada Brewing|ビール
後味のビターさが好み。Pale Aleだけど、淡い口当たりだけでは終わらない。

正月こそジムに行くべき。

次に本番環境で稼働しているデータをダンプして、ローカル環境でリストアする手順。
7. ssh vps_server
8. pg_dump mastodon_production > mastodon_production_$(date +%Y%m%d).sql
9. gzip mastodon_production_$(date +%Y%m%d).sql
10. exit
11. mkdir -p backups
12. scp 'vps_server:/home/mastodon/mastodon_production_*.sql.gz' backups/
13. gunzip backups/mastodon_production_*.sql.gz
14. docker compose -f .devcontainer/compose.yaml exec db psql -U postgres -d template1 -c "DROP DATABASE IF EXISTS postgres;"
15. docker compose -f .devcontainer/compose.yaml exec db psql -U postgres -d template1 -c "CREATE DATABASE postgres;"
16. docker compose -f .devcontainer/compose.yaml exec -T db psql -U postgres -d postgres < backups/mastodon_production_xxx.sql
本番サーバーから必要な環境変数を取得してローカル環境用にコピペする。ActiveRecord暗号化キーやCloudflare R2の設定で必要。
17. ssh vps_server "sudo cat /home/mastodon/live/.env.production | grep -E '(SECRET_KEY_BASE|OTP_SECRET|VAPID_|ACTIVE_RECORD_ENCRYPTION|S3_|AWS_|CDN_)'"
18. vi .env.development
その後に開発サーバーを再起動すると、投稿や画像が表示されるはず。
Good.
これでようやくMastodonインスタンスを消せる。DB名やMastodonバージョンの不一致でデータがうまく表示されずに詰まったけどなんとか完了。