YAPC::Kyoto 2023 に行った #yapcjapan

登壇者・参加者・スタッフの皆様お疲れさまでした!楽しかった……。

会社のブースのほうに居座ってみたり、前日の #yapc_helpfeel_呑み に行ってみたりとで、全然知らない人とも結構喋れて非常に良かった。#yapc_helpfeel_呑み は普通の居酒屋に学校の1クラスぶんくらいの人数が集まっていたのが壮観で、あまりに楽しかった。主催ありがとうございました!

これくらいの規模のカンファレンスは2019年のbuildersconかYAPC::Tokyoぶりか、くらいのはず。3年以上ぶりであることを全く感じない実家のような安心感と、はじめて or めちゃくちゃ久しぶりに会う人の新鮮さとが同居していて変な感じだった。


個人的に印象に残ったトークを挙げると、

docs.google.com

moznionさんのゲストトーク。めちゃくちゃ身につまされつつ、やっていく方法論は完全に正論でさらに身につまされる、という感じであった。


speakerdeck.com

GMOペパボさんでオンプレ運用している巨大MogileFSトーク。なかなかこういう話を聞けることってないと思うので興味深かった。


3トラックあってなかなか迫力あるタイムテーブルという感じだったけど、配信をあとから見返せるのが非常に助かる。

yapcjapan.org

次は何らかの形でもうちょっとなんかできるといいなというのをぼんやりと思っていて、トーク出したりしたい……。

TrueNAS Scale に Tailscale をインストールする

めちゃくちゃかんたんだった。TrueNAS Core 時代は、普通にやるにはせいぜい jail の中で動すしかなく、Samba にアクセスしたりするのはまあまあめんどかったのが、Scale はなんというか期待した状態になる感じ。

説明するまでもない感じもするけど、手順としてはこう:

  1. TrueCharts をインストール Adding TrueCharts to SCALE | TrueCharts
  2. Tailscale パッケージ tailscale | TrueCharts をインストールする

これだけで Tailscale から TrueNAS Scale が動いているマシンにアクセスできるようになる。Exit node としても利用できるので、自宅を VPN の出口とするようなユースケースにも完全にマッチしそう。


ところで、TrueNAS Core から Scale へのアップグレードは一応 OTA というか Web コンソールからアップグレード操作をするだけで完了することになっているんだけど、自分の環境では失敗してしまったようで、結局インストーラを準備して半手動のアップグレード操作をする必要があった……。が、インストーラ上のアップグレード操作も別に大したことはなく、データは当然のことながら各種設定なども普通に引き継ぐことができた。めでたしめでたし。

mastodon.social

年末年始のどさくさに紛れて爆発的に有給を取得し、12日間で2500kmほど車で移動していた。

  • 神奈川〜九州の往復。まあ帰省です
    • 往路はぜんぶ自走。2日間で1100km
    • 復路は門司から大阪までフェリー、その後自走
  • 九州というか実家周辺でめちゃくちゃ観光
    • 往路で一気に走りすぎたために完全に距離の感覚が壊れてて、流れが良いなら下道の200kmくらいはすぐじゃんみたいな感じになっていた

やまなみハイウェイ、残雪


結構色々思うところがあって、文章の形にできる感じがないのでざっと書くけど、

  • 往路の旅程は何も決めずにスタートしたけど、結局2日でフィニッシュできた
    • 1日の走行距離の限度 - Google 検索
      • JAFのメディアを引用した記事が無数にあるけど、引用元のURLが消えていて渋い状態
    • ものすごく雑に計測して中間地点たる姫路で一泊したけどまあよかったと思う
  • ドラポジのマッチ度70%みたいな感じ (許容できるけど最高ではない) なんだけど、意外と身体へのダメージはこんなもんかという感じであった
    • 尻、肩周辺、腰 の順にダメージが大きかった
      • なんかクッション敷いたりしたらよいとは思うんだけど、この車でこれ以上ヒップポイントを上げてしまうと頭が天井に激突してしまうので不可能
      • 横風なりに対して修正舵を当て続ける必要がある、というので肩らへんが力みすぎていた気はする。修正舵当てるのは当てるし、別にそこで苦労するということはないんだけど、まあこれもドラポジの問題なんだろうか
  • 一日の走行距離が300km超えたあたりから、仮眠では取れないタイプの疲れがゴワーっと脳に来る感じになるんだけど、これはブドウ糖を摂取したら解消できることに気づいた
    • そもそも仮眠!!!みたいな体勢を取れない車ではあって、背もたれを限界まで倒すにはシートを前にスライドさせる必要があり、そうすると足の置き場がなくなる
    • カフェインと糖分のベストバランスを追求するとかなりいい状態になっていく
    • 脳だけがめちゃくちゃ疲れてるときは腹が減ってても飯を食う感じにならないがちだけど、SAとかで温かい麺類なんかを食ってると調子が戻ってありがたい
  • 一定以上の上り傾斜がある または 110km/h程度以上から継続的に加速する のいずれかを満たす状態になると、平均燃費計 (!) の数字がどんどん落ちていくというありさまで、まあそりゃそう
    • 新東名の120km/h区間で120km/hの流れに乗ろうとするとバカスカ燃費落ちていくというのを往路でやったので、復路ではエコランごっこを試みたところ24km/Lくらいをコンスタントに達成していた
      • 2800rpmくらいをなるべく維持する感じが一番効率良い気がする?これだと下り道でも110km/hくらいが限界になってくるけど、まあ120km/hと110km/hの差で10%くらい所要時間伸びたところで、PAで休憩してる時間考えたら誤差でしょうという感じ
      • その気になれば 大阪〜神奈川 ワンタンクは余裕ということがわかった。まあスペック値でタンクが30Lあるなか20km/L余裕で超えてるので……。でかい渋滞とかにハマると当然厳しそう
  • 阪神高速を初めて走って大変なカルチャーショックを受けた
    • 阪神高速環状線、これもう劇場版マリオカートじゃんみたいな感じだった……。首都高で言う堀切〜小菅、あるいは芝浦・浜崎橋のあたりのレベルを3倍くらいにしたのが永遠に続くというイメージ

自分が走行した事実とまったく関係ない話として、日本列島をざっくり半分くらい走行して感じた印象というのもあって、

  • 名古屋走りとかなんとかあるけど、運転の仕草みたいなのにある程度地域性がありそうなのはなんとなく実感が持てた。なんらかのバイアスだろうという気もする
    • 車間距離のとり方 (特に高速)、ライトつけるタイミング、ウィンカーの感じ
  • 売れ筋の車種みたいなのも地域によってまあまあ違いそうな感じがする
    • こっち (神奈川〜東京) で野生の新型クラウン クロスオーバーを一度も見たことない気がするんだけど、姫路以西では一日2回くらいのペースでエンカウントしていた。これはどういうことなんですかね……。実際に西日本で多く売れてるんだろうか
    • こっちで走ってる軽ってかなりの割合でスーパーハイトというかスライドドアあるやつな印象があるけど、九州ではミラトコットをそれなりに目撃して納得感があった
      • S660やコペンのエンカウント率もこっちより高いような気がする
      • 関東ほど猫も杓子もSUVみたいな状況ではあんまりないのか?というのも結構気になっていて、アテンザのセダンがそこそこ走っているといったところに新鮮さがあった。人口の年齢構成比がなんらかの形で反映されているのではという感じもする

思ったよりも連続走行に耐えられるということが判明してしまったので、なんか無意味に移動しまくりたいという気持ちになっている。山地をぶち抜いて作った高速道路の景色は単調がちで飽きるという風潮があると思うけど、単調な景色に単調 (とは思ってないけど) な曲を組み合わせることで対消滅させるのが良いと思う。

www.youtube.com

www.youtube.com

#pastak生誕祭 2022

DJ 行為をさせていただきまして、曲目はこれでした。

内閣総理大臣賞 〜THE WORLD〜 という曲がありまして、YouTube の MV のアップロード日が 2011/04/22 であることに衝撃を受けているんだけど、まあそれはそうとして、

すったもんだで気づけば三十路

なんだよな〜〜〜〜。西暦 2011 年の時点では三十路???wwwみたいな感じだったわけだが、今ではもう完全にこっちサイドだし、他の歌詞も……という感じである。どうしてくれるのか??

来年は id:Pasta-Kマジの三十路だということで、もうやっていくしかねえという感じです。こちらからは以上。

www.youtube.com

Dockerfile の RUN instruction で heredoc 記法をそのまま使うとコマンドが non-zero exit status で死んでも docker build が成功してしまう

tl; dr

  • Dockerfile の heredoc 機能の中で凝ったことをやるときはコマンド群の最初に set -e とか書くのが無難そう

近年 Dockerfile 内で heredoc 記法が使えるようになったことが知られていて、

www.docker.com

割と凝ったことができる機能で、シンプルには以下のように RUN にずらずら書くときシュッと書けて便利、というのがわかりやすいと思う。

思うんだけど、こういうふうに heredoc の中でなんかミスってしまったときに何が起こるかというと、

# syntax=docker/dockerfile:1.3-labs
FROM debian

RUN <<EOF
  apt-get install packagewhichdoesnotexists
  ls
EOF

こういう感じで docker build は成功扱いになってしまう。

% docker build --no-cache .
[+] Building 2.2s (10/10) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                                                                     0.0s
(中略)
 => CACHED [1/2] FROM docker.io/library/debian@sha256:2ce44bbc00a79113c296d9d25524e15d423b23303fdbbe20190d2f96e0aeb251                                                                                                                   0.0s
 => [2/2] RUN <<EOF (apt-get install packagewhichdoesnotexists...)                                                                                                                                                                       0.3s
 => exporting to image                                                                                                                                                                                                                   0.0s
 => => exporting layers                                                                                                                                                                                                                  0.0s
 => => writing image sha256:e62007bb070cd3bacbf16cb21cdca776022865ee5f8a7b7ca4f037dd712f1230                                                                                                                                             0.0s

Debian に packagewhichdoesnotexists パッケージが存在するわけもなく、直感的には docker build が失敗してほしいと思うんだけど、成功扱いになってしまう……。

実装された p-r を見てみると、上記のように RUN に素朴に heredoc を渡した場合は、その中身が sh -c で実行される、という雰囲気になっているように見えた。heredoc の中身がそのままシェルスクリプトとして実行されるようなものと捉えればよいだろうか。

github.com

という話を同僚の id:dekokun さんとしていて、set -e してみたらどうなるかという話になるわけだけど、こうするとしっかり docker build は失敗してくれた。

# syntax=docker/dockerfile:1.3-labs
FROM debian

RUN <<EOF
  set -e
  apt-get install packagewhichdoesnotexists
  ls
EOF
% docker build --no-cache .
[+] Building 3.2s (9/9) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                                                                     0.0s
(中略)
 => CACHED [1/2] FROM docker.io/library/debian@sha256:2ce44bbc00a79113c296d9d25524e15d423b23303fdbbe20190d2f96e0aeb251                                                                                                                   0.0s
 => ERROR [2/2] RUN <<EOF (set -e...)                                                                                                                                                                                                    0.3s
------
 > [2/2] RUN <<EOF (set -e...):
#9 0.229 Reading package lists...
#9 0.237 Building dependency tree...
#9 0.239 Reading state information...
#9 0.241 E: Unable to locate package packagewhichdoesnotexists
------
executor failed running [/bin/sh -c   set -e
  apt-get install packagewhichdoesnotexists
  ls
]: exit code: 100

完全に忘れてたけどこういう話もある!

Dockerfile の RUN instruction で heredoc 記法を使うときには set -e しないとコマンドが non-zero exit status で死んでも docker build が成功してしまう - polamjaggy nikki

-o pipefail とかも欲しくなるやつ?(わかってない)

2022/07/27 20:05
b.hatena.ne.jp

これも docker build 成功してしまうけど、

# syntax=docker/dockerfile:1.3-labs
FROM debian

RUN <<EOF
  set -e
  apt-get install packagewhichdoesnotexists | cat
  ls
EOF

Debian ではこれは dash で実行されていて、こういう話になってしまう!

Dockerfile 内でこれをやりたい人はいないでしょって感じで厳しい……。

stackoverflow.com

qiita.com

1年間分で43000円くらいのAdobe税を今年も払ってしまった。定常的に使っていると言えるのはLightroom Classic CCくらいで、あとはものすごく稀にIllustrator > Premiere, Audition, Photoshop > Lightroom CC > After Effectsくらいの序列でなんか触るかどうかというくらいで、ソフトウェアの価値そのものというよりは、その気になればこれらをいつでも使える状態であることに金を払っているような気分になる。フォトプランで十分なのでは説がまあまあある……。来年はそうしてしまいそうな気がする。

1年間分の権利に一発で数万円を払うという点に注目すると、最近の買い物のなかだと自動車保険が近くて、決済ボタンを押すときのエイヤ感みたいなのが似てそう。

車買った #la400k

型式 LA400K で知られる現行型のダイハツ コペン ローブ。選んだ基準は以下の通り。


自動車の所有に最初に関心を持ってからだいたい足掛け1年くらい、現行型コペンのカーセンサー新着を熱心に眺めるようになってから2ヶ月くらいでフィニッシュ。他に頭をよぎったカーとしては、ロードスター・ミニコンバーチブル・トゥインゴキャンバストップ・207CC・マイクラC+Cあたり。現実路線として屋根が開かないカーではスイフト・ヤリス・N-ONEあたりも眺めていた。

ディーラー試乗も一度やってみたけど、なぜか神奈川のオリックスレンタカーコペンを普通の料金で借りられるキャンペーンをやっていて *1、それで1日ぶん回せたのが完全に決め手になったと思う。

car.orix.co.jp

ここ半年くらいで都心からやや郊外に引っ越して、関東近郊・東京通勤圏内のベッドタウンでも意外と車社会やんけ!!ということを思い知ったのもアシストポイントだったような気がする、というか、それを狙ってもいたので予定通りではある。


良かった、というか背中を押してくれた記事たち。ゼロカウンタードリフトがどうみたいな話を見ていると、ジムカーナとかやってみないと損なのでは?という気持ちになってきてしまう。さすがにロールバー付けたりするところまではいかないと思うけど……。

response.jp

response.jp

www.itmedia.co.jp

ペダルカーでしょっていうコメントを見て笑ってしまったけど、キャラクター的には褒め言葉になってしまいそうな感じすらある。ペダルカーでスーパーに買い物行くぞ!ってなったら大はしゃぎだと思うけど、そういう感じで (?) そのへんに買い物に行くだけで楽しめる車だと思う。これで ADAS 付く改良が入ったら新車で買ってしまいそうな気がするな……。

*1:定期的に店舗ローテーションしてるみたいなので、リンク切れてたらコペン レンタカーとかで探してみてください