journagu

nagu's journal

キーボードのキーキャップを無刻印にしてみた

はじめに

愛用しているbluetooth対応キーボードのキーキャップが汚くなってきたので、いっそのことキーキャップ全とっかえしようということで全とっかえした。
費用は3,000円。なんとウーバーイーツ2, 3回分くらいで新品の美しさを取り戻せる!お買い得!!

登場人物

キーボード: Majestouch Convertible 2 Tenkeyless 赤軸(US配列)

キーキャップ: Majestouch 交換用キーキャップセット 英語104キー・無刻印

  • 今回の主役、クールなポーカーフェイス

感想戦

これを
f:id:csnagu:20210626162825j:plain

こうして
f:id:csnagu:20210626162845j:plain

こうじゃっ!
f:id:csnagu:20210626162836j:plain

一瞬でスタイリッシュ無線キーボードが爆誕

無刻印の気が引き締まる感じ良いね٩( ᐛ )و

macからwindowsに乗り換えるときにカーソル移動系のキーバインドを再現する

やること

ざっくりやっていること

  1. Change KeyでCapsLockキーをF13に上書き
  2. AutoHotkeyでF13を使ったカーソル移動系キーバーインドを設定する
  3. vscodeキーバインドを使えるようにする

元ネタ(参考)

背景

2年前くらいに組んだデスクトップPCが図体デカい割に最近あまりゲームができておらず、宝の持ち腐れ感が大きくなってきた。スペックはそこそこ良いのにゲーム用途に限定するのはリソースがもったいないなーという思いもあり、普段使いしてるmacbook pro (2017)からの乗り換えを検討してみた(ちょうど最近MBPにもっさり感も感じていたし)。

開発環境の移行はさっくり終わった(WSL2+Dockerすごい。。)けれど、macOSWindowsの細かい違いがどうにも気になってしまい悶々とすることに。今回は悶々の一つである、macOSで使えていたカーソル移動系のキーバインドをWindows10で使えるようにしたのでメモしておく。



CapsLockをF13に上書き

Change Key でCapsLockをF13に割り当てる。

  1. Change Keyを管理者権限で起動
  2. CapsLockを選択
  3. ソフトウェアキーボード右上のScan codeを選択
  4. 0x0064(F13)を入力
  5. 設定を登録してPCを再起動

カーソル移動系のキーバインドを設定

AutoHotkey でF13と各種キーを組み合わせてカーソル移動をセットする(ついでにDeleteや行削除、タブ移動も入れてみた)。


MacOSのカーソル移動系キーバインドを再現するautoHotKeyのコンフィグファイル

やっつけで書いたのでAutoHotkey的な書き方ではないかもしれないがまずは動くことが大事なので( ᐕ)

visual studio code でも設定したキーバインドを使うために

CapsLockをF13に置き換えたがそのままVisual Studio Codeキーバインドを利用しようとすると挙動が不安定になるため、settings.jsonの "keyboard.dispatch" のパラメータを変更する。

{
    "keyboard.dispatch": "keyCode"
}


macOSemacs)の一部キーバインドは中毒度が高い。特にカーソル移動やテキスト編集系のものは覚えてしまうとなかなか抜け出せない。
Windowsでのキーボード生活がだんだん快適になってきた٩( ᐛ )و

awsのObservability Workshopをやってみた

概要

GWどこにもいけないので退屈していたところ、ネットサーフィンをしててこんな記事が目に入った。
dev.classmethod.jp

AWSがなんかワークショップを公開してるらしい。しかも3〜4時間くらいで可観測性について一通りさらえるとか。
僕は監視プラットフォームチームにいるけど現場でトレーシングをどう活用してるのか実感が湧いてなかったのでやってみることにした。

講師もおらず資料だけなので得られることは多くはなさそうだけど、これを機にクラウドAWS)環境下での可観測性についてどう実現しているのか覗いてみようと思う。

参考にしたワークショップはこちら。
observability.workshop.aws

気になったところ

トレーシング(X-Ray

docs.aws.amazon.com

どのコンポーネントとの通信でレイテンシが悪化しているのか(原因特定)にトレーシングが利用できる

時間帯別ではレイテンシが速い/遅いが区別できないため、時間による影響ではない
→ 各コンポーネントのレスポンスタイムを見てみるとS3から特定条件の画像データをGETするときに時間がかかってそう
→ レスポンスが速い山と遅い山の2つあり、リクエストの半分近くが遅い山にあるのでここが原因というアタリがつく

ワークショップでは大体こんなストーリーだったと思う。

f:id:csnagu:20210502160758p:plain
aws-observavility-ws-xray

アタリがついたので実際にワークショップ用アプリのコードを見てたらそれっぽい箇所も見つけた
https://github.com/aws-samples/one-observability-demo/blob/f89628f7a7c15f20b7da7e6d43558289db2941c1/PetAdoptions/petsearch/petsearch/Controllers/SearchController.cs#L132-L133

エンドポイントの監視(Synthetics)

外形監視っぽく利用者がいない状況(深夜など)でも外からエンドポイントを叩いて異常がないかを見れる。

エンドポイントの可用性やレンテンシの記録をしてくれて、uiテストのときは適宜スクリーンショットが保存できるようになってる。
資料ではuiのテストとapiエンドポイントのテスト2通りがあってuiとapiでエンドポイント名が微妙に違うところでハマった。。

ログ・メトリクス(CloudWatch - ログ、メトリクス)

普段利用してるプロダクトとの差分について見てた。
それぞれの良いところや惜しいところが発見できて楽しかった。

よくわからなかったこと

Contributor Insights が薄すぎてどういう用途で使うのかなど全然わからなかった。

その他雑感

AWSっていうまとまりの中で提供される監視サービスは連携がスムーズなので使ってて気持ちいい。
ただ、AWS慣れしてないため一つ一つの操作に時間がかかってしまったことと、多分現場で講師が解説してくれるところを調べる必要があったので3〜4時間ではとても終わらなかった。(スペシャリストからのインプットは効率的だなぁ。。)

慣れてない中、ワークショップ環境の削除スクリプトがうまく動かず各種設定を手で削除して回ったのが大変だった。
しかも削除忘れがあったようで、次の日起きたら1,500円くらい請求がキテタ…会社の勉強費用補助制度使わせてもらおう。

今回はじめる動機になった記事にはPrometheus、Grafanaの項目が追加されましたイェイイェイって感じだったけど、ワークショップ環境を東京リージョンで作った傍ら、AMP, AMGは東京リージョンで利用できなかったので面倒くさくなって投げた。
今度適当にインスタンス建てて触ってみたい。

こういう監視やテストとかのプラクティスをインプットするときに、実際に稼働していて利用ユーザがいる適当なアプリケーションがほしくなるけど、手持ちが無くて辛い経験を何度か味わっているので手持ちを増やしたいなぁ〜。

おしまい(¦3[___]

バーチャル自転車おじさんはじめました

概要

中古で買ったスマートトレーナー(tacx neo smart)一式と Zwift を組み合わせて賃貸アパート 2F で室内運動環境を整える話。
tacx neo smart を買う買わないで悩んでいた私や、賃貸アパートの二階に住んでるけど振動や騒音大丈夫かなと悩んでいた私向けに書いてみる。
ついでに既に持っていた Garminバイスとの連携や、Garmin Connect、Strava の使用感などについても軽く触れる。

主な登場アイテム、サービス

  • tacx neo smart

    • ダイレクトドライブ式のスマートトレーナー
    • Wahoo の KICKR と静音性や機能面などで何かとよく比較されてるイメージ
    • メルカリで私に買われる
  • Garmin ForeAthlete 245

    • Garmin のリストバンド型活動量計
    • 多機能でバッテリー持ちもよく入門に最適(らしい)
  • Garmin Connect

    • Garmin活動量計の値を拾って可視化してくれるアプリ
    • 心拍数やストレス、睡眠の質などを確認できる
  • Strava

    • イケイケのスポーツマンたちが使っている SNS
    • 👆 になりたくてはじめました(´ε ` )

自転車に対するモチベとスマートトレーナー

自転車の身一つでどこまでも行ける感じが好きで、クロスバイクロードバイクと進んでいった。
目的地をごはん屋さんにセットして、汗だくになりつつも素敵な景色を見ながら走って辿り着いたごはん屋で美味しい飯を食べる。
語彙力がなくて最高の二文字でしか感情を表現できない。

北海道の支笏湖沿い ポロピナイ食堂で食べたヒメマス
北海道の支笏湖沿いをロードバイクで走ったときの写真 ポロピナイ食堂で食べたヒメマスの姿焼きとフライ

画像はポロピナイ食堂の「ポロピナイセット」

ただ不幸なことに、私は引きこもり体質だった。
上で述べた感動体験については全肯定ペンギンになれるんだけど、そもそも外へ出るまでの敷居が高すぎる。
あてもなくフラフラするのがあまり好きではないことも相まって、自転車で出かける場合はだいたい毎回以下の一連の作業をしていた。。

  1. その時の気分で目的地の候補をいくつか絞る
  2. 仕事が休みの日は晴れているか、お店は営業しているか調べる
  3. GoogleMap のストリートビュー機能で道幅や路面状況を調べる
  4. パンク修理キットの残部、いざパンクしたときの処置手順を確認する
  5. 当日道中で食べる補給食の買い出し

(ヾノ・∀・`)イヤイヤ、オオイデショ

自転車乗りたいけど外行きたくない気持ちが溢れてインターネットサーフィンをしていたらスマートトレーナーなるものを見つけた。
どうやら屋内用のロードレーサーレーニングアイテムらしい。
上位モデルになると自転車のリアタイヤ部分に直接取り付けるから負荷も自由自在で静か、パワーメーターなどが内蔵されているからトレーニングの効果も測りやすいみたい。すごい。
Zwift というアプリと連携することでバーチャルライド(実際の勾配が再現されていたり他のユーザが同じコースを走っていたりする)もできるらしい。すごい。

引きこもり用ロードバイクガジェットとの出会いである。

中古の tacx neo smart 一式を買う

tacx neo smart というスマートトレーナーが以前から欲しかったけど、Wiggle という値引率がとんでもない海外通販サイトから姿を消して以来諦めていた。
そんな矢先、メルカリで型落ちとはいえ定価 17 万円くらいのものが送料込み 9 万円で売りだされていたので買いだと思った。というか買った。(感謝)

驚いたことに 9 万円の中に下記アイテムが含まれていた。お買い得すぎる。。

  • tacx neo smart 本体
  • スプロケット 11-28T
  • ブルカット 2 x4
  • 汗カバー
  • ANT+ レシーバー

防振マットが付属しなかったため、インターネット上で実績報告が多く上がっている ALINCO のエクササイズマットをポチー。

ものが揃ったら早速手持ちのロードバイクをドッキングする。
今回 Trek Emonda ALR5 でセッティングしたが Bontrager DuoTrap とトレーナーが干渉するため、小さい六角レンチがあると良い。
六角レンチがなかったので無理セッティングしてみたけど DuoTrap が圧で潰れそうになっている。

tacx neo smart with Trek Emonda ALR5

音や騒音はほぼなし

いろいろなブログや Youtube でも公開されているが、おそらく買うとき一番の懸念が近隣や家族へ迷惑をかけないかだと思う。
私は二階に住んでいるので特に階下への振動や騒音迷惑が一番心配だったが、ブルカット+エクササイズマットのおかげか問題なさそう。
振動について、体感ではドラム式洗濯機の乾燥中のほうが強いくらい。
騒音についても多くの先人が述べている通りチェーンの音やギア切り替えの音が一番でかい。でかいと言っても蛇口から出した水がシンクにあたってる音のほうがでかい説まである。

今の所ご近所問題はないが、気をつけるべき点としては深夜から早朝(21:00 ~ 07:30 くらいの感覚)にかけては利用しないのが一番だと思う。
人それぞれ音や振動への感覚は千差万別なので、できる対策は全てとりそれでも苦情が来た場合を想定して外箱は捨てずに保管しておけば、ロスが少なく手放すこともできるだろう。
振動は建物によりけりな部分が大きいため最悪即手放しを考えてロスが少なくなるよう行動しよう。

ちなみに手放しを考えると中古で買うもしくは譲ってもらうが一番安全に思う。

Zwift(iPad 9.7inch)をやってみる

tacx neo smart はパワーセンサやケイデンスセンサを内蔵していて、かつ通信規格は Bluetooth と Ant+にも対応している。
なので Bluetooth が利用できる iPadiPhone、デスクトップパソコン といったデバイスでは Ant+レシーバーがなくても普通に連携できる。

最近 iPad Pro を買って無印の iPad が余っていたため Zwift 専用機として有効活用してみた。
コースの勾配に合わせたペダル負荷や走っている感は見事だった。
これすげえって思ったのでブログを書きはじめてみたが、すげえを言語化できなかったのでぜひ買って自分で体験してみよう。

Zwiftのスクリーンショット

tacx neo smart だけだと心拍数が取得できないため、手持ちの Garmin ForeAthlete 245 を心拍転送モードで iPad に繋いでみた。
心拍数を取る専用のバンド型活動量計もあるらしいがリスト型の活動量計があるならあえて買うほどのものには感じなかった。

Zwift のライド記録は Garmin と Strava に連携している。Garmin, Strava, Zwift はそれぞれ公式の連携可能なサービスに含まれているため難しい操作はゼロだった。
個人的には運動系の記録はすべて Strava に集約したくて、Zwift の記録は Strava にも保存されるよう連携している。
また、ForeAthlete 245 で記録したデータ(外ランニングや外ロード)もすべて Strava にも保存されるようにしている。

Strava は運動強度や評価を見れるだけではなくて近場の人気なコース探索やチャレンジ(1 ヶ月で 100km 走ろう)など、とにかくアスリート向けの機能が豊富な SNS だ。
SNS なのにフォロー・フォロワーがゼロ人で SNS の旨味を全く活かせていないため、どうにかこうにか活用できるようになりたい。
Strava はじめた人がいたらこっそり教えて下さい。

スマートトレーナーを導入してみて

ここ半年ほど在宅ワークがメインとなり外出する機会が更に減ってランニングをはじめてみたりもしていたが、冬場は流石にきつそうだなんて思っていた。 スマートトレーナーと Zwift のおかげで家の中にいてもぬくぬくと自転車に乗ることができ、余裕で汗をかけるようになった。
また、これは想定外だったが Zwift を起動中にピクチャー・イン・ピクチャーでアニメやドラマを観たり音楽聞いたりができるのが地味にポイント高い。

最後に冒頭で述べた

tacx neo smart を買う買わないで悩んでいた私や、賃貸アパートの二階に住んでるけど振動や騒音大丈夫かなと悩んでいた私向けに書いてみる。

についててだが、まとめると「購入を悩んでいる場合は対策を考慮した上でお金を用意して、安全マージンをしっかりとってとりあえず買ってみる」というのが良さそうに思う。
趣味にしては今回の出費は大きめなだった。最低限、投資した分は回収したいため「少しでも…」なんて甘っちょろいことは言わず、運動不足を解消して体力向上や体作りに励んでいこうと思う。

おしまい(¦3[___]

TP-LinkのArcher A10を使ってSoftbank光でIPv6通信を試みる

概要

Softbank 光で IPv6IPv6 over IPv4)を利用するためには BB ユニット(ルータ)を月額課金でレンタルする必要がある。
BB ユニットの無線 LAN 機能を有効にするには更に月額課金が必要となり、長期的に見るとランニングコストが嵩んでくるため、BB ユニットと市販ルータを繋いで月額課金額を減らした。

モチベーション

  • 無線 LAN 機能を有効にするための月額課金が悪魔的なため、市販ルータと組み合わせて IPv6 が利用できる状態で月額課金額を減らしたかった
  • 市販ルータと BB ユニットを組み合わせた系の記事はすぐにヒットしたけど実際にダウンロード/アップロードの速度比較をしていたサイトがほとんど見当たらなかった

Softbank 光を堪能するためのオプション料金体系

Softbank 光回線IPv6 を利用するためには BB ユニットなるルータを 400 円/月で、BB ユニットの Wi-Fi 機能を使えるようにする Wi-Fi マルチパックで 1,000 円/月の課金が必要になる。
BB ユニットは IPv6 対応のために必要なのは良いとして、Wi-Fi マルチパックって……すごい料金体系だなって思った。他のプロバイダもこんな感じなの??

通信速度は地域による差が大きいらしいが、自分が住んでいる地域では比較的空いている時間帯の有線接続で下り 1Gbps 出たことがある。有線のときは平均したら 600Mbps くらい。
無線ではばらつきがさらに激しいけど平均すると大体 180Mbps くらい。
市販のルータに変更してもこの速度より劣化しないことを祈りつつ、続いてルータの選定へ。

ところで Softbank が使っている「IPv6 IPoE + IPv4」という単語、調べてみてもよくわからなかったけど通信は IPoE で扱っていて、IPv6 でつなげるものは IPv4 over IPv6 で繋いで、IPv6 非対応のサイトは IPv4 でつなぐっていうことなのかな。

【参考】

TP-Link の Archer A10 を購入

BB ユニットのモデルは E-WMTA2.3 。 最新のモデルは 2.4 で MU-MIMO やビームフォーミングに対応しているらしい。下記サイトで詳しくまとめられていた。

なにはともあれ月 1,000 円も払い続けたくないので、ちょうど開催されていた Amazon Prime Day セール会場を覗いてみたら TP-Link の Archer A10 が安くなっていた。
IPoE 対応、MU-MIMO、ビームフォーミングに対応しており 802.11ac 規格に対応していたので当分困らなさそうだったので購入してみる。

tp-link Archer A10

ルーター、案外大きくてどこに置くか困る。。。

BB ユニットとルータを接続

BB ユニットは無線 LAN 機能をオフにして A10 をブリッジモードで運用中。

接続構成
ONU --- BB ユニット(WAN), BB ユニット(LAN) --- A10(WAN)

インターネットへは IPv6 で接続できているみたい。
IPv6 接続の確認 - https://test-ipv6.com/

試行 BB ユニット(下り) BB ユニット(上り) A10(下り) A10(上り)
1 160Mbps 140Mbsp 180Mbps 590Mbps
2 310Mbps 200Mbsp 180Mbps 490Mbps
3 200Mbps 230Mbsp 220Mbps 470Mbps
4 280Mbps 480Mbsp 200Mbps 450Mbps
5 180Mbps 390Mbsp 180Mbps 430Mbps

下りは 180Mbps 付近で安定しているように見える。 BBユニット比では速度が落ちているように見える。 一方で上りはなぜか上がり続けている。遅くなるよりヨシ!

回線速度は向上しなかったものの、速度劣化なしに月額課金額を減らせたので良かった。
Archer A10 は 6,000 円くらいだったので半年くらい運用したら元が取れそう!

おしまい(¦3[___]