古事連記帖

趣味のこと、技術的なこと、適当につらつら書きます。

モデルナワクチンを2回打ち終わりました

6月28日、および7月26日にそれぞれモデルナワクチンを無事打ち終わりました。これで一安心…とは言えない状況になっているなか、これからも引き締めて生きねばと思っています。

1回目、2回目ともに経験した副反応、その経過を事実だけ記載しておきます。この内容は僕が経験したものであり、すべての人が同じように経験するものではなく、またこの内容でワクチンを打つべき・打たないべきと主張するものではありません。

1回目の接種

筋肉注射は初めてだったので若干不安でしたが、打ったかどうかすらわからないまま終了しました。打っている様子は見ない人なので本当に打たれたんだろうか?と別方面で不安になっていましたが、帰り道に副反応が出始めたので杞憂に終わりました。
打った腕が割とすぐに違和感が出て、夜には痛みになり、腕が水平より上に上がらず、その時点で激痛が走る…といった状況で、服を脱ぐのも着るのも苦労するのでもう服着なければいいのでは…!?と思ったりするくらいでした。
さらに、ワクチン接種する数日前から接種した反対側の首を寝違えてしまい、どっち向きに寝てもしんどいというハードモードな展開。首の痛みは耐えかねてシップを買いに行くレベルでした。
痛みが落ち着いたのは副反応も寝違えも同時期で接種から3日目の夜あたりくらい。その前日にやや微熱を出した以外で目立った副反応は起きてない感じです。

2回目の接種

2回目は注射の痛みがややありましたが、蚊に刺されているのを認知して意識したときの痛みよりは痛くない印象でした。
その日の夜にめまいのような感じになった後一気に具合が悪くなっていきました。
2日目の明朝に微熱と倦怠感が現れ、そこからどんどん熱が上がっていきました。腕は1回目に比べると痛みはそこまで起きず(とはいえ打った方を向いて寝ようとすると痛い)、あっさり引いていったと記憶しています。
昼頃に体温が38.6℃を記録し、この時点で解熱剤を飲んでしばらく寝ていましたが、夕方に計測したとき、暗がりだったのでよく見えず「35.4℃かな…?」と思って明かりをつけたら 39.4℃ で、38.0℃以上ですらここ数年経験してなかったのに、まさかの39.0℃超えでかなりビックリしています。
熱は3日目も続き、昼頃までは倦怠感が残ったままで、発熱は3日目深夜まで続きました。4日目の朝にようやく平熱まで戻ってきた感じでした。
解熱剤と他にポカリスエットがお友達になるとは思わず、ポカリスエットを飲んだ途端に汗がぶわっと出るといった具合で水分の足りなさを実感したりと、もっと積極的に取るべきかもしれないと感じています。3日間で1.5Lペットボトルを1本半あけました。それ以外には熱さまシートも気持ちには効果的でした。


前情報通り、2回目の副反応が強く出る形で経過しましたが、実際に感染して発症していたらもっとつらいという話もあるので、これで済んでよかったのかもしれません。

フィット e:HEV Modulo X に乗り換えた

f:id:ChiiAyano:20210626180644p:plain
フィット e:HEV Modulo X

本日、新しい車に乗り換えました!フィット e:HEV Modulo X です!

www.honda.co.jp

思えば、2020 年 1 月の東京オートサロンで見た「FIT Modulo X Concept」にすごく刺激を受けたのがすごく記憶に残っています。

www.honda.co.jp
car.watch.impress.co.jp

まだこのときは市販化されるかはわからなかったんですが、もし販売されるならなんとしてでも乗り換えると意気込んでいました。


時は過ぎ、12月にはプロトタイプのサーキット試乗動画が公開され、市販化秒読みの段階になり、そして 2021 年 3 月

営業さんから「Modulo X 出ますよ」と電話が。

4 月に注文が可能になり、成約。このときは 7 月上旬が納期になりそうというざっくりとした回答でした。

f:id:ChiiAyano:20210626182740p:plain
みつもり

同時期、ヴェゼルがフルモデルチェンジする流れの中、半導体不足などの影響で納期が延びているなどといった話をちらほら聞きながら、自分の車は大丈夫だろうか…?などと不安になりつつ、フィットの年次改良および Modulo X の発表の前後に営業さんから「6月末には納車できそう」とのお話をもらったので、どうにか遅れず済むかなあという感じでした。


そしてきょうが納車日。これまで乗ってきたビビッドなブルーのフィット 3 とは別れを告げ、白く輝くフィット e:HEV Modulo X へと乗り換えました。

f:id:ChiiAyano:20210626180305p:plain
在りし日の姿
f:id:ChiiAyano:20210626181301p:plain
別角度から
f:id:ChiiAyano:20210626181504p:plain
後ろ姿
f:id:ChiiAyano:20210626182947p:plain
後ろ姿を別角度から。ルーフはブラックなのです

先代が i-DCD で、どちらかというとエンジン主体だったときと比べると、すごくスムーズで、多少なりあった変速ショックも当然ながらないのですごく快適です。Modulo X の特徴でもある座席はノーマルよりも座面はかたいです。そして材質もあって滑らず、がっちりホールドされている感じで安心感があります。一方で、i-DCD のときはモーター駆動になるタイミングを自分で (アクセルワークを駆使して) 制御できたりしてたのが、e:HEV だとなかなかうまくやれないので、もしかすると先代で記録した生涯燃費 23 km/L よりも下がるかもしれないなあとは思ったりはしています。
乗り味に関しては、めっちゃ素人なのでよくわかりませんw かたい感じはありますが、先代も同じくらいあったかなあと思ったりしたくらいなので。しっかりまっすぐ走ってくれる感じはするので安心して走れるかもなーとは思っています。先代に比べるとすごい静粛性が上がったので、スピーカーの音がすごくよく聞こえるのはうれしいポイントかも。

先代同様、いろいろ試行錯誤しながらドライブを楽しみたいところです。


納車後につけたサードパーティのグッズを Amazon アフィにして載せました。よければどうぞ。

小物入れとしてめっちゃ便利です。粘着テープを使うので抵抗ある人もいるかも。

スマホ置き場になりました。テーブルコンソールのレールに固定するタイプなので取り外しも楽です。

PCのスリープに失敗するようになった その後

以前、PC をスリープすると、復帰に失敗して強制電源断状態からの起動になるというお話をしました。
ayano.hateblo.jp

結論から言うと、未だに原因は不明ではあります。

メインストレージに使っている MX300 の換装を目的に Crucial P5 を購入し、データ移行はせず新たに構築し直しをしています。

f:id:ChiiAyano:20210417114751j:plain
換装した Crucial P5 と、WLAN NIC (これはおまけ)

まっさらな状態でも再現してしまうのか試してみたところ、予想に反しスリープおよびスリープからの復帰に成功しました。…一体どういうことなのか…。
前までの何かが原因でスリープからの復帰に失敗していると考えると、まだ油断ならない部分はありますが、ひとまず一安心といったところです。元の構成になおす過程でトリガーを見つける可能性はあるので、そのときまた記事に残してみます。


ちなみに、今回換装した Crucial P5 で初めてデスクトップ PC に NVMe を挿しました。熱に関しては Surface Laptop で重々承知してはいましたが、マザーボード付属のヒートシンクをつけてもなおアイドル時の温度が 54 ℃ と他の SATA SSD に比べてもアツアツです🌡
速度に関しては普段使い程度だと体感ではわからないんじゃないかなあとは思います。割と自己満足の部類のイメージ。

f:id:ChiiAyano:20210417233752p:plain
割と速そうには見えます

換装にあたり、グラフィックボードの真下に M.2 スロットがあったり、WLAN NIC を PCIe x1 スロットに挿そうと思ったらグラフィックボードで干渉していて PCIe x16 スロットに挿したりと、割と苦労しました。これだから microATX は…。


以下 Amazon アフィリンクです

PCのスリープに失敗するようになった

自作 PC でスリープ状態にすると、復帰時に強制シャットダウン状態として Windows が認識するようになっていました。
思い返せば、昨年 RTX 2070 SUPER を導入してからずっとこの状態で、調べるのも面倒になって休止状態でやり過ごしてきましたが、先日 PC ケースと電源を新しくし配線をやり直したのをきっかけに、もう一度スリープ状態を試してもダメだったので、改めて調べることにしました。

何が起きているのか

  1. シャットダウンメニューからスリープを選ぶ
  2. PC 本体の電源ランプが消えることを確認する
  3. マウスを揺さぶると電源が入る(ここまではスリープ・休止状態からの復帰の挙動)
  4. スリープからの復帰であればすぐ Windows の画面が表示されるはずが、POST -> ブートロゴ表示と進む。Windows はシャットダウン状態からの復帰になる

イベントビューアの状態

下記記事によれば、スリープに入る前に Kernel-Power のログが残るとあります。
laboradian.com

しかし、ログを確認すると残っていませんでした。

f:id:ChiiAyano:20210313121642p:plain
11 時 45 分頃にスリープ指示をしているはずだが、残っていない

一方で、休止状態についてはログが残っています。

f:id:ChiiAyano:20210313122048p:plain
TargetState 5 (休止状態) とわかる

ドライバーの更新

使用しているマザーボードは B450 AORUS M で、チップセットドライバーは 2020 年 11 月にリリースされたものが公開されています。
www.gigabyte.com

これも適用しましたがダメでした。

グラフィックドライバーは現在最新の 461.72 が入っています。

グラフィックドライバーを戻した

グラフィックドライバーを 456.71 にするといいという話をもらい、試してみました。
結果としては変わらず強制シャットダウン状態で復帰しますが、スリープへ移行する旨のログが残るようになりました。

f:id:ChiiAyano:20210313131432p:plain
TargetState 4 (スリープ) を確認したが、EventLogがエラー表示 (予期しないシャットダウン)

いろいろ考えてみる

  • まずグラボが怪しい感じはある(かつて同様の構成で以前使用していたグラボではスリープできていたことは見ている。残念ながら改めての検証はできていない)
  • 当初もグラボが原因と考えていたが、電源容量の問題だと思っていた*1 ところもあり、新しくすればうまくいくと思っていた。でもダメだった 🤔
  • ログが残らないのに電源状態が変化するのは謎。Windows のスリープ処理中 or 前に電源状態を変えることなんてあるんだろうか?
  • Insider Preview で運用しているが、Release Preview の立ち位置で、もうすぐ GA というところでこんな致命的なところが残っているとは思えない
  • もう一台自由に使える PC が転がっていればいいんだけど…

もうちょっと情報を書き足してみる

いろいろ調べてみると、どちらかというと Kernel-Power の重大エラーが重要っぽいところを見つけましたが、イベント ID は 41 で、BugCheckCode は 0 とでていました。
f:id:ChiiAyano:20210313184934p:plain
イベント ID: 41 は結構厄介な問題らしい… 🤔


といったところで、まだ試す余地はいくらかありつつも、割とお手上げ状態です。
いろいろ試した結果は追記する予定です。うーむ。

*1:550W 電源に RTX は余裕がなさ過ぎる感じあった

2020年買ったものまとめ

突如始まったリモートワーク化からだいぶ経ち、5月に特別定額給付金の支給があったりといろいろありましたが、そんな中在宅でも快適に仕事ができるようなアイテムを買った年になりました。
ここでは今年買ったものを一覧にして振り返ってみます。

※ 例のごとく Amazon アフィリエイトリンクがあります

グラボ

GeForce® RTX 2070 SUPER™ GAMING OC 3X 8G
www.gigabyte.com
定額給付金が入る前提で購入したやつです。元々はリアルタイムレイトレーシングを体感したい&GTX 960から世代交代したいという気持ちで検討していましたが、在宅でカメラ・マイクを使った仕事スタイルになってから、RTX Voiceや、その後正式リリースしたNVIDIA BroadCastで大活躍するなど、思いがけない形で重宝するグラボとなりました。

モニター

BenQ PD2500Q

すでに1枚同じモニターを持っていましたが、作業領域の確保のため、フルHDモニター1枚との置き換えで購入しました。今はフルHDが1枚、PD2500Q (WQHD)が2枚の3枚構成で作業しています。解像度が高いって正義だ。

モニターアーム

エルゴトロン LX デスクマウント モニターアーム 長身ポール

本当は1枚余ったモニターをいまあるモニターより上に設置して4枚目を作るつもりで買ったやつですが、下にあるモニターが元々高い位置にあったため、思う位置に取り付けられず断念し、3枚目をモニターアーム化する用途に変化しました。
最初から3枚目用としてだったら、ちょいちょいセールしてたAmazon Basicのを買ってたかも…。ちょっと誤算でした。

ノートPC

Surface Laptop 3 Core i7 / RAM 16GB / ストレージ 512GB

元々持っていたSurface Laptop 1との置き換えです。在宅勤務なのでそんなに使わないだろうと思いつつ、出先で趣味プログラミングしたい気持ちもあり購入。CPUの世代が変わったことによってコア数も増え、アプリのビルド時間とかもかなり短縮されたりと快適になりました。
おでかけのときはほぼ常に持ち歩くほど。

ACアダプター

RAVPower Type C 急速充電器 90W

Surface Laptop 3がUSB-Cポートを備えていて、かつPD対応なので、持ち歩き用に購入。USB-Cなデバイスが他にない*1こともあって干渉せず使用できています。
ただ、アダプターから直接ソケットが生えてたり、USB-Cケーブル長が短くて、例えば最近電源コンセントを増やしつつあるすかいらーく系列のレストランだと、届かなくて使えないといった問題を抱えてしまいました。
延長ケーブルとか買えばよかったのですが…

RAVPower PD 充電器 TypeC急速充電器 65W高出力

新しいアダプターが発売され、こっちは据え置きを想定してるっぽくメガネコネクター電源ケーブルが生えるタイプのものですが、こちらを持ち歩くようになりました。65Wと上記より少ないですが、USB-Aポートがあり、全部使ってもSurfaceの充電にはそれほど影響しなかったので、こっちこそ持ち歩き用としてベストなのでは…?と思ったりしています。

その他

Nature Remo E lite

なんか買ってました。スマートメーターと連携するやつです。Nature Remoのサーバー側に転送した計測データをAPIで拾ってこれるので、さっくりアプリ書いてPC上に常に表示してモニタリングするようになりました。

f:id:ChiiAyano:20201231164929p:plain
雑に作ったやつ。左側はメーターが持ってる累積値だったので雑に保護

ただ、拾ってこれるデータが1分間に1回の更新で、APIアクセスが5分に30回なのでちょっとかゆいところに手が届かない感じ。Nature Remoの赤外線通信機能はLocal APIとして同一ネットワーク内からダイレクトにアクセスできるので、同じようにNature Remo EもLocal APIを提供してほしいです。Nature Remoアプリだと5秒に1回更新なのでちょっとうらやましい…
developer.nature.global


ルンバ 960
www.irobot-jp.com
ビックカメラでセールしてたときに買いました。そういえば2年前も同じタイミングでルンバ 890を買ってました。


890と比べると明らかに動きが違います。一直線に壁やものにぶつかるまで突っ走ったり、ぶつかった後はいくつかの行動パターンを試行したり…する890とは違い、壁にぶつかりはするものの、ものを避けるように移動したり、周囲をその場で見回して次の行動を決めていたりと、格段に賢くなっています。
2年で手放してしまいましたが、手放してでも買って良かったと思えるものだと思っています。


在宅勤務で家にいる時間が明らかに多くなって、あれを買ったら便利になるんじゃないかとか思ってたらいっぱい買ってました。ちょっと財布が心配になりますが…。
来年は節制できるように頑張ります。なんかまたいろいろ買いそうだなあ…。

*1:あってもUSB-Aから生やしちゃう

Mastodon 自前インスタンスと disk full と戦う

割と前から Mastodon でおひとりさまインスタンスをさくら VPS でだらだらとdocker 運用しているんですが、メンテナンスとか放りっぱなしで気がつけば disk full になるケースが増えてきてしまいました*1
最初の一回目は、Mastodon 以外に運用していた (すでに別サービスへ移行済み) データがあったので、それを削除して事なきを得ていたんですが、二度目はそんなデータも無く何を削除したら良いのかわからなくなり、tootctl を使ったデータ削除も disk full の前にはどうすることもできず*2、もがいていたところこんな記事に出会いました

miha.hateblo.jp

この通りに

$ sudo docker system prune -f

と打ち込むわけです。ありがたや、これのおかげでどうにか空き容量を作ることができ、

$ sudo docker-compose run --rm web bin/tootctl media remove-orphans

が通り、どうにか生きながらえることができました。


ところが数ヶ月後、またしても disk full の悪夢にうなされるわけです。頼みの綱であった

$ sudo docker system prune -f

を試すも、

Total reclaimed space: 0B

と返り、削除できるものがなくもう諦めかけていましたが、docker の prune コマンドにはまだいくつか選択肢が存在していました

qiita.com

試したところ、

$ sudo docker volume prune
...
Total reclaimed space: 66.07MB

なんとかかろうじてスペースが空いたので、すかさず

$ sudo docker-compose run --rm web bin/tootctl media remove-orphans

を実行、無事通り

Removed 1708 orphans (approx. 163 MB)

と出ましたが、これだと数日以内には埋まる可能性があります。
tootctl コマンドには他にもメンテナンスコマンドがいくつかあり、外部サーバーからの古いメディアファイルを削除する `remove` コマンドが存在します。これに気づけなかった。

qiita.com

$ sudo docker-compose run --rm web bin/tootctl media remove
...
Removed 204389 media attachments (approx. 103 GB)

いいですね。借りている VPS は 200GB ストレージなので、実に半分以上を削除できたことになります。
ついでにプレビューカードの削除もしました。これは `preview_cards remove` でできます。

$ sudo docker-compose run --rm web bin/tootctl preview_cards remove
...
Removed 244063 preview cards (approx. 8.54 GB)

いい具合です。これでしばらくは大丈夫でしょう。

とはいえ、放置していればおそらく 1 年後くらいには同じ問題に出くわすかもしれません。そのときのために自力で気づいたときにコマンドを叩くか、cron で定期的に削除したりする必要はありそうです。

*1:PCリフレッシュ時にしばらく見なくなってしまうなどだいぶ放置しすぎている感じは…

*2:一時退避とかするための空きがないやつ

リモートワークで OBS Studio と戯れた話し

新型コロナウイルス感染症への対応として所属する会社でリモートワークが始まり、早 4 ヶ月が経ちました。
2 月と言えば、ダイヤモンド・プリンセス号が日本で隔離措置を受けていた頃です。世界各地で感染者が増えつつある中、日本での感染爆発が起こるかどうか?というところでもありました。それを思うと、会社の意志決定の早さを感じています。

リモートワークでオフィスと変わらぬ働き方をするために、様々な試行錯誤をしてきました。その中で感じたことは:

  • スピーカー出力でオンラインミーティングに参加すると、相手の声が耳に入ってこないことがわかった
  • -> イヤホン・ヘッドフォンを使用することで (自分は) 問題が解消したと思っている
  • 顔が見えないことは相手の声が入ってこないことの一因だと思っていたが、上記により (自分は) 実はそうではないと感じた

一方で、地方に拠点を持っているこの会社で、これまで「東京本社」と「地方拠点」で塊があって、そこを繋げる導線が Skype であったり*1、Slack であったりといったものがあり、どうしても「距離の不均一」を感じてしまう部分がありましたが、一斉にリモートワークになったことで「距離が均一」になり、地方拠点のメンバーとの交流が積極的になった一方、所属する拠点との距離は離れてしまい、いっそうの自己表現を求められるようになってきたと感じています。
例えば、社内では定期的にコミュニティ勉強会のようなものがおこなわれています。リモートワーク環境下においてオンラインでの開催になりましたが、検証環境が家にあって、それをそのまま発表できるという利点を生かした発表を目の当たりにしたりと、表現の幅が広がったなと感じていますし、利点を生かした何かをもっと追求するべきだとも思っています。

仕事中においても、Slack による「文字でのコミュニケーション」では不足する状況が来たとき、遠慮無しに突発でオンラインミーティングの場が立ちあがり、状況を声で説明したり、画面を共有して見せたりという環境が生まれつつあります。こういった場が生まれることも、自分の会社の良いところでもあり、これからの仕事のあり方を示すものだなあと感じています。これらで普段オフィスでやっていることがおおよそ再現できている感じがしています。

そんな中、自分がやってきたことは、常に自分をカメラで映すことでした。特に理由は無いんですが、試行錯誤していく中で、自分が率先して顔を出して参加することにより、メンバーが顔を出しやすい環境を作り上げたいという気持ちもありました。
そして、ただ顔を出すだけではなく、自分らしい何かを表現したいというところもあり、OBS Studio を使った表現に行き着きました。

OBS Studio とオンラインミーティング

会社では Meet を使ったミーティングがおこなわれています。OBS Studio はそのままだとカメラとして使うことができませんが、OBS VirtualCam を使うことで仮想カメラとして出力することができるようになりました。こうなれば、OBS Studio ができることをフル活用できるようになります。使い方はいろいろな方が既に書かれているのでそちらに譲ります。

最初にやったことは、テレビ番組っぽくしたくなったので「中継」のテロップを作るところからスタートしました。Adobe Illustrator では、テロップ制作に使えるようにか、映像規格にあわせたテンプレートがあらかじめ用意されています。カメラで出力できる画面比率を確認して生成することにより、おきたいものをそのままポンおきできるのが魅力です。

f:id:ChiiAyano:20200628230916p:plain
今はこれで落ち着いていますが、他にもいろいろ作りました

そして、obs-web-socket を使うと、その名の通り WebSocket 経由でいろいろな制御ができることにも気付きました。これを使って最初に作ったのは時計でした。テレビ番組っぽい何かに近づけるため、例えば 12 時間表記にしたり、正午は 0 時と見せたり、区切りの時間に数秒だけ表示したり…みたいなことも設定でできるようにしたりしました。

f:id:ChiiAyano:20200628231211p:plain
時刻の表現方法もいろいろ工夫したりしましたね

さらに、ニュース番組などではおなじみの「天気」も出せるようにしました。OpenWeatherMap を利用したシステムで、まだアニメーションさせながらテロップ切り替えなどの手法がわかっていないので、現時点では「住んでいるところの現在の天気」を出すまでにとどまっています。

f:id:ChiiAyano:20200628231633p:plain
割とそれっぽく見えてくるやつ

最近は「気軽に相談に来て欲しい」という気持ちから、常に Meet でルームを立ち上げたままにしています。そこで自分が離席していることを明示するために「離席中」のシーンを作ってるんですが、OBS Studio をフォアグラウンドにして、差し替えるシーンを選んでトランジション…が面倒になってきたので、画面ロックをフックに自動でシーン切り替えをできるようにもしました。マイクだけは OBS Studio で制御していないので、Meet 側でマイクをオフにする手間はまだ残っていますが、かなり便利になりました。

作ったツールの公開とオープンソース

作った 3 つのツールは github にまとめてリリースしました。
使い方などはそこまで詳しく書いてなかったり、天気を表示するツールでは OpenWeatherMap の API を用意する必要があったりと面倒なところはありますが、それでもよければぜひ使ってみてください。
基本的にはシーンに用意したラベルに対して文字列を差し込むだけなので、OBS Studio で表示したいところにラベルを配置し、フォント設定をしておけばいいはずです。
github.com

ツールは以下
github.com

最後に

緊急事態宣言も解除され、リモートワークも解除される企業も多くあります。一方で、海外では未だに感染者が増え続け、日本でも緊急事態宣言後から感染確認者の数が上昇傾向にあります。
リモートワークの重要性が増してきています。その中で自分をどう仕事現場で表現していくかがますます求められていく、そんな気がしています。
作ったツールはネタではありますが、表現の方法の一つとして、これらをそのまま使うもよし、新しい何かを作ってみるもよし、そんな手助けができたらなと思っています。

*1:他のリモート会議システムも含みます