Tech系サービスやガジェットの使い心地、自分の作業環境、資産運用について気が向いたときに記録を残しています。

記事内のAmazonアソシエイト適格販売及び、Google Adsenseでお小遣いを得ています。

毎日使う卓上の充電ケーブルを Anker Magnetic Cable Holder ですっきりまとめた

在宅勤務中の私用PCと仕事用PCの切り替えについてはUSB typeCドックの導入でケーブルをひとまとめにして、シンプルに切り替えができるようになった。

しかし、大WFH時代では卓上環境の改善をどうしてもしてくなってしまうもの。PCと反対側にある、充電ケーブルがどうしても美しくないので、手を入れることにした。

商品概要

f:id:gensobunya:20210131094817j:plain
卓上の充電待機ケーブルをスッキリ納める

amzn.to

今回購入したのはAnker Magnetic Cable Holder、その名の通り磁石が内蔵されたケーブルホルダーで、ベースとなる土台を机に接着し、ケーブル側にもマグネット内蔵のシリコンパーツを取り付け、未使用時は磁石の力でベースに整理整頓するという製品だ。

複数口のUSB ACアダプターと組み合わせて頻繁に使うが、いつでも使われているわけではないケーブル類を机の端にストックしておくために導入。

これ一つの製品で5本のケーブルを固定できる。5本あれば大抵の小物同時充電には耐えられるだろう。

これ、高くない?

さて、この手のケーブルホルダーとしてマグネット式はとにかくお高い。とはいえ、値段なりの価値は十分にあると断言できる。

Amazonケーブルホルダーと検索すると分かるように、シリコン製のホルダーに押し込むタイプのケーブルホルダーなら半額か、何なら100円ショップにも売られている。実に15倍以上の価格差だ。

しかし、実際に使用してみるとわかるのだが、ケーブルを押し込んだり、押し込んであるケーブルを取り出すのは意外と力がいるし、ケーブルを痛める方向に力を入れることとなる。 Type-Cケーブルは高価なことも多く、スマートウォッチのケーブルは専用品なのであまり負荷をかけたくなったということもあってマグネット式を使用することにした。

中華製品は車内向けの1本単位マグネットホルダーや、卓上向けでもマグネット3個の製品が多かったため、安心のANKER製品をチョイスした。

すっきり度

改善前の写真を撮り忘れてしまい、縦長画像で恐縮だがビフォーアフターを撮ってみた。

f:id:gensobunya:20210131101832j:plain
before

f:id:gensobunya:20210131094856j:plain
after

Anker PowerPort Atom III Slimスマートフォン・スマートウォッチをメインにキーボードやMicroUSBアクセサリの充電ケーブルを賄ってる。ホルダーの導入に伴い、両面テープで机の裏に移動してもらった。

卓上にはそれらのケーブルが転がっていたのを、見ての通り机の奥で待機させている。もちろん、前述の通りマグネット式ゆえ取り出しの手軽さが活きているのでケーブルを取り出すのは非常に簡単だ。

最近買ったHP Thunderbolt3ドック 120W G2についてはまたレビュー記事を作成する予定。

在宅勤務のために築30年激寒賃貸物件を断熱グッズで改善して優勝した

今年の冬は寒い。関東の海沿いでも寒い。

今年引っ越した自分は、新居の断熱性能の低さに愕然としていた。なんせ 暖房を27度に設定してすべてのドア・窓・シャッターを締め切っても室温は17度前後なのだ

朝にシャワー・ランニング・Zwiftのバーチャル通勤ライドなど工夫したがそもそもの保温力が低すぎる。陽が差し込む真昼はともかく、夕方は拷問だ。夏のあり得ない暑さもおかしいと思っていたが、おかしいのは物件の方だった。

引っ越すことも考えたが、その他の条件があまりにも良すぎるのでホームセンターで色々と睨めっこして自宅の改造に成功した。

なぜ冷えるのか?

熱は「伝導」「対流」「放射」で移動する。部屋の保温に関しては放射はほぼ関係がないので、伝導と対流に的を絞った対策を行う必要がある。

結論から言うと、「伝導=アルミサッシ・窓対策」「対流=隙間対策」の2点が重要になってくる。

窓・アルミサッシ対策

伝導を防ぐためには中間層を設けて熱が伝わることを防ぐ必要がある。ダウンジャケットが暖かい原理と同じで、暖かい空気と寒い空気の間に空間を作ることで、温度差を維持する。

窓・アルミサッシ共にニトムズの製品を利用した。

重要なのは空気の層の厚さだが、あまり野暮ったくなっても嫌なので、適当な厚さのものをチョイス。 やたら高いプチプチについては疑問もあるかもしれないが、賃貸で糊残りしてしまうことは避けたいので、念には念を入れて水張りタイプをチョイスした。

f:id:gensobunya:20210110221917j:plain

当然だが外の景色は見えなくなる。この点は1階の住人としては問題なかった。 触ると冷たいアルミサッシとアルミ窓枠にペタペタとフォームテープを張っていく。

f:id:gensobunya:20210110222004j:plain

とりあえず触っても冷たくはなくなった。 伝導は抑えられているはずなのだが、どうにも実感が湧かない。窓脇にいる際に少し寒くなくなったかな…という程度だ。

隙間対策

これの威力は絶大だった。

窓を閉めた際の隙間にフィットして空気の移動そのものを防いでくれる。

f:id:gensobunya:20210110222330j:plain

写真のように、窓を閉めた際に当たる部分に対し垂直になるように上から下までビッチリとこのモヘアテープを貼る。

f:id:gensobunya:20210110222427j:plain

閉じたときに隙間が埋まる。長さが何種類かあるので、自宅の隙間に合うサイズを選ばないと窓が閉まらなくなり、逆効果になってしまう点には注意が必要。

結果

昼間の室温と夜の室温で、夜の方が高くなるという結果を得た。体感的にも明らかに暖かい。(そもそも寒いだろうというツッコミは禁止)

ちなみに、室温を計っているNatureRemoは顔の高さに設置している。

最後のトドメ

既に暖房の設定温度を下げても未加工の昼間より夜間の方が部屋が暖まっている状態。ここで最後の仕上げとして、足元保温の最強グッズを投入する。

デスク下用のホットカーペットである。 この製品の画期的な点は三面のみならず床にもカーペット部分が存在すること。床の冷たさと足元からの冷気を完全にシャットアウトできるアイデア商品だ。

おまけでブランケットもついてくるので、デスクの下はもはや完全にコタツ

f:id:gensobunya:20210110220740j:plain

物件買うときの学び

  • 樹脂サッシ
  • 床暖房
  • 断熱材の厚み
  • 二重窓

これらは絶対

Logicool ERGO M575 購入当日レビュー&設定例

1カ月前、都合よくM570tがチャタり始めた。

そしてその数日前にはM575発売のニュース。実に10年ぶりの後継機。 ハイエンドに行こうと思ってMX ERGOを試した時期もあったがどうにも感触が違って売り払ってしまった身としては、渡りに船。

そして本日Amazonから届いたので、ファーストインプレッションとWindowsでの設定追い込みについて記載していく。

TLDR

良い点

  • BT対応
  • ホイールの工作精度◎
  • 形状改善(個人的には)

悪い点

  • ユーティリティソフトが貧弱
  • ボタン類の位置が悪い(チリも合っていない)

Unbox

f:id:gensobunya:20201126201041j:plain

パッケージが大幅に小型化した。中身はプラスチック包装がなく、段ボールで仕切られているだけの簡易な放送。プラと配送コストの削減ということだろうか。

f:id:gensobunya:20201126201141j:plain

レビュー

f:id:gensobunya:20201126201205p:plain

USBポートを空けたかったので、Bluetoothで設定。

M575もM570tと同じく電池駆動なので、サンプル電池の絶縁シートを引き抜いたら初回起動する。最初からペアリングモードに移行してくれたので、説明書なしにWindows側から認識してペアリングまで進むことができた。裏側のボタンでUnifyingと切り替えることもできる。

表面加工はほぼ変わらないが、手のひら部分が波打っているため肌触りには差がある。密着して蒸れない分M575の方が自分好み。

全体の形はほぼ変わっていないと思いきや、M575の方がM570tに比べて山が低く感じる。戻る・進むボタンの位置も今の自分のポジションだと少し指の移動が多くなった。ここはややマイナスだが人によって持つポジションが違うと思うので、あくまで自分の場合だと考えてほしい。ボールを触った感じはほぼ変わりない。

クリックホイール進化!!!

圧倒的な進化はセンターのクリックホイール。M570tはすぐスイッチがヘタってしまい押し込まないと反応しなくなるが、M575は非常に軽い力でスイッチを押すことができる。 また、左右ガタもなく明らかに精度が良くなっている。タブを開くときにホイールクリックを多用しているので自分にとっては非常にうれしい。力を込めなくともいいので耐久性も上がりそうだ。

ユーティリティ

f:id:gensobunya:20201126201836p:plain

M575はSetPointではなくLogicool Optionsなるソフトウェアを専用ユーティリティとしてインストールすることになる。SetPointは最近のLogiデバイスだとお役御免の旧ソフトなのだが、見ての通り後継となるLogicool Optionsの機能は非常に少なく、存在してる意味ある?と言いたくなる。(上位機種だとほかのボタンの割り当てを変更できるが、M575には余計なボタンがないので使えない)

何より、愛していたポイント加速度オプションがなくなってしまったので、高精度な動きができなくなってしまった。

遠くに行く際は速く、近くは精密にできるセッティングを追い込めたのだが、現行モデルでは不可能。とはいえ定速では非常に使いづらいので、マウスオプションの階層を掘っていたところ、いくつかのOS設定で完全再現とはいかずとも、満足できる範囲には設定することができた。

Windows設定でSetPointに近づける

SetPointがあるとそちらを使ってしまうが、Windowsのマウス設定は意外と細かかった。

f:id:gensobunya:20201126202219p:plain

「その他のマウスオプション>ポインターオプション」から自分の環境ではOFFになっていた”ポインターの精度を高める”チェックと"自動的に既定のボタン上に移動"をONにすることで、精密動作を改善できた。

完全とはいかないが、一応満足。ボタン上の移動は人によって好き嫌いが分かれそう。

総評

正統進化しているが、いくつかトレードオフがあるのでロジクールには更なるサポートを期待したい。 USBポートを塞がなくなったのは非常にGood。ただUnifyingの低遅延超安定も捨てがたい。

メディア記事によると、スイッチそのものは変わってないらしいので遅かれ早かれチャタリング起こすのは確実なので500円をケチって1年保証モデルを買わないように注意。保証期間内ならサクッと新品交換されるので2年保証は高確率で半額セールだ。

ちなみに、M570tは型落ちとなったので、常にプライムデー価格になっている。確保したい人は今のうちに。3年保証も健在だが、おそらく交換時にはM575と交換することになるだろう。

自分はあまり型落ちを使わずに新しいものを早く試して慣れたい派なので、このままM575と生きていく。

2020独身の日 AliExpress電子製品シリーズ

これまで買った中でまともに稼働したAliExpress購入製品で、独身の日セール対象について再度紹介。

Orico USB-TypeCハブ

s.click.aliexpress.com

ORICOのTypeCハブ。USB PD 100Wに対応しており、USB3.0ポートも4つ、有線LAN対応というちょうどいい製品。 中華製品で唯一T14 AMDといい感じに動作してくれた。詳細は過去記事にて。

gensobunya-tech.hatenablog.com

ORICO M.2 SSDケース

T14のセットアップ時に利用した。Amazonでも売ってる。

amzn.to

s.click.aliexpress.com

Niz Plumキーボード(セール対象ではない)

s.click.aliexpress.com

BT, USB両対応(しかもTypeC)で静電容量無接点式のキーボード。Realforceと比べてそれほど安いわけではないが、コンパクトな形がよくてHHKBの配列では不安がある人にはちょうどいいと思う。

Google Play MusicからiBroadcast向けにライブラリをエクスポートするスクリプト書いた

GPMの代わり、存在しない問題

自前で手に入れた音源をクラウド上にアップロードし、マルチデバイス(PC、スマートフォンのみならずスマートスピーカーや自動車まで)で再生できるGoogle Play Musicがサービス終了してしまうというGPM愛好家には由々しき事態が起きている。

サブスクリプションストリーミングサービスを契約せず、買い切りの音楽データを買うか、CDのリッピングのみで視聴していた一部のユーザーには大打撃。なんせ世の中はサブスクリプション全盛期なので、ストリーミングをしないという選択肢がGPM以外のサービスにはほぼないのだ。 もちろん、未だにこんな古臭い仕草をして音楽データを貯めこんでいるのはストリーミングサービスに乗らないマイナーな音楽を聴いているからであるので、ストリーミングサービスは代替たりえない。

後継を名乗っているYouTubeMusicは、月額980円のお布施なしには自前の音源をAndroidAutoで聴いたりプレイリストを予めDLしておいたりすることすらできない産廃なので論外。

救世主iBroadcast、だけど…

www.ibroadcast.com

そんな世の中でも、ミュージックロッカー単体サービスをしているiBroadcastというサービスがある。できることはおおよそミュージックロッカーとしてのGPMと一緒だ。 UIやレスポンスにはまだまだ改善点があるが、機能があるだけありがたい。

Alexa, google home, Chromecastに対応しておりAndroid/iOSアプリもあり、AndroidAutoにも対応している。 ストリーミング音質は128kbpsと貧弱めだが、プレミアムプラン(現在開発中)は320kbpsだ。

サービスそのものについては、自分と同じくお試ししている人の優秀な記事を見つけたので、こちらを参考にどうぞ。

applecom.blog.jp

そのほかの仕様

大体ここを参照してほしい。今のところ、ビットレート以外に制限らしい制限はない模様。 フィードバックの送付先も書かれている。

www.ibroadcast.com

移行手順

  1. GPMの全ライブラリ(もしくはアップロード前のローカルファイル)をダウンロードするなりして用意する
  2. MP3 Tagなどでタグ情報を整理する
  3. MusicSyncLiteを使いアップロード
  4. 分割されたアルバムをマージする
  5. プレイリストをエクスポート・インポートする

1. GPM全ライブラリをダウンロード

解説は省きます。さすがにもう終わってるよね?

2. MP3 Tagなどでタグ情報整理

これも解説は省略。ポイントは以下の2点。

  • アルバムアーティストを必ず付与する
  • 古いID3タグは削除しておかないと文字化けするので注意。v2.3以降だけにしておく

f:id:gensobunya:20201003014030p:plain

3. ファイルアップロード

f:id:gensobunya:20201003013318p:plain

何パターンか手段が用意されているので、好きなものを。アップロードは遅めなので気長に待つ。

4. アルバムのマージ

なぜか、末尾にハイフンがついていたり一部のアルバムで2枚に分かれてしまうことがある。

f:id:gensobunya:20201003014641p:plain

f:id:gensobunya:20201003014650p:plain

タグの問題ではないので、iBroadcastに実装されているLibrary Editorを使って修正する。ドラッグアンドドロップでアルバムをマージできるので、目視で手作業。 タグ情報はすべて変更できる…みてるかYTM、これが当たり前なんだぞ。

f:id:gensobunya:20201003014824p:plain

5. プレイリストの移行

最大の難関。iBroadcastにはtxtファイルで作成したプレイリストをインポートする機能があるが、GPMにはエクスポート機能がない。 そこで、GitHubに転がっていたGPMのプレイリストをcsvに変換するスクリプトをfolkして、iBroadcast変換用に書き換えた。

gist.github.com

使い方は、プレイリストのページにアクセスしたあと、Gistのスクリプトを開発者ツールのコンソールにコピペして実行するだけ。 そうするとプレイリスト名のtxtファイルが落ちてくる。

iBroadcastは以下の形式で書かれたテキストをプレイリストとして読み取って、ライブラリ内の曲名とマッチングしてくれる。

[count]. [track title] by [artist name]
[track title] by [artist name]
[track title]

ただ、現在は日本語を含むアルバム名の曲ではマッチングが正常に機能しないという不具合があり、インポートはうまくいっていない…洋楽ライブラリならば問題ないが。 修正にいつまでかかるかわからないが、ひとまずプレイリストのバックアップという意味でエクスポートしておくに越したことはない。

自分はもう不具合フィードバックを送ったが、困っている人はどんどんフィードバックメールを送って改善を促してほしい(レスポンスは速い)

修正されていました。 それと、このスクリプト! など一部の文字エスケープできていませんでした…適宜手動でマッチングしてください

Terraformのlookup()は引数内のモジュールoutputを解決する前に動く

起きたこと

利用しているAWS WAFv2の社内モジュールでは、変数に応じてマネージドルール or IPset or regexルールをACLに登録する仕組みにしています。 ipsetやregexのルールはまた別のモジュールで指定しているので、WAFモジュール側でどのルールを渡されたかlookup()を用いて判定しようとしています。

# ipruleモジュール
resource "wafv2_iprule" {
    ...
    output = {
        name = this.name
        arn = this.arn
    }
}

# WAFv2モジュール
resource "wafv2_webacl" {
 for_each = lookup(var.iprule, "arn", false) == false ? [] : [""]
 ....
 for_each = lookup(var.regex, "arn", false) == false ? [] : [""]
 ....

こんな感じで使っています

module "huga"{
  source = "hogehoge"
...
  iprule = { # ここをregexとかmanagedに変更すると指定ルールに応じた実装になる
    rule_arn = ""
  }
}

この実装だと、managedruleのようなarnがあらかじめ定まっている場合を除き、うまく動作しません。 ipruleとregexどちらも存在するかのように判定してしまい、変数のobject構造がmoduleの期待とズレてしまいます。

原因

lookup()は引数の対象オブジェクト内にある変数の解決を待たずに動作する(undefind状態のまま評価してしまう)ので、lookup(var.regex, "arn", false) がエラーを返しており、デフォルト値であるfalseを返さないことが原因です。

map内部の変数は全部解決してから評価してほしいのに…

解決策

lookup()ではなくmoduleで変数の存在確認をするにはtry()を使いましょう。

モジュールをいじれない場合はruleのモジュールを先にapplyすると、tfstateからarnを引っ張ってきて式を評価するのでワークアラウンドとしては -target を使ってapplyするのも一つの手です。

github.com

Gatsbyで運用しているサイトのビルドをVercelからGatsby Cloudに変えてみたら爆速になった

10分くらいかかってたビルドが3分になった、催眠術とか超スピードとかそんなチャチなもんでは(ry

超技術に感動したので、自分がホストしているGatsby Webサイトのビルドを全部任せることにしました。

なお、ファイル数多いリポジトリの場合、Vercel無料プランの5000アップロード/day 制限に引っかかります。(Vercel内でビルドする場合はビルド前ファイルが1万ファイル上限) このため画像の多いブログはVercelではなくFirebase hostingへ移行することになりましたが、サークルサイトは以下の方法でサクッとビルド環境のみを移行できました。

移行手順

Vercelでのリダイレクト設定やキャッシュ設定は維持したまま、5分でビルド環境のみをGatsby Cloudへ移行できます。

  1. VercelプロジェクトのGitHubリポジトリ連携を切る
  2. Gatsby Cloudでプロジェクトを作成して、使っていたGitHubプロジェクトを連携する
  3. Hosting先としてVercelを選択して連携する
  4. プロジェクトルートにあったvercel.json/static/以下に移動して、ビルド後のルート直下に配置されるようにしてPush

3の時点で1回ビルドが走り、プレビュー用URLが発行されるのでそこで動作確認できます。

メリット

Lighthouse CIを回せる

Gatsby Cloudはビルド後に自動的にLighthouseCIを回してスコア算出してくれます。せっかくGitHub Actionsで実装したのに…

f:id:gensobunya:20200918090524p:plain

ありえんくらいビルドが速い

Vercelのビルドは下記記事参照。これはサークルサイトなので2~3分で終わっていますが…

gensobunya-tech.hatenablog.com

Gatsby Cloudでは1分です。

f:id:gensobunya:20200908233036p:plain

※追記、10000以上のサムネイルを生成するブログをGatsby CloudでビルドしてFirebase Hostingにデプロイしました

f:id:gensobunya:20200918090524p:plain

ホスティング先を気軽に変更できる

NetlifyやVercelはビルド+ホスティングでしたが、Gatsby Cloudを間に挟むことでビルドとホスティング疎結合な構成になりました。

Gatsby Cloudでビルド先設定を変更することで、FirebaseでもS3でもGCSでも好きなホスティングさきにいつでも変更できます(DNSレコードの変更が必要ですが)

プレビュー環境にアクセス制限がかけられる!(無料

シンプルなパスワード制限やGatsby cloudのログイン状態などで制限がかけられます。 仕事で使うときによく出る要件なので、嬉しいですね

もちろんPRプレビューもあるぞ!

特定Branchを常にビルドするオプションは、個人プランでは無いみたいですね。VercelやNetlifyの方が一枚上手。

f:id:gensobunya:20200918090947p:plain

まとめ

これまで、ホスティングサービスはビルドとホスティングがセットになっていましたが、Gatsby Cloudはビルドのみを最適化するため、「リポジトリ」「ビルド」「ホスティング」全てを疎結合に構成することができるようになりました。 静的サイトで回すテストは、機能面以外だとLightHouseCIが鉄板だと思うので、そこがビルトインされているのも非常にうれしいですね。