ようやくマイクラの世界から規則正しい生活に復帰しつつある。マイクラは5回くらい引退しました。
メンタルもかなり終わってたけどホームパイ1袋どか食いして復活しました。
教えちゃお
最近、友人たちと一緒にマインクラフトをやっている。以前も少しやっていたことがあるが、このゲームは悪魔的に面白い。
最初マインクラフトの世界に降り立ったとき、僕たちを出迎えるのは美しい自然だ。ローポリではあるが、一貫性のあるアルゴリズムによって生成され、インタラクション可能でどこまでも広がるこの世界は、無限の可能性、ときめきを与えてくれる。僕はいつまでもその美しさを感じていたいと思い、自然と調和した生活、最小の介入での生活を試みる。
しかし次第に心は変わり始める。たまたま見つけた鉄で作った斧の切れ味を知ってしまったら、もう木の斧には戻れない。様々な先進的な道具が鉄で作れるとわかり、僕たちの中の暴力的なフロンティア精神が目を覚ます。鉄や希少鉱物を求めて岩盤に届くまで地面を掘り続ける。山を丸裸にする。そこには自然との調和という思いはもうない。
重要な位置づけの自動化装置としてゴーレムトラップがある。非常に用途が多い鉄を無限生産するただ一つの手段だ。アイアンゴーレムはNPCが敵対NPCに襲われたときに召喚する守護者で、死亡時に鉄を落とす。この性質を利用し、敵対するNPCたちを同じ部屋に閉じ込めて継続的にアイアンゴーレムを生み出させ、それを水流で捕えてマグマで焼き殺して鉄を得るのがアイアンゴーレムトラップだ。
ゲームの表現にとやかく言うつもりはないが(言います)、世界の原住民の感情を支配し、恐怖から生み出される自衛のためのゴーレムをシステマチックに殺して資源を手に入れる仕組みは、どの程度意識して作っていたのかわからないが、現実の搾取のあり方にも通じるものがありグロテスクだ。ゲームの世界だとわかっていても、生み出されて直後に焼き殺されるゴーレムがプレイヤー(僕)を見つめてくる感情のない目を見ていると、間違ったことをしているという気持ちになる。
僕はこのゲームを心底楽しんでいる。すごいゲームだと思う。何もやれと言われないのにやりたいことがなくならないゲームというのはそうそう作れるものじゃない。そしてまた、このゲームが教育にも役立つというのも間違いない。高度な自動化装置をYouTubeの解説動画やwikiで仕様を見ながら自分の手で組み立てていくことで技術の楽しさに目覚める子供は多いだろう(僕が『電子ブロック』でひたすら遊んでいたように)。説明を聞き、手を動かし、仕組みを理解し、さらに発展させる。これでどんどん上達していくし、抽象的な仕組みを考える力もつくだろう。
それでもなお、僕はこのゲームをプレイするのが苦しい。自分の中にある人間の欲望・向上心、それと表裏一体の調和を乱す性質に向き合うことを強制されるからだ。本当に優れたゲームは自分自身の人間性を浮き彫りにし、それと向き合わせてくれる。よくできたゲームだからこそ楽しく、そして苦しい。悪魔的というのはそういうことだ。
そしてこのゲームをプレイするまだ純粋(?)な子どもたちは、この世界に何を思うのだろう。
コンテナからのインターネット制限(ドメインホワイトリスト)ですが、失敗しました。ホストのnftablesで開発コンテナからのリクエストであることを判別する方法が難しく、最後は開発コンテナを別のユーザーから立てることまでやったのだが、そうすると今度はファイルマウントの所有権がぐちゃぐちゃになってしまい、終わった。
ブラウザ上での動作確認を別の隔離コンテナに封じ込めることは簡単にできた。
# compose.yml
version: '3.8'
services:
app:
image: watch-duty-manager-app:latest
build:
context: .
dockerfile: ./ContainerFile
cap_drop:
- ALL
security_opt:
- no-new-privileges
pids_limit: 512
tmpfs:
- /tmp:rw,noexec,nosuid,nodev
- /var/tmp:rw,noexec,nosuid,nodev
environment:
- TZ=Asia/Tokyo
- NPM_CONFIG_IGNORE_SCRIPTS=true
- SSH_AUTH_SOCK=""
- SECRET=dummy
networks:
- dev-net
command: sleep infinity
volumes:
- ..:/workspaces:cached
browser:
image: kasmweb/chrome:1.14.0
ports:
- "6901:6901"
shm_size: '512m'
environment:
- VNC_PW=password
networks:
- dev-net
db:
container_name: watch-duty-manager-db-with-app
image: mysql:8.0.27
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: watch-duty-manager
MYSQL_USER: xxxx
MYSQL_PASSWORD: xxxx
volumes:
- db-data:/var/lib/mysql
- ./mysql/my.cnf:/etc/mysql/conf.d/my.cnf
- ./mysql/log:/var/log/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
networks:
- dev-net
networks:
dev-net:
driver: bridge
volumes:
db-data:
# devcontainer.json
{
"name": "Node.js & TypeScript with Secure Browser",
"dockerComposeFile": "./compose.yml",
"service": "app",
"workspaceFolder": "/workspaces",
"postCreateCommand": "rm -rf /tmp/vscode-ssh-auth-* && npm ci --ignore-scripts",
"remoteUser": "node"
}
# vite.config.json
server: {
allowedHosts: ["app"],
host: true,
port: 5173,
https: {
key: fs.readFileSync("./.devcontainer/key.pem"),
cert: fs.readFileSync("./.devcontainer/cert.pem"),
},
hmr: { host: "app", protocol: "wss", clientPort: 5137 }
},
まず、devcontainerはcomposeもいける。それを使って開発用DBと動作確認用ブラウザコンテナを同時に立てる。動作確認用ブラウザコンテナはkasmweb/chromeを使うと、ホストからブラウザアクセスでコンテナ内でGUIでブラウザを操作でき、そのブラウザ内で https://app:5173 にアクセスすることで動作確認ができる。localhost以外からアプリケーションにアクセスするのでhost(0.0.0.0)が必要。httpsにしないとsecure付きcookieが死んでしまうので、鍵セットを自前で作ってappのvite.config.jsで読み込んでいる。
昨日今日は集中的にdevcontainerを研究していた。というのはnpmの汚染がなんかすごい感じになっていて(曖昧)とりあえずnpmからダウンロードしたパッケージに悪さをされることはもう避けられないっぽいので、それでも耐えられる環境づくりがテーマだ。
もうひとつ、nerdctl(rootless)でやるというのも裏テーマ。僕の私物PCにはdockerの代わりにnerdctlしか入ってないからだ。特に深い理由はないが、なんかdockerはそろそろ標準じゃなくなるっぽいという話を数年前に聞いて以降そうしている。
AIに手伝わせながら作ったのがこんな感じだ。
{
"name": "Node.js & TypeScript",
"build": {
"dockerfile": "ContainerFile"
},
"postCreateCommand": "rm -rf /tmp/vscode-ssh-auth-* && npm ci --ignore-scripts",
"containerEnv": {
"TZ": "Asia/Tokyo",
"NPM_CONFIG_IGNORE_SCRIPTS": "true",
"SSH_AUTH_SOCK": "",
"SECRET": "dummy"
},
"runArgs": [
"--cap-drop=ALL",
"--security-opt", "no-new-privileges",
"--pids-limit", "512",
"--tmpfs", "/tmp:rw,noexec,nosuid,nodev",
"--tmpfs", "/var/tmp:rw,noexec,nosuid,nodev",
]
}
FROM mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm
RUN usermod -aG root node
--cap-drop=ALLとかno-new-privileges、--pids-limit、/tmp潰しとかは基本らしいのだがSSH_AUTH_SOCKの周りは結構調査が必要だった。vscodeが作るdevcontainerはデフォルトでホストのssh-agentのソケットをコンテナ内にマウントして露出してしまい、これを止めるオプションはない。コンテナ内のsshはSSH_AUTH_SOCK経由でソケットファイルの場所を知るので、それを上書きしてしまえば良い…とAIは言うが、ソケットの置き場は/tmpで名前も明らかにそれとわかる感じなので名前だけ隠してもコンテナ内で悪意あるプログラムが動きうるという前提なら何も隠せてない。なのでpostCreateCommandでrmしている。
ContainerFileでusermodしているのはこうしておかないとホストとコンテナ内のファイルパーミッションが合わず、コンテナ内からファイルに書き込めないから。
nerdctlが正式サポートされていないのである程度コツが必要だった。AppArmorがユーザー名前空間の利用を制限している問題は、エラーログに解決法が書いてあり、その通りにこれを実行したら直った。
cat <<EOT | sudo tee "/etc/apparmor.d/usr.local.bin.rootlesskit"
# ref: https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces
abi <abi/4.0>,
include <tunables/global>
/usr/local/bin/rootlesskit flags=(unconfined) {
userns,
# Site-specific additions and overrides. See local/README for details.
include if exists <local/usr.local.bin.rootlesskit>
}
EOT
sudo systemctl restart apparmor.service
rootlesskitとbuildkitは必要。runコマンドの--sig-proxyオプションも必要なのでnerdctlのバージョンはv2.0.0以上。
以下のように、ローカルのイメージをベースにして更にイメージをビルドしようとすると失敗することがある。devcontainerも何らかの差分ビルドをやっているのか、こういうエラーが起きることがあった。これはbuildkitをcontainerdを使うように設定すると直った
chao@chao-home:~/nerdctl-test$ nerdctl build -f Dockerfile.B .
[+] Building 1.1s (2/2) FINISHED
=> [internal] load build definition from Dockerfile.B 0.0s
=> => transferring dockerfile: 107B 0.0s
=> ERROR [internal] load metadata for docker.io/library/my-test-image:latest 1.1s
------
> [internal] load metadata for docker.io/library/my-test-image:latest:
------
Dockerfile.B:1
--------------------
1 | >>> FROM my-test-image:latest
2 | RUN echo "This is image B" > /image-b.txt
3 |
--------------------
error: failed to solve: my-test-image:latest: failed to resolve source metadata for docker.io/library/my-test-image:latest: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
FATA[0001] no image was built
秘密鍵はコンテナにマウントしたくないのでgit pushはdevcontainerの外で行うことにするが、git commitは悩みどころだ。commit hookで様々なnpmスクリプトが動くことを考えるとコンテナ内にしたいが、CIを勝手に回されるリスクを避けるためにはcommit署名を使うべきで、署名鍵はコンテナ内に入れたくないので、commitはコンテナ外ですることになる。結局commitをコンテナ内でやりつつ署名用gpg鍵のパスフレーズをホスト側で毎回要求することで解決した。
# ~/.gnupg/gpg-agent.conf
default-cache-ttl 1
max-cache-ttl 5
この設定だと、コンテナ内でgpg鍵を使おうとしたときに、毎回ホストマシン側にパスフレーズ入力ダイアログが現れる。vscodeはgpg-agentも勝手にコンテナ内にフォワーディングしているのでこれ以外の設定は不要。
次の段階としてインターネットアクセスもドメインで制限したいのだが、--cap-drop=ALLをつけているためコンテナからiptablesを操作できず、かなり面倒な形になりそうだ。そこまでしなくてもいいかなあ。でもここまで来たならやりたいよな。あとはnodeのpolicyとか、ビルド成果物のチェック、動作確認用のブラウザもサンドボックス内で実行とかもやっていきたい。
友人と会う予定があり、せっかくだからとレンタカーを発動した。が、これはなかなかハードだった(開幕)。
土産を上野で買っていこうと考えたのだが、これが大きな間違い。都心部の道路が激混み。途中で諦めたのに想定の3倍以上かかってしまった。
混んでるだけじゃなく、都心の運転は難しい。まず人間が多い。単純に交通ルールを守って右左折で歩行者を持つ機会が多いだけではなく、異常な場所を歩いている人間も多く、人を殺さない難易度が高い。自転車も多い。自転車は合法的かつ危険に車道を走行するので、どうにもならない。この国の法律と道路事情では自転車は「無理」だ。諦めてくれ。道も難しい。右左折車線が複雑だし、路上駐車が多すぎて基本的に第一通行帯が死んでいる。基本死んでいる。だから左折のほうが右折より難しい。車が多いため運転技術の下限が低い。平均レベルはわからないが、俺より下手な人間がいたりするので本当に危ない。曖昧に白線を跨いで曖昧に進んだり止まったりしている。
23区内の運転は教習所以来かもしれない。23区内の運転はダメだ。別物。もうやりたくない。この経験を経て都心部の電車網がいかに偉大かよくわかった。
さて、友人の家を見せてもらい、車で移動してかつて暮らしたエリアを見たり、なんとも言えない公園を見たりして、もつ焼きを食べて解散した。もつ良かったですね。肉・油・塩・食感、全てがあり、「満ち」た。
また発作が出て、レンタカーを発動してしまった。と言っても今回は16時~20時。適当にスパジャポなる施設に行ってみたんだけど、入場待ちの行列があまりにも長く、諦めて別の場所に行くことにした。と言っても特に行きたい場所もなく、適当に志木駅に行った。
時間制駐車場に停めて、1分くらい歩いたところに良さそうな寿司屋があったので入ってみた。早めだったので客は僕だけ。並寿司とシメサバを注文(本当はバッテラが食べたいのだが、大抵無いので妥協)。寿司の良し悪しはあまりわからないが、間違いなく美味い寿司だった。不思議だよねえ。シンプルな料理に見えるけど、温度や硬さでネタの味が活きるかどうか変わってくる。いつも何も思わずに食べるかっぱ巻きですら海苔の豊かな香りがぶわっと広がって驚き。食材にもこだわっているのだろう。大将と話もしたのだが、三連休最後で…なんかいきなり出かけたくなって…川口から来ました…みたいな完全に意味不明なことしか言わなかったので意味不明な客だと思われてると思う。
帰り道は夜・雨の高難易度ステージ。ゲームの難易度上げるために視界塞ぐのはやめろってあれほど…。前回の水戸はほぼ高速道路だったが、今回は街。狭い道で通行人・自転車・バイクも多く、明らかに難易度が高かった。けれど前回以上に「必要ない情報を切る」ことが上手くできるようになっていて、速く正確な判断ができるようになっていた。
やっぱり車さえ所有していればこのノリで外出できるというのはとても夢がある。車の外出は楽しい。しかし、電車移動に比べて何が優れているのかと聞かれると、これは即答できない。難しい問題だ。まず僕は単純に運転が好きだ。機械の操作が楽しい。しかしそれを差し引くと、電車の方が優れている点は多々ある。電車は購入する必要がない。維持する必要もない。つまり安い。そして自分で運転する必要もない。つまり時間が有効活用できるし安全だ。
所要時間、これはケースバーケースだ。始点と終点が駅に近いかどうかに大きく左右される。電車は渋滞の影響を受けないが混雑は不快ではある。一方で常に車はプライベート空間で快適だ。
整理してみると、過程の快適性に大きな差がある気がする。駅まで歩く、駅で乗り換える、駅で待つ、駅から歩く。このように細かくプロセスを切らねばならない電車は快適性で劣る。車内は公共空間であり、座れる保証もなく、座れても席が狭い。スマホ見てられるというのはそうなのだが、スマホを見るのは精神に悪い。特に「他にできることもないのでとりあえずスマホ見るか」で見るコンテンツは激烈に精神に悪い。
自動車は電車よりは確実にドア・ツー・ドア移動に近い。乗っている間運転の作業は必要だが、シートは快適、空調も快適、ラジオも聞ける。切れ目がない。そして行程を自由に変更して寄り道もできる。
ああ、やはりどう生きたいのか、という魂の疑問になるんですよね。全ては。車好きだなあ。
冷凍肉まん、高級なやつが半額になっていた(半額になったあと、いつも食べてるやつの1.5倍くらい)。食べたらめっちゃよかった。大きいしふっくらしてるし、肉がぽってりしている。
昼、松屋。
書くこと、無(な)!
困ったときの時事ネタ。天下一品にゴキブリが混入していたそうだが、あれは天下一品のこってりがちゃんとした不透明なラーメンだから起きたことだ。それがラーメンの精神性だ。スープが透明・麺が平行・チャーシューが赤いなどの非精神家賃ラーメンだったら混入にはすぐに気づいていただろう。
ゴミ拾い、また雪見だいふくの刺すやつがあった。下を見て歩いていると首に水がかかって、雨!?と思ったら屋上のガーデニングの水やりだった。雅。
自分の体調なのか、季節なのか、やってるタスクなのかわからないが、久々に仕事が進んでいる感覚が得られている。
次のサラダは舞茸+ポン酢とする。
最近、天竜川ナコンの『現実チャンネル』に救われているっつってんの!。
昼にジムに行って、帰り道に薬局に処方箋だけ提出(受取は後日)、買い物をして帰ってきた。
しかししばらくしてジムに忘れ物をしていたのに気づいてもう一度ジムに行くことになった。それならばと、薬局で薬は受け取ったし、買い物も買い忘れがあったのでもう一度した。
夕方は神の昼寝。
最近はゴーヤがうまい。なんか新しい野菜に挑戦したい(挑戦したいとは、レンチンだけで料理したいという意味)と思ってゴーヤを買ってみた。まず、ゴーヤを切ったのは人生で初かもしれない。最初に輪切りにしちゃって、なんか中央部に変なのがあるな…と思った。そう言えば人生で食べてきたゴーヤは全部周縁部だった。調べてみるとまず縦に一刀両断して綿を除去するらしい。そうした。その後塩もみすると苦味が緩和されるらしい。そうした。レンジで4分、めんつゆと鰹節で食べてみるとかなりいい。かなりいいが、これってもうゴーヤチャンプルじゃね?
人生〜(鳴き声)
最近車を買って東京圏の喧噪から離れて暮らすことを毎日考えていたが、本当に車は俺を幸せにするのか不安だった。そんなことをどんぶらこどんぶらこと考えていた土曜の午後、唐突に悪魔的アイデアを思いついた。今からレンタカー借りてどこか行くか。
常日頃から自分の勢いの足りなさには不甲斐ない思いをしているため、これを思いついてしまった以上、実行しないのは精神的敗北に思えた。そもそも運転はいつでも不安だが、慣れている友人から「ゼロリスク信仰はやめたほうがいい」という言葉をもらい、30分ほど迷ったが結局近所のレンタカーに会員登録し、そのまま予約してしまった。土曜の16時から日曜の20時まで、車1台の使用権を得てしまった。さてどうしよう。
まず問題はいつ返すかだ。レンタカー屋は20時で閉まるので、今日の20時までに返すか、明日返すかのどちらかだ。せっかく明日まで借りれるのだから明日返したいのだが、僕は駐車場を保有していないのでその場合は夜間にどこに停めるかが問題になる。幸い住んでいる集合住宅の駐車場を時間で借りる制度があるので、それを利用することも視野に入れた。しかしそんな小さいスケールのドライブで本当に「車」の力を見定めることができるのか?借りるならもっと徹底的に活用したほうがいいのでは?
チャッピー(ChatGPT)との会話履歴を見ると僕の迷いが見て取れる(この会話パートは読み飛ばして良い)。
茶王「ooでレンタカーを16時に借りて、19:30に返却する予定でドライブプランを組んで。運転には不慣れ、返却前に給油の必要あり。」
チャピ:市内の施設を駅前、徒歩でも行けそうなエリアをちょちょいと回るしょぼい計画茶王「遠くまで行きたいね」
チャピ:越谷レイクタウン茶王「海見れる?」
チャピ:東京湾やお台場も可能だが時間がタイト茶王「やっぱり越谷レイクタウンにしよう」
チャピ:リョカイン茶王「練習として有料道路を使いたい」
チャピ:使うルートもあるヨ!
ここで一転攻勢
茶王「予定変更。契約上は返却は明日の20時まででいい。そして住んでいるマンションの時間貸し駐車場も利用可能なので(明日の7:59まで駐車できる)近場のドライブでも遠距離でもいい。個人的には遠くに行きたい。北。山間部。一泊して帰ってくるでもいい。」
チャピ:那須・塩原、水上温泉、日光、忍野・富士五湖
行き先がどこもピンと来なかったので、前々からやりたいと思っていたことを言ってみる
茶王「俺は本場の納豆が食べたい。」
チャピ:水戸やなあ
ということで外環→常磐道→水戸が確定。
16時、レンタカー屋で車を受け取る。車種はヤリスでした。よく知りません。車に乗ってみると、あたふたした。本来はどっしり構えてカーナビ操作してから発進で良かったはずだが、レンタカー屋のスタッフが見てる気がして、急いで道に出てしまった。恐ろしいのは、そういう記憶はあるのに、じゃあどこで停止してカーナビを操作したのか記憶がないことだ。うーん、やっぱりレンタカー屋でカーナビ操作してから発進したのかなあ…運転中に操作なんて恐ろしいことはできたはずがないので…。とにかく28時間前の記憶が失われるほど余裕がなかった。
ここで私の運転歴を振り返っておくと、18歳で免許取得した後は平均して年30分行かないくらいだ。友人とのドライブか実家か。その割には筋がいいというのは父親からも友人からも言われるので、少なくとも負の才能は持ってないようだ(赤城のラングドシャ)。
普段あまり自動車乗らないやつとドライブ行ったんだけど、めちゃめちゃ運転そつなくこなすしブレーキも加速もかなりなめらかなのにウィンカーだけしょっちゅう戻し忘れていて面白かった
初心者要素がそこに集中することあるんだ
— ゆーちき (@yuchiki1000yen) August 27, 2025
よくわからないがとにかくどこかのタイミングでカーナビのガイドが始まり、川口東ICを目指して下道を走る。この時点でも落ち着きはなかったが、早めに大きな道に出たのでハンドリングはあまり気にせず、前の車にひっついてなんとか動けていた。
ここで埼玉を走り慣れている人なら「あっ…」となると思うのだが、そんな読者は少ないと思うので説明すると、川口東ICはETC専用料金所だ。そして僕はETCオプションをつけていない。そういうわけで料金所の手前で詰んだことに気づいた(後退は不可能)。しかしまあ、世の中というのはよくできているもので、結果的には係員と通話してなんとかなった。大変申し訳無い、大申無。皆様におかれましては「ETC車でのご利用をお願いします。ETC車載器を搭載していない車両のご利用はできません。」でよろしくお願いします。
ここからは有料道路をひた走る。外環→三郷JCTで常磐道に移動。高速道路は、はっきり言って下道より楽だ。考えることが少なく、アクセルを踏む度胸だけあればいい。さすがにハンドル操作とかは無意識でできるからね。三郷で常磐道に入るところはさすがに非ETCのレーンもあり、ありがたや〜(次はオプションつけます)。
途中の休憩で守谷と友部に止まった。どちらも設備がきれいで、なんで高速のSAってこんなきれいで高級感があるんだろうな?って思った。まあ旅行だから財布の紐が緩いんですよね。そして旅行だとご当地感が欲しくなる。それにしてもSAで働いている人ってどうやって通勤してるんだろう。下から入れる通用口があるんだろうな。
友部の辺りでちょっと暗くなってきて不安になったのだが、実際どんどん暗くなり(それはそう)、完全な夜間走行になった。みんなライトをつけてはいるのだが、やはり周囲の風景から情報を取ることが難しくなり、結構心細かった。まあなんとか頑張って、水戸南ICで降りた。
適当にググって良さげだった水戸京成ホテルまで、夜の水戸を走る。これも難しかったなあ。特に駅前エリアは、そもそも川や城のような昔からあるものが中心になって街が形成されているので、道がきれいじゃない。それに単純に初めて走る街は難しいよね。なんとかホテルまで到着。駐車場に停めて、ひと仕事終わったなあと感慨に浸る。「駐車券を取る」という行為も自分でやったことなかったしね。
ホテルのチェックインは特に問題なく、部屋に入る。急いで予約したので仕方ないが喫煙室でタバコ臭い。しかしこの匂いにはすぐに慣れてしまった。匂いってのは恐ろしいですなあ。部屋は普通。
少し休憩して、夜の水戸駅前に繰り出した…のだが、何をすればいいのかよくわからなかった。とりあえずの目標は納豆料理を食べることだが、なんかこう、賑わってる場所があるか…?と思って歩きまわったのだが、水戸駅が普通に賑わっている以外は特になかった。少し離れた箇所に繁華街があるそうなのだが飲む気だったので車は使えず(この感覚を味わうのも人生で初めて!)、ややがっかりしながら駅前の納豆料理を謳う『てんまさ』で『納豆御膳』を食べた。
これはね、めっちゃ良かったですね。一言で言えば『何にでも牛乳を注ぐ女』の納豆版です。
納豆大葉揚げ、納豆オムレツ、しらす納豆、まぐろ&いか納豆、納豆味噌汁(!!??!?!)。我々、大抵スーパーでパック納豆を買って付属のだし醤油で食べてますけど、納豆それ自体の奥深い臭みを全部料理に取り入れることだってできるんだなあ。インシュもしたのでフラフラしながらホテルに戻り、寝た。
運転と睡眠には興味深い関係がある。入眠できないのは、精神的な側面に限ると「今日はまだ活動の余地があるのに寝たら終わってしまう」「明日早起きしてまでやることがない」という思考の結果だが、運転はこの両方を破壊する。飲んだら運転できないので今日はもうできることがないし、明日は家まで帰らなきゃいけないので体調を万全にしなくてはならない。
いやー、信じがたいよね。昨日の15時ごろまで埼玉の自宅でゴロゴロしてたのに、なんか急にスイッチ入って翌日起きたら水戸にいるのウケるな。
9時頃までのんびり二度寝(というか、帰りの運転に備えて力を蓄えている)。そして、朝食へ。井之頭五郎の顔つき。ホテルの朝食、そりゃあ楽しみでしょ。一番楽しみまであるよ。和食・洋食・中華粥というもう中華粥しか選ばせる気がない三択だったので中華粥をリクエスト。10分くらい待ったかな。コーヒーを飲みながら旅程を考えていた。
中華粥、デカ丼(外食のラーメンぐらいある)に出汁で味をつけた中華粥がたっぷり出てきて、様々な薬味(辛醤、ザーサイ、ネギ、パリパリ等)と合わせながら食べるらしい。結構良かったですね。単純にベースの中華粥が美味かった。朝でも食べやすいしね。
チェックアウトが11時なので、その前に弘道館を見ることにした。ホテル、マジで適当に選んだんだけど、朝明るくなってから窓から外を見ると隣弘道館で笑ったんスよね。
弘道館は1841年に作られた水戸藩の教育機関。文化庁が推す「日本遺産近世日本の教育遺産群 ―学ぶ心・礼節の本源―」を構成する4つの文化財の1つだ(他は足利学校・閑谷学校・咸宜園)。諸々の政変により1872年には閉鎖されており、その太く短い歴史が物悲しさを付け加える。残っているのは一部の建築物だけなのだが、なくなってしまった場所も今は図書館だったり小学校だったりするので、精神はちゃんと生き続けていていいなと思った。なお正門から入ってすぐ、よく見えるところにクソデカ「尊攘」の揮毫があり、迫力。
『正庁』は試験や式典を行う建物で、藩主が来ることを前提とした作り。古寺のような立派な建築でありながら、古民家のようなコンパクト感もあり、試験場とされる『正席の間』も現代日本の教室1つ分くらいにしか見えなかった(試験場がセーセキなのウケるな)。物事のスケール感が違ったのだろうな。学校の試験にわざわざ藩主が顔を出す、そのために立派な建物を作るというのがまあ現代ではない感覚だよね。それは物事が仕組みではなく意思で動いていた時代のもので、そんな時代にこの部屋で藩主に見られながら試験を受けていたら、責任感も強まるだろうなあと思った。
よく時代劇で見るような(いや時代劇見ないが…)中庭があった。日本建築らしく風通しがいい一方で室内は暗めなのだが、そんな中で中庭の緑に夏の日差しが降りそそぐ眺めは美しかった。トイレや風呂があったのは面白かった(使用禁止)。他は展示物がいろいろ。
正庁を見て、庭園を見て、土産物屋でお椀を買った(嘘のような本当の話だが、今使っている茶碗は拾い物だ。前のが割れたタイミングで道端に「お譲りします」って置いてあったやつをもらってきて使っていた。この話誰かに正気を疑うって言われた気がするんだけどブログに書いてなかったかな…見つからない)。水戸の隣の笠間の笠間焼らしい。なんとなく見た目が気に入ったやつを買った(STUDIO TOBOSOさんだって)。
ここまででホテルのチェックアウト時間になってしまったので、一回部屋に戻って荷物を回収。チェックアウトして荷物は車に放り込んだ。弘道館と道を挟んで反対側には水戸城跡があるのだが、ここも小学校と中学校と高校になってしまっており、見れるものはほとんどなかった(まあ歴代藩主たちはあの世で「それでよい」って言ってそうだけど…)。一応二の丸展示館というちょっとした建物があったので見てみたが、割と弘道館と被ってそうであまり真面目に見なかった。市制作の歴史教育アニメは全部見ました。
と思ったけど展示館で上映されていたのは短縮版だった!
二の丸角櫓だけは復元されていて見れそうで、建物の目の前まで行ったのだが、中に入る方法がわからなかった。無人で、扉らしきものはあったが力を込めても開かなかったのでそういうもんだと思って帰ってきてしまった。後で調べると中に展示があったらしいが、はて…?。
礎石だけ展示されていてシュールだなと思った
駐車場に戻り、車で偕楽園に移動…と思ったのだが、なんと駐車券がない。失くしたのかなあ。失くすような状況が思いつかないが…仕方ないのでホテルの明細書を守衛のオッチャンに見せたらそれで出してくれた。あざます。車で20分ほど移動して偕楽園に到着。
なんかトイレの表示?がすごかった
偕楽園は「一張一弛」(頑張るのも休むのも同じくらい大事、みたいな)の思想のもと、弘道館とセットで作られた庭園。梅が多いのが見どころらしいのだが、オフシーズンであり、クソ暑く、一通り歩いて終わりにしてしまった。すまんな…。ただ、梅だけが見どころというわけではなく、華やかに梅が咲き誇る(であろう)エリアと対を成すような薄暗い竹林や、南の千波湖を臨む崖からの眺望も素晴らしく、うーん、やはり屋外散策を楽しめる時期に来たかった…という思い。
車に戻り、大洗に向かう。水戸だけじゃもったいない、特に車のメリットは長距離移動よりは街から街への移動だろうと考えて、大洗で海の幸を食べることにした。車で30分くらい。大きめの道に出てからはまったく危なげなし。慣れもあるが、そもそも茨城、通行人がいないので楽です。港の駐車場に停めて、飲食店が集まってるエリアで寿司を食べることにした。
寿司はまあ…美味しかったですよ。少なくともチェーン店とは勝負にならないことは間違いない。ただ職人がその場で握ってくれるというのが売りなのだが、それがそのまま職人がボトルネックになるという問題があり…。あんこう唐揚げは美味しかった。淡白な味わいと、コリコリした食感が特徴なのかな?
少し歩いて海岸へ。何の変哲も無い、海岸。日本中どこでも海岸ってこんなだよなっていう。でも波って見ちゃうよなあ。海に石を4つ投擲して、野球のピッチャーってすげえなあと思い、終わり。
車に戻り、いよいよ帰り道。行きと違って入念にルートと支払い方法を確認し、気合を入れて出発。と言っても先述の通り茨城の下道でもはや緊張するところはなく、かと言って高速道路はどこも同じなのでこちらもだいぶ慣れており、そろそろ慣れから事故るなあ…という感じだった。水戸大洗ICから常磐道に入りひたすら南西に走る。途中休憩は美野里と守谷。守谷では若干眠気を感じたので長めに休みコーヒーを飲んだ。守谷-三郷間は事故渋滞があったが、完全に停止するようなものではなく、車線も全部生きてたので、そこまでロスはなかった。三郷で常磐線の料金を払い、ジャンクションで外環に入ってこちらは入口で料金を払う。つらい。でもこの2つは有人だったので、なんだか運転の苦労を認めてもらえているような感じがして落ち着いた。川口中央ICで降りて、のんびり自宅へ。川口の下道は狭いし歩行者もパトカーもいるので一番難しかったかもしれん。
最後は車の返却前に給油をする。しないで返してその分金を払ってもいいのだが、できるチャンスがあるなら経験しておきたかった。帰路のスタンドに決めていてそこに入ろうと思っていたのだが、上手く左折で入るようにルートを調節するのが難しい&複雑な交差点などもあり、かなり苦労した。スタンドに入れても、どの機械を使うべきかよくわからなくて、とりあえず入れそうな場所の順番待ちしてたら隣にバックで入れろと言われて割と焦った(たぶん下手過ぎて内心笑われてた)。あとレンタカーなので給油口を開けるスイッチの場所もわかんなくて、スタンドのニーチャンに教えてもらった。ありがとな。
スタンドの機械は結構難しくて、ポイントで払うを選択したらポイントで払える分しか入れられず満タンにならなかった。現金でやりなおし。でも手順は動画で予習していたので割とスムーズだったかな。
ガソリンの匂いすき。ガソリンの値段きらい
スタンドから左折で出て元の道に戻るのも若干手間だったが、無事戻り、ついにレンタカー屋に到着。ニーチャンが自分自身の方に向かっていつまでもオーライって言い続けるので轢いちゃう!って絶叫しそうだった。荷物を回収して、店内で終了の手続き。このレンタカー屋があってくれてよかったなあと思ったので「このレンタカー屋があってくれてよかった!」と言って帰ってきました。
車は金がかかる。車自体もそうだし、有料道路、駐車場、ガソリン等々、あちこちで出費が累積していく。特に有料道路はデカくて(まあETC使ってない分かなり高めになってるのはあるのだが)、都市間移動で自動車はかなりコスパ悪い。純粋に旅行の目的なら公共交通機関で都市移動をしたあと現地でレンタカーを借りた方がいい。あるいは、車に同時に乗る人数を増やして負担を頭割りするか。まあソロでやることではないよね、基本。
運転にはかなり慣れた。まず完全ソロで旅行をやり遂げたことで対応できる局面がかなり増えたと思う。そして単純に乗る経験の蓄積によって、運転中の情報処理、特に余計なことを考えない(右折時の右後方とか)、関係ない情報を結び付けない(通行帯内のルート取りと後続車とか)などの認知資源の効率化は自覚できた。
ちなみに神経は緊張していてただ運転してるだけのときに心拍数が141行ってました。