人生シーケンスブレイク

シーケンスブレイク(Sequence breaking、シークエンスブレイクとも)とは、テレビゲームにおいて開発が想定している攻略ルートを逸脱し、ショートカットする行為のことである。

2019年にいっぱい買ったAnker製品のまとめとそのレビュー

今年になって在宅でリモートワークすることが増えて、それに伴ってパソコン周りの環境をAnker製品で買い揃えたので記録しておく。

Anker PowerPort

MagicTrackpad2, Kindle, iPadなどを充電したり、検証端末を充電したりに使う。

電源プラグでコンセントからの直給電のため、電力不足に悩まされることもない。

Anker 7-in-1 プレミアム USB-Cハブ

USB-CのみのMacBook Pro買い替えに伴い、USB-Cハブが必要だった為購入。

MacBook Pro用のUSBハブは乱立していてどれを買えばよいのか悩んだが、本体横に接続するタイプはどのメーカー製品も発熱が問題らしかった中、このUSB-Cハブは評判が良かったのでこれにした。

5-in-1や、3-in-1もあるが、値段がそれ程変わらないので7-in-1にした。

ほぼ1年利用したが、概ね満足している。

USB-Cポートx2が1つのみになる代わりに、有線イーサネットの別バージョンも販売されている模様。

Anker PowerWave 10 Stand

ワイヤレス充電器。3000円以下だったので試しに買ってみたら最高だった。

スマホを立て掛けるだけで充電されるので、ここ10数年間の毎日ケータイやスマホを有線で充電するという日課から解放された。 度々離席する際に、都度ケーブルを抜いて戻ってきたら挿し直すという手間が無くなることがこれ程便利とは使ってみるまで分からなかった。

これのお陰で出掛ける前に気付いたらバッテリーがきれそうで困った...みたいなことが一切なくなった。

Anker PowerCore 10000 Slim PD

以前持っていたモバイルバッテリーも殆ど使ってないのだが、大型台風が来るということで一応買ってみた。古いモバイルバッテリーはメルカリで1000円位で売れた。

以前のモバイルバッテリーよりは軽くて薄いのでカバンに常備して置いてもかさ張らない。

Anker Soundcore2

ふとPC用スピーカーが欲しくなり購入。
重低音がしっかり出るというレビュー通り、値段の割にはいい音が出る。

AUXは自動音量コントロールのせいか、うねるような音が流れると音量が変になるのでちょっと微妙。
Bluetooth接続は満足しているので、次があればよりスピーカーサイズの大きい上位機種を買ってもいいと思っているくらい。

Happy Hacking Keyboard をキーボードブリッジ無しでDIYで尊師スタイルにした

あらすじ

巷で尊師スタイルと呼ばれる、Macbook Proのキーボード上にHHKBを置いてトラックパッドはそのまま内蔵のものを利用する置き方でHHKBを使いたかった。

調べてみると、純正のキーボードブリッジがあるらしいのだが、クリア色は既に売り切れ・数倍の価格でマーケットプレイスで出回っている状況で、ホワイト色は多少在庫があるようだが、手元のMBPはスペースグレイなので色が合わない...

と悩んでいた所、ゴム板をHHKBの底に貼り付ける方法でDIYしている人が居たので自分も実践してみた。

sheklog.com

必要なもの

3×100×100mmのゴム板が売っているのでこれを購入。

光 ゴム板 100角×3mm KGR-3100

光 ゴム板 100角×3mm KGR-3100

  • メディア: Tools & Hardware

自分が買った時には61円。安すぎて申し訳なかったので他の商品も一緒に注文してしまった。

両面テープ

10mm幅が良い。

丸カッター

オルファ(OLFA) ロータリーカッターLL型 136B

オルファ(OLFA) ロータリーカッターLL型 136B

  • メディア: おもちゃ&ホビー

普通のカッターでも切れると思うけど、こっちの方がキレイに切れる。

カッターボード

カッターで切る時にテーブルを保護して傷つけないためのもの。
丸カッターとカッターボードは実は書籍を自炊する際に元々所有していたので、今回の経費は61円のみ。

DIY

あらかじめMacbook Proに HHKB を重ねて、どれくらいの幅のゴム板であればキーボードと重ならないか確認する。

自分が所有しているものはMacBook Pro (15-inch, 2018)だが、HHKBの両端に5mmずつゴム板を貼り付け、内蔵キーボードの上に載せたとしても内蔵キーボードのキーを押してしまうことがないことが確認できたので5mm幅のゴム板を両サイドに貼り付けることにした。

f:id:ShineSpark:20191015015426j:plain

10mm幅の両面テープを貼る。

f:id:ShineSpark:20191015015416j:plain

カッターでカットする。

f:id:ShineSpark:20191015015409j:plain

HHKBの裏に貼る。HHKBは110mmなので、100mmのゴム板で充分。誤って内蔵キーボードを打鍵しないように今回はできる限り端に貼り付けた。

f:id:ShineSpark:20191015015223p:plain

完成図。内蔵キーボードの真上に置いても内蔵キーボード側のキーが打鍵されることがなくなったので、これで出先でもMagic Trackpadを持ち歩くことなくHHKBを使うことができるようになった。

f:id:ShineSpark:20191015015846p:plain

接写したもの。3mmのゴム板によって内蔵キーボードのキーがHHKBの底面に触れることがないようになっていることが分かる。

当面これで使って見る予定。 ダメだったら両面テープを剥がせばいいだけなので気軽。

Vimでググったコマンド一覧

徐々に増える。

検索(ハイライト)した文字列をそのまま置換する

一度 /<search_word> または * でハイライトした状態で

:%s//<replace_word>/g

:%s/<search_word>/<replace_word>/g と同じ結果になる。

空行削除

:g/^$/d

3行以上の空行を2行空行に置換する

:%s/\n\{4,}/\r\r\r/ 

重複している行を削除

:sort u

検索文字列を含む行を削除

:g/search/d

または、一度 /search で検索して

:g//d

検索文字列を含まない行を削除

:v/search/d

または、一度 /search で検索して

:v//d

文字をn個挿入する

normalモードで 100i-
文字列も日本語も可能。

macOS で JMeter をインストールする 2019

あらすじ

macOS Mojave で JMeter をインストールしようと思ったが、インターネット上の情報は錯綜していたので最新のスムーズなインストール方法を残しておく。

現在の手軽な方法

$ brew cask install java
$ brew install jmeter

以下細かい記録

JMeterインストール

Homebrew に JMeter があるようだったのでそちらをインストールすることにした。

$ brew install jmeter
==> Downloading https://homebrew.bintray.com/bottles/jmeter-5.1.1.mojave.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/75/75fe29e4b60b96e881c3b64475d4f7fc268cd405e300b31f1aa3ce6cb26c4211?__gda__=exp=1570438461~hmac=9517ddefa9f0b663e575518e6da1acaf
######################################################################## 100.0%
==> Pouring jmeter-5.1.1.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/jmeter/5.1.1: 2,492 files, 121.8MB

その後、 JMeter を起動しようとしたが、JAVA環境が必要だと怒られたので環境を構築することにした

$ jmeter
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

$ jmeter --request
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

JAVA環境構築

2019年現在、Oracle JDK 有償化に伴い、Oracle のサイトからダウンロードしようとすると Oracle のアカウント作成またはサインインを求められてしまうので、 Open JDK をインストールする。
Open JDKbrew cask でインストール可能。

$ brew cask install java
==> Satisfying dependencies
==> Downloading https://download.java.net/java/GA/jdk13/5b8a42f3905b406298b72d750b6919f6/33/GPL/openjdk-13_osx-x64_bin.tar.gz
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'java'.
==> Installing Cask java
==> Moving Generic Artifact 'jdk-13.jdk' to '/Library/Java/JavaVirtualMachines/openjdk-13.jdk'.
Password:
🍺  java was successfully installed!

これで JMeter が起動できるようになった。

$ jmeter
WARNING: package sun.awt.X11 not in java.desktop
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
   jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
   Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.bulenkov.darcula.DarculaLaf (file:/usr/local/Cellar/jmeter/5.1.1/libexec/lib/darcula.jar) to constructor com.apple.laf.AquaLookAndFeel()
WARNING: Please consider reporting this to the maintainers of com.bulenkov.darcula.DarculaLaf
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

f:id:ShineSpark:20191008003559p:plain
JMeterGUI

gitでググったコマンド一覧

これは何?

自分がgitであれをやりたい...と思ってググったコマンド一覧を備忘録として残した記事

ブランチ操作

今のブランチをmainに追従させる

$ git rebase -i origin/main

手元のブランチのHEAD, index, ワーキングツリーをremoteの状態で上書きする(手元のブランチの状態をリモートと同じ状態に戻す)

$ git reset --hard origin/main

コミット

直前のコミットに変更を追加する

$ git commit --amend --no-edit

1つ前のコミットに、特定の変更を追加できる。

add している状態で実行すれば、addされているものが追加されるし、

$ git commit --amend --no-edit <file>

とすれば、 を追加できる。

PR作成前の見直しで少しだけ修正が出てきた場合などに、知ってからはとてもよく使っている。

fixup!コメント付きでコミットする

$ git commit --fixup=@

このコマンドを実行すると、addしたものがfixup! コメント付けでコミットされる。

この状態で git rebase -i origin/main などを実行すると、最初から fixup 対象として扱われるので、fixupしたいコミットの次に並び替えるなどをしてfixupが実行できる。

用途としては、

  • 直前のコミットに組み込みたい場合
    • git commit --amend --no-edit
  • それ以前のコミットに組み込みたい場合
    • git commit --fixup=@ した後に git rebase -i origin/main

として使う。

コミットの修正

コミットした順序を入れ替える

$ git rebase -i @~5

並び替えて :wq

複数のコミットメッセージをまとめて修正する

$ git rebase -i @~5

編集したいコミットのpickをrにして:wq 個別に修正する

過去のコミットを分割する その1

分割したいcommitのidを <commit_id> とする

$ git rebase -i <commit_id>~

edit <commit_id> にして :wq で、修正対象のコミットまでHEADを戻す。
この時点では、作業ディレクトリは差分無しの状態だが、

$ git reset @~

をすると、分割したいコミットの差分対象のファイルがunstagingな状態に戻るので、個別にaddやcommitする。 分割コミットが終わったら

$ git rebase --continue

で完了。

過去のコミットを分割する その2

下記コマンドなどで分割したい対象のコミットを e して :wq

$ git rebase -i origin/main

すると、分割対象のコミットまでHEADが戻る。 この時点では、作業ディレクトリは差分無しの状態だが、

$ git reset @~

をすると、分割したいコミットの差分対象のファイルがunstagingな状態に戻るので、個別にaddやcommitする。 分割コミットが終わったら

$ git rebase --continue

で完了。

今のブランチのコミットをすべてコミットし直す

プルリクエストを作る際などに、コミットを綺麗に作り直したいケース。
コミットし直したいブランチをfeatureブランチとする。

まずmainブランチとの差分をすべてreset --softする

$ git reset --soft origin/main

すると、以下のようにfeatureブランチで加えたファイル差分がstageに上がったものの未コミットの状態に戻る。

一度すべてunstageに戻す。

$ git status
On branch feature
Your branch is behind 'origin/feature' by 4 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
    new file:   ...
    modified:   ...
    modified:   ...
    modified:   ...

$ git restore --staged ./

すべてのファイルをunstageな状態に戻せば、そのブランチで行われたファイル差分はあるもののコミットはされていない状態に戻るので、改めて好きな粒度でコミットをしていけばOK.

$ git status
On branch feature
Your branch is behind 'origin/feature' by 4 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    new file:   ...
    modified:   ...
    modified:   ...
    modified:   ...

# 好きにコミットし直していく
$ git commit --message "..."

すべてコミットし直せたら、force pushする

$ git push --force

マージ

別ブランチのコミットの(無編集での)取り込み

dependabotのPRをまとめて取り込みたい時などに使う。

git merge --no-edit origin/branch-name

設定変更

単語単位でdiffを表示する

通常は行単位でしかdiffが表示されないが、単語単位でdiffを表示するには、.gitconfigにこう書く。

[pager]
    log = diff-highlight | less
    show = diff-highlight | less
    diff = diff-highlight | less

lessのようにpager無しで標準出力したい場合には、 | less を外せばよい

git/contrib/diff-highlight at master · git/git · GitHub

branch をpagerとして出力するのを辞めたい

.gitconfigにこう書く。

[pager]
  branch = false

docker, docker-composeでググったコマンド一覧

これは何?

自分がdockerやdocker-composeであれをやりたい...と思ってググったコマンド一覧を備忘録として残した記事

docker

今起動しているコンテナをすべて止める

$ docker ps -q | xargs docker kill

以前restart=alwaysでdocker runしたコンテナを探す

$ docker inspect -f "{{.Name}} {{.HostConfig.RestartPolicy.Name}}" $(docker ps -aq) | grep always

以前restart=alwaysしたコンテナの自動再起動を止める

$ docker update --restart=no $CONTAINER_NAME

docker-compose

Docker実践ガイド 第2版 (impress top gear)

Docker実践ガイド 第2版 (impress top gear)

Contessa II コンテッサ セコンダの座面をメッシュからクッションに交換した

あらすじ

コンテッサ セコンダ の下記モデルを昨年夏に購入してほぼ1年満足して利用していたよ。

高い買い物なので大塚家具にアーロンチェアなども含めて試座しに行ったりしつつ、国産メーカーだから日本人の体型に合っているという口コミに確かになーと共感しつつ、最終的にコンテッサ セコンダを購入したよ。
以前バロンチェアを利用していた時には座面がメッシュだと通気性が良くてよかったのでメッシュタイプにして満足して利用していたよ。

コンテッサ セコンダは、コンテッサに比べても座面のメッシュが強くなったこともあり、たるみにくいとレビューで書いてあったから安心してメッシュにしたよ。 実際、それまで非常に満足して利用していたよ。

ところが状況が変わってきた

今まではかなり満足して利用していたんだけれども、リモートワークOKというかほぼフルリモートな会社に転職して、一日8時間、連日座り続けるようになったらだんだんお尻が痛くなってきた。
メッシュが強いことで、長時間座っているとまるでラケットの上に長時間座っていたかのようにメッシュに触れる部分が痛くなることがあった。

それに、朝起きて支度してエアコンの効いた自室でリモートワークを開始するだけなので、蒸れを気にする機会がないなーと気付き、だんだんクッションタイプの方がいいかもと思うようになってきた。

オカムラに相談してみる

軽くググったところ、有償で交換できるようなので早速オカムラに相談。
金額は3〜4万円、大体1ヶ月位で生産できるとのことでまぁ今後も使うことを考えるといいかなということで依頼。

今年のGWは10連休だったので多少遅れますとのことだったけど、大体予定通りに納品の交換日程になった。
支払いはクレジットカード払いにした。

交換・そして交換方法も教えてもらう

こんな感じでクッションタイプの座面を持ってきてもらったので、早速交換してもらった。

クッションタイプの座面

ついでに座面の外し方も教えてもらった。座面を外すには、座面の裏側が5mmの6角ネジで四隅の4箇所を緩めて座面を外すだけでOK。

時々家具購入時に付属しているL字の六角棒レンチは大抵4mmで5mmのものは少ないので今後自分で交換する際には注意。 自分はこちらのラチェットドライバーを持っていたから大丈夫かなと思ってたけれど、

一部ストレート型でないと届かないネジもあったのでボールポイントレンチがあった方がよかった。 自分は自転車用に買ってたこれが丁度よかった。

なんやかんやでクッションタイプに換装完了。

換装後のコンテッサ セコンダ

交換した後のメッシュの座面を処分するか訊かれたのだが、これはそのまま所有して暑い時期や気が変わった時の為に手元に残しておくことにした。

メッシュタイプの座面

ついでに座面の昇降ワイヤーの硬さも調整してもらって作業完了。

換装した感想

クッションタイプの方が優しいので長時間座る場合にはこちらの方がオススメ。暑さや蒸れが気になったらまたメッシュにしようと思っているけど、当面はクッションでいいかな。
交換費用はそれなりに掛かったけれど、より快適になったことや座面の選択肢が増えたことに満足している。

みんなもコンテッサ セコンダを買えばいいよ!

ちなみに公式サイトには、カラーシミュレーターがあるよ!

www.okamura.co.jp

参考