1クール続けるブログ

とりあえず1クール続けるソフトウェアエンジニアの備忘録

2024年2月の振り返り(雑記、読んだ本、etc..)

先月分

44smkn.hatenadiary.com

雑記

CASECを受けて英語力が伸びてないことが分かった

CASECという英語力を測るCBTを受けた。勉強時間が足りてないとはいえ、仕事の一部で英語を使い始めて半年ほど経っていた。流石に少しは英語力が改善されているであろうと見立てていた。
微々たる量ではあるが、語彙も増えたし、以前より聞き取る力もマシになっているはずだと。
見立ては甘かったようだった。TOEIC換算のスコアを出してくれるのだが、あろうことか約1年前に受けたTOEICのスコア以下だった。

ディクテーションは、正直スタサプENGLISHのTOEICコースの方がよっぽど難かしかった。そのため、解いている最中に余裕だなと思っていた。蓋を開けてみれば、ディクテーションが1番低かった。なんじゃそりゃ。

これからの時期はマネージャになって初の期末だ。更に新居の完成や引っ越しやらがある。今までのように朝の時間を英語に費やすのが難しくなるかもしれない。せめて英語力をキープできるように単語だけは続けておこう。

初めてのキャンピングカーでネコママウンテンに行ってきた

初めてキャンピングカーはとてもワクワクした。一種の夢…的な部分がある。あのテカテカした鉄のボディの中に居住空間が広がるアンマッチさが心をくすぐる。

ネコママウンテンは福島県にあるゲレンデである。旧猫魔スキー場と旧アルプ磐梯を連結して2023年に生まれ変わった。
越後湯沢のゲレンデの交通の便が良すぎるが故に(僕は)忘れがちだが、山なので基本的に車移動が最強である。車がないと中々行けないところも多い。ネコママウンテンもそんな場所の一つだ。

友達がキャンピングカーのレンタルとネコママウンテンのリフト券などがセットになった美味しいプランを見つけて誘ってくれた。本当にありがとう。 星野リゾート内にある温泉に入り放題だったのが大きい。

正直、行く直前はデカい車を運転する怖さが急に大きくなった。キャンピングカーのワクワクを上回る勢いだった。終わってみれば、他の2人があまりに頼もしくて運転はなんとかなった。

めちゃくちゃ楽しかったが、更に満足度を高めるために持っていくと良いものがあったので、ここに残しておく。

  • スリッパ
    • 床が冷たい
  • クラフトビール
    • 冷蔵庫が付いている
    • WCBのFresh Powderとか買って飲んだら多分エモい
  • ココアパウダー
    • 冷蔵庫ある故に牛乳も買える
    • 夜はココアが良いかも
  • 美味しいコーヒー豆
    • 途中でスーパーで買えることに期待するなかれ
    • 自分の好きな豆を買って持っていこう
  • 自前の暖かい寝袋
    • レンタルの寝袋は寒かった
    • キャンピングカー内の寝る場所によって温かさが異なる
  • 軽油を使った暖房の有無と使い方
    • 電力をもらえるのは2日目の夜からだったので1日目はかなり寒かった

理由あって動画編集に初チャレンジした

理由あって軽く動画編集をする必要が出てきた。
チャレンジ自体はとても楽しくて有意義だったが、成果物のクオリティは高くなかった。YouTubeやテレビの編集ってすごいんだなあと実感した。

こんなにも自分の結婚式のムービーを自分で編集しなかったことを悔やんだ日はなかった。まあ、それはそれでプロにやってもらったからこそのクオリティはあって良かったのだけれど。

最初は字幕をつけるだけのつもりだったので、iMovieだけでいけるやろ!と軽い気持ちで始めた。
作り始めてすぐに、字幕の位置を自由に変えられないことに気がついた。「もうちょい下に置きたいな…」と思ってマウスオーバーしてみるも1ミリたりとも動かない。
結局、一旦黒背景をバックにピクチャインピクチャで合成する。その状態で一度動画出力し、範囲を指定してクロップする。

また、そのまま素材を使うと制限時間オーバーすることに気づき、発言の中にあるつなぎのフレーズや沈黙を切っていく作業が必要になった。波形見つつ切って確認を繰り返した。

やっていくと徐々に凝りたくなってくる。
静止画を上に乗っけたいな…。keynoteで透過画像を作り、ピクチャインピクチャで乗っけようとすると…置けない。あれ…なんでだ?と思いつつ調べると、どうやらiMovieは2レイヤまでらしい。なるほど。
3つ以上のレイヤを重ねたいのであれば、一度動画出力して、それをインプットに新しいプロジェクトを作るしかなさそうである。

後は、ヨビノリが理系すぎる漫才をM-1後によく上げているが、あれと同じ構図を作ってみたくて、うっかり時間をかけてしまうなど。
同じ背景で立ち位置を別にして撮影して、iMovieのスプリットスクリーンで合成すればいけるやろと思っていたが、スプリットスクリーンは各動画の真ん中部分の切り取り固定らしい。ベースの動画の右半分とオーバーレイの動画左半分で合成するというようなことができず落胆。
結局、1枚のバーチャル背景を半分に分け、それぞれの半分の背景で撮影し、スプリットスクリーンで合成することで同じ空間にいるように見えるようにした。
ということで、これでいつでも SREすぎるウエストランド漫才 とか出来る(?)

Adobe Premiere Pro が必要な理由が分かった数日間のできごとだった。

読んだ本

2月は、新居に関する準備や英語の勉強中心にやっていて2冊しか読めていない

チームを動かすIT英語実践マニュアル

book.alc.co.jp

仕事において、主にインドネシアのメンバと英語で会話する機会がある。Slackはもちろんのこと、1on1などのミーティングもある。

リスニングも危うい部分があるが、Google Meetのcaption機能がいくばくかサポートしてくれるのでマシになっている。となるとスピーキングが問題だ。どうしても表現が出てこない瞬間があり、会話が少し止まってしまったり、自分の中からニュアンスが少し違う表現を引っ張ってきてしまうことがある。

この本は、ITの仕事をするうえで頻度の高いシチュエーションごとに、よく使う表現や会話例、瞬間英作文などが用意されている。即効性が高くて良い。

takeaways

  • フィードバック
    • I was concerned about ~ や I’ve noticed ~で気になる行動について説明し、Do you mind if I ask why? のように聞いてみる
    • How about~? で対応策を提案し、I’d like to see you -ing (あなたに~して欲しい)と確認の意味を込めて伝える
    • I understand that ~, but try to be aware of~ のように共感を交える
  • 1on1
    • How was your weekend? / Any plans for the weekend? のように聞く
    • How’s the current project going? のように相手独自の視点や考えを聞くことが重要
    • 相手の要望を聞いても即答できないことがあるので、そのときは Let me get back to you on that. と言って前向きに受け止めていることを伝える
  • 便利なフレーズ
    • on a side note: ちなみに
    • hold off: 延期する
      • hold off「より良い状況やタイミングを待つ」
      • put off「やる気がない、回避したい、または面倒だから後回しにしている」
    • it would be in one’s best interest to ~: ~するのが最善である
    • Could you elaborate on that?: それについて詳しく説明してくれますか?

持ち帰りたいものはたくさんある。 読み終えた今もたまに開いて、良さそうなフレーズやコツを思い出している。

心理学的経営: 個をあるがままに生かす

www.php.co.jp

今いる会社の創業メンバの1人である大沢武志さんという方が1993年に出版した本。会社の輪読会で取り上げられたので読んだ。今の会社のシステムのベースに活きている部分が多く、どういう背景から生まれてきたのか理解できたのが良かった。

心理学について全く知らなかったが、そんな自分でも分かるように書かれていた。 1993年時点での研究データだと思うので、現代において再実験した場合にどのような結果になるのかはすごく気になっている。

ちなみに、16Personalities testが MBTIとは別物であることに気がついたのは本書のおかげである。詳しくは、Q 06: MBTIと検索するとよく出てくる16Personalities testというのは、MBTIではないのですか? を参照のこと。

takeaways

  • 官僚性組織論に代表される合理的組織の考え方は、最も効率の良いシステムを志向する。ただし、これらは人間存在の重要な側面(無駄な情緒や感情を基底に持つ)を無視している。
  • 力に拠って強制しない限り、人々が現実に従っている拠り所になっているのはルールではなく、暗黙のうちに作られたお互いの合意であり、そこから生まれる規範(norms)
    • 集団で定められた規範が集団の生産性について事実上決定的な影響を持っている
    • 凝集性(集団のメンバをその集団に留まらせうる求心力)の高い集団は仕事における不安や緊張感が少ない
    • エンカウンター・グループによって、日常の職場で超えることが難しい心理的なバリアーをなくし、グループ内で感情や思考をさらけ出し自己受容につなげることができる
  • ハーズバーグの研究に代表される様々な実証的研究から、人々に強い職務満足をもたらすものは外部報酬ではなく、内的な達成要求や成長動機に根ざした主体的な行動である
    • 衛生要因と動機づけ要因
    • 衛生要因の劣位は不満につながりうる(会社の制度、給与、マネージャや同僚との関係etc)
    • 内的動機づけが高まる職務の要素をハックマンとオールダムは職務設計の次元として整理している(スキルの多様性・タスクアイデンティティ・仕事の有意義性・自律性・フィードバック)→ 大沢さんは3つにまとめている(自己有能性・自己決定性・社会的承認制)
  • 最も効果的な目標の水準は個人にとって成否の確率が五分五分のとき
    • 目標を与えられたほうが高い成果につながる(「できるだけ沢山」では成果は上がらない)
    • フィードバックにも似たようなことが言えて、最も効果的なのは中程度に遅い者に対して
    • また集団でも目標を持つこともモチベーションに大きく影響を与える
  • 組織活性化はカオスの想像、ゆらぎの創出が出発点である
    • 組織の内部にあえて不均衡を創出し、既存の秩序・規範を自己否定させる。そうすることで人々は不安と葛藤を感じる。この心の不協和を維持し続けることができず、これを解消しようとする。
    • カオスの演出でリクルートが使っていた方法は「採用」「人事異動」「教育」「小集団活動」「イベント」である
  • うまくいっている組織は管理者がリーダーシップを発揮しているか否かの差に起因するところが大きい
    • 日本でのリーダーシップ研究で4つの因子が発見された(要望性、共感性、通意性、信頼性)
    • これは山本五十六の「やってみせて(信頼性)、言って聞かせて(通意性)、させてみせ(要望性)、褒めてやらねば(共感性)人は動かじ」と符合する
  • パーソナリティテストのデータは、評価情報というより、本人の自己理解の促進や職場適応を援助する道具として位置づけられることが望ましい

気になった記事

AWS Introduces an Experimental Low Latency Runtime for Faster, More Efficient Serverless Apps

www.infoq.com

AWSがサーバーレス環境に最適化した、LLRTというJSランタイムをオープンソースで開発している。 Lambdaで動作させたときに、他のJSランタイムに比べて最大10倍以上速く、最大2倍安くなるらしい。

なんでそんなに速いのかというと、

  • コードとdependenciesを一つのJSファイルにバンドルしているので、ファイルシステムのlookupが走らないようになっている
  • AWS SDKをpre-package, precompile, preload しておくことで、アプリケーション開始時にファイルのロードと解釈をスキップする

LambdaをAWSサービス間のglueとして利用する場合に理想的なランタイムだそう。

カスタムランタイムとして提供されていたはず。 ただ、まだ安定はしていなさそうなのと、node.jsとcompatibilityがない部分があるので、現状使い所としては限られそう。 AWS内部ではこういったランタイムに対する大きな需要はありそう。

LLRTはRust製とのことで、AWSはFirecrackerといいすっかりRustの会社感がありますなあ。

Pinterest’s Transition to HTTP/3: A Boost in Performance and Reliability

medium.com

HTTP/3の情報をあまり追えてなかったので、この記事でキャッチアップした。そもそも、HTTP/3ってQUICをトランスポート層に利用したプロトコルだって知らなかった。 QUICの利点と混ぜて語られるので、ついでにQUICの復習にもなったかなと思う。

QUICで受けられる恩恵の他にも、大きなペイロードを扱う通信や輻輳制御における改善が入っているらしい。 Pinterestは画像多く扱うので、確かにクライアントCDN間のHTTP/3移行は効果ありそうだなあ。

CloudFrontでやろうと思うと、明示的にhttp3を許可する必要があるはず(デフォルトはhttp2)。後はモバイルアプリ側でライブラリのサポートだったりが必要なのかな?

HTTP/3の特徴を引用&メモ

  • No TCP head of line blocking problem in comparison to HTTP/2
  • Connection migration across IP addresses, which is good for mobile use cases.
  • Ability to change/tune Lost Detection and Congestion Control parameters.
  • Reduced connection time (0-RTT, while HTTP/2 still requires TCP 3-way handshakes).
  • More efficient for large payload use cases, such as image downloading, video streaming, etc.

Go 1.22リリース連載始まります & ループの変化とTinyGo 0.31

future-architect.github.io

GoがリリースされたらFuture Tech Blogを読む。

テストコードでよく、ループ変数が内部のクロージャから参照されるときに、 i := i を書いていましたが、それを書かなくて良くなったのは、common pitfalls が減って良かったのではないか。

まだ experimentalで入っただけだけど、range over function は使い所あるんじゃないかという気がするし、コードの可読性が上がりそうだなと思って期待している。 HTTPルーティングの強化もテストなどで役に立ちそうな気がしますなあ。 ちなみに、chiとgorillaとの性能比較結果は面白くて、それなりに大きいwebサーバを立てようと思ったらやっぱりchiを使うなと思いました。

2024年1月の振り返り(雑記、読んだ本、etc..)

昔、2週間に1回のペースで、読んだ本とか記事をまとめて感想をブログに書くという行為を試みた。しかし、3,4 回続けたところで頓挫してしまった。
1ヶ月ごとなら続けられるのではと思い、再チャレンジ。

雑記

「正解の無いクイズ」面白い

「正解の無いクイズ」というテレ東の番組が面白くて、U-NEXTで一気に観てしまっている。
U-NEXTは12月時点では登録してなかった。だが、トンツカタンが出ている有田ジェネレーションを観るために入会した。元々は1ヶ月でやめるつもりだったが、偶然見つけた「正解の無いクイズ」のせいで結局継続してしまっている。

加納さん・山添さん・呂布さんという、かなり僕得なメンツだった。短くて見やすいし毎回笑ってしまう。 深夜っぽい面子と内容だと思うんだけど(失礼)、なんと放送時間が夕方である。 地上波で実際に観たことはないので、未だに半信半疑。

加納さんで言うと「令和ロマンの娯楽がたり」でも、成立松していて惚れ惚れした。 実際に、くるまもサーヤ特番か何かで、「加納さんのおかげで番組が成立した」とかなんとか言っていた気がする。

以前に契約していたとき、U-NEXTは毎月ついてくるポイントが使い切れないという悩みがあった。 たとえば、スポーツ好きな人とかはSPOTV NOWとか契約するとちょうど良いらしい。ソースは内山昂輝の1クール。 僕はというと、NHKオンデマンドをU-NEXTから購読することで以前の悩みを回避した。書籍の方でたまにお世話になっている「100分de名著」を観てみようと思ったのがきっかけである。
個人的には維摩経の回が面白い。後、本にはない伊集院さんのコメント1つ1つが良い。

audibleを使い始めた

友達がaudibleで原著のハリーポッターを聴いてると話しているのをふと思い出した。
気になって、色んな本のサンプルを聴いてみると、「やはりプロはすごいな」と思わされる聴き心地だった。勢いでうっかり契約してしまった。

今は、だいぶ昔に読んだサピエンス全史を聴いている。やっぱり面白い。うっかり国立科学博物館に行って、地下二階をしっかり楽しんでしまった。

本では、あんまり興味ないところを読み飛ばしたりできる。だが、そういうのができないからこその良さが、朗読にはある気がする。多分。次は有頂天家族を聴こうかな。

日常をTODOリストにちょっとずつ支配させ始めた

「英語のボキャブラリービルディング」「ビタミンDのサプリ飲む」「筋トレ」など、習慣づけたいものがある。しかし習慣づかない。単語帳を何周もして、ちゃんと使い込むという経験をしたことがない。

新年に起こりがちな「今年は変わるぞ」という気持ちが、例年同様に今年も沸々と湧いてきた。その気持ちのまま、Google Tasksに日次でやりたいことを突っ込んだ。正直あまり効果が出るとは思っていなかった。以前に何回もやって続かなかった手法だったからだ。

しかし今回は違った。これは、Google Tasksが仕事でも使っているツールであり、消化しないとという気持ちが自然と働くようになったからだと推測している。

1-2月は登記や太陽光発電の申込などの新居関連のタスクも出てくる頃だったので、役に立っている。

読んだ本

正月の休みを活かしつつ、今月は4冊読んだ。

イシューからはじめよ

www.kinokuniya.co.jp

本の終盤でも語られていることではあるが、理解できるが実践が難しいような印象はある。

イシューの見立ては難しい。試しに火災保険を選ぶ上で「契約を結んだハウスメーカーと提携している火災保険よりも、大幅にリーズナブルで信頼性の高い保険があるのではないか」と見立ててみた。教科書どおりにスタンスを取りつつ、常識を否定する形で置いてみる。
ただ、スタンスを取ると確証バイアスが働いてしまうのか、致命的な見逃しをしてしまっていた。しっかり見直すと、結果的には「契約を結んだハウスメーカーと提携している火災保険の方がリーズナブルで信頼性や手続きの煩雑さの点でも十分である」という結論になった。

失敗だったなと思ったのは、リスク低い補償は削っても良いんじゃないかと思い調べていたが、リスク低いものは保険料も低いのでそこまで重要ではなかったということだ。これはサブイシューの洗い出しのミスだったかもしれない。

takeaways

  • 「イシュー度」の高い問題を絞り込み、時間を浮かせ、解の質を高めていく
    • イシューの見極めには「実際にインパクトがあるか」「説得力あるかたちで検証できるか」「想定する受け手にそれを伝えられるか」という判断が必要
    • サブイシューを洗い出す際には「何がわかればこの意思決定ができるか」という視点で見る
  • 解の質を高めるために作業が、「ストーリーライン」づくりとそれに基づく「絵コンテ」づくり
    • 「仮説がすべて正しいとすれば」という前提でストーリーを作る
    • 論理的に検証するストーリーを作るときの型は「WHYの並びたて」「空・雨・傘」
    • 「空・雨・傘」は馴染みのあるパターン。「雨 = 課題の深掘り」がカギとなる洞察である
  • 「聞き手は完全に無知だと思え」「聞き手は高度の知性をもつと想定せよ」
    • 「賢いが無知」というのが基本とする受け手の想定
    • デルブリュックの教え

DNSがよくわかる教科書

www.sbcr.jp

DNSを雰囲気でしか分かってなかったので読みました。
これに関連して WindowsのChromeやEdgeでネットにつながりにくくなる現象、一部の家庭用ルーターが原因かも? という記事を読んだが面白かった。ホームルーターの性能も重要なんだなあ。

takeaways

  • 主要なTLDで利用されているレジストリ/レジストラモデル
  • スタブリゾルバ / フルリゾルバ / 権威サーバの関係
    • Iフルリゾルバは通常ネットワークを限定して提供される(例えばISP)が、Google8.8.8.88.8.4.4 、そしてCloudflare 1.1.1.1 などは公開されている
    • 更にスタブリゾルバとフルリゾルバの間で問い合わせと応答を中継するフォワーダという要素がある
    • 身近なフォワーダはホームルータでISPのフルリゾルバに転送する(結果をキャッシュする)
  • CNAMEに設定したレコードには別のタイプでレコードを作れない
    • なのでzone apexのレコードでCNAMEレコードは作れない

GitLabに学ぶ 世界最先端のリモート組織のつくりかた

www.shoeisha.co.jp

特に、コミュニケーションガイドラインは、一部には根拠となる研究や調査が示されているというのもあり、定期的に見返したいくらい良い。

もしかしたら色んな既存の本に同じような内容が書いてあるのかもしれないが、それが現実にある成功している企業の実践として見ると素晴らしく思える。自分としては、そもそも関連する領域の書籍をあまり読んだことがないのもあり新鮮さもあった。

Valuesにあった “Short term critical, Long term optimistic” は座右の銘にしたいくらい好き。

takeaways

  • 前向きな意図を想定する - Collaboration
    • 他人の行動に対して無意識にアンフェアな判断を下してしまうようにできている
    • 根本的な帰属の誤り(Fundamental attribution error)
  • 創業者のように振る舞う - Collaboration
    • 自分の責任を軽くするためにコンセンサスを取ったり、自分一人でできることを無駄に遠回しにしたりすることはコラボレーションではない
  • ミスを許容する - Results
    • あらゆるトラブルに対して、必ずしも新しいプロセス(再発防止策)を用意するべきではない
    • 新しいプロセスを追加すると、そのプロセスを活用するすべてのアクションが非効率になる
  • 組織の中でValueが重要な扱いをなされていることを組織の構成員が実感できなくてはいけない
    • crucial conversationを行う際のポイントをValueに紐付ける
  • 他にも色々ある…

改訂新版 書く技術・伝える技術

www.asa21.com

レバレッジを高めるためには、ちゃんと文章が書けなきゃねと思い読みました。実際、割と苦手意識がある。

理解はできたが実践までの距離がちょっと遠い本で、ちょっと長めの文章を書く機会があれば、本を読み返しつつ実践していくのが良さそう。

takeaways

  • 読み手にできるだけ明確なメンタルモデルを作らせる
    • ポイントとなる情報を先に述べ、読み手の予想通りに文章を展開するか
  • 各パラグラフ冒頭の要約文だけを拾い読みしても意味が通るようにする
  • 若干くどくても既知の情報を文頭に置き、既知から未知の流れを作る
  • ひとつの文ではひとつのポイントだけを述べる
    • 並列を表す「〜て」「〜り」「〜し」「〜が」などの接続助詞を使うな

気になった記事

10 unexpected ways to use GitHub Copilot - The GitHub Blog

github.blog

自分が所属している組織ではGitHub Copilotを利用することができる。
10月からマネージャになったため、コードを書く作業から少し縁遠くなってしまった。Copilotもあまり使う機会はないかなと思っていた。
しかし、記事を読んだところ、思っていたより多岐にわたってサポートしてくれることがわかる。

GitHub Copilot in the CLIGenerate documentation for your code がいい感じ。現在Betaで提供されているEnterpriseの機能も良さそう。

SRE Governance - Site Reliability Engineering Leadership

medium.com

この記事は2020年に書かれたもの。 SRE Weekly に載っていたので読んだ。
authorはEpam Systemsという会社でSREのチーフテクノロジストをしている。以前はFacebookでSREのLeaderをやっていた人みたい。

ざっくり言うと、「SREと各チームのシニアエンジニアを集めて、CoE(Centor of Enablement)グループを作る。」「そして、SLO ReviewやProduction Readiness Review etc…を定期的に行う。」 というのが紹介されている。

SREだけで各種レビューするのは、難しい面があると常々感じている。また、各開発チームの横の繋がりを作る機会も増やせたら良いとも思っている。このアプローチはそれらの点に対する1つの解になっている。

SLO ReviewやProduction Readiness Review の他にも、Tool Standardization やら System Critical Dependency Review やらが紹介されている。
正直「多すぎないか」と思うけれども、Facebookくらい大きい会社だと、このくらい必要なのかもしれない。あるいは、中規模でも必要で払うべき時間と労力なのに、それが現状できていないのかもしれない。

OpenTofu 1.6 General Availability: Open Source Infrastructure as Code - THE NEW STACK

thenewstack.io

terraformのライセンス変更から生まれたOSSがついにGAになった。
MPL v2.0からBSL v1.1 へと変更し、私たちのようなエンドユーザには影響がないが、競合する提供を行うspaceliftなどの企業が影響を受ける。

この影響がどのくらいあるのか推測できなかったが、Open Source in Numbers: The Terraform License Change Impact on Contribution いわく、community PRの割合は減少傾向にあるようだ。

OpenTofuに利用を切り替える可能性というのは高くないと思うが、注視はしておくべきかもしれない。
ちなみに、最初はOpenTFの予定だったらしいが、商標権の侵害にあたる可能性を恐れてOpenToFuになったらしい。日本語話者にとっては馴染み深くて良い。

2023年に読んだ本を振り返る

年末なので年末っぽいことを書いてみるかと思い、今年読んだ本を振り返ってみることにしました。今年ちゃんと読んだ本は20冊らしい。
本のハイライトなどを読み返すと、忘れてしまっていることがほとんどなので、たびたび読み返すような習慣をつけたい。

積読が増えていくスピードの方が速いので、来年は倍の40冊くらい読めたら良いなあ。

日本人のための第一次世界大戦

www.kadokawa.co.jp

コテンラジオを熱心に聞いていた2021年頃に既に買っていた本だが、10%くらい読んで放置していて、ネスペの勉強から逃げて読んでるうちに読了していた。

背景にある、技術の発展をきっかけに起こった識字率の高まりやメディアの進化、兵器産業の国際化含むグローバリゼーションについての説明のボリュームがしっかりあって、当時あった事象について1つ1つちゃんと腑に落ちていく感覚があった。

余談だが、王立造幣局長として唐突に出てくるニュートンにとても驚いた。昔の人って本業がなんなのか分からないことが多い。モールス信号作った方も画家らしい。

31章あたりからかなり辛い話になってくる。
多くの死者を出したソンムやパッシェンデールの戦いもそこに含まれている。

日本も一部この戦争に参加していて情報収集もしていたにも関わらず、なぜ太平洋戦争が起こってしまったのか、なぜ補給を易々と補給を断たれてしまったのかと考えさせられる。

また、最初から読み返したくなってきた。

「ツキュディデスの罠」は一生言えない。

実用Go言語

www.oreilly.co.jp

3ヶ月ほどSREチームを離れて、Go言語でアプリケーション開発を行うチームに参加した。そのため、情報のアップデートという目的もありつつ読んだ一冊。

実装を行う中で迷いがち/悩みがちなポイントについて、どのような選択肢があるのか、どういった基準で実装方法を選択していくかという基準が明らかになっていて良かった。

Goらしいプログラミングの方法とは?といつも悩んでしまうので、コーディングするときに横に置いておきたい一冊。

OSSでよく見るが、どういった目的で実装されているか分からないものがある。今はGPTがあるので困らないかもしれないが、検索エンジンだけでその情報にアクセスするのは大変だったりする。
Tipsが体系化されて書籍になっているおかげで、助かっている面がある。

例えば、ブランク演算子によるダミー変数宣言を使って構造体がインタフェースを満たしているか確認するテクニックも今回理解できた。

テクニックだけでなく、ドメインで先に分けるか?レイヤーで先に分けるか?といったような議論もあり、興味深かった。
昔はJava書いていたこともありレイヤが先と思っていたけど、ことGoにおいてはドメインを先に分けるのが良いんだろうなと思っている。
小さいツールみたいなのは、きっとフラットで十分だろう。

「100分de名著」ブックス 新約聖書 福音書

www.nhk-book.co.jp

旧約聖書の話は色んな創作物の元ネタになっていたりするのて知る機会が多いけれども、新約聖書はほとんど知らないなと思い手に取った。

4つの福音書がそれぞれイエスの伝記になっていて(かつMECEでない)、それらをマージして語ってくれているのでおそらく読みやすくなっているはず。

実は新訳聖書も創作物の元ネタになっていることを知れた。
例えば、東方の博士(カスパー、バルタザール、メルキオール)とかはそう。

聖書の中の物語を通して、全員が神の子で平等であることをよく語っている印象を受けた。混血ゆえに迫害を受けていたサマリア人の話やファリサイ派の話あたり。
当時、ユダヤ教において救われなかった人から魅力的に見えるのがわかる気がしてくる。

全体的に、紹介されてるイエスの言葉をどう解釈するかが難しいように感じられた。
この本のように一本「コトバ」という軸や背景にある考えを元に説明がなされると理解に近づける気がするが、そのまま福音書を読んでも??だったと思う。

例えば、ユダに対しての「人の子を裏切るその人は不幸である。むしろその人は、生まれなかったほうがよかったであろう」 の部分がそれにあたる。

プロテスタントの中に多くの教派があるのは、解釈の難しさに起因していたりするんだろうか。

高校時代に 1週間オーストラリアに行ったときに、ホストファミリーに教会に連れて行ってもらったことがある。
その時にパンの耳と水を口にしたが、あれはイエスの言うところの「わたしの体」「わたしの血」であったんだなと今更ながら気づいた(本来はぶどう酒だけど)。

進化とは何か:ドーキンス博士の特別講義

www.hayakawa-online.co.jp

サピエンス全史が面白くて、人体600万年史を読み始めたものの長すぎて途中で放り投げてしまった僕が「短くて読みやすいものはないかな」と思って手に取った本。実際短めで読みやすかった。

デザノイドの説明などで写真が結構出てくるので、カラーで見たかった。
本のベースはドーキンス先生による講演だったようなので、現代にいい感じの編集で蘇ったりしないのかなと思ったりする。

自然選択の話が主流にあるが、合わせて人為選択(選択交配)の話も出てくる。ダーウィン種の起源は人為選択の話から始まるらしい。

ドラゴンクエストモンスターズ世代なので、選択交配は身近な概念だったはずだが、現実の選択交配の話はなかなかショッキングだった。
例えば、ブルドッグは、頭が大きくなりすぎて自然分娩できないので、必ず帝王切開で生まれてくる。つまり人類が絶滅したら必ず一緒に絶滅する。残酷という言葉で片付けるのは違うと思うが、なんとも言えぬ気持ちになった。

創造説はやはり根強い部分があるのか、この本の中でも登場し進化論との比較がなされる。
日本では創造説を信じている人はそんなに多くなさそう(?)だが、海外では一定数いそう。
実際 Netflixで配信されているlove is blindに出てきた敬虔なカトリック教徒の方も創造説を信じていた。

色んな生物の自然選択ついて知ることができた。
こうなってくるとヒトの自然選択も詳しく知りたくなる。
人体600万年史読むの再開しようか。

エンジニアリングマネージャーのしごと

www.oreilly.co.jp

会社で輪読会があると聞いたので、当時はマネージャというロールではなかったが、参加することを決めて読み始めた。
10月から実際にマネージャになって3ヶ月経った今ちょうど読み返している。

HIGH OUTPUT MANAGEMENTを読み比較して思ったことは、この本はやはりタイトル通りエンジニアリングマネージャのために書かれたもので、一番実践しやすい形になっているなと思った。
3ヶ月周期くらいで読んで、少しずつプラクティスを実践していくのが良さそう。

読んだ人のほとんどが、冒頭の「よろヒヒーン」が引っかかって、一旦そこで手が止まると思う。
原著だと "Hello, new neigh-bor!" になっているらしい。neighは馬のいななき。なるほど。

ぜんぶ絵でわかる1木造住宅

www.xknowledge.co.jp

注文住宅を建てるとなったときに、「設計士さんとの共通言語を手に入れるぞ!満足できる設計にするぞ!」と息巻いて買った。
読み始めて気づいたのは、メーカーあるいは工務店選びの段階で手に入れておくべき情報であったということだ。

立面から考えるというのは正直できてなかった。どうしても平面の間取りから考えがちになる。

実際、屋根に乗せる太陽光パネルを具体的に考えたときに、北側斜線とモダン(?)な屋根形が原因で予測よりパネル数が乗らないというのが発覚したりした。

もし別のメーカーを選んでいたときに、目標となる断熱性能を目指したら窓が少なくなるというのも十分考えられた。

とはいえ、住宅の建主としてはtoo muchだなと思う部分も多くあったので、もうちょっと易しい書籍があったらそっちを読んだほうが良かったかもしれない。
絵がかわいい。

はじめての英語史

books.kenkyusha.co.jp

これは、ゆる言語ラジオの影響で買った本だったと思う。
英語を勉強していて直感的じゃないなと思うことが多々ある。例えば、三単現のsとか冠詞のa/anとか。母音の発音とか。

それらがどう形成されていったかという過程はとても面白い。

これを読んで得られた1つのレンズとして、「なぜ母音の前の冠詞はanになるのか」ではなく「なぜ子音の前の冠詞がaなのか」というところに注目するというもの。
人に教えるとなったら、共時的な視点から、説明の経済性の高い例外ケースの少ない方(つまり母音の前のみanになる)で教えるが、そこに通時的な視点を持ち込むことで理解に深みが出る。

フランス語やラテン語から借用された言葉は傾向としてフォーマル寄りであるという、今後も活かせそうな情報も全然ある。

もう一冊くらい似たような本を読んでみても良いかもしれない。

大母音推移許せない。

ざっくりつかむ CSS設計

book.mynavi.jp

図書館に行って偶然見つけたので借りて読んでみた。
ずっと雰囲気でcssでやっていたので体系的に勉強してみるかという思いもあった。

実際にチームで開発するときに、どういう方法で保守性の高いCSSを書いていくかという観点は、結構抜けていたかもしれない。
BEMのルールやnormalize.css、marginの相殺など基礎的な部分から知れたので自分のレベルに合っていた。

エコハウス超入門

www.kinokuniya.co.jp

これも、ぜんぶ絵でわかる1木造住宅 と同じようにいざ注文住宅を建てるぞというときに買いました。

夏と冬で目指す室内の温度と湿度を定義しているところから始まっているのが良い。

湿度に関しては、ダニが繁殖するか否かという視点しかなかったが、喉の乾燥によってウイルスが繁殖しやすいか否かという視点も提示されており勉強になった。難しいのは、前者は相対湿度で後者は絶対湿度に左右されるという点らしい。

家の断熱性能というのは重要なのは前提とした上で、シェードが最強だなとこの書籍を読んで思いました。庇もいいが、3月寒いのに日が入ってこない or 9月暑いのに日が入ってくる みたいになってしまうとのこと。

実際にシェードをつけようとなると、外観に影響があるとかなんとかで設計士さんや営業さんから反対を喰らい、暗澹な気持ちを抱きつつも押し通して見積もりしてもらいました。

蓋を開けてみるとシェードあまりに高かったので諦めざるを得なかったというのがある。

世界が広がる 推し活英語

hon.gakken.jp

MASCARAをきっかけに、去年の夏くらいからXGを聴くようになっていたが、1年前のcypherあたりからよりハマっていった。

DMM英会話でXG好きなインドネシアの先生に会ったが、全然うまいように喋れなかったのがショックだったのが確か買ったモチベーションだったかな。

crushって恋心とか憧れという意味があるんだって知った。ガルクラってそこから来てるのかな。 crush-worthyでリアコ枠らしい。リアコ枠にちゃんと対応する英語あるのすごいな(逆か?)。

ついてきた音声の日本語読み上げが悠木さんでびっくりした。

high school AUで学パロらしい。

インドネシア ――世界最大のイスラームの国

www.chikumashobo.co.jp

チームにインドネシアのメンバがいて1on1で話しているとどんどんインドネシアに興味が出てきて読んだ本。 特に宗教周り。

祝日は各宗教に関連する日が混在した状態になっている。ブッダの生誕記念日もムハンマド生誕祭もクリスマスのお休み。ヒンドゥー教に関するものもあったような。

インドネシアの国民の大多数はイスラム教徒ではあるものの、(アチェ特別州除いて)シャリーアを国法として定めず、各宗教が調和的に共存してきた。 それを支えてきたのは、スカルノ大統領が提唱したパンチャシラの精神である。

国が国としてまとまるためにはアイデンティティ(人種やら言語やら)が必要というが、それがパンチャシラなのかなという気がした。

ちなみに、日本での神仏習合と同じように、土着の文化との融合があるらしく、例えばイスラームの教えとはかけ離れた先祖崇拝という伝統が存在したりするらしい。

そこからのスハルト大統領の独裁とその後の戦闘的なイスラーム運動の展開の歴史も興味深かった。

不老長寿メソッド 死ぬまで若いは武器になる

kanki-pub.co.jp

自分の自己認識年齢はずっと25歳で止まってしまっているが、実際は30歳を迎えているので、そろそろちゃんと考えないとと思って読んだ。

著者のブログは結構有名で、ほぼ毎日くらいのペースで論文のサマリーをアップしていてたまに読んでいた時期があった。

ホルミシスが重要なんだという話が最初にあり、それをベースに後続の内容について考えられるのが良い。
ここに出てきたパスツール先生にまさかビールの教科書で再会することになろうとは。

運動不足極まる在宅勤務生活を続けている身なので、NEATやHIIPAを増やしていかねばなあと思いつつ、最近だんだんまたやらなくなってきてしまった。定期的に読まないと意識がどんどん下がっていく。

レチノールも買ったが思い出したときにしか付けなくなってしまった。
保湿剤は以前より自分の肌に合ったものを採用できるようになったのはいい話。

本当に行動を習慣化するのって難しいよなあ。

エンジニアのためのドキュメントライティング

pub.jmam.co.jp

ドキュメント書くという営みはソフトウェアエンジニアとってすごい大事と考えている。APoSDでもコメント/ドキュメントに言及されていた部分に関して自分も同意。

の割に、「ドキュメントをどう書くべきか」「どう書くとより良いドキュメントになるのか」という部分に、自分はあまり目が向けられていなかったように思うので買った。

読んだ後に、再度OSSSaaSのドキュメントを読むと、書いてある内容がちゃんと実践されていると感じるものもある。そういったものはやはり読みやすい。
プラットフォームの提供も行っているチームなので、開発者に対してドキュメントを提供することが非常に多い。

より機能するドキュメントを作れるように、要点読みながら実践していくというのをやらねばいけない。

ビールの教科書

bookclub.kodansha.co.jp

前半のパートが非常に面白くてハイライトだらけになった。

ビール工場って行ったことがなくて知らないことが多くてとても興味深かった。
なぜ麦芽にする必要があるのかというくだりは唸りながら読んでた。麦に春が来たと錯覚させてでんぷんを低分子に分解させて酵母に食わせて、アルコールと炭酸を作らせてるっていうね。

発酵が酵母という微生物の働きであることをつきとめたパスツールさんには足向けて寝られない。
ちょっと前の本だからというのもあるかもしれないが、ドライホッピングについて触れてくれているとより嬉しかった。

ビールうんちくおじさんにならないように気を付けている。

経理以外の人のための日本一やさしくて使える会計の本

d21.co.jp

マネージャになったことで、自分の業務の中に管理会計に関わることが入ってきたし、会社全体の方針についてのインプットをよりしっかり咀嚼する必要が出てきた。

読み始めたとき「優しすぎるか?」と一瞬思ったけど、序盤だけだった。自分の知識が足りてなさすぎて丁度良い本だった

深く掘り下げ過ぎず、平易な言葉で書かれていて、さらっと読めたのが良かった。

いかに自分のもとに動かせるお金があるのが重要かというのが分かっていなかったし、債務超過が (上場企業を除いては) クリティカルでないことも知らなかったし…。

「100分de名著」ブックス 維摩経: 空 と慈悲 の物語

www.nhk-book.co.jp

大阪旅行に行くときに四天王寺に行くことになったので、聖徳太子ゆかりの維摩経について調べていくかと思い読んだ本。三経義疏という日本最古書かつ仏典注釈書で、維摩経を取り上げているそうな。
如是我聞で始まらないお経という点にも惹かれた。

もし舎利弗(釈迦の一番弟子)のファンとかだったら、解釈違いで読めないかもしれない。

維摩にいろんな菩薩や釈迦の弟子たちがことごとく論破されていく形になっていて、その問答を通して「空」や「在家のまま悟る」など大乗仏教で重要とされる教えを説くという形になっている。

基本的には維摩の言うことには、「二項対立構造からの脱却」等うんうんと頷きながら読むことになるのですが、一点だけ「妻や愛人や遊び女のあることも隠さず、かつ情欲からは遠ざかっています」のとこだけ、「どういうこと??」となってる。歴史的な背景を知るとまた変わってくるのかな。

最後の維摩の正体が明かされるところ最高だった。 そういえば、「大乗仏教ってパラレルワールドだった…!」てなった瞬間よ。

最高の香りに満ちた仏の国「衆香国」気になる。

問いかけの作法

question.mimiguri.co.jp

読んだからといって直ぐに実践できるかというと難しいように感じてしまった。 他の人がやっているのを見て、本に出てきたパターンのどれに当てはまりそうかな?と考えたりするのは直ぐできそう。

4つある問いかけの基本定石全てを意識するのは難しいので、1つずつ取り上げて、それを達成しようとしてみるのが良いのかな。
適度に制約をかけるというのに一番苦手意識があるが、これをやって議論が進むことが多いように感じるので克服したいところ。

基本定石4つ目に関しては、「開発生産性」「認知負荷」とかマジックワード的になっている言葉あるよなあと思ったりした。

例えば、僕たちは開発プロセスにおけるどの部分のアウトプット / インプットを最大化したいんだっけを明らかにする問いかけが必要なんじゃないか、と読みながら思った。

質問を組み立てるときには、自分の芸風を理解する必要があると。分かるが、自分の芸風とは一体…。

ネタ番組みたいにキャッチコピー付けたら、自分と他人の認識が一致しやすいんじゃないかと思った。
トム・ブラウンの「戦慄の豪腕カオス」ていうキャッチコピー好き。

HIGH OUTPUT MANAGEMENT

bookplus.nikkei.com

隣の事業で輪読会やるとのことで声をかけてもらったので参加してきた。
初版が1983年とは思えないほど、今読んでも古いとは感じない内容ですごい。

エンジニアリングマネージャのしごとは結構この本の影響を受けている。タスク習熟度の話は移譲の物差しの話に通ずるし、マネージャのアウトプットについての言及もそう(マネージャーのアウトプット = 自分の組織のアウトプット + 自分の影響が及ぶ隣接諸組織のアウトプット)。

ドルマネージャに向けて書いている本。まさに現在の自分の立ち位置なので刺さる。

生産性

www.diamond.co.jp

友達におすすめしてもらって読んだ本。めっちゃ良かった。要点抑えてすっきり書いてあった印象で非常に読みやすかった。
これも主にはミドルマネージャに向けた本だと捉えている。
刺さる部分が多かったのでこの部分だけ書き散らし感が他のところより大きい。

マクロな視点で見るとどんどん労働人口が減っていく日本、小さいところで見ると育休などで長期的に労働力が減ることがある。生産性を上げたり不要な仕事を削っていかないと今まで同じアウトプットは出せない。

自分の会社も1ヶ月くらいお休み取れる制度があったりするし、人材の流動が多い業界ではあるので、そういったタイミングでどのようにアウトプットを維持するのかという問いから逃れることはできない。

生産性の定義とそれを上げる2つの方法、成長とは生産性が上がることである、というところからスタートしている。

量のコントロールを最初にやっても仕方ないというのは、本当にそうだなと思った。残業時間を制限するとか、会議を短くするというのは、生産性を向上した結果であるべきだ確かに。でも今まで普通のことのように受け入れてしまっている自分がいたかも。

人数の多い戦力外中高年を諦めず期待して育成するんだというメッセージも刺さった。おそらく自分は、ピーターの法則にぶつかって将来的にそこに行きそうだなと思っているのもある。

マネージャの仕事もソフトウェアアーキテクチャと同じでトレードオフの中に身をおいて判断を下すことなんだと。

自分のマネージャがマネージャの業務をSREingに例えてくれたことがあったが、抽象化していくと似通ったものを見つけてそれが理解に繋がっていくので、今まで自分が身を置いていた領域とマネジメントの共通点を見出していくのが良いのかもしれない。

後半は資料作成や会議の進め方など具体的な生産性向上の話に触れつつ、いろんな業務に応用可能なコアの部分を伝えている。

ちなみにクリオロという有名なケーキ屋さんにクリスマスケーキを買いに行ったときに、1時間半並ぶことになり、その時間でこの本の後半をガッと読み切った。

良い戦略、悪い戦略

bookplus.nikkei.com

下半期のチームの戦略を立てるときに頼りにした本。

伝えたい内容に比べて本のボリュームが大きいように感じられるかもしれないが、紹介されるそれぞれの事例が興味深くて面白い。

単純かつ明快な戦略が良い戦略である。状況を完全に把握することが戦略の肝であり、3つの要素、診断・基本方針・行動で構成されるカーネルを仕立てるのが重要であると。迷ったときはカーネルに立ち返る。

仕事でいざチームの戦略を立てるぞと思って最初に作ったものは、現状の分析が足りてないいわば地に足のついていないものだった。上司にそれを指摘いただいて、この本をおすすめしてもらった。

紹介されるそれぞれの事例で言うと、例えばCiscoNVIDIAスターバックス、宇宙開発の話などが出てくる。第一次世界大戦のソンムとパッシェンデールの戦いもだ。

44smkn Bi-Week in Review - December 26, 2022

AWS Week in ReviewとSRE Weekly読んでて、自分の備忘録用のメモもこんな感じにまとまっていると良いだろうかと思い、試してみることにしました
44smkn Week in Review - November 14, 2022 - 1クール続けるブログ 1週間に1回こうやって振り返る機会を設けるのが理想なので、来週はちゃんと1週間に1回のペースに戻したいところ。

今週は、初めて奈良に行ってきたけど凄く良かった。お寺は仏教に関する解像度が上がると楽しくなる。
法相宗の本尊は唯識曼荼羅もしくは弥勒菩薩のはずだった気がするけど、なんで興福寺は釈迦如来なんだろう?」みたいな疑問を持ちつつ見るのが良い。
天はインド(バラモン教?)の神様が仏教に帰依した姿と知って仏像を見るのが楽しくなった。仏じゃないから仏像とは言わないのかな。
天は六道で言うところの天道にいて、悟りを得たわけではないので輪廻転生するらしい。
2,3 冊しか仏教に関連する本は読んでないので、もうちょっと読んで知識を付けたい。

そういえば、なんであんなにカジュアルに鹿いたんだろう…。
鹿と鹿の糞を避けるのに必死で、あんまりちゃんと南大門を見れなかった気がする。

Article

Amazon EKS add-ons: Advanced configuration - AWS

CNIとかkube-proxyの管理ってArgoCDでやるべきなのか EKS Add-ons でやるべきなのか悩む部分があり、特にEKS Add-onsは公式サポートなので安心感があるものの、環境変数などの設定がterraformのコード等で管理できないのが微妙だなと思っていました。
このアップデートによりEKS Add-onsの詳細な設定がterraformで管理できるようになったようです 👏

terraformで詳細な設定を行うためのinput parameter:
https://registry.terraform.io/providers/hashicorp/aws/4.48.0/docs/resources/eks_addon#configuration_values

見せてやるよ、EventBridge の本気ってやつをな / The art of EventBridge - speakerdeck

EventBridgeの設計の方向性が網羅されていたのが良かったし、Schema周りのサポートにこんなに力を入れているのは知らなかった。
AWSのeventを拾って何かを処理を動かすというのはやったことがあり既に良さを感じている部分ではあるが、自前でスキーマを定義して各サービスの連携に利用するというのにも良いのではないかと思った。
EventBridgeでなにか困ったらここに戻ってこようと思える綺麗でまとまった資料。ありがたい…!

Kubernetes v1.26: Electrifying - kubernetes.io

Kubernetesのv1.26がリリースされましたね。
自分が気になるところで言うとこの辺ですかね。

ChatGPT: Smart, but Not Smart Enough - New Stack

Temporary policy: ChatGPT is banned にあるように、StackOverflowは、ChatGPTの正答率が低いことを理由に、ChatGPTで作成された回答の流入を減速させるため、一時的にChatGPTを禁止しているとのこと。
今のところは、プログラミングにおいてChatGPTに依存してはいけない。現実のコーディングや安全なプログラミングには十分ではないとのことだった。

HashiCorp Consul Introduces New Sidecar Model for Kubernetes Deployments - InfoQ

HashiCorpのConsulをkubernetes上にデプロイする際に、Consulクライアントエージェントをインストールするのではなくsidecarの injectになったみたい。
こちら調べたときに、 日本でも今年の11月くらいから、HCP Consulの提供が始まっていることを知りました。
control planeのお世話をしたくない人たちにとっては、Service Meshの一つの選択肢になりそう。
強みとしては、AppMeshと同じようにk8sクラスタ以外のECSやEC2に関しても統合できる点かなと思います。
(まあでも、k8sだけを考えたらIstioに乗っかるのが一番な気もする…)

[レポート] Amazon EKS の最新情報とロードマップ #CON205 #reinvent - クラスメソッド

動画: https://youtu.be/4TXZQg-WW4o
気になった今後のリリースで来るだろうもの

  • IAM cluster access management
    • status: Coming Soom
    • 現在のConfigMapによる管理はbrittle(脆い)であるため、EKS APIで認証認可の機能を代替する
  • Simplified IAM Roles for Service Account
    • status: Working on it
    • IAM Roleのtrust policyを複数のクラスタから利用する場合の設定がシンプルに
    • IAM Roleのmappingをannotationに書くのではなくEKS API経由で集中して管理できる
  • Support for Amazon VPC Lattice
  • Managed Karpenter
    • status: Working on it
    • EKSからより使いやすいようにしたい(karpenterをデプロイするためにはまずノードが必要という鶏卵問題が発生するので)

既に実装済のものではあったけど、2022年にclusterのscaleを強化したという話は凄く嬉しかった。 あと、 karpenterにnativeのnode termination handlingが追加されているとはね。

Book

再読 - 別冊NHK100分de名著 集中講義 大乗仏教 こうしてブッダの教えは変容した

真言宗の総本山である東寺と華厳経の世界観を表した奈良の東大寺に行くにあたり、初期仏教と般若経法華経華厳経の概要や違いを説明しているこの本を読み返さねばと思って再び手に取りました。
般若経の「前世にブッダと出会い誓願を立て既に菩薩となっている」という考えや、法華経の「初転法輪は方便ということにして、第2の初転法輪が実はあったことにする」というのはやはり興味深いなと思います。
読み返しても華厳経の世界観は難しくて良く分からないなと思います。浄土教もそうですが、昔からパラレルワールドという概念があったというのはびっくりですね。
本の最後の方に禅宗が載っているのですが、「坐禅だけではなく、掃除をしたり食事を作ったりという日常行為全てが修行」という価値観が、なんとなく「洗濯物干すのもHIPHOP」に通じるような(通じません)。

44smkn Bi-Week in Review - December 12, 2022

AWS Week in ReviewとSRE Weekly読んでて、自分の備忘録用のメモもこんな感じにまとまっていると良いだろうかと思い、試してみることにしました 44smkn Week in Review - November 14, 2022 - 1クール続けるブログ

先週書けなかったので、2週間分ということで Bi-Week と銘打ってみた。英語的に正しいのかは怪しい。
ゆるくやっていくので1週飛んだって良い。続けるのが大事。
ブログに書いていると個人的に見返す回数が増えた気がして、記事読んで満足した気になってそのまま忘れていくより全然いいので、できれば続けていきたい。

すごく温かい気候が続いていますが、積雪の予報としては平年並みらしくチャンスがあればスノーボード行きたい。
今持っているボードより、もうちょいグラトリに向いているボードを買いたくなったが、調べると結構値段するので腰が引けてきた。

Article

How Service Tiers Can Help to Avoid Microservices Disasters - New Stack

service tierというラベルをサービスに付与することで、問題が起こった時の優先度付けや対応や投資を効率的に行うことができる。
記事の中でのラベル付の例が非常に分かりやすかった。規模が増せば増すほど効果が大きいのだろうと思う。
Monzoは大規模な移行作業を自動化する際に利用しているらしい(link)。

冒頭で書かれていることには共感できる。依存されているサービスがクリティカルだと思いがちだけど、そうでないケースもある。ノンクリティカルなサービスに余分な対障害性をもたせると複雑さやコストの増大につながる。
依存する側のサービスの方のtierが低いのであれば、依存される側のサービスの障害から保護する必要はないが、もし依存する側のサービスの方のtierが高いのであれば、依存される側のサービスに障害が起きても稼働を続けるような保護をする必要がある。

[レポート] Revitalize your security with the AWS Security Reference Architecture #SEC203 #reinvent - クラスメソッド

AWSのセキュリティはサービスが多いこともあり、どこから学べば良いのか?どう設計していけば良いのか?と頭を悩ますことが多い。
AWS SRA - Security Reference Architecture という模範的ガイダンスの存在をこのレポートで知ったが、ここからスタートしても良さそうという印象を持った。
どうOrganizaiton Unitを分けて、それぞれにどのような責務をもたせるかということを推奨としているかが分かるのが良い。
実装するコードもあるのも良い。

[セッションレポート] Feature Flagで機能別にローンチをコントロールする (BOA305-R) #reinvent - クラスメソッド

セッション動画 (公開される前だったので記事内にリンクなし)

Feature Toggle あるいは Feature Flag の機能を提供するサービスとしてAWSでは下記の2つがある

  • AWS AppConfig Feature Flags
  • Amazon CloudWatch Evidently

デプロイとリリースの分離 is 大事。
専用のSaaSだったりもあるが結構お値段が張る印象があるので、AWSはどうなんだろうと興味を持ちました。

CloudWatch Evidentlyは長い期間でA/Bテストとかするのに便利AppConfig Feature Flagは、自動ロールバックの機能があり、新しいバージョンの設定を安全にrolloutするのに適しているとのこと。
Cognitoを使ってflag取得の権限を与えている。

Company, team, self. - Will Larson

良かったので、自分なりのざっくりまとめ。

筆者は、「会社、チーム、自分自身」の順に優先させることで正しい結果にたどり着くというのをアドバイスしていたが、マネージャとしての経験を積むにつれ、そういったアドバイスをやめた。
そのアドバイスに忠実に従いすぎてburn outしてしまうリーダーたちがいた。

人は複雑な方法でエネルギーを得ている。
ソフトウェアを書くこと。既存のシステムを最適化すること。社内のWikiを綺麗にすること。会議をすること。
その仕事自体があまり重要でないとしても、エネルギーを与える仕事によって、人々はより多くのことを成し遂げられる。
自分自身とチームを活性化させるために、正しい優先順位を破ることはリーダーシップにおいて重要。
リーダーシップとは、正しい場所に素早くたどり着くことであり、必ずしもまっすぐ歩くことでない。
目的を持ってあるくより行き当たりばったりの道を嬉々としてスキップするほうが早い場合もある。
ただし、他のチームに問題を起こしてはいけない。

AWS Verified Access Preview — VPN-less Secure Network Access to Corporate Applications - AWS

ZTNA(Zero Trust Network Access) の サービスがAWSから出てきましたね。
他社の同様の製品は Cloudflare Access くらいしか知りませんが、そこと比べるとスマホのサポートが無いのが悩ましいところですかね。

AWSのサービスと統合されるのが強みなのかなと。
Cedarという言語も気になりますね。

関連するセッションのレポートも classmethod から上がっていた。
[レポート]AWS Verified Accessの詳細が分かる!re:Inventの最新セッションを紹介 #reinvent

Book

Web配信の技術―HTTPキャッシュ・リバースプロキシ・CDNを活用する

キャッシュあまりに難しすぎることが分かる。とにかく考慮することが多い。
例えば、下記の条件を満たせば、Cache-Controlヘッダの指定がなくてもキャッシュされたりとか…。しかも Date - LastModified / ブラウザ実装による定数(一般的に10)TTLとして設定される。
https://tex2e.github.io/rfc-translater/html/rfc7234.html#3--Storing-Responses-in-Caches

キャッシュさせなくてもCDN利用するだけでスループットがレイテンシが改善するという、(ネットワーク強くない人からすると)直感的でないことを知れたのも良かった。

ちなみにこの本は DMM booksの70%OFFセールのときに買ったのだが、マーカーがブラウザ及びPCのアプリから見れなくて絶望している。

44smkn Week in Review - November 28, 2022

AWS Week in ReviewとSRE Weekly読んでて、自分の備忘録用のメモもこんな感じにまとまっていると良いだろうかと思い、試してみることにしました
44smkn Week in Review - November 14, 2022 - 1クール続けるブログ

今週はre:Inventなのでそのへんを追いかけたいけど、そんなに時間がないような気もしてきた。
また現地のre:Inventに参加する機会があれば行きたいなあ。

Article

CEO Raj Dutt Interview: The Grafana Experience Will Change - New Stack

業務でGrafana使うことがなくなり、あまり追えてなかったので、Grafanaの過去/現在/未来の話を大雑把に知れて良かった。

Grafanaファミリーがまた増えていた。まさか Mimir というメトリクスのプロダクトも作っているとは。加えて、プロファイリングツールである Phlare というのもあるらしい。
Loki(ログ)Grafana(可視化)Tempo(トレース)Mimir(メトリクス)で LGTM とのこと。

少しだけどどうやって収益あげているか?とかどの製品の売上がどのくらい占めるかとかの言及あって面白い。
OSSの企業ちゃんと儲かっていて欲しいけれど、難しい面が結構ありそうだなと思っている。

(Prometheusのメンテナの44%以上がGrafana Labs出身ってすごいな。Prometheusで集めたデータ可視化にGrafana使うことへの安心感がすごい。)

Argo Rollouts at scale: Bringing Automated Rollbacks to 2,100+ services at Monzo - monzo

Monzoというオンライン銀行のサービスがArgo Rolloutを使いPrometheusのクエリベースのRollbackを実装した記事。Monzoさんって結構名前聞く気がする。

Ephemeral Metadata という機能を使って、新旧のサービスに対応するメトリクスへのクエリを分けているらしい。

サービス数がめちゃくちゃ多いからだと思うけど、移行用にサービスを作ってしまうの凄い。
あと、めっちゃ良いなと思ったのは、各サービスに重要度を示す tier というのがあるらしい。これを使って移行する順番を自動的に決めることが出来たとのこと。

Enabling Collaborative K8s Troubleshooting with ChatOps - New Stack

botkube.io は良いぞという話だった。
あまりChatOpsに関して調べたことはないので知識なかったんですが、Chat上でのペアワークをするのに便利という点やモバイルからでも作業ができるというのは、確かに補助的にそういうツールがあると便利かもなあと思った。

色々試して行き着いた読書方法 - iwashi

「高速で読み流しながらマークし、後でまとめる。全部読まなくていい。」
めっちゃ良い読書法と思うし、凄い試したいのに、どうしてもじっくり読みがち。しかも全部読まなきゃという感覚に襲われてしまう。
今少しずつ練習している…。

The state of OpenTelemetry - cncf

OpenTelemetryの各言語の実装状況がまとまっていて良かった。
てっきりGoとかが成熟しているのかなと思いきや、一番成熟しているのはJavaだった。

記事内でも言及がありますが、experimental は、α / β / rc をカバーするらしく、更にstableに移行する時に既存のユーザをbreakするようなことはしないらしいので本格的に採用しても良いレベルなのかも知れない。

ついでにDatadogのOpentelemetryのサポート状況を見てみたけど、2つの方法でサポートしているらしい。
https://docs.datadoghq.com/tracing/trace_collection/open_standards/

1. app(otel sdk) -> opentelemetry-collector with datadog-exporter -> datadog-agent -> datadog backend
2. app(otel sdk) -> datadog-agent -> datadog backend

Strategies and Tools for Performing Migrations on Platform - spotify

Spotifyが大規模なmigrationを行った経験から、「症状(When), 避けるべきこと(Don't), 推奨すること(Do)」を各challengeでまとめている記事。
この記事内でのSpotifyの事例は、mobile appのビルドをbazelに移行することだったが、多くの大規模な移行に共通する学びだと思った。

好きなDoがいくつかあるので挙げておく。

Challenge 1: Do

  • Address your audience. Understand their mental models so that you can talk about what’s relevant, connect where their needs are, and find proxies to expand your reach.

Challenge 2: Do

  • Communicate. Keep your audience engaged by sharing the progress through newsletters and workplace posts.
  • Look to automation. Simplify the migration process by investing in automation upfront.
  • Make time for spike weeks. Partner with squads and tribes to jointly dedicate a week to work on the migration.

Challenge 4: Do

  • Use dashboards. Metrics and dashboards will communicate the progress and impact, as well as help prioritize your work at scale over time.

Podcast

53. 時系列データベースエンジン w/ nakabonne - fukabori.fm

OpenTelemetryやらGrafanaやらの記事を読んでいたので、久しぶりに聞いた。
時系列データの特徴とそれを生かした時系列データベースの設計が分かりやすく語られててやっぱり良かった。
Prometheusがパーティション切り替わる時に、通信遅延や時間のズレによってデータを取り逃すことがあるかも(かつ後発のDBではそうならないようになっている)という話は興味深かった。

WEB+DB PRESSのRustで作るRDBMSの写経をやったからか、昔より解像度高めに聞けた気がする。

Rebuild: 348: Stop Digging Up The Past (higepon)

前半のTwitterの話は聞いてて胸が苦しくなった。
ソフトウェアの品質が高いからこそ、大量にソフトウェアエンジニアがいなくなっても動き続けるんだよね。
次のラピュタの放送で壊れるんじゃないか…?という話があって確かにと頷いた(これrebuildで聞いた話じゃないかな…?)

44smkn Week in Review - November 21, 2022

AWS Week in ReviewとSRE Weekly読んでて、自分の備忘録用のメモもこんな感じにまとまっていると良いだろうかと思い、試してみることにしました 44smkn Week in Review - November 14, 2022 - 1クール続けるブログ

これ始めて2週目で既に遅延している
まあでもゆるくやっていくのを目標としているのでそれでもヨシ

はてなブログでもmermaidレンダリングできると嬉しい

Article

メルカリShopsの注文システム安定化の歩み - mercari

マイクロサービス群のorchestrationをGCP Workflowsでやっているんですね。Workflows使ったことないですが、AWSで言うStepFunctionsという認識をしています。
冒頭読んで、もしかしてSagaの補償トランザクションの話かなと思ったんですが違ったようです。
「不整合の検知をできるようにする → 運用の中でカバーしきれなかったエラーのパターンやAPIが見つかる → 地道に改善を続けてほぼすべてのパターンがハンドリングできるようになる」という流れでした素敵。

Kubecost Open Sources OpenCost: an Open Source Standard for Kubernetes Cost Monitoring

kubecost自体はオープンソースではなくて、kubecostの中のコスト配分エンジンをオープンソース化したものがOpenCostみたいですね。
この記事に加えて OpenCost Product Comparison – Kubecost を見ると分かりやすいです。
OpenCostにはDashboardは含まれないそうです、prometheusのメトリクスを吐いてくれそうです。そう考えるとDatadogも使えそう。

それを踏まえて、AWS and Kubecost collaborate to deliver cost monitoring for EKS customersの記事でインストールされているのは kubecostの方であると。
tierを上げたかったらmarketplaceで買えますよってことですかね多分。
Freeだと15日間のretentionしかないのでちゃんと使うには課金が必要そうな雰囲気。ただ最初の30日間は無料とのこと。
https://www.kubecost.com/pricing/

All-in-One, Integrated Front-End Toolchain Rome Released V10, Dubbed First Stable Release - infoq

JaveScript周りのツールチェインは種類とその中での選択肢が多くてややこしいなと思っていました。
それを1つにまとめようとする壮大なツールとして、romeというのがあるんですね。
Rust書き換えて初めてのstable releaseということで、ここから盛り上がってくるんでしょうか?

Amazon EKS now supports Kubernetes version 1.24

v1.23 と v1.24 はほとんど期間開かなかったですね。確認したらおよそ3ヶ月間でした。
Topology Aware HintsでAZ跨ぎの通信量が減るのが期待できそうですね。

  • dockershimとお別れ
  • v1.24以降新しく追加される BetaAPI は今までと違いデフォルトで有効にはならない
  • Topology Aware Hints
  • more...

Composite availability: calculating the overall availability of cloud infrastructure

アプリケーションを構成する全ての異なるサービスを組み合わせた可用性 - composite availability を計算する必要があるよね、という話。これを意識すると、よりresilientなシステムを設計することができて、その結果ユーザ体験が良くなるんではとのことでした。

自分たちで運用するサービスのSLOを決めるときも、この composite availability 以上には出来ないと思うので、プロダクトの要求する可用性がそれよりも高いのであれば、設計自体も見直す必要があるのだよなと思いました。

この記事の例だと、Google Cloudのサービスが説明に使われていたので、AWSでも例を一つ取って計算してみます。記事に書かれているSerialのパターンで。

SLAはここを参考: https://aws.amazon.com/legal/service-level-agreements/

.9999 * .9999 * .999 * .999 = 0.9978... ≒ 99.78%

Podcast / Radio

内山昂輝の1クール!#408

冒頭にあった休んだ時にストック使うべきかどうかという話。
内山さんが新型コロナウイルスに感染してしまったため、昔に収録したストックが放送された先週。「ピンチヒッターで人が来たほうが面白いんじゃないか」と話されていた。
それ聞いて思い出したのは、おぎやはぎのメガネびいきにて、おぎやはぎのお二人が欠席してゲスト予定のchelmicoトンツカタン森本、アルピーでやってた回。
そう考えるとスリリングで面白いのかもしれないけど、ピンチヒッター側のプレッシャーがすごそう。

普段テレビでニュース観ないので、サッカーの情報はほぼ内山さんからしか入ってこない。
今回もワールドカップの話をしてくれていた。「いつもと時期違うんですよね」の一本槍で、この前美容師さんとの会話乗り切った。ありがとう。
ちょろいのリスナーも美容師さんから振られたうたプリの話を3枚くらいの手札で乗り切ってた気がする。