YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

Ubuntu 20.04で右クリックが認識されなくなったので直した

はじめに

こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。製品ブランドが変わると外向きにいろいろお伝えしなければならず、手間が増えますね。

さて、COVID-19により緊急事態宣言が発出されまして、家で過ごす時間が長くなった結果、開発環境周りを整えたりする必要が出てきまして、サブ開発機として使っていたXPS 13'' (9350)にUbuntu 20.04 Desktop + Regolith Linuxを入れ直してi3wmの快適な開発環境として利用していました。しばらくすると突如としてタッチパッドの右クリックが右クリックとして認識されず、左クリックとして認識されるようになってしまったので、それを直したというメモです。

症状

ブラウザを始めとして、多くのPCでのGUIでは右クリックメニューという形で、マウスの右ボタンをクリックしたときにだけ表示されるメニューがあります。いまメインで使っているGoogle Chromeでもそうで、右クリックメニューでウェブページに表示されている画像を直接クリップボードにコピーしたりする便利機能があるので頻繁に使っています。これが使えなくなったわけです。

おかしいと思い、Ubuntu 20.04のデフォルトとして利用されているGNOME設定にてマウスのテストをしてみたところ、たしかに左クリック(主ボタン)として認識されていました。

f:id:ymotongpoo:20200503233751p:plain

GNOME Tweaksのインストールと設定

GNOME設定にはマウスの右クリックに関する設定は主ボタンにするかどうかしかないので、GNOME Tweaksをインストールします。

$ sudo apt install gnome-tweaks

インストールしたあと「キーボードとマウス」の設定で「マウスクリックのエミュレーション」で「エリア」を選択します。

f:id:ymotongpoo:20200503235850p:plain

これで無事に右クリック(副ボタン)が認識されました。

f:id:ymotongpoo:20200504000022p:plain

仕事で出てきた英語の頭字語

はじめに

こんにちは、Stackdriver担当です。Twitterで英語のフレーズのacronymが話題になっていたのでメールとかチャットとかドキュメントコメントとかを掘り返して、まあ大体よく使ってるなあというやつを並べてみました。

仕事でよく出てきたやつ

普通の会話にでてくるもの

  • FYI (JFYI): For Your Information (Just For Your Information)
  • IMO (IMHO): In My Opinion (In My Humble Opinion) → 控えめに主張してる風で、実際は全然控えめじゃないことを言うときの言い訳に使うことが多い
  • TIL: Today I Learned → 「はじめて知った」ふざけて使うことが多い気がする。
  • OH: Overheard → 本当は自分の意見だったりするけど他人が言ったことにするときにも使ったりする
  • AFAIK: As Far As I Know
  • BTW: By The Way
  • WRT: With Regard To
  • EOD, EOW, EOM: End Of Day, End Of Week, End Of Month
  • OOO: Out Of Office
  • WFH: Work From Home
  • EOM: End Of Message → メールのタイトルに内容だけ書いて本文がないことを示す(eg. "OOO: slow to respond. EOM.")
  • OMW: On My Way → ミーティングに遅れてるときとか、カンファレンスで待ち合わせのときとかに使う(eg. "Where are you?" "OMW")
  • ETA: Estimated Time for Arrival/Accomplishment → だいたい適当に書くのでこれよりも長くなることが多い(eg. "Hey, where are you now?" "OMW ETA 2min")
  • AFK, AFC: Away From Keyboard, Away From Computer → 離席中
  • TY: Thank You → 略さないくてもいいでしょ、と思うことがよくある
  • QQ: Quick Question → 「ちょっと聞きたいんだけど」全然Quickに回答できない質問なことがよくある
  • NVM: Nevermind → 最初「なんでNode.jsの管理ツールの話してんの?」って思った
  • TYL: Text You Later → あとでメール/チャットで送る。TTYLがTalk To You Laterなので、その派生。
  • FOMO: Fear Of Missing Out → ぼっちへの恐怖
  • FWIW: For What It's Worth → 役に立つかどうかわからないけどもそういうものとして
  • ICYMI: In Case You Missed It → 「もし見逃してたら」催促するときに緩衝材として使うこともまあまあある
  • IIRC: If I Remember Correctly
  • IOW : In Other Words
  • TBH: To Be Honest
  • IDK: I Don't Know

技術的ななにか

  • LGTM: Looks Good To Me → いいと思います(レビューしてるときのコメント)
  • SGTM: Sounds Good To Me → いいと思います(意見を聞かれたときとか)
  • SG: Sounds Good → 上のやつの更に短い表記
  • WAI: Working As Intended
  • WIP: Work In Progress → 実装中
  • PTAL: Please Take A/Another Look

ビジネス的ななにか

  • POC: Point Of Contact → 連絡先。主に担当者や担当部署を指して使われている。
  • POC: Proof Of Concept → 実現できることを証明するための実装。突然出てくると上のPOCと混ざって紛らわしい。
  • TCO: Total Cost of Ownership → 総保有コスト。購入から破棄までに必要な時間と支出の合計。

たまに忘れるやつ

  • TFTI: Thanks For The Information

SRE NEXT 2020で「サイト信頼性エンジニアリングの原則」というタイトルで登壇してきました #srenext

はじめに

こんにちは、Stackdriver担当者です。先週の土曜日に豊洲フロントで開催されたSRE NEXT 2020に登壇者として参加してきました。

sre-next.dev

どのセッションもすでにSREプラクティスを実践して試されているお話を聞けて、DevOpsの実践方法としてのSRE(Site Reliability Engineering)の広がりを感じられる素晴らしいカンファレンスだったと思います。

自分のセッションについて

sre-next.dev

自分のセッションは「サイト信頼性エンジニアリングの原則」というタイトルでの発表でした。資料は諸事情で一般公開できないのですが、主旨は概ね「SRE サイトリライアビリティエンジニアリング」(通称: SRE本)の書かれていることの抜粋とサマリーだったので、すでに実践されている方にとっては振り返りのような内容になってしまったかと思います。セッションスライド自体の公開を避けているのは、話した内容を伴わずにスライドに書かれている文言だけを切り取られると解釈によってはネガティブにも捉えられないなと思っていることによります。よって、このエントリーでお伝えしたかったことを再度簡単に触れていこうと思います。

なおSREに関するトピックをすべて触れていくとSRE本でもカバーしきれていないほどなので、これがすべてだとは決して思わないでいただきたいです。

単純性と一貫性

信頼性の担保とシステムの改善の両立のためには、変更はすばやく導入し、障害はすばやく戻すことが欠かせませんが、そのために単純性と一貫性が重要な役割を果たすという紹介をしました。

複雑性には必要な複雑性と不必要な複雑性が存在しますが、たとえば複雑性の例としてはpolyglotなマイクロサービスが挙げられるでしょう。プロジェクトにおけるプログラミング言語の選択というのは単にアプリケーションロジックだけではなく、それを実行するランタイムやそれをアプリケーションとしてバンドルするためのビルドシステム、依存するライブラリの更新など、実際にシステムにデプロイするまでに多くのツールやプロセスを必要とします。(以下エコシステムと呼ぶ)また採用やトレーニングといった人的なプロセスにも関わってきます。

プログラミング言語1つにつきそうしたエコシステムが伴うため、扱うプログラミング言語の数が増え扱うものが増えれば、管理にかかる負荷も増大します。プログラミング言語、設定管理方法や扱うOSの標準化を行うことで、SREが管理する技術範囲が限定され、かわりにより深い改善が行えるようになることでしょう。

どこまでを標準とするかは、導入する複雑さが得られるメリットほどの価値があるものかを検討する必要があると思います。すべてのユースケースではベストにならなかったとしても、1つを選ぶことで全体として管理が楽になることは間違いないでしょう。

モニタリングとアラート

モニタリングに関しては、1つの対象に対して異なる方法でのテストをおこなえるのであれば行ったほうが正確な状況を把握しやすい、という話をしました。よくある例はホワイトボックスモニタリングとブラックボックスモニタリングで、前者はシステムの内部情報の点検、後者は外形監視などが挙げられます。

モニタリングを行う理由はシステムの状態の把握と、障害の事前や事後のアクションを行うための通知(ページング、呼び出し)の設定などですが、ページングの設定を行う際の思いやりのなさにより、結果呼び出される側が疲弊することがあります。たとえば次のような場合はページングではなく、より緩い対応で済むはずです。

  • 冗長構成でクラスタ or マシンが1台だけ落ちた
  • 非常に長時間をかけてディスク使用量が95%になった
  • 仮想マシンが基盤クラスターが原因で落ちた
  • 対応しようのない障害

上で「より緩い対応」と触れましたが、たとえばアラート機構にはページングも含めて次のようなものが挙げられます。

  • ページ(呼び出し): オンコール対応
  • チケット/バグ/ダッシュボード: 当直対応、割り込み
  • ログ: 原因調査
  • メール: 後述するが極力使わない

オンコール対応というのは「担当者が寝ていても叩き起こして対応してもらう」ようなレベルのものを指します。SREで重要なのは一部の数字ではなく、ユーザー体験にどれくらい悪影響を与えているかなので、たとえば上記の冗長構成でマシンが1つ落ちたような場合は、引き続きサービスがリクエストを捌けているなら、業務時間中に落ちたマシンの復旧とそ原因を究明すれば良い話なので、この場合はチケットに登録しておけば良いでしょう。

どのレベルでの対応にするか判断のためにも外部プローブ(外部からのDNSクエリやヘッドレスブラウザなどを使ってTTFBの計測など)などのデータをあわせて計測するのが良いでしょう。

で、アラート機構としてメールを推奨しない理由ですが、運用方法によっては解決できる点もありますが、次のような理由が挙げられます。

  • 対応の様子を追跡できない
  • 障害に対するオーナーが不明
  • SN比
  • 人間の警戒に依存

cronや様々なシステムで簡単に設定できるのでメール通知を設定しがちですが、メールは傍観者効果が発生しやすかったり、なまじ簡単に設定できるためにノイズが多すぎて無視されやすくなったりします。inboxが他の業務メールと共通なことも多々あるため、注意深くフィルターしたり携帯の通知の設定も適切に行われなければいけません。こうしたものを運用で改善するよりは、適切なツールを用いたほうが効率が良いでしょう。

モニタリングとアラートに関しては当日 @larufa1 さんがVoyage Groupでの体験を共有してくださっていました。

speakerdeck.com

自動化

SREはトイルをできる限りエンジニアリングで排除するという姿勢で行うものなので自動化は常につきまといます。

たとえば複数のホストに手動でSSHを行って設定しているような処理があれば

pssh -H HOST1 -H HOST2 -H HOST3 "
  apt-get upgrade &&
  /usr/local/bin/make-new-widget.sh &&
  [ -f /etc/widget.cfg ] && echo Success || echo FAIL "

という形で自動化の第一歩が進められます。さらに推し進めていくと例えばGCPなどでは

gcloud compute instances create foo1 \
    --metadata-from-file startup-script=mysite/install-puppet.sh

このような形でスクリプト内に必要な処理を埋め込むことで抽象化のレイヤーを上げていけます。プログラムを書くときと同様に抽象化のレイヤーが上がることでより多くの処理をプログラムに任せられます。

ステートフル vs ステートレス

ステートフルなサービスは名前のとおり「状態」を持つサービスのことですが、「状態」を非常に簡単に定義すると「再生成が難しい一意なデータ」と言えると思います。障害が起きた場合はその「再生成が難しい一意なデータ」を復旧させなければならなくなり、それに備えて専用のバックアップ/リストア機構、また専用のモニタリング機構、アーキテクチャが必要となります。

たとえばMySQLクラスターにおいて

  • マスター(読み書き可): 1台
  • レプリカ(読み込み専用): 複数台

という構成があった場合、マスターノードには専用のモニタリング機構やバックアップ機構が必要になるでしょう。これらははじめのほうで触れた複雑性の議論にも関わってきますが、ステートフルなサービスがシステム内に増えれば増えるほどこうした機構が増えるので、なるべくステートレスなものに置き換えていけるような設計が肝心です。

情報の信頼先

あるシステムの特定の情報を得るために複数の情報ソースがあることは珍しくありません。その場合何を正とするかで判断が変わってきます。時計が1つなら何時か即答できますが、時計が2つだとどちらか正しい時刻か判断できません。

なのでたとえばシステムの状態を把握したいときはなるべく1つの情報源に頼るようにし、それが本当に判断するための情報源として適切か、設計時に判断したいところです。たとえばプロダクションサーバーと退役したサーバーが同居している系から返されるトラフィックのHTTP 2xx系の割合を調べたいときは、一番上流のSLBの層で得られた情報で判断するのが正しいでしょう。

SLOとエラーバジェット

SREで真っ先に出てくるのがSLOとエラーバジェットの概念です。

SLOで可用性99.5%を設定し、それを達成した場合に、これは「100%を0.5%達成できなかった」とみなすのではなく、文字通り「99.5%の可用性を達成した」と同時に「0.5%分システム改善のための余裕がある」という状態であるとみなすことが肝心です。

この0.5%を使ってたとえば

を試せます。可用性の話で言えば、0.5%であれば1ヶ月間に3.6時間が確保できます。たとえばカナリアリリースを実施している場合、これまでそれが起因のダウンタイムがなかったのであれば、すべての変更を canary → stable を経てローンチするのではなく、変更内容の大小やフラグの重要度に応じてカナリアの期間を短くする、あるいはカナリアをスキップするといった選択も取れるかもれません。

3.6時間は与えられた猶予なので、現実としてSLOよりも高い可用性を実現できてしまったとしても、無為にSLOを厳しくしてしまうのではなく、エラーバジェットをより迅速あるいはより堅牢な仕組みの導入のために利用するのが健全でしょう。

逆に厳しいSLOを設定してしまうと、アジリティが確保できなくなる可能性が高くなります。また当然ながらコストも高くなります。(一般的に 9 が一つ増えるごとに倍以上のコストがかかると言われている。)逆に言えばSLO 100%は「動かしたが最後二度と止められない」ということですから、通常のサービス運用ではまず必要のない値です。ユーザーに与える影響を加味しながら、なるべく余裕が得られる値に設定にできるよう、設定値に関して継続的な振り返りが必要です。

補足ですが、SLOの設定やその運用に関しては @chaspy さんが当日話されていました。

speakerdeck.com

テストとロールバック

SREを行う上で「システムは必ず落ちるものだ」という考え方を持つことは多くの場面で姿勢を正しくしてくれます。その一環でたとえばテストやロールバックを正しく行うことでシステム障害からの復旧を迅速に行ったり、障害範囲を限定できます。

  • 漸進的なロールアウト
  • 変更導入後の検証
  • 準備済みのロールバック

たとえばカナリアリリースは漸進的なロールアウトの例で、一部のクラスタ、各クラスタの1台だけ、など、限られた場所にだけ変更を導入して影響範囲を限定してリアルなデータで検証を行えます。問題があれば事前定義されたrunbookを実行してロールバックします。エラーバジェットは有効に使わないといけないので、SLOに影響を与えそうなエラーを発見したらすぐにロールバックして、原因究明のためにエラーバジェットを消費しないようにします。

障害耐性

エラーバジェットの消費として一番もったいないのは障害の復旧作業にそれを充てることです。したがって極力障害が起きないような対策を 打つことでより有意義にエラーバジェットを利用できるようになり(=システムの前向きな改善に使え)ます。

たとえばあるサービスをプッシュしたら空の設定ファイルを作ってしまってしまって、それが原因でサービスの再起動後にサービスが落ちてしまったという障害があった場合に、どうやって障害耐性をつけたらよいでしょうか。

いくつかの改善策が考えられますが、たとえば

  • Gracefulな退役: 新しい設定が読み込めない場合は以前の設定を使い続ける
  • 差分による予防: 設定の差分が単純に20%以上ある場合、あるいは特定のフィールドに変更があった場合には特定の検証プロセスを通るまでプロダクションにプッシュしない

などが挙げられます。

ポストモーテム

SREのおいてポストモーテムは最も重要と言える文化かもしれません。先程も書いたとおり「システムは必ず落ちるもの」と想定し、問題があった場合には人間ではなく「プロセスと技術」に注目して、「プロセスと技術」で改善を行うために振り返りを行います。決して人間を非難しないことが重要です。

たとえば次のようなポストモーテムがあったとします。

  • 事象: グローバルDNS障害
  • 原因: エンジニアが named.conf をtypoして保存してした。それをグローバルにプッシュしてBINDを再起動した。
  • アクションアイテム: エンジニアが次からはもっと注意する。エンジニアはリスクが高い変更を金曜日には行わない。

ここで問題なのは、原因をエンジニアとしていることと、アクションアイテムを人間に依存していることです。また「もっと」のような具体性を伴わない表現がされていることも問題です。原因はtypoをしたエンジニアでなく、typoがある設定ファイルがテストもなしにグローバルに展開されてしまうような仕組みです。またアクションアイテムも、それをどうプロセスやエンジニアリングで解決するかが書いてありません。これは次のように書き直せるでしょう。

  • 事象: グローバルDNS障害
  • 原因: 不正な named.conf がテストなしにすべてのBINDホストにプッシュされた。
  • アクションアイテム
    • 予防(こうした障害の再発をポジティブに防ぐにはどうしたらいいか)
      • named.conf をデータベースから読み込む
      • プッシュと再起動をスクリプト化して、スクリプトに安全確認を組み込む
    • 検出(同様の障害を正確に検出するまでの時間を減らすにはどうすべきか)
      • 監視の頻度を改善する
      • 監視対象の変更
      • ページをより速く行う
    • 緩和(次回この種の障害が起きたときの深刻度や影響度の%を減らすにはどうしたらいいか)
      • リロードして、再起動しない
      • 1つのサーバー(カナリア)だけ他のサーバーよりも速くプッシュするようにスクリプトを変える
      • DNSの機能を分割する(例: 内部 vs 外部、権威 vs 再帰
    • 修正(次回障害が検出されたときにどうすればより速く回復できるか)
      • オンコールプレイブックに起こすべきアクションを追加する
      • すばやくロールバックできるように各ホストの直前の設定を保存しておく

おわりに

こうした内容をお話しましたが、すべてを一度に導入しなければいけないというわけではなく、また何かを行うことでSREという認定が受けられるとかそういうたぐいのものでないので、システムの信頼性を高めるためにこうしたベストプラクティスを少しずつ導入していくのが良いのではないかなと思いました。しかし、とはいえ1つ、これがなければSREではないというものを挙げるとすれば、それはシステムのユーザーに対して信頼性を維持し高めることに貢献しているかどうか、ではないでしょうか。当たり前ですが、そうでなければ Site Reliability Engineering とは呼べないと思います。

SREのプラクティスであるSLOの設定というのはそういう意味では非常に妥当だと考えています。営利企業がITシステムを活用したサービスを提供している場合、会社の成功には必ずユーザーの満足度というのが存在し、経営の中では収益に紐付いた指標(KPI)とその目標値を設定しています。その会社の収益を支えるものがITシステムなのであれば、それらのKPIはSLIと紐づきますし、KPIの目標値はSLOと紐づくはずです。

今回SRE NEXTでは多くの企業がすでにSLOベースの運用をされていて、それらの事例を知ることができ大変有意義だったと感じています。ぜひ次回が開催されることを願うとともに、今後ますますSREのプラクティスが普及し、発展していくことを願っています。

参照

landing.google.com

このサイトに原文ではありますが、”Site Reliability Engineering” と "The Site Reliability Workbook" が無償で公開されていますので、気になる方はぜひ読んでみてください。特に両者ともに気になるトピックだけ拾い読みするだけでも問題ないと思います。

また書籍以外にもSLOのワークショップなどのコンテンツがありますので、こちらもぜひ見てみてください。

なおご存知の通り、"Site Reliability Engineering" は日本語訳版が出ていますし、また "The Site Reliability Workbook" に関しても現在日本語訳版が発刊に向けて最終段階だと聞いております。

YAMAGUCHI::weblogの2019年を振り返る

はじめに

こんにちは、Stackdriver担当者です。今年も振り返りがやってきました。今年はあまり多くのことができなかったのですが、振り返りのために書いておきます。

あと例のやつを貼りました。よろしくお願いします。

関連エントリ

ymotongpooの2019年

去年立てた目標

  • ログに関する知見の向上
    • オブザーバビリティ領域でも特に来年はログの領域の知見を高めていきたいと思っています。
  • ジム
    • 2年半以上続けているので来年も頑張ります。来年は絞りたい。
  • 部屋の片付け
    • いろいろとものが増えてきたので不必要なものは捨てつつ、デッドスペースの有効活用などをしたいと思います。

オブザーバビリティ領域に関して

クラウド関連

Google CloudのDeveloper Relationsチームでオブザーバビリティ領域の担当としてStackdriverだけでなく自社が関わっているオープンソースプロダクトであるOpenCensusOpenTelemetryなどの知見を広めつつ、より多くの開発者に利用してもらいフィードバックを集めるべく、イベントの開催やイベントでの登壇、カスタマー企業でのインタビューなどをしていました。

など

とくに今年はOpenCensusとOpenTracingが6月のKubeCon EUでOpenTelemetryにマージすることが発表されたので、Stackdriverへの対応やOpenTelemetryコアメンバーとの定期的なディスカッションなどをして初期リリースのタイミングでの仕事をしていました。

特に今年の11月にあったVelocity BerlinでのOpenTelemetryの3時間ワークショップはいままでになかった経験で、異なる会社の複数のメンバー、しかも住んでいる国や都市もバラバラなチームでオンラインでワークショップのコンテンツを作りつつ、本番一発勝負でワークショップをこなしました。

その時の知見の一つがこちらのエントリで書いたものです。

OpenTelemetryはようやくMetrics部分の仕様が落ち着きつつある段階なので、来年はいよいよ各種APMツールなどの対応が進み、実用例も増えてくるのかなと思います。OpenCensus meetupはOpenTelemetryへのマージが発表されてからは開催せずにもろもろ落ち着くまで様子見していたのですが、来年は新しく用意されたconnpassグループでイベントをまた再開していきたいなと思います。

opentelemetry.connpass.com

また3月に書いたこのエントリーで「オブザーバビリティのオンラインコミュニティをやりたい」というコメントを書いて、実際discordのサーバーを立ち上げたのですが、やっぱりオンラインのコミュニティはなかなか難しいですね。

来年はまずはこじんまりとオブザーバビリティ周りを様々な角度からワイワイとやるオフラインな会をちょこちょこやっていきたいなと思います。

Go関連

今年も @tenntenn さん、@budougumi0617 さん、@micchiebear さん、@shibu_jp さんといったみなさんとGo Conference の運営を行いました。

特にGo Conference 2019 Autumnは今後に向けて「有償化」「平日開催」という試みをしたわけですが、多くの方に参加いただき、これまでのGoConと変わらぬトーククオリティで、次に繋がる会になったなあと思いました。

また福岡ではfukuoka.goの方々を中心として初めて東京以外の都市でGo Conferenceが開催され、運営の品質の高さに驚くとともに、日本のGoコミュニティのさらなる拡大も感じました。

今年から新設されたGo GDE (Google Developer Expert)に日本から @tenntenn さんと @mattn さんが初期メンバーとして選出され、日本のGoコミュニティの世界とのつながりが強くなっていくのも実感しました。来年もDeveloper Relationsチームとしてお二人の活躍をサポートできればと思っています。

個人的にはGo関連ではプロファイラーやパフォーマンスチューニング周りの知見を深めた一年でした。

Stackdriver Profilerの開発チームが google/pprof の開発も担当していることもあり、来年は pprof を中心としたGoプログラムでのパフォーマンスチューニングなどを広く共有できればなと思います。

生活

去年の終盤からいろいろと状況が変わって、自分の時間というのがだいぶ減って、平日夜や週末の時間の使い方というのがだいぶ限られた感じになっています。そういうなかでイベントへの参加というものを改めて考えると、もっと違ったあり方があってもいいなと以前より強く思うようになりました。

そしてそれと同時に多くの人に支えられていることを実感した1年間でもありました。自分が時間的に制約があってできない分、人に積極的に頼って、結果としてより大きなことができたような気がします。

@tenntenn さんとオンラインコミュニティの強化の話などを最近はしているので、上のオブザーバビリティのチャットコミュニティなどでもうまく進めていけるようにしたいなと思います。

出張/旅行

今年も出張や旅行で国内外を移動しました。

  • 2月: Sunnyvale
  • 4月: Hawaii
  • 5月: Cleveland, Mountain View
  • 6月: Singapore
  • 7月: 福岡、San Diego
  • 8月: 京都、Chicago
  • 9月: 大阪
  • 11月: Berlin, San Diego
  • 12月: Bangalore, Hyderabad, Chennai, Delhi, 山梨

特に今年は初めて行く国が年の最後に立て続けにあったのと、その2つの出張がそれぞれ自分にとって新しい挑戦だったのもあって刺激的なものとなりました。都市自体に感じたことは別のエントリーに書きました。

すでに来年の3月のカンファレンスのプロポーザルが通ったり、来年頭にはチームのオフサイトイベントがあったりと出張の予定がいろいろと決まっているので、来年も体調を崩さないように頑張りたいと思います。

ジム

上のような調子だったので、3-4月、9-10月あたりは最大週5回ジムに行くなど充実したジム生活を送っていたわけですが、11月から12月頭にかけては、週2回が限度でした。

時差がある都市に行くと時差ボケで体調が万全でなくなるだけでなく、出張中は様々なイベントを1日に詰めているため、朝起きたあとすぐか、アルコールを摂取しないでホテルに戻ったあとにしかジムに行けないため、なかなか行く時間を作れないのがもどかしいです。またジムに行けたとしても、ホテルのジムは設備がまちまちで、ダンベルセットがあっても最大で20kgだったり、そもそもフリーウェイトの設備がなかったりと、満足の行くトレーニングはなかなかできません。

また上述した生活の変化により疲れがたまったからか、今年はついに初めてぎっくり腰になりました。

ぎっくり腰になってすぐに海外出張にいくことになった - YAMAGUCHI::weblog

30代後半にもなるとやはり体のどこかに支障が出てくるわけで、鍛えるというよりもこういうことを予防するための側面をより強めていこうと思う一年でした。

FP業

去年FP 2級の資格を取ってからほそぼそとFP業をやったりしていて、月で均すと飲み会代の足しになる程度の副収入があったりした1年でしたが、コンスタントに相談をもらえているのはありがたいなと思いました。

また自分でFP業をやるだけでなく、もっと色んな人に知見を共有したいなと思って次のようなイベントを開催したところ、多くの方に関心を持ってもらえました。

connpass.com

第2回を行う予定でいたのですが、予定がいっぱいで気がついたら年末になってしまっていたので、来年また開催出来ればなと思います。

またFPに相談はしたいけれど、いきなり行くと商品を売りつけられそう、という印象を持っている人も多くいることを知りました。独立系のFPはそういう心配を取り除いて、真に必要な知識を共有しつつ顧客のプランを立てるのが仕事なので、そういうものに興味がある方がいたらご連絡ください。

来年に向けて

  • オブザーバビリティ関連の展開
    • 今年よりも露出を増やしつつ、OpenTelemetryやpprof周りの開発に積極参加
  • 執筆/翻訳をまとめる
    • 複数の書籍関連の話があったにもかかわらず進捗が大変芳しくなく、各所にご迷惑をかけたいので、来年中に終わらせます。
  • FP業の展開
    • 独立系FPとしてより展開していきたいです

2019年に買ってよかったもの

はじめに

こんにちは、Stackdriver担当者です。今年も残すところあと僅かとなってまいりましたがみなさんいかがお過ごしでしょうか。

2019年に買ってよかったもの

Anker PowerPort Atom PD 2

自分は良く出張、特に海外出張に行くことが多いんですが、そのときに無駄に重くて不便だなと思っているのがMacBook Proの電源アダプターです。あれだけ重いのにもかかわらずUSB-Cの口が1つしかないというはあまりに苦痛。そこでサードパーティー製の製品を求めたわけですが、電源アダプタなので粗悪なものだと発熱や発火が怖いため、信頼のAnkerで買いました。

Power Deliveryが2口あって最大60Wまで出力できるので、MacBook Proを充電しつつ携帯やiPadなども充電でき、カンファレンス会場などでもとても便利に使えています。正規品よりもサイズがひと回り小さくて軽くなっているのも助かります。

ホテルではPCにつなぎつつ、後述するモバイルバッテリーの充電も可能なので、このアダプター1つで出張のほぼすべての電源が必要な用途がまかなえています。

Anker PowerCore 10000 PD Redux

Ankerが連続登場です。これまでは出力用ポートがUSB-Aで電流2.1Aがだせる10000mAhのモバイルバッテリーをつかっていましたが、これがなにぶん大きくて重かったのです。すでに自分が出張で持ち運びする電子機器がMacBook ProiPad Pro 11''、Pixel 3 XLとすべてUSB-Cなので、ケーブルもすべて両端USB-Cのものに変えたいという気持ちもあったのでモバイルバッテリーを買い替えました。

で、このモバイルバッテリーを買ったわけですが、同じ10000mAhでもサイズが小さい上に重量も200gを切っているので軽くて最高です。PDなので携帯を充電する際にも短時間で済みますし、これ自身を充電する際にもPDなのでホテルにもどってから寝るまでの間に充電が完了するなどメリットばかりです。

タブレットアーム

昨年末にiPad Pro 11''を購入するまで家で使っていたiPad miniは出張に持ち運ぶだけでなく、就寝前にベッドでYouTubeを見たりWikipediaを読んだりするのにも常用していたのですが、iPad Pro 11''の購入によって就寝前だけに主に利用されるようになりました。 で、その用途で使う場合にいままで手持ちでiPad miniを抱えていたのですが、何分手が疲れる。ということで、このタブレットアームを購入し、ベッドのヘッドボードに固定したところ、YouTubeの視聴が信じられないほど快適になりました。Netflixを見ながら寝落ちすることもしばしばあります。

小型財布

財布に関しては地元山梨への愛着もあり、長年印傳屋の財布を愛用していて、特に近年はキャッシュレスな生活を送っていたので、印傳屋のカードケースと小銭入れをメインに使っていました。

印傳屋のものはそれぞれに物としては良いもので、かつ価格もお手頃なので、いまでもおすすめできるのですが、自分の用途の場合どうしても「カードケース+札入れ」の機能を持ったものが欲しくなり、上のカードケースだとカードスリーブの中に札を折って入れるというような、ちょっと残念な運用になっていました。 またしばらく使っているとカードスリーブの端が切れたりして、ちょっと残念な感じになってきました。とはいえ、マネークリップを持つのはちょっとはばかられたので、カードケースとしての機能がメインで、紙幣をうまく収納できるものがないかと思いしばらく探していました。そうしてセクション冒頭のSEDRIDのミニ財布を見つけたのです。

SECRIDのカード入れの部分には最大6枚のクレジットカードが収納でき、収納ケース下部のフックを動かすと中のカードがきれいに段差をつけて押し出され、かんたんにカードを取り出せます。カードをしまうときはただ押し込むだけです。ボタンを外すと更に2枚分のカード収納ポケットがあり、免許証や保険証などを入れておけます。また中に紙幣を挟むためのクリップがあり、普段使う分くらいの紙幣は問題なく収納できます。


SECRID Wallet Review | Miniwallet Crisple Black 'RFID Wallet'

紹介動画や写真ではボタンを外した内側のポケットに小銭を入れて、これ1つで「カードケース+札入れ+小銭入れ」のすべてをこなすという紹介もありますが、小銭まで入れると型崩れが起きるので自分は小銭は先の印傳屋の小銭入れに入れています。ちょうど2つとも同じ大きさなので持ち運びもコンパクトです。

f:id:ymotongpoo:20191217081144j:plain

REMOWA Essential Sleeve 37L

11月にベルリン出張に行ったときに奮発して買いました。日本で買うと市場価格では並行輸入品を入れても9万円前後するものが、ドイツでは国産ということもあり、また免税も手伝って6万5000円くらいで買えます。

いままでは機内持ち込みスーツケースは社会人1年目のときに買ったナイロン製のものを使っていて、それもいい仕事をしていたのですが、いい加減古びてきたのでリモワを初めて買いました。アルミのものも良かったのですが、とりあえず軽くしたかったのでポリカーボネート製のものに。またドイツ出張があったら考えます。

これで2020年の出張も乗り切れそうです。