人生シーケンスブレイク

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

バックパック・リュックサックの無駄に長い紐を火で炙る

クロスバイク用にドイターのバックパックを幾つか使っている。

ヘルメットも収納できたりと高機能なんだけれども紐が長い...

どれだけ厚着したり太ったりしたとしても、この長い紐を使い切ることはなさそうだったのでどうすればいいのかなぁと調べてたところ、いい方法があった。

火で炙る

どうやらバックパックの長い紐は、ハサミでカットした後に火で炙ってしまえばいいらしい。

f:id:ShineSpark:20210907064514j:plain

ばっさり。

で、チャッカマンで炙ってみた。

f:id:ShineSpark:20210907064922j:plain

丸で囲った部分が炙った紐。思ったより綺麗に仕上がっている。 炙った部分はナイロンが溶けているので、紐がほつれる心配がない。

この後に2つ折りにして接着剤で止める人もいるようだけれども、特に要らなさそうだ。

追記: 火で炙って半年後

火で炙って半年程経ったが、その後もほつれたり、カットした事を後悔したことはなかった。むしろカットしたことで移動中に何処かに引っかかったりすることや煩わしさから解放された嬉しさの方が多かった。

カットして火で炙る。オススメです。

デロンギの全自動エスプレッソマシン、どれを買ったらいいのか分からない問題の解法

ネスプレッソ / NESPRESSO Citiz C110 からの乗り換え

10年以上前に購入したカプセルタイプのエスプレッソマシンから、より本格的な全自動エスプレッソマシンに乗り換えることにした。

こういうタイプ。

カプセルタイプなので電源を入れて1分足らずで準備完了。カプセルを入れてボタンを押すだけでエスプレッソが出てくる。メンテナンスもカンタンということ無しなのだけれども、少し欲が出てきてちょっと手間を掛けても挽きたて・ミルクフロッサー付きのマシンが欲しくなってきた。

折角だから最高のものを買いたいんだぜ

ということで、有名なデロンギの全自動エスプレッソマシンを買おうと公式Webサイトを見てみた。

f:id:ShineSpark:20210905075545p:plain

デロンギ 全自動コーヒーマシン | 製品ラインナップ

のだけれども、10種類もあるのにスペック比較表がなくどれを買えばいいのか判断が難しい...。

価格的に10万円前後なので、きちんと吟味した上で購入したい。

調べてみた

  • Amazon.co.jp
    • 検索結果に他社製品が混ざり込んでいて良く分からない
    • 全製品が掲載されていない
  • 公式サイト・公式ショップ
    • 全製品が掲載されているが、スペック比較表がない
    • 製品カタログのPDFがあるものの、全製品のスペック比較表ではない
  • 価格.com
    • ある程度機能比較ができるものの、全製品が掲載されていない
  • ヨドバシ.com
    • 個人的にはヘビーユーザーなので好きだが、直販モデルが未掲載
  • 各所のブログ
    • 一覧表があったりするけれども、最新ではなかった

ということで、結局現行製品ほとんどの取扱説明書やスペック表を読み解いて、自分の中でどれがよいかまとめることにした。

製品の絞り込み判断材料

ミルクコンテナあり / なし どちらがよいか

どれを買うか検討するにあたり、ミルクコンテナ(ラテクレマシステム)あり / なしは絞り込み材料の一つ。

  • あり
    • ミルクコンテナの洗浄の手間が増える
      • そのままコンテナを外して冷蔵庫にしまうのもOKらしい
    • 給湯するためにはミルクコンテナと、給湯ノズルの交換が必要
    • ミルクジャグでスチームをして...のような手作業でラテアートをしたりができなさそう
  • なし
    • ミルクコンテナの手間がない
    • そうはいっても、牛乳を使うのであればフロッサーのメンテナンスの手間は必要
    • ラテアートにチャレンジするにはこちら

今までカプセルタイプのエスプレッソマシンで、ほぼ毎日カフェラテをする程牛乳を使っていたのだけれども、メンテナンス性を考えて今回はミルクコンテナなしにした。

実はミルクコンテナありでもそのまま冷蔵庫にしまえばよいというのは購入後に知ったのだが、まぁラテアートもやってみたかったので最終的にはミルクコンテナなしで良かったと思っている。

液晶ディスプレイあり / なし どちらがよいか

液晶ディスプレイあり / なしは実は非常に難しい問題で、一見、情報が増える分だけ便利かなと当初は折角買うのであれば液晶ディスプレイありのエレッタかディナミカを買おうと考えていた。

しかし、説明書を読んでいる内に評価が逆転した。

これは実際のディナミカの説明書なのだが、

f:id:ShineSpark:20210907052312p:plain

凝ったメニューや2杯抽出はドリンクメニューボタンを押した後に都度選択する必要が出てくる。

液晶ディスプレイなし(≒ 物理ボタンのみ)モデルではエスプレッソ x 2は1ボタンで抽出できるのだが、自分用に1人分抽出したり、夫婦で2人分抽出したりを使い分けたい用途では液晶ディスプレイモデルはボタン操作が増えて面倒だと思った。

また、豆や水の補充や洗浄などのアラート系は液晶ディスプレイなしモデルでもランプによるアラートで充分なので、液晶ディスプレイなしのモデルにすることにした。

ミルクコンテナなし / 液晶ディスプレイなし でどのモデルにするか

ということで、以下のモデルの中で検討することになった。

製品名 型番 発売日 価格(参考: 公式ショップ)
マグニフィカS ECAM23120BN/WN 2016/10/20(価格.com登録日) 87, 780
オーテンティカ ETAM29510B 2018/08/22 129,800
マグニフィカS ECAM22112B/W(直営店限定モデル) 2020/07/01 59,800
マグニフィカS スマート ECAM25023SB(直営店限定モデル) 2021/03/04 98,780

マグニフィカSが評判も良くブログなどでも買ってよかったと聞くモデルなのだが、発売が2016年なのでそのうち新モデルが出て後悔しそうな予感がした。
オーテンティカは本体の細さを優先し水タンクが唯一背面になっているモデル。自宅の設置予定の場所では、水タンクが背面になることで水補充の手間が上がりそうだったのでスルーした。
マグニフィカS(直営店限定モデル)は価格を優先したエントリーモデルとのことだったので、発売日も新しいマグニフィカS スマートにしようとなった。

最終的に

マグニフィカS スマートを購入しました!!

f:id:ShineSpark:20210907062104j:plain

ミルクジャグは目盛り付きのこちらを購入。

家庭でカフェラテが簡単に作れてリモートワークのお供に最高。

f:id:ShineSpark:20210907062120j:plain

当面はいろんなコーヒー豆を買って試してみる予定。

Ubuntuで通知などのポップアップもダークテーマにする

外観はダークテーマ(Yaru-dark)なのに、通知やポップアップはデフォルトテーマのままだったのをそろそろ直すかと思って一念発起した。

f:id:ShineSpark:20210826060420p:plain f:id:ShineSpark:20210826060017p:plain f:id:ShineSpark:20210826055958p:plain

この状態。

環境

下準備

Gnomeの外観設定を編集するために、 gnome-tweak-tool と、gnome-shell-extensionsをインストールする。

$ sudo apt install gnome-tweak-tool
$ sudo apt install gnome-shell-extensions

設定

Tweaksを起動する。

# 起動
gnome-tweaks

初期状態では、Appearance > Shell が変更不可能になっている。

f:id:ShineSpark:20210826061547p:plain

Extensions > User themes の項を探して有効にする。

f:id:ShineSpark:20210826061759p:plain

Tweaksを再起動すると Appearance > Shell が変更可能になっているので、 Yaru-dark に設定変更する。

f:id:ShineSpark:20210826061923p:plain

すると、通知などのポップアップもダークテーマが適用される。

統一感が出て良くなった。

f:id:ShineSpark:20210826062054p:plain

参考

Ubuntuでコマンド終了時に通知を出す

事の発端

シェルで実行に長時間掛かる処理などを実行した時に、カンタンに実行終了を通知で把握できるようにしたかった。

notify-send を利用して手軽にと思い、 下記のような関数によるコマンド実行なども試してみたが、

zenn.dev

関数内でコマンド実行された場合にはコマンド内のエイリアスが展開されず意図通りに実行できなかったり、Y/n などのプロンプト入力を求められた際には失敗など、今まで何気なく叩いていたコマンドに付けるだけで実現できるようなものではなく、最終的に断念した。

xargsやパイプなどでの実現も試みたが、xargsでも(できないこともないが)エイリアスを利用するのが難しく、もっと手軽な方法がないかと試行錯誤してみた。

コマンド終了時に通知を出す方法

下記のような関数を.zshrcに書いて、

function n() {
  if [ $? -eq 0 ]; then
    notify-send -u normal "Finished."
  else
    notify-send -u critical "Error occurred."
  fi
}
$ <長い処理時間のコマンド>;n

でOK.

試しに sleep 10;n した結果がこちら。

f:id:ShineSpark:20210826063607p:plain

f:id:ShineSpark:20210826063632p:plain

前の処理が失敗したら通知内容が(最低限だが)失敗したことが分かる。

f:id:ShineSpark:20210826063808p:plain

この方法であれば、 通常のコマンド記述後に ;n とタイプするだけでよく、プロンプトが表示されたとしても問題がない。

今までのターミナル生活にほぼ変わらない形で組み込める。

最終的には実行したコマンドや標準出力結果も通知上に出したいのだが、当初の目的はこれで達成できるため、当面はこれで運用する。

Vimで無駄に改行が入ったテキストの連結を繰り返し行いたい

やりたいこと

ログをコピペした時に無駄に余計な改行が入っちゃった時の改行を連結させて、いい感じに整形したい。

4J とかで連結する作業をもっと楽にしたい。

As-Is

[Error]
2021-08-23 11:10:17
localhost
awesome error message.
[Info]
2021-08-23 11:10:17
localhost
awesome info message.

To-Be

[Error] 2021-08-23 11:10:17 localhost awesome error message.
[Info] 2021-08-23 11:10:17 localhost awesome info message.

マクロを使った解法

4J で 4行を連結させて、 j で次行にカーソル移動を複数回繰り返せば実現できる。

Vimのマクロ機能の利用の仕方

Vimのマクロ機能の使い方はこんな感じ。

qa: aレジスタに記録開始

q: 記録終了

@a: aレジスタに記録したマクロの実行

a以外の違うレジスタ {0-9a-zA-Z"} に記録したい時には、 q1 などとしてもよい。

実践

こんな感じで登録して実行したらできた。

f:id:ShineSpark:20210823140040p:plain

[Error] 2021-08-23 11:10:17 localhost awesome error message.
[Info] 2021-08-23 11:10:17 localhost awesome info message.

レコーディングダイエット効率化のために、体重計をWithings Body+に乗り換えた

この度レコーディングダイエットを効率化するために、元々使っていたオムロンカラダスキャンからBody+に乗り換えた。

当時カラダスキャンを選んだキッカケ

ちょうどレコーディングダイエットを始めようとした時に、体重計/体組成計を買い換えようと一度調べた。

この時は、自分だけではなく妻も体重計を使うので妻にとって謎のメーカーのWithingsやfitbitの体重計ではなく、国内メーカーのものを選ぶことにした。

国内メーカーはタニタオムロンの2強だったのだが、iPhoneのヘルスケアアプリとの連携を考えて各社の体重計アプリを実際にインストールし、UIや連携可能なデータを調べてみた。

ヘルスプラネット  健康管理アプリ

ヘルスプラネット 健康管理アプリ

  • TANITA HEALTH LINK, INC.
  • ヘルスケア/フィットネス
  • 無料
apps.apple.com
OMRON connect

OMRON connect

  • OMRON HEALTHCARE Co., Ltd.
  • ヘルスケア/フィットネス
  • 無料
apps.apple.com

この時に試してみた感想は、

  • タニタのアプリ

    • とにかくレビューが悪い
    • 連携できるデータが体重と体脂肪率のみ
      • ヘルスケアアプリで統合的に確認できるデータが少ない
      • 将来的に乗り換えた時にデータを失う
  • オムロンのアプリ

    • タニタに比べレビューが良い
    • 連携できるデータはタニタと大して変わらない

のような感想だった。

個人的にはハードウェアとしての体重計には各社ともにそれ程大差無いだろうと捉えていて、それよりはスマホ上でぽちぽちレコーディングダイエットの摂取カロリーや、トラッキングでの消費カロリーなどとの比較をしたくて、アプリの出来が良さそうなオムロンカラダスキャンを購入することにした。

カラダスキャンを辞めたキッカケ

ということで、カラダスキャンを買って1年程利用していたのだが、こんな不満が出てきた。

アプリと連携するのが面倒

体重を測った後に、スマホと連携するにはBluetooth接続で同期する必要があるのだが、Android / iOSともにどうも連携が上手く行かないことが多い。Pixel5にiPhone12でOSは最新。

バックグラウンドでの同期が上手く行かないことが多いので、結局手動で同期するのだが、都度体重計のBluetoothボタンを押して同期する必要がでたり、そもそもペアリング出来ているはずなのに、手動同期を試みてもできない時も多く、初期化して再度ペアリングし直したりすることが多かった。

だんだん面倒になってきた。

やっぱりアプリが使いづらい

アプリを使っていると時々こんな画面が出てくる。

f:id:ShineSpark:20210819065008p:plain

スキップもできないので更新せざるを得ないのだが、ユーザーとしては体重を見たくてアプリをタップするわけなので、不定期にこんな画面を出されてもストレスしかない。勝手にバックグラウンドでやってくれないかな。

ということで連携頻度が落ちてくるのだが、アプリ上の最新の計測データから期間が空いてくると段々データの色が薄くなってくる。

f:id:ShineSpark:20210819065001p:plain

本来はこの位の濃さ

f:id:ShineSpark:20210819065739p:plain

早く新しく体重を測りましょうとのことだが、アプリ連携がしづらいがために同期頻度が落ちてきた結果なので、このUXは見辛くイライラするだけだった。

ということでBody+に乗り換えた

Bluetooth同期が面倒だということが分かったので、Bluetooth同期不要な体重計に乗り換えることにした。

元々 Withings のスマートウォッチを利用していたこともあり、アプリのUIやヘルスケアアプリとの連携の良さは知っていたのでBody+に乗り換えることにした。

こちらは、体重計が直接Wi-Fiに接続して記録を送信するタイプなので、家庭内に無線LAN環境があればいちいちスマホアプリを立ち上げて同期したり、今までのように手動同期する必要がない。

また、このタイミングで活動量などをトラッキングしているスマートウォッチを最新のWithingsのものにしたので、活動量などのデータ連携で困ることもないのでこちらにした。

Withingsのアプリの使いやすさ

2013年から実は使っていて、ノキアに買収された直後にUIも大幅変更があったりといろいろあったが、安定して使いやすい。

Withings Health Mate

Withings Health Mate

  • Withings
  • ヘルスケア/フィットネス
  • 無料
apps.apple.com

連携できるデータ項目数も多い。めちゃくちゃある。

f:id:ShineSpark:20210819071114p:plainf:id:ShineSpark:20210819071125p:plain

参考までにオムロンのアプリの連携可能なデータの項目。3種類しかない。

f:id:ShineSpark:20210819071120p:plain

アプリも見やすいし使いやすい。最高。 f:id:ShineSpark:20210819070750p:plain f:id:ShineSpark:20210819070747p:plain

オムロンのアプリとかで正常に計測できなかった不正データを修正するのが難しかったりしたけれども、そういったこともこちらだとやりやすい。

また、もし将来的に別の製品・アプリに乗り換えたとしてもiOSのヘルスケアの方にデータがあるのでデータを失う心配がなくて安心である。

しかもWeb版もあるよ。

f:id:ShineSpark:20210819071920p:plain

Withings Healthmate

f:id:ShineSpark:20210819104026p:plain

乗り換えて数ヶ月経った感想

ということで、既にWithingsのBody+に乗り換えて4ヶ月位経ったけれど非常に満足している。

データ連携を考えるのであれば、ぜひオススメ!

UbuntuでもCtrl+hでbackspaceにする(その3)

過去に

のように試行錯誤したがChromeのアドレスバー上などで作用しなかったので最終的にxkeysnailで実現した。

github.com

実現方法

README.md通りにインストールしていく。

$ sudo apt install python3-pip
$ sudo pip3 install xkeysnail

sudo権限が必要。

設定ファイルとして、 config.py を任意の場所に作成する。

xkeysnail/config.py at master · mooz/xkeysnail · GitHub を参考にすればよい。 まずは適用されることを確認したかったので、一旦シンプルな内容にした。

# -*- coding: utf-8 -*-

from xkeysnail.transform import *

# define timeout for multipurpose_modmap
define_timeout(1)

define_keymap(None, {
    # Ctrl+h to backspace
    K("C-h"): (K("backspace")),
})

起動

$ sudo xkeysnail config.py

とすれば起動するらしいのだが、 Xlib.error.DisplayConnectionError というエラーが出て起動に失敗した。

python - How to fix error Xlib.error.DisplayConnectionError: Can't connect to display ":0": b'No protocol specified\n' - Stack Overflow によると、 xhost + を叩けばよいらしい。

$ xhost +
$ sudo xkeysnail config.py

██╗  ██╗██╗  ██╗███████╗██╗   ██╗
╚██╗██╔╝██║ ██╔╝██╔════╝╚██╗ ██╔╝
 ╚███╔╝ █████╔╝ █████╗   ╚████╔╝
 ██╔██╗ ██╔═██╗ ██╔══╝    ╚██╔╝
██╔╝ ██╗██║  ██╗███████╗   ██║
╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝   ╚═╝
  ███████╗███╗   ██╗ █████╗ ██╗██╗
  ██╔════╝████╗  ██║██╔══██╗██║██║
  ███████╗██╔██╗ ██║███████║██║██║
  ╚════██║██║╚██╗██║██╔══██║██║██║
  ███████║██║ ╚████║██║  ██║██║███████╗
  ╚══════╝╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝╚══════╝
                             v0.4.0

No keyboard devices specified via (--devices) option.
xkeysnail picks up keyboard-ish devices from the list below:

------------------------------------------------------------------------------------------------------
Device               Name                                Phys
------------------------------------------------------------------------------------------------------
/dev/input/event0    Power Button                        PNP0C0C/button/input0
/dev/input/event1    Power Button                        LNXPWRBN/button/input0
/dev/input/event2    MSI MYSTIC LIGHT                    usb-0000:2a:00.3-5/input0
/dev/input/event3    ZSA Moonlander Mark I               usb-0000:2f:00.3-1/input0
...


Okay, now enable remapping on the following device(s):

できた。

自動起動

$HOMEに.xprofileを作成し、こんな感じに書いた。

if [ -x /usr/local/bin/xkeysnail ]; then
  xhost +
  sudo /usr/local/bin/xkeysnail /home/shinespark/git/dotfiles/ubuntu/xkeysnail/config.py &
fi

再起動したら、至る所でCtrl+hでbackspaceできるようになったことを確認。最高。